Skip to content

Commit 2ca0cb3

Browse files
justin808claude
andauthored
Update CHANGELOG.md and improve /update-changelog command (#795) (#795)
## Summary This PR corrects the CHANGELOG.md to properly reflect the v9.3.0 release that was published today, and improves the `/update-changelog` slash command to prevent future misalignment. ## Changes ### CHANGELOG.md Updates - Moved three user-visible bug fixes from "Unreleased" section to v9.3.0 section: - PR #786: Enhanced error handling for better security and debugging - PR #778: Improved type safety and error handling in configExporter module - PR #774: Default template no longer triggers production warning - Updated v9.3.0 release date from October 28 to November 2, 2025 (actual tag date) ### /update-changelog Command Improvements - Added critical instructions to check version tag dates first - Added logic to detect when a tag is ahead of the main branch - Added step to determine where entries should go based on version boundaries - Prevents future changelog issues by verifying version dates match actual tag dates ## Why This Was Needed The v9.3.0 tag was created today and is actually ahead of the main branch. The three PRs that were in the "Unreleased" section were actually part of the v9.3.0 release and needed to be moved to that version section. ## Test Plan - [x] Linting passes (\`yarn lint\`) - [x] All changelog entries properly formatted with correct PR links and authors - [x] File ends with newline character - [x] Release date matches actual tag date 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude <[email protected]>
1 parent 85372a4 commit 2ca0cb3

File tree

2 files changed

+31
-16
lines changed

2 files changed

+31
-16
lines changed

.claude/commands/update-changelog.md

Lines changed: 26 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -86,32 +86,50 @@ When a new version is released:
8686

8787
### For Regular Changelog Updates
8888

89-
1. **Check commits since last release**:
90-
- Run `git log` to see commits on main/master since the last released version
89+
1. **Determine the correct version tag to compare against**:
90+
- First, check the tag dates: `git log --tags --simplify-by-decoration --pretty="format:%ai %d" | head -10`
91+
- Find the latest version tag and its date
92+
- Compare main branch date to the tag date
93+
- If the tag is NEWER than main, it means main needs to be updated to include the tag's commits
94+
- **CRITICAL**: Always use `git log TAG..BRANCH` to find commits that are in the tag but not in the branch, as the tag may be ahead
95+
96+
2. **Check commits and version boundaries**:
97+
- Run `git log --oneline LAST_TAG..main` to see commits since the last release
98+
- Also check `git log --oneline main..LAST_TAG` to see if the tag is ahead of main
99+
- If the tag is ahead, entries in "Unreleased" section may actually belong to that tagged version
91100
- Identify which commits contain user-visible changes
92101
- Extract PR numbers and author information from commit messages
93102
- **Never ask the user for PR details** - get them from the git history
94103

95-
2. **Validate** that changes are user-visible (per the criteria above). If not user-visible, skip those commits.
104+
3. **Validate** that changes are user-visible (per the criteria above). If not user-visible, skip those commits.
96105

97-
3. **Read the current CHANGELOG.md** to understand the existing structure and formatting.
106+
4. **Read the current CHANGELOG.md** to understand the existing structure and formatting.
98107

99-
4. **Add entries** to the `## [Unreleased]` section under appropriate category headings.
108+
5. **Determine where entries should go**:
109+
- If the latest version tag is NEWER than main branch, move entries from "Unreleased" to that version section
110+
- If main is ahead of the latest tag, add new entries to "Unreleased"
111+
- Always verify the version date in CHANGELOG.md matches the actual tag date
100112

101-
5. **Verify formatting**:
113+
6. **Add or move entries** to the appropriate section under appropriate category headings.
114+
- **CRITICAL**: When moving entries from "Unreleased" to a version section, merge them with existing entries under the same category heading
115+
- **NEVER create duplicate section headings** (e.g., don't create two "### Fixed" sections)
116+
- If the version section already has a category heading (e.g., "### Fixed"), add the moved entries to that existing section
117+
- Maintain the category order: Breaking Changes, Added, Changed, Improved, Security, Fixed, Deprecated, Removed
118+
119+
7. **Verify formatting**:
102120
- Bold description with period
103121
- Proper PR link
104122
- Proper author link
105123
- Consistent with existing entries
106124
- File ends with a newline character
107125

108-
6. **Run linting** after making changes:
126+
8. **Run linting** after making changes:
109127

110128
```bash
111129
yarn lint
112130
```
113131

114-
7. **Show the user** the added entries.
132+
9. **Show the user** the added or moved entries and explain what was done.
115133

116134
### For Beta to Non-Beta Version Release
117135

CHANGELOG.md

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@
1111

1212
Changes since the last non-beta release.
1313

14+
## [v9.3.0] - November 2, 2025
15+
1416
### Fixed
1517

1618
- **Enhanced error handling for better security and debugging**. [PR #786](https://github.com/shakacode/shakapacker/pull/786) by [justin808](https://github.com/justin808).
@@ -29,8 +31,9 @@ Changes since the last non-beta release.
2931
- Eliminates confusing warning about `useContentHash: false` not being allowed in production
3032
- Development environment now explicitly sets `useContentHash: false` for faster builds
3133
- Production no longer needs explicit override since it inherits the correct default
32-
33-
## [v9.3.0] - October 28, 2025
34+
- Fixed Rails constant error when using custom environments like staging. [PR #681](https://github.com/shakacode/shakapacker/pull/681) by [justin808](https://github.com/justin808). `RAILS_ENV=staging` no longer causes "uninitialized constant Shakapacker::Instance::Rails" error. Shakapacker now works in non-Rails contexts.
35+
- Fixed TypeScript type definitions to export proper types instead of `any`. [PR #684](https://github.com/shakacode/shakapacker/pull/684) by [justin808](https://github.com/justin808). Previously `package/index.d.ts` was exporting all types as `any`, breaking IDE autocomplete. Now properly exports typed interfaces.
36+
- Fixed integrity config handling and sass-loader version check. [PR #688](https://github.com/shakacode/shakapacker/pull/688) by [justin808](https://github.com/justin808). Properly handles subresource integrity configuration and correctly detects sass-loader version for conditional logic.
3437

3538
### Added
3639

@@ -62,12 +65,6 @@ Changes since the last non-beta release.
6265
- **Improved error messages** to suggest `assets_bundler_config_path`. [PR #712](https://github.com/shakacode/shakapacker/pull/712) by [justin808](https://github.com/justin808). More helpful error messages when bundler config is not found, suggesting use of `assets_bundler_config_path` for custom locations.
6366
- **Improved doctor command output** clarity and accuracy. [PR #682](https://github.com/shakacode/shakapacker/pull/682) by [justin808](https://github.com/justin808). Better formatting and organization of diagnostic information with more actionable recommendations.
6467

65-
### Fixed
66-
67-
- Fixed Rails constant error when using custom environments like staging. [PR #681](https://github.com/shakacode/shakapacker/pull/681) by [justin808](https://github.com/justin808). `RAILS_ENV=staging` no longer causes "uninitialized constant Shakapacker::Instance::Rails" error. Shakapacker now works in non-Rails contexts.
68-
- Fixed TypeScript type definitions to export proper types instead of `any`. [PR #684](https://github.com/shakacode/shakapacker/pull/684) by [justin808](https://github.com/justin808). Previously `package/index.d.ts` was exporting all types as `any`, breaking IDE autocomplete. Now properly exports typed interfaces.
69-
- Fixed integrity config handling and sass-loader version check. [PR #688](https://github.com/shakacode/shakapacker/pull/688) by [justin808](https://github.com/justin808). Properly handles subresource integrity configuration and correctly detects sass-loader version for conditional logic.
70-
7168
## [v9.2.0] - October 9, 2025
7269

7370
### Added

0 commit comments

Comments
 (0)