raise-cli v2.3.0
Last pre-monorepo release
v2.3.0 delivers a deterministic session identity model that eliminates cross-repo collisions, a CLI extension mechanism for third-party commands, and the completed pro/community package separation. This release also patches 3 security vulnerabilities and resolves 15+ bugs.
Highlights
New Features
-
Session Identity (E654) — Session IDs are now timestamp-based (
S-{prefix}-{YYMMDD}-{HHMM}) with a per-project Pydantic prefix registry. Eliminates the cross-repo counter collision bug. Active session pointers are per-project (not global), and session data lives in gitignoredpersonal/directories with opt-in sharing. -
CLI Extension Mechanism (RAISE-594) — Third-party CLI commands can now be registered via entry points, with collision and duplicate protection.
-
rai doctorAdapter Diagnostics (RAISE-614) — Verifies adapter availability and configuration status.
Changes
-
Session Data Path (E654) — Session tracking moved from global
~/.rai/developer.yamlto per-project.raise/rai/personal/. Tools reading the old location need updating. -
Pattern Scope Default (RAISE-608) —
rai pattern addnow defaults toprojectscope instead ofpersonal.
Security Fixes
- authlib 1.6.8 → 1.6.9 — 3 CVEs patched (RAISE-574)
- PyJWT ≥ 2.12.0 — Critical
critheader bypass, CVE-2026-32597 (RAISE-575) - astro/cloudflare/undici — 9 Snyk CVEs in docs site dependencies (RAISE-576)
Bug Fixes
- CLAUDE.local.md references removed from close skills (RAISE-635)
- Session-start context loss fixed — state loaded before migration (RAISE-566)
promote_unreleasedregex handles changelog with Unreleased as last section (RAISE-547)- Unicode symbols crash on Windows CP1252 terminals (RAISE-554)
- C# scanner constructor dependency extraction (RAISE-227)
rai initide.type sync with agents.types[0] (RAISE-218)- CI container missing git (RAISE-570)
- Regex precedence fixes in ADR and changelog parsers (RAISE-589)
- Story-plan skill now enforces project-wide verification scope (RAISE-572)
- Doctor callback refactored — cognitive complexity 47 → ~7 (RAISE-598)
- SonarQube code smells batch cleanup: 8 rule categories (RAISE-541)
Known Issues
- RAISE-634 — Docs site has broken links after architecture refactor.
Upgrade Notes
Breaking: Session Data Path Changed
Session state has moved from ~/.rai/developer.yaml (global) to .raise/rai/personal/ (per-project, gitignored). Old session data (SES-NNN format) remains readable but new sessions use the S-{prefix}-{YYMMDD}-{HHMM} format exclusively. No automatic migration — old and new coexist.
Pattern Scope Default
rai pattern add "..." now defaults to --scope project instead of --scope personal. Add --scope personal explicitly if you want the old behavior.
Contributors
- Emilio Osorio — E654, E479, bugfixes, security patches, release prep
- Fernando Rodriguez — RAISE-663, RAISE-635, RAISE-608 bugfixes, prefix registry
- Rai (AI) — Co-authored across all epics and stories
Install
pip install raise-cli==2.3.0