Documentation Index
Fetch the complete documentation index at: https://docs.getbifrost.ai/llms.txt
Use this file to discover all available pages before exploring further.
- NPX
- Docker
✨ Features
- Azure v1 API Migration — Migrated Azure provider to the v1 API: removed the
api-versionquery parameter and the/openai/deployments/{model}/...URL pattern in favor of/openai/v1/{operation}; theapi_versionfield has been dropped fromAzureKeyConfig(#3661, #3756) - EnvVar Support for OTEL & Prometheus Configs —
CollectorURL,MetricsEndpoint, headers, push gateway URL, and basic auth credentials can now be sourced from environment variables (e.g.,env.OTEL_COLLECTOR_URL); added a newConfigMarshallerPlugininterface that lets plugins control storage/redaction round-trips (#3651) - OTel Extra Header Forwarding —
x-bf-eh-*extra headers forwarded to upstream providers are now also emitted on the request span undergen_ai.request.extra_header.*for end-to-end tracing (#3730) - OTel Semantic Conventions — Aligned OTel attribute keys with the OpenTelemetry GenAI spec (canonical
gen_ai.*and newbifrost.*attributes); legacy attributes are retained in parallel to avoid breaking existing dashboards (#3732) - VK Quota with Provider Configs —
GetVirtualKeyQuotaByValueand thegetVirtualKeyQuotaHTTP response now includeprovider_configswith their budgets and rate limits (#3721) - MCP Temp Token Non-Auth Toggle — Added
mcp_enable_temp_token_authclient config flag to gate short-lived MCP token minting for non-authenticated users (#3720) - Responses Stream in JSON Parser —
jsonparserplugin now handles OpenAI Responses API streaming (ResponsesStreamRequest) in addition to chat completions (#3749) - Session API Rework — Logout now calls both the password-based session logout and OAuth logout endpoints and resets all RTK Query cache state (#3698)
🐞 Fixed
- Streaming Latency for Observability — Deferred root span termination to the trace completer callback for streaming requests so request latency is no longer inflated by header-flush time (#3762)
- Stream Cancellation Race — Set
BifrostContextKeyConnectionClosedbefore closing the stream and short-circuitidleTimeoutReader.Readwhen the connection is already closed to avoid panics and hangs on cancellation (#3733) - Bedrock Cache Points — Strip cache points from Bedrock requests for models that do not support prompt caching (e.g., GLM, Llama) to avoid Converse API errors (#3754)
- Bedrock Empty Text Blocks — Skip empty/nil text blocks during Bedrock response conversion to avoid invalid messages (#3747)
- Bedrock Reasoning + Tools — Preserve reasoning content blocks on assistant turns that also contain tool calls in the Bedrock chat converter (#3690)
- Bedrock Search Content & Video — Restored search content and video parts that were being dropped from Bedrock-native passthrough requests (#3729)
- Structured Output Stop Reason — Fixed an incorrect
tool_callsfinish reason when structured output is combined with extended-thinking tools (#3685) - Gemini Tool Schema Passthrough — Forward full tool parameter schemas via
parametersJsonSchemainstead of the lossyparametersform; corrected tool response role touser; resolved structured output + tools conflict (#3761) - Anthropic Stop Reason & Tool Versions — Normalized stop reason mapping (
end_turntostop,tool_usetotool_calls,max_tokenstolength) and upgradedtext_editor_20250124/str_replace_editortotext_editor_20250728for computer-use tools (#3761) - Azure Endpoint Redaction — Fixed a panic when
AzureKeyConfig.Endpointis a literal value rather than an env reference (#3761) - Auth Middleware Path Match — Match temp-token auth middleware whitelist against the request path only, not the full URI with query parameters (#3737)
- Governance Blocked Models UI — Restored the missing Blocked Models create/edit UI in the VK provider config sheet (#3750)
- Logging Plugin Cleanup Drain — Fixed a shutdown race where
batchWritercould drop in-flight log entries;Cleanupnow drains both the recovered batch and remaining queue within a 30-second budget (#3717) - Model Rankings Empty Entries — Excluded entries with empty
modelvalues from model rankings matview queries so blank rows no longer surface in the UI (#3758) - User Filter Duplicates — Recreated
mv_filter_usersmatview to require non-emptyuser_name, eliminating duplicate filter dropdown entries (#3764) - User Filter Display Name — Use
user_nameinstead ofuser_idas the display label for users in logging filters (#3691) - Large Numeric ID Precision — Preserve large numeric IDs in URL search params by skipping JSON parsing for plain strings (#3692)
🔧 Refactors & Chores
- Error Propagation for GetAvailable* APIs —
GetAvailable*methods onLoggerPlugin/LogManagernow return wrapped errors instead of silently logging and returning empty slices (#3759) - Governance Blocklist Matching — Use
slices.Containsfor VK blocked-model matching for clearer code with identical semantics (#3727) - Exported
ResolvePeriod— RenamedresolvePeriodtoResolvePeriodso external packages can reuse the period parsing (#3763)
📚 Docs
- OTEL Env Var Documentation — Documented
env.VAR_NAMEsupport forcollector_url,metrics_endpoint, and headers in OTEL/Prometheus plugin docs - OTEL OSS Features & Examples — Added OTEL documentation to the OSS features list with usage examples (#3731)
- Anthropic Auth Recommendation — Recommend
ANTHROPIC_AUTH_TOKENoverANTHROPIC_CUSTOM_HEADERSfor Claude Code authentication (#3686)
- feat: migrate Azure provider to the v1 API and remove
api_versionfromAzureKeyConfig(#3661, #3756) - feat: add
ConfigMarshallerPlugininterface so plugins can control config storage and redaction round-trips (#3651) - feat: forward
x-bf-eh-*extra headers asgen_ai.request.extra_header.*span attributes (#3730) - feat: align OTel attribute keys with the GenAI semantic conventions spec; emit both legacy and canonical attributes (#3732)
- fix: strip cache points from Bedrock requests for models that do not support prompt caching (#3754)
- fix: skip empty/nil text blocks during Bedrock response conversion (#3747)
- fix: preserve reasoning blocks alongside tool calls in the Bedrock chat converter (#3690)
- fix: restore search content and video parts dropped from Bedrock passthrough requests (#3729)
- fix: correct
tool_callsfinish reason when structured output is combined with extended-thinking tools (#3685) - fix: set
BifrostContextKeyConnectionClosedbefore closing stream and short-circuitidleTimeoutReader.Readon closed connections (#3733) - fix: Gemini tool schema passthrough via
parametersJsonSchema, correct tool response role touser, resolve structured output + tools conflict (#3761) - fix: normalize Anthropic stop reason mapping and upgrade computer-use tool versions to
text_editor_20250728(#3761) - fix: Azure config redaction panic when
Endpointis a literal value (#3761) - chore: fix Bedrock transport tests (#3735)
- feat: include
ProviderConfigswith budgets and rate limits in virtual key quota query and response (#3721) - feat: add
mcp_enable_temp_token_authclient config flag to gate MCP temp token minting for non-auth users (#3720) - fix: recreate
mv_filter_usersmatview to exclude rows with emptyuser_name(#3764) - fix: exclude empty model entries from model rankings matview queries (#3758)
- chore: add migration test column blocks for new v1.5.4 governance/configstore columns (#3761)
- chore: upgraded core to v1.5.13 and framework to v1.3.13
- fix: restore VK blocked models create/edit UI in the provider config sheet (#3750)
- refactor: use
slices.Containsfor VK blocked-model matching (#3727)
- feat: handle OpenAI Responses API streaming (
ResponsesStreamRequest) in addition to chat completions (#3749) - chore: added
Paramswithjson_objectformat to the Responses stream end-to-end test (#3761)
- fix: drain pending log entries on
Cleanupto avoid dropping in-flight batches at shutdown; bounded 30s drain budget (#3717) - refactor:
GetAvailable*methods now return wrapped errors instead of silently logging and returning empty slices (#3759)
- chore: upgraded core to v1.5.13 and framework to v1.3.13
- chore: upgraded core to v1.5.13 and framework to v1.3.13
- feat: add
EnvVarsupport forCollectorURL,MetricsEndpoint, and headers; implementsConfigMarshallerPluginfor storage/redaction round-trips (#3651) - refactor: align OTel attribute keys with the OpenTelemetry GenAI semantic conventions spec; legacy
gen_ai.*emissions retained in parallel (#3732)
- chore: upgraded core to v1.5.13 and framework to v1.3.13
- chore: upgraded core to v1.5.13 and framework to v1.3.13
- feat: add
EnvVarsupport forPushGatewayURLandBasicAuth(username/password); implementsConfigMarshallerPlugin(#3651)

