Releases: aivinay/switchboard
Release list
Switchboard 0.6.2
Fixed
- Keep long Codex replies pinned to the final metadata row after markdown layout settles, while still respecting manual scroll-away during active replies.
- Clear stale screen-reader reply status when starting an empty session.
- Make narrow-window new sessions use the standard chat width, with the sidebar moving off-canvas earlier so the composer and starter prompts do not collapse into a thin column.
Verification
- make check
- git diff --check
- build + twine check for switchboard-local 0.6.2
- browser UX pass across 665x935, 390x844, and 1165x768
Switchboard 0.6.0
Switchboard 0.6.0
Highlights
- Added optional Headroom compression support with heuristic fallback.
- Added Claude Code model override support for Opus 4.8 or another configured Claude model.
- Improved the browser-tested chat UX: calmer thinking states, stop/copy controls, better spacing, and cleaner long-answer rendering.
- Added dashboard savings visuals and friendlier premium budget/trend summaries.
Validation
- make check: ruff, mypy, and 829 tests passed.
- Built wheel and sdist for 0.6.0.
- twine check passed for both artifacts.
Switchboard 0.5.2
Changed
- Enabled Codex and Claude Code by default in the web UI and OpenAI-compatible /compat/v1 HTTP surface.
- Set SWITCHBOARD_HTTP_ENABLE_CLI_BACKENDS=false to disable subscription CLI backends for an HTTP deployment.
Verification
- ruff check .
- mypy switchboard
- pytest tests/ (814 passed)
- build + twine check for switchboard_local-0.5.2
v0.5.1
Patch release for the source-checkout version fix and README release-doc clarifications.\n\n- Source checkouts now report the version from pyproject.toml even when editable install metadata is stale.\n- README clarifies source/tag install guidance, local SQLite session storage, and evaluation tooling boundaries.\n- Full release gates passed on main before tagging.
Switchboard 0.4.0
Highlights: Switchboard 0.4.0 ships the new local web UI workflow with session sidebar and search, reversible feedback, persisted Private chat, the Savings drawer, and the new switchboard version/upgrade surfaces. It also fixes checkout upgrade guidance, plural feedback counts, and degenerate learned-embedding fail-closed behavior while leaving benchmark claims unchanged pending the gated rerun.
Switchboard 0.3.0
Highlights: Switchboard 0.3.0 adds 2026 local model packs and switchboard models --recommend, disabled-by-default confidence escalation, Arch-Router judge support, optional Headroom compression, a premium quota ledger, and the UI dashboard/routing chips.
Migration note: legacy Ollama chat profiles removed in this release fall back to defaults; migrate with switchboard models --recommend --apply or remap preferences.local_model_roles.
[0.3.0] - 2026-07-02
Added
- Added the 2026 Ollama model pack, hardware-aware
switchboard models --recommend, and explicit local role mappings for general, coding, and
reasoning routes. - Added a sub-12 GiB floor tier for
switchboard models --recommendso tiny
machines getllama3.2:3binstead of heavier 16 GiB recommendations. - Added embedding-model-aware learned routing, dispatcher, sensitivity, and
semantic-memory embedding calls, including task prefixes and fail-closed
weight metadata checks. - Added disabled-by-default local answer-confidence checks with one-hop premium
escalation for low-confidence non-sensitive Ollama answers. - Added first-class Arch-Router LLM judge support via
router_llm_model, with
policy-format prompting and fail-closed parsing. - Added optional
headroom-aicompression support behind theheadroomextra
andpreferences.compression_engine: "headroom", while keeping the
dependency-free heuristic as the default. - Added a local, estimate-only premium quota ledger with user-declared soft
budgets, quota-aware premium routing,switchboard quota, and/api/quota. - Added the dependency-free web UI upgrade: dynamic backend picker, routing
chips, private-mode indicator, quota meters, and a savings dashboard fed by
recorded metrics.
Changed
- Made the packaged
switchboard/config/tree canonical, withmake sync-configand drift tests keeping the rootconfig/copy aligned for
development and Docker mounts. - Updated
switchboard doctorto point at local model recommendations and
report the GLM 4.7 Flash Ollama version requirement.
Removed
- Removed legacy Ollama chat profiles replaced by the 2026 local model pack:
ollama/qwen3:8b,ollama/qwen2.5-coder:7b,
ollama/deepseek-r1:8b,ollama/gemma3:12b,
ollama/qwen2.5-coder:14b,ollama/deepseek-r1:14b, and
ollama/mistral-small3.2:24b. Existing role mappings that reference these
profiles fall back to defaults; migrate with
switchboard models --recommend --applyor remap
preferences.local_model_roles.
Fixed
- Made
switchboard routepreviews honor private mode when Ollama is
unavailable: sensitive prompts now preview as local-only/refused instead of
recommending a subscription fallback. - Targeted mypy at Python 3.12 syntax so NumPy 2.1+ stubs using PEP 695 parse
correctly, and annotated pre-existing training variables that this exposes. - Corrected Headroom installation docs to use the
switchboard-localpackage
name. - Corrected the real-backend smoke expectation for deterministic time-tool
prompts, which are grounded and then formatted locally through Ollama.
v0.2.3
Changed
- Removed public personal contact details from package, citation, security, and
conduct metadata. - Run the container image as an unprivileged user and restrict CI token
permissions to read-only repository contents. - Bind dev and Docker Compose servers to localhost by default, keep private
files out of Docker build contexts, run Compose with a read-only root
filesystem, and keep HTTP-triggered subscription CLI backends disabled unless
explicitly enabled. - Keep full feedback-example snapshots opt-in in the starter config.
Fixed
- Hardened live-data fetchers to use HTTP(S) client calls with status checks and
defused XML parsing for RSS feeds.
v0.2.2
Fixed
- Made
switchboard eval-real-providershonor the packagedpersonal.yamlYahoo Finance default, while keeping empty preferences as env-fallback and explicitnoneas disabled. - Built real-provider grounding evals through the configured core-service factory so their live-data tool behavior matches normal CLI requests.
- Nudged stock quote answers to include the finance source and delayed-data status when a deterministic finance tool grounds the response.
Verification
- Full local pytest suite: 637 passed, 5 skipped.
- Twine check passed for the 0.2.2 wheel and sdist.
- Clean local wheel install verified
doctor,backends,eval-real-providers --json, stock ask, and latest-news ask.
v0.2.1
Fixed
- Corrected
switchboard doctorandswitchboard backendslive-data provider status so configured Yahoo Finance, Google News RSS, direct web search, and Claude Code WebSearch fallback paths are reported accurately. - Matched provider status reporting to runtime env-fallback semantics for empty
finance_providerandnews_providerpreferences, while preserving explicitnoneas disabled.
Validation
- Local
make checkpassed. - Clean
0.2.1sdist/wheel build passed. twine check dist/*passed.- Fresh checkout of tag
v0.2.1passed install andmake check. - GitHub CI on release commit passed for Python 3.11 and 3.12.
v0.2.0
Changed
- Unified the public CLI routing path:
switchboard route, bareswitchboard ask, andswitchboard ask --backend autonow use the same Switchboard Core routing behavior, withrouteacting as a no-model-call preview. - Removed legacy personal-router-only flags from public
routeandaskcommands so unsupported options fail clearly instead of being ignored. - Rejected manual catalogue IDs such as
manual/codexon the callable core CLI path; users should select callable backends such ascodex,claude-code, orollama.
Fixed
- Preserved forced backend/model choices in
routenext-step guidance, including the--force-model ollamabackend alias. - Updated README framing and Zenodo DOI references to the current v2 record.