Skip to content

Commit 0cf7cc9

Browse files
docs: clarify pre-first-tag bundled SPA removal in deprecation policy
Document path B: 0.1.0.dev0 has no git tag yet; export_count removal in [Unreleased] is acceptable for bundled SPA+API atomic deploy. Update example table and CHANGELOG wording per review. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 04a2904 commit 0cf7cc9

2 files changed

Lines changed: 11 additions & 5 deletions

File tree

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
1919

2020
### Removed
2121

22-
- `export_count` on `GET /api/export/state` — use `last_export_session_count` (deprecated in PR #60 / [deprecation policy](docs/deprecation-policy.md); bundled SPA updated in same release)
22+
- `export_count` on `GET /api/export/state` — use `last_export_session_count` (deprecated in PR #60; removed before first `v0.1.0` tag per [deprecation policy](docs/deprecation-policy.md) bundled SPA path; SPA updated in same `[Unreleased]` cut)
2323

2424
[Unreleased]: https://github.com/cppalliance/claude-code-chat-browser/compare/f70505982d435f8b1f754cb18c0c9f65609f11b4...HEAD

docs/deprecation-policy.md

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,11 +27,17 @@ A deprecated field may be removed when:
2727

2828
For fields actively read by the bundled SPA (which does not track an external API version), removal happens no earlier than **two tagged releases** after the release that documented the deprecation in CHANGELOG (for example, deprecated in `0.1.0`, removable from `0.3.0` at earliest when versions advance `0.1.0``0.2.0``0.3.0`), and no earlier than **14 calendar days** after that deprecation announcement.
2929

30-
## Example (in progress)
30+
### Bundled SPA + pre-first-tag (path B)
3131

32-
| Field | Endpoint | Status | Replacement |
33-
|-------|----------|--------|-------------|
34-
| `export_count` | `GET /api/export/state` | deprecated | `last_export_session_count` |
32+
Until the first git tag ships (for example while `app.__version__` is `0.1.0.dev0`), the CHANGELOG `[Unreleased]` section is the source of truth — see [Versioning](#versioning) below. The bundled SPA is deployed from the same repo and commit as the API; it does not consume a separately versioned HTTP contract.
33+
34+
For fields **only read by the bundled SPA** (no external integrators on a tagged API yet), an atomic PR that (1) stops reading the field in `static/js/*.js` and (2) removes it from the JSON response is acceptable **before** the first tag, provided deprecation was announced in CHANGELOG and api-reference (PR #60) and removal is recorded under `[Unreleased]`. External integrators who pin a **tagged** release must follow the two-release + 14-day rule above.
35+
36+
## Example (completed — pre-first-tag)
37+
38+
| Field | Endpoint | Status | Replacement | Notes |
39+
|-------|----------|--------|-------------|-------|
40+
| `export_count` | `GET /api/export/state` | removed | `last_export_session_count` | Deprecated in PR #60 (`[Unreleased]`); removed in bundled SPA+API PR before first `v0.1.0` tag |
3541

3642
## Versioning
3743

0 commit comments

Comments
 (0)