• v1.5.16-ew-1 fcf188e9db

    v1.5.16-ew-1: EW fork on bifrost v1.5.16
    All checks were successful
    Docker Build / docker (push) Successful in 8m34s
    Docker Release / release (push) Successful in 6m38s
    Stable

    engel75 released this 2026-06-23 08:43:10 +02:00 | 0 commits to 1.5.16-ew1 since this release

    EW fork release based on upstream bifrost transports/v1.5.16.

    Größter Versionssprung bisher (290 substantielle upstream Commits, v1.5.12 bis v1.5.15 übersprungen) mit zwei breaking refactors die unseren Footprint direkt getroffen haben — siehe Spec 08 port log für Details.

    Contents

    Spec Feature
    01 EW (SGLang/OpenAI-compatible) provider — chat/text completion (+ stream), embeddings, responses, speech (+ stream), transcription (+ stream), rerank, image gen/edit/variation, list_models with owned_by="everyware" override
    02 Per-key API toggles (EWKeyConfig.AllowedRequests) — restrict an EW key to a subset of operations
    03 OpenAI-conformant error envelope on /v1/... and /cursor/... routes + SGLang-aware error parser
    04 WhitelistedRoutes config bypasses governance VK-required gate for inference routes (HTTP inference auth is now pass-through in upstream v1.5.16 — bypass shifted entirely to governance plugin)
    05 Dockerfile builds with all local plugins via go.work, Forgejo Actions workflows for branch + tag builds

    Port-Notes (was sich gegenüber v1.5.11 änderte)

    In der Fork: nur kleine Anpassungen an upstream refactors. Upstream zwischen v1.5.11 und v1.5.16:

    1. Migration framework rebuild: Statt sequentieller triggerMigrations() body gibt es jetzt ein configstoreMigrationSteps []migrationStep array, das von runMigrationSteps() durchlaufen wird. Jede Migration‑Funktion bekommt ein zusätzliches logger schemas.Logger Argument. Unsere zwei EW Migrationen wurden auf die neue 3‑arg Signatur portiert (mit Start/Finish Logging) und als Steps am Ende des Arrays eingefügt. Migrations‑IDs unverändert — backwards‑compatible auch für DBs die bereits frühere ew_* Migrationen liefen.

    2. InferenceMiddleware pass‑through: HTTP Inference Auth ist jetzt komplett pass‑through, alle Auth‑Entscheidungen für /v1/... Routes laufen über die Governance Plugin. Unsere Spec 04 funktioniert weiterhin, aber der WhitelistedRoute Bypass läuft nur noch über die Governance Plugin (die unseren Bypass‑Code seit der ersten Spec‑04 Implementation hat). Operator‑sichtbares Verhalten unverändert.

    3. DisableAuthOnInference AuthConfig entfernt — ein Test musste entsprechend angepasst werden (separater Follow‑up commit).

    4. Keine neuen API drifts — v1.5.10 Provider Interface Adaptations (ConfigureDialer 2‑arg, Compaction stub) sind dauerhaft Teil der Fork und propagieren automatisch.

    5. Keine Go‑Bumpsgo.mod blieb auf 1.26.4.

    Alle 16 Cherry‑Picks abgeschlossen (12 clean, 4 mit Konfliktauflösung), plus 1 Follow‑up Test‑Fix.

    Container image

    The Docker Release workflow publishes:

    forge.engelmann.me/engel75/bifrost:v1.5.16-ew-1
    

    Identical runtime semantics to upstream transports/v1.5.16 plus all of the above EW features. Built statically (CGO + sqlite_static), runs as non-root, healthcheck on /health. Build-Stage nutzt Go 1.26.4 alpine image.

    Branches

    Branch 1.5.16-ew1 tracks this release. Frühere ew1 releases (1.5.3-ew1 bis 1.5.11-ew1) bleiben verfügbar. Cherry-pick-Pfad für die nächste upstream Version: Spec 07 — Port Runbook.

    Upgrade notes

    • Von v1.5.11-ew-1: in-place safe. Beachte den größeren Sprung — upstream hat zwischen v1.5.11 und v1.5.16 alle neue DB‑Migrationen die idempotent durchlaufen sobald die ew1‑Migrationen umgesetzt werden. Die EW Migrations‑IDs sind unverändert, also bereits gelaufene EW Migrationen werden skipped.
    • Von v1.5.10-ew-2: empfohlenes Upgrade, schließt alle v1.5.11+v1.5.12+...+v1.5.16 upstream Features ein, gleichzeitig private network fix bleibt aktiv.
    • Von älteren X.Y.Z-ew1 Versionen: in-place safe. Alle akkumulierten upstream Migrationen + 2 EW Migrationen laufen automatisch über migrator_meta.
    • Von upstream transports/v1.5.16 (kein EW bislang): beim ersten Boot werden die EW-Spalten in config_keys angelegt. Existierende Keys bleiben unangetastet.

    Verification

    • Alle relevanten Go test suites grün (handlers TestAuth, core/providers/ew, framework/configstore -short).
    • ⚠ Ein integrations‑test (TestCreateHandler_AnthropicRouteClears_UseRawRequestBody_WhenCatalogSelectsBedrock) fällt fehl — verifiziert dass es ein pre‑existing upstream bug ist (auch auf reinem transports/v1.5.16 ohne EW changes rot). Nicht release‑blocker.
    • docker build clean.
    • Symbol-Check: 109 matches im Binary (alle 5 Specs detektiert).
    • Version string in /app/main ist exakt v1.5.16-ew-1.

    See Spec 08 — Version Port Log für die volle per-Version Historie.

    Downloads