Changelog All Tiers
Release history and what's new in each version of PairCoder
This page documents user-facing changes in each PairCoder release.
v2.25.1 -- April 17, 2026
Engage reliability hotfix
Root cause fix for engage sprint reliability issues that persisted across several releases. Hook failures now propagate correctly instead of being silently swallowed, preventing cascading dependency failures that caused sprints to produce incomplete results.
Also in this release
- Security audit findings are now visible when engage blocks a PR
- Driver self-commit completeness: remaining uncommitted changes are committed automatically
- Pre-dispatch satisfaction checks exclude non-source directories to prevent false skips
- Release workflow hardened: correct ref on manual dispatch, PyPI-first ordering
- 13,550+ tests passing
v2.25.0 -- April 14, 2026
Smarter sprint drivers
Engage now checks whether a task's acceptance criteria are already satisfied before spawning a driver. Tasks completed in prior sprints are skipped automatically. Drivers that commit their own work are recognized, preventing false "no output" failures.
Also in this release
bpsai-pair preflight: run tests with CI-matching environment locally before pushing- Headless enforcement bypass: drivers in engage sessions no longer blocked by interactive-mode gates
- CI triggers on dev only (no duplicate test runs on main + dev)
- Sweep full-file parsing: reads complete files from git refs instead of diff fragments
v2.24.0 -- April 13, 2026
Sweep: find dead code after changes
New command: bpsai-pair sweep. When you rename, delete, or refactor code, sweep identifies what the change made unnecessary -- dead imports, orphaned tests, stale helpers, and unreachable exports. Works on any stack with auto-detected language providers. --fix auto-removes high-confidence dead imports. See the Sweep guide.
Also in this release
- Engage sprints complete reliably across all workspace repos
- Full CI test suite (13,253+ tests) passing on every push
- Review findings post correctly to GitHub PRs
v2.23.0 — April 12, 2026
Resume interrupted sprints
engage --resume picks up where you left off. Completed tasks are skipped, pending tasks re-run. No more losing work to session limits or machine resets.
Reliable on Windows
Security agent no longer silently bypasses on large diffs. UTF-8 encoding on all subprocess calls. Backslash paths work. The engage pipeline now works correctly on Windows 11.
Hook intelligence
Tasks that produce no output are flagged as failures. Subagent crashes block the next task instead of being silently ignored. Agent lifecycle events push to A2A channels for live dashboard visibility. Pre-engage containment audit warns about protected-path conflicts before they can silently fail tasks.
Also in this release
- Human-gated tasks:
requires: humanin backlog frontmatter pauses engage --create-branchand--branchflags for branch management- Pre-task budget heuristic warns before session limits hit
- Full test suite CI on every push (13,275 tests)
- Forgiving backlog parser accepts multiple formatting variants
v2.22.0 — April 9, 2026
Named agents
Every agent now has a mythology-inspired identity. When you run bpsai-pair review pr, you see findings from Nayru (code quality), Laverna (security audit), and Vaivora (cross-module contracts). Agent names appear in review headers, dispatch logs, and CLI feedback throughout.
Vaivora: cross-module review
Large pull requests (500+ lines or 10+ files) now get a third reviewer: Vaivora. She catches cross-module contract breaks, dependency conflicts, and architectural inconsistencies that single-file reviewers miss. Dispatched automatically alongside Nayru and Laverna.
Smarter review routing
Say “review these PRs” in a Claude Code session and PairCoder routes it to the proper 3-agent review pipeline instead of generic agent reasoning. The REVIEW intent classifier detects review-related language and invokes the right command.
Also in this release
- Laverna (security auditor) upgraded to Opus model for complete findings on large PRs
- Engage auto-created PRs now target
devwhen a dev branch exists - New projects scaffolded with mythology-named agent definitions
v2.21.5 — April 8, 2026
Branch enforcement
Source code changes on main or dev are now blocked with a clear message directing you to create a feature branch. Documentation, configuration, and state files pass through freely. Enable with workflow.require_feature_branch: true in your project config (on by default for new projects).
Smarter merge strategy
Pull requests now get the right merge strategy automatically. Hotfix branches use merge commits to preserve traceability. Sprint branches use squash for clean history. The strategy is carried as a PR label and applied at merge time. Override with --method when you need manual control.
Also in this release
- Engage no longer stalls on dirty working tree from auto-upgrade
- Stale containment checkpoint stashes cleaned up automatically
v2.21.4 — April 7, 2026
Review your code with one command
bpsai-pair review pr 42 dispatches a reviewer and security auditor against any pull request, scaling the number of reviewers for larger diffs. review branch checks your current work before you PR, and review task T18.3 reviews a single task. The review process is now Python-enforced, not optional.
Faster autonomous sprints
Engage tasks now run only the tests that matter for each change instead of the full suite. A sprint that previously spent 30 minutes on test runs now finishes in a fraction of the time. Engage also no longer crashes when lifecycle hooks fail, and bookkeeping files are excluded from commits so you never get merge conflicts from telemetry data.
Also in this release
- Review agents are now identified by name in output for easier tracking
- Failed reviews are no longer silently treated as approvals
- Task review finds the correct commit instead of always reviewing the latest
v2.21.3 — April 7, 2026
Version management you can trust
PairCoder no longer overwrites your config with older version numbers when switching between environments. A new bpsai-pair release validate-versions command checks that all version files agree before you tag a release, and --fix auto-repairs any that are out of sync. bpsai-pair fleet check scans your workspace to verify every project is running the same version.
Smarter autonomous sprints
Autonomous sprints (bpsai-pair engage) now include a built-in quality loop. Each task is reviewed after implementation, and issues are automatically sent back for correction. A security check runs before the pull request is created, blocking it if critical issues are found. Larger sprints get additional review coverage focused on how changes interact across modules.
Upgrades preserve your customizations
Running bpsai-pair upgrade no longer overwrites custom fields you have added to your agent definitions. Settings like memory, maxTurns, and display names survive upgrades.
Also in this release
support openshows the actual error when authentication fails instead of a generic message- Permission denial events are now tracked for operational visibility
- Autonomous sprint pull requests use descriptive titles from the backlog
v2.21.2 — April 4, 2026
Fixed the PyPI package page to show current features instead of stale v2.17 content. No code changes.
v2.21.1 — April 4, 2026
Remote sessions get enforcement automatically
Claude Code's new ultraplan mode opens remote sessions that previously ran without PairCoder's enforcement gates. Now, a SessionStart hook auto-installs PairCoder when any remote session starts. Task lifecycle, budget checks, and telemetry work from the first command. New projects get this automatically on bpsai-pair init.
Better error diagnostics
Commands that talk to the API (support open, subscription manage, license activate) now show actual HTTP status codes and error details instead of generic failure messages. Add --verbose to support open for full diagnostic output.
Also in this release
- Perpetual licenses no longer attempt to open the Stripe billing portal
- Task boundary validation errors are now visible (were silently swallowed)
- Bootstrap script pins exact version for supply chain safety
v2.21.0 — April 3, 2026
Your agent asks before it acts
PairCoder now classifies what you're saying before taking action. Ask a question, get an answer. Request a design, get a proposal. Say "make it so" or "dispatch" to authorize autonomous work. The system never dispatches agents unless you explicitly approve.
See what's going wrong
New operational signals detect problems automatically: driver code that didn't commit, sessions abandoned mid-task, repeated permission blocks, and manual fixes on automated branches. Cache health monitoring catches when session resumes waste tokens rebuilding context.
Protected branches
bpsai-pair engage now refuses to run on main or dev. Work happens on feature branches, merged via PR. No more accidental commits to protected branches.
Security hardening
All dispatch paths now enforce an approval allowlist. Telemetry no longer includes code snippets or sensitive content. Path validation on all subprocess operations. 21 security findings addressed.
Also in this release
- 12,333 tests passing
- Engage error logging: git failures now surface instead of silently swallowing
- Capability gate: tells you when PairCoder already has what you're asking to build
- Frustration detection: observation-only telemetry that helps us improve the workflow
v2.20.0 — March 31, 2026
Run entire sprints hands-free
bpsai-pair engage now handles the full development cycle autonomously. Give it a backlog, and it creates a feature branch, works through every task, commits as it goes, opens a PR with a summary, and dispatches code reviewers. You review the PR when it's done.
One command from idea to PR
Type /make-it-so "add retry logic to the API client" and PairCoder drafts a backlog, shows you the plan, and on your approval runs the full engage pipeline. You go from a sentence to a reviewed PR.
Is my setup healthy?
bpsai-pair doctor checks everything: Python version, Claude Code, project files, git, linting tools, telemetry. Green, yellow, or red for each check. --fix auto-repairs what it can.
Script-friendly output
Every major command now supports --json with a consistent response shape. Build automations on top of PairCoder without parsing terminal output.
Smarter model selection
Tasks are routed to the right model based on complexity. Simple tasks use faster models, complex ones get the heavy hitters. Configurable per project.
Also in this release
/draft-backlogcommand creates properly formatted backlogs that engage can parse- Backlog parser now accepts flexible formatting (no more reformatting your markdown)
- Telemetry now captures actual token usage, cost, and which model ran
- Five bug fixes for headless sessions, Windows, and MCP integration
- Security hardening across the engage pipeline
v2.19.1 — March 30, 2026
Added
- Workspace telemetry aggregate — New
bpsai-pair telemetry aggregatecommand collects telemetry across all projects in your workspace. Deduped, garbage-filtered, sorted by time. - Active time estimation — Every telemetry record now shows estimated active time vs wall time, so you can see which long sessions were idle vs real work.
- Statusline heartbeat — The status bar writes a heartbeat on every prompt cycle, enabling idle gap detection across sessions.
v2.19.0 — March 30, 2026
Added
- AC pre-flight check — Completion gate now verifies all acceptance criteria checkboxes before allowing task completion, eliminating the costly fail-retry loop
Fixed
- Telemetry integrity — Archived phantom records that were polluting duration and cost aggregations
v2.18.2 — March 29, 2026
Added
- Heimdall platform sentinel — Automated monitoring of Claude Code updates. Classifies changes by impact and pushes critical alerts to coordination channels so your team knows before something breaks.
- Intent-aware telemetry — Session intent (feature, bug fix, refactor) now flows into calibration data automatically, even for ad-hoc sessions outside the task lifecycle
- Signal source tagging — Signals tagged by origin (human, automated, Metis) for better observability analysis
- Engage review dispatch — After driver tasks complete,
bpsai-pair engagedispatches reviewer and security-auditor agents automatically
Fixed
- Budget gate false alerts — Fixed an issue where the token budget check fired false critical signals on every engage task
v2.18.1 — March 29, 2026
Improved
- Telemetry recording — Fail decomposition (
outcome_detail) and token type classification now recorded on all sessions, not just headless. Your calibration data is more accurate. - Engage review dispatch — After driver tasks complete,
bpsai-pair engagecan dispatch reviewer and security-auditor agents automatically - Commit after task — Engage auto-commits after each successful task, preventing work loss between sequential driver sessions
- Platform checker upgrade — Classifies Claude Code changes by impact (breaking/simplifying/informational), pushes critical findings to coordination channels
Fixed
- Privacy improvements — Telemetry error context now automatically redacted and length-capped for cleaner data
v2.18.0 — March 29, 2026
Added
- Intelligence pipeline — Signal-driven decision engine with 5 data sources (telemetry, task state, session history, skill usage, cross-agent queries). Try
bpsai-pair skill recommendfor context-aware suggestions - Coordination channels — Cross-agent communication via MCP plugin. Use
--channelsflag to subscribe agents to typed channels, with automatic file role detection and remote query support - Dynamic thresholds — 7-role taxonomy with per-role confidence thresholds that adapt to project context. Fail-closed gate ensures safe defaults when signal data is unavailable
- Headless task runner —
bpsai-pair engageparses markdown backlogs, materializes task files, and spawns parallel Claude Code sessions for autonomous sprint execution - Telemetry P0 — Headless sessions emit telemetry automatically. Includes fail decomposition, complexity-per-minute velocity tracking, token type tagging, and signal source tagging
Fixed
- Engage pipeline reliability — 11 fixes including backlog parser accepting any task ID prefix, materializer preserving IDs, and increased headless timeout (300s → 1800s)
v2.17.1 — March 25, 2026
Fixed
- Faster CLI startup — License validation no longer runs on every command. Checks happen at task lifecycle boundaries instead, with a local cache for session starts. You should notice snappier response times across all commands.
- Upgrade no longer downgrades config — Running
bpsai-pair upgradeon a newer version no longer reverts your config version to an older number
Improved
- Faster agent spawns — Background agents now auto-start their first action when spawned, reducing latency for parallel task execution (requires Claude Code 2.1.83+)
v2.17.0 — March 24, 2026
Added
- SQLite-backed telemetry — Session, telemetry, and task state stores now use indexed SQLite databases instead of flat files, with automatic migration of existing data
- Containment enforcement — New file access control system that blocks writes to protected paths during agent sessions — configure via the setup wizard or
bpsai-pair containment status - Quality control framework — Browser-based QC testing with spec files, environment config, and execution runtime —
bpsai-pair qc initto get started, thenqc list,qc validate, andqc report - QC gate hook — QC validation can now run as a pre-completion gate, blocking task completion until quality checks pass
- Query skills — Five cross-agent query skills for task state, driver activity, review findings, quality metrics, and session outcomes — accessible via
bpsai-pair query - Workspace task queries —
bpsai-pair query task-state --scope workspacespans sibling projects in a multi-repo workspace - Subagent context injection — Spawned subagents automatically receive context from the parent agent’s prior session
- Signal emission — Session hooks now emit structured monitoring signals for anomaly detection, budget alerts, and enforcement pattern tracking
Improved
- Telemetry performance — SQL-based queries replace full-file scans for metrics, session lookups, and trend analysis
- Concurrent agent safety — SQLite WAL mode with configurable timeouts for reliable concurrent access from worktree agents
Fixed
- Metrics query
--daysfilter was silently ignored — now correctly validated - File permission hardening on all new SQLite database files
- Path traversal guards added to reviewer file content loading
- Workspace discovery now capped at 20 sibling repos to prevent resource exhaustion
v2.16.1 — March 12, 2026
Added
- Wizard workflow step — New workflow configuration step in the setup wizard with preset selection (simple, full, or custom YAML)
- Scope auto-detection —
bpsai-pair plan new --total-cxautomatically determines epic vs story scope based on complexity budget - PM config in upgrade —
bpsai-pair upgradenow adds thepm:config section to projects that don’t have one yet
Fixed
- Upgrade config drift — Upgrade command now detects all missing config sections instead of only a hardcoded subset
- Stale hook cleanup — Upgrade detects outdated hook lists, removes deprecated hooks, and adds new template hooks while preserving any custom hooks you’ve added
v2.16.0 — March 12, 2026
Added
- Provider-agnostic project management — New
bpsai-pair pmcommand group replaces direct Trello calls with an abstraction layer that supports any PM backend — includes status, create, done, sync, sprint management, hierarchy visualization, and diagnostics - Workflow engine — Configurable workflow presets (BPS, Kanban, Scrum) with state validation and transition rules for task lifecycle management
- PM sync — Bidirectional sync between local task files and your PM provider with conflict detection
bpsai-pair engage— Autonomous sprint execution from a markdown backlog file — parses tasks, orchestrates phases, and generates a PR when done- Session finalization — Automatic telemetry flush and handoff generation when a Claude Code session ends
bpsai-pair query sessions— Query session history with duration, tasks touched, test results, and outcome status- Agent memory retention — Automatically archives agent memory files older than 60 days to keep context lean
Changed
ttask startandttask donenow route through the PM abstraction layer, making Trello one provider option rather than a hard dependency
Fixed
- Improved input validation on session and telemetry file writes
- Plan matching no longer produces false positives when plan names share a common prefix
v2.15.11 — March 1, 2026
Fixed
- Telemetry data accuracy — Fixed several issues causing inconsistent telemetry data including missing cache metrics and incorrect token attribution
Added
- Telemetry aggregation — Automatic weekly compaction of telemetry records for long-term retention
- Historical data recovery —
bpsai-pair telemetry recoverrecovers telemetry data from session archives - Cache effectiveness analytics — Cache hit rate tracking in telemetry status and calibration
v2.15.10 — February 18, 2026
Fixed
- Task lifecycle hooks — State updates now correctly reflect the actual lifecycle event instead of always recording a completion
- Cross-project task IDs — Project-prefixed task IDs (e.g.,
CLI-T34.1,WEB-T35.1) are now recognized across all CLI commands and Trello sync - Upgrade detection —
bpsai-pair upgradeno longer shows false "outdated" warnings on current projects
v2.15.8 — February 17, 2026
Added
- Branded status line —
bpsai-pair-statuslineconsole script for Claude Code status bar showing active task, agent role, sprint progress, and session economics - Status line install system —
bpsai-pair setup statuslinecommand with--theme,--remove, and--previewoptions - Task completion timestamps —
completed_atfield on tasks; standup--sincefilter now correctly excludes old tasks
Changed
- Model routing defaults to Sonnet 4.6 — driver/reviewer models, routing presets, pricing tables, and wizard defaults updated
Fixed
- Task start instructions — Task descriptions are now correctly included when starting a new task
- Standup time window —
--sinceflag included all completed tasks regardless of window - Tier display — Tier names now consistently match the current plan lineup
v2.15.7 — February 15, 2026
Added
- Unified analytics — Velocity, accuracy, and cost reporting now use a single consolidated data source for consistent results across all
metricscommands. - Smarter model routing — Model selection now uses calibration data and quality thresholds to optimize cost without sacrificing output quality.
Improved
- Metrics commands —
metrics summary,velocity,accuracy, andbreakdownnow read from TelemetryStore instead of legacy metrics files. - Token handling — Large token values are now preserved with a warning instead of being silently capped.
v2.15.6 — February 14, 2026
Added
- Support ticket system — File and track support tickets directly from the CLI with
support create,support list, andsupport show. Automatic system info collection included. - Support portal —
support openauthenticates and opens the web portal via license key exchange.
Improved
- Agent memory — Navigator, Driver, and Reviewer agents gain persistent memory directories for cross-session learning.
Fixed
- Config version drift —
bpsai-pair upgradenow bumps stale config version even when no sections are missing.
v2.15.5 — February 11, 2026
Added
- Post-install upgrade prompt — CLI detects version changes after
pip upgradeand prompts to runbpsai-pair upgradewhen config is stale.--autoflag for non-interactive mode. - Config staleness warning — Startup check warns when project config version is behind schema version.
- Budget/cost display on task start —
ttask startnow shows estimated token cost and budget percentage. - State.md auto-update hook — Automatically updates state.md when tasks are completed via
ttask done.
Fixed
- Task completion dead end — Non-Trello task IDs in Trello-enabled projects no longer block completion.
- Trello resilience — Trello API failures or missing cards no longer block task completion.
- Flexible task IDs — All task ID formats are now accepted everywhere.
v2.15.4 — February 10, 2026
Improved
- Sprint completion workflow —
bpsai-pair sprint completenow auto-archives completed tasks and warns whenstate.mdexceeds 200 lines. Use--no-archiveto skip.
Fixed
- Task archival bug — Sprint completion now correctly archives all completed tasks instead of silently skipping some.
v2.15.3 — February 9, 2026
Improved
- Estimation accuracy — Task estimates now automatically improve with each completion as actuals are compared against predictions.
- Agent roles — Navigator, Driver, and Reviewer agents are now correctly assigned by task type.
v2.15.2 — February 9, 2026
Fixed
- Setup wizard improvements — The Trello integration page now correctly generates the token authorization URL from your API key. Credential fields are masked during input.
- Documentation links — Fixed broken documentation links throughout the CLI and setup wizard.
v2.15.1 — February 7, 2026
Fixed
- Wizard documentation link — The setup wizard success page now links to the correct getting-started guide.
- PyPI version badge — Version badge on the package page now updates reliably after each release.
v2.15.0 — February 6, 2026
Intelligence Pipeline Wiring
- Planning intelligence — Calibration-backed estimates (tokens, duration, effort, model) enriching plan creation per task type
- Cross-repo task push — WorkspaceOrchestrator task distribution wired into
plan newwith auto-push and sprint context - License feature gating —
@require_feature()decorator applied to 12+ commands with hard and soft gates - Upgrade runtime dirs —
bpsai-pair upgradenow bootstraps telemetry, feedback, and history directories
Fixed
- Telemetry config access —
telemetry configis now available on all tiers
v2.14.2 — February 6, 2026
Fixed
- Cleaner project scaffolding — Projects created or upgraded via
bpsai-pair upgradeno longer contain internal paths or defaults. - Fewer false drift warnings — Template checks no longer flag files that are expected to differ between your project and the default template.
v2.14.1 — February 6, 2026
Changed
- Improved TDD skill — The
implementing-with-tddskill now enforces incremental red-green-refactor cycles instead of monolithic test-first batches. Includes cycle planning guidance and test file organization tips. - Relaxed architecture limits for test files — Test files (
test_*.py,*_test.py,conftest.py) now use relaxed architecture limits so large test suites no longer trigger false-positive violations. - Test override configuration — New
test_overridessection inconfig.yamlfor customizable test file architecture thresholds.
v2.14.0 — February 6, 2026
Added
- Cross-repo audit command —
bpsai-pair workspace auditaudits sibling projects for contract compliance across your workspace. - Enhanced upgrade command —
bpsai-pair upgradenow syncs skills, scripts, and reference files in addition to core templates.
Changed
- Workspace config discovery —
.paircoder-workspace.yamlis now found by searching parent directories, giving consistent behavior across all workspace commands.
v2.13.3 — February 6, 2026
Fixed
- Telemetry accuracy — Per-task metrics now report correct values instead of inflated running totals.
v2.13.2 — February 6, 2026
Fixed
- Task archiving —
task archive --completedandtask restorenow correctly handle tasks stored in the flat.paircoder/tasks/directory.
v2.13.1 — February 6, 2026
Fixed
- Wizard validation — The setup wizard now properly validates privacy levels and model selections against allowed values.
- YAML quoting — Fixed edge case where strings starting with
@,*, or!could break YAML task files.
v2.13.0 — February 5, 2026
Added
- Privacy baseline enforcement — The OFF privacy level has been removed. MINIMAL is now the mandatory baseline, ensuring usage snapshots are always available for license validation. Existing configs are auto-migrated.
- Usage snapshots — Tiered usage snapshot assembly during license validation. Data collected depends on your privacy level (minimal, standard, or full).
- Value scoring — A 0–100 value extraction score helps identify license utilization patterns with actionable recommendations.
- Cross-repo orchestration — New workspace commands for multi-repo workflows:
workspace check-impact— Detect contract-breaking changes across projectsworkspace audit— Audit a sibling project for compliance
- Automated enforcement hooks — New gate hooks that run automatically on task completion:
- Architecture check on modified files
- Cross-repo contract break detection
- Workspace impact scanning
- Telemetry snapshot capture
Changed
- Privacy levels — OFF level removed; MINIMAL is now mandatory.
Fixed
- Architecture checks — Now correctly detect changed files in your working tree.
- Default branch detection — Commands no longer assume
main; your default branch is auto-detected.
v2.12.0 — February 5, 2026
Added
- Session telemetry — Parse Claude Code transcripts into structured telemetry records with privacy-aware storage.
telemetry status— View collection status and storage summarytelemetry config— Configure privacy level and retentiontelemetry export— Export data as JSON, JSONL, or CSV with optional anonymization
- Feedback and calibration system — Self-improving estimation from your telemetry data:
feedback status— Calibration health and per-type estimatesfeedback accuracy— Estimated vs actual performancefeedback calibrate— Trigger recalibration from telemetryfeedback query <type>— Get estimates, model, and effort recommendations per task type
- Anomaly detection — Automatic detection of token spikes, duration spikes, repeated failures, and overhead spikes.
- Workspace management — Multi-project workspace support:
workspace init— Initialize a workspace with--scanfor auto-discoveryworkspace status— View project states, dependencies, and agent teamsworkspace pull— Pull latest across all projects (skips dirty repos)
v2.11.4 — February 4, 2026
Fixed
- Windows wizard encoding — Fixed
UnicodeEncodeErrorwhen creating projects with non-ASCII characters on Windows.
v2.11.3 — February 4, 2026
Added
- Subscription management — New self-service commands:
subscription status— View tier, renewal date, and machine slotssubscription manage— Open Stripe Billing Portal for payment and plan changes
Fixed
- Windows terminal output — Fixed emoji and Unicode rendering on Windows terminals.
v2.11.2 — February 3, 2026
Fixed
- Wizard templates — Fixed the setup wizard writing minimal placeholder files instead of full templates.
capabilities.yaml,workflow.md, andstate.mdnow contain complete content.
v2.11.1 — February 2, 2026
Added
- Automatic tier change detection — The CLI now detects when your license tier changes server-side and auto-fetches the updated license with signature verification.
- Subscription upgrade/downgrade — Upgrade or downgrade your plan with Stripe proration support. Downgrades automatically deactivate excess machines.
v2.11.0 — February 1, 2026
Added
- Machine binding — Bind licenses to specific machines with per-tier limits (Solo: 1, Pro: 2, Team: 3, Enterprise: 5).
license activate [--name NAME]— Activate current machinelicense deactivate— Deactivate current machinelicense machines— List all activated machineslicense machine-id— Display your machine identifier
- Online license validation — Licenses are validated against the PairCoder API on startup with a 7-day offline grace period. Use
--offlineorPAIRCODER_OFFLINE=1to skip. - License revocation — Revoked licenses are immediately blocked with clear error messaging and renewal instructions.
- Expiration warnings — 7-day advance warning before license expiry with renewal links.
- Cache management —
license clear-cachecommand for troubleshooting validation issues.
Changed
- License errors — License validation messages now go to stderr instead of stdout, avoiding interference with JSON output and piping.
- Silent startup — Only critical errors (revoked licenses) are shown on startup. Warnings are suppressed for normal operation.
v2.10.6 — January 29, 2026
Added
- Global user preferences — Persistent user settings in
~/.paircoder/preferences.yaml:config prefs set <key> <value>config prefs get <key>config prefs list
Fixed
- WSL terminal detection — Auto-detect WSL and use appropriate terminal (wt.exe/cmd.exe).
- Wizard confirmation — Fixed 400 error during project creation.
v2.10.1 — January 29, 2026
Fixed
- Wizard packaging — Fixed "Directory does not exist" error when running the setup wizard from a pip install.
Changed
- Simpler installation — Wizard dependencies (FastAPI, Jinja2, Uvicorn) and metric tracking (toggl-py) are now included in the base install for easier onboarding.
v2.10.0 — January 29, 2026
Added
- Interactive setup wizard —
bpsai-pair wizardlaunches a full-featured web-based setup wizard:- Quick Setup and Guided Setup tracks
- Project basics, enforcement settings, and integration configuration
- Tier-aware feature gating with upgrade prompts
- Update mode for editing existing configurations
- License installation flow
- Licensing system — Tier-based feature access (Solo, Pro, Enterprise):
license status— View current license and tierlicense features— List available featureslicense install <file>— Install a license filelicense verify-keypair— Verify CLI/API key alignment
Changed
- "Free" tier renamed to "Solo" — Consistent branding across CLI and documentation.
v2.9.4 — January 22, 2026
Fixed
- State validation performance —
state validatereduced from 69+ seconds to under 1 second. Default is now fast local validation; use--fullfor complete Trello API validation. - Docker sandbox — Fixed tmpfs mount error when blocking individual files in containment mode.
- PyPI installs — Fixed wheel installs failing to create scaffolding files (skills, agents, context files).
Added
- Optional dependency groups — Install only what you need:
pip install bpsai-pair[all]— Everythingpip install bpsai-pair[trello,github]— Specific integrations
v2.9.3 — January 21, 2026
Added
- Architecture enforcement — Code quality gates to keep files maintainable:
arch check— Check files against line, function, and import limitsarch suggest-split— AI-assisted suggestions for splitting large files- Configurable limits in
config.yaml - Integrated into task completion gates
v2.9.1 — January 14, 2026
Added
- Contained autonomy mode — Docker-enforced isolation for autonomous AI sessions:
contained-auto [TASK]— Start a contained session with protected pathscontainment status— View current containment modecontainment rollback [CHECKPOINT]— Rollback to a checkpointcontainment list— List checkpointscontainment cleanup --keep N— Remove old checkpoints
- Three-tier access control — Blocked (no access), Read-only, and Read-write file tiers.
- Network allowlist — iptables-based domain filtering in strict mode. Configurable via
containment.allow_network. - Auto-checkpoint — Git checkpoint created automatically on containment entry with rollback support.
Changed
- Python compatibility — CLI now supports Python 3.11+ (down from 3.12).
v2.9.0 — January 5, 2026
Added
- Task state machine — Formal lifecycle states for tasks (NOT_STARTED → BUDGET_CHECKED → IN_PROGRESS → AC_VERIFIED → COMPLETED):
state show <task>/state list/state history <task>state advance <task> <state> --reason— Manual state transitions
- Bypass audit logging — All enforcement bypasses are logged for accountability:
audit bypasses [--since DAYS]— View bypass historyaudit summary— Breakdown by type
Changed (Breaking)
skill export --force→skill export --overwriteskill install --force→skill install --overwritesecurity install-hook --force→security install-hook --overwritesprint complete --force→sprint complete --skip-checklist --reason "..."ttask donenow verifies acceptance criteria by default (use--no-strictto bypass)ttask startchecks budget by default (use--budget-overrideto bypass)
v2.8.0 — December 23, 2025
Added
- Token budget system — Track and control token usage per session:
budget estimate <task-id>— Token estimate breakdownbudget status— Current session token usage with color-coded progress barbudget check <task-id>— Pre-flight check against limits- Automatic warnings when a task may exceed 75% of session budget
- Skill export to other platforms — Export skills to Codex, ChatGPT, Cursor, Continue.dev, and Windsurf:
skill export --format codexskill export --format chatgptskill export --format all
Deprecated
- Flow commands —
flow list,flow show,flow run,flow validateare deprecated in favor of Skills. Removal planned for v2.11.0. Use--no-deprecation-warningsin CI/CD.
v2.7.0 — December 22, 2025
Added
- Session management — Automatic session detection and context recovery:
session check— Detects new sessions (>30 min gap) and displays contextsession status— Current session info- Configurable session timeout in
config.yaml
- Compaction recovery — Preserve context across Claude Code compaction events:
compaction snapshot save/list— Manage snapshotscompaction check— Detect unrecovered compactioncompaction recover— Restore context
- Plan token estimation —
plan estimate <plan-id>shows token breakdown with batching suggestions. - Skill validation —
skill validatechecks all skills against Anthropic spec with--fixfor auto-correction. - Trello AC verification —
ttask doneverifies all acceptance criteria checklist items are checked before completion. - Migration command —
bpsai-pair migrateupgrades legacy v1.x and v2.0–2.3 project structures to the latest format.
v2.6.0 — December 18, 2025
Added
- Time tracking — Automatic timer start/stop tied to task status changes. Duration-based estimation with min/expected/max hours by complexity band (XS–XL).
- Velocity tracking —
metrics velocityfor weekly and sprint-based velocity.metrics burndown --sprint <id>for burndown chart data. - Estimation accuracy reports —
metrics accuracyfor breakdown by task type and complexity with calibration recommendations. - Token estimation — Predict token usage per task with a self-improving feedback loop.
metrics tokensfor accuracy reports.
Changed
- Task storage — All tasks now stored flat in
.paircoder/tasks/(no subdirectories).
v2.5.3 — December 17, 2025
Added
- Secret detection — Pre-commit scanning for AWS keys, GitHub tokens, Slack tokens, and private keys with allowlist support.
- Dependency vulnerability scanning —
scan-depschecks Python (pip-audit) and npm (npm audit) dependencies for CVEs with--fail-onseverity threshold.
v2.5.2 — December 17, 2025
Added
- Command allowlist — Classify commands as ALLOW, REVIEW, or BLOCK. Configurable via
.paircoder/security/allowlist.yaml. - Pre-execution security review — Hooks scan staged code for secrets, SQL injection, command injection, and path traversal before execution.
- Docker sandbox — Isolated container execution for untrusted commands with memory/CPU limits and network isolation.
- Git checkpoint/rollback — Automatic safety nets for code changes with checkpoint creation, preview, and rollback.
v2.5.1 — December 17, 2025
Added
- Trello deep integration — Full Trello card management from the CLI:
- Custom field sync (Project, Stack, Status, Effort, Deployment Tag)
- BPS label colors for stack types
- Two-way sync — card movements update local task status
- Checklist support from acceptance criteria
- Due date sync from sprint dates
- Activity log comments on status changes
v2.5.0 — December 16, 2025
Added
- Preset system — 8 built-in presets for quick project initialization:
preset list/preset show <name>/preset preview <name>init --preset <name>- Presets: python-cli, python-api, react, fullstack, library, minimal, autonomous, bps
- GitHub PR integration — Automated pull request workflows:
github auto-pr— Auto-create PR from branch namegithub archive-merged <pr>— Archive task when PR mergesgithub link <task>— Link task to existing PR
- Trello progress comments — Post progress updates, blockers, and completions directly on Trello cards.
- Daily standup summary —
standup generatewith Slack format support and configurable lookback period. - Intent detection —
intent detect <text>detects work intent from natural language to suggest appropriate workflows.
v2.4.0 — December 16, 2025
Added
- MCP server — Claude and MCP-compatible agents can call PairCoder tools directly:
mcp serve— Start MCP server (stdio transport)mcp tools— List all 13 available toolsmcp test <tool>— Test tools locally
- Auto-hooks system — Automatic actions on task state changes (start_timer, stop_timer, record_metrics, sync_trello, update_state, check_unblocked). Configurable in
config.yaml. - Plan-to-Trello sync —
plan sync-trello <plan-id>creates Trello cards from plan tasks.
v2.3.0 — December 15, 2025
Added
- Trello integration — Full board and card management:
trello connect/trello status/trello boards/trello use-boardttask list/ttask show/ttask start/ttask done/ttask blockttask comment/ttask move
v2.2.0 — December 15, 2025
Added
- Prompt caching — Efficient context management for repeated interactions.
cache stats/cache clear/cache invalidatecommands.- Codex-optimized packing —
pack --litefor compact context output.
v2.1.0 — December 15, 2025
Added
- Headless mode — Run PairCoder in headless mode for orchestration and CI integration.
- Agent handoff protocol — Structured context passing between Navigator, Driver, and Reviewer agents.
- Task lifecycle management — Formal task states with hooks for automation.
- Token tracking and cost estimation — Track token usage and estimate costs per task.
- Time tracking — Built-in timer with Toggl integration.
v1.0.0 — September 5, 2025
Closed Beta
Initial closed beta release for feedback and validation of the pair programming workflow.
v0.2.0 — August 21, 2025
Added
- Cross-platform CLI — Core commands implemented in pure Python (no Bash required). Full Windows support.
status— View current context and recent changes.validate— Check repo structure and context consistency.ci— Run local checks.pack --dry-run/--list/--jsonfor context packing previews.
v0.1.0 — August 7, 2025
Initial Release
First development release with core CLI commands: init, feature, pack, context-sync. Cookiecutter template for project scaffolding.
PairCoder is built by BPS AI Software.