v0.2.0 ships the cursor-browser work merged since v0.1.0: typed Bubble/Composer accessors, search and export refactors, and CI benchmarks.
Highlights
- Strict mypy on API routes and utils; typed search models (
SearchResult,ConversationSummary) (#100, #103) - Bubble typed accessors and
raw_accessdedup (#133, #137) RuleTokenswired through exclusion-rules consumers (#134)- Shared export engine for web
POST /api/exportand CLIcursor-chat-export(#112) - FTS search index for faster listing on large DBs (#113)
- pytest-benchmark suite with CI regression gate (#120, #121)
workspace_tabs/cursor_md_exportercleanup; one bad composer no longer 500s the tab list (#138)
Also in this release
- Search handler split into per-source functions (#99, #102)
- Trimmed
models/__init__.pyexports (#135) - Invalid-workspace alias cache keyed by storage fingerprint (#116, #125)
- Export path override fix for
CURSOR_WORKSPACE_PATH(#114) - Search tooltip and distinct
/api/searcherror codes (#117, #126) - Google-style docstrings on public surfaces (#119)
- Flask API tests for search, workspaces, export (#101, #104)
Pre-1.0 stability
At 0.x.y, minor releases can still break the HTTP API, CLI flags, or export formats. See Versioning and API deprecation policy.
Full changelog: CHANGELOG.md — 0.2.0