Add changelog and release command
- Add CHANGELOG.md with version history - Add changelog page to docs site - Add /release command for preparing releases
This commit is contained in:
parent
7c8ac4c887
commit
ad86227571
5 changed files with 301 additions and 2 deletions
61
.claude/commands/release.md
Normal file
61
.claude/commands/release.md
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
# Release
|
||||
|
||||
Prepare a new release for cmuxterm. This command updates the changelog, bumps the version, and creates a release tag.
|
||||
|
||||
## Steps
|
||||
|
||||
1. **Determine the new version number**
|
||||
- Get the current version from `GhosttyTabs.xcodeproj/project.pbxproj` (look for `MARKETING_VERSION`)
|
||||
- Bump the minor version unless the user specifies otherwise (e.g., 1.12.0 → 1.13.0)
|
||||
|
||||
2. **Gather changes since the last release**
|
||||
- Find the most recent git tag: `git describe --tags --abbrev=0`
|
||||
- Get commits since that tag: `git log --oneline <last-tag>..HEAD --no-merges`
|
||||
- Categorize changes into: Added, Changed, Fixed, Removed
|
||||
|
||||
3. **Update the changelog**
|
||||
- Add a new section at the top of `CHANGELOG.md` with the new version and today's date
|
||||
- Write clear, user-facing descriptions (not raw commit messages)
|
||||
- Focus on what matters to users: new features, bug fixes, breaking changes
|
||||
- Also update `docs-site/content/docs/changelog.mdx` with the same content
|
||||
|
||||
4. **Bump the version in Xcode project**
|
||||
- Update all occurrences of `MARKETING_VERSION` in `GhosttyTabs.xcodeproj/project.pbxproj`
|
||||
- There are typically 4 occurrences (Debug/Release for main app and CLI)
|
||||
|
||||
5. **Commit the changes**
|
||||
- Stage: `CHANGELOG.md`, `docs-site/content/docs/changelog.mdx`, `GhosttyTabs.xcodeproj/project.pbxproj`
|
||||
- Commit message: `Bump version to X.Y.Z`
|
||||
|
||||
6. **Create and push the tag**
|
||||
- Create tag: `git tag vX.Y.Z`
|
||||
- Push commits: `git push origin main`
|
||||
- Push tag: `git push origin vX.Y.Z`
|
||||
|
||||
7. **Monitor the release**
|
||||
- Watch the workflow: `gh run watch --repo manaflow-ai/cmuxterm`
|
||||
- Verify the release appears at: https://github.com/manaflow-ai/cmuxterm/releases
|
||||
|
||||
## Changelog Guidelines
|
||||
|
||||
- Use present tense ("Add feature" not "Added feature")
|
||||
- Group by category: Added, Changed, Fixed, Removed
|
||||
- Be concise but descriptive
|
||||
- Focus on user impact, not implementation details
|
||||
- Link to issues/PRs if relevant
|
||||
|
||||
## Example Changelog Entry
|
||||
|
||||
```markdown
|
||||
## [1.13.0] - 2025-01-30
|
||||
|
||||
### Added
|
||||
- New keyboard shortcut for quick tab switching
|
||||
|
||||
### Fixed
|
||||
- Memory leak when closing split panes
|
||||
- Notification badges not clearing properly
|
||||
|
||||
### Changed
|
||||
- Improved terminal rendering performance
|
||||
```
|
||||
112
CHANGELOG.md
Normal file
112
CHANGELOG.md
Normal file
|
|
@ -0,0 +1,112 @@
|
|||
# Changelog
|
||||
|
||||
All notable changes to cmuxterm are documented here.
|
||||
|
||||
## [1.12.0] - 2025-01-29
|
||||
|
||||
### Fixed
|
||||
- Handle display scale changes when moving between monitors
|
||||
|
||||
### Changed
|
||||
- Fix SwiftPM cache handling for release builds
|
||||
|
||||
## [1.11.0] - 2025-01-29
|
||||
|
||||
### Added
|
||||
- Notifications documentation for AI agent integrations
|
||||
|
||||
### Changed
|
||||
- App and tooling updates
|
||||
|
||||
## [1.10.0] - 2025-01-29
|
||||
|
||||
### Added
|
||||
- Sentry SDK for crash reporting
|
||||
- Documentation site with Fumadocs
|
||||
- Homebrew installation support (`brew install --cask cmuxterm`)
|
||||
- Auto-update Homebrew cask on release
|
||||
|
||||
### Fixed
|
||||
- High CPU usage from notification system
|
||||
- Release workflow SwiftPM cache issues
|
||||
|
||||
### Changed
|
||||
- New tabs now insert after current tab and inherit working directory
|
||||
|
||||
## [1.9.0] - 2025-01-29
|
||||
|
||||
### Changed
|
||||
- Normalized window controls appearance
|
||||
- Added confirmation panel when closing windows with active processes
|
||||
|
||||
## [1.8.0] - 2025-01-29
|
||||
|
||||
### Fixed
|
||||
- Socket key input handling
|
||||
- OSC 777 notification sequence support
|
||||
|
||||
### Changed
|
||||
- Customized About window
|
||||
- Restricted titlebar accessories for cleaner appearance
|
||||
|
||||
## [1.7.0] - 2025-01-29
|
||||
|
||||
### Fixed
|
||||
- Environment variable and terminfo packaging issues
|
||||
- XDG defaults handling
|
||||
|
||||
## [1.6.0] - 2025-01-28
|
||||
|
||||
### Fixed
|
||||
- Terminfo packaging for proper terminal compatibility
|
||||
|
||||
## [1.5.0] - 2025-01-28
|
||||
|
||||
### Added
|
||||
- Sparkle updater cache handling
|
||||
- Ghostty fork documentation
|
||||
|
||||
## [1.4.0] - 2025-01-28
|
||||
|
||||
### Added
|
||||
- cmuxterm CLI with socket control modes
|
||||
- NSPopover-based notifications
|
||||
|
||||
### Fixed
|
||||
- Notarization and codesigning for embedded CLI
|
||||
- Release workflow reliability
|
||||
|
||||
### Changed
|
||||
- Refined titlebar controls and variants
|
||||
- Clear notifications on window close
|
||||
|
||||
## [1.3.0] - 2025-01-28
|
||||
|
||||
### Added
|
||||
- Debug scrollback tab with smooth scroll wheel
|
||||
- Mock update feed UI tests
|
||||
- Dev build branding and reload scripts
|
||||
|
||||
### Fixed
|
||||
- Notification focus handling and indicators
|
||||
- Tab focus for key input
|
||||
- Update UI error details and pill visibility
|
||||
|
||||
### Changed
|
||||
- Renamed app to cmuxterm
|
||||
- Improved CI UI test stability
|
||||
|
||||
## [1.1.0] - 2025-01-28
|
||||
|
||||
### Added
|
||||
- Sparkle auto-update flow
|
||||
- Titlebar update UI indicator
|
||||
|
||||
## [1.0.x] - 2025-01-28
|
||||
|
||||
Initial releases with core terminal functionality:
|
||||
- GPU-accelerated terminal rendering via Ghostty
|
||||
- Tab management with native macOS UI
|
||||
- Split pane support
|
||||
- Keyboard shortcuts
|
||||
- Socket API for automation
|
||||
10
CLAUDE.md
10
CLAUDE.md
|
|
@ -88,7 +88,14 @@ git commit -m "Update ghostty submodule"
|
|||
|
||||
## Release
|
||||
|
||||
Tagging a version triggers the GitHub Actions release workflow and uploads the notarized zip.
|
||||
Use the `/release` command to prepare a new release. This will:
|
||||
1. Determine the new version (bumps minor by default)
|
||||
2. Gather commits since the last tag and update the changelog
|
||||
3. Update `CHANGELOG.md` and `docs-site/content/docs/changelog.mdx`
|
||||
4. Bump `MARKETING_VERSION` in the Xcode project
|
||||
5. Commit, tag, and push
|
||||
|
||||
Manual release steps (if not using the command):
|
||||
|
||||
```bash
|
||||
git tag vX.Y.Z
|
||||
|
|
@ -102,3 +109,4 @@ Notes:
|
|||
- The release asset is `cmuxterm-macos.dmg` attached to the tag.
|
||||
- README download button points to `releases/latest/download/cmuxterm-macos.dmg`.
|
||||
- Versioning: bump the minor version for updates unless explicitly asked otherwise.
|
||||
- Changelog: always update both `CHANGELOG.md` and the docs-site version.
|
||||
|
|
|
|||
117
docs-site/content/docs/changelog.mdx
Normal file
117
docs-site/content/docs/changelog.mdx
Normal file
|
|
@ -0,0 +1,117 @@
|
|||
---
|
||||
title: Changelog
|
||||
description: Release notes and version history for cmuxterm
|
||||
---
|
||||
|
||||
# Changelog
|
||||
|
||||
All notable changes to cmuxterm are documented here.
|
||||
|
||||
## [1.12.0] - 2025-01-29
|
||||
|
||||
### Fixed
|
||||
- Handle display scale changes when moving between monitors
|
||||
|
||||
### Changed
|
||||
- Fix SwiftPM cache handling for release builds
|
||||
|
||||
## [1.11.0] - 2025-01-29
|
||||
|
||||
### Added
|
||||
- Notifications documentation for AI agent integrations
|
||||
|
||||
### Changed
|
||||
- App and tooling updates
|
||||
|
||||
## [1.10.0] - 2025-01-29
|
||||
|
||||
### Added
|
||||
- Sentry SDK for crash reporting
|
||||
- Documentation site with Fumadocs
|
||||
- Homebrew installation support (`brew install --cask cmuxterm`)
|
||||
- Auto-update Homebrew cask on release
|
||||
|
||||
### Fixed
|
||||
- High CPU usage from notification system
|
||||
- Release workflow SwiftPM cache issues
|
||||
|
||||
### Changed
|
||||
- New tabs now insert after current tab and inherit working directory
|
||||
|
||||
## [1.9.0] - 2025-01-29
|
||||
|
||||
### Changed
|
||||
- Normalized window controls appearance
|
||||
- Added confirmation panel when closing windows with active processes
|
||||
|
||||
## [1.8.0] - 2025-01-29
|
||||
|
||||
### Fixed
|
||||
- Socket key input handling
|
||||
- OSC 777 notification sequence support
|
||||
|
||||
### Changed
|
||||
- Customized About window
|
||||
- Restricted titlebar accessories for cleaner appearance
|
||||
|
||||
## [1.7.0] - 2025-01-29
|
||||
|
||||
### Fixed
|
||||
- Environment variable and terminfo packaging issues
|
||||
- XDG defaults handling
|
||||
|
||||
## [1.6.0] - 2025-01-28
|
||||
|
||||
### Fixed
|
||||
- Terminfo packaging for proper terminal compatibility
|
||||
|
||||
## [1.5.0] - 2025-01-28
|
||||
|
||||
### Added
|
||||
- Sparkle updater cache handling
|
||||
- Ghostty fork documentation
|
||||
|
||||
## [1.4.0] - 2025-01-28
|
||||
|
||||
### Added
|
||||
- cmuxterm CLI with socket control modes
|
||||
- NSPopover-based notifications
|
||||
|
||||
### Fixed
|
||||
- Notarization and codesigning for embedded CLI
|
||||
- Release workflow reliability
|
||||
|
||||
### Changed
|
||||
- Refined titlebar controls and variants
|
||||
- Clear notifications on window close
|
||||
|
||||
## [1.3.0] - 2025-01-28
|
||||
|
||||
### Added
|
||||
- Debug scrollback tab with smooth scroll wheel
|
||||
- Mock update feed UI tests
|
||||
- Dev build branding and reload scripts
|
||||
|
||||
### Fixed
|
||||
- Notification focus handling and indicators
|
||||
- Tab focus for key input
|
||||
- Update UI error details and pill visibility
|
||||
|
||||
### Changed
|
||||
- Renamed app to cmuxterm
|
||||
- Improved CI UI test stability
|
||||
|
||||
## [1.1.0] - 2025-01-28
|
||||
|
||||
### Added
|
||||
- Sparkle auto-update flow
|
||||
- Titlebar update UI indicator
|
||||
|
||||
## [1.0.x] - 2025-01-28
|
||||
|
||||
Initial releases with core terminal functionality:
|
||||
- GPU-accelerated terminal rendering via Ghostty
|
||||
- Tab management with native macOS UI
|
||||
- Split pane support
|
||||
- Keyboard shortcuts
|
||||
- Socket API for automation
|
||||
|
|
@ -16,6 +16,7 @@
|
|||
"claude-code-hooks",
|
||||
"---Reference---",
|
||||
"osc-sequences",
|
||||
"environment-variables"
|
||||
"environment-variables",
|
||||
"changelog"
|
||||
]
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue