github maximhq/bifrost ent-v1.4.0-base
Enterprise v1.4.0 base

5 hours ago

What's Changed

  • temp gotoolchain auto by @akshaydeo in #2809
  • temp hack for tests by @akshaydeo in #2810
  • temp block docker build by @akshaydeo in #2811
  • removed docker build steps by @akshaydeo in #2812
  • moves tests to 1.26.2 and 1.26.1 by @akshaydeo in #2813
  • ocr test fixes by @akshaydeo in #2814
  • revert to old schema by @akshaydeo in #2815
  • reduced release pipeline for this cut for go downgrade by @akshaydeo in #2816
  • force verstion back to go 1.26.1 by @akshaydeo in #2817
  • revert everything to go1.26.1 by @akshaydeo in #2818
  • bumped up hello-world dep by @akshaydeo in #2819
  • enforce go 1.26.1 by @akshaydeo in #2820
  • V1.5.0 by @Pratham-Mishra04 in #2245
  • compilation fixes by @akshaydeo in #2830
  • logs ux updates by @akshaydeo in #2838
  • fix: preserve existing query params in OAuth upstream authorize URL by @Pratham-Mishra04 in #2839
  • separate conenction for migrations by @akshaydeo in #2831
  • separate streaming clients for avoiding read timeouts by @akshaydeo in #2832
  • adds concurrent map fixes for plugin timer by @akshaydeo in #2835
  • team budgets by @akshaydeo in #2836
  • team budget db structure refactor by @akshaydeo in #2841
  • atomic updates to budgets and ratelimits by @akshaydeo in #2844
  • refactor: per user oauth cleanups by @Pratham-Mishra04 in #2842
  • fix: clean up virtual key configs on provider changes by @danpiths in #2851
  • chore: standardize indentation and remove "use client" directives across UI files by @impoiler in #2785
  • feat: Add single log export functionality for logs and the MCP logs sheet by @impoiler in #2847
  • chore: reformat UI code with tab indentation and add make format ui target by @impoiler in #2850
  • chore: Persist the selected time range across relevant pages by @impoiler in #2854
  • feat: Adds user detection for multiple user agents and fixes tool reduplication by @roroghost17 in #2795
  • fix: sets extra params passthrough for vllm by @roroghost17 in #2796
  • chore: fixes UI dropdown colors and spacing by @roroghost17 in #2849
  • feat: add filter to exclude access profile managed virtual keys by @BearTS in #2845
  • docs: add teams and access profile fields to user response schema by @BearTS in #2846
  • fix: disable pointer events on managed fieldset by @BearTS in #2848
  • feat: add stream terminal detection and full body accumulation for passthrough streams by @BearTS in #2863
  • feat: add OCR request type support and MCP UI/auth improvements by @Pratham-Mishra04 in #2859
  • feat: add OCR input logging and detail view by @Pratham-Mishra04 in #2860
  • test: add async job TTL integration tests by @Pratham-Mishra04 in #2861
  • fix: per-user OAuth support in codemode by @Pratham-Mishra04 in #2862
  • fix: add OCR request pricing support by @Pratham-Mishra04 in #2864
  • fix: add v1.5.0-prerelease4 migration test coverage and fix calendar_aligned propagation by @Pratham-Mishra04 in #2870
  • virtual key fixes by @akshaydeo in #2856
  • fix: remove redundant static header assignment in tool execution by @Pratham-Mishra04 in #2872
  • docs: add provider authentication UI screenshots and improve documentation by @Pratham-Mishra04 in #2769
  • v1.5.0-prerelease4 cut by @akshaydeo in #2874
  • v1.5.0-prerelease4 cut by @akshaydeo in #2877
  • bring back test flows by @akshaydeo in #2878
  • test fixes by @akshaydeo in #2879
  • fixed mocker dep --skip-ci by @akshaydeo in #2880
  • update scripts to use skip-ci by @akshaydeo in #2881
  • removed litellmcompat by @akshaydeo in #2882
  • transport changelog by @akshaydeo in #2883
  • fix: include rbac loading state in teams page loader by @BearTS in #2885
  • split teams views for oss and enterprise by @akshaydeo in #2888
  • compilatin fix by @akshaydeo in #2890
  • fix: dump all rate limits to DB including access profiles by @danpiths in #2894
  • fix: clear BifrostContextKeyStreamEndIndicator in context for fallback requests by @Pratham-Mishra04 in #2897
  • feat: add key_ids support to helm provider configs and update docs by @BearTS in #2891
  • feat: add access_profiles schema support to config.json and Helm chart by @BearTS in #2893
  • fix: make encryptionKey optional for helm deployments by @BearTS in #2900
  • chore: update chart version on helm and add pgres, access provider config example by @BearTS in #2901
  • v1.5.0-prerelease5 cut by @akshaydeo in #2903
  • feat: adds codex compatibility by @sammaji in #2858
  • docs: add cluster_config reference page and update schema, migration, and Helm docs by @BearTS in #2919
  • fix: add service name to helm for bifrost cluster deployment by @BearTS in #2920
  • docs: add NGINX reverse proxy deployment guide and example configs by @BearTS in #2921
  • feat: add team_id, calendar_aligned, and virtual_key_count fields to config schema by @BearTS in #2922
  • chore: add Helm and schema sync validation steps to release pipeline by @BearTS in #2924
  • fix: creation of budgets and teams together by @BearTS in #2923
  • chore: bump bifrost Helm chart version to 2.1.4 by @BearTS in #2925
  • fixes otel conversion from built in trace by @akshaydeo in #2934
  • fix: normalize null text fields in PydanticAI responses stream chunks by @BearTS in #2935
  • chore: restore onAsyncCheckedChange for provider key toggle to await update by @impoiler in #2933
  • fix: reload provider runtime after create by @danpiths in #2927
  • fix: handle keyless provider status updates during reload by @danpiths in #2928
  • fix: write multipart metadata before file uploads by @danpiths in #2929
  • test: add embedding request coverage for bedrock and cohere by @danpiths in #2932
  • feat: add version field support to built-in plugins for DB-backed Helm deployments by @BearTS in #2941
  • fix(plugins/otel): OTel metrics doesn't work after 1.4.21 by @tcx4c70 in #2716
  • docs: add version valid range (132767) and clarify DB-backed field behavior by @BearTS in #2942
  • refactor: replace WebSocket live updates with RTK Query polling on logs pages by @impoiler in #2918
  • fix: populate extra fields on responses and errors across all pre/post hook paths by @Pratham-Mishra04 in #2926
  • refactor: remove log callback wiring from WebSocket handler by @Pratham-Mishra04 in #2940
  • chore: skip time range refresh on focus/visibility when polling is disabled by @impoiler in #2956
  • SCIM entra documentation fixes by @akshaydeo in #2980
  • fixes claude code for vscode doc by @akshaydeo in #2982
  • feat: adds missing anthropic params / handling in Vertex by @roroghost17 in #2936
  • feat: Standardizes tool stripping and anthropic integration handling against anthropic, vertex and azure by @roroghost17 in #2937
  • fix: drops empty tool calls for anthropic claude code request by @sammaji in #2938
  • fix: Fixes OTEL exporting to show input and output messages correctly by @roroghost17 in #2957
  • fix: updates log details view to show input images from user messages by @roroghost17 in #2983
  • docs: add OCR OpenAPI spec, async rerank/OCR endpoints, and update provider support matrix by @Pratham-Mishra04 in #2898
  • feat: add cache creation details (5m/1h TTL) for claude models with pricing support by @Pratham-Mishra04 in #2899
  • feat: auto-fill incoming model for empty fallbacks in routing rules by @Pratham-Mishra04 in #2908
  • fix: resolve request type from pending data before streaming chunk processing by @Pratham-Mishra04 in #2958
  • fix: removes redundant IsDefined func by @sammaji in #2950
  • fix: use immutable-safe labels for bifrost StatefulSet volumeClaimTemplates by @BearTS in #2943
  • feat: sync model config and provider governance bindings from config file to DB by @BearTS in #2944
  • feat: add virtual_key_id to budgets and remove budget_id from virtual keys and provider configs by @BearTS in #2945
  • fix: normalize query field to valid RuleGroupType and tighten schema validation by @BearTS in #2946
  • feat: support env.* references for proxy and TLS config fields (ca_cert_pem, url, username, password) by @BearTS in #2948
  • feat: add provider_key_name alias for routing targets and pricing overrides, resolved to key_id at config load time by @BearTS in #2960
  • feat: add Go duration string support for tool_sync_interval and hash-based MCP client config reconciliation by @BearTS in #2961
  • fix: improve WebSocket sendMessageSafely nil checks, panic recovery, and client cleanup by @BearTS in #2962
  • chore: updates compat plugin docs by @sammaji in #2852
  • chore: adds debug loggins in logging plugin lifecycle by @Pratham-Mishra04 in #2991
  • feat: add namespace tool type support and flatten for non-OpenAI providers by @sammaji in #2913
  • feat: add semantic cache (Redis/Weaviate) and client-config Helm example layers by @BearTS in #2969
  • refactor: send relative period to backend instead of computing timestamps client-side by @impoiler in #2966
  • feat: add period query param support to log filter endpoints by @impoiler in #2989
  • test fixes by @akshaydeo in #3004
  • chore: extend migration tests, fix column ignores, add routing rule search, and remove pricing e2e tests by @Pratham-Mishra04 in #3010
  • fix: remove raw request passthrough, set SSE headers, and improve passthrough log detail view by @Pratham-Mishra04 in #3011
  • docs: clarify env.* unsupported in guardrails_config and update examples to use explicit placeholder values by @BearTS in #3015
  • fix: hide "no results" row while loading and minor logs UI cleanup by @impoiler in #3005
  • feat: add enterprise Helm overlays, business_units governance support, and deferred VK/provider-config budget ordering by @BearTS in #3008
  • feat: add MCP tool_groups config with governance bindings and camelCase alias support in Helm by @BearTS in #3009
  • adds redacted chcek to envvar by @akshaydeo in #3023
  • fix: native WebSocket /responses reliability issues by @danpiths in #3018
  • v1.5.0-prerelease6 cut by @akshaydeo in #3026
  • config.json test case fixes by @akshaydeo in #3027
  • enterprise config field skiplist by @akshaydeo in #3028
  • fixed index stream length for indexing by @akshaydeo in #3029
  • chore: bump bifrost Helm chart version to 2.1.7 by @BearTS in #3024
  • fix: Dockerfile.local now uses local packages by @ReStranger in #3036
  • fix: fixed shell declaration on nonFHS systems by @ReStranger in #3033
  • fix: default provider key id from name if id is absent in Helm by @BearTS in #3058
  • fix(semanticcache): deterministic request hashing and CacheDebug propagation in streaming by @loss-and-quick in #3050
  • fix(framework): propagate RawRequest through streaming pipeline and fix pool leak by @loss-and-quick in #3046
  • fix(plugins/logging): correctly record error status for failed streaming requests by @loss-and-quick in #3044
  • fix: remove isValid from save button disabled check, make ocr fields optional, and normalize indentation in schemas by @impoiler in #3051
  • claude code doc update by @akshaydeo in #3071
  • fix: use UTC in resolvePeriod time calculation by @impoiler in #3075
  • bedrock cli compatibility changes by @akshaydeo in #3053
  • adds message filter flow for log details messages by @akshaydeo in #3054
  • vertex + anthropic fixes by @akshaydeo in #3055
  • env var updates by @akshaydeo in #3061
  • guardrails helm chart upgrade by @akshaydeo in #3062
  • fix(openai): preserve responses tool fields by @princepal9120 in #3063
  • feat: add schemas.Duration type with Go duration string support for MCP, Redis, Weaviate, and mocker duration fields by @BearTS in #3089
  • feat: add x-bf-dim-* unified dimension headers forwarded to logs, traces, Prometheus, and Maxim tags by @BearTS in #3072
  • fix: make OAuth token expires_at nullable and guard refresh/reconnect on nil expiry by @BearTS in #3084
  • fix: adds base_url to network_config for backward compatibility by @sammaji in #2953
  • feat: updates logging plugin to store and show finish reason in LLM calls by @roroghost17 in #3070
  • fix: route vertex multi-region-only models to multi-region endpoints incase the provider key is setup with single region only by @danpiths in #3081
  • feat: removes password auth limitation by @roroghost17 in #3085
  • fix: fix input and output messages propagation to root span for OTEL by @roroghost17 in #3086
  • fix: add sticky headers and footers to sheet panels with layout refactor by @impoiler in #2892
  • fix: use virtual key value instead of id for API key selector and filter by @impoiler in #3080
  • feat: replace Select with ComboboxSelect in routing rules to support search and selection by @impoiler in #3090
  • fix: fallback to network config if key config url is not set for ollama and sgl by @sammaji in #3074
  • chore: adds apply step to helm charts by @sammaji in #3083
  • chore: sync teams table search, pagination, and dialog state to URL query params by @impoiler in #3095
  • refactor: fix indentation and conditional rendering in securityView by @impoiler in #3097
  • fix: snapshot RequestType before closure to prevent pool-reuse corruption in streaming requests by @Pratham-Mishra04 in #3065
  • docs: add GKE Workload Identity Federation guide for Vertex AI by @danpiths in #3096
  • feat: add opt-in per-request overrides for content logging and raw request/response visibility by @Pratham-Mishra04 in #3066
  • feat: auto-resolve provider when no provider prefix is given on inference routes by @Pratham-Mishra04 in #3067
  • feat: auto-resolve provider when no provider prefix is given on integration routes by @Pratham-Mishra04 in #3068
  • docs: add default provider resolution docs by @Pratham-Mishra04 in #3069
  • refactor: inherit provider keys from global client in semanticcache plugin by @Pratham-Mishra04 in #3079
  • chore: updates sidebar link for compat plugin by @sammaji in #3098
  • fix: allow self-looping chain rules to continue evaluating subsequent rules instead of halting by @Pratham-Mishra04 in #3082
  • fix: move list models output to response tab and hide tools tab for list models logs by @Pratham-Mishra04 in #3087
  • feat: add external base url support for reverse proxy mcp oauth by @Pratham-Mishra04 in #3088
  • chore: add log level param to AppendRoutingEngineLog and trim unused deps from semanticcache by @Pratham-Mishra04 in #3103
  • add audio base64 encoding support to OpenAI realtime provider by @Mahmoud-Khater in #2979
  • test: add roundtrip test for input_audio_buffer.append audio serialization by @danpiths in #3104
  • fix: correct governance_budgets join condition to use virtual_key_id by @impoiler in #3077
  • refactor: replace Select with ComboboxSelect for assignment fields and improve table layout in virtual keys by @impoiler in #3105
  • fix entra documentation by @akshaydeo in #3112
  • cleanups in image alt names by @akshaydeo in #3113
  • perf: cache routing rules per scope upfront and add model-catalog routing engine label and icon by @Pratham-Mishra04 in #3110
  • chore: adds ollama and vllm key configs in llmtests by @sammaji in #3109
  • feat: add db migrations and live-reload for per-request content storage and raw override flags by @Pratham-Mishra04 in #3117
  • chore: bump axios, uuid, and postcss to latest versions by @impoiler in #3107
  • fix: UI layout and indentation cleanup across sheets, cluster page, and forms by @impoiler in #3108
  • fix: strip google/ prefix from Vertex model IDs across all request types by @BearTS in #3102
  • fix: filter out unconfigured providers in default routing by @Pratham-Mishra04 in #3119
  • fix: hide delete option in log detail views when user lacks delete access by @impoiler in #3111
  • refactor: replace Select with ComboboxSelect in pricing overrides and virtual keys filters by @impoiler in #3114
  • docs: document x-bf-dim-* unified dimensions and deprecate x-bf-prom-* headers by @BearTS in #3099
  • feat: scope model list endpoints to VK-allowed providers and models via request headers by @BearTS in #3094
  • feat: adds finish reasons to root spans and fixes model and provider name in root spans in OTEL by @roroghost17 in #3115
  • fix: fixes stripping of vk for websocket responses by @roroghost17 in #3118
  • feat: add Kubernetes pod-discovery RBAC templates and bump Helm chart to 2.1.9 by @BearTS in #3120
  • chore: show password dashboard on none authtype and docs change by @roroghost17 in #3124
  • feat(dashboard): add local cache hit rate speedometer by @loss-and-quick in #3056
  • fix: standardize ChartCard height and layout using fixed height and flex grow by @impoiler in #3128
  • fix: remove isValid gate from save buttons, fix dialog overflow, and clean up indentation by @impoiler in #3130
  • fix: remove MarshalJSON auto-redaction and apply explicit redaction for env-backed fields in ProxyConfig, ClientConfig, and AzureKeyConfig by @impoiler in #3136
  • fix: improve bifrost bin arg parsing, env override, temp dir isolation, and version URL resolution by @impoiler in #3123
  • feat: add passthrough streaming accumulation by @Pratham-Mishra04 in #3135
  • fix: websocket responses working and improve websocket responses logging and cost tracking by @danpiths in #3144
  • fix: fix migrations for conflicts by @roroghost17 in #3145
  • fix: fixes cost info in OTEL calls and response tools by @roroghost17 in #3146
  • fix: small ui fixes for popover content scrolling by @roroghost17 in #3147
  • v1.5.0-prerelease7 cut by @akshaydeo in #3148
  • clsutering docs update by @akshaydeo in #3156
  • enterprise changelogs by @akshaydeo in #3160
  • chore: formats values.schema.json by @sammaji in #3129
  • fix: helm values schema config by @sammaji in #3133
  • chore: updates helm index by @sammaji in #3142
  • separate oss and enterprise section by @akshaydeo in #3162
  • refactor: move raw request extraction to final chunk processing in streaming accumulator by @Pratham-Mishra04 in #3165
  • feat: split mcp external base url into separate server and client URL fields by @Pratham-Mishra04 in #3166
  • feat: add objectStorageExcludeFields to keep selected log payload fields in DB instead of offloading to object storage by @BearTS in #3163
  • fix: resolve tools_to_execute and tools_to_auto_execute from existing config before validation in MCP client update by @BearTS in #3155
  • fix: add no-scrollbar utility class and apply no-padding-parent to SCIM page by @impoiler in #3157
  • adjust api key auth for the middleware by @akshaydeo in #3168
  • fix: skips model catalog routing if loadbalancer / governance routing has already set the provider in anthropic integration by @roroghost17 in #3158
  • update context when auth config is disabled by @akshaydeo in #3173
  • [fix]: set extra params passthrough for SGL provider by @hensapir in #2988
  • test case fixes by @akshaydeo in #3176
  • adds missing changelogs by @akshaydeo in #3179
  • adds structredoutput fallback for bedrock converse api by @akshaydeo in #3184
  • fix: fixes namespace in ResponseToolMessage to work correctly with Codex CLI by @roroghost17 in #3167
  • fix(bedrock): omit toolChoice.tool on Llama for synthetic structured-output tool by @ryan-orphic in #3196
  • fix: forward extra headers on responses websocket upstreams by @danpiths in #3204
  • feat: move trial expiry indicator from sidebar to sticky TrialExpiryBanner component by @impoiler in #3205
  • fix: cache OAuth2 token source to eliminate per-request overhead by @danpiths in #3206
  • test harness for quick checks by @akshaydeo in #3186
  • gemini named content cache support by @akshaydeo in #3194
  • anthropic computer use fixes across proivder by @akshaydeo in #3195
  • adds trace attribute flow by @akshaydeo in #3219
  • feat: adds container creation cost support by @roroghost17 in #3214
  • fix: avoid provider update stalls under high load by @danpiths in #3208
  • feat: adds container api support to azure by @roroghost17 in #3215
  • feat: add disabled field to MCP clients for toggling connection and workers without removal by @Pratham-Mishra04 in #3076
  • feat: support OAuth credential rotation (client_id/client_secret) for existing MCP clients via edit flow by @BearTS in #3209
  • fix: backfill Model in embedding response when provider omits it by @BearTS in #3197
  • fix: add gossip baseline methods and clean up orphaned rate limits on VK update by @danpiths in #3226
  • feat: support EnvVar references for MCP OAuth client_id/client_secret with redacted GET responses and batch config fetching by @BearTS in #3230
  • fix: gives graceful error for invalid after values by letting upstream provider handle it by @roroghost17 in #3235
  • streaming error log fixes by @akshaydeo in #3249
  • fix: broadcast provider config changes to cluster for keyless providers by @danpiths in #3250
  • fix: update TableOauthConfig tests to use schemas.NewEnvVar for ClientID/ClientSecret fields by @BearTS in #3251
  • feat: remove direct key bypass from HTTP gateway and Go SDK by @Pratham-Mishra04 in #3241
  • fix: handle per-user OAuth re-auth, refresh token expiry, and reconnect UX by @Pratham-Mishra04 in #3211
  • fix: add SSE heartbeats and defer trace completion to prevent deadlock on MCP SSE streaming by @Pratham-Mishra04 in #3212
  • feat: add GetTeamByName lookup to config store interface and RDB implementation by @BearTS in #3239
  • fix: replace single Governance RBAC check with granular per-resource access checks by @impoiler in #3225
  • feat: enforce RBAC for model provider create/update operations in provider forms and config views by @impoiler in #3228
  • feat: add RBAC access control to routing rules view, edit, and create actions by @impoiler in #3231
  • feat: add RBAC permission check to MCP tool groups route by @impoiler in #3236
  • docs: clarify Entra API permission types, manifest fields, role assignment requirements, and add bulk sync troubleshooting by @impoiler in #3237
  • feat: add parent_request_id, user_ids, and aliases URL state filters to dashboard by @impoiler in #3247
  • feat: enforce unique governance_teams.name with deduplication migration by @BearTS in #3242
  • fix: remove duplicate GetOauthConfigsByIDs from MockConfigStore by @BearTS in #3252
  • docs: add budget-to-budgets breaking change to v1.5.0 migration guide by @danpiths in #3256
  • docs: fix cross-references after breaking change renumbering by @danpiths in #3257
  • feat: support optional tx parameter in DeleteVirtualKey for external transaction reuse by @BearTS in #3260
  • fix: temporarily disable OAuth credential rotation and header reconnect logic in MCP client update by @BearTS in #3263
  • fix: governance budgets in model providers not saving after restart with UI fixes by @roroghost17 in #3262
  • fix: fixes prometheus telemetry plugin nil config by @roroghost17 in #3269
  • fix: use simple-query protocol for migration pools to prevent cached plan errors by @Pratham-Mishra04 in #3264
  • refactor: change IsActive and Enabled fields to pointer types with nil-as-default semantics by @Pratham-Mishra04 in #3267
  • entra doc updates by @akshaydeo in #3266
  • doc: fixes typo in migration docs by @sammaji in #3265
  • fix: exclude oauth_client_id and oauth_client_secret from config field validation by @Pratham-Mishra04 in #3270
  • fix: fix table name for provider governance display issue by @roroghost17 in #3273
  • docs: update codex docs to inform non-openai models are not supported via openai websockets integration by @sammaji in #3271
  • 1.5.0 stable cut by @akshaydeo in #3272
  • helm chart fixes by @akshaydeo in #3275
  • feat: add cached_content_* capability fields to schema and ignore oauth_client_id/oauth_client_secret in schemasync by @BearTS in #3276
  • nukes failing test http by @akshaydeo in #3277
  • nukes failing test http by @akshaydeo in #3279

New Contributors

Full Changelog: ent-v1.3.21-base...ent-v1.4.0-base

Don't miss a new bifrost release

NewReleases is sending notifications on new releases.