86 lines
4.0 KiB
Plaintext
86 lines
4.0 KiB
Plaintext
---
|
|
title: "v1.4.14"
|
|
description: "v1.4.14 changelog - 2026-03-18"
|
|
---
|
|
<Tabs>
|
|
<Tab title="NPX">
|
|
```bash
|
|
npx -y @maximhq/bifrost --transport-version v1.4.14
|
|
```
|
|
</Tab>
|
|
<Tab title="Docker">
|
|
```bash
|
|
docker pull maximhq/bifrost:v1.4.14
|
|
docker run -p 8080:8080 maximhq/bifrost:v1.4.14
|
|
```
|
|
</Tab>
|
|
</Tabs>
|
|
|
|
<Update label="Bifrost(HTTP)" description="1.4.14">
|
|
## 🐞 Fixed
|
|
|
|
- **GIN Index Migration** — Rewrote metadata GIN index migration to run non-transactionally with CREATE INDEX CONCURRENTLY in a background goroutine, preventing pod startup deadlocks during rolling upgrades on large tables
|
|
- **Advisory Lock Refactor** — Generalized advisory lock into reusable `acquireAdvisoryLock` with dedicated GIN index lock key to serialize index builds across cluster nodes
|
|
- **Metadata Pointer Safety** — Changed `Log.Metadata` from `string` to `*string` to properly represent nullable metadata and prevent serialization errors from aborting log writes
|
|
- **Distributed Lock Nil Safety** — Added nil-store guards to `DistributedLock` methods to prevent panics when config store is unavailable
|
|
- **PostgreSQL 16 Requirement** — Added minimum PostgreSQL 16 version check at logstore startup, leveraging `IS NOT JSON OBJECT` for server-side metadata validation
|
|
|
|
</Update>
|
|
<Update label="Core" description="1.4.11">
|
|
- fix: deterministic JSON serialization across all providers — replaced map[string]interface{} round-trips with json.RawMessage and sjson/gjson to preserve original key ordering for prompt caching
|
|
- fix: ResponsesTool MarshalJSON rewritten to use sjson for incremental byte-level JSON construction, ensuring stable key order critical for OpenAI prompt caching
|
|
- fix: Anthropic tool call arguments preserved as json.RawMessage instead of parsing into map, preventing key reordering on re-serialization
|
|
- fix: Bedrock tool use input and extra params preserved as json.RawMessage for consistent prompt caching behavior
|
|
- fix: Gemini FunctionCall.Args changed from map[string]interface{} to json.RawMessage, eliminating key order randomization
|
|
- fix: Cohere response format serialization switched to sjson for deterministic output
|
|
- fix: HuggingFace model field update uses sjson SetJSONField instead of unmarshal/marshal round-trip
|
|
- fix: Replicate prediction request input merges extra params using sjson to preserve key ordering
|
|
- feat: added comprehensive prompt caching tests for Anthropic, Azure, Bedrock, Gemini, and Vertex providers
|
|
- feat: added serialization tests for ResponsesTool to verify deterministic JSON output
|
|
|
|
</Update>
|
|
<Update label="Framework" description="1.2.30">
|
|
- fix: rewrote GIN index migration to use CREATE INDEX CONCURRENTLY in background goroutine, preventing deadlocks during rolling upgrades
|
|
- fix: generalized advisory lock into acquireAdvisoryLock with dedicated ginIndexAdvisoryLockKey for serialized index builds
|
|
- fix: changed Log.Metadata from string to *string with graceful serialization error handling
|
|
- fix: added nil-store guards to DistributedLock methods (Lock, TryLock, Extend, IsHeld, cleanupExpiredLock)
|
|
- feat: added PostgreSQL 16 minimum version requirement with server-side IS NOT JSON OBJECT validation
|
|
|
|
</Update>
|
|
<Update label="governance" description="1.4.30">
|
|
- chore: upgraded framework to v1.2.30
|
|
|
|
</Update>
|
|
<Update label="jsonparser" description="1.4.29">
|
|
- chore: upgraded framework to v1.2.30
|
|
|
|
</Update>
|
|
<Update label="litellmcompat" description="0.0.19">
|
|
- chore: upgraded framework to v1.2.30
|
|
|
|
</Update>
|
|
<Update label="logging" description="1.4.30">
|
|
- fix: adapted log size estimation for Metadata *string change
|
|
|
|
</Update>
|
|
<Update label="maxim" description="1.5.28">
|
|
- chore: upgraded framework to v1.2.30
|
|
|
|
</Update>
|
|
<Update label="mocker" description="1.4.29">
|
|
- chore: upgraded framework to v1.2.30
|
|
|
|
</Update>
|
|
<Update label="otel" description="1.1.29">
|
|
- chore: upgraded framework to v1.2.30
|
|
|
|
</Update>
|
|
<Update label="semanticcache" description="1.4.28">
|
|
- chore: upgraded framework to v1.2.30
|
|
|
|
</Update>
|
|
<Update label="telemetry" description="1.4.30">
|
|
- chore: upgraded framework to v1.2.30
|
|
|
|
</Update>
|