Releases: GitoxideLabs/gitoxide
gix-trace v0.1.10
A maintenance release without user-facing changes.
Commit Statistics
- 6 commits contributed to the release over the course of 76 calendar days.
- 145 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
gix-path v0.10.11
Bug Fixes
-
Don't require usable temp dir to get installation config
When runninggit config -l ...
to find the configuration file
path associated with thegit
installation itself, the current
working directory for the subprocess was set to the current
directory prior to #1523, and to/tmp
or a/tmp
-like directory
since #1523 (which improved performance and security).This builds on #1523, as well as on subsequent changes to run
git
in a way that its behavior depends less on its CWD, by making an
even more robust choice of CWD for the subprocess, so that the CWD
is less likely to be deeply nested or on network storage; more
likely to exist; and, on Unix-like systems, less likely to contain
a.git
entry (though agit
with security updates should refuse
to take any configuration from such a repository unless it is owned
by the user).Due to a combination of other measures that harden against
malicious or unusual contents (especially settingGIT_DIR
), the
most significant benefit of this change is to fix the problem that
a nonexistent temp dir would prevent the command from succeeding.The main way that could happen is if
TMPDIR
on Unix-like systems,
orTMP
orTEMP
on Windows, is set to an incorrect value.
Because these variables are sometimes reasonable to customize for
specific purposes, it is plausible for them to be set to incorrect
values by accident.Except on Windows, this always uses
/
as the CWD for the
subprocess.On Windows, we use the Windows directory (usually
C:\Windows
)
rather than the root of the system drive (usuallyC:\
), because:- We are currently obtaining this information from environment
variables, and it is possible for our own parent process to pass
down an overly sanitized environment.
Although this can be so sanitized we cannot find the Windows
directory, this is less likely to occur than being unable to find
the root of the system drive.This due to moderately broad awareness that the
SystemRoot
environment variable (which, somewhat confusingly, holds the path
of the Windows directory, not the root of the system drive)
should be preserved even when clearing most other variables.Some libraries will even automatically preserve
SystemRoot
when
clearing others or restore it. For example: - We are currently obtaining this information from environment
-
Under the current behavior of
env::temp_dir()
, which is now a
fallback if we cannot determine the Windows directory, we already
fall back to the Windows directory evenutally, if temp dir
related environment variables are also unset.This is because
env::temp_dir()
usually callsGetTempDir2
in
the Windows API, which implements that fallback behavior (after
first trying the user's user profile directory).Avoiding adding yet another place to fall back to that would not
otherwise be attempted slightly decreases behavioral complexity,
and there is no reason to think a directory likeC:\
would work
when a directory likeC:\Windows
doesn't. -
The root of the system drive on a Windows system usually permits
limited user accounts to create new directories there, so a
directory likeC:\
on Windows actually has most of the
disadvantages of a location like/tmp
on a Unix-like system.This is actually a much less significant reason to prefer a
directory likeC:\Windows
to a directory likeC:\
than it
might seem. After all, ifC:\.git
exists and andgit
uses it
when run fromC:\
, thengit
would usually also use it when
run fromC:\Windows
(and from numerous other locations)!However, the reason there is still a small reason to prefer a
location likeC:\Windows
to a location likeC:\
is that, if a
system has a vulnerablegit
but a user or system administrator
has sought to work around it by listingC:\
in
GIT_CEILING_DIRECTORIES
, then that may keepgit
from
traversing upward intoC:\
, but it would not keepC:\
from
being used if that is where we already are.An even more significant reason this motivation is a minor one is
that the other measures we are taking, including setting
GIT_DIR
, should be sufficient to avoid at least the security
dimension of the problem, which arises from actually using the
configuration from a repo that is discovered.
-
The user profile directory may be more deeply nested.
-
The user profile directory may sometimes be on slow network
storage when the discovered Windows directory is not. -
In some situations, the user profile directory does not actually
exist, or does not exist yet. -
Overly sanitized environments are more likely to lack the
USERPROFILE
vairable than theSystemRoot
variable. -
Users may occasionally choose to have their entire user profile
directory be a Git repository. -
It's no easier to avoid the problem of using
C:\.git
in a user
profile directory than inC:\Windows
: they're usually both under
C:\
, and are both not the same asC:\
. (If the user profile
directory is a repository, then that will avoid that problem, yet
be its own problem, if not for other measures that prevent both.) -
If the
git
command is an old and unpatched vulnerable version
in whichsafe.directory
is not yet implemented, or in which
GHSA-j342-m5hw-rr3v
or other vulnerabilities wheregit
would perform operations on
untrusted local repositories owned by other users are unpatched,
then a.git
subdirectory of a shared/tmp
or/tmp
-like
directory could be created by another account, and its local
configuration would still have been used. (This is not a bug in
gitoxide per se; having vulnerable software installed that other
software may use is inherently insecure. But it is nice to offer
a small amount of protection against this when readily feasible.) -
If the
/tmp
-like location is a Git repository owned by the
current user, then its local configuration would have been used. -
Parsing is more reliable for paths containing unusual characters,
because-z
/--null
causes all paths to be output literally.Previously,
"
characters were trimmed from the ends, but this
would not always extract a correct path, because when a path
contains characters that causegit
to enclose it in double
quotes, those characters are usually represented in a symbolic
form, usually with\
escapes.In some scenarios, such as usually on Windows when the escaped
character is itself a\
and not in the leading position, the
mangled path would be usable, but more often it would not. -
The volume of output is less, because
--name-only
casues values
not to be included in the output. -
The combination of
-z
/--null
and--name-only
makes the
output format simpler, and the parsing logic is accordingly
simpler.
Commit Statistics
- 56 commits contributed to the release.
- 14 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelogs prior to release. (c759819)
- Merge pull request #1569 from EliahKagan/config-origin-naming (3cf9694)
- Rename to
GIT_HIGHEST_SCOPE_CONFIG_PATH
(0672576) - Merge pull request #1568 from EliahKagan/config-origin-next (adbaa2a)
- Rename
EXE_INFO
to something that probably captures its contents better. (dd2d666) - Run
cargo fmt
(b11f7db) - Make
EXE_NAME
aconst
too (fb0b6d8) - Make
NULL_DEVICE
aconst
, rather than astatic
item (9917d47) - Put
first_file_from_config_with_origin
test with related ones (57e9a6f) - Fix indentation nit (7cd20bb)
- Merge pull request #1567 from EliahKagan/config-origin (dd65e7b)
- Improve structure of
exe_info
tests (5ac5f74) - Clarify comment about where we run
git
from (5200184) - Test no local scope with empty system config (6160a83)
- Don't set/change ceiling directories (2bce0d2)
- Explore also setting a ceiling directory (073e277)
- Fix misstatement of Windows directory rationale (4e936bc)
- Unset a couple env vars just in case (8f6d39d)
- Simplify the new comments (b827813)
- Explain why we run
git
from a different directory (7fa5e35) - Small clarity tweaks (598c487)
- Fix
os::windows
error on non-Windows (1305114) - Refactor for readability; clarify comments (ab0dcc1)
- Fix unused import on non-Windows systems (8472447)
- Don't require usable temp dir to get installation config (f70b904)
- Explain why we don't just use
--system
(29c6cca) - Explain why we don't just use
--show-scope
(f35e44c) - Fix a test name for consistency (15e7b67)
- Add another broken temp test (c80d562)
- Extract nonexistent directory logic to a test helper struct (e60540f)
- Maybe slightly decrease risk of test precondition check failure (56dab13)
- Adjust some test code for clarity (5c1b4c0)
- Check
env::temp_dir()
in both tests that set temp vars (79af259) - Clar...
gix-worktree v0.36.0
A maintenance release without user-facing changes.
Commit Statistics
- 1 commit contributed to the release.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelog prior to (yet another) release (209b6de)
gix-worktree v0.35.0
A maintenance release without user-facing changes.
Commit Statistics
- 3 commits contributed to the release.
- 30 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Release gix-glob v0.16.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (a65a17f)
- Release gix-date v0.9.0, gix-actor v0.31.6, gix-validate v0.9.0, gix-object v0.43.0, gix-path v0.10.10, gix-attributes v0.22.4, gix-command v0.3.9, gix-packetline-blocking v0.17.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-ref v0.46.0, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0, safety bump 25 crates (d19af16)
- Prepare changelogs prior to release (0f25841)
gix-worktree-stream v0.15.0
A maintenance release without user-facing changes.
Commit Statistics
- 1 commit contributed to the release.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelog prior to (yet another) release (209b6de)
gix-worktree-stream v0.14.0
A maintenance release without user-facing changes.
Commit Statistics
- 3 commits contributed to the release.
- 30 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Release gix-glob v0.16.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (a65a17f)
- Release gix-date v0.9.0, gix-actor v0.31.6, gix-validate v0.9.0, gix-object v0.43.0, gix-path v0.10.10, gix-attributes v0.22.4, gix-command v0.3.9, gix-packetline-blocking v0.17.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-ref v0.46.0, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0, safety bump 25 crates (d19af16)
- Prepare changelogs prior to release (0f25841)
gix-worktree-state v0.13.0
A maintenance release without user-facing changes.
Commit Statistics
- 1 commit contributed to the release.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelog prior to (yet another) release (209b6de)
gix-worktree-state v0.12.0
A maintenance release without user-facing changes.
Commit Statistics
- 7 commits contributed to the release over the course of 13 calendar days.
- 30 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Release gix-attributes v0.22.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (f2b522d)
- Release gix-glob v0.16.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (a65a17f)
- Release gix-date v0.9.0, gix-actor v0.31.6, gix-validate v0.9.0, gix-object v0.43.0, gix-path v0.10.10, gix-attributes v0.22.4, gix-command v0.3.9, gix-packetline-blocking v0.17.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-ref v0.46.0, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0, safety bump 25 crates (d19af16)
- Prepare changelogs prior to release (0f25841)
- Merge branch 'daimond113/main' (8077f3e)
- Add a test to trigger the truncate requirement during checkout (fd87ac0)
- Truncate file when checking out (aab78f1)
gix-validate v0.9.0
Bug Fixes
- disallow
.lock
extensions per component.
Previously, it would allowfoo.lock/bar
, and now it doesn't. - prohibit full names with a trailing
.
.
Just like in Git, it's considered invalid.
Bug Fixes (BREAKING)
validate::tag::name()
now rejects names starting with slashes, and with empty components, too
It's a breaking change as it renames theDoubleDot
variant oftag::Error
toRepatedDot
, while moving
a couple of variants fromreference::Error
totag::Error
Commit Statistics
- 10 commits contributed to the release over the course of 62 calendar days.
- 92 days passed between releases.
- 3 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelogs prior to release (0f25841)
- Merge branch 'fixes' (ccc7a1f)
- Disallow
.lock
extensions per component. (62f586c) - Merge branch 'sanitization' (d51f330)
- Use additive approach to avoid issues around removal of indices (9683186)
validate::tag::name()
now rejects names starting with slashes, and with empty components, too (13c7922)- Add all tests imaginable for branch name sanitization (0401758)
- Merge branch 'improvements' (12313f2)
- Prohibit full names with a trailing
.
. (91d29c3) - Merge branch 'main' into config-key-take-2 (9fa1054)
gix v0.66.0
New Features
- add
objects::tree::diff::Platform::stats()
to quickly obtain diff-stats.
This function is inspired bygit2
which also makes it very simple to obtain. - allow threaded-handling of tree-diff changes.
This works by providingChange::detach()
andChangeDetached::attach()
. - add
Reference::follow_to_object()
It's an equivalent togit2::Reference::resolve()
.` - add
Repository::diff_resource_cache_for_tree_diff()
- add
Reference::peel_to_kind()
Make it easy to follow a ref and peel it to a given object type.
Additionalpeel_to_<kind>()
shortcuts are also provided, with
the same name as ingit2
. - add
Repository::find_*()
methods for every object type. - add
Repository::compute_object_cache_size_for_tree_diffs()
.
With it it's easier to obtain reasonable object cache sizes as optimized
for tree-diffs. remote::Name::to_owned()
to get a static version of it.
Also, add optionalserde
support.Reference::remote_name()
now also provides valid remote names for local tracking branches.- add
Reference::peel_to_id_in_place_packed()
to allow passing a packed-buffer snapshot.
This is useful for speeding up reference lookups as otherwise, it will have to validate the packed-buffer
snapshot didn't change internally each time a ref is peeled. - add
remote::Names
as shortcut to the value returned for all remote names.
Bug Fixes
-
similarity detection
Previously it would incorrectly count only the last batch of removed bytes, and now it will count all of them. This leads to realistic results with complex diffs, even though it's probably still not en-par with Git which uses more complex heuristics. -
prevent panic in
Repository::rev_parse_single()
whenHEAD
was invalid.
When using a refspec likeHEAD:file
. -
do not automatically use a parallel directory walk.
This reduces dependencies and can speed-up typical ref-walks as these
don't benefit from this many threads - the overhead here usually outweighs
the benefit.This can be turned back on based on the expected workload.
Other
- make tree-diff more easily discoverable when coming from
git2
Bug Fixes (BREAKING)
-
better peeling performance for reference traversal.
This is done by keeping a packed-buffer around and reusing it, instead
of re-checking it every time.For this to work, the
peeled()
function on thereference::Iter
can now fail
as it has to open a packed-refs snapshot.
Commit Statistics
- 41 commits contributed to the release over the course of 28 calendar days.
- 29 days passed between releases.
- 16 commits were understood as conventional.
- 2 unique issues were worked on: #1508, #1524
Commit Details
view details
- #1508
- Reproduce panic when parsing refspecs (17bd32a)
- #1524
- Add a real-world test to reproduce an issue discovered in
jj
(7ef1e88)
- Add a real-world test to reproduce an issue discovered in
- Uncategorized
- Release gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (4fe330e)
- Release gix-attributes v0.22.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (f2b522d)
- Release gix-glob v0.16.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-config-value v0.14.8, gix-tempfile v14.0.2, gix-ref v0.46.0, gix-sec v0.10.8, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-pathspec v0.7.7, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0 (a65a17f)
- Release gix-date v0.9.0, gix-actor v0.31.6, gix-validate v0.9.0, gix-object v0.43.0, gix-path v0.10.10, gix-attributes v0.22.4, gix-command v0.3.9, gix-packetline-blocking v0.17.5, gix-filter v0.12.0, gix-fs v0.11.3, gix-revwalk v0.14.0, gix-traverse v0.40.0, gix-worktree-stream v0.14.0, gix-archive v0.14.0, gix-ref v0.46.0, gix-config v0.39.0, gix-prompt v0.8.7, gix-url v0.27.5, gix-credentials v0.24.5, gix-ignore v0.11.4, gix-index v0.34.0, gix-worktree v0.35.0, gix-diff v0.45.0, gix-discover v0.34.0, gix-dir v0.7.0, gix-mailmap v0.23.6, gix-negotiate v0.14.0, gix-pack v0.52.0, gix-odb v0.62.0, gix-packetline v0.17.6, gix-transport v0.42.3, gix-protocol v0.45.3, gix-revision v0.28.0, gix-refspec v0.24.0, gix-status v0.12.0, gix-submodule v0.13.0, gix-worktree-state v0.12.0, gix v0.65.0, gix-fsck v0.5.0, gitoxide-core v0.40.0, gitoxide v0.38.0, safety bump 25 crates (d19af16)
- Prepare changelogs prior to release (0f25841)
- Merge branch 'improvements' (9ed2b24)
- Similarity detection (6990afd)
- Fix similarity detection (f8c5d9c)
- Better peeling performance for reference traversal. (ba72ee0)
- Merge branch 'improvements' (242fedc)
- Use improved gix-diff API for better buffer handling (f944e49)
- Add
objects::tree::diff::Platform::stats()
to quickly obtain diff-stats. (e079250) - Allow threaded-handling of tree-diff changes. (b291de0)
- Add
Reference::follow_to_object()
(d986b2b) - Add
Repository::diff_resource_cache_for_tree_diff()
(6c6f946) - Add
Reference::peel_to_kind()
(cdaba84) - Adapt to changes in
gix-ref
(d296ee8) - Adapt to changes in
gix-ref
(5464bfb) - Add
Repository::find_*()
methods for every object type. (98bcb14) - Add
Repository::compute_object_cache_size_for_tree_diffs()
. (63c7a03) - Make tree-diff more easily discoverable when coming from
git2
(26748dd) - Merge pull request #1529 from Byron/better-copy-detection (7b7902e)
- Remove
#[momo]
directive as it seems to prevent auto-completion in IDEs. (3a339da) - Merge pull request #1521 from mvlabat/fix-dir-filename-tracking (12251eb)
- Fix dir name tracking in the FileName mode (63936e5)
- Merge branch 'fix-panic' (0b28297)
- Prevent panic in
Repository::rev_parse_single()
whenHEAD
was invalid. (e74095e) - Merge branch 'improvements' (7dff447)
remote::Name::to_owned()
to get a static version of it. (8a27454)- Merge branch 'improvements' (29898e3)
Reference::remote_name()
now also provides valid remote names for local tracking branches. (6ac2867)- Add
Reference::peel_to_id_in_place_packed()
to allow passing a packed-buffer snapshot. (c612440) - Do not automatically use a parallel directory walk. (6f2eb91)
- Add
remote::Names
as shortcut to the value returned for all remote names. (7c8f409) - Merge branch 'ag/jiff' (5871fb1)
- Assure the next release is breaking (9fd1090)
- Release gix-credentials v0.24.4 (f6a4eb9)
- Merge branch 'fix-clean' (33eacfb)
- Adapt to changes in
gix-dir
(37c2852)