| v3.23.0 | <!-- known-ci-6042 --> > **Known CI failure:** the post-release [Python 3.12 main check](https://github.com/sipyourdrink-ltd/bernstein/actions/runs/40120774655/job/120951745505) failed in `test_orchestrator.py`. [#6042](https://github.com/sipyourdrink-ltd/bernstein/issues/6042) remains open; the abnormal exit is not diagnosed. The separate pre-release full-suite pass did not resolve it. One hundred and five changes since v3.22.0. Several fix work that looked finished until somebody checked the | High | 10/24/2026 |
| v3.22.0 | Seventy-five changes since v3.21.0. Upgrade for the first one. A run that stopped on purpose could be restarted by its own recovery watchdog. On 3.21.0, a run with one planned docs task restarted the orchestrator five times, re-queued retries that an earlier process had already made, and ended with 20 of 21 tasks failed and the requested change never written. A run that reaches quiescence now stays stopped, and a restarted orchestrator does not duplicate retries (#6474). Any run on 3.21.0 that | High | 10/15/2026 |
| v3.21.0 | Two hundred and forty-four changes since v3.20.0; read the two advisories first. An agent could write its own identity record and be believed; an empty `<task>.approved` file passed for an operator's decision (GHSA-xw82-w5hr-hrm2, high, reported privately). Workflow commands ran repository text in untrusted workspaces, a claim took its role from the request, and a receipt verified against whatever key it carried (GHSA-4r8r-jx5c-w954, high, reported by @Trenyx). Fixed in #6404; every version th | High | 10/5/2026 |
| v3.20.0 | v3.20.0 makes what the orchestrator did checkable and exportable. A run's operational record now has a scorecard, a supervision-period conduct fold, and an OSCAL assessment-results export an auditor can read. Credentials and exports are hardened where a scope or a check could previously be widened or skipped. ## Compliance exports an auditor can check `bernstein compliance export-oscal` writes a NIST OSCAL v1.1.0 assessment-results document from the tamper-evident audit chain, lineage log, an | High | 9/20/2026 |
| v3.19.2 | Two hundred and twenty-nine changes since v3.19.1, and one of them is why this page arrives ahead of the usual cadence. `bernstein audit verify` could print its green panel while the grant sweep it had just run was holding a critical finding. The chain verified, the command reported success, and the finding left with exit code zero. That is GHSA-594x-5h3g-wj34, severity low, reported by @Silentpartnercoding and fixed in `06850966d` (#5784). Everything up to and including 3.19.1 is affected. If | High | 9/10/2026 |
| v3.18.2 | Sixty-four commits since the last patch, most of them the machine finding its own mistakes. That is the arrangement working, not failing. ## Receipts that outlive what they describe A finished run's journal now maps onto a signed TRACE 0.2 Trust Record through the install Ed25519 identity, behind the optional `bernstein[trace]` extra (#4666). The record names its own signing key โ the subject is a self-certifying `did:key` URI โ states the runtime it was produced under, and binds a delegated | High | 8/28/2026 |
| v3.15.1 | # v3.15.1 v3.15.0 closed a trust boundary. This release went back to see how far that fix reached. Not far enough. ## Tenant scoping #3799 narrowed the task routes and listed a second set of readers it deliberately left alone. That set got asked directly: a server with two tenants, all five kinds of credential. Twelve of thirteen handed over another tenant's task ids and titles. The thirteenth never touches the task table, so it is closed with evidence instead of a patch. The twelve now deri | High | 8/14/2026 |
| v3.13.0 | A reliability release, and mostly one defect repeated across the release machinery: a step that could not run reported as a step that passed. The npm wrapper had been failing inside a green job since 2.3.0; Homebrew, the SBOMs and the container image never ran at all for a release cut by automation; and the drift detector meant to catch any of that closed its own tickets over registries it had failed to read. All four are fixed, the RPM channel is wired up, and the reconciler now refuses to retu | High | 8/1/2026 |
| v3.8.3 | # v3.8.3 A bug-fix release. Most of this wave came out of running the published wheel end to end with a free local model, which surfaced a chain of "green status, no artifact" defects across adapter selection, run verification, and the observability surface. Nothing here changes a public API; upgrade in place. ## Adapter selection and routing - Startup adapter detection now covers the full adapter registry and states when an explicit adapter is pinned instead of claiming auto-routing (#2779). | High | 7/22/2026 |
| v3.2.0 | # v3.2.0 Released 2026-07-10. A resumability and availability release. Interrupted runs continue from a verified ledger instead of starting over, provider outages reroute along declared fallback chains with a receipt for every decision, and certified local endpoints join the worker pool behind a certification gate. ## Durable work ledger (#2358) An interrupted orchestration run no longer discards finished work. The scheduler records every task transition in a Merkle-chained work ledger: - E | High | 7/10/2026 |
| v2.8.2 | ## What's Changed * ci(publish): allow re-running a release publish via workflow_dispatch by @chernistry in https://github.com/sipyourdrink-ltd/bernstein/pull/2107 * Update astral-sh/setup-uv action to v8.2.0 by @renovate[bot] in https://github.com/sipyourdrink-ltd/bernstein/pull/2103 * chore(deps): update zizmorcore/zizmor-action action to v0.5.7 by @renovate[bot] in https://github.com/sipyourdrink-ltd/bernstein/pull/2102 * chore(deps): update dependency @types/node to v24.13.2 by @renovate[bot | High | 6/27/2026 |
| v2.7.0 | # v2.7.0 Released 2026-05-24. This release focuses on making Bernstein's automation easier to verify: stricter release gates, a complete Sonar cleanup, deterministic skill authoring tools, and an opt-in maintainer-share telemetry path that stays off by default. ## Highlights - Skills are closer to end-to-end. `SKILL.md` manifests now carry a versioned schema, and the CLI has deterministic `skills init`, `skills test`, `skills diff`, and `skills bench` commands. Strict linting can block insta | High | 5/24/2026 |
| v2.4.0 | # v2.4.0 - Observability surfaces, single-writer run state, declarative planning gates **Release date:** 2026-05-20 **Commits since v2.3.1:** 33 ## Highlights - Unified `bernstein doctor observe` umbrella rolls the four observability backends (Sonar, GlitchTip, Dependency-Track, GitHub Code Scanning) into one aggregated table with delta-since-last-check, plus a per-PR sticky summary comment and a daily trends snapshot. Each backend soft-fails to `SKIPPED` when its env vars are unset, so a fre | High | 5/20/2026 |
| v1.11.0 | ## Lineage v1 โ every agent edit, signed and auditable Bernstein runs now produce a per-artefact transparency log. Two agents touching the same file no longer race silently โ concurrent edits surface as siblings, and the Steward writes an explicit merge entry. Compliance officers run one command to get an EU AI Act Article 12 evidence bundle. Auditors verify the bundle on an air-gapped laptop without installing Bernstein. **What's new** - `bernstein compliance pack --since โฆ --until โฆ --org " | High | 5/13/2026 |
| v1.10.7 | ## v1.10.7 A small operator-visible release. One new CLI command โ `bernstein export` for shareable post-run reports โ and a 16-scenario expansion of the planning library. ### New: `bernstein export` โ shareable run reports `bernstein export` reads a finished run from `.sdd/archive/tasks.jsonl`, `.sdd/runs/{run_id}/`, and `.sdd/metrics/`, then renders either a self-contained HTML page (inline CSS, no external assets) or a Markdown summary. Output is capped at 500 KB so the artefact is paste-f | High | 5/11/2026 |
| v1.10.0 | ## v1.10.0 ### New features - **sandbox:** vercel backend implementing SandboxBackend protocol - **sandbox:** runloop backend implementing SandboxBackend protocol - **sandbox:** daytona backend implementing SandboxBackend protocol - **sandbox:** blaxel backend implementing SandboxBackend protocol - **orchestration:** mechanical exit gates between phases with re-fire on violation - **routing:** rework-rate ledger with auto-promotion in cascade router - **planning:** per-phase artifact schemas wi | High | 5/5/2026 |
| v1.9.2 | ## v1.9.2 โ per-step CLI override, six new adapters, leaf-node orchestrator delegation The cooperating-CLI-adapter count goes 31 โ 37, plans can mix CLIs between stages, and there's a separate new "Bernstein orchestrates the orchestrators" delegation track. ### Per-step `cli:` in plan files (#965, closes #964) Plan steps now take a `cli:` field directly. No more inventing role-shaped wrappers in `bernstein.yaml` to switch CLIs between stages: ```yaml stages: - name: red-green-refactor | High | 4/29/2026 |
| v1.8.14 | ## v1.8.14 โ broader coverage + the operator pack ### 31 CLI adapters Thirteen new first-class adapters: **Droid**, **GitHub Copilot**, **Hermes Agent**, **Crush**, **Auggie**, **Kimi**, **Rovo Dev**, **Cline**, **Codebuff**, **Pi**, **Mistral Vibe**, **Autohand**, **Forge**. Mix any of the 31 in one plan. ### Four new commands - **`bernstein pr`** โ opens a GitHub PR from the last completed session, with the janitor's gate results and a token/USD cost breakdown in the body. - **`bernstein f | High | 4/23/2026 |
| v1.8.12 | ## v1.8.12 ### Bug fixes - **persistence:** handle Windows OSError in _pid_alive **Full changelog:** https://github.com/chernistry/bernstein/compare/v1.8.11...v1.8.12 | High | 4/19/2026 |
| v1.8.11 | ## v1.8.11 โ fixes broken v1.8.10 **Upgrade if you're on v1.8.9 or v1.8.10.** Both shipped with missing sub-packages in the wheel. `bernstein run` crashed on install with `ModuleNotFoundError: bernstein.core.tokens`. **Cause:** `.gitignore` had `*token*` (for stray secret files). Hatchling honors `.gitignore` during wheel build, so the whole `src/bernstein/core/tokens/` package got dropped. **Fix:** - Narrowed `.gitignore` to explicit file patterns (`*.token`, `*_token.{json,yaml,txt}`, `auth | High | 4/19/2026 |
| v1.8.10 | > โ ๏ธ **Partially broken โ CLI loads but `bernstein run` crashes.** v1.8.10 fixed the v1.8.9 wheel enough that `bernstein --version` works, but the task server still crashes on startup with `ModuleNotFoundError: No module named 'bernstein.core.tokens'`. A stray `.gitignore` rule (`*token*`) was matching `src/bernstein/core/tokens/**` and dropping the whole sub-package from the wheel. v1.8.11 ships the real fix. ## v1.8.10 Intended to fix the broken v1.8.9 wheel (where 18 `bernstein.core.*` sub- | High | 4/19/2026 |
| v1.8.9 | > โ ๏ธ **Broken wheel โ do not install.** The PyPI wheel for v1.8.9 is missing 18 `bernstein.core.*` sub-packages, so `bernstein --version` crashes with `ModuleNotFoundError: No module named 'bernstein.core.config'`. Install v1.8.10 or later. ## v1.8.9 โ feature drop ### OpenAI Agents SDK v2 adapter A new CLI adapter wraps OpenAI's `agents.Agent` + `Runner` so agents built on the SDK become orchestratable inside a Bernstein plan.yaml, alongside Claude, Codex, and Gemini. ```yaml steps: - cli | High | 4/19/2026 |
| v1.8.8 | ## v1.8.8 ### CI / Infrastructure - **release:** strip internal ticket refs from generated notes ### Chores - **deps:** bump docker/login-action from 3.7.0 to 4.1.0 - **deps:** bump actions/setup-python from 5.6.0 to 6.2.0 - **deps:** bump actions/create-github-app-token from 2.2.2 to 3.1.1 - **deps:** bump docker/build-push-action from 6.19.2 to 7.1.0 - **deps:** bump reviewdog/action-actionlint **Full changelog:** https://github.com/chernistry/bernstein/compare/v1.8.7...v1.8.8 | High | 4/19/2026 |
| v1.8.7 | ## v1.8.7 Architecture boundaries + CI unblock. ### Architecture - **Import-linter contracts.** A new CI gate enforces the intended boundaries between `cli/`, `core/`, `adapters/`, and their sub-packages. Violations fail the Lint job before they can land. ### CI - Fixed test collection on main โ `cheaper_retry` and `retry_budget` back-compat redirects pointed at `bernstein.core.cost.*` but the modules actually live in `bernstein.core.cost.planned.*`, so the Ubuntu/macOS test matrix was failin | High | 4/18/2026 |
| v1.8.6 | ## v1.8.6 Security hardening and reliability โ the largest patch in the 1.8.x line. ### Security - **OAuth:** PKCE `state` parameter is validated on callback. - **SAML:** assertion signature is verified. - **Webhooks:** every POST requires a valid HMAC; stack traces stripped from hook error responses. - **MCP server:** auth required by default; bound to localhost out of the box. - **Licensing:** empty signing keys are rejected at load time. - **Agents:** real per-agent credential scoping at sp | High | 4/18/2026 |
| v1.8.5 | ## v1.8.5 Orchestration cleanup and release-pipeline hygiene โ the first patch of a multi-release audit sweep. ### Orchestrator - Idle recycling consolidated into a single `agent_recycling` module (previously forked across `agents/` and `orchestration/`). - Idle detection now also watches log growth, not just heartbeat timing โ a stuck adapter with output still flowing no longer looks "alive." - `_detect_idle_reason` folded to one implementation. ### Reliability - Orphaned task claims discove | High | 4/17/2026 |
| v1.8.4 | ## v1.8.4 Planning, identity, and evaluation. ### Features - **Plan-and-Execute architecture formalized.** Planning and execution are now explicit phases with typed interfaces, so you can swap planners without touching executors. - **Agent identity cards with capability enforcement.** Every spawn carries a signed identity card; the orchestrator refuses tool calls outside the card's declared capabilities. - **Built-in eval framework** with per-model accuracy reporting โ useful for A/B-ing plann | High | 4/17/2026 |
| v1.8.3 | ## v1.8.3 Quality + release-pipeline polish. - Cleared four vulnerabilities and fifteen code smells flagged by SonarCloud. - Auto-release now skips the version bump when nothing outside docs/CI actually changed โ stops the "empty v1.8.x patch" churn. **Full changelog:** https://github.com/chernistry/bernstein/compare/v1.8.2...v1.8.3 | High | 4/17/2026 |
| v1.8.2 | ## v1.8.2 Maintenance release โ re-tags v1.8.1 after an auto-release pipeline hiccup. No user-visible changes. **Full changelog:** https://github.com/chernistry/bernstein/compare/v1.8.1...v1.8.2 | High | 4/16/2026 |
| v1.8.1 | ## v1.8.1 Follow-up bugfix on v1.8.0. - Replaced 42 float `==` comparisons in the test suite with `pytest.approx()` so CI doesn't flake on rounding (Sonar S1244). - Restored the `_render_prompt` return-type annotation so callers importing the pre-1.8.0 signature keep working. **Full changelog:** https://github.com/chernistry/bernstein/compare/v1.8.0...v1.8.1 | High | 4/16/2026 |
| v1.8.0 | ## v1.8.0 Eight feature drops focused on memory, observability, and safety. ### Features - **Prompt caching for system prompts and role templates.** Repeated role-prompt runs now read from the Anthropic prompt cache, cutting input-token cost on warm paths. - **Structured memory layer.** Episodic (per-session event trace) and semantic (long-lived facts) stores, queryable from any adapter. - **Shared memory with actor-aware tagging.** Cross-agent writes are tagged with the writing agent so reads | High | 4/16/2026 |
| v1.7.4 | Patch release. Changes since previous version: fc29ca1e chore: auto-bump to v1.7.4 | High | 4/14/2026 |
| v1.7.3 | ## v1.7.3 ### New features - complete Cloudflare integration platform (cf-001 through cf-012) ### Bug fixes - remove unreachable code in MCP remote transport (vulture) - resolve SonarCloud quality gate failures in CF integration - split ambiguous regex to resolve S5850/S6395 conflict ### Documentation - update index.md โ use in-action.gif, fix adapter count - add Cloudflare integration documentation and update existing docs ### Chores - **deps:** bump agents **Full changelog:** https://gith | Medium | 4/14/2026 |
| v1.7.2 | ## v1.7.2 ### New features - improve community spotlight generator script - add spotlight auto-generator script (cherry-picked from #780) ### Bug fixes - resolve SonarCloud quality gate bugs in new code - resolve 400+ SonarCloud issues across entire codebase ### Documentation - remove retired VS Marketplace and empty codecov badges - add #783 to Alex Smith's contributor entry - fill in April 2026 Community Spotlight with real contributor data - create community spotlight template and update C | Medium | 4/14/2026 |
| v1.7.1 | Patch release. Changes since previous version: 71b4b034 chore: auto-bump to v1.7.1 1092e9e0 Merge pull request #781 from chernistry/dependabot/npm_and_yarn/packages/vscode/npm_and_yarn-85af2c71bb 4c2445c8 chore(deps-dev): bump follow-redirects 8d82e03d ci: fix npm publish when version already matches tag | High | 4/14/2026 |
| v1.7.0 | ## v1.7.0 ### New features - add bernstein cost CLI with cache tracking and peak-hour scheduling - add API quota tracking with alerts and agent image optimization - add 'Built with Bernstein' badge to README ### Bug fixes - **ci:** eliminate tick guard race condition with event-based sync - **ci:** increase tick guard sleep for slow macOS CI VMs - cleanup workflow now deletes orphaned runs from deleted workflows ### Documentation - update README comparison table date and adapter count - updat | Medium | 4/13/2026 |
| v1.6.11 | ## v1.6.11 ### SonarCloud quality gate: PASS All conditions met: - **Security Rating: A** (0 vulnerabilities, 0 unreviewed hotspots) - **Reliability Rating: A** (0 bugs on new code) - **Maintainability Rating: A** - **Duplication: 1.8%** (under 3% threshold) ### Code quality - ~300 cognitive complexity refactors across 90+ files - 14 regex simplifications, 60+ float equality fixes - HTML accessibility, JS catch clauses, CSS contrast improvements - 9 stale TODOs resolved ### Distribution Al | Medium | 4/13/2026 |
| v1.6.10 | ## v1.6.10 ### Windows support Full Windows compatibility across the entire codebase, contributed by [@oldschoola](https://github.com/oldschoola): - **Agent spawn**: Windows environment variable passthrough (SYSTEMROOT, WINDIR, COMSPEC, etc.) - **Unicode safety**: `encoding='utf-8', errors='replace'` on 90+ subprocess calls - **Terminal handling**: `msvcrt` keypress detection for plan display on Windows - **Process management**: PowerShell/kernel32 fallbacks for stop command and process detec | Medium | 4/13/2026 |
| v1.6.9 | ## v1.6.9 The largest internal restructuring in Bernstein's history - a full module decomposition of the monolithic `core/` directory into focused subpackages, plus 100+ CI fixes to make all 927 tests pass. ### Module decomposition The 4,000+ line god-modules have been broken into focused, maintainable subpackages: - **orchestrator.py** (4,198 lines) -> 7 sub-modules in `core/orchestration/` - **spawner.py** (2,914 lines) -> 4 sub-modules in `core/agents/` - **task_store.py** (1,853 lines) - | Medium | 4/13/2026 |
| v1.6.8 | ## v1.6.8 ### Code quality Resolved all SonarCloud BLOCKER and CRITICAL issues across the codebase. - **29 BLOCKER fixes** โ removed redundant `response_model` params in FastAPI routes (tasks, agents, SBOM), switched to `Annotated` type hints for dependency injection, fixed a method that always returned the same value - **Cognitive complexity reduction** โ refactored 34 functions across 30+ modules from CC 20-85 down to <15, extracting focused helper functions while preserving all behavior - | Medium | 4/12/2026 |
| v1.6.7 | ## v1.6.7 ### Dependencies - Bump `actions/labeler` from 5.0.0 to 6.0.1 - Bump `actions/download-artifact` from 4.3.0 to 8.0.1 - Bump `dependabot/fetch-metadata` to 3.0.0 Routine CI dependency updates. No functional changes. | Medium | 4/12/2026 |
| v1.6.6 | ## v1.6.6 ### Multi-adapter orchestration Bernstein now runs with **any combination of CLI agents** โ no Claude Code dependency required. Configure per-role adapters in `bernstein.yaml`: ```yaml role_model_policy: backend: cli: qwen model: qwen3.6-plus security: cli: gemini model: gemini-3.1-pro-preview ``` The internal scheduler LLM also accepts any adapter (`internal_llm_provider: gemini`). ### 20 critical orchestration bug fixes Deep audit found and fixed 20 severe b | High | 4/11/2026 |
| v1.6.5 | ## v1.6.5 ### Highlights **Any CLI adapter as internal LLM provider** โ `internal_llm_provider` in `bernstein.yaml` now accepts any registered adapter name (not just `"claude"` or `"openrouter"`). Set `internal_llm_provider: "gemini"` or `internal_llm_provider: "qwen"` and the manager/planner/decomposer will use that adapter's CLI for LLM calls. No code changes needed โ just config. **TUI notification center + session recorder** โ two new Textual panels: a notification history that surfaces o | Medium | 4/11/2026 |
| v1.6.4 | ## v1.6.4 The largest patch release yet โ 369 files changed across cross-platform fixes, a critical server-stability bug, new workflow specs, and a security pentest harness. ### Highlights **uvicorn `--reload` disabled in production** โ the task server's supervisor unconditionally enabled `--reload`, so every file write by a bernstein agent triggered a uvicorn restart. On a self-modifying codebase this caused cascading failures: port collisions, dropped HTTP connections, 127-second orchestrat | Medium | 4/11/2026 |
| v1.6.3 | ## v1.6.3 ### CI - **Impacted-test selection for PRs** โ on pull requests, CI now runs `scripts/run_tests.py --affected refs/remotes/origin/$BASE_REF` which uses `git diff` to identify which test files are affected by the PR's changed source files. Unaffected tests are skipped. Reduces PR CI time by 3โ5ร on focused changes while still running the full suite on push-to-main. - Added cross-platform CI assertions (`test_cross_platform_ci.py`) that verify the workflow YAML structure matches expect | Medium | 4/9/2026 |
| v1.6.2 | ## v1.6.2 ### Security - **Path traversal hardening** โ server routes that accept file paths now validate against the workspace root before any filesystem operation. - Resolved 3 SonarCloud security hotspots: hardcoded test IPs replaced with `127.0.0.1` constants, assertion-based auth checks converted to explicit `if` guards. ### Fixed - 4 reliability bugs in test assertions flagged by SonarCloud (float equality without tolerance in `test_task_splitter`, `test_token_budget_compaction`). - Sk | Medium | 4/9/2026 |
| v1.6.1 | ## v1.6.1 Patch release: version infrastructure fix only. No functional changes. - Auto-release workflow was tagging but not bumping `pyproject.toml` โ added the version-bump step so PyPI and the CLI report the same version. **Full changelog:** https://github.com/chernistry/bernstein/compare/v1.6.0...v1.6.1 | Medium | 4/9/2026 |
| v1.6.0 | ## v1.6.0 ### Highlights **CLI command aliases** (#391) โ Type `bernstein s` instead of `bernstein status`, `bernstein r` instead of `bernstein run`. User-defined aliases via `~/.bernstein/aliases.yaml` override built-ins. **Auto-release loop fix** โ The GitHub App token was causing an infinite CI โ release โ CI loop (14 spam releases in one day). Bot commits now skip both CI and auto-release. **SonarCloud security fixes** โ All 16 security hotspots resolved: pinned 24 GitHub Actions to SHA | Medium | 4/9/2026 |
| v1.5.5 | ## Highlights **Agent lifecycle reliability** โ Fixed the root cause of mass agent failures: loopback API requests were being rate-limited by our own server (28K+ 429 errors per run). Internal traffic now bypasses rate limiting. Also fixed stale claim detection using wrong timestamp, silent stderr, heartbeat race condition, and worktree failures not blocking spawn. **LinUCB bandit routing** โ The contextual bandit model router is now wired into the orchestrator. Learns optimal model selection | Medium | 4/9/2026 |
| v1.5.4 | ## Highlights **Spawn error classification** โ The spawner now categorizes failures (rate limit, missing adapter, permission denied, resource exhausted) and uses the category to decide retry strategy: fail-fast for permanent errors, fallback for transient ones. (#594) **EU AI Act compliance engine** โ New compliance module with risk classification, conformity assessment templates, and evidence export for regulated environments. **WebSocket frontend + API versioning** โ Live WebSocket updates | High | 4/8/2026 |
| v1.5.3 | ## v1.5.3 ### New - **Config path validation** โ `bernstein.yaml` paths are validated before run starts, catching typos early (#583, contributed by @Beledarian) ### Improved - Consistent error handling with `handle_cli_error` and `ExitCode.CONFIG` | Medium | 4/8/2026 |
| v1.5.2 | ## v1.5.2 ### Security - Docker GitHub Actions pinned to full SHA hashes (supply chain hardening) ### Fixed - SonarCloud reliability bugs in test scripts resolved - CI workflow stabilization | Medium | 4/7/2026 |
| v1.5.1 | ## v1.5.1 ### New - **Multi-registry distribution** โ published to PyPI, npm (MCP server), and Docker Hub simultaneously - MCP registry `server.json` for tool discovery ### Fixed - Broken HOL workflow removed | Medium | 4/7/2026 |
| v1.5.0 | ## What's New Major release with 215 new features, atomic batch operations, community contributions, and comprehensive documentation. ### Core - **Atomic batch ticket ingestion** โ tasks are now claimed in groups; if the POST fails, no files move. Eliminates partial state on force-stop (#241-#244) - **Parallelized test suite** โ isolated per-file test runner prevents OOM in CI across 2000+ tests - **WAL and crash recovery groundwork** โ idempotent task operations for safer restarts ### Commun | Medium | 4/7/2026 |
| v1.4.16 | Distribution and publish fixes. - Fixed VS Code Marketplace publisher (alex-chernysh) and extension naming - Fixed PyPI publish with `skip-existing` to handle duplicate versions - Removed broken screenshot placeholder from Open VSX listing - Stopped extension publish from creating cluttering GitHub releases | Medium | 4/5/2026 |
| v1.4.15 | VS Code extension and role templates. - VS Code extension v0.2.0 โ approve/reject commands, cost warnings, agent badges, status icons - Published and revised all 17 agent role templates - Fixed 44 Pyright errors in token_cmd using proper TokenAnalysis type | Medium | 4/5/2026 |
| v1.4.14 | Task lifecycle and test fixes. - SLO cap now takes precedence over minimum agent floor - Fixed task completion test for module move - Added templates to CLI allowlist and fixed role validation in tests | Medium | 4/4/2026 |
| v1.4.13 | Bug fix. - Fixed broken `rules.yaml` YAML parsing and missing `bernstein` label in PR templates | Medium | 4/3/2026 |
| v1.4.12 | Lock management and test coverage. - Added `renew_lock()` for TTL reset during long-running memory writes - Integration tests for convergence guard blocking spawn waves | Medium | 4/3/2026 |
| v1.4.11 | Agent lifecycle improvements. - Fixed bridge spawn skipping local adapter loop (prevented timeout and double transition) - Improved heartbeat monitoring and CPU handling for agent lifecycle - Updated idle threshold values (300s/120s) | Medium | 4/3/2026 |
| v1.4.10 | Server and orchestrator fixes. - Fixed IP allowlist middleware registration with dynamic config lookup - Orchestrator skips dependency scan after `stop()` to prevent extra API calls - Upgraded `safe-push-main.sh` with CI monitor and autorelease verification | Medium | 4/2/2026 |
| v1.4.9 | Repo hygiene and security. - Purged accidentally tracked `.sdd/` files from git history - Resolved Vulture dead code and Pyright type errors | Medium | 4/1/2026 |
| v1.4.8 | Smarter task timeouts. - Complexity-based task timeout buckets โ simple tasks get shorter timeouts, complex tasks get longer ones | Medium | 4/1/2026 |
| v1.4.7 | Email notifications and smart retries. - Email notifications for task events (completion, failure, budget alerts) - Dynamic retry limits based on failure type (transient vs permanent) | Medium | 4/1/2026 |
| v1.4.6 | No user-facing changes โ version bump only. | Medium | 4/1/2026 |
| v1.4.5 | Reliability and cleanup. - Hardened hard-stop cleanup of orphaned agent processes - Normalized flaky tests and lockfile metadata - Fixed repo hygiene regressions in examples and APIs - Reframed benchmark docs around verified results only | Medium | 4/1/2026 |
| v1.4.4 | Telemetry and testing improvements. - OpenTelemetry spans for task lifecycle events - Conventional commit validation tests - Batch test improvements and watchdog enhancements | Medium | 4/1/2026 |
| v1.4.3 | Test isolation fixes. - Fixed env var leaks in CI (masked `PYTHONPATH` and CI variables in splash tests) - Fixed `_is_process_alive` patching in heartbeat reaping tests | Medium | 3/31/2026 |