Releases
v2.2.0
Compare
Sorry, something went wrong.
No results found
[2.2.0] - 2026-04-06
Bug Fixes
Rename merged workflow to publish.yml for PyPI trusted publisher
Auto-migrate parked_topics table + add timer pause/reset controls
Security hardening + SSE optimization + parking dedup + docs update
Tmux pane creation — auto-switch, sidebar launch, bundled config
Tmux split sizing — switch client before split, drop hardcoded dimensions
Textual import — work decorator moved to textual namespace in 8.x
Clean panes + respect user's tmux config
Don't auto-load bundled tmux config — preserves user's theme
PERSONA_DIR path traversal — was 4 parents, needs 5
Web background launch uses studyctl entry point, not uv run
Resume blocked by stale session state after cleanup
Resume reuses session dir + saves session context to DB
Check Claude projects dir for resume detection, not .claude/ in cwd
Sidebar Q sends C-c to agent before cleanup
Reduce study session latency — CLAUDE.md + concise persona
Sidebar Q sends /exit not C-c, studyctl wrapper + PATH for agent
Add cli/main .py + wrapper integration tests
Sidebar Q test passes + resume -r flag verification
Resolve CI failures, Copilot review comments, and study session bugs
Exclude integration tests from pre-push pytest hook
Kill orphaned sidebar/agent processes after test suite
Doctor Kiro binary name (kiro → kiro-cli) + agent smoke tests
Sidebar Pilot test race — add await pilot.pause() before widget query
Wire adapter mcp_setup() call in session start
Doctor exit code aborts CI before filter runs + simplify .gitignore
Auto-create sessions DB on first use + atomic state file writes
Stale mock targets in test_mcp_tools + update roadmap
Obfuscate test Slack token to pass GitHub push protection
Multi-agent cleanup — crash recovery, MCP paths, schema drift
Claude trust bypass, browser polling, LAN URL display
Browser open survives os.execvp + draggable split-pane layout
Terminal panel visibility + browser open via os.fork
Session dashboard fills viewport when split-container is active
Add 'Return to inline' button on pop-out placeholder
Tmux dotted lines + iframe survives pop-out round-trip
Tmux window-size largest + iframe always loaded behind placeholder
Replace broken return-to-inline with clear instructions
Security and reliability — path traversal, format injection, file locking, PID cleanup
Content CLI signatures, code dedup, and 226 new tests
SSE duplicate div, flashcard_count API key, E2E demo test
2 pre-existing bugs in query_logic.py
Always read lan_username from config, not just when password is empty
Always read lan_username from config, not just when password is empty
eval: Persona target starts sessions headlessly via internal API
eval: Increase LLM timeout to 120s, surface error details in judge
eval: Capture agent pane by ID, add debug logging to capture.py
eval: Two-phase capture + trust specific session dirs
eval: Auto-accept Claude Code trust dialog during eval sessions
eval: Compare pane content by value, not length (TUI agents)
eval: Correct Bedrock model ID to us.anthropic.claude-sonnet-4-6
eval: Clear pane ID on teardown to prevent stale pane reuse
eval: Increase capture timeouts for Claude Code response times
ci: Resolve nightly-install, CI test, and UAT failures
ci: Apply base schema before migrations on fresh DB
ci: Add --agent to double-start test, skip nested tmux on CI
ci: Pass -m integration to per-file UAT steps
doctor: Remove dead eval check left behind when eval moved to dev/
Propagate STUDYCTL_* env vars to tmux cleanup subprocess
test: Use .first for duplicate terminal panel locators in E2E tests
CI/CD
Add nightly UAT workflow for tmux integration tests
Documentation
Fix version refs, Python 3.12+ requirement, and doc consistency
Update roadmap, TODO, and CLI reference for v2.1.0
Update all user-facing docs for core-only compaction
Add live session dashboard brainstorm
Add unified session architecture brainstorm
Compound learnings — parallel research catches plan assumptions
Update README, CLI reference, and roadmap for studyctl study command
Update CLI reference, README, roadmap for session lifecycle
Add system overview — full component map with Mermaid diagrams
Update TODO.md with v2.2 live session dashboard progress
Add solution doc for tmux session management and CI fixes
Update TODO.md with v2.2.1 completed items and next steps
Update roadmap with v2.2.1 completed, clean next phases
Comprehensive TODO with study backlog, testing mandate, estimates
Add session handoff for 2026-04-02
Add session handoff for 2026-04-03
Comprehensive system architecture with PlantUML diagrams
Update architecture, roadmap, and test counts for v2.2 completion
Fix stale references — query_sessions split, config unification, FCIS paths
Add v2.2 release handoff — remaining refactors plan
Compound solution doc — SQLite schema drift + CI mock targeting
Update all documentation for current architecture
Add Phase 6 complete handoff for next session
Compound learning — multi-agent adapter mcp_setup() gap
Update artefact links
Update artefact links
Update roadmap — multi-agent complete, v2.2.0 scope defined
Update all documentation for ttyd + multi-agent cleanup
Update roadmap, CLI reference, and .gitignore for v2.2.0 local LLMs
Add content pipeline, TUI, and web UI user guides
Persona optimisation Tier 2 design spec
Persona eval implementation plan — 13 tasks across 4 chunks
Persona optimizer loop plan + session handoff
Add autoresearch persona optimizer runbook
Add CI workflow failures solution (7 root causes)
Add C4 architecture diagrams (context, container, component)
Features
Add live session foundation — parking lot persistence, session CLI, IPC protocol
Add cmux native dashboard — Phase 1.5 agent protocol + MCP config
Add web PWA live session dashboard — Phase 2
Add studyctl study command — Phase 1 unified session architecture
Auto-cleanup when agent exits + sidebar end-session binding
Persistent session directories for AI conversation history
Pomodoro countdown timer in Textual sidebar
Studyctl topic command + persona CLI instructions + resume context
Integration tests with mock agent — 7 pass, real tmux sessions
Comprehensive integration tests — 22 pass, full lifecycle
Add bridge CLI command + 4 E2E experience verification tests
Add studyctl clean command with FCIS architecture
Tmux-resurrect compatibility — auto-clean, docs, doctor check
Study backlog phase 1 — topics CRUD, auto-persist, agent surfacing
Study backlog phase 2 — AI prioritization, MCP tools, session-db integration
Vendor HTMX, Alpine.js, SSE extension, OpenDyslexic for offline PWA
V2.2 Phase A — break suggestions, energy streaks, MCP registration, vendor Inter
V2.2 Phase B — nested tmux UAT and --end from outside tests
Phase 6 CI/CD — nightly install, pre-release gate, backup/restore
Phase 2 multi-agent support — wire Gemini, Kiro, OpenCode adapters
Migrate session-db-mcp server from extract_session_to_db
Ttyd integration — web terminal, --lan flag, browser auto-open
Same-origin ttyd proxy + LAN password protection + pop-out fix
Local LLM support — Ollama and LM Studio adapters
Study briefing — cohesive loop connecting content, review, and sessions
Autoresearch iterate runner + persona effectiveness tracking
web: Unified sidebar navigation with 4 content views
web: Rewrite flashcard/quiz engine as Alpine.js components
web: Alpine Pomodoro store, delete app.js + session.html
Topic_slug in session DB + LAN username/password config
Web session start/end, tmux safety guard, LAN auth tests, content CLI tests
eval: Autonomous persona evaluation harness — 13 tasks, 130 tests
Autoresearch Phase 3 — reporting, regression detection, CI workflow
eval: Add AWS Bedrock provider for LLM judge
eval: Add judge feedback for persona prompt optimisation
eval: Log agent response, judge scores, dimensions, and feedback
persona: Autoresearch-optimised study mentor persona
persona: Autoresearch-optimised co-study companion persona
Refactoring
Consolidate test infrastructure and document conventions (#1 )
Move clean_logic to package level + wire service layer
Create logic/ subpackage + fix parking table schema drift
Clean up config loader, split query_sessions monolith, fix CI failures
3 quick fixes from comprehensive code review
Split god modules — history/, session/, topics.py + SM-2 fix
Code quality sweep — circular deps, deduplication, agent config consistency
eval: Replace tmux capture with claude -p print mode
Remove eval harness module (moved to dev/)
Remove dead EvalConfig from settings (eval moved to dev/)
Testing
Add sidebar Q cleanup test (xfail — tmux send-keys vs Textual)
Add harness matrix agent and test_harness_matrix.py
web: Add 13 Playwright sidebar E2E tests, update terminal tests
content: Add integration tests for generate, download, list, delete CLI
Fill coverage gaps found during v2.2.0 audit
Add web CLI command tests (7 tests)
Compact
Strip to 4 core features, prune CLI to 13 commands, fix doctor tests
Merge
Resolve conflicts with main (local LLMs + PID safety)
You can’t perform that action at this time.