-
v1.6.7-ew-2
Stablereleased this
2026-08-07 10:26:02 +02:00 | 1 commits to 1.6.7-ew2 since this releaseEW Image Edit Parameter Passthrough (Spec 09)
Builds on 1.6.7-ew1 (upstream
transports/v1.6.7).
1 commit: EW/v1/images/editsfull SGLang + vllm-omni compatibility.Problem
parseImageEditFormDataBodyFromRequestsilently dropped 4 fields (type,negative_prompt,num_inference_steps,seed) and ignoredExtraParamsentirely. The transport layer blocked url-only input and truncated multi-value form fields to their first value.Fix
Two independent EW-only gates (
providerName == schemas.EWinimages.go,provider == schemas.EWininference.go). Non-EW path is byte-identical (0 deletions inimages.godiff, regression guard test unchanged).Changes
- images.go: Gate 1 — 4 fields + sorted ExtraParams + dual mask (
mask+mask_imagefor SGLang/vllm-omni compatibility) - inference.go: Gate 2 — url-only input relaxation + ExtraParams
[]stringsweep +mask_imageinbound fallback + context leak fix - Tests: EW 25-element field-order test, OpenAI ExtraParams-ignored regression guard,
prepareImageEditRequestEW + non-EW tests - Harness: EW Postman environment, capability block, image edit entries
- Docs:
specs/09-ew-image-edit-passthrough.md,AGENTS.mdGotcha #20
Verification
Build OK, vet clean, 4 test suites green. 3 oracle reviewers APPROVE (plan compliance, code quality, scope fidelity).
Full diff:
git log 1.6.7-ew1..1.6.7-ew2Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
- images.go: Gate 1 — 4 fields + sorted ExtraParams + dual mask (
-
released this
2026-07-15 14:47:11 +02:00 | -1844 commits to 1.4.23-ew since this releaseEW fork release based on upstream bifrost
transports/v1.6.4.Upstream v1.6.4 brachte 144 Commits / 395 geänderte Dateien — siehe Spec 08 port log für Details.
What's new vs
v1.6.3-ew-2Bug fix:
/v1/modelsfiltert nachEWKeyConfig.ModelName(bereits in v1.6.3-ew-2, hier enthalten)/v1/modelsliefert pro EW-Key nur noch das konfigurierte Modell statt aller Backend-Modelle.v1.6.4 OpenAI Handler Signaturen
v1.6.4 fügte einen neuen
authHeaders map[string]stringParameter zu 7HandleOpenAI*-Funktionen hinzu. EW ruft 4 davon auf (Speech, Transcription, ImageGeneration, ImageEdit) —nilwird übergeben (keine Azure Auth Headers).v1.6.4
mergeUpdatedKeyRefactoringv1.6.4 refactorte
mergeUpdatedKey:oldRedactedKeyentfernt,preserve()Helper eingeführt. EW's URL-Preservation folgt dem VLLM-Pattern mitpreserve().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 mit EWKeyConfig.ModelName-Filter02 Per-key API toggles ( EWKeyConfig.AllowedRequests)03 OpenAI-conformant error envelope on /v1/...and/cursor/...routes04 WhitelistedRoutesconfig bypasses governance VK-required gate05 Dockerfile builds with all local plugins via go.work, Forgejo Actions workflowsContainer image
forge.engelmann.me/engel75/bifrost:v1.6.4-ew-1Verification
- Alle 4 Test-Suites grün (handlers TestAuth, integrations, EW, configstore)
make build LOCAL=1clean- Docker-Build: 112 Symbol-Matches, Version exakt
v1.6.4-ew1-test - Migration-Order:
add_bedrock_project_id_columns→add_ew_key_config_columns→add_ew_allowed_requests_column - Diff-Parity: identische File-Set wie v1.6.3-Port
- 0 pre-existing Test-Failures
See Spec 08 — Version Port Log für die volle Historie.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
released this
2026-07-13 14:51:14 +02:00 | -1697 commits to 1.4.23-ew since this releaseEW fork release based on upstream bifrost
transports/v1.6.3.What's new vs
v1.6.3-ew-1Bug fix:
/v1/modelsfiltert jetzt nachEWKeyConfig.ModelNameBisher lieferte
/v1/modelsfür den EW-Provider alle Modelle, die das SGLang-Backend meldete — auch solche, die gar nicht über den jeweiligen Key routbar sind. Ursache:EWKeyConfig.ModelNamewurde nur für Request-Routing (Key-Selection) genutzt, nicht für ListModels.listModelsByKey(core/providers/ew/ew.go) filtert jetzt die Response pro Key: wennEWKeyConfig.ModelNamegesetzt ist, werden nur noch Modelle behalten, deren Backend-Model-ID mitModelNameübereinstimmt (case-insensitive). Bei Multi-Key-Setups liefert jeder Key nur noch sein konfiguriertes Modell.Vorher: 5 EW-Keys → 35 Modelle (Union aller Backend-Modelle × 5 Backends)
Nachher: 5 EW-Keys → 5 Modelle (je 1 pro Key)Edge-Cases:
ModelName == ""oderEWKeyConfig == nil→ kein Filter (rückwärtskompatibel).request.Unfiltered == true→ kein Filter (internes Flag für Model-Catalog-Sync).Container image
forge.engelmann.me/engel75/bifrost:v1.6.3-ew-2Full changelog since v1.6.3-ew-1
067c5e95dfix(ew): filter /v1/models by EWKeyConfig.ModelName
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
released this
2026-07-08 09:46:41 +02:00 | -1696 commits to 1.4.23-ew since this releaseEW fork release based on upstream bifrost
transports/v1.6.3.Upstream v1.6.3 brachte 162 Commits / 531 geänderte Dateien — 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"override02 Per-key API toggles ( EWKeyConfig.AllowedRequests) — restrict an EW key to a subset of operations03 OpenAI-conformant error envelope on /v1/...and/cursor/...routes + SGLang-aware error parser04 WhitelistedRoutesconfig bypasses governance VK-required gate for inference routes05 Dockerfile builds with all local plugins via go.work, Forgejo Actions workflows for branch + tag buildsPort-Notes (was sich gegenueber v1.6.2 aenderte)
In der Fork: 1 Follow-up-Commit fuer API-Drift. Upstream zwischen v1.6.2 und v1.6.3:
-
OpenAI Handler Signaturen geaendert:
openai.HandleOpenAI*-Funktionen haben jetztauthHeader map[string]stringstattkey schemas.Key(fuer TextCompletion/ChatCompletion/Embedding, viaopenai.BearerAuthHeader(key)) und einen neuenBodySigner-Parameter fuer ChatCompletion/ChatCompletionStreaming. Andere Handler (Speech, Transcription, Image*) nehmen weiterhinkey schemas.Key. Follow-upec5eaa78aadaptiert den EW-Provider analog zum SGL-Provider. -
Neue Provider: BedrockMantle + DeepSeek: Upstream fuegte zwei neue Provider hinzu. Beim Cherry-Pick von Spec 01 gab es 9 mechanische Konflikte ("beide Seiten fuegen verschiedene Felder am selben Ort ein") — alle als "beide behalten" geloest. EW-Felder koexistieren mit den neuen upstream-Feldern.
-
NewEnvVar→NewSecretVarinmiddlewares_test.go(Spec 04 Test-Code, vom v1.6.2 SecretVar-Follow-up uebersehen). -
Keine neuen Plugins: v1.6.3 hat keine neuen
plugins/-Verzeichnisse — die printf-go.work-Liste ist identisch mit v1.6.2 (11 Plugins). -
Go-Version bleibt 1.26.4: Kein Dockerfile-printf-Bump noetig. Die 2 historischen Go-Version-Bump-Commits waren empty und wurden skipped.
Alle 21 Cherry-Picks abgeschlossen (19 angewandt, 2 empty skipped), plus 1 Follow-up.
Container image
The
Docker Releaseworkflow publishes:forge.engelmann.me/engel75/bifrost:v1.6.3-ew-1Identical runtime semantics to upstream
transports/v1.6.3plus 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.6.3-ew1tracks this release. Cherry-pick-Pfad fuer die naechste upstream Version: Spec 07 — Port Runbook.Upgrade notes
- Von
v1.6.2-ew1-rc1: in-place safe. Alle v1.6.3 upstream Migrationen + 2 EW Migrationen laufen automatisch uebermigrator_meta. - Von
v1.5.16-ew-1: in-place safe. Groesserer Sprung (v1.6.0–v1.6.3), aber alle Migrationen idempotent. - Von aelteren
X.Y.Z-ew1Versionen: in-place safe. Alle akkumulierten upstream Migrationen + 2 EW Migrationen laufen automatisch. - Von upstream
transports/v1.6.3(kein EW bislang): beim ersten Boot werden die EW-Spalten inconfig_keysangelegt. Existierende Keys bleiben unangetastet.
Verification
- Alle relevanten Go test suites gruen (
handlers TestAuth,core/providers/ew,framework/configstore -short, integrations, SecretVar). make build LOCAL=1clean.go vet: nur pre-existingtracer_test.golock-copy warning.- Docker-Build: 112 Symbol-Matches, Version exakt
v1.6.3-ew1-test. - Migration-Order:
add_virtual_key_expires_at_column→add_ew_key_config_columns→add_ew_allowed_requests_column. - Plugin-Liste: 11 Plugins, identisch mit v1.6.3.
- 0 pre-existing Test-Failures (im Gegensatz zu v1.6.2 mit 4 integrations-Failures).
See Spec 08 — Version Port Log fuer die volle per-Version Historie.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads
-
-
released this
2026-06-23 08:43:10 +02:00 | 0 commits to 1.5.16-ew1 since this releaseEW 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"override02 Per-key API toggles ( EWKeyConfig.AllowedRequests) — restrict an EW key to a subset of operations03 OpenAI-conformant error envelope on /v1/...and/cursor/...routes + SGLang-aware error parser04 WhitelistedRoutesconfig 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 buildsPort-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:
-
Migration framework rebuild: Statt sequentieller
triggerMigrations()body gibt es jetzt einconfigstoreMigrationSteps []migrationSteparray, das vonrunMigrationSteps()durchlaufen wird. Jede Migration‑Funktion bekommt ein zusätzlicheslogger schemas.LoggerArgument. 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ühereew_*Migrationen liefen. -
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. -
DisableAuthOnInferenceAuthConfig entfernt — ein Test musste entsprechend angepasst werden (separater Follow‑up commit). -
Keine neuen API drifts — v1.5.10 Provider Interface Adaptations (
ConfigureDialer2‑arg,Compactionstub) sind dauerhaft Teil der Fork und propagieren automatisch. -
Keine Go‑Bumps —
go.modblieb 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 Releaseworkflow publishes:forge.engelmann.me/engel75/bifrost:v1.5.16-ew-1Identical runtime semantics to upstream
transports/v1.5.16plus 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-ew1tracks this release. Frühere ew1 releases (1.5.3-ew1bis1.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-ew1Versionen: in-place safe. Alle akkumulierten upstream Migrationen + 2 EW Migrationen laufen automatisch übermigrator_meta. - Von upstream
transports/v1.5.16(kein EW bislang): beim ersten Boot werden die EW-Spalten inconfig_keysangelegt. 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 reinemtransports/v1.5.16ohne EW changes rot). Nicht release‑blocker. docker buildclean.- Symbol-Check: 109 matches im Binary (alle 5 Specs detektiert).
- Version string in
/app/mainist exaktv1.5.16-ew-1.
See Spec 08 — Version Port Log für die volle per-Version Historie.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
-
-
released this
2026-06-09 10:03:19 +02:00 | 0 commits to 1.5.11-ew1 since this releasePatch release auf top von
v1.5.11-ew-1mit demselben Production‑Bug‑Fix wiev1.5.10-ew-2.Was wurde gefixt
fix(ew): always allow private network connections(9e762af0f)Beim ersten Production‑Deployment der
ew-1Branches bemerkt: allelist_modelsCalls gegen SGLang Server auf privaten Netzen (LAN, k8s, VPC) schlugen fehl mitfailed to execute HTTP request to provider API.Root cause: der v1.5.10 Provider‑Interface‑Follow‑up reichte
config.NetworkConfig.AllowPrivateNetworkdurch upstream's neueConfigureDialer(client, bool)Signatur. Defaultfalseaktiviert die upstream SSRF‑Defense, die alle RFC 1918 IPs blockiert (10.x, 172.16‑31.x, 192.168.x) — genau das Netz auf dem EW‑Backends laufen. Der Bug propagierte unverändert von v1.5.10 nach v1.5.11.Fix:
truehartkodiert im EW Provider Init. EW ist per Spec 01 explizit für "locally hosted models" — der upstream Default macht für Cloud‑Provider (OpenAI, Anthropic, …) Sinn, nicht für EW. Operatoren mit public‑only EW Backends sind aktuell nicht unterstützt.Siehe Spec 01 "Network policy" und Spec 08 Nachtrag für den vollen Hintergrund.
Container image
forge.engelmann.me/engel75/bifrost:v1.5.11-ew-2Funktional identisch zu
v1.5.11-ew-1, nur mit dem Dialer‑Fix. Empfohlene Produktions‑Version.Upgrade notes
- Von
v1.5.11-ew-1: trivialer Drop‑in. Keine Schema‑Änderung, keine neue Migration. Container neu pullen, Container neu starten — fertig. - Von
v1.5.10-ew-2: Upstream v1.5.10 → v1.5.11 + 0 fork‑seitige Änderungen. Wenn du sowieso auf v1.5.11 upstream willst, wechsel direkt hierher. - Aus älteren Versionen (
v1.5.7-ew-1,v1.5.8-ew-1): diese Releases haben den Bug nicht (derallowPrivateNetwork‑Parameter existierte upstream noch nicht). Wenn du sie aktuell nutzt: kein Handlungsbedarf, oder direkt aufv1.5.11-ew-2upgraden.
Andere
ew-1BranchesDer gleiche Fix wurde auch auf
1.5.10-ew1cherry‑picked und alsv1.5.10-ew-2released. Ältere Branches (1.5.3-ew1,1.5.4-ew1,1.5.7-ew1,1.5.8-ew1) brauchen den Fix nicht.Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Von
-
released this
2026-06-09 09:58:05 +02:00 | 0 commits to 1.5.10-ew1 since this releasePatch release auf top von
v1.5.10-ew-1mit einem Production‑Bug‑Fix.Was wurde gefixt
fix(ew): always allow private network connections(165758b1d)Beim ersten Production‑Deployment der
ew-1Branches bemerkt: allelist_modelsCalls gegen SGLang Server auf privaten Netzen (LAN, k8s, VPC) schlugen fehl mitfailed to execute HTTP request to provider API.Root cause: der v1.5.10 Provider‑Interface‑Follow‑up reichte
config.NetworkConfig.AllowPrivateNetworkdurch upstream's neueConfigureDialer(client, bool)Signatur. Defaultfalseaktiviert die upstream SSRF‑Defense, die alle RFC 1918 IPs blockiert (10.x, 172.16‑31.x, 192.168.x) — genau das Netz auf dem EW‑Backends laufen.Fix:
truehartkodiert im EW Provider Init. EW ist per Spec 01 explizit für "locally hosted models" — der upstream Default macht für Cloud‑Provider (OpenAI, Anthropic, …) Sinn, nicht für EW. Operatoren mit public‑only EW Backends sind aktuell nicht unterstützt.Siehe Spec 01 "Network policy" und Spec 08 Nachtrag für den vollen Hintergrund.
Container image
forge.engelmann.me/engel75/bifrost:v1.5.10-ew-2Funktional identisch zu
v1.5.10-ew-1, nur mit dem Dialer‑Fix.Upgrade notes
- Von
v1.5.10-ew-1: trivialer Drop‑in. Keine Schema‑Änderung, keine neue Migration. Container neu pullen, Container neu starten — fertig. - Aus älteren Versionen (
v1.5.7-ew-1,v1.5.8-ew-1): diese Releases haben den Bug nicht (derallowPrivateNetwork‑Parameter existierte upstream noch nicht). Wenn du sie aktuell nutzt: kein Handlungsbedarf, oder direkt aufv1.5.11-ew-2upgraden falls du die v1.5.10/v1.5.11 upstream features brauchst.
Andere
ew-1BranchesDer Fix wurde auch auf
1.5.11-ew1cherry‑picked und alsv1.5.11-ew-2released. Ältere Branches (1.5.3-ew1,1.5.4-ew1,1.5.7-ew1,1.5.8-ew1) brauchen den Fix nicht.Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- Von
-
released this
2026-06-08 16:31:48 +02:00 | 1 commits to 1.5.11-ew1 since this releaseEW fork release based on upstream bifrost
transports/v1.5.11.Tracking release — keine Feature‑Änderungen in der Fork gegenüber
v1.5.10-ew-1. Zweiter Zero‑Conflict‑Port in Folge — 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"override02 Per-key API toggles ( EWKeyConfig.AllowedRequests) — restrict an EW key to a subset of operations03 OpenAI-conformant error envelope on /v1/...and/cursor/...routes + SGLang-aware error parser04 WhitelistedRoutesconfig also bypasses auth for inference routes (e.g./v1/models) and the governance VK-required gate05 Dockerfile builds with all local plugins via go.work, Forgejo Actions workflows for branch + tag buildsPort-Notes (was sich gegenüber v1.5.10 änderte)
In der Fork: nichts. Upstream zwischen v1.5.10 und v1.5.11:
- 12 substantielle Commits, davon nur 2 mit Overlap zu unserem Footprint (
handlers/governance.go+11 Zeilen,governance_test.go) — beide Files, die unsere Fork nicht touched. - Keine neuen DB‑Migrationen in der Mitte unserer Ordering.
- Keine API‑Drifts — die v1.5.10 Provider Interface Anpassungen (
ConfigureDialer2‑arg +Compactionstub) sind in der Fork bereits dauerhaft drin und propagieren automatisch. - Kein Go‑Bump —
go.modblieb auf 1.26.4 wie in v1.5.10.
Alle 14 Cherry‑Picks liefen sauber durch, kein Follow‑up Commit nötig.
Container image
The
Docker Releaseworkflow publishes:forge.engelmann.me/engel75/bifrost:v1.5.11-ew-1Identical runtime semantics to upstream
transports/v1.5.11plus 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.11-ew1tracks this release. Frühere ew1 releases (1.5.3-ew1,1.5.4-ew1,1.5.7-ew1,1.5.8-ew1,1.5.10-ew1) bleiben verfügbar. Cherry-pick-Pfad für die nächste upstream Version: Spec 07 — Port Runbook.Upgrade notes
- Von
v1.5.10-ew-1: trivialer Drop‑in. Keine fork‑seitige Schema‑Änderung und keine neue upstream Migration in der relevanten Reihenfolge. Symbol‑Set im Binary identisch (107 matches). - Von jeder älteren
X.Y.Z-ew1Version: in-place safe. Alle Migrationen sind idempotent übermigrator_meta. Die akkumulierten upstream Migrationen aus v1.5.4 + v1.5.7 + v1.5.10 laufen automatisch. - Von upstream
transports/v1.5.11(kein EW bislang): beim ersten Boot werden die EW-Spalten inconfig_keysangelegt. Existierende Keys bleiben unangetastet.
Verification
- Alle Go test suites grün (
handlers TestAuth,integrations,core/providers/ew,framework/configstore -short). docker buildclean ohne Anpassung.- Symbol-Check: 107 matches im Binary (alle 5 Specs detektiert, identisch zu v1.5.10).
- Version string in
/app/mainist exaktv1.5.11-ew-1.
See Spec 08 — Version Port Log für die volle per-Version Historie.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
1 download
- 12 substantielle Commits, davon nur 2 mit Overlap zu unserem Footprint (
-
released this
2026-06-08 09:30:09 +02:00 | 1 commits to 1.5.10-ew1 since this releaseEW fork release based on upstream bifrost
transports/v1.5.10(commitb35e35da3, v1.5.9 übersprungen).Tracking release — keine Feature‑Änderungen in der Fork gegenüber
v1.5.8-ew-1. Der Port war diesmal anspruchsvoller als die letzten (110 upstream Commits, 1 Konflikt + 2 API‑Follow‑ups) — 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"override02 Per-key API toggles ( EWKeyConfig.AllowedRequests) — restrict an EW key to a subset of operations03 OpenAI-conformant error envelope on /v1/...and/cursor/...routes + SGLang-aware error parser04 WhitelistedRoutesconfig also bypasses auth for inference routes (e.g./v1/models) and the governance VK-required gate05 Dockerfile builds with all local plugins via go.work, Forgejo Actions workflows for branch + tag buildsPort-Notes (was sich gegenüber v1.5.8 änderte)
Im Code der Fork selbst: nichts. Aber upstream zwischen v1.5.8 und v1.5.10:
- +8 neue DB-Migrationen (Model-Config Refactor: scope columns, customer budgets, FK constraints, governance migration). Standard-Resolution per Spec 06 — alle 8 vor unseren 2 EW-Migrationen einsortiert.
providerUtils.ConfigureDialersignatur change: zweiterboolParameter fürallowPrivateNetwork. EW Provider angepasst per Reference Pattern aus VLLM/OpenAI.schemas.Providerinterface: neueCompactionMethode. EW Provider liefertUnsupportedOperationError(SGLang hat keine native Compaction).- Go 1.26.3 → 1.26.4 in allen upstream
go.mod. Dockerfileprintf-String entsprechend gebumped (selbes Pattern wie beim v1.5.7 Port).
Container image
The
Docker Releaseworkflow publishes:forge.engelmann.me/engel75/bifrost:v1.5.10-ew-1Identical runtime semantics to upstream
transports/v1.5.10plus 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.10-ew1tracks this release. Frühere ew1 releases (1.5.3-ew1,1.5.4-ew1,1.5.7-ew1,1.5.8-ew1) bleiben verfügbar. Cherry-pick-Pfad für die nächste upstream Version: Spec 07 — Port Runbook.Upgrade notes
- Von
v1.5.8-ew-1: in-place safe. Die 8 neuen upstream Migrationen und unsere 2 EW Migrationen laufen alle idempotent übermigrator_meta. Keine fork-seitige Schema-Änderung. - Von jeder älteren
X.Y.Z-ew1Version: in-place safe. Alle Migrationen sind idempotent. - Von upstream
transports/v1.5.10(kein EW bislang): beim ersten Boot werden die EW-Spalten inconfig_keysangelegt. Existierende Keys bleiben unangetastet.
Verification
- All Go test suites grün (
handlers TestAuth,integrations,core/providers/ew,framework/configstore -short). docker buildclean nach Go 1.26.4 bump.- Symbol-Check: 107 matches im Binary (alle 5 Specs detektiert).
- Version string in
/app/mainist exaktv1.5.10-ew-1.
See Spec 08 — Version Port Log für die volle per-Version Historie.
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
1 download
-
released this
2026-06-04 15:01:12 +02:00 | 0 commits to 1.5.8-ew1 since this releaseEW fork release based on upstream bifrost
transports/v1.5.8(commit7c5ab44e2).Tracking release with no functional changes vs.
v1.5.7-ew-1— the new upstream v1.5.8 was a small delta (14 substantive commits) and the EW fork cherry-picked cleanly with zero conflicts (see Spec 08 port log).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"override02 Per-key API toggles ( EWKeyConfig.AllowedRequests) — restrict an EW key to a subset of operations03 OpenAI-conformant error envelope on /v1/...and/cursor/...routes + SGLang-aware error parser04 WhitelistedRoutesconfig also bypasses auth for inference routes (e.g./v1/models) and the governance VK-required gate05 Dockerfile builds with all local plugins via go.work, Forgejo Actions workflows for branch + tag buildsContainer image
The
Docker Releaseworkflow publishes:forge.engelmann.me/engel75/bifrost:v1.5.8-ew-1Identical runtime semantics to upstream
transports/v1.5.8plus all of the above EW features. Built statically (CGO + sqlite_static), runs as non-root, healthcheck on/health.Branches
Branch
1.5.8-ew1tracks this release. Earlier ew1 releases (1.5.3-ew1,1.5.4-ew1,1.5.7-ew1) remain available. Cherry-pick path for the next upstream version is documented in Spec 07 — Port Runbook.Upgrade notes
- From
v1.5.7-ew-1: trivial — no DB schema change in our fork, only upstream v1.5.7 → v1.5.8 changes (5 already-applied upstream migrations from v1.5.7 + no new EW migration). Drop-in container replacement. - From any earlier
X.Y.Z-ew1release: in-place safe. The two EW DB migrations (add_ew_key_config_columns,add_ew_allowed_requests_column) are idempotent viamigrator_meta. Any intermediate upstream migrations apply automatically. - From upstream
transports/v1.5.8(no EW yet): on first boot the EW migrations create the new EW columns onconfig_keys. Existing keys are unaffected.
Verification
- Zero merge conflicts on the v1.5.7 → v1.5.8 cherry-pick.
- All Go test suites green (
handlers,integrations,core/providers/ew,framework/configstore -short). docker buildclean.- Symbol check confirms all 5 fork features baked into the binary (106 matches).
- Version string in
/app/mainis exactlyv1.5.8-ew-1.
See Spec 08 — Version Port Log for the full per-version history.
Downloads
-
Source code (ZIP)
1 download
-
Source code (TAR.GZ)
0 downloads
- From