Skip to content

Releases: Byron/gitoxide

gix-trace v0.1.10

06 Sep 05:49
012a754
Compare
Choose a tag to compare

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

view details
  • Uncategorized
    • Prepare changelogs prior to release. (c759819)
    • Merge pull request #1557 from Byron/merge-base (649f588)
    • Allow empty-docs (beba720)
    • Merge branch 'global-lints' (37ba461)
    • Workspace Clippy lint management (2e0ce50)
    • Merge branch 'main' into config-key-take-2 (9fa1054)

gix-path v0.10.11

06 Sep 05:49
012a754
Compare
Choose a tag to compare

Bug Fixes

  • Don't require usable temp dir to get installation config
    When running git config -l ... to find the configuration file
    path associated with the git 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 a git 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 setting GIT_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,
    or TMP or TEMP 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 (usually C:\), 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:

  • 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 calls GetTempDir2 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 like C:\ would work
    when a directory like C:\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 like C:\ 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 like C:\Windows to a directory like C:\ than it
    might seem. After all, if C:\.git exists and and git uses it
    when run from C:\, then git would usually also use it when
    run from C:\Windows (and from numerous other locations)!

    However, the reason there is still a small reason to prefer a
    location like C:\Windows to a location like C:\ is that, if a
    system has a vulnerable git but a user or system administrator
    has sought to work around it by listing C:\ in
    GIT_CEILING_DIRECTORIES, then that may keep git from
    traversing upward into C:\, but it would not keep C:\ 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 the SystemRoot 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 in C:\Windows: they're usually both under
    C:\, and are both not the same as C:\. (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 which safe.directory is not yet implemented, or in which
    GHSA-j342-m5hw-rr3v
    or other vulnerabilities where git 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.

  • dotnet/docs#41193

  • python/cpython#95486 (comment)

  • python/cpython#95486 (comment)

  • 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 cause git 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 a const too (fb0b6d8)
    • Make NULL_DEVICE a const, rather than a static 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...
Read more

gix-worktree v0.36.0

22 Aug 19:47
b3ff033
Compare
Choose a tag to compare

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

22 Aug 18:39
f2b522d
Compare
Choose a tag to compare

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

22 Aug 19:47
b3ff033
Compare
Choose a tag to compare

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

22 Aug 18:39
f2b522d
Compare
Choose a tag to compare

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

22 Aug 19:48
b3ff033
Compare
Choose a tag to compare

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

22 Aug 18:42
4fe330e
Compare
Choose a tag to compare

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

22 Aug 18:26
d19af16
Compare
Choose a tag to compare

Bug Fixes

  • disallow .lock extensions per component.
    Previously, it would allow foo.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 the DoubleDot variant of tag::Error to RepatedDot, while moving
    a couple of variants from reference::Error to tag::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

22 Aug 19:48
b3ff033
Compare
Choose a tag to compare

New Features

  • add objects::tree::diff::Platform::stats() to quickly obtain diff-stats.
    This function is inspired by git2 which also makes it very simple to obtain.
  • allow threaded-handling of tree-diff changes.
    This works by providing Change::detach() and ChangeDetached::attach().
  • add Reference::follow_to_object()
    It's an equivalent to git2::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.
    Additional peel_to_<kind>() shortcuts are also provided, with
    the same name as in git2.
  • 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 optional serde 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() when HEAD was invalid.
    When using a refspec like HEAD: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 the reference::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)
  • 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() when HEAD 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)

gitoxide-160k screensize

git-100k-scloc screensize