All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
Unreleased - ReleaseDate
0.11.1 - 2023-09-01
- Update MSRV to 1.70.0
- Expand range of git versions supported
0.11.0 - 2023-03-30
- Upgraded
git2
0.10.4 - 2023-03-16
- Update dependency
0.10.3 - 2023-03-14
- (cli) Fix terminal detection
0.10.2 - 2023-02-01
0.10.1 - 2023-01-05
0.10.0 - 2022-10-03
- Upgraded
git2
0.9.4 - 2022-09-28
0.9.3 - 2022-06-16
- Adjusted log levels
0.9.2 - 2022-03-23
0.9.1 - 2022-03-23
0.9.0 - 2022-03-23
- Default subcommand now conflicts with subcommands
--color
is now global
0.8.0 - 2022-03-14
- API was simplifi3ed
- Runs
reference-transaction
hook
0.7.0 - 2022-03-11
0.6.0 - 2022-03-01
--stack
,--format
,--fixup
are now case sensitive- Most
--format
options are replaced with--format graph --show-commits ...
--format list
to list branches that are part of the selected stacks (--stack
).
- Be more explicit in why a push didn't happen
- Decouple showing of commits from
--format
0.5.6 - 2022-02-28
- Respect existing upstream configured for current branch
- Respect
remote.pushDefault
0.5.5 - 2022-01-26
- Don't panic on
--base --onto --stack all
0.5.4 - 2022-01-11
0.5.3 - 2021-11-13
- Only prune branches when they don't exist on the server, rather than also if they have a
/
0.5.2 - 2021-11-11
- Do not auto-protect (by age or user) HEAD
0.5.1 - 2021-11-11
- Read
protect-commit-age
from gitconfig
0.5.0 - 2021-11-09
- New
--repair
flag- Re-stacks branches on top of each other
- Tries to merge branches that have diverged
- Stack visualization
- Made it more compact
- Change the commit glyph
- Made it more consistently linear
- Fix sorting so the longest branches are last
- Always show leaf commits
- Refined stack visualization
- Don't lose tranbhes with
--onto
- Don't treat base/onto as protected branches
- Don't pull all when there is nothing to pull
- Respect
--format=commits
- Preserve old commit time on
--rebase
- Branch backup now includes the rebase during
--pull
- Show
--pull
s behavior on dry-run - Allow dirty tree on dry-run
- Reduce the amount of data we process
- Reduce stack usage when rendering
0.4.8 - 2021-10-25
- We should only squash the fixup and not the ones before it
0.4.7 - 2021-10-23
- Detect multi-commit branches are pushable
0.4.6 - 2021-10-22
- Further reduce the chance for stackoverflows
0.4.5 - 2021-10-22
- Summarize other people's branches to unclutter visualization
- Avoid summarizing a branch with HEAD
0.4.4 - 2021-10-22
- Always prune from the push-remote, not just when configured
- Speed up fetching large push-remotes by only fetching what is needed
- Don't fetch the push-remote on dry-run
- Don't mark local edits as protected
0.4.3 - 2021-10-22
- Color log level, regardless of min log level
0.4.2 - 2021-10-22
- Clean up stack visualization
- Remove nesting by not showing merge-bases of protected branches
- Treat large branches as protected, abbreviating them
- Summarize empty stacks
- Summarize old branches
- Reduced or eliminated stackoverflows
0.4.1 - 2021-10-21
- Read all values from
.gitconfig
, rather than just some
0.4.0 - 2021-10-21
- Renamed config
stack.fixp
tostack.auto-fixup
to clarify role
- Changed
--pull
to not performstack.auto-fixup
- Allow
--fixup
to run without--rebase
0.3.0 - 2021-10-20
- Command line argument values have changed
- Renamed
git-branch-backup
togit-branch-stash
- Auto-stash support
- Switched command line arguments to match config file
- Vendor libgit2
- Don't panic on some merge conflicts
- Correctly detect
init.defaultBranch
as a protected branch - Correctly detect some more protected commit cases
- Reduce scope of dirty checks
- Some visualization improvements
- Fix some branch deletion corner cases
- Auto-delete branches from squash-merges
0.2.9 - 2021-10-07
git stack --pull
will also fetch the push-remote, ensuring we show the latest status relative to it.
- Highlight detached HEAD
- Changed branch status precedence
- Tweaked colors
- Smarter color control
0.2.8 - 2021-09-10
- Stack View:
- Make highlights stand out more by using less color
- Highlight dev branches pointing to protected commits
- Make HEAD more obvious by listing it first
- Removed a superfluous remote status
0.2.7 - 2021-09-01
- Stack View:
- Ensure protected commits are hidden when showing multiple protected branches
0.2.6 - 2021-09-01
- Crash on merge of parent branch into child branch
0.2.5 - 2021-08-31
- Don't stack unrelated branches (broken in 0.2.3)
- Stack View
- List HEAD branch after all dev branches to make it easier to spot
- Highlight HEAD branch
0.2.4 - 2021-08-31
- Resolved some more stack construction corner cases
- Stack View
- Removed some degenerate cases by prioritizing protected branches over development branches
- We elide "o" joints, where possible
- Improved legibility of debug view by grouping non-nesting fields
0.2.3 - 2021-08-30
- Don't crash with multiple protected branches
--dump-config
now dumps ingitconfig
format- Stack View: don't duplicate commits
0.2.2 - 2021-08-27
- Rebase
- Don't backup during dry-run
- Stack View:
- Ensure default format shows all branches
- Don't use warning-color on protected commits
- Use distinct color for commits and protected branches
- Reduce nesting in stack view in some degenerate cases
- Show on rebase+dry-run, show tree as-if rebase succeeded
0.2.1 - 2021-08-25
- Close a quote in the undo message
0.2.0 - 2021-08-25
- Undo option
- Built on new
git branch-backup
command which is likegit stash
for branch state - atm only backs up the result of a rebase and not
--pull
- Built on new
- Stack View
- Added new
--format branch-commits
option, now the default - Added new
--format debug
option to help with reporting issues - Abbreviate commit IDs
- Show per-branch status, separating from commit status
- Added new
- Auto-delete branches on
--pull
that were merged into a protected branch
- Reduced conflicts during
--rebase
- Load config when in a worktree
- Restore correct HEAD when multiple branches on the same commit
- Renamed
--format
options:brief
->branches
full
->commits