Skip to content

chore(release): 1.2.0 - #27

Merged
babaliauskas merged 1 commit into
mainfrom
chore/release-1.2.0
Oct 1, 2026
Merged

babaliauskas merged 1 commit into
mainfrom
chore/release-1.2.0

Conversation

@babaliauskas

Copy link
Copy Markdown
Collaborator

Summary

Release 1.2.0.

  • Added: DeepSeek is now a supported provider end to end — registry, bare deepseek-* id resolution, DEEPSEEK_API_KEY pre-check and doctor row, tool-call eval parsing, judge-family self-preference warning, evalshift init --provider deepseek, and non-determinism handling for DeepSeek's thinking-mode temperature behavior.
  • Changed: evalshift doctor's config row now points at evalshift validate for details. Repeat runs of agent (tool-calling) suites now hit the response cache per replayed round instead of always running live.
  • Removed (breaking by SemVer letter, shipped as minor): the top-level slices: key is gone from evalshift.yaml. It was validated and recorded in the run bundle but never read by analyze — slices have always come from example tags — so a config that still sets it now fails to load with an error naming the fix, the same way thresholds was handled in 1.1.0.
  • Fixed: several doc-accuracy issues (scaffolded CI key scopes, LiteLLM provider framing, prompt escaping, coverage-floor wording), a misleading "-100%" latency delta when one role was fully cache-served, a cache-table race between concurrent evalshift processes, a SQLAlchemy 2.1 in-memory cache concurrency bug, and a DeepSeek pricing lookup miss.

Full details in CHANGELOG.md.

After merge

The tag v1.2.0 is pushed after merge, which triggers .github/workflows/release.yml to publish to PyPI.

Test plan

  • make ci green (ruff check, ruff format --check, mypy --strict, pytest — 2447 passed, 94.50% coverage)
  • tests/unit/test_docs_currency.py passes with the bumped version headers
  • uv run evalshift --version prints 1.2.0
  • uv build succeeds — evalshift-1.2.0-py3-none-any.whl and evalshift-1.2.0.tar.gz (not uploaded)

🤖 Generated with Claude Code

DeepSeek joins the supported providers end to end (registry, tool-call
parsing, thinking-mode temperature handling, doctor/init), and repeat
runs of agent suites now hit the response cache per tool-call round
instead of always going live. The top-level `slices:` key is removed
from evalshift.yaml — it was validated and recorded but never read by
analysis — plus several doc-accuracy and latency/cache-concurrency
fixes.

Shipped as a minor despite the breaking `slices` removal, the same way
1.1.0 shipped `thresholds`: the key gated nothing, so a config that
never set it needs no migration, and one that did gets a load-time
error naming the fix.

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@babaliauskas
babaliauskas merged commit e69469f into main Oct 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant