Skip to content

Releases: aivinay/switchboard

Switchboard 0.6.2

Choose a tag to compare

@aivinay aivinay released this 04 Jul 18:35

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

Choose a tag to compare

@aivinay aivinay released this 04 Jul 17:20

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

Choose a tag to compare

@aivinay aivinay released this 04 Jul 00:18

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

Choose a tag to compare

@aivinay aivinay released this 03 Jul 23:54

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

Choose a tag to compare

@aivinay aivinay released this 02 Jul 17:20
1669bff

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

Choose a tag to compare

@aivinay aivinay released this 02 Jul 14:12
71c48ee

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 --recommend so tiny
    machines get llama3.2:3b instead 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-ai compression support behind the headroom extra
    and preferences.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, with make sync-config and drift tests keeping the root config/ copy aligned for
    development and Docker mounts.
  • Updated switchboard doctor to 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 --apply or remap
    preferences.local_model_roles.

Fixed

  • Made switchboard route previews 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-local package
    name.
  • Corrected the real-backend smoke expectation for deterministic time-tool
    prompts, which are grounded and then formatted locally through Ollama.

v0.2.3

Choose a tag to compare

@aivinay aivinay released this 01 Jul 13:01

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

Choose a tag to compare

@aivinay aivinay released this 29 Jun 20:38
dd50e35

Fixed

  • Made switchboard eval-real-providers honor the packaged personal.yaml Yahoo Finance default, while keeping empty preferences as env-fallback and explicit none as 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

Choose a tag to compare

@aivinay aivinay released this 29 Jun 20:12

Fixed

  • Corrected switchboard doctor and switchboard backends live-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_provider and news_provider preferences, while preserving explicit none as disabled.

Validation

  • Local make check passed.
  • Clean 0.2.1 sdist/wheel build passed.
  • twine check dist/* passed.
  • Fresh checkout of tag v0.2.1 passed install and make check.
  • GitHub CI on release commit passed for Python 3.11 and 3.12.

v0.2.0

Choose a tag to compare

@aivinay aivinay released this 29 Jun 12:29
909693a

Changed

  • Unified the public CLI routing path: switchboard route, bare switchboard ask, and switchboard ask --backend auto now use the same Switchboard Core routing behavior, with route acting as a no-model-call preview.
  • Removed legacy personal-router-only flags from public route and ask commands so unsupported options fail clearly instead of being ignored.
  • Rejected manual catalogue IDs such as manual/codex on the callable core CLI path; users should select callable backends such as codex, claude-code, or ollama.

Fixed

  • Preserved forced backend/model choices in route next-step guidance, including the --force-model ollama backend alias.
  • Updated README framing and Zenodo DOI references to the current v2 record.