What's Changed
- 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
objectStorageExcludeFieldsto keep selected log payload fields in DB instead of offloading to object storage by @BearTS in #3163 - fix: resolve
tools_to_executeandtools_to_auto_executefrom existing config before validation in MCP client update by @BearTS in #3155 - fix: add
no-scrollbarutility class and applyno-padding-parentto 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
TrialExpiryBannercomponent 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
disabledfield 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
Modelin 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
EnvVarreferences for MCP OAuthclient_id/client_secretwith 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
TableOauthConfigtests to useschemas.NewEnvVarforClientID/ClientSecretfields 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
GetTeamByNamelookup to config store interface and RDB implementation by @BearTS in #3239 - fix: replace single
GovernanceRBAC 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, andaliasesURL state filters to dashboard by @impoiler in #3247 - feat: enforce unique
governance_teams.namewith deduplication migration by @BearTS in #3242 - fix: remove duplicate
GetOauthConfigsByIDsfromMockConfigStoreby @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
txparameter inDeleteVirtualKeyfor 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
IsActiveandEnabledfields 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_idandoauth_client_secretfrom 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 ignoreoauth_client_id/oauth_client_secretin schemasync by @BearTS in #3276 - nukes failing test http by @akshaydeo in #3277
- nukes failing test http by @akshaydeo in #3279
- feat: add Entra auth fields (
client_id,client_secret,tenant_id,scopes) to Azure transport schema and makeapi_versionoptional by @BearTS in #3284 - fix: prevent filter sections from hiding when opened but data is empty by @impoiler in #3258
- fix: make custom provider sheet header and footer sticky with proper padding and scrollable content area by @impoiler in #3285
- fix: update video and passthrough request types in governance which do not require model field by @TejasGhatte in #3283
- scout fixes by @akshaydeo in #3281
- enterprise release: doc updates by @akshaydeo in #3302
- fix: replace blocking pg_advisory_lock with retry+timeout to prevent indefinite startup hangs by @danpiths in #3308
- migration guide docs update by @akshaydeo in #3312
- docs: adds release cadence updates by @akshaydeo in #3313
- change minor release cadence by @akshaydeo in #3317
- feat: adds cached token details in Responses API in OTEL exports by @roroghost17 in #3293
- fix: updates the OTEL plugin to use anyOf instead of oneOf to corrrectly validate host:port format for the grpc schema by @roroghost17 in #3297
- fix: handle tool choice any in genai roundtrip, closes #3290 by @TejasGhatte in #3315
- fix: always include tokenCount in Gemini modality usage details by @R-droid101 in #3349
- Add MCP log detail endpoint by @akshaydeo in #3350
- Use MCP log detail endpoint in UI by @akshaydeo in #3351
- Add MCP log object payload helpers by @akshaydeo in #3352
- Offload MCP logs to object storage by @akshaydeo in #3353
- add batch logging to mcp logs similar to llm logs by @akshaydeo in #3354
- updates openapi docs by @akshaydeo in #3355
- fix e2e pr by @akshaydeo in #3356
- fixes mcp oauth window null issue by @akshaydeo in #3359
- fix: don't clear
oauthFlowon OAuth error by @BearTS in #3326 - feat: add UBI9 amd64/arm64 Docker build and multi-arch manifest jobs to release pipeline by @BearTS in #3324
- [fix]: align Docker volume with app directory by @EzgiTastan in #3348
- [fix]: align scim_config schema with documented keycloak provider by @lornest in #3346
- feat: removes system metrics from prometheus plugin and adds some more needed types by @roroghost17 in #3306
- feat: extracts region from model name while passing bedrock models by @roroghost17 in #3301
- feat: removes ListModels call from rate limit and quota check by @roroghost17 in #3304
- fix: fallback to native converters for claude code in case of output format in messages api of vertex by @TejasGhatte in #3321
- fix: video download for gemini provider by @TejasGhatte in #3366
- x-operation-id approval for opetaion id by @akshaydeo in #3360
- ws-tickets wihtout storage by @akshaydeo in #3361
- feat: fields for azure blob storage in batch api by @TejasGhatte in #3318
- feat: adds normalized_name parameter to the response of ListModels to give a normalized names by @roroghost17 in #3372
- transports/bifrost-http: surface routed identity as x-bifrost-* response headers by @Edward-Upton in #3280
- fix: default to display summarized in opus 4.7 reasoning by @TejasGhatte in #3375
- [docs]: docs for built in guardrail provider secrets detection and pii regex template by @Madhuvod in #3294
- updates context.SetTraceAttribut flow for all plugins by @akshaydeo in #3368
- xhigh effort mapping for gpt 5.4 + by @akshaydeo in #3369
- rdb deadlock fixes by @akshaydeo in #3376
- fix(gemini): normalize JSON Schema union types for Vertex compatibility by @Vaibhav701161 in #3150
- fix: reasoning display short hand and set display summarized in responses bedrock by @TejasGhatte in #3379
- fix: remove lowercase on image size in gemini image requests by @TejasGhatte in #3385
- fix: return empty MCP config instead of
nilwhen no clients found by @BearTS in #3387 - some harness test related changes by @akshaydeo in #3391
- add number of retries as a metric by @akshaydeo in #3392
- perf: split
mv_logs_filterdatainto per-dimension matviews and add filterdata response caching with single-flight by @impoiler in #3288 - feat: add
?dimensions=param to filter data endpoints and use time-window hybrid matview gate for aggregate counts by @impoiler in #3327 - fix: use batched updates, CONCURRENTLY indexes, and advisory locks for lock-safe matview and migration maintenance by @impoiler in #3380
- feat: add custom filter values and scoped dimension fetching for logs and MCP filter sidebars by @impoiler in #3328
- feat: add configurable
matview_refresh_intervalfor PostgreSQL logs store by @impoiler in #3329 - feat: add
matviewRefreshIntervalconfig support and bump bifrost chart to 2.1.15 by @BearTS in #3386 - fix: sanitize
\u0000from JSON before PostgreSQL jsonb storage and list queries by @impoiler in #3332 - feat: render JSON text content as formatted code in log detail view by @impoiler in #3373
- feat: allow team reassignment when editing a virtual key, with confirmation dialog and locked assignment only on create by @BearTS in #3320
- 1.5.1 cut by @akshaydeo in #3397
- removes map usage from genai integration by @akshaydeo in #3381
- test case fixes by @akshaydeo in #3398
- compilation fix by @akshaydeo in #3399
- adds enteprise changelog by @akshaydeo in #3401
- fix: compat plugin drops cachePoint for unsupported bedrock model and non-bedrock models by @sammaji in #3154
- fix: converts role system to role user if only system message is present for non-openai models by @sammaji in #3200
- fix: enables all compat plugin settings by default by @sammaji in #3202
- fix: drops last assistant messages for anthropic models and converts unsupported reasoning effort values for mistral by @sammaji in #3203
- fix: drops messages with empty text or signature and adds conversion of thinking block for openai bedrock models by @sammaji in #3221
- Fix Gemini fallback propagation in GenAI integration by @Javtor in #3338
- enterprise docs updates by @akshaydeo in #3413
- updates to the contributions guideline by @akshaydeo in #3418
- fix: add
*.quay.io:443to release pipeline egress allowlist by @BearTS in #3402 - fix: include
mcp.tool_manager_configin client config hash and sync tool manager settings on reload by @BearTS in #3432 - docs: update env var syntax from
${VAR}toenv.VARacross enterprise and observability docs by @BearTS in #3419 - fix: set use raw request only for gemini provider by @TejasGhatte in #3437
- fix: fixes model passthrough prefix stripping in advisor tool for anthropic by @roroghost17 in #3420
- feat: supports toggling push-based and pull-based toggling separately and fixes hot-reload of plugin by @roroghost17 in #3433
- otel fixes by @akshaydeo in #3439
- v1.5.2 cut by @akshaydeo in #3442
- faiked test fixes by @akshaydeo in #3446
- fix: map supports_response_schema to response_format and text params, add Chat↔Responses format conversion by @TejasGhatte in #3454
- mod updates by @akshaydeo in #3461
- fix: remove fallbacks key from gemini requests by @TejasGhatte in #3464
- fixes migration-test-script by @akshaydeo in #3472
- enterprise release updates by @akshaydeo in #3474
New Contributors
- @hensapir made their first contribution in #2988
- @ryan-orphic made their first contribution in #3196
- @R-droid101 made their first contribution in #3349
- @EzgiTastan made their first contribution in #3348
- @lornest made their first contribution in #3346
Full Changelog: ent-v1.4.0-prerelease6-stream-pause-base...ent-v1.4.2-stream-pause-base