This repository was archived by the owner on Oct 1, 2026. It is now read-only.
Repository navigation
v0.27.0
[v0.27.0] - 2026-09-21
Changed
- Pinned
pipelex0.62.0: up from==0.61.0, exactly, for the shipped model deck's move onto the models the Pipelex Gateway serves from Azure. Nothing on the wire moves — the committeddocs/openapi/pipelex-api.openapi.yamlchanges only in itsinfo.version— and the.pipelex/config schema did not move, so no migration is required. - The vendored model deck resolves only to models the Pipelex Gateway serves from Azure (Breaking): this image serves the
.pipelex/inference/tree it ships rather than the installed wheel's kit, and that deck had not been re-synced since v0.14.0, so every previous pin move left the roster untouched. Every default alias and preset keeps its name, but the language ladder is now the GPT-5.6 range — the premium tier and@best-gptresolve togpt-5.6-sol, the general and large-context tiers togpt-5.6-terra, the small tiers togpt-5.6-luna, where they previously resolved toclaude-4.7-opus,claude-4.6-sonnet, the Gemini*-latestpair andgpt-4o-mini— and image generation's tiers resolve togpt-image-2in place ofnano-bananaandnano-banana-2.GET /v1/modelsanswers this deck, so itsaliasesandwaterfallschange with it, and$engineering-codebase-analysisreaches its model through@default-large-context-coderather than a provider-named alias. - A deployment holding its own provider key must declare the new handles (Breaking): the Pipelex Gateway resolves them from the remote config it fetches at boot, so the default deployment needs nothing, but the vendored
backends/rosters declare none of the GPT-5.6 range. Such a deployment still starts —missing_presets_reactionislog, and an alias satisfies the deck's membership check without its target being declared — and then answers500on the first/executethat takes a default tier. Declare the handles in the backend file, or keep the previous models by naming them in anx_custom_llm_deck.toml, whichpipelex updatenever touches. - The vendored deck declares
temperature = 1throughout (Breaking): every model in the GPT-5.6 range fixes its temperature at 1, so every preset states that value in place of one the worker would override while warning on every call, and[llm.choice_defaults].default_temperatureis 1 for the same reason. Presets are therefore distinguished by their model tier and their reasoning effort alone, so$writing-factualand$writing-creativenow issue the same call. A method that needs a temperature of its own must write an inline LLM settings table —model = { model = "gpt-4o", temperature = 0.8 }. - The vendored Gateway roster reference agrees with the deck again:
backends/pipelex_gateway_models.mdand its plain twin are generated from the served remote config and had never been refreshed since this repo was created, so they advertisedgpt-5.2and carried nogpt-5.6-*handle at all while the deck resolved every tier to one. Both are re-synced, so the reference an operator opens to pick a handle now matches what the deck runs on. POST /v1/codegenstampsengine_version0.62.0: the stamp is the pinnedpipelexversion, so acodegen.lockcommitted against0.61.0no longer matches until it is regenerated.POST /v1/build/runnercarries the same stamp.
Fixed
- The vendored deck no longer aliases a handle no enabled backend declares:
@best-claudeand@default-premiumboth resolved toclaude-4.7-opus, which the vendoredbackends/anthropic.tomldoes not declare — it stops atclaude-4.6-opus. The re-synced deck removes the dangling target.
Removed
best-claude,best-geminiandbest-mistralare gone from the vendored deck (Breaking): an alias naming a provider cannot honestly resolve to a GPT model, and the image deck'sbest-geminigoes with them. A method referencing one now fails validation with the usual alias-not-found error; declare it in anx_custom_llm_deck.tomlto keep it.