1424 lines · 109.4 KB · Markdown
RawDownload

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

0.22.0 (2022-11-06)

Changed (BREAKING)

  • fetch::Ref::unpack() returns Option<oid>. That way the caller has to be aware of the possibility of an unborn branch (probably the only unborn branch) on the remote.

New Features (BREAKING)

  • Support for unborn ls-refs capability if server supports it. We can also parse it, adding yet another variant to fetch::Refs.

Commit Statistics

  • 12 commits contributed to the release over the course of 23 calendar days.
  • 27 days passed between releases.
  • 2 commits were understood as conventional.
  • 1 unique issue was worked on: #450

Thanks Clippy

Clippy helped 2 times to make code idiomatic.

Commit Details

view details
  • #450
    • don't degenerate information about the unborn fetch ref's path. (42c977f)
    • fetch::Ref::unpack() returns Option<oid>. (cd867ad)
    • Support for unborn ls-refs capability if server supports it. (02e37f0)
    • less noisy way of writing trait bounds (b593806)
    • upgrade to prodash v21 (a0655dc)
    • improve docs slightly (306ebef)
  • Uncategorized
    • prepare changelogs prior to release (423af90)
    • Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630)
    • thanks clippy (04cfa63)
    • Merge branch 'main' into write-sparse-index (c4e6849)
    • Merge branch 'gix-clone' (def53b3)
    • thanks clippy (bc9c780)

0.21.0 (2022-10-10)

Changed

  • turn prepare_ls_refs in fetch::refs() into FnOnce.

New Features

  • Allow defaulting fetch::handshake::Outcome. This is useful in conjunction with std::mem::take().
  • fetch::Arguments::is_empty() to help decide if arguments should be sent at all. Furthermore, the Debug trait was added.
  • make some private methods public to give callers more flexibility. This allows to implement the fetch-negotiation part oneself and break free from constraints of the delegate.
  • add client::fetch_pack() allowing to fetch a pack after a handshake.

Bug Fixes

  • support keepalive packets. Keepalive packets are side-band only empty datalines that should just be ignored. This is now happening, allowing longer git operations to work as they will send keepalive packets every 5 seconds, and previously we would choke on it.

    Note that empty datalines are never send otherwise, making it a previously unused marker that can safely be skipped.

  • Link up Io error as source for error chaining; add Debug to client::fetch::Response

Reverted

  • client::fetch_pack() isn't worth it after all. The overhead required to make it work isn't worth the logic we are enabling. Instead, it's OK to re-implement custom logic on the consumer side based on this one.

Commit Statistics

  • 21 commits contributed to the release over the course of 20 calendar days.
  • 20 days passed between releases.
  • 8 commits were understood as conventional.
  • 1 unique issue was worked on: #450

Commit Details

view details
  • #450
    • support keepalive packets. (d7f62b4)
    • properly implement fetch::Arguments::is_empty() (df36ede)
    • Link up Io error as source for error chaining; add Debug to client::fetch::Response (266395e)
    • Allow defaulting fetch::handshake::Outcome. (aed93d2)
    • fetch::Arguments::is_empty() to help decide if arguments should be sent at all. (0bcb2fd)
    • make some private methods public to give callers more flexibility. (31a7089)
    • Use &dyn Any instead of unspecified serialization format, as it's the right way. (779eefe)
    • adapt to changes in git-transport (e842843)
    • client::fetch_pack() isn't worth it after all. (f87b7eb)
    • add client::fetch_pack() allowing to fetch a pack after a handshake. (744ed03)
    • refactor (c3e4b2a)
    • update fetch feature list with wait-for-done (02245a6)
    • turn prepare_ls_refs in fetch::refs() into FnOnce. (3a38d1b)
    • improve docs a little (45394d5)
  • Uncategorized
    • Release git-hash v0.9.11, git-features v0.23.0, git-actor v0.13.0, git-attributes v0.5.0, git-object v0.22.0, git-ref v0.17.0, git-sec v0.4.1, git-config v0.9.0, git-url v0.10.0, git-credentials v0.6.0, git-diff v0.20.0, git-discover v0.6.0, git-traverse v0.18.0, git-index v0.6.0, git-mailmap v0.5.0, git-pack v0.24.0, git-odb v0.34.0, git-packetline v0.13.1, git-transport v0.21.0, git-protocol v0.21.0, git-revision v0.6.0, git-refspec v0.3.0, git-worktree v0.6.0, git-repository v0.25.0, safety bump 24 crates (104d922)
    • prepare changelogs for release (d232567)
    • Merge branch 'main' into new-http-impl (702a161)
    • Merge branch 'fetch-pack' (f47c891)
    • Merge branch 'fetch-pack' (3c49400)
    • Merge branch 'fix-git-features' (82fd251)
    • Merge branch 'diff' (25a7726)

0.20.0 (2022-09-20)

Changed (BREAKING)

  • fetch::Ref::unpack() returns &BStr instead of &BString as ref name.
  • fetch::Ref::unpack() now returns the peeled object as well.
  • rename fetch::Ref::path to fetch::Ref::full_ref_name. Previously it was inaccurately named and described due to an insufficient understanding of the ref database.
  • upgrade bstr to 1.0.1

Commit Statistics

  • 21 commits contributed to the release over the course of 22 calendar days.
  • 22 days passed between releases.
  • 4 commits were understood as conventional.
  • 2 unique issues were worked on: #450, #470

Commit Details

view details
  • #450
    • option to print server information about the connection (4720666)
    • adjust to changes in git-refspec (ffa24a1)
    • fetch::Ref::unpack() returns &BStr instead of &BString as ref name. (91f193f)
    • fetch::Ref::unpack() now returns the peeled object as well. (d2c772e)
    • rename fetch::Ref::path to fetch::Ref::full_ref_name. (bab5860)
    • upgrade bstr to 1.0.1 (99905ba)
  • #470
    • update changelogs prior to release (caa7a1b)
  • Uncategorized
    • Release git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0 (f5c36d8)
    • Release git-hash v0.9.10, git-features v0.22.5, git-date v0.2.0, git-actor v0.12.0, git-glob v0.4.0, git-path v0.5.0, git-quote v0.3.0, git-attributes v0.4.0, git-config-value v0.8.0, git-tempfile v2.0.5, git-validate v0.6.0, git-object v0.21.0, git-ref v0.16.0, git-sec v0.4.0, git-config v0.8.0, git-discover v0.5.0, git-traverse v0.17.0, git-index v0.5.0, git-worktree v0.5.0, git-testtools v0.9.0, git-command v0.1.0, git-prompt v0.1.0, git-url v0.9.0, git-credentials v0.5.0, git-diff v0.19.0, git-mailmap v0.4.0, git-chunk v0.3.2, git-pack v0.23.0, git-odb v0.33.0, git-packetline v0.13.0, git-transport v0.20.0, git-protocol v0.20.0, git-revision v0.5.0, git-refspec v0.2.0, git-repository v0.24.0, git-commitgraph v0.9.0, gitoxide-core v0.18.0, gitoxide v0.16.0, safety bump 28 crates (29a043b)
    • Merge branch 'filter-refs' (3773b92)
    • Merge branch 'filter-refs' (fd14489)
    • Release git-features v0.22.6 (c9eda72)
    • make fmt (535e967)
    • Merge branch 'filter-refs-by-spec' (5c05198)
    • Merge branch 'main' into filter-refs-by-spec (9aa1d3d)
    • Release git-features v0.22.4, git-url v0.8.0, safety bump 4 crates (1d4600a)
    • Merge branch 'main' into filter-refs-by-spec (1f6e5ab)
    • Merge branch 'fix-522' (5869e9f)
    • Release git-hash v0.9.9 (da0716f)
    • Merge branch 'main' into index-from-tree (bc64b96)
    • Merge branch 'main' into filter-refs-by-spec (cef0b51)

0.19.1 (2022-08-28)

Maintenance release without user-facing changes.

New Features

  • helper::main to easily create credential helper implementations

Commit Statistics

  • 12 commits contributed to the release over the course of 4 calendar days.
  • 4 days passed between releases.
  • 1 commit was understood as conventional.
  • 2 unique issues were worked on: #450, #XXX

Commit Details

view details
  • #450
    • adjust to changes in git-credentials (32758e8)
    • adapt to changes in git-credentials (27c9da5)
    • improved error when identity could not be obtained (08c1287)
    • helper::main to easily create credential helper implementations (eaff67c)
    • adjust to changes in git-credentials (33f1347)
    • adjust to changes in git-credentials (fe1a06d)
    • adjust to changes in git-credentials (40cc1dc)
    • refactor (077ab57)
  • #XXX
    • prepare changelogs prior to release (8c0bca3)
  • Uncategorized
    • Release git-object v0.20.3, git-ref v0.15.4, git-config v0.7.1, git-diff v0.18.0, git-traverse v0.16.3, git-pack v0.22.0, git-odb v0.32.0, git-url v0.7.3, git-transport v0.19.3, git-protocol v0.19.1, git-refspec v0.1.1, git-repository v0.23.0, safety bump 6 crates (85a3bed)
    • Release git-features v0.22.3, git-revision v0.4.4 (c2660e2)
    • Merge branch 'main' into filter-refs-by-spec (cfa1440)

0.19.0 (2022-08-24)

Chore

  • uniformize deny attributes

New Features

  • provide a function to gracefully shut donw a fetch transport
  • use docsrs feature in code to show what is feature-gated automatically on docs.rs
  • pass --cfg docsrs when compiling for https://docs.rs
  • re-export maybe_async That way, API users can also provide dynamically sync or async APIs.

Commit Statistics

  • 10 commits contributed to the release over the course of 5 calendar days.
  • 6 days passed between releases.
  • 5 commits were understood as conventional.
  • 1 unique issue was worked on: #450

Commit Details

view details
  • #450
    • provide a function to gracefully shut donw a fetch transport (5ba9e1d)
    • re-export maybe_async (d6b4878)
  • Uncategorized
    • Release git-date v0.0.5, git-hash v0.9.8, git-features v0.22.2, git-actor v0.11.3, git-glob v0.3.2, git-quote v0.2.1, git-attributes v0.3.2, git-tempfile v2.0.4, git-lock v2.1.1, git-validate v0.5.5, git-object v0.20.2, git-ref v0.15.2, git-sec v0.3.1, git-config v0.7.0, git-credentials v0.4.0, git-diff v0.17.2, git-discover v0.4.1, git-bitmap v0.1.2, git-index v0.4.2, git-mailmap v0.3.2, git-chunk v0.3.1, git-traverse v0.16.2, git-pack v0.21.2, git-odb v0.31.2, git-packetline v0.12.7, git-url v0.7.2, git-transport v0.19.2, git-protocol v0.19.0, git-revision v0.4.2, git-refspec v0.1.0, git-worktree v0.4.2, git-repository v0.22.0, safety bump 4 crates (4974eca)
    • Merge branch 'remote-ls-refs' (39d585d)
    • Merge branch 'main' into remote-ls-refs (e2ee3de)
    • Merge branch 'docsrs-show-features' (31c2351)
    • use docsrs feature in code to show what is feature-gated automatically on docs.rs (b1c40b0)
    • uniformize deny attributes (f7f136d)
    • pass --cfg docsrs when compiling for https://docs.rs (5176771)
    • Merge branch 'main' into remote-ls-refs (bd5f3e8)

0.18.1 (2022-08-17)

A maintenance release without user facing changes.

Changed (BREAKING)

  • replace quick-error with this-error

  • adapt to changes in git-url and use BString to represent URLs. They can contain paths, which is why String can't repsent a URL losslessly.

    For HTTP urls these are ultimately UTF-8 strings though.

New Features

  • add fetch::refs() method to invoke ls-refs for V2 and parse the result
  • factor fetch handshake into fetch::handshake() function

Commit Statistics

  • 21 commits contributed to the release over the course of 26 calendar days.
  • 26 days passed between releases.
  • 4 commits were understood as conventional.
  • 1 unique issue was worked on: #450

Commit Details

view details
  • #450
    • fix docs (a6105cb)
    • Use fetch::refs() function in fetch() (37504e6)
    • add fetch::refs() method to invoke ls-refs for V2 and parse the result (d2de51d)
    • refactor (41a7391)
    • Use handshake() function in fetch() method (aaa1680)
    • replace quick-error with this-error (e91c301)
    • factor fetch handshake into fetch::handshake() function (35d17b4)
    • sketch of simple delegate to collect listed refs (1c5f561)
    • A first sketch on how connections could be working (e55b43e)
    • adjust to changes in git-transport (2141585)
    • adapt to changes in git-url and use BString to represent URLs. (12589cc)
  • Uncategorized
    • Release git-date v0.0.3, git-actor v0.11.1, git-attributes v0.3.1, git-tempfile v2.0.3, git-object v0.20.1, git-ref v0.15.1, git-config v0.6.1, git-diff v0.17.1, git-discover v0.4.0, git-bitmap v0.1.1, git-index v0.4.1, git-mailmap v0.3.1, git-traverse v0.16.1, git-pack v0.21.1, git-odb v0.31.1, git-packetline v0.12.6, git-url v0.7.1, git-transport v0.19.1, git-protocol v0.18.1, git-revision v0.4.0, git-worktree v0.4.1, git-repository v0.21.0, safety bump 5 crates (c96473d)
    • prepare changelogs prior to reelase (c06ae1c)
    • thanks clippy (f48ac49)
    • Release git-hash v0.9.7, git-features v0.22.1 (232784a)
    • Merge pull request #2 from SidneyDouw/main (ce885ad)
    • Merge branch 'Byron:main' into main (9b9ea02)
    • Merge branch 'main' into rev-parse-delegate (6da8250)
    • Merge branch 'main' into pathspec (7b61506)
    • Merge branch 'kianmeng-fix-typos' (4e7b343)
    • Fix typos (e9fcb70)

0.18.0 (2022-07-22)

This is a maintenance release with no functional changes.

Commit Statistics

  • 7 commits contributed to the release over the course of 33 calendar days.
  • 39 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 git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0 (aa639d8)
    • Release git-hash v0.9.6, git-features v0.22.0, git-date v0.0.2, git-actor v0.11.0, git-glob v0.3.1, git-path v0.4.0, git-attributes v0.3.0, git-tempfile v2.0.2, git-object v0.20.0, git-ref v0.15.0, git-sec v0.3.0, git-config v0.6.0, git-credentials v0.3.0, git-diff v0.17.0, git-discover v0.3.0, git-index v0.4.0, git-mailmap v0.3.0, git-traverse v0.16.0, git-pack v0.21.0, git-odb v0.31.0, git-url v0.7.0, git-transport v0.19.0, git-protocol v0.18.0, git-revision v0.3.0, git-worktree v0.4.0, git-repository v0.20.0, git-commitgraph v0.8.0, gitoxide-core v0.15.0, gitoxide v0.13.0, safety bump 22 crates (4737b1e)
    • prepare changelog prior to release (3c50625)
    • Merge pull request #1 from Byron/main (085e76b)
    • Merge branch 'main' into pathspec (89ea12b)
    • Merge branch 'main' into cont_include_if (41ea8ba)
    • Release git-path v0.3.0, safety bump 14 crates (400c9be)

0.17.0 (2022-06-13)

A maintenance release without user-facing changes.

Commit Statistics

  • 4 commits contributed to the release over the course of 25 calendar days.
  • 25 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 git-date v0.0.1, git-hash v0.9.5, git-features v0.21.1, git-actor v0.10.1, git-path v0.2.0, git-attributes v0.2.0, git-ref v0.14.0, git-sec v0.2.0, git-config v0.5.0, git-credentials v0.2.0, git-discover v0.2.0, git-pack v0.20.0, git-odb v0.30.0, git-url v0.6.0, git-transport v0.18.0, git-protocol v0.17.0, git-revision v0.2.1, git-worktree v0.3.0, git-repository v0.19.0, safety bump 13 crates (a417177)
    • update changelogs prior to release (bb424f5)
    • Merge branch 'main' into SidneyDouw-pathspec (a22b1d8)
    • Merge branch 'main' into git_includeif (598c853)

0.16.0 (2022-05-18)

New Features (BREAKING)

  • use git-credentials in git-protocol

Commit Statistics

  • 8 commits contributed to the release over the course of 33 calendar days.
  • 45 days passed between releases.
  • 1 commit was understood as conventional.
  • 2 unique issues were worked on: #301, #386

Commit Details

view details
  • #301
    • update changelogs prior to release (84cb256)
  • #386
    • adapt to changes in git-sec (c5e2346)
    • use git-credentials in git-protocol (32dc182)
    • reduce API surface (6df2881)
  • Uncategorized
    • Release git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0 (349c590)
    • Release git-hash v0.9.4, git-features v0.21.0, git-actor v0.10.0, git-glob v0.3.0, git-path v0.1.1, git-attributes v0.1.0, git-sec v0.1.0, git-config v0.3.0, git-credentials v0.1.0, git-validate v0.5.4, git-object v0.19.0, git-diff v0.16.0, git-lock v2.1.0, git-ref v0.13.0, git-discover v0.1.0, git-index v0.3.0, git-mailmap v0.2.0, git-traverse v0.15.0, git-pack v0.19.0, git-odb v0.29.0, git-packetline v0.12.5, git-url v0.5.0, git-transport v0.17.0, git-protocol v0.16.0, git-revision v0.2.0, git-worktree v0.2.0, git-repository v0.17.0, safety bump 20 crates (654cf39)
    • Merge branch 'main' into repo-status (9679d6b)
    • Merge branch 'git-sec' (cd723b5)

0.15.0 (2022-04-03)

New Features

  • in-manifest and in-lib feature documentation

Commit Statistics

  • 8 commits contributed to the release over the course of 60 calendar days.
  • 69 days passed between releases.
  • 1 commit was understood as conventional.
  • 1 unique issue was worked on: #329

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #329
    • in-manifest and in-lib feature documentation (0826cc9)
    • Document all features related to serde1 (72b97f2)
  • Uncategorized
    • Release git-diff v0.14.0, git-bitmap v0.1.0, git-index v0.2.0, git-tempfile v2.0.1, git-lock v2.0.0, git-mailmap v0.1.0, git-traverse v0.13.0, git-pack v0.17.0, git-quote v0.2.0, git-odb v0.27.0, git-packetline v0.12.4, git-url v0.4.0, git-transport v0.16.0, git-protocol v0.15.0, git-ref v0.12.0, git-worktree v0.1.0, git-repository v0.15.0, cargo-smart-release v0.9.0, safety bump 5 crates (e58dc30)
    • Release git-hash v0.9.3, git-features v0.20.0, git-config v0.2.0, safety bump 12 crates (f0cbb24)
    • Merge branch 'short-id' (5849d5b)
    • thanks clippy (4618f8a)
    • upgrade document-features (c35e62e)
    • Release git-hash v0.9.2, git-object v0.17.1, git-pack v0.16.1 (0db19b8)

0.14.0 (2022-01-23)

A maintenance release with no relevant changes.

Commit Statistics

  • 13 commits contributed to the release over the course of 51 calendar days.
  • 55 days passed between releases.
  • 0 commits were understood as conventional.
  • 1 unique issue was worked on: #279

Thanks Clippy

Clippy helped 2 times to make code idiomatic.

Commit Details

view details
  • #279
    • adjust to changes in git-hash (07aa1bc)
  • Uncategorized
    • Release git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (b286b24)
    • Release git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (42ebb53)
    • Release git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (1b76119)
    • Release git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (8f57c29)
    • Release git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0 (d78aab7)
    • Release git-hash v0.9.1, git-features v0.19.1, git-actor v0.8.0, git-config v0.1.10, git-object v0.17.0, git-diff v0.13.0, git-tempfile v1.0.4, git-chunk v0.3.0, git-traverse v0.12.0, git-pack v0.16.0, git-odb v0.26.0, git-packetline v0.12.3, git-url v0.3.5, git-transport v0.15.0, git-protocol v0.14.0, git-ref v0.11.0, git-repository v0.14.0, cargo-smart-release v0.8.0, safety bump 4 crates (373cbc8)
    • prepare changelogs for release (674ec73)
    • prepar changelogs for cargo-smart-release release (8900d69)
    • Release git-bitmap v0.0.1, git-hash v0.9.0, git-features v0.19.0, git-index v0.1.0, safety bump 9 crates (4624725)
    • Merge branch 'sync-db-draft' (7d2e20c)
    • thanks clippy (4ca9e07)
    • thanks clippy (7dd2313)

0.13.0 (2021-11-29)

Lines 1–500 of 1424.