Release v0.0.8 - Adopt standard semver versioning
- Update release command to use standard semver with v prefix (v0.0.0 format) - Add seamless migration from legacy non-prefixed versions (0.0.x -> v0.0.x) - Document version format in release command instructions - Bump version from 0.0.7 to v0.0.8 in package.json Files modified: - .claude/commands/release.md - package.json 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -5,15 +5,21 @@ Review all changes in the repository and create a release with proper commit mes
|
|||||||
## Argument: $ARGUMENTS
|
## Argument: $ARGUMENTS
|
||||||
|
|
||||||
The argument should be one of:
|
The argument should be one of:
|
||||||
- `patch` - Bump the patch version (e.g., 0.0.4 -> 0.0.5)
|
- `patch` - Bump the patch version (e.g., v0.0.4 -> v0.0.5)
|
||||||
- `minor` - Bump the minor version and reset patch to 0 (e.g., 0.0.4 -> 0.1.0)
|
- `minor` - Bump the minor version and reset patch to 0 (e.g., v0.0.4 -> v0.1.0)
|
||||||
- `major` - Bump the major version and reset minor/patch to 0 (e.g., 0.0.4 -> 1.0.0)
|
- `major` - Bump the major version and reset minor/patch to 0 (e.g., v0.0.4 -> v1.0.0)
|
||||||
|
|
||||||
If no argument provided, default to `patch`.
|
If no argument provided, default to `patch`.
|
||||||
|
|
||||||
|
## Version Format
|
||||||
|
|
||||||
|
This project uses **standard semver with `v` prefix** (e.g., `v0.0.8`, `v1.2.3`).
|
||||||
|
|
||||||
## Steps to perform:
|
## Steps to perform:
|
||||||
|
|
||||||
1. **Read the current version** from `package.json` (the `version` field)
|
1. **Read the current version** from `package.json` (the `version` field)
|
||||||
|
- Strip any existing `v` prefix if present (for backward compatibility with old `0.0.x` format)
|
||||||
|
- The raw version should be in format: MAJOR.MINOR.PATCH
|
||||||
|
|
||||||
2. **Calculate the new version** based on the argument:
|
2. **Calculate the new version** based on the argument:
|
||||||
- Parse the current version (format: MAJOR.MINOR.PATCH)
|
- Parse the current version (format: MAJOR.MINOR.PATCH)
|
||||||
@@ -21,10 +27,10 @@ If no argument provided, default to `patch`.
|
|||||||
- If `minor`: increment MINOR by 1, set PATCH to 0
|
- If `minor`: increment MINOR by 1, set PATCH to 0
|
||||||
- If `major`: increment MAJOR by 1, set MINOR and PATCH to 0
|
- If `major`: increment MAJOR by 1, set MINOR and PATCH to 0
|
||||||
|
|
||||||
3. **Update package.json** with the new version in all three places:
|
3. **Update package.json** with the new version (with `v` prefix) in all three places:
|
||||||
- `version`
|
- `version` -> `vX.Y.Z`
|
||||||
- `custom.chrome.version`
|
- `custom.chrome.version` -> `vX.Y.Z`
|
||||||
- `custom.firefox.version`
|
- `custom.firefox.version` -> `vX.Y.Z`
|
||||||
|
|
||||||
4. **Review changes** using `git status` and `git diff --stat HEAD`
|
4. **Review changes** using `git status` and `git diff --stat HEAD`
|
||||||
|
|
||||||
@@ -37,7 +43,7 @@ If no argument provided, default to `patch`.
|
|||||||
If any step fails, fix issues before proceeding.
|
If any step fails, fix issues before proceeding.
|
||||||
|
|
||||||
6. **Compose a commit message** following this format:
|
6. **Compose a commit message** following this format:
|
||||||
- First line: 72 chars max, imperative mood summary (e.g., "Release v0.0.5")
|
- First line: 72 chars max, imperative mood summary (e.g., "Release v0.0.8")
|
||||||
- Blank line
|
- Blank line
|
||||||
- Bullet points describing each significant change
|
- Bullet points describing each significant change
|
||||||
- "Files modified:" section listing affected files
|
- "Files modified:" section listing affected files
|
||||||
@@ -47,7 +53,7 @@ If no argument provided, default to `patch`.
|
|||||||
|
|
||||||
8. **Create the commit** with the composed message
|
8. **Create the commit** with the composed message
|
||||||
|
|
||||||
9. **Create a git tag** with the new version prefixed with 'v' (e.g., `v0.0.5`)
|
9. **Create a git tag** matching the version (e.g., `v0.0.8`)
|
||||||
|
|
||||||
10. **Push to origin** with tags:
|
10. **Push to origin** with tags:
|
||||||
```
|
```
|
||||||
@@ -60,3 +66,5 @@ If no argument provided, default to `patch`.
|
|||||||
- This is a browser extension with separate Chrome and Firefox builds
|
- This is a browser extension with separate Chrome and Firefox builds
|
||||||
- All three version fields in package.json must be updated together
|
- All three version fields in package.json must be updated together
|
||||||
- Always verify both Chrome and Firefox builds compile before committing
|
- Always verify both Chrome and Firefox builds compile before committing
|
||||||
|
- Version format is standard semver with `v` prefix: `vMAJOR.MINOR.PATCH`
|
||||||
|
- Legacy versions without `v` prefix (e.g., `0.0.7`) are automatically upgraded to the new format
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
{
|
{
|
||||||
"name": "plebeian-signer",
|
"name": "plebeian-signer",
|
||||||
"version": "0.0.7",
|
"version": "v0.0.8",
|
||||||
"custom": {
|
"custom": {
|
||||||
"chrome": {
|
"chrome": {
|
||||||
"version": "0.0.7"
|
"version": "v0.0.8"
|
||||||
},
|
},
|
||||||
"firefox": {
|
"firefox": {
|
||||||
"version": "0.0.7"
|
"version": "v0.0.8"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "Plebeian Signer - Nostr Identity Manager & Signer",
|
"name": "Plebeian Signer - Nostr Identity Manager & Signer",
|
||||||
"description": "Manage and switch between multiple identities while interacting with Nostr apps",
|
"description": "Manage and switch between multiple identities while interacting with Nostr apps",
|
||||||
"version": "0.0.7",
|
"version": "v0.0.8",
|
||||||
"homepage_url": "https://git.mleku.dev/mleku/plebeian-signer",
|
"homepage_url": "https://git.mleku.dev/mleku/plebeian-signer",
|
||||||
"options_page": "options.html",
|
"options_page": "options.html",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"manifest_version": 3,
|
"manifest_version": 3,
|
||||||
"name": "Plebeian Signer",
|
"name": "Plebeian Signer",
|
||||||
"description": "Nostr Identity Manager & Signer",
|
"description": "Nostr Identity Manager & Signer",
|
||||||
"version": "0.0.7",
|
"version": "v0.0.8",
|
||||||
"homepage_url": "https://git.mleku.dev/mleku/plebeian-signer",
|
"homepage_url": "https://git.mleku.dev/mleku/plebeian-signer",
|
||||||
"options_page": "options.html",
|
"options_page": "options.html",
|
||||||
"permissions": [
|
"permissions": [
|
||||||
|
|||||||
Reference in New Issue
Block a user