Skip to content

Commit 6f6143f

Browse files
authored
chore: release v0.1.0 (closes #92) (#97)
1 parent 2a34331 commit 6f6143f

1 file changed

Lines changed: 19 additions & 19 deletions

File tree

CHANGELOG.md

Lines changed: 19 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
77

88
## [Unreleased]
99

10+
## [0.1.0] - 2026-06-04
11+
1012
### Added
1113
- **Summary disk cache (Phase 3)** — project list and tab summaries cached under
1214
`~/.cache/cursor-chat-browser/`, invalidated when global or per-workspace DB
@@ -23,6 +25,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2325
- **Scoped KV loaders** in `services/workspace_db.py`:
2426
`load_bubbles_for_composer`, `load_message_request_context_for_composer`,
2527
`load_code_block_diffs_for_composer` — used by the single-tab path (#84)
28+
- **Web UI** — browse and search all Cursor AI workspaces; conversation view with syntax-highlighted code blocks, dark/light mode, and bookmarkable chat URLs (#63)
29+
- **Export formats** — one-click export of chats as Markdown, HTML, PDF, JSON, and CSV from the web UI (#63)
30+
- **CLI export** (`cursor-chat-export` / `scripts/export.py`) — zip archive or individual Markdown files with YAML frontmatter; incremental mode (`--since last`) preserves state across runs (#63, #42, #61)
31+
- **Cursor CLI agent session support** — browse and export sessions stored in `~/.cursor/chats/` by the `cursor agent` CLI; gracefully degrades when the IDE database is absent (#7, #8, #63)
32+
- **Desktop app packaging** — Windows `.exe` via PyInstaller + pywebview; no Python installation required on the target machine (#63)
33+
- **Type-safe models** with schema validation at SQLite read boundaries (#24, #30)
34+
- **CI matrix** (Linux / macOS / Windows) running pytest, mypy, and gitleaks (#13, #19, #44, #62)
35+
- **Python packaging infrastructure** (`pyproject.toml` with hatchling, bounded dependency pins, `requirements-lock.txt`, Dependabot) (#45, #47, #49, #53)
36+
- Optional exclusion rules for sensitive projects and chats (#1, #2)
37+
- Full-text search with workspace and log-type filters (#63)
38+
- Hypothesis property-based tests for blob and bubble parsing (#71, #81)
39+
- PDF export endpoint coverage in CI (#72)
40+
- Unit tests for `determine_project_for_conversation` fallback chain (#87, #89)
2641

2742
### Changed
2843
- **List-path performance** — skip full `messageRequestContext` scan unless
@@ -35,31 +50,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
3550
- **`assemble_workspace_tabs`** inner per-composer loop refactored into a shared
3651
`_assemble_tab_from_composer_data` helper reused by `assemble_single_tab`; full
3752
path behaviour is unchanged (#84)
53+
- Extract shared `from_dict` validation helpers for model classes, reducing duplication (#70, #80)
54+
- Enable mypy `strict-optional` and fix nullability gaps across the codebase (#69, #79)
3855

3956
### Deprecated
4057
- Direct use of `GET /api/workspaces/<id>/tabs` (no `?summary=1`) from the workspace
4158
UI on page load; the UI now calls `?summary=1` for first paint and lazy-fetches
4259
individual tabs. The full-assembly endpoint remains available for export,
4360
search, and backward-compatible consumers (planned removal: post-1.0) (#84)
4461

45-
46-
- **Web UI** — browse and search all Cursor AI workspaces; conversation view with syntax-highlighted code blocks, dark/light mode, and bookmarkable chat URLs (#63)
47-
- **Export formats** — one-click export of chats as Markdown, HTML, PDF, JSON, and CSV from the web UI (#63)
48-
- **CLI export** (`cursor-chat-export` / `scripts/export.py`) — zip archive or individual Markdown files with YAML frontmatter; incremental mode (`--since last`) preserves state across runs (#63, #42, #61)
49-
- **Cursor CLI agent session support** — browse and export sessions stored in `~/.cursor/chats/` by the `cursor agent` CLI; gracefully degrades when the IDE database is absent (#7, #8, #63)
50-
- **Desktop app packaging** — Windows `.exe` via PyInstaller + pywebview; no Python installation required on the target machine (#63)
51-
- **Type-safe models** with schema validation at SQLite read boundaries (#24, #30)
52-
- **CI matrix** (Linux / macOS / Windows) running pytest, mypy, and gitleaks (#13, #19, #44, #62)
53-
- **Python packaging infrastructure** (`pyproject.toml` with hatchling, bounded dependency pins, `requirements-lock.txt`, Dependabot) (#45, #47, #49, #53)
54-
- Optional exclusion rules for sensitive projects and chats (#1, #2)
55-
- Full-text search with workspace and log-type filters (#63)
56-
- Hypothesis property-based tests for blob and bubble parsing (#71, #81)
57-
- PDF export endpoint coverage in CI (#72)
58-
59-
### Changed
60-
- Extract shared `from_dict` validation helpers for model classes, reducing duplication (#70, #80)
61-
- Enable mypy `strict-optional` and fix nullability gaps across the codebase (#69, #79)
62-
6362
### Fixed
6463
- Path traversal and symlink-escape protection on `/api/set-workspace` (#15, #22)
6564
- Disabled Werkzeug debug mode by default; opt-in via `--debug` / `FLASK_DEBUG=1` (#9, #20)
@@ -73,4 +72,5 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7372
- Replace silent `except Exception: pass` with structured logging in workspace and bubble load paths (#66, #76)
7473
- Decouple API handlers from private `_`-prefixed service internals (#73)
7574

76-
[Unreleased]: https://github.com/cppalliance/cppa-cursor-browser/commits/HEAD
75+
[Unreleased]: https://github.com/cppalliance/cppa-cursor-browser/compare/v0.1.0...HEAD
76+
[0.1.0]: https://github.com/cppalliance/cppa-cursor-browser/releases/tag/v0.1.0

0 commit comments

Comments
 (0)