Update Rust crate gix-object to 0.65 - #1170
Open
renovate[bot] wants to merge 1 commit into
Open
renovate[bot] wants to merge 1 commit into
renovate[bot] wants to merge 1 commit into
Conversation
renovate
Bot
force-pushed
the
renovate/gix-object-0.x
branch
2 times, most recently
from
August 24, 2026 05:58
6e60ccf to
e19a9cf
Compare
renovate
Bot
force-pushed
the
renovate/gix-object-0.x
branch
from
September 3, 2026 01:38
e19a9cf to
d7e6c73
Compare
renovate
Bot
force-pushed
the
renovate/gix-object-0.x
branch
from
September 15, 2026 12:58
d7e6c73 to
7f65712
Compare
Contributor
|
Important Review skippedBot user detected. To trigger a single review, invoke the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Advanced Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
renovate
Bot
force-pushed
the
renovate/gix-object-0.x
branch
from
September 24, 2026 19:39
7f65712 to
f24ce01
Compare
renovate
Bot
force-pushed
the
renovate/gix-object-0.x
branch
from
September 25, 2026 17:45
f24ce01 to
6fa9a14
Compare
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
0.63→0.65Release Notes
GitoxideLabs/gitoxide (gix-object)
v0.65.0: gix-object v0.65.0Compare Source
New Features
add
Never::panic_on_access()to forbid object accessTests that must avoid object database access can use
Never::panic_on_access()instead of implementing their own panicking stores. The returned
PanicAlwaystype panics on reads, existence checks, and writes, while preserving the
existing
Neverunit struct and its behavior.Replace the custom panicking stores in the null-ID tests in
gix-diffandgix-merge, and cover every object-access method. Validated theobject,diff,and
mergeintegration test suites andcargo fmt --all -- --check.Keep rustdoc links aligned with the constructor name. CI's
testandlintjobs build documentation with warnings denied, and the old
Never::fail_always()links failed to resolve. The failure was reproducedlocally;
RUSTDOCFLAGS='-D warnings' cargo doc -p gix-object --no-deps --features sha1passes with the corrected links.
Bug Fixes
Keep rust workspace tests inside disposable repositories and isolated environments
Direct Git launches inherited repository selectors and user configuration even
when tests supplied a fixture working directory. Tests of default-environment
APIs and local Git transports also shared the runner's environment. A few
journey tests wrote beneath source directories or used the source checkout as
the repository under test.
Use the shared
gix-testtoolsGit command builder for subprocess setup, isolatedrepository options for fixtures, and isolated child processes where the real
environment-reading API must be exercised. Scope CWD changes, copy the fixture
used by an object-write test, and run shell journeys through
jtt run. Keepjourney worktrees and example output within their disposable sandboxes and
replace the attributes checkout test with a representative fixture repository.
Prompt examples also run in isolated children and must build successfully; the
old tests could ignore build failures and execute stale cached binaries.
The affected Rust crate suites, internal test-tool build, and
max-purejourneysuite pass from a source copy without Git metadata. Signing and Git-daemon
checks use only disposable keys, repositories, and local sockets.
omit the final newline from bodyless commit titles
An ordinary commit created with
git commit -m "initial commit"exposes"initial commit\n"asMessageRef::titlebecause the no-separator pathreturns the entire message. Exclude a final LF or CRLF in that shared
parser path, preserving other whitespace, interior newlines, and raw bytes.
Correct the existing LF and CRLF expectations, add boundary cases for empty
and multiline titles, whitespace, lone CR, and non-UTF-8 bytes, and update
the public documentation and
gixreference example.Git reference:
pretty.c(is_blank_line()andformat_subject()) andt/t6006-rev-list-format.shat1630431f326e15fcde608827b5ff38422528eb59.Git 2.50.1 also returns
Sync with 'maint'via%sfor reference commitaec3f587505a472db67e9462d0702e7d463a449d, whose raw message ends in LF.invoke signature programs without a shell
Treat signing and verification programs as executable paths, matching the
argv-based launch used by Git. Shell detection treated paths containing spaces
as shell commands, so unquoted Windows paths could fail before reaching the
signer.
Keep wrapper customization explicit through
program_argumentsand cover signerand verifier paths containing spaces with regression tests.
Changed (BREAKING)
migrate errors to gix-error
rubberstamp
raise MSRV to Rust 1.88
The newly published
dua-core3.3 release used by linked-worktree removalrequires Rust 1.88, so raise every workspace crate and the advertised badge
together.
Keep the MSRV checks buildable by selecting the latest
sysinfoandrusqliterelease lines that support Rust 1.88.
Commit Statistics
Commit Details
view details
f51c0c5)6356013)daf73b5)8c101c9)4b9ff51)c609062)4e0f8ff)4f29e0c)d7551f1)Never::panic_on_access()to forbid object access (36e9406)c16300c)b7bedcf)9b26904)a095334)4b42e0c)7e35849)888677a)6704303)v0.64.1: gix-object v0.64.1Compare Source
Commit Statistics
Commit Details
view details
47536a5)b8914ff)v0.64.0: gix-object v0.64.0Compare Source
New Features (BREAKING)
support signing and verifying annotated tags
Breaking as it renames
Tag::pgp_signaturetosignature.Extend
gix-objectsignature support from commits to annotated tags.Signature infrastructure
gix_object::signaturemodule.signaturefeature.shared verification outcome for all object types.
Annotated tags
Tag::sign()andTagRef::sign().multiple signatures.
New Features
add explicit commit signing to gix-object
Add plumbing for signing commits through external OpenPGP, X.509, and SSH
programs under the shared signature feature. Accept fully resolved signer
options so callers control the program, key, environment, and arguments
without introducing repository configuration into the object crate.
Replace an existing signature using the hash-appropriate commit header,
normalize signer output, and report process and malformed-output failures
with context. Cover every supported format, SHA-256 headers, replacement,
literal SSH keys, and verify generated signatures through the sibling
plumbing verifier as well as the external reference programs.
add commit signature verification to gix-object via
commit::SignedData::verify()Add feature-gated plumbing for verifying OpenPGP, X.509, and SSH commit
signatures with fully resolved programs, arguments, environments, trust
thresholds, and SSH policy inputs. Keep repository configuration out of
the object crate while exposing Git-compatible status, identity, key, and
fingerprint results.
Stream signed commit data directly to OpenPGP and SSH verifiers without
reconstructing it. Use a temporary payload only where gpgsm requires a
file, and cover Git status parsing plus unsupported and mismatched formats.
recognize SHA-256 commit signature headers
Teach commit parsing and signature extraction about the gpgsig-sha256
header used by Git when signing SHA-256 commits. Treat it like gpgsig
when locating the embedded signature while preserving the actual header
name when reconstructing the signed payload.
Cover both full commit parsing and token iteration so callers observe
the signature consistently through either API.
add
tree::name_order()for git-style tree-entry comparisonsupport Assisted-by commit trailers, count them as attributions.
Expose Assisted-by predicates and iterators alongside Co-authored-by, and
include agent assistance in the general attribution stream without treating
assistants as authors.
expose commit message blocks via
Commit::body()::message_blocks()This allows parsing messages that have been concatenated, and each message
has its own trailers.
Commit Statistics
Commit Details
view details
ebe9095)7424676)Tree::bisect_entry()to be more succinct (579544e)f3bbfad)26d231b)ca7563e)commit::SignedData::verify()(5b90699)a30f442)gix-testtools(0cbe539)tree::name_order()for git-style tree-entry comparison (c6cf668)2a4d996)Store::at()where possible (17fea2a)2fadbc7)e5370e6)Commit::body()::message_blocks()(f2e90e9)ae8845a)Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.