Releases: CommonstackAI/UncommonRoute
v0.7.21
Changes
- Enforce distinct served-quality pools for Simple, Medium, and Complex routing tiers.
- Prevent Claude Code wrapper/title side-channel prompts from inflating user prompt complexity.
- Reclassify current model families across economy, balanced, and premium tiers.
- Filter superseded Gemini Pro model IDs when newer successors are available.
Verification
- ruff check uncommon_route tests
- pytest: 714 passed, 1 skipped
v0.7.20
Changes
- Avoid routing to superseded Gemini 2.5 Pro when newer Gemini Pro successors are available in the upstream catalog.
- Tighten contextual follow-up floors so short run/commit follow-ups stay simple instead of inheriting medium or complex tiers.
- Parse Anthropic top-level tool names when estimating agentic step risk.
- Keep Claude Code suggestion-mode prompts capped as simple side-channel traffic.
- Refresh README benchmark/runtime guidance and bump Python/OpenClaw npm package versions to 0.7.20.
Verification
- python3 -m pytest, 707 passed, 1 skipped, 1 warning.
- python3 -m twine check /tmp/ur-build-check/*, passed.
- npm pack --dry-run in openclaw-plugin, passed.
- Live local proxy e2e on 8404 with five Claude Code style weather-cli prompts: SIMPLE/COMPLEX/COMPLEX/SIMPLE/SIMPLE, with no google/gemini-2.5-pro selections.
v0.7.19
Changes
- Remove session sticky previous-model route-pool locking from agent/tool routing.
- Keep session context as routing features without forcing candidates to the last successful model.
- Preserve semantic failure observability in traces with verification_failed and failure_kind fields.
- Bump Python and OpenClaw npm package versions to 0.7.19.
Verification
- PYTHONPATH=. python3 -m pytest -q tests/test_proxy.py tests/test_v2_routing_logic.py tests/test_quality_routing.py
- python3 -m twine check /tmp/uncommon-route-dist-0.7.19/*
- npm pack --dry-run
- Live local proxy check on 8404: same session switched between src/weather/api.py and src/weather/cli.py with no session-sticky/session-retry/previous-model route notes.
v0.7.18
Changes
- Remove the Anthropic tool-safe lane and thinking-context model lock from virtual Anthropic Messages routing.
- Allow Anthropic tool requests to route through OpenAI-compatible upstream transports when selected.
- Strip Anthropic thinking blocks from Anthropic-to-OpenAI request conversion while preserving native Anthropic source-body reuse.
- Bump Python and OpenClaw npm package versions to 0.7.18.
Verification
- python3 -m pytest -q
- python3 -m ruff check uncommon_route tests
- python3 -m twine check dist/uncommon_route-0.7.18*
v0.7.17
Highlights
- Tuned routing signal floors to improve simple vs medium/high routing across follow-up, tool, vision, and structured-output cases without broad keyword whitelists.
- Added shared signal tuning helpers and regression coverage for proxy and router behavior.
- Promoted v2 classifier dependencies into the base Python package so installed builds can load packaged embedding/classifier assets reliably.
- Added benchmark/e2e artifacts and scripts used to validate the routing matrix.
Verification
python3 -m pytest -q-> 697 passed, 1 skippedpython3 -m ruff check uncommon_route tests-> passedpython3 -m build --sdist --wheel --outdir dist/0.7.17-> passedpython3 -m twine check dist/0.7.17/*-> passednpm pack --dry-run-> passed
v0.7.16
Changes
- Release Python and OpenClaw/npm package version 0.7.16.
- Prevent learned runtime fallback aliases from overriding gateway exact model IDs or known seed aliases, fixing OpenRouter cold-start/gateway model resolution when local learned aliases exist.
- Keep public exports and v2 telemetry lifecycle lint-clean; skip lifecycle embedding telemetry when message length is unavailable to preserve short-message privacy.
- Clean up lint issues across tests and support modules so the full ruff suite passes.
Verification
python -m ruff check uncommon_route testspython -m pytest -q-> 672 passed, 1 skipped- 3 rounds live Commonstack E2E through
/health,/v1/chat/completions(autoandfast), and/v1/messages python -m build --outdir /tmp/uncommon-route-dist-0.7.16.POdBzxpython -m twine check /tmp/uncommon-route-dist-0.7.16.POdBzx/*npm pack --dry-run
v0.7.15
Patch release focused on OpenRouter upstream compatibility.\n\nChanges:\n- Detect OpenRouter as a gateway so provider/model IDs are preserved.\n- Update legacy model aliases to current OpenRouter catalog IDs.\n- Treat negative upstream pricing sentinel values as unknown pricing instead of routing on negative costs.\n- Add regression coverage for OpenRouter mapping and pricing parsing.\n- Bump Python and OpenClaw package versions to 0.7.15.
v0.7.14
Patch release focused on routing failure recovery and cost-aware agent step handling.
Changes:
- Distinguish semantic verification failures from environment and test-invocation failures.
- Keep environment/invocation recovery capped to medium instead of escalating as reasoning failure.
- Avoid treating read-only source inspection output that mentions failure words as failed verification.
- Add pressure-rescue routing tests and failure-kind coverage.
- Bump Python and OpenClaw package versions to 0.7.14.
v0.7.13
Patch release for v2 routing runtime readiness and quality/cost safeguards.\n\n- Package v2 routing assets in PyPI wheels/sdists so semantic signals work without manual local asset setup.\n- Add asset-loading tests and expand routing regression coverage.\n- Refine quality priors, benchmark routing context, proxy metadata, and AUTO routing safeguards.\n- Sync Python package and OpenClaw/npm plugin versions to 0.7.13.
v0.7.12
Patch release for Anthropic thinking routing correctness and release version reporting.
- Keep Anthropic native requests with thinking blocks inside a thinking-compatible routing pool instead of hard-locking to the previous model.
- Filter models that cannot accept adaptive thinking payloads from Anthropic Messages thinking continuations.
- Preserve previous-model context in trace reasoning as diagnostic metadata without making the whole step sticky.
- Centralize runtime package version reporting so CLI, proxy health, and support bundles use the pyproject/package metadata source of truth.
- Publish matching OpenClaw plugin version 0.7.12.
Validation:
- Full Python suite: 496 passed, 1 warning.
- PyPI build + twine check passed.
- npm pack dry-run passed.
- npm publish 0.7.12 passed.
- PyPI upload 0.7.12 passed.