Headline benefits of this extra-curricular release are various security improvements,
and greatly improved error handling and consisstency. Plumbing crates for instance will now
use a standard std::error::Error compatible error type.
Besides that, the tracing of all commands was greatly improved.
Changed (BREAKING)
-
remove full-screen progress mode
Full-screen progress required separate command and UI threads plus channel
coordination, while line progress already covers long-running commands and works
with independently buffered tracing.Remove
--progress,--progress-keep-open, and theprodash-render-tuifeature. Keep synchronous line progress as the only progress UI.
New Features
-
make trace output independently configurable
Quick review only, as it's mostly about tracing and
gixwhich both aren't super
important, and are seemingly working well. An extra agent-review couldn't
find anything either.Replace the old boolean trace switch with a bounded
-t/--tracecounter:
forest INFO and DEBUG at one or two occurrences, then flat DEBUG and TRACE at
three or four. Keep--threadslong-only and route tracing independently of
verbose and progress rendering, including commands with bespoke execution paths
and corpus runs.Initialize display tracing once before repository discovery, buffer it outside
prodash, and emit it after command and progress teardown. Format forest and
flat output with ANSI, then adapt the final stderr write so terminals get color
while pipes andNO_COLORremain plain.Corpus worker subscribers share that sink while retaining their complete
JSON trace storage, and flat modes include completed spans.gix tixremains
delegated to Tix so it installs only one subscriber. -
add and remove linked worktrees from the CLI
rubber-stamp mostly for gitoxide-core changes, did look at it though
just to be sure.Journey test was present but removed.
The CLI previously exposed only worktree listing, despite
gixsupporting
both checkout and safe removal. Addworktree add(aliascreate) and
worktree removeusing those APIs.Creation follows Git's local-branch and detached-revision selection, including
destination-basename defaults and-b. It retains new branches after setup
failures, uses the existing listing format on success, and reports incomplete
checkouts. Removal maps repeated-fflags to dirty-worktree and lock overrides
while retaining branches.Both commands use the existing repository, configuration, and progress options.
Unsupported JSON output is rejected before mutation.
Commit Statistics
- 12 commits contributed to the release over the course of 9 calendar days.
- 13 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Merge pull request #3032 from GitoxideLabs/sec-audit (1d7bac7)
- Merge pull request #2938 from GitoxideLabs/tix-improvements (ac6e89f)
- Address review feedback about gix tix dispatch (5295bfb)
- Merge pull request #3033 from GitoxideLabs/gix-cli-progress-cleanup (80f4b03)
- Remove full-screen progress mode (624ddcd)
- Make trace output independently configurable (bc278ac)
- Merge pull request #3022 from GitoxideLabs/release-testtools (f819565)
- Merge pull request #3029 from cruessler/fix-minor-sha-256-issues-in-cli (6c12f2d)
- Add SHA-256 to
AsHashKind(106db87) - Don't hardcode hash in
gix free index(a8e3143) - Merge pull request #3025 from GitoxideLabs/worktree-create (acf906f)
- Add and remove linked worktrees from the CLI (ca0473a)