Skip to content

v1.44.0

Choose a tag to compare

@github-actions github-actions released this 19 Mar 08:49
· 146 commits to main since this release
v1.44.0

This release introduces a unified worktree metadata menu, comprehensive JSON output support for CLI commands to aid automation, and improved browser integrations. It also includes an important breaking change to action IDs for keybinding configurations to prevent pane collisions and make configurations self-documenting.

image

🚀 Features

  • Unified Metadata Menu: Added a new worktree metadata menu (press e in the worktree pane) to easily edit a worktree's description, colour, notes, icon, and tags from a single interface.
  • CLI Introspection: Introduced the describe command to output the CLI command structure as machine-readable JSON, enabling coding agents and external scripts to discover available commands programmatically.
  • CLI JSON Support: Added the --json flag to create, delete, rename, exec, and note show commands for structured, machine-readable output.
  • Enhanced list Command: The list --json output now includes worktree notes and agent session metadata. Added a --no-agent flag to omit agent data for faster script execution.
  • Configurable Execution Modes: Added an --exec-mode flag for create --exec to control shell invocation (login-shell, shell, or direct).
  • Enhanced Browser Navigation: Pressing o in the logs pane now opens the selected commit in the browser. When opening a worktree in the browser without an active Pull Request, the application now smartly falls back to opening the current branch page on GitHub or GitLab.

🐛 Bug Fixes

  • Worktree Creation Flow: Fixed the issue-to-worktree flow to ensure that branch name script error notifications preserve the correct context and include worktree note script execution.

⚡ Performance Improvements

  • Action Registry: Replaced an O(n) inner loop with an O(1) map lookup for updating action shortcuts, improving keybinding initialization performance.

🧹 Maintenance / Refactoring

  • Namespaced Action IDs: Prefixed every command-palette action ID with its section (e.g., worktree-create, git-diff, nav-filter) to eliminate cross-pane collisions.
  • Code Quality: Extracted test helpers and deduplicated AST parsing logic to reduce boilerplate across the codebase.
  • Documentation: Updated documentation to clearly explain pane-scoped keybindings and custom commands. Cleaned up the README by refining the features list and removing outdated development sections.
  • Project Structure: Renamed the Claude skill directory from worktree-manage to worktree-manager for consistency.

📦 Dependencies

  • Updated Homebrew cask to v1.43.0.
  • Updated project coverage badges.

💥 Breaking Changes

  • Custom Keybindings Update Required: All action IDs have been namespaced by their pane/section to prevent ambiguity. If you have configured custom keybindings in your config.yaml using the old bare action IDs (e.g., create, diff, lazygit), you must update them to use the new prefixed names (e.g., worktree-create, git-diff, git-lazygit). Please refer to the Action IDs Reference documentation for the complete list of new names.

Contributors