Skip to content

Commit d22af5f

Browse files
dbrattliclaude
andcommitted
docs: update RELEASING.md for custom version format
Clarify that Release-As: should be used to specify versions due to the custom version format (X.Y.Z-alpha.N.P). 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <[email protected]>
1 parent ce84cae commit d22af5f

File tree

1 file changed

+27
-30
lines changed

1 file changed

+27
-30
lines changed

RELEASING.md

Lines changed: 27 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -2,63 +2,62 @@
22

33
This document describes the release process for Fable.Python and how to keep versions in sync with Fable.
44

5-
## Version Synchronization with Fable
5+
## Version Format
66

7-
Fable.Python versions should stay in sync with Fable. For example, if Fable releases `5.0.0-alpha.21`, Fable.Python should release `5.0.0-alpha.21.0`.
7+
Fable.Python uses the version format `X.Y.Z-alpha.N.P` where:
88

9-
## Release Process
10-
11-
This project uses [release-please](https://github.com/googleapis/release-please) to automate releases. Release-please creates and maintains a release PR that updates automatically as commits are merged to main.
9+
- `X.Y.Z-alpha.N` matches the Fable version (e.g., `5.0.0-alpha.21`)
10+
- `P` is the patch version for Fable.Python releases (0, 1, 2, etc.)
1211

13-
The configuration uses `"versioning": "always-bump-patch"` which means every release only increments the patch version (e.g., `5.0.0-alpha.21.0``5.0.0-alpha.21.1``5.0.0-alpha.21.2`).
12+
Example: `5.0.0-alpha.21.0`, `5.0.0-alpha.21.1`, `5.0.0-alpha.21.2`
1413

15-
### Standard Release (Patch Bump)
16-
17-
For normal bug fixes and improvements:
14+
## Release Process
1815

19-
1. Merge PRs with conventional commit messages (`fix:`, `feat:`, `chore:`, etc.)
20-
2. Release-please automatically creates/updates a release PR
21-
3. Merge the release-please PR when ready
22-
4. The GitHub Action will create a release and tag
16+
This project uses [release-please](https://github.com/googleapis/release-please) to automate releases. Release-please creates and maintains a release PR that updates automatically as commits are merged to main.
2317

24-
The patch version increments automatically regardless of commit type.
18+
**Important:** Due to the custom version format, use `Release-As:` to specify the version.
2519

26-
### Syncing with a New Fable Version
20+
### Setting the Version
2721

28-
When Fable releases a new version (e.g., `5.0.0-alpha.21`), use the `Release-As` footer to override the version:
22+
Add `Release-As:` in the commit message or PR description:
2923

3024
#### In the commit message
3125

3226
```text
33-
chore: sync with Fable 5.0.0-alpha.21
27+
feat: add new feature
3428
35-
Release-As: 5.0.0-alpha.21.0
29+
Release-As: 5.0.0-alpha.21.1
3630
```
3731

3832
#### In the PR description
3933

4034
Add this line anywhere in the PR body:
4135

4236
```text
43-
Release-As: 5.0.0-alpha.21.0
37+
Release-As: 5.0.0-alpha.21.1
4438
```
4539

46-
Release-please will use the specified version instead of bumping the patch.
40+
Release-please will use the specified version for the release.
4741

48-
### Hotfix Releases
42+
### Syncing with a New Fable Version
4943

50-
After syncing with a Fable version, subsequent patches are automatic:
44+
When Fable releases a new version (e.g., `5.0.0-alpha.22`):
5145

52-
- `5.0.0-alpha.21.0` (initial sync with Fable)
53-
- `5.0.0-alpha.21.1` (first hotfix)
54-
- `5.0.0-alpha.21.2` (second hotfix)
55-
- etc.
46+
1. Update the codebase to work with the new Fable version
47+
2. Use `Release-As: 5.0.0-alpha.22.0` in the commit or PR
48+
3. Merge the release-please PR
5649

57-
This clearly shows the relationship to the base Fable version and sorts correctly in package managers.
50+
### Version History Example
51+
52+
- `5.0.0-alpha.21.0` (initial sync with Fable 5.0.0-alpha.21)
53+
- `5.0.0-alpha.21.1` (first patch)
54+
- `5.0.0-alpha.21.2` (second patch)
55+
- `5.0.0-alpha.22.0` (sync with Fable 5.0.0-alpha.22)
56+
- `5.0.0-alpha.22.1` (first patch for alpha.22)
5857

5958
## Configuration Files
6059

61-
- `release-please-config.json` - Release-please configuration (release type, versioning strategy)
60+
- `release-please-config.json` - Release-please configuration (release type, tag format)
6261
- `.release-please-manifest.json` - Tracks the current released version
6362

6463
## Conventional Commits
@@ -68,5 +67,3 @@ This project uses [conventional commits](https://www.conventionalcommits.org/):
6867
- `feat:` - New features
6968
- `fix:` - Bug fixes
7069
- `chore:`, `docs:`, `style:`, `refactor:`, `test:` - Other changes
71-
72-
With `"versioning": "always-bump-patch"`, all commit types result in a patch bump only.

0 commit comments

Comments
 (0)