Improve changelog contributor attribution and management

- Add (via @contributor) attribution for all changes in CHANGELOG.md
- Create comprehensive changelog management guide at docs/changelog-management.md
- Remove bot contributors from recognition sections
- Fix formatting issues with missing newlines between list items
- Document /changelog command usage and best practices
This commit is contained in:
Peter Steinberger 2025-07-20 11:47:36 +02:00
parent bb52efdcf2
commit 337ef43b00
2 changed files with 278 additions and 9 deletions

View file

@ -29,6 +29,10 @@
- Added complete HQ mode documentation covering distributed deployments
- Organized all documentation into logical categories with Mintlify
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@hewigovens](https://github.com/hewigovens) - Added systemd service management for Linux deployments, refactored installer for user-level services with improved security (#419)
## [1.0.0-beta.12] - 2025-07-17
#### **Welcome Screen Performance**
@ -61,6 +65,10 @@
- Fixed lint and type errors across the codebase
- Cleaned up duplicate and stray files from web directory
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@amazanov](https://github.com/amazanov) - Fixed PAM module and npm_config_prefix issues on Ubuntu, improving Linux compatibility (#380)
## [1.0.0-beta.11] - 2025-07-17
#### **Better Settings Organization**
@ -82,7 +90,7 @@
#### **Improved `vt` Command**
- Added verbosity control with `-q` (quiet), `-v` (verbose), `-vv` (extra verbose) flags (#356)
- New `vt title` command to update session names from within a VibeTunnel session
- New `vt title` command to update session names from within a VibeTunnel session (via @tarasenko)
### 🐛 Bug Fixes
@ -92,15 +100,20 @@
- Replaced bell icon with settings icon for better clarity (#366)
- Resolved Tailwind CSS performance warning
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@janremes](https://github.com/janremes) - Implemented Git repository discovery with folder selection and automatic repo detection (#274)
- [@lukeswitz](https://github.com/lukeswitz) - Fixed duplicate session creation with intelligent detection logic (#345)
## [1.0.0-beta.10] - 2025-07-15
#### **Repository Discovery**
- Automatic Git repository detection when creating new sessions (#301)
- Automatic Git repository detection when creating new sessions (#301) (via @mrshu)
- Recently modified repositories displayed in new session dialog
- Quick project access with one-click repository selection
#### **Keyboard Shortcut Handling**
- Redesigned keyboard capture system with intelligent priority handling (#298)
- Redesigned keyboard capture system with intelligent priority handling (#298) (via @tarasenko)
- Browser shortcuts work naturally: Cmd+Shift+A (tab search), Cmd+1-9 (tab switching), Alt+Arrow keys
- Visual keyboard capture indicator with detailed tooltips
- Double-Escape toggle for switching between browser and terminal keyboard modes
@ -110,7 +123,6 @@
- Professional light mode with improved contrast (#314)
- Easy theme switching between light and dark modes
- Enhanced terminal color schemes (#332)
#### **Development Server Mode**
- New "Development Server" mode in Debug Settings enables hot reload (#316)
- Significantly faster iteration when developing the web interface
@ -119,13 +131,20 @@
### 🐛 Bug Fixes
- Fixed Safari clipboard paste on iOS and macOS (#336)
- Fixed duplicate session creation with intelligent detection (#345)
- Fixed duplicate session creation with intelligent detection (#345) (via @lukeswitz)
- Added keyboard navigation in session grid (arrow keys, Enter, etc.) (#322)
- Fixed race conditions in network access mode (#347)
- Improved SSH key manager modal layout (#325)
- Improved SSH key manager modal layout (#325) (via @taoxugit)
- Updated all dependencies to latest stable versions
- Enhanced TypeScript configuration with better type safety
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@davidgomesdev](https://github.com/davidgomesdev) - Transformed SessionListView to clean MVVM architecture for better maintainability (#217)
- [@jeffhurray](https://github.com/jeffhurray) - Consolidated z-index management to prevent UI layer conflicts (#291)
- [@taoxugit](https://github.com/taoxugit) - Fixed SSH key manager modal layout and improved test compatibility (#325)
- [@tarasenko](https://github.com/tarasenko) - Added browser keyboard shortcut support with intelligent priority handling (#298)
## [1.0.0-beta.9] - 2025-07-11
#### **Terminal Crash Fix**
@ -144,23 +163,27 @@
- Added support for smaller grid sizes on compact devices
- Added Alt+Delete/Left/Right keyboard shortcuts for mobile users (#290)
- Fixed mobile header overflow when using dropdown menus (#295)
#### **Cloudflare Integration**
- Improved tunnel setup with stream-based monitoring (#306)
- Enhanced error handling and more reliable setup process
#### **Git Repository Discovery**
- Enhanced folder selection when creating new sessions (#274)
- Enhanced folder selection when creating new sessions (#274) (via @janremes)
- Added intelligent Git repository discovery in selected folders
- Fixed multiple bugs in repository discovery (#282)
### 🐛 Bug Fixes
- Fixed terminal titles jumping due to activity indicators (#309)
- Consolidated z-index management to prevent UI layer conflicts (#291)
- Consolidated z-index management to prevent UI layer conflicts (#291) (via @jeffhurray)
- Enhanced event handling for better cross-platform compatibility
- Improved file browser functionality with better click handling
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@claywarren](https://github.com/claywarren) - Fixed infinite scroll loop that could freeze the browser (#206)
- [@luisnell](https://github.com/luisnell) - Added Apple Silicon Homebrew path check for VT tool installation
## [1.0.0-beta.8] - 2025-07-08
### 🐛 Bug Fixes
@ -221,6 +244,14 @@
- Unified control protocol for terminal sessions (#239)
- Improved Unix socket handling with better error recovery
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@deveshseth](https://github.com/deveshseth) - Fixed responsive layout issues preventing proper desktop mode transition (#201)
- [@raghavsethi](https://github.com/raghavsethi) - Added fish shell expansion support with proper syntax handling (#228, #242)
- [@raghavsethi](https://github.com/raghavsethi) - Fixed Xcode Node.js detection issues with fnm/homebrew conflicts (#246, #253)
- [@sandeepjak2007](https://github.com/sandeepjak2007) - Added paste button to quick keyboard for improved iOS usability (#227)
- [@Dimillian](https://github.com/Dimillian) - Fixed WebSocket and terminal resize loop on iOS devices (#224)
## [1.0.0-beta.6] - 2025-07-03
#### **Git Repository Monitoring**
@ -260,6 +291,11 @@
- Removed manual token management requirements
- Streamlined connection UI
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@noppe](https://github.com/noppe) - Enabled scrolling in ConnectionView for narrow windows, improving UI accessibility
- [@tarasenko](https://github.com/tarasenko) - Added title mode support and enhanced CLI installation verification (#153)
## [1.0.0-beta.5] - 2025-06-29
#### **UI Improvements**
@ -282,6 +318,11 @@
- Better test fixtures, helpers, and debugging capabilities (#73)
- Cleaner logs when running in development mode
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@manuelmaly](https://github.com/manuelmaly) - Added gemini quick start button and slash commands for enhanced workflow (#128, #138)
- [@billyb2](https://github.com/billyb2) - Fixed repeated screen recording permission dialogs for better user experience
## [1.0.0-beta.4] - 2025-06-25
- We replaced HTTP Basic auth with System Login or SSH Keys for better security (#43).
@ -293,6 +334,12 @@
- Leverages View Transitions API for smoother animations with CSS fallbacks
- More intuitive default settings for better out-of-box experience
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@hjanuschka](https://github.com/hjanuschka) - Implemented authentication system with SSH key management for better security (#43)
- [@hjanuschka](https://github.com/hjanuschka) - Added screen sharing functionality with WebRTC (later removed in beta.13) (#209)
- [@chrisreyn](https://github.com/chrisreyn) - Fixed double shell-wrapping issues for aliases in vt script (#132)
## [1.0.0-beta.3] - 2025-06-23
There's too much to list! This is the version you've been waiting for.
@ -313,6 +360,12 @@ There's too much to list! This is the version you've been waiting for.
- More resilient vt command-line tool with better error handling
- Ensured vibetunnel server properly terminates when Mac app is killed
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@tarasenko](https://github.com/tarasenko) - Added Bonjour/mDNS service discovery for iOS app connectivity (#226)
- [@PiotrBosak](https://github.com/PiotrBosak) - Updated README documentation for clarity
- [@zhouzhuojie](https://github.com/zhouzhuojie) - Added Cloudflare Quick Tunnel as a new access option
## [1.0.0-beta.2] - 2025-06-19
### 🎨 Improvements
@ -329,6 +382,10 @@ There's too much to list! This is the version you've been waiting for.
- Fixed PTY service enhancements with proper async operations
- Fixed race condition in session creation that caused frontend to open previous session
### 👥 Contributors
First-time contributors to VibeTunnel:
- [@moffmann](https://github.com/moffmann) - Updated CONTRIBUTING.md documentation
## [1.0.0-beta.1] - 2025-06-17
### 🎉 First Public Beta Release
@ -470,6 +527,10 @@ Created by:
- [@mitsuhiko](https://lucumr.pocoo.org/) - Armin Ronacher
- [@steipete](https://steipete.com/) - Peter Steinberger
First-time contributors to VibeTunnel:
- [@hjanuschka](https://github.com/hjanuschka) - Implemented comprehensive authentication system with SSH key management and PAM support (#43)
- [@hjanuschka](https://github.com/hjanuschka) - Added keyboard shortcut highlighter, fixed Japanese input duplication on iOS, and sleep prevention option (#114, #102, #146)
### 📄 License
VibeTunnel is open source software licensed under the MIT License.

View file

@ -0,0 +1,208 @@
# Changelog Management Guide
This guide explains how to maintain the CHANGELOG.md and GitHub releases for VibeTunnel.
## Overview
We maintain a comprehensive changelog that:
- Documents all user-facing changes
- Credits contributors properly with GitHub links
- Tracks first-time contributors for each release
- Provides clear, user-friendly descriptions
## Using the `/changelog` Command
The `/changelog` command in Claude Code analyzes git history to generate comprehensive changelogs:
```bash
# In Claude Code, simply type:
/changelog
```
This command:
- Analyzes commit history beyond just titles
- Examines actual file changes to understand user impact
- Groups changes by category (Features, Bug Fixes, Performance, etc.)
- Writes user-focused descriptions (not developer jargon)
## Changelog Format
### Version Header
```markdown
## [1.0.0-beta.13] - 2024-12-20
```
### Categories
- **Features** - New functionality
- **Improvements** - Enhancements to existing features
- **Bug Fixes** - Fixed issues
- **Performance** - Speed/efficiency improvements
- **Developer Experience** - Build, test, or development improvements
### Attribution Format
Every change should credit its contributor:
```markdown
- Added systemd service management for Linux deployments (via [@hewigovens](https://github.com/hewigovens)) (#419)
```
Format: `- Description (via [@username](https://github.com/username)) (#PR)`
### First-time Contributors Section
For releases with new contributors:
```markdown
### First-time Contributors
- [@hewigovens](https://github.com/hewigovens) - Added systemd service management for Linux (#419)
```
## Identifying Contributors
### Finding First-time Contributors
```bash
# Get all contributors up to a specific release
git log --format="%an|%ae" v1.0.0-beta.12 | sort -u
# Get contributors for a specific release
git log --format="%an|%ae" v1.0.0-beta.12..v1.0.0-beta.13 | sort -u
# Compare to find first-timers
```
### Mapping Changes to Contributors
```bash
# Find who made specific changes
git log --oneline --author="username" v1.0.0-beta.12..v1.0.0-beta.13
# Get detailed commit info with files
git log --stat --author="username" v1.0.0-beta.12..v1.0.0-beta.13
```
## Special Cases
### Bot Contributors
Do not highlight bot contributors as first-time contributors or include them in the contributors list:
- `devin-ai-integration[bot]`
- `blacksmith-sh[bot]`
- Other `*[bot]` accounts
**Important**: Bot contributions should be completely excluded from:
- First-time contributors sections
- The main contributors list at the end of CHANGELOG.md
- GitHub release notes contributors sections
Bot changes can be mentioned in regular changelog entries (e.g., "Added SwiftLint hooks") but without attribution.
### Core Team
Core team members (repository owners) don't need "(via @username)" attribution unless specifically requested.
### Multiple Contributors
If multiple people worked on a feature:
```markdown
- Feature description (via [@user1](https://github.com/user1), [@user2](https://github.com/user2)) (#123)
```
## GitHub Releases
### Creating a Release
1. **Generate changelog** using `/changelog` command
2. **Review and edit** the generated content
3. **Update CHANGELOG.md** with the new version section
4. **Create GitHub release**:
```bash
gh release create v1.0.0-beta.14 \
--title "v1.0.0-beta.14" \
--notes-file release-notes.md \
--prerelease
```
### Release Notes Format
The GitHub release should include:
1. **Highlights** - 2-3 major changes
2. **Full changelog** - Copy from CHANGELOG.md
3. **First-time contributors** - If applicable
4. **Installation instructions** - Brief reminder
Example:
```markdown
## Highlights
- 🐧 Linux systemd service support for production deployments
- 🔧 Improved authentication reliability
- 🚀 Better performance for large terminal outputs
## What's Changed
[Copy from CHANGELOG.md]
## First-time Contributors
- @hewigovens made their first contribution in #419
## Installation
See [installation instructions](https://github.com/vibetunnel/vibetunnel#installation)
```
### Updating Existing Releases
To add first-time contributors to existing releases:
```bash
# Edit a release
gh release edit v1.0.0-beta.13 --notes-file updated-notes.md
# Or use the GitHub web UI
```
## Workflow Summary
1. **Before release**: Run `/changelog` to analyze changes
2. **Review output**: Ensure proper attribution and user-friendly descriptions
3. **Update CHANGELOG.md**: Add new version section with proper formatting
4. **Create release notes**: Include highlights and first-time contributors
5. **Create GitHub release**: Use `gh release create` or web UI
6. **Verify**: Check that all contributors are properly credited
## Tips
- Always verify contributor GitHub usernames for correct links
- Use clear, non-technical language in descriptions
- Include PR numbers for traceability
- Group related changes together
- Highlight breaking changes prominently
- Credit everyone who contributed, no matter how small
## Example Workflow
```bash
# 1. Generate changelog
/changelog
# 2. Create release notes file
cat > release-notes.md << 'EOF'
## Highlights
- 🎯 Major feature one
- 🐛 Critical bug fix
- ⚡ Performance improvement
## What's Changed
[Paste from CHANGELOG.md]
## First-time Contributors
- @newcontributor made their first contribution in #123
## Installation
See [installation instructions](https://github.com/vibetunnel/vibetunnel#installation)
EOF
# 3. Create release
gh release create v1.0.0-beta.14 \
--title "v1.0.0-beta.14" \
--notes-file release-notes.md \
--prerelease
# 4. Clean up
rm release-notes.md
```