Skip to content

v2.0.0

Latest

Choose a tag to compare

@github-actions github-actions released this 09 Aug 12:58
· 122 commits to main since this release

Added

  • Shared, committable configuration: init --shared writes the git-flow setup to a .gitflow file at the repository root and copies it into local config, so a team's branch model can live in the repository instead of every clone
  • --shared on every config add, edit, rename, and delete verb edits the shared .gitflow file and re-syncs local config
  • config sync copies .gitflow into local config, and config status reports drift between the two (exit code 6 when they differ)
  • A fresh clone carrying a .gitflow is offered activation on first run — prompted when interactive, applied automatically with gitflow.shared.autoInit, and topic branch types declared only in the shared file get working commands before activation
  • Shell tab completion for both the git-flow and git flow invocations, covering bash, zsh, and fish
  • init --init creates the repository when run outside one, with an interactive prompt offering the same when the flag is absent; the new repository's initial branch is the resolved git-flow trunk rather than init.defaultBranch

Changed

  • Breaking: git flow version now prints 2.0.0 (git-flow-next) instead of git-flow-next version 2.0.0, so the first whitespace-separated token is a bare version number as tooling written against git-flow-avh expects. Scripts matching the old string must be updated
  • Release archives now contain a plain git-flow / git-flow.exe binary instead of a version- and platform-suffixed filename, so it works as the git flow subcommand without renaming after extraction

Fixed

  • Boolean git-config values now follow git-config(1) rules: yes, on, and non-zero integers are truthy and matching is case-insensitive. Previously only the literal true counted, so a setting like git config gitflow.release.finish.push yes was silently a no-op
  • config edit no longer resets boolean settings that were not passed, so editing one field can no longer silently clear an unrelated one such as autoUpdate
  • Interactive init now stores entered branch prefixes verbatim instead of appending a slash, so answering feature_ produces feature_login rather than feature_/login
  • Hooks and filters run from a linked worktree now resolve a relative gitflow.path.hooks or core.hooksPath against that worktree and execute with it as their working directory, instead of pointing at the main checkout
  • Commands run outside a git repository now report a git error suggesting git init (exit code 3) instead of a git-flow-not-initialized error steering to git flow init
  • Adding a base branch now rolls back its saved configuration when creating the git branch fails, leaving no orphaned config and keeping the command safe to retry
  • The config command group is no longer preempted by first-run shared-config activation, including its nested add, edit, rename, and delete subcommands
  • --shared edits now warn when an untrusted gitflow.path.hooks is withheld from local config, matching what config sync already reported
  • Declining the "create a repository?" prompt now reports a decline instead of an internal probe failure
  • git-flow-next now builds on every Go target OS; terminal detection previously had no implementation for aix, solaris, illumos, and plan9

Installation

See the installation instructions in the README.

Checksums

SHA-256 checksums for the release artifacts are available in the checksums.txt file.