- Move all macOS-specific code from root to mac/ directory
- Move app icons and assets to dedicated assets/ directory
- Update GitHub workflows for new structure
- Consolidate documentation files
- Clean up root directory for better multi-platform organization
- Remove GitHub release body fallback
- CHANGELOG.md is now the single source of truth for release notes
- Show clear warning if version is not found in changelog
- Ensures consistency between what's in the repo and what users see
- Update generate-appcast.sh to try multiple version formats
- Now correctly extracts changelog for 1.0-beta.2 from 1.0.0-beta.2 entry
- Both beta releases now show proper release notes in appcast
Major improvements:
- Add common.sh library for consistent error handling and logging
- Fix hardcoded values in scripts (signing identity, volume names, GitHub repo)
- Add comprehensive release documentation with lessons learned
- Create Sparkle key management guide
- Add clean.sh script for managing build artifacts
- Improve error handling and validation across all scripts
- Update lint.sh with proper documentation and better error handling
- Make generate-appcast.sh fail fast if private key is missing
Script improvements:
- release.sh: Add GitHub CLI auth check, remote tag validation
- notarize-app.sh: Auto-detect signing identity from keychain
- create-dmg.sh: Make volume name configurable
- generate-appcast.sh: Extract GitHub info from git remote
- All scripts: Add proper documentation headers
This ensures more reliable and maintainable release process.
- Update generate-appcast.sh to use private key file exclusively
- Add validation to ensure private key exists before signing
- Regenerate appcast signatures with correct key
- Add private/ directory to .gitignore for security
- Add --timestamp flag to all code signing operations
- Fix Sparkle XPC services signing to match VibeMeter approach
- Add comprehensive Sparkle component verification after signing
- Add post-DMG creation verification to ensure app is properly notarized
- Increment build number to 105 for clean beta 2 release
- Created notarize-dmg.sh script to handle DMG notarization
- Updated release.sh to notarize DMG after creation
- Fixed step numbering in release process
- Updated RELEASE.md to include Rust toolchain prerequisites
- Added Rust and Node.js checks to preflight-check.sh
- Included x86_64-apple-darwin target requirement for universal binaries
- Removed Workspace.xcworkspace files
- Updated release.sh to detect if version already contains suffix
- Added critical pre-release checklist to RELEASE.md
- Fixed version back to 1.0.0-beta.2 (removed double suffix)
- Improved documentation about version handling in release process
- Match WelcomeView behavior by checking if vt file physically exists
- Show green checkmark and 'CLI tool is installed' message when installed
- Display installation path when tool is already installed
- Add progress indicator during installation
- Check installation status on view appear
Also updated release scripts to set version before building to prevent version mismatches in About window
- Bump version to build 102
- Add automatic cleanup of development files from app bundle
- Enhance release script with comprehensive build cleaning
- Update CHANGELOG with beta.2 fixes
- Remove app-config.plist, Local.xcconfig, and test files from bundle
- Add entitlements to allow spawning executables with different signatures
- Create build script to properly sign tty-fwd binary during builds
- Add error logging for better debugging of process termination
- Validate control directory permissions before use
- Integrate tty-fwd universal binary build into build.sh
- Automatically build and copy tty-fwd-universal to Resources folder
- Ensure binary is executable and included in app bundle
- Update release process to build universal binary for Intel and Apple Silicon
- Replace stub TunnelServerDemo with full Hummingbird HTTP server
- Add comprehensive debug settings view with server info and controls
- Implement API endpoint listing with interactive testing
- Add TTYForwardManager for tty-fwd integration
- Auto-start HTTP server on app launch on port 8080
- Show server status, port, and base URL in debug panel
- Add test buttons for GET endpoints with live response preview
- Include debug mode toggle and log level selector
- Add quick access to Console.app and Application Support
- Update bundle identifier to sh.vibetunnel.vibetunnel
- Add code signing configuration templates