What's New
This patch release contains a small set of user-facing improvements and a number of internal fixes and packaging tweaks. Highlights include a new "unstage multiple files" command and improvements to the commit-graph rendering and generated avatar styling.
Highlights
Unstage multiple files
- New Tauri command and API:
unstage_files(unstage multiple selected paths in a single operation). - UI: Project view now calls
unstageFilesto perform a single backend operation for bulk unstage. - Git backends:
- CLI backend supports
--pathspec-from-file=- --pathspec-file-nulfor safe, literal path handling. - gix backend delegates to CLI fallback for this operation.
- CLI backend supports
- Tests: comprehensive tests added for the new behaviour (preserving worktree files, literal pathspec handling, whitespace in paths, rejecting empty/NUL paths, initial/unborn-HEAD behaviour).
Commit graph improvements
- Commit graph supports a fixed viewport with horizontal scrolling when the graph has more lanes than fit the viewport.
- Visual / CSS tokens added for lane colours; gradients use named tokens rather than raw colours.
- Utilities exported to compute viewport/total widths, and graph rendering updated to use the shared viewport and scroll position.
- Tests updated for wider graphs and viewport behaviour.
Generated avatars & Titlebar changes
- New stable initials + colour selection helper:
src/utils/generatedAvatar.tssupplies initials and a stable colour index.- CSS tokens added for generated avatar colours/backgrounds.
- Titlebar now accepts an identity name and uses the generated avatar helpers; tests updated to match.
Packaging & build
- Rust version bumped:
rust-version = "1.94.1"insrc-tauri/Cargo.toml. - Packaging/spec files updated to require cargo/rust >= 1.94.1 in OBS/specs and Debian control.
- OBS project config adjusted and packaging scripts updated for source URL validation.
Minor UI & tests
- ProjectView: streamlined avatar / identity handling and bulk unstage flow.
- Commit graph gutter, layout, and accessibility (scroll region) improvements.
- Small CSS tweaks (Titlebar/commit graph/avatars).
- Added and adjusted unit/integration tests for the new features and layout changes.
Other notable changes
- README and docs unchanged in content here (focus was bugfix, graph & staging changes).
- Many internal refactors and test coverage improvements.
- Various build and packaging tweaks to improve compatibility with updated toolchains.
Upgrade / compatibility notes
- No user-facing breaking changes expected.
- If you build packaged artifacts, ensure rust/cargo >= 1.94.1 is available.
- The new
unstage_filesbehaviour depends on the underlying git CLI behaviour; path arguments are treated as literal pathspecs and NUL-separated when provided by the UI/backend.
Full Changelog: v0.10.0...v0.10.1