Skip to content

Releases: GitoxideLabs/gitoxide

gix-hash v0.13.3

10 Dec 08:02
98b08f4
Compare
Choose a tag to compare

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 2 calendar days.
  • 3 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 changelog for gix-index release (b3ecbb7)
    • Merge branch '32bit' (ff1542c)
    • Update faster-hex crate to latest version (b0bfd01)

gix-config v0.32.1

07 Dec 09:13
cd26fd8
Compare
Choose a tag to compare

New Features

  • GIT_CONFIG_NOSYSTEM now also affects the installation directory.
    It makes sense to consider it part of the 'system', and allows for proper
    isolation of gix operations, for example in tests.

    This is also a fix, as previously it checked for ...NO_SYSTEM, instead of NOSYSTEM.

Commit Statistics

  • 2 commits contributed to the release.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Merge branch 'adjustments-for-cargo' (56588a9)
    • GIT_CONFIG_NOSYSTEM now also affects the installation directory. (6738955)

v0.32.0

06 Dec 16:07
a96956b
Compare
Choose a tag to compare

New Features

  • gix rev parse --format to provide different versions of the same content.
    This only applies to blobs, but allows to obtain different versions of the same blob
    like:

    • what's stored in Git
    • what would be checked out to the worktree
    • what would be diffed

Bug Fixes

  • in --trace mode, greatly increase message-buffer size.
    That way, it's much less likely that messages will get lost
    due to being overwritten before they can be displayed every
    100ms or so.
  • set binary name for completions

Bug Fixes (BREAKING)

  • rename GITOXIDE_* environment variables to GIX_#

Commit Statistics

  • 27 commits contributed to the release over the course of 54 calendar days.
  • 54 days passed between releases.
  • 10 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Merge branch 'adjustments-for-cargo' (8156340)
    • Rename GITOXIDE_* environment variables to GIX_# (2189cee)
    • Merge branch 'gix-status' (5fdc9df)
    • gix rev parse --format to provide different versions of the same content. (cf51a4d)
    • J fmt (51c7abc)
    • Merge branch 'gix-status' (dfb3f18)
    • Adapt to changes in gix-diff (1706e23)
    • Add thediff::resource_cache() low-level utility for rapid in-memory diffing of combinations of resources. (4aea9b0)
    • Merge branch 'support_ssl_verify' (5ce9784)
    • In gix read http.sslVerify config value and pass it to gix-transport. (c6e83cf)
    • Merge branch 'check-cfg' (5a0d93e)
    • Remove dead code from non-existent "lean-cli" feature (be1fa2f)
    • Replace all docsrs config by the document-features feature (bb3224c)
    • Merge branch 'feat_basic_connectivity_check' (1f9aca5)
    • Flatten fsck connectivity into just fsck much like git fsck (7ab5c76)
    • Refactor (7a88b42)
    • Add basic connectivity check (8f795e8)
    • Merge branch 'fix-1096' (48ef17e)
    • Allow to print a tree without prettification, using --tree-style raw. (8dfbb4b)
    • Merge branch 'trace-packetlines' (e7de4c7)
    • Automatically enforce strict mode if -c options are given on the command-line. (f9ae1bc)
    • In --trace mode, greatly increase message-buffer size. (b230078)
    • Merge branch 'discover-split-worktree' (16170d9)
    • Add gix free discover to inform about repository discovery. (886289f)
    • Merge branch 'fix_completion-bin-name' (fb81093)
    • Refactor (7f2bc08)
    • Set binary name for completions (eab22bd)

gix-worktree v0.28.0

06 Dec 15:35
d3fd11e
Compare
Choose a tag to compare

Changed (BREAKING)

  • Use the gix-object::Find trait

New Features (BREAKING)

  • Use &dyn gix_object::Find where possible.
    As otherwise, one cannot use &dyn at all in this case as it's
    unsized.`

    Additionally, rename top-level pub use gix_glob to glob to be
    in-line with other public exports of this kind.

Commit Statistics

  • 12 commits contributed to the release over the course of 46 calendar days.
  • 54 days passed between releases.
  • 2 commits were understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Release gix-date v0.8.1, gix-hash v0.13.2, gix-trace v0.1.4, gix-features v0.36.1, gix-actor v0.28.1, gix-validate v0.8.1, gix-object v0.39.0, gix-path v0.10.1, gix-glob v0.14.1, gix-quote v0.4.8, gix-attributes v0.20.1, gix-command v0.3.0, gix-packetline-blocking v0.17.0, gix-utils v0.1.6, gix-filter v0.7.0, gix-fs v0.8.1, gix-chunk v0.4.5, gix-commitgraph v0.22.1, gix-hashtable v0.4.1, gix-revwalk v0.10.0, gix-traverse v0.35.0, gix-worktree-stream v0.7.0, gix-archive v0.7.0, gix-config-value v0.14.1, gix-tempfile v11.0.1, gix-lock v11.0.1, gix-ref v0.39.0, gix-sec v0.10.1, gix-config v0.32.0, gix-prompt v0.8.0, gix-url v0.25.2, gix-credentials v0.22.0, gix-ignore v0.9.1, gix-bitmap v0.2.8, gix-index v0.27.0, gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0, safety bump 27 crates (55d386a)
    • Prepare changelogs prior to release (d3dcbe5)
    • J fmt (51c7abc)
    • Merge branch 'gix-status' (dfb3f18)
    • Use &dyn gix_object::Find where possible. (552bed2)
    • Merge branch 'check-cfg' (5a0d93e)
    • Replace all docsrs config by the document-features feature (bb3224c)
    • Merge branch 'gix-object-find' (c8bd660)
    • Use the gix-object::Find trait (bf1e688)
    • Adapt to changes in gix_object and gix_odb. (24e319e)
    • Merge branch 'size-optimization' (c0e72fb)
    • Remove CHANGELOG.md from all packages (b65a80b)

gix-worktree-stream v0.7.0

06 Dec 15:20
55d386a
Compare
Choose a tag to compare

Changed (BREAKING)

  • Use the gix-object::Find trait

Commit Statistics

  • 15 commits contributed to the release over the course of 46 calendar days.
  • 54 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Prepare changelogs prior to release (d3dcbe5)
    • J fmt (51c7abc)
    • Merge branch 'gix-status' (dfb3f18)
    • Adapt to changes in gix-filter (1763862)
    • Merge branch 'improve-filters' (f09ea13)
    • Adapt to changes in gix-filter (3b71ca5)
    • Merge branch 'fix-1096' (ff99a18)
    • Adapt to changes in gix-object (203d69c)
    • Merge branch 'gix-object-find' (c8bd660)
    • Adapt to changes related to usage of gix-object::Find trait where necessary (5761a4d)
    • Use the gix-object::Find trait (bf1e688)
    • Adapt to changes in gix_object and gix_odb. (24e319e)
    • Merge branch 'size-optimization' (c0e72fb)
    • Remove CHANGELOG.md from all packages (b65a80b)
    • Assure all crates have includes configured (065ab57)

gix-worktree-state v0.5.0

06 Dec 15:51
c8568b9
Compare
Choose a tag to compare

New Features

  • use gix-object::Find trait

Commit Statistics

  • 12 commits contributed to the release over the course of 46 calendar days.
  • 54 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • Uncategorized
    • Release gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0 (d3fd11e)
    • Release gix-date v0.8.1, gix-hash v0.13.2, gix-trace v0.1.4, gix-features v0.36.1, gix-actor v0.28.1, gix-validate v0.8.1, gix-object v0.39.0, gix-path v0.10.1, gix-glob v0.14.1, gix-quote v0.4.8, gix-attributes v0.20.1, gix-command v0.3.0, gix-packetline-blocking v0.17.0, gix-utils v0.1.6, gix-filter v0.7.0, gix-fs v0.8.1, gix-chunk v0.4.5, gix-commitgraph v0.22.1, gix-hashtable v0.4.1, gix-revwalk v0.10.0, gix-traverse v0.35.0, gix-worktree-stream v0.7.0, gix-archive v0.7.0, gix-config-value v0.14.1, gix-tempfile v11.0.1, gix-lock v11.0.1, gix-ref v0.39.0, gix-sec v0.10.1, gix-config v0.32.0, gix-prompt v0.8.0, gix-url v0.25.2, gix-credentials v0.22.0, gix-ignore v0.9.1, gix-bitmap v0.2.8, gix-index v0.27.0, gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0, safety bump 27 crates (55d386a)
    • Prepare changelogs prior to release (d3dcbe5)
    • J fmt (51c7abc)
    • Merge branch 'gix-status' (c87f2cc)
    • Adapt to changes in gix-index (8134767)
    • Merge branch 'gix-object-find' (c8bd660)
    • Thanks clippy (82b01c2)
    • Use gix-object::Find trait (a81514f)
    • Adapt to changes in gix_object and gix_odb. (24e319e)
    • Merge branch 'size-optimization' (c0e72fb)
    • Remove CHANGELOG.md from all packages (b65a80b)

gix-validate v0.8.1

06 Dec 15:20
55d386a
Compare
Choose a tag to compare

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 46 calendar days.
  • 121 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 (d3dcbe5)
    • Merge branch 'size-optimization' (c0e72fb)
    • Remove CHANGELOG.md from all packages (b65a80b)

gix v0.56.0

06 Dec 16:05
476d5ef
Compare
Choose a tag to compare

New Features

  • add gitoxide.core.externalCommandStderr to allow enabling stderr to the enclosing terminal.
    Previously, this was enabled by default, now it can additionally be disabled by
    the caller.
  • use gitoxide.credentials.helperStderr key to control how stderr is handled with helpers.
    That way users can configure each repository instance according to their needs,
    with which includes disabling the stderr of credential helpers.
  • revision::Spec::path_and_mode()
    Provide additional information about revspecs for use with
    worktree filters.
  • add key for diff.external.
    That way it's conceivable that applications correctly run either
    a configured external diff tool, or one that is configured on a
    per diff-driver basis, while being allowed to fall back to
    a built-in implementation as needed.
  • add thediff::resource_cache() low-level utility for rapid in-memory diffing of combinations of resources.
    We also add the object::tree::diff::Platform::for_each_to_obtain_tree_with_cache() to pass a resource-cache
    for re-use between multiple invocation for significant savings.
  • Add config value gitoxide.http.sslNoVerify
    This value can by overriden by GIT_SSL_NO_VERIFY env variable. We use
    the value to override http.sslVerify when specifying ssl_verify in
    transport Options.
  • In gix read http.sslVerify config value and pass it to gix-transport.
  • add gitoxide.core.refsNamespace key and respect the GIT_NAMESPACE environment variable.
    It's also provided as context value.
  • make verbose-object-parsing-errors available in gix.
    That way, it's easy to create programs that are geared towards
    debugging repositories and finding invalid objects with detailed
    errors.
  • add the gitoxide.credentials.terminalPrompt key to represent the GIT_TERMINAL_PROMPT
    That way, it's easy to control the usage of terminals without using and environment.
  • Add http-client-curl-rustls (CLI) and blocking-http-transport-curl-rustls (lib) features to avoid openssl.
    That way, we should be able to avoid crashes on certain CI configurations.
  • add Head::try_into_peeled_object() and Head::peel_to_object_in_place()
    This makes it easier to peel to a specific object type, after
    all tags have been followed, without having to assume an intermediate
    commit.

Bug Fixes

  • assure the correct repository is used for checkouts after clone.
    If this is not the case, it's possible for filters to run in the context of
    potential parent repositories, which then can have all kinds of issues.

    In case of git-lfs, for instance, it would try to download objects
    from the wrong repository.

  • Allow multiple packs to be received one after another.
    Previously it would be difficult to perform another fetch operation on the
    same connection as the final flush packet after a pack wouldn't be consumed.

    This has now been mitigated by consuming it in the one place where knoweldge
    about this specialty exists.

  • don't use trust-dns by default when using request.
    It's reported to have issues under certain condition, please see
    seanmonstar/reqwest#437 for more.

    The blocking-http-transport-reqwest-rust-tls-trust-dns feature was added
    to provide the same feature-set as before for those who want trust-dns.

  • V1 negotiation won't hang anymore
    The logic previously tried to estimate when a pack can be expected,
    and when a NAK is the end of a block, or the beginning of a pack.

    This can be known because a pack (with our settings) needs two things:

    • the server thinks it's ready
  • a done sent by the client

New Features (BREAKING)

  • object::blob::diff::Platform now performs all necessary conversions.
    Previously it would just offer the git-ODB version of a blob for diffing,
    while it will now make it possible to apply all necessary conversion steps
    for you.

    This also moves Event::diff() to Change::diff(), adds
    Repository::diff_resource_cache() and refactors nearly everything
    about the objects::blob::diff::Platform.

  • generalize rename-tracking engine for later use with status.
    Previously the rename tracking engine was integrated with tree-diffs,
    but already operates in a stand-alone fashion.
    Now it's officially generalized which allows it to be tested separately
    and used when tracking renames for diffs between index and tree, index
    and index, and index and worktree.

  • make it possible to trace incoming and outgoing packetlines.
    Due to the way this is (and has to be) setup, unfortunately one
    has to integrate that with two crates, instead of just one.

    This changes touches multiple crates, most of which receive a single
    boolean as last argument to indicate whether the tracing should
    happen in the first place.

  • improve head() peeling API
    Previously it was partially untested and it was hard to obtain an object of choice.

    Further breaking changes:

    • rename Head::peeled() to into_peeled_id()
  • rename Head::into_fully_peeled_id() to try_peel_into_id()
  • rename Head::peel_to_id_in_place() to Head::try_peel_to_id_in_place()

Bug Fixes (BREAKING)

  • rename GITOXIDE_* environment variables to GIX_#
  • Remove unsafe transmute of should_interrupt
    Adds a lifetime to the ExtendedBufRead trait to specify how long the
    callback provided must live.

Commit Statistics

  • 68 commits contributed to the release over the course of 53 calendar days.
  • 54 days passed between releases.
  • 23 commits were understood as conventional.
  • 6 unique issues were worked on: #1061, #1076, #1090, #1125, #1129, #972

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #1061
    • V1 negotiation won't hang anymore (6295dec)
  • #1076
    • Don't use trust-dns by default when using request. (8d9296f)
  • #1090
    • Add the gitoxide.credentials.terminalPrompt key to represent the GIT_TERMINAL_PROMPT (e95bb9f)
  • #1125
    • Fix; SnapshotMut::set_value() now sets values for keys in subsections as well. (d8452a0)
  • #1129
    • Assure the correct repository is used for checkouts after clone. (0b3eb14)
  • #972
    • Allow multiple packs to be received one after another. (3ff1827)
  • Uncategorized
    • Release gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0 (c8568b9)
    • Release gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0 (d3fd11e)
    • Release gix-date v0.8.1, gix-hash v0.13.2, gix-trace v0.1.4, gix-features v0.36.1, gix-actor v0.28.1, gix-validate v0.8.1, gix-object v0.39.0, gix-path v0.10.1, gix-glob v0.14.1, gix-quote v0.4.8, gix-attributes v0.20.1, gix-command v0.3.0, gix-packetline-blocking v0.17.0, gix-utils v0.1.6, gix-filter v0.7.0, gix-fs v0.8.1, gix-chunk v0.4.5, gix-commitgraph v0.22.1, gix-hashtable v0.4.1, gix-revwalk v0.10.0, gix-traverse v0.35.0, gix-worktree-stream v0.7.0, gix-archive v0.7.0, gix-config-value v0.14.1, gix-tempfile v11.0.1, gix-lock v11.0.1, gix-ref v0.39.0, gix-sec v0.10.1, gix-config v0.32.0, gix-prompt v0.8.0, gix-url v0.25.2, gix-credentials v0.22.0, gix-ignore v0.9.1, gix-bitmap v0.2.8, gix-index v0.27.0, gix-worktree v0.28.0, gix-diff v0.38.0, gix-discover v0.27.0, gix-macros v0.1.1, gix-mailmap v0.20.1, gix-negotiate v0.10.0, gix-pack v0.45.0, gix-odb v0.55.0, gix-pathspec v0.4.1, gix-packetline v0.17.0, gix-transport v0.39.0, gix-protocol v0.42.0, gix-revision v0.24.0, gix-refspec v0.20.0, gix-status v0.3.0, gix-submodule v0.6.0, gix-worktree-state v0.5.0, gix v0.56.0, gix-fsck v0.1.0, gitoxide-core v0.34.0, gitoxide v0.32.0, safety bump 27 crates (55d386a)
    • Prepare changelogs prior to release (d3dcbe5)
    • Merge branch 'adjustments-for-cargo' (8156340)
    • Add gitoxide.core.externalCommandStderr to allow enabling stderr to the enclosing terminal. (2762724)
    • Use gitoxide.credentials.helperStderr key to control how stderr is handled with helpers. (6cf73a4)
    • Rename GITOXIDE_* environment variables to GIX_# (2189cee)
    • Merge branch 'gix-status' (5fdc9df)
    • Merge branch 'remove-unsafe' (d2ba97c)
    • Remove unsafe transmute of should_interrupt (88f8b34)
    • revision::Spec::path_and_mode() (77686db)
    • J fmt (51c7abc)
    • Merge branch 'gix-status' (dfb3f18)
    • Adapt to changes in gix-diff (1706e23)
    • object::blob::diff::Platform now performs all necessary conversions. (4743212)
    • Add key for diff.external. (6f4bbc3)
    • Add thediff::resource_cache() low-level utility for rapid in-memory diffing of combinations of resources. (4aea9b0)
    • Merge branch 'support_ssl_verify' (5ce9784)
    • Refactor (ead00e9)
    • Add config value gitoxide.http.sslNoVerify (dd575cd)
    • In gix read http.sslVerify config value and pass it to gix-transport. (c6e83cf)
    • Merge pull request #1140 from bittrance/fix-pr1127 (698caaa)
    • Connect new gitoxide.credentials subsection into section tree. (8b8704f)
    • Adapt to changes in gix-filter (1763862)
    • Merge branch 'improve-filters' (f09ea13)
    • Add gitoxide.core.refsNamespace key and respect the GIT_NAMESPACE environment variable. ...
Read more

gix-utils v0.1.6

06 Dec 15:20
55d386a
Compare
Choose a tag to compare

New Features

  • Add Buffers type.
    It allows to more easily manage a form of 'double buffering'
    to better manage conditional alteration of a source buffer,
    and to implement conversion pipelines which conditionally
    transform an input over multiple steps.

Commit Statistics

  • 6 commits contributed to the release over the course of 46 calendar days.
  • 137 days passed between releases.
  • 1 commit was understood as conventional.
  • 0 issues like '(#ID)' were seen in commit messages

Commit Details

view details
  • Uncategorized
    • Prepare changelogs prior to release (d3dcbe5)
    • Merge branch 'gix-status' (dfb3f18)
    • Add Buffers type. (86cdb42)
    • Merge branch 'size-optimization' (c0e72fb)
    • Remove CHANGELOG.md from all packages (b65a80b)
    • Assure all crates have includes configured (065ab57)

gix-url v0.25.2

06 Dec 15:20
55d386a
Compare
Choose a tag to compare

Bug Fixes

  • specify minimum required url version of v2.2.0.
    Note that this is also the minimal required version that is resolved
    with cargo +nightly update -Z minimal-versions, but it's nothing
    I could validate or reproduce myself just yet.

Commit Statistics

  • 15 commits contributed to the release over the course of 52 calendar days.
  • 53 days passed between releases.
  • 1 commit was understood as conventional.
  • 2 unique issues were worked on: #1082, #1119

Commit Details

view details
  • #1082
    • Add new test-case to reproduce gix-url failure in debug mode only (d78f445)
  • #1119
    • Specify minimum required url version of v2.2.0. (ee47fba)
  • Uncategorized
    • Prepare changelogs prior to release (d3dcbe5)
    • J fmt (51c7abc)
    • Merge branch 'gix-status' (dfb3f18)
    • Merge branch 'check-cfg' (5a0d93e)
    • Replace all docsrs config by the document-features feature (bb3224c)
    • Add another failing gix-url test-case found by the fuzzer. (9158ffc)
    • Merge branch 'size-optimization' (c0e72fb)
    • Remove CHANGELOG.md from all packages (b65a80b)
    • Merge branch 'url-set-password' (650461c)
    • Add test for password and user access (6b10245)
    • Allow changing URL password. (4ba43ac)
    • Merge branch 'fuzz' (c5a7e66)
    • Add a new failure case which doesn't reproduce (bc82f8f)