Releases: slopus/happy-cli
v0.14.0-0
Happy CLI v0.14.0-0 Release Notes
This release introduces significant improvements to alternative AI backend support (Gemini, Codex), enhanced offline resilience, better session management, and comprehensive Bun runtime support.
🚀 New Features
- Gemini ACP Integration: Full Google Cloud Project support with unified messaging, conversation history preservation when switching models, and improved error handling
- Graceful Offline Mode: Background reconnection with deduplicated offline warnings and improved server error handling
- Bun Runtime Support: Add
--js-runtimeoption to use Bun instead of Node.js with transparent runtime compatibility layer - Profile System Enhancements:
- Add
defaultSessionType,defaultPermissionMode, anddefaultModelModeto profile schema - Profile validation and schema migration with backwards compatibility
- Expand
${VAR}references in profile environment variables
- Add
- tmux Integration: Improved session spawning with seamless fallback, environment variable support, and defaults to first existing session when unspecified
- Development Tooling: Add
happy-devglobal binary and dev/stable variant management with automatic environment switching - Claude Path Configuration: Add
HAPPY_CLAUDE_PATHenv var override and fallback path detection
🐛 Bug Fixes
- Session Management: Fix
--continueflag to resume sessions across all Claude Code versions; resolve--continue/--session-idflag conflict in Claude 2.0.64 - API Reliability: Handle 5xx server errors gracefully; improve 403/409 error handling with recovery actions; gracefully handle 404 when
/v1/machinesendpoint unavailable - Path Handling: Handle spaces and underscores in project paths correctly
- ACP Backend: Fix stdout filtering allowing invalid JSON to pass through
- RPC: Allow root path in bash handler for CLI detection
- Socket Connections: Add cleanup calls and socket connection check
- Abort Handling: Make abort graceful; force-close MCP on kill/exit
- Permission Modes: Enable
bypassPermissionsandacceptEditsmodes; add cross-agent permission mode fallback mapping - tmux Fixes: Ensure complete environment inheritance; use native
-Pflag for process PID; enable working directory and fix window creation bugs - Utils: Use Node.js
isDeepStrictEqualdirectly to prevent stack overflow - Logging: Fix circular dependency with persistence module
- Tests: Resolve Vitest hoisting and threading/resource contention issues; use
getProjectPathin sessionScanner test for consistent path calculation
♻️ Refactoring
- Gemini Backend: Prevent session swap race conditions, dedupe history, unify model resolution
- ACP Backend: Improve architecture and reliability
- Agent Module: Restructure agent module architecture
- Code Consolidation: DRY consolidation of Codex/Gemini shared code
🔧 Other Changes
- Update
@anthropic-ai/claude-codeto 2.0.53 and@anthropic-ai/sdkto 0.71.0 - Reorganize documentation with clear user/developer separation
- Move development docs to CONTRIBUTING.md
- Make
happy-deva development-only command - Remove non-working show backup feature
v0.13.0
Release Notes - Happy CLI v0.13.0
This release introduces Gemini backend support through ACP integration, adds session hook tracking for better --continue/--resume support, and includes various improvements and fixes.
🚀 New Features
- Gemini Backend Support: Added ACP (Agent Communication Protocol) integration with Gemini backend, allowing remote sessions to use Gemini as an alternative to Claude
- Gemini Cloud Authentication: Happy cloud OAuth token is now prioritized for Gemini authentication
- Allow Gemini for Remote Start: Gemini can now be selected when starting remote sessions
- Session Hook Tracking: Added session hook tracking to properly support
--continueand--resumeflags, enabling better session persistence - Claude Environment Variables: New
--claude-envflag allows passing custom environment variables to Claude sessions
🐛 Bug Fixes
- Session Hook Cleanup: Fixed session hook cleanup and timeout handling to prevent resource leaks
♻️ Refactoring
- Session Hook Tracking: PR review fixes improving the session hook tracking implementation
🔧 Other Changes
- Windows Scripts: Consolidated Windows-specific packaging scripts for better maintainability
v0.12.0
Release Notes - v0.12.0
🚀 New Features
- Support multiple Claude Code installation methods (npm, Homebrew, native app)
- Auto-select newest Claude Code version between global and bundled installations
- Improved error messages for missing Claude installation
⚠️ Temporary regression
- --resume --continue will not work. We are transitioning to a native claude code installation and our previous workaround with uuid patching will no longer work. Let us know if this is a big problem for you and we will prioritize
🐛 Bug Fixes
- Messages not displaying on remote after mode switch
- ESM import rewriting bug (rolled back pkgroll to 2.14.2)
🔒 Security Improvements
- Restrict file operations to current working directory only
- Stop logging push notification tokens
♻️ Refactoring
- Replace UUID patching with official
--session-idflag - Extract shared CLI utilities and improve version sorting logic
- Significant code simplification by removing custom patching workarounds
🔧 Other Changes
- Upgrade npm packages and fix compatibility issues
- Bump Claude Code dependency version
- Enable
resolveJsonModulein TypeScript config - Fix typos in error messages
- Remove accidentally committed worktree files
v0.12.0-0
Release Notes - v0.12.0-0
A significant update improving Claude Code installation flexibility, fixing critical bugs, and enhancing security.
🚀 New Features
- Support for multiple Claude Code installation methods (npm, Homebrew, native installations)
- Auto-select newest Claude Code version between global and bundled installations
- Improved error messaging when Claude installation is missing
- Use global Claude installation when available
🐛 Bug Fixes
- Fixed messages not displaying on remote after mode switch
- Rolled back pkgroll to 2.14.2 to resolve ESM import rewriting bug
- Restricted file operations to current working directory for improved security
- Stopped logging push notification tokens to prevent exposure
♻️ Refactoring
- Replaced UUID patching with
--session-idflag for cleaner session management - Extracted shared CLI utilities and fixed version sorting logic
🔧 Other Changes
- Upgraded npm packages and resolved compatibility issues
- Upgraded bundled Claude Code version
- Removed accidental worktree commit
v0.11.2
Release Notes - v0.11.2
Minor maintenance release with dependency updates and project cleanup.
♻️ Refactoring
- Upgraded
@anthropic-ai/claude-codeto version 2.0.14
🔧 Other Changes
- Removed
package-lock.jsonin favor of Yarn's lock file - Updated dependency lock file for consistency
v0.11.2-0
Release Notes v0.11.2-0
This release focuses on improving stability, compatibility, and user control with several bug fixes and quality-of-life enhancements.
🚀 New Features
- Add
HAPPY_DISABLE_CAFFEINATEenvironment variable to allow users to disable automatic screen wake prevention (#38)
🐛 Bug Fixes
- Fix process not exiting when authentication is cancelled (#17)
- Fix environment variables not being passed to codex MCP process (#29)
- Fix conversation context not being preserved when switching between interactive and remote modes (#143, #37)
- Auto-detect codex version and use correct MCP command for compatibility (#41)
🔧 Other Changes
- Upgrade
@anthropic-ai/claude-codefrom 2.0.1 to 2.0.13 - Remove
-doption from caffeinate command to allow normal screen lock and display sleep behavior (#20)
v0.11.1
Release Notes - v0.11.1
Minor release with bug fixes and test improvements.
🐛 Bug Fixes
- Emit ready event when codex session becomes idle
🔧 Other Changes
- Fixed flaky tests caused by setup running per file removing dist mid-run
- Updated yarn dev to run against production
v0.11.1-0
Release Notes - v0.11.1-0
A maintenance release focused on test stability and bug fixes.
🐛 Bug Fixes
- Fixed ready event emission timing - now correctly emits when codex session becomes idle (#32)
🔧 Other Changes
- Fixed flaky test issues caused by setup running per file and removing dist during other test runs
- Updated development environment to run against production server
v0.11.0
v0.10.1
Release Notes - Happy CLI v0.10.1
🐛 Bug Fixes
- Fixed Codex functionality - Resolved critical issues with Codex integration that were preventing proper operation
- Fixed parent UUID handling - Reverted problematic changes to parent UUID management for subtasks to ensure stable task hierarchy
✨ Improvements
- Respect Claude's
includeCoAuthoredBysetting - The CLI now properly honors Claude's co-authorship attribution preferences when generating commits, providing better integration with user settings (#25)
📝 Notes
This patch release focuses on stability improvements and better integration with Claude's user preferences. The Codex fixes ensure reliable operation of the MCP client functionality, while the co-authorship setting support improves the git commit workflow experience.