Skip to content

1.5.7 changelogs - #3907

Merged
akshaydeo merged 1 commit into
devfrom
05-30-1.5.7_changelogs
May 30, 2026
Merged

1.5.7 changelogs#3907
akshaydeo merged 1 commit into
devfrom
05-30-1.5.7_changelogs

Conversation

@akshaydeo

@akshaydeo akshaydeo commented May 30, 2026

Copy link
Copy Markdown
Contributor

Summary

This release (core v1.5.15, framework v1.3.15) fixes missing Authorization header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

Changes

Type of change

  • Bug fix
  • Feature
  • Refactor
  • Documentation
  • Chore/CI

Affected areas

  • Core (Go)
  • Transports (HTTP)
  • Providers/Integrations
  • Plugins
  • UI (React)
  • Docs

How to test

Validate that Ollama and SGL streaming requests include the Authorization: Bearer header when an API key is configured.

# Core/Transports
go version
go test ./...

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm Authorization: Bearer <key> is present.

Breaking changes

  • Yes
  • No

Related issues

Closes #3906
Closes #3307
Closes #3903

Security considerations

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the Authorization header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

Checklist

  • I read docs/contributing/README.md and followed the guidelines
  • I added/updated tests where appropriate
  • I updated documentation where needed
  • I verified builds succeed (Go and UI)
  • I verified the CI pipeline passes locally if applicable

Summary by CodeRabbit

  • Bug Fixes

    • Fixed authorization header handling for Ollama streaming requests.
    • Fixed authorization header forwarding for SGL provider streaming requests.
    • Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.
  • Chores

    • Updated component versions across the platform.

Review Change Stack

@coderabbitai

coderabbitai Bot commented May 30, 2026

Copy link
Copy Markdown
Contributor
📝 Walkthrough

Walkthrough

This PR coordinates a minor version bump across the Bifrost platform. Core increments to v1.5.15 with fixes for Ollama and SGL streaming Authorization headers, framework and all plugins follow with dependency updates, and transports releases v1.5.7 documenting three bug fixes.

Changes

Coordinated Release and Version Bumps

Layer / File(s) Summary
Core module release (v1.5.15)
core/changelog.md, core/version
Core version incremented to v1.5.15. Changelog documents two fixes: Ollama streaming text and chat completion now send Authorization: Bearer ... header, and SGL provider sends Authorization on streaming requests.
Framework dependency update (v1.3.15)
framework/changelog.md, framework/version
Framework version incremented to v1.3.15 with changelog entry recording upgraded core to v1.5.15.
Plugin dependency updates
plugins/compat/*, plugins/governance/*, plugins/jsonparser/*, plugins/logging/*, plugins/maxim/*, plugins/mocker/*, plugins/otel/*, plugins/prompts/*, plugins/semanticcache/*, plugins/telemetry/*
All 13 plugins bumped by one patch version. Changelog entries updated to reflect core v1.5.15 and framework v1.3.15 dependency upgrades.
Transports module release (v1.5.7)
transports/changelog.md, transports/version
Transports version incremented to v1.5.7. Changelog documents three fixes: Ollama streaming Authorization Bearer header forwarding, SGL streaming Authorization header inclusion, and removal of from_memory query parameter with consistent DB-backed results for virtual key and config list APIs.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~3 minutes

Possibly related PRs

  • maximhq/bifrost#3906: Implements Ollama streaming Authorization Bearer header fix that is documented in this PR's changelog entries.
  • maximhq/bifrost#3307: Implements SGL streaming Authorization header behavior that corresponds to the fixes documented in this PR's core and transports changelogs.

Suggested reviewers

  • danpiths
  • Pratham-Mishra04

Poem

🐰 Versions hop up by one patch wide,
Authorization headers ride the tide,
Core and framework, plugins all agree—
A coordinated release, wild and free!
Ollama, SGL, transports take their bow,
Let's celebrate this release, here and now! 🎉

🚥 Pre-merge checks | ✅ 3 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Linked Issues check ⚠️ Warning The PR addresses issues #3906, #3307, and #3903 related to Authorization header forwarding and API consistency, but the linked issue #123 (Files API Support) is unrelated to changelog updates or the actual code changes. Remove linked issue #123 as it is unrelated to this changelog release PR. Verify that only issues #3906, #3307, and #3903 are linked.
Title check ❓ Inconclusive The title '1.5.7 changelogs' is generic and vague, failing to convey the specific nature of the bug fixes and dependency updates in this release. Consider a more descriptive title such as 'Fix Authorization header forwarding for Ollama/SGL streaming requests' to better reflect the primary changes.
✅ Passed checks (3 passed)
Check name Status Explanation
Description check ✅ Passed The PR description is comprehensive, covering all template sections including summary, changes with issue numbers, affected areas, testing instructions, breaking changes, related issues, security considerations, and a completed checklist.
Out of Scope Changes check ✅ Passed All changes are version bumps and changelog updates across all modules (core, framework, and plugins), which are in-scope for a release PR documenting fixes for issues #3906, #3307, and #3903.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch 05-30-1.5.7_changelogs

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown
Contributor Author

This stack of pull requests is managed by Graphite. Learn more about stacking.

@CLAassistant

Copy link
Copy Markdown

CLA assistant check
Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.
You have signed the CLA already but the status is still pending? Let us recheck it.

@akshaydeo
akshaydeo marked this pull request as ready for review May 30, 2026 13:45
@greptile-apps

greptile-apps Bot commented May 30, 2026

Copy link
Copy Markdown
Contributor

Confidence Score: 5/5

Safe to merge — all changes are changelog text and version number files with no executable code.

Every changed file is either a changelog.md or a version flat file. The changelog entries accurately describe the two streaming auth fixes and the from_memory parameter removal. Version numbers are internally consistent across core, framework, and all plugins.

No files require special attention.

Important Files Changed

Filename Overview
core/changelog.md New changelog file with two streaming auth bug fix entries for Ollama and SGL providers
core/version Version bumped from 1.5.14 to 1.5.15
framework/changelog.md Previous release entries cleared; now documents only a core dependency bump to v1.5.15
transports/changelog.md Previous release features removed; 1.5.7 changelog lists two streaming auth fixes and a Governance/Logging API change that removes the from_memory query parameter
plugins/governance/changelog.md Previous entry (MCP per-user headers auth) cleared; now reflects core/framework upgrade to v1.5.15/v1.3.15
transports/version Version bumped from 1.5.6 to 1.5.7, matching the PR title

Reviews (1): Last reviewed commit: "1.5.7 changelogs" | Re-trigger Greptile

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 8

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@core/changelog.md`:
- Line 1: The markdown file contains a top-level list item "- fix: send
Authorization Bearer header on Ollama streaming text and chat completion
requests (`#3906`)" which triggers MD041; add a top-level heading (for example "#
Changelog" or similar) as the very first line of core/changelog.md so the
existing list item is no longer the document's first block, leaving the "- fix:
..." line unchanged below the new heading.

In `@framework/changelog.md`:
- Line 1: Add an H1 heading at the very top of the changelog file (e.g., insert
"# Changelog" as the first line) and ensure there is a blank line after the
heading so the existing list entry "- chore: upgraded core to v1.5.15" no longer
starts the file; this will resolve markdownlint MD041.

In `@plugins/compat/changelog.md`:
- Line 1: Add a top-level Markdown heading to the start of changelog.md so the
file satisfies MD041; insert a line like "# Changelog" (or another appropriate
H1) above the existing first line ("chore: upgraded core to v1.5.15 and
framework to v1.3.15") so the current entry remains intact and the file begins
with an H1.

In `@plugins/governance/changelog.md`:
- Line 1: The changelog currently starts with "- chore: upgraded core to v1.5.15
and framework to v1.3.15" which violates MD041; fix it by adding a top-level
heading (for example "## Changelog" or "# Changelog") as the very first line in
changelog.md, then keep the existing "- chore: ..." entry below the heading so
the file complies with markdownlint.

In `@plugins/jsonparser/changelog.md`:
- Line 1: Add a top-level H1 as the first line of the changelog to satisfy
MD041; insert a single line beginning with "# " before the existing "- chore:
upgraded core to v1.5.15 and framework to v1.3.15" entry so the file
(plugins/jsonparser/changelog.md) starts with an H1 heading rather than a list
item.

In `@plugins/logging/changelog.md`:
- Line 1: Add a top-level H1 heading to the changelog by inserting a first-line
heading (e.g., "# Changelog") above the existing first line "- chore: upgraded
core to v1.5.15 and framework to v1.3.15" in changelog.md so the file no longer
violates MD041 (`first-line-heading`); ensure the new H1 is the very first line
and keep the existing list item unchanged.

In `@plugins/maxim/changelog.md`:
- Line 1: Add a top-level H1 heading above the existing list entry so the file
starts with an H1 (e.g., insert "# Changelog" or another appropriate H1) before
the line "chore: upgraded core to v1.5.15 and framework to v1.3.15" to satisfy
markdownlint MD041.

In `@plugins/mocker/changelog.md`:
- Line 1: Add a top-level H1 as the first line of plugins/mocker/changelog.md so
the file begins with a heading (e.g., add "# Changelog" or a suitable H1) and
move the existing first line ("chore: upgraded core to v1.5.15 and framework to
v1.3.15") below that heading to satisfy markdownlint MD041.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: ASSERTIVE

Plan: Pro

Run ID: e8bf9b4f-3c1c-4731-895f-c0723ff65dd9

📥 Commits

Reviewing files that changed from the base of the PR and between b4788be and 43b25c7.

📒 Files selected for processing (26)
  • core/changelog.md
  • core/version
  • framework/changelog.md
  • framework/version
  • plugins/compat/changelog.md
  • plugins/compat/version
  • plugins/governance/changelog.md
  • plugins/governance/version
  • plugins/jsonparser/changelog.md
  • plugins/jsonparser/version
  • plugins/logging/changelog.md
  • plugins/logging/version
  • plugins/maxim/changelog.md
  • plugins/maxim/version
  • plugins/mocker/changelog.md
  • plugins/mocker/version
  • plugins/otel/changelog.md
  • plugins/otel/version
  • plugins/prompts/changelog.md
  • plugins/prompts/version
  • plugins/semanticcache/changelog.md
  • plugins/semanticcache/version
  • plugins/telemetry/changelog.md
  • plugins/telemetry/version
  • transports/changelog.md
  • transports/version

Comment thread core/changelog.md
@@ -0,0 +1,2 @@
- fix: send Authorization Bearer header on Ollama streaming text and chat completion requests (#3906)

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add a top-level heading to satisfy markdown lint.

Line 1 starts with a list item, which violates MD041 and can fail docs/lint checks.

Suggested fix
+# Changelog
+
 - fix: send Authorization Bearer header on Ollama streaming text and chat completion requests (`#3906`)
 - fix: SGL provider now sends Authorization header on streaming requests (`#3307`) (thanks [`@hensapir`](https://github.com/hensapir)!)
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 1-1: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@core/changelog.md` at line 1, The markdown file contains a top-level list
item "- fix: send Authorization Bearer header on Ollama streaming text and chat
completion requests (`#3906`)" which triggers MD041; add a top-level heading (for
example "# Changelog" or similar) as the very first line of core/changelog.md so
the existing list item is no longer the document's first block, leaving the "-
fix: ..." line unchanged below the new heading.

Comment thread framework/changelog.md
- fix: increase matview sync interval to 1 min (#3886)
- refactor: remove deferred-fill user-mode OAuth flow support (#3839)
- chore: upgrade to Go 1.26.3 (#3782)
- chore: upgraded core to v1.5.15

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add an H1 heading at the top of this changelog file.

Line 1 begins with a list item, triggering markdownlint MD041.

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 1-1: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@framework/changelog.md` at line 1, Add an H1 heading at the very top of the
changelog file (e.g., insert "# Changelog" as the first line) and ensure there
is a blank line after the heading so the existing list entry "- chore: upgraded
core to v1.5.15" no longer starts the file; this will resolve markdownlint
MD041.

@@ -1 +1 @@
- chore: upgraded core to v1.5.14 and framework to v1.3.14
- chore: upgraded core to v1.5.15 and framework to v1.3.15

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Missing top-level heading in changelog file.

Line 1 should be a heading to satisfy markdownlint MD041.

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 1-1: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/compat/changelog.md` at line 1, Add a top-level Markdown heading to
the start of changelog.md so the file satisfies MD041; insert a line like "#
Changelog" (or another appropriate H1) above the existing first line ("chore:
upgraded core to v1.5.15 and framework to v1.3.15") so the current entry remains
intact and the file begins with an H1.

@@ -1,2 +1 @@
- feat: add MCP per-user headers auth type support (#3703)
- chore: upgraded core to v1.5.14 and framework to v1.3.14
- chore: upgraded core to v1.5.15 and framework to v1.3.15

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add a top-level heading for markdownlint compliance.

Line 1 starts with - chore: and violates MD041.

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 1-1: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/governance/changelog.md` at line 1, The changelog currently starts
with "- chore: upgraded core to v1.5.15 and framework to v1.3.15" which violates
MD041; fix it by adding a top-level heading (for example "## Changelog" or "#
Changelog") as the very first line in changelog.md, then keep the existing "-
chore: ..." entry below the heading so the file complies with markdownlint.

@@ -1 +1 @@
- chore: upgraded core to v1.5.14 and framework to v1.3.14
- chore: upgraded core to v1.5.15 and framework to v1.3.15

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add a top-level heading to satisfy markdown linting.

Line 1 starts with a list item, which triggers MD041 (first-line-heading). Please add an H1 as the first line.

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 1-1: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/jsonparser/changelog.md` at line 1, Add a top-level H1 as the first
line of the changelog to satisfy MD041; insert a single line beginning with "# "
before the existing "- chore: upgraded core to v1.5.15 and framework to v1.3.15"
entry so the file (plugins/jsonparser/changelog.md) starts with an H1 heading
rather than a list item.

- feat: support dimension rankings logging for team, customer, BU, and user (#3766)
- refactor: route Starlark nested tool calls through the canonical plugin pipeline (#3794)
- chore: upgraded core to v1.5.14 and framework to v1.3.14
- chore: upgraded core to v1.5.15 and framework to v1.3.15

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add an H1 at the top of the changelog file.

Line 1 begins with a list item and violates MD041 (first-line-heading).

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 1-1: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/logging/changelog.md` at line 1, Add a top-level H1 heading to the
changelog by inserting a first-line heading (e.g., "# Changelog") above the
existing first line "- chore: upgraded core to v1.5.15 and framework to v1.3.15"
in changelog.md so the file no longer violates MD041 (`first-line-heading`);
ensure the new H1 is the very first line and keep the existing list item
unchanged.

@@ -1 +1 @@
- chore: upgraded core to v1.5.14 and framework to v1.3.14
- chore: upgraded core to v1.5.15 and framework to v1.3.15

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Insert a top-level heading before the list entry.

Line 1 violates markdownlint MD041 because the file does not start with an H1 heading.

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 1-1: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/maxim/changelog.md` at line 1, Add a top-level H1 heading above the
existing list entry so the file starts with an H1 (e.g., insert "# Changelog" or
another appropriate H1) before the line "chore: upgraded core to v1.5.15 and
framework to v1.3.15" to satisfy markdownlint MD041.

@@ -1 +1 @@
- chore: upgraded core to v1.5.14 and framework to v1.3.14
- chore: upgraded core to v1.5.15 and framework to v1.3.15

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟡 Minor | ⚡ Quick win

Add an H1 heading as the first line.

Current Line 1 triggers markdownlint MD041 (first-line-heading) because it starts directly with a bullet.

🧰 Tools
🪛 markdownlint-cli2 (0.22.1)

[warning] 1-1: First line in a file should be a top-level heading

(MD041, first-line-heading, first-line-h1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@plugins/mocker/changelog.md` at line 1, Add a top-level H1 as the first line
of plugins/mocker/changelog.md so the file begins with a heading (e.g., add "#
Changelog" or a suitable H1) and move the existing first line ("chore: upgraded
core to v1.5.15 and framework to v1.3.15") below that heading to satisfy
markdownlint MD041.

akshaydeo commented May 30, 2026

Copy link
Copy Markdown
Contributor Author

Merge activity

  • May 30, 2:00 PM UTC: A user started a stack merge that includes this pull request via Graphite.
  • May 30, 2:00 PM UTC: @akshaydeo merged this pull request with Graphite.

@akshaydeo
akshaydeo merged commit ff1f106 into dev May 30, 2026
14 of 15 checks passed
@akshaydeo
akshaydeo deleted the 05-30-1.5.7_changelogs branch May 30, 2026 14:00
akshaydeo added a commit that referenced this pull request May 30, 2026
This release (core v1.5.15, framework v1.3.15) fixes missing `Authorization` header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

- Ollama streaming text and chat completion requests now correctly forward the configured API key as an `Authorization: Bearer` header (#3906)
- SGL provider now sends the `Authorization` header on streaming requests (#3307) (thanks [@hensapir](https://github.com/hensapir)!)
- Governance and Logging APIs: removed the `from_memory` query parameter; virtual key and config list APIs now return consistent DB-backed results, with VK names batch-fetched in a single query (#3903)
- Bumped core to v1.5.15, framework to v1.3.15, transports to v1.5.7, and all dependent plugins to their respective patch versions

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

- [x] Core (Go)
- [x] Transports (HTTP)
- [x] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

Validate that Ollama and SGL streaming requests include the `Authorization: Bearer` header when an API key is configured.

```sh
go version
go test ./...
```

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm `Authorization: Bearer <key>` is present.

- [ ] Yes
- [x] No

Closes #3906
Closes #3307
Closes #3903

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the `Authorization` header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

* **Bug Fixes**
  * Fixed authorization header handling for Ollama streaming requests.
  * Fixed authorization header forwarding for SGL provider streaming requests.
  * Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.

* **Chores**
  * Updated component versions across the platform.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3907?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
akshaydeo added a commit that referenced this pull request May 30, 2026
* removes from_memory for APIs

* docker scout fixes (#3900)

* test fixes for hardened runners (#3780)

* fix: SGL provider - send Authorization header on streaming requests (#3307)

* [fix]: SGL provider - send Authorization header on streaming requests

The streaming entry points (ChatCompletionStream, TextCompletionStream)
passed nil for the authHeader parameter to the shared OpenAI streaming
helpers, so no Authorization header was attached to outbound streaming
requests. SGLang servers configured with --api-key always require the
header and returned 401 on streaming while non-streaming requests
worked. The non-streaming OpenAI helper takes the Key directly and
builds the header itself; the streaming helper requires the caller to
build it. Mirror the vLLM pattern (core/providers/vllm/vllm.go) and
construct the auth header from key.Value when set.

Affected packages:
- core/providers/sgl/sgl.go - build authHeader for both streaming paths
- core/providers/sgl/chat_test.go - regression tests asserting the
  Authorization header reaches the upstream on chat and text streams
- core/changelog.md - changelog entry

* [fix]: SGL streaming tests - cancel drain goroutine on test completion

The drain goroutines spawned to consume streamChan in
TestChatCompletionStream_SetsAuthorizationHeader and
TestTextCompletionStream_SetsAuthorizationHeader had no cancellation
path: if the streaming pipeline failed to close the channel (e.g. on a
test timeout), the goroutines would leak into the test process.

Replace the inline `go func() { for range streamChan {} }()` with a
shared drainStream helper that selects on both the channel and a `done`
channel closed via t.Cleanup, so the goroutine always exits when the
test completes regardless of channel state.

Addresses Greptile review feedback on PR #3307.

---------

Co-authored-by: Akshay Deo <akshay@akshaydeo.com>

* ollama streaming auth header (#3906)

## Summary

Adds Bearer token authentication support to the Ollama provider's streaming endpoints. Previously, the streaming methods for text completion and chat completion always passed `nil` for the auth header, meaning API keys configured for Ollama were silently ignored during streaming requests.

## Issues

Closes #3905

## Changes

- When a non-empty key value is present, a `Bearer` token `Authorization` header is now constructed and passed to the OpenAI-compatible streaming handlers for both `TextCompletionStream` and `ChatCompletionStream`
- If no key is configured, the auth header remains `nil`, preserving backward compatibility with unauthenticated local Ollama instances

## Type of change

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

## Affected areas

- [ ] Core (Go)
- [ ] Transports (HTTP)
- [x] Providers/Integrations
- [ ] Plugins
- [ ] UI (React)
- [ ] Docs

## How to test

Configure an Ollama provider with an API key (e.g., when using a hosted or authenticated Ollama instance) and issue a streaming chat or text completion request. Verify the `Authorization: Bearer <key>` header is included in the outgoing request.

```sh
go test ./core/providers/ollama/...
```

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

## Security considerations

API keys are now correctly forwarded as Bearer tokens in streaming requests to Ollama. Ensure keys are stored and retrieved securely via the existing key management mechanism, as they will now be included in outbound HTTP headers for streaming calls.

## Checklist

- [ ] I read `docs/contributing/README.md` and followed the guidelines
- [ ] I added/updated tests where appropriate
- [ ] I updated documentation where needed
- [ ] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

* **Bug Fixes**
  * Ollama streaming requests now support authentication via bearer tokens for both text and chat completions, enabling proper token-based authentication when API keys are provided.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3906?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

* 1.5.7 changelogs (#3907)

This release (core v1.5.15, framework v1.3.15) fixes missing `Authorization` header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

- Ollama streaming text and chat completion requests now correctly forward the configured API key as an `Authorization: Bearer` header (#3906)
- SGL provider now sends the `Authorization` header on streaming requests (#3307) (thanks [@hensapir](https://github.com/hensapir)!)
- Governance and Logging APIs: removed the `from_memory` query parameter; virtual key and config list APIs now return consistent DB-backed results, with VK names batch-fetched in a single query (#3903)
- Bumped core to v1.5.15, framework to v1.3.15, transports to v1.5.7, and all dependent plugins to their respective patch versions

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

- [x] Core (Go)
- [x] Transports (HTTP)
- [x] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

Validate that Ollama and SGL streaming requests include the `Authorization: Bearer` header when an API key is configured.

```sh
go version
go test ./...
```

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm `Authorization: Bearer <key>` is present.

- [ ] Yes
- [x] No

Closes #3906
Closes #3307
Closes #3903

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the `Authorization` header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

* **Bug Fixes**
  * Fixed authorization header handling for Ollama streaming requests.
  * Fixed authorization header forwarding for SGL provider streaming requests.
  * Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.

* **Chores**
  * Updated component versions across the platform.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3907?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

* changelogs (#3909)

## Summary

Remediates Docker Scout CVE findings by upgrading transitive `golang.org/x` dependencies and removing the standalone GNU `wget` package from Alpine runtime images, replacing it with the built-in busybox `wget` applet.

## Changes

- Bumped `golang.org/x` transitive dependencies (`crypto`, `net`, `sys`, `text`, `term`) across all modules to clear 20 Docker Scout advisories (severity up to 10.0), verified clean with `govulncheck`
- Removed standalone `wget` package from Alpine runtime images in `Dockerfile` and `Dockerfile.local`, eliminating CVE-2025-69194 (CVSS 8.8)
- Updated `HEALTHCHECK` command from `wget --no-verbose --tries=1` to `wget -q` to use busybox-compatible flags with no functional change in behavior

## Type of change

- [ ] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [x] Chore/CI

## Affected areas

- [x] Core (Go)
- [x] Transports (HTTP)
- [ ] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

## How to test

```sh
# Verify no vulnerabilities remain
govulncheck ./...

# Build Docker image and confirm wget healthcheck works
docker build -f transports/Dockerfile -t gateway-test .
docker run --rm gateway-test
```

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

Closes #3900

## Security considerations

- Clears 20 Docker Scout CVE advisories on `golang.org/x` packages, with severities up to 10.0
- Removes CVE-2025-69194 (CVSS 8.8) by eliminating the standalone GNU `wget` package; busybox `wget` is used instead and is not affected by this CVE

## Checklist

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

---------

Co-authored-by: Hen Sapir <hen@sapir.me>
akshaydeo added a commit that referenced this pull request May 30, 2026
This release (core v1.5.15, framework v1.3.15) fixes missing `Authorization` header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

- Ollama streaming text and chat completion requests now correctly forward the configured API key as an `Authorization: Bearer` header (#3906)
- SGL provider now sends the `Authorization` header on streaming requests (#3307) (thanks [@hensapir](https://github.com/hensapir)!)
- Governance and Logging APIs: removed the `from_memory` query parameter; virtual key and config list APIs now return consistent DB-backed results, with VK names batch-fetched in a single query (#3903)
- Bumped core to v1.5.15, framework to v1.3.15, transports to v1.5.7, and all dependent plugins to their respective patch versions

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

- [x] Core (Go)
- [x] Transports (HTTP)
- [x] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

Validate that Ollama and SGL streaming requests include the `Authorization: Bearer` header when an API key is configured.

```sh
go version
go test ./...
```

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm `Authorization: Bearer <key>` is present.

- [ ] Yes
- [x] No

Closes #3906
Closes #3307
Closes #3903

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the `Authorization` header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

* **Bug Fixes**
  * Fixed authorization header handling for Ollama streaming requests.
  * Fixed authorization header forwarding for SGL provider streaming requests.
  * Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.

* **Chores**
  * Updated component versions across the platform.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3907?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
akshaydeo added a commit that referenced this pull request May 30, 2026
* docker scout fixes (#3900)

* 1.5.7 changelogs (#3907)

This release (core v1.5.15, framework v1.3.15) fixes missing `Authorization` header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

- Ollama streaming text and chat completion requests now correctly forward the configured API key as an `Authorization: Bearer` header (#3906)
- SGL provider now sends the `Authorization` header on streaming requests (#3307) (thanks [@hensapir](https://github.com/hensapir)!)
- Governance and Logging APIs: removed the `from_memory` query parameter; virtual key and config list APIs now return consistent DB-backed results, with VK names batch-fetched in a single query (#3903)
- Bumped core to v1.5.15, framework to v1.3.15, transports to v1.5.7, and all dependent plugins to their respective patch versions

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

- [x] Core (Go)
- [x] Transports (HTTP)
- [x] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

Validate that Ollama and SGL streaming requests include the `Authorization: Bearer` header when an API key is configured.

```sh
go version
go test ./...
```

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm `Authorization: Bearer <key>` is present.

- [ ] Yes
- [x] No

Closes #3906
Closes #3307
Closes #3903

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the `Authorization` header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

* **Bug Fixes**
  * Fixed authorization header handling for Ollama streaming requests.
  * Fixed authorization header forwarding for SGL provider streaming requests.
  * Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.

* **Chores**
  * Updated component versions across the platform.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3907?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

* changelogs (#3909)

## Summary

Remediates Docker Scout CVE findings by upgrading transitive `golang.org/x` dependencies and removing the standalone GNU `wget` package from Alpine runtime images, replacing it with the built-in busybox `wget` applet.

## Changes

- Bumped `golang.org/x` transitive dependencies (`crypto`, `net`, `sys`, `text`, `term`) across all modules to clear 20 Docker Scout advisories (severity up to 10.0), verified clean with `govulncheck`
- Removed standalone `wget` package from Alpine runtime images in `Dockerfile` and `Dockerfile.local`, eliminating CVE-2025-69194 (CVSS 8.8)
- Updated `HEALTHCHECK` command from `wget --no-verbose --tries=1` to `wget -q` to use busybox-compatible flags with no functional change in behavior

## Type of change

- [ ] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [x] Chore/CI

## Affected areas

- [x] Core (Go)
- [x] Transports (HTTP)
- [ ] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

## How to test

```sh
# Verify no vulnerabilities remain
govulncheck ./...

# Build Docker image and confirm wget healthcheck works
docker build -f transports/Dockerfile -t gateway-test .
docker run --rm gateway-test
```

## Breaking changes

- [ ] Yes
- [x] No

## Related issues

Closes #3900

## Security considerations

- Clears 20 Docker Scout CVE advisories on `golang.org/x` packages, with severities up to 10.0
- Removes CVE-2025-69194 (CVSS 8.8) by eliminating the standalone GNU `wget` package; busybox `wget` is used instead and is not affected by this CVE

## Checklist

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

* enterprise changelog (#3912)

## Summary

Adds the Enterprise v1.4.6 changelog entry to the documentation site and registers it in the docs navigation.

## Changes

- Added `docs/changelogs/ent-v1.4.6.mdx` documenting the v1.4.6 release, which is a security and hardening release based on `transports/v1.5.7`. Key highlights include:
  - **DAC bypass fix**: `from_memory` query paths and shared filter-data caches were bypassing data-access scope enforcement, allowing scoped callers to observe virtual keys, teams, routing rules, and log dimensions belonging to other users. All read paths now apply the caller's DAC scope, and MCP clients no longer leak hidden virtual key IDs.
  - **DAC scope coverage expanded**: Added DAC wrappers for `GetVirtualKeys`, `GetRoutingRules`, `GetRoutingRulesByScope`, `GetRoutingRule`, and MCP virtual-key config lookups by client ID.
  - **DAC bypass regression suite**: New end-to-end Postman collection covering `from_memory` list endpoints, hidden virtual key/team detail access, log and MCP filter-data cache isolation, and MCP client assignment leakage.
  - **CVE remediation**: Updated `golang.org/x` packages (`crypto`, `net`, `sys`, `text`, `term`) clearing 20 advisories with severity up to 10.0, verified with `govulncheck`.
  - **Hardened container image**: Removed standalone GNU `wget` from the Alpine runtime image, eliminating CVE-2025-69194 (8.8); healthcheck now uses busybox `wget`.
  - **Ollama and SGL streaming auth fixes**: Both providers now correctly forward `Authorization: Bearer` headers on streaming requests.
  - **Governance model availability fix**: Access profile evaluation now correctly enforces model availability checks during budget constraint validation across managed and non-managed governance paths.
  - **Governance and Logging list API cleanup**: Removed the `from_memory` query parameter; list APIs now return consistent DB-backed results with batch-fetched virtual-key names.
- Registered `changelogs/ent-v1.4.6` as the first entry in the Enterprise changelogs section of `docs/docs.json`.

## Type of change

- [ ] Bug fix
- [ ] Feature
- [ ] Refactor
- [x] Documentation
- [ ] Chore/CI

## Affected areas

- [ ] Core (Go)
- [ ] Transports (HTTP)
- [ ] Providers/Integrations
- [ ] Plugins
- [ ] UI (React)
- [x] Docs

## How to test

Navigate to the Enterprise changelogs section of the documentation site and confirm that the v1.4.6 entry appears at the top of the list and renders correctly, including the breaking-change warning, feature/fix sections, and dependency tables.

## Breaking changes

- [x] Yes
- [ ] No

v1.4.0 introduced breaking changes. Upgraders should follow the [v1.4.0 Migration Guide](https://docs.example.com/enterprise/migration-guides/v1.4.0) before upgrading to v1.4.6.

## Security considerations

This release closes a DAC bypass that allowed scoped callers to read virtual keys, teams, routing rules, and log dimensions belonging to other users via `from_memory` query paths and shared filter-data caches. It also remediates 20 CVEs in `golang.org/x` dependencies (max severity 10.0) and removes a vulnerable `wget` binary (CVE-2025-69194, 8.8) from the container image.

## Checklist

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [ ] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

## Summary by CodeRabbit

## Documentation

* Added Enterprise v1.4.6 release notes documenting a security-focused release with hardening improvements and critical updates.
* Updates include security remediation, governance and model validation enhancements, container image improvements, and authentication updates for supported streaming services.
* Removed deprecated parameter from governance and logging APIs.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3912?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
akshaydeo added a commit that referenced this pull request May 31, 2026
This release (core v1.5.15, framework v1.3.15) fixes missing `Authorization` header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

- Ollama streaming text and chat completion requests now correctly forward the configured API key as an `Authorization: Bearer` header (#3906)
- SGL provider now sends the `Authorization` header on streaming requests (#3307) (thanks [@hensapir](https://github.com/hensapir)!)
- Governance and Logging APIs: removed the `from_memory` query parameter; virtual key and config list APIs now return consistent DB-backed results, with VK names batch-fetched in a single query (#3903)
- Bumped core to v1.5.15, framework to v1.3.15, transports to v1.5.7, and all dependent plugins to their respective patch versions

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

- [x] Core (Go)
- [x] Transports (HTTP)
- [x] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

Validate that Ollama and SGL streaming requests include the `Authorization: Bearer` header when an API key is configured.

```sh
go version
go test ./...
```

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm `Authorization: Bearer <key>` is present.

- [ ] Yes
- [x] No

Closes #3906
Closes #3307
Closes #3903

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the `Authorization` header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

* **Bug Fixes**
  * Fixed authorization header handling for Ollama streaming requests.
  * Fixed authorization header forwarding for SGL provider streaming requests.
  * Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.

* **Chores**
  * Updated component versions across the platform.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3907?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Purvi09 pushed a commit to Purvi09/bifrost that referenced this pull request May 31, 2026
This release (core v1.5.15, framework v1.3.15) fixes missing `Authorization` header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

- Ollama streaming text and chat completion requests now correctly forward the configured API key as an `Authorization: Bearer` header (maximhq#3906)
- SGL provider now sends the `Authorization` header on streaming requests (maximhq#3307) (thanks [@hensapir](https://github.com/hensapir)!)
- Governance and Logging APIs: removed the `from_memory` query parameter; virtual key and config list APIs now return consistent DB-backed results, with VK names batch-fetched in a single query (maximhq#3903)
- Bumped core to v1.5.15, framework to v1.3.15, transports to v1.5.7, and all dependent plugins to their respective patch versions

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

- [x] Core (Go)
- [x] Transports (HTTP)
- [x] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

Validate that Ollama and SGL streaming requests include the `Authorization: Bearer` header when an API key is configured.

```sh
go version
go test ./...
```

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm `Authorization: Bearer <key>` is present.

- [ ] Yes
- [x] No

Closes maximhq#3906
Closes maximhq#3307
Closes maximhq#3903

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the `Authorization` header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

* **Bug Fixes**
  * Fixed authorization header handling for Ollama streaming requests.
  * Fixed authorization header forwarding for SGL provider streaming requests.
  * Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.

* **Chores**
  * Updated component versions across the platform.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3907?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
akshaydeo added a commit that referenced this pull request Jun 1, 2026
This release (core v1.5.15, framework v1.3.15) fixes missing `Authorization` header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

- Ollama streaming text and chat completion requests now correctly forward the configured API key as an `Authorization: Bearer` header (#3906)
- SGL provider now sends the `Authorization` header on streaming requests (#3307) (thanks [@hensapir](https://github.com/hensapir)!)
- Governance and Logging APIs: removed the `from_memory` query parameter; virtual key and config list APIs now return consistent DB-backed results, with VK names batch-fetched in a single query (#3903)
- Bumped core to v1.5.15, framework to v1.3.15, transports to v1.5.7, and all dependent plugins to their respective patch versions

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

- [x] Core (Go)
- [x] Transports (HTTP)
- [x] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

Validate that Ollama and SGL streaming requests include the `Authorization: Bearer` header when an API key is configured.

```sh
go version
go test ./...
```

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm `Authorization: Bearer <key>` is present.

- [ ] Yes
- [x] No

Closes #3906
Closes #3307
Closes #3903

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the `Authorization` header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

* **Bug Fixes**
  * Fixed authorization header handling for Ollama streaming requests.
  * Fixed authorization header forwarding for SGL provider streaming requests.
  * Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.

* **Chores**
  * Updated component versions across the platform.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3907?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
akshaydeo added a commit that referenced this pull request Jun 1, 2026
This release (core v1.5.15, framework v1.3.15) fixes missing `Authorization` header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

- Ollama streaming text and chat completion requests now correctly forward the configured API key as an `Authorization: Bearer` header (#3906)
- SGL provider now sends the `Authorization` header on streaming requests (#3307) (thanks [@hensapir](https://github.com/hensapir)!)
- Governance and Logging APIs: removed the `from_memory` query parameter; virtual key and config list APIs now return consistent DB-backed results, with VK names batch-fetched in a single query (#3903)
- Bumped core to v1.5.15, framework to v1.3.15, transports to v1.5.7, and all dependent plugins to their respective patch versions

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

- [x] Core (Go)
- [x] Transports (HTTP)
- [x] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

Validate that Ollama and SGL streaming requests include the `Authorization: Bearer` header when an API key is configured.

```sh
go version
go test ./...
```

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm `Authorization: Bearer <key>` is present.

- [ ] Yes
- [x] No

Closes #3906
Closes #3307
Closes #3903

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the `Authorization` header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

* **Bug Fixes**
  * Fixed authorization header handling for Ollama streaming requests.
  * Fixed authorization header forwarding for SGL provider streaming requests.
  * Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.

* **Chores**
  * Updated component versions across the platform.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3907?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
Purvi09 pushed a commit to Purvi09/bifrost that referenced this pull request Jun 2, 2026
This release (core v1.5.15, framework v1.3.15) fixes missing `Authorization` header forwarding on streaming requests for the Ollama and SGL providers, ensuring authenticated requests behave correctly during streaming.

- Ollama streaming text and chat completion requests now correctly forward the configured API key as an `Authorization: Bearer` header (maximhq#3906)
- SGL provider now sends the `Authorization` header on streaming requests (maximhq#3307) (thanks [@hensapir](https://github.com/hensapir)!)
- Governance and Logging APIs: removed the `from_memory` query parameter; virtual key and config list APIs now return consistent DB-backed results, with VK names batch-fetched in a single query (maximhq#3903)
- Bumped core to v1.5.15, framework to v1.3.15, transports to v1.5.7, and all dependent plugins to their respective patch versions

- [x] Bug fix
- [ ] Feature
- [ ] Refactor
- [ ] Documentation
- [ ] Chore/CI

- [x] Core (Go)
- [x] Transports (HTTP)
- [x] Providers/Integrations
- [x] Plugins
- [ ] UI (React)
- [ ] Docs

Validate that Ollama and SGL streaming requests include the `Authorization: Bearer` header when an API key is configured.

```sh
go version
go test ./...
```

Configure an Ollama or SGL provider with an API key and issue a streaming chat or text completion request. Inspect outbound request headers to confirm `Authorization: Bearer <key>` is present.

- [ ] Yes
- [x] No

Closes maximhq#3906
Closes maximhq#3307
Closes maximhq#3903

These fixes ensure that API keys configured for Ollama and SGL providers are correctly forwarded on streaming requests. Previously, the `Authorization` header was silently dropped on streaming paths, meaning requests could reach upstream providers without authentication credentials.

- [x] I read `docs/contributing/README.md` and followed the guidelines
- [x] I added/updated tests where appropriate
- [x] I updated documentation where needed
- [x] I verified builds succeed (Go and UI)
- [x] I verified the CI pipeline passes locally if applicable

<!-- This is an auto-generated comment: release notes by coderabbit.ai -->

* **Bug Fixes**
  * Fixed authorization header handling for Ollama streaming requests.
  * Fixed authorization header forwarding for SGL provider streaming requests.
  * Improved consistency in virtual key and configuration list API responses by removing unnecessary query parameters.

* **Chores**
  * Updated component versions across the platform.

<!-- review_stack_entry_start -->

[![Review Change Stack](https://storage.googleapis.com/coderabbit_public_assets/review-stack-in-coderabbit-ui.svg)](https://app.coderabbit.ai/change-stack/maximhq/bifrost/pull/3907?utm_source=github_walkthrough&utm_medium=github&utm_campaign=change_stack)

<!-- review_stack_entry_end -->

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
@coderabbitai coderabbitai Bot mentioned this pull request Jun 6, 2026
18 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants