You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .cursor/rules/changelog-best-practices.mdc
+1-1Lines changed: 1 addition & 1 deletion
Original file line number
Diff line number
Diff line change
@@ -139,7 +139,7 @@ Documentation changes should be grouped under the **Documentation** category, no
139
139
140
140
## Release Process
141
141
142
-
Follow **CONTRIBUTING.md §7 (Releasing for maintainers)** (Git Flow: `release/*` branch). Maintainers **must run** **`python3 scripts/prepare_release_bump.py`** `patch`|`minor`|`major` before creating/pushing a `release/*` branch. The script applies the `## [Unreleased] <!-- release -->` marker (see `.bumpversion.cfg`), runs **bump2version**, **`scripts/fix_changelog_after_bump.py`**, and inserts an empty `## [Unreleased]` for the next cycle. Contributors use plain `## [Unreleased]` until the maintainer runs the script.
142
+
Follow **CONTRIBUTING.md §7 (Releasing for maintainers)** (Git Flow: `release/*` branch). Maintainers **must run** **`python3 scripts/prepare_release_bump.py`** `patch`|`minor`|`major` before creating/pushing a `release/*` branch. The script applies the `## [Unreleased] <!-- release -->` marker (see `[tool.bumpversion]` in `pyproject.toml`), runs **bump-my-version**, **`scripts/fix_changelog_after_bump.py`**, and inserts an empty `## [Unreleased]` for the next cycle. Contributors use plain `## [Unreleased]` until the maintainer runs the script.
143
143
144
144
During releases, maintainers also:
145
145
1. Review and consolidate entries moved under the new version
Copy file name to clipboardExpand all lines: CHANGELOG.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -76,7 +76,7 @@ All contributors (including maintainers) should update `CHANGELOG.md` when creat
76
76
77
77
-**Linting (audiometa-python baseline)**: [`.pre-commit-config.yaml`](.pre-commit-config.yaml) matches the audiometa-python hook stack (tool version check, YAML/JSON/TOML, shellcheck, `no-assert`, ruff-format, ruff, mypy + django-stubs, pydocstringformatter, long-comment fixer, Prettier, optional PSScriptAnalyzer) plus **`prefer-strenum`** (pre-commit no longer runs **isort**; org **v4.3+** verifier forbids it alongside **ruff format**). Configuration lives in [`pyproject.toml`](pyproject.toml); linter and test dependencies are pinned under `[project.optional-dependencies] dev`. Ruff **select** matches audiometa; extra **ignores** document Django/DRF cleanup debt. Mypy is plugin-aligned but **gradual** (`ignore_missing_imports`, non-strict) until typing can match audiometa strictness.
78
78
79
-
-**Packaging (PEP 621, audiometa-style)**: Runtime and dev dependencies are declared in `pyproject.toml` (`[project]` / `[project.optional-dependencies] dev`) with setuptools as the build backend. Local and CI use `pip install -e ".[dev]"`; production Docker builds use `pip install .`. There is no `requirements.txt`; `pyproject.toml` is the only dependency manifest. Release bumps now update `pyproject.toml``[project] version` via bump2version. `fake-samples-loader` is pinned to `1.0.13`; `django-dynamic-fixture` is a dev extra (tests only).
79
+
-**Packaging (PEP 621, audiometa-style)**: Runtime and dev dependencies are declared in `pyproject.toml` (`[project]` / `[project.optional-dependencies] dev`) with setuptools as the build backend. Local and CI use `pip install -e ".[dev]"`; production Docker builds use `pip install .`. There is no `requirements.txt`; `pyproject.toml` is the only dependency manifest. Release bumps update `pyproject.toml``[project] version` via **bump-my-version** (`[tool.bumpversion]`). `fake-samples-loader` is pinned to `1.0.13`; `django-dynamic-fixture` is a dev extra (tests only).
@@ -116,7 +116,7 @@ All contributors (including maintainers) should update `CHANGELOG.md` when creat
116
116
117
117
-**Library path env contract**: Removed runtime usage of `LIBRARIES_DIR_NAME`; settings and user library path generation now rely on `LIBRARIES_DIR` only. Updated Compose defaults, test workflow env, and dev env example accordingly.
118
118
119
-
-**Release tooling**: [`scripts/prepare_release_bump.py`](scripts/prepare_release_bump.py)no longer requires an activated project virtualenv; maintainers only need `bump2version`on `PATH` (same pin as dev deps). [CONTRIBUTING.md](CONTRIBUTING.md) §7 documents `pipx`, dev installs, or Compose `api` as options. [`.gitignore`](.gitignore) adds `.venv-release/` for optional local one-off venvs.
119
+
-**Release tooling**: Replaced deprecated **bump2version** with **[bump-my-version](https://github.com/callowayproject/bump-my-version)** (`bump-my-version==1.3.0`); bump rules live under `[tool.bumpversion]` in [`pyproject.toml`](pyproject.toml) (`.bumpversion.cfg` removed). [`scripts/prepare_release_bump.py`](scripts/prepare_release_bump.py)runs `bump-my-version bump patch|minor|major`; maintainers only need the CLI on `PATH` (pipx, pyenv-backed install, or Compose `api` with dev extras). [CONTRIBUTING.md](CONTRIBUTING.md) §7 updated accordingly. Runtime **Click** is bumped from `7.0` to `8.3.3` (`click<8.4` required by bump-my-version) so dev installs can run the bump CLI in the same environment.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -832,15 +832,15 @@ Quick release process:
832
832
833
833
3.**On the release branch, prepare the release:**
834
834
835
-
-**Automated (recommended):** from the repo root, with `bump2version` on `PATH` (same pin as dev deps in [`pyproject.toml`](pyproject.toml), currently `bump2version==1.0.1` — e.g. `pipx install bump2version==1.0.1`, or run bump steps inside the Compose `api` dev image where dev extras are installed). No project `.venv` is required.
835
+
-**Automated (recommended):** from the repo root, with `bump-my-version` on `PATH` (same pin as dev deps in [`pyproject.toml`](pyproject.toml), currently `bump-my-version==1.3.0` — e.g. `pipx install bump-my-version==1.3.0`, a pyenv (or other) Python where `pip install -e ".[dev]"` is allowed, or run bump steps inside the Compose `api` dev image where dev extras are installed). No project `.venv` is required.
836
836
837
837
```bash
838
838
python3 scripts/prepare_release_bump.py patch # or: minor | major
839
839
```
840
840
841
-
This sets the live `## [Unreleased] <!-- release -->` marker (only the heading **after** the maintainer Note—not the fenced example), runs [bump2version](https://github.com/c4urself/bump2version), runs `python scripts/fix_changelog_after_bump.py`, and adds an empty `## [Unreleased]` above the new version section. By default it passes `--allow-dirty` to bump2version so you can commit once at the end; use `--no-allow-dirty`if you need a clean tree.
841
+
This sets the live `## [Unreleased] <!-- release -->` marker (only the heading **after** the maintainer Note—not the fenced example), runs [bump-my-version](https://github.com/callowayproject/bump-my-version), runs `python scripts/fix_changelog_after_bump.py`, and adds an empty `## [Unreleased]` above the new version section. By default it passes `--allow-dirty` so you can commit once at the end; use `--no-allow-dirty`if you need a clean tree.
842
842
843
-
- **Manual sequence** (same end state): set the live heading after the Note to `## [Unreleased] <!-- release -->`, then`bump2version patch` (or minor/major; add `--allow-dirty`if needed), then`python scripts/fix_changelog_after_bump.py`, then ensure an empty `## [Unreleased]` sits above `## [vX.Y.Z] - …`. `.bumpversion.cfg`only replaces that one changelog line; everything below it until the next `## [` belongs to that release.
843
+
- **Manual sequence** (same end state): set the live heading after the Note to `## [Unreleased] <!-- release -->`, then`bump-my-version bump patch` (or `bump minor` / `bump major`; add `--allow-dirty`if needed), then`python scripts/fix_changelog_after_bump.py`, then ensure an empty `## [Unreleased]` sits above `## [vX.Y.Z] - …`. Release bump file rules live under `[tool.bumpversion]`in [`pyproject.toml`](pyproject.toml); the changelog rule only replaces that one heading line — everything below it until the next `## [` belongs to that release.
844
844
845
845
- Review and finalize `CHANGELOG.md`:
846
846
@@ -876,7 +876,7 @@ Quick release process:
876
876
./scripts/remove_prerelease_tags.sh
877
877
```
878
878
879
-
The script uses the version from the `VERSION` file (same as after `bump2version`). You can also pass a version explicitly: `./scripts/remove_prerelease_tags.sh 0.2.1`.
879
+
The script uses the version from the `VERSION` file (same as after a release bump). You can also pass a version explicitly: `./scripts/remove_prerelease_tags.sh 0.2.1`.
880
880
881
881
**Note:** Pre-release tags are temporary and should be cleaned up after the release is published to keep the repository clean.
Copy file name to clipboardExpand all lines: docs/versioning.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -155,7 +155,7 @@ The workflow extracts the version from the ref, uses it for the Docker image tag
155
155
156
156
### Creating a Release
157
157
158
-
**Source of truth:** full Git Flow (release branch, `python3 scripts/prepare_release_bump.py` or `bump2version` by hand, `CHANGELOG.md`, PR to `main`, tag with `v` prefix, merge back to `develop`, delete release branch) is documented in [CONTRIBUTING.md](../CONTRIBUTING.md#7-releasing-for-maintainers) §7. The steps below are a short tag/publish reminder only.
158
+
**Source of truth:** full Git Flow (release branch, `python3 scripts/prepare_release_bump.py` or `bump-my-version bump …` by hand, `CHANGELOG.md`, PR to `main`, tag with `v` prefix, merge back to `develop`, delete release branch) is documented in [CONTRIBUTING.md](../CONTRIBUTING.md#7-releasing-for-maintainers) §7. The steps below are a short tag/publish reminder only.
159
159
160
160
```bash
161
161
# After VERSION and CHANGELOG on main match the release (see CONTRIBUTING.md §7):
0 commit comments