Releases: sipyourdrink-ltd/bernstein
v1.8.1
v1.8.1
Follow-up bugfix on v1.8.0.
- Replaced 42 float
==comparisons in the test suite withpytest.approx()so CI doesn't flake on rounding (Sonar S1244). - Restored the
_render_promptreturn-type annotation so callers importing the pre-1.8.0 signature keep working.
Full changelog: v1.8.0...v1.8.1
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 can filter/scope without manual bookkeeping.
- Pluggable guardrail pipeline. Policy checks run as ordered pluggy hooks, so custom guardrails drop in without forking the orchestrator.
- Agent-specific operational metrics. Per-adapter dashboards for latency, error rate, and tool-use distribution.
- Compound error rate tracking. Separates "agent errored" from "tool errored within agent" so retries target the right layer.
- Structured SSE event types. TUI/web stream consumers get typed events instead of a JSON grab-bag.
- OpenTelemetry semantic conventions for agent spans. Spans now match the OTel GenAI conventions — plug into existing APM without custom parsing.
- Claude Code Routines integration for scripted agent sessions.
Fixes
- Strengthened path-traversal mitigation in the changelog command (Sonar S2083, BLOCKER).
- Resolved 40+ SonarCloud issues across the codebase.
.sdd/state directory is no longer tracked in git.- Dropped unused imports flagged by ruff.
Dependencies
- Bumped
python-multipartin theuvgroup.
Full changelog: v1.7.4...v1.8.0
v1.7.4
v1.7.4
No user-visible changes.
Full changelog: v1.7.3...v1.7.4
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: v1.7.2...v1.7.3
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 CONTRIBUTING.md
Style
- auto-format 43 files missed by refactoring agents
- fix import ordering in migration gate test
Full changelog: v1.7.1...v1.7.2
v1.7.1
v1.7.1
CI / Infrastructure
- fix npm publish when version already matches tag
Chores
- deps-dev: bump follow-redirects
Full changelog: v1.7.0...v1.7.1
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
- update TROUBLESHOOTING, LIFECYCLE, MODEL_POLICY, and operational docs
- update ARCHITECTURE, DESIGN, GETTING_STARTED, CONFIG to match current code
- update ADAPTER_GUIDE, FEATURE_MATRIX, compatibility, GLOSSARY with current features
- update README and root docs to reflect current architecture
CI / Infrastructure
- disable cancel-in-progress to let CI complete
- make SonarCloud non-blocking (continue-on-error)
- fix empty schedule blocks causing unnamed workflows in sidebar
- workflow audit cleanup
- add manual workflow to bulk-delete failed/cancelled/skipped action runs
- remove redundant tests from Publish workflow
Style
- ruff format 3 new cost/quota files
Chores
- v1.7.0 - workflow cleanup + code scanning fixes
Full changelog: v1.6.11...v1.7.0
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
All channels: PyPI, npm (bernstein-orchestrator), Docker (ghcr.io), Homebrew, VS Code, COPR.
Conda-Forge PR pending: conda-forge/staged-recipes#32954
v1.6.10
v1.6.10
Windows support
Full Windows compatibility across the entire codebase, contributed by @oldschoola:
- Agent spawn: Windows environment variable passthrough (SYSTEMROOT, WINDIR, COMSPEC, etc.)
- Unicode safety:
encoding='utf-8', errors='replace'on 90+ subprocess calls - Terminal handling:
msvcrtkeypress detection for plan display on Windows - Process management: PowerShell/kernel32 fallbacks for stop command and process detection
- Worktree cleanup: Windows file-lock retry logic for git worktree removal
New features
--task/-tflag: Filter backlog tasks by pattern (bernstein run --task gh-62)--auto-prflag: Automatically create a GitHub PR when all tasks complete- Codex config.toml: Auto-detect model configuration from
~/.codex/config.toml - Prompt optimizer: SPRT-based A/B testing for prompt versions with automatic promotion
Code quality
- Resolved 800+ SonarCloud issues (1,525 -> ~700) across 11 parallel agents
- 85+ cognitive complexity refactors, 163 duplicate literals extracted, 140 bug fixes
- All security hotspots and vulnerabilities resolved
- Full CI green: 928 tests passing on Linux, macOS, Windows
External contributions
8 PRs by @oldschoola covering Windows support, codex config, task filtering, auto-PR, and prompt optimization.
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) -> deduplicated into
task_store_core.py - seed.py (1,795 lines) -> 3 sub-modules in
core/config/ - gate_runner.py (1,290 lines) -> 3 sub-modules in
core/quality/
207+ modules moved into 15 subpackages: agents/, config/, cost/, git/, knowledge/, observability/, orchestration/, persistence/, planning/, plugins_core/, protocols/, quality/, routing/, security/, tasks/, tokens/.
All backward-compatible - existing imports through shim modules continue to work.
Code quality
- Resolved all SonarCloud BLOCKER vulnerabilities and security hotspots (0 remaining)
- Hardened 25+ regex patterns against ReDoS
- Reduced code duplication from 9.6% to under 3% on new code
- 927 tests passing across Python 3.12, 3.13 on Linux, macOS, Windows
Security
- Added Zip Slip path traversal validation for archive extraction
- Seeded RNG for non-cryptographic test data generation
- Annotated localhost URLs and intentional signal handling
External contributions
- PR #724 by @vbhavh - cost-per-line efficiency metric
- PR #726 by @oldschoola - Windows compatibility for terminal handling
Bug fixes
- Fixed circular imports in server subpackage
- Fixed midnight-boundary timezone flake in quality metrics test
- Updated 120+ test mock patch targets for decomposed modules
- Fixed
cancel-in-progressCI setting to allow test runs to complete