1915 lines · 145.2 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.31.0 (2023-02-17)

New Features

  • add wasm feature toggle to allow compilation to wasm32-unknown-unknown

Bug Fixes

  • note that crates have been renamed from git-* to gix-*. This also means that the git-* prefixed crates of the gitoxide project are effectively unmaintained. Use the crates with the gix-* prefix instead.

    If you were using git-repository, then gix is its substitute.

New Features (BREAKING)

  • add wasm feature toggle to let parts of git-pack build on wasm32. It's a breaking change because we also start using the dep: syntax for declaring references to optional dependencies, which will prevent them from being automatically available as features.

    Besides that, it adds the wasm feature toggle to allow compiling to wasm32 targets.

Commit Statistics

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

Commit Details

view details
  • Uncategorized
    • note that crates have been renamed from git-* to gix-*. (e14dc7d)
    • Merge branch 'git-pack-wasm' (4bc19d1)
    • add wasm feature toggle to let parts of git-pack build on wasm32. (6c4c196)
    • add wasm feature toggle to allow compilation to wasm32-unknown-unknown (f0e40ec)
    • Release git-features v0.26.4 (109f434)
    • Release git-features v0.26.3 (1ecfb7f)

0.30.2 (2023-02-09)

Documentation

  • fix typos

New Features

  • use enumerations to advertise progress ids publicly. Previously these were an implementation detail which also means they couldn't be relied upon.

    Thanks to an intermediate enumeration, they become part of the public API and their actual value is not exposed.

Commit Statistics

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

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #691
    • set rust-version to 1.64 (55066ce)
  • Uncategorized
    • Release git-date v0.4.2, git-hash v0.10.2, git-features v0.26.2, git-actor v0.17.1, git-glob v0.5.3, git-path v0.7.1, git-quote v0.4.1, git-attributes v0.8.2, git-config-value v0.10.1, git-tempfile v3.0.2, git-lock v3.0.2, git-validate v0.7.2, git-object v0.26.1, git-ref v0.24.0, git-sec v0.6.2, git-config v0.16.0, git-command v0.2.3, git-prompt v0.3.2, git-url v0.13.2, git-credentials v0.9.1, git-diff v0.26.1, git-discover v0.13.0, git-hashtable v0.1.1, git-bitmap v0.2.1, git-traverse v0.22.1, git-index v0.12.3, git-mailmap v0.9.2, git-chunk v0.4.1, git-pack v0.30.2, git-odb v0.40.2, git-packetline v0.14.2, git-transport v0.25.4, git-protocol v0.26.3, git-revision v0.10.2, git-refspec v0.7.2, git-worktree v0.12.2, git-repository v0.34.0, safety bump 3 crates (c196d20)
    • prepare changelogs prior to release (7c846d2)
    • Merge branch 'Lioness100/main' (1e544e8)
    • fix typos (39ed9ed)
    • thanks clippy (bac57dd)
    • make fmt (e22080e)
    • Merge branch 'adjustments-for-cargo' (7bba270)
    • Break cyclical dev dependencies (1fea18f)
    • use enumerations to advertise progress ids publicly. (d792ea5)

0.30.1 (2023-01-10)

A maintenance release without user-facing changes.

Commit Statistics

  • 4 commits contributed to the release.
  • 1 day passed between releases.
  • 0 commits were 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 git-date v0.4.1, git-features v0.26.1, git-glob v0.5.2, git-attributes v0.8.1, git-tempfile v3.0.1, git-ref v0.23.1, git-sec v0.6.1, git-config v0.15.1, git-prompt v0.3.1, git-url v0.13.1, git-discover v0.12.1, git-index v0.12.2, git-mailmap v0.9.1, git-pack v0.30.1, git-odb v0.40.1, git-transport v0.25.3, git-protocol v0.26.2, git-revision v0.10.1, git-refspec v0.7.1, git-worktree v0.12.1, git-repository v0.33.0 (5b5b380)
    • prepare changelogs prior to release (93bef97)
    • Merge branch 'patch-1' (b93f0c4)
    • thanks clippy (9e04685)

0.30.0 (2023-01-09)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 2 calendar days.
  • 9 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-ref v0.23.0, git-config v0.15.0, git-command v0.2.2, git-diff v0.26.0, git-discover v0.12.0, git-mailmap v0.9.0, git-pack v0.30.0, git-odb v0.40.0, git-transport v0.25.2, git-protocol v0.26.1, git-revision v0.10.0, git-refspec v0.7.0, git-worktree v0.12.0, git-repository v0.32.0 (ffb5b6a)
    • prepare changelogs prior to release (4381a03)
    • Release git-date v0.4.0, git-actor v0.17.0, git-object v0.26.0, git-traverse v0.22.0, git-index v0.12.0, safety bump 15 crates (0e3d0a5)

0.29.0 (2022-12-30)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 1 calendar day.
  • 11 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-features v0.26.0, git-actor v0.16.0, git-attributes v0.8.0, git-object v0.25.0, git-ref v0.22.0, git-config v0.14.0, git-command v0.2.1, git-url v0.13.0, git-credentials v0.9.0, git-diff v0.25.0, git-discover v0.11.0, git-traverse v0.21.0, git-index v0.11.0, git-mailmap v0.8.0, git-pack v0.29.0, git-odb v0.39.0, git-transport v0.25.0, git-protocol v0.26.0, git-revision v0.9.0, git-refspec v0.6.0, git-worktree v0.11.0, git-repository v0.31.0, safety bump 24 crates (5ac9fbe)
    • prepare changelogs prior to release (30d8ca1)
    • make fmt (511ed00)

0.28.0 (2022-12-19)

New Features

  • add data::File::resolve_header() to obtain object information without decompressing it.
  • upgrade to prodash 21.1 and add Ids to all progress instances. That way callers can identify progress they are interested in, say, for selective visualizations.

Changed (BREAKING)

  • move data::ResolveBase into data::decode_entry::; unify decode_entry|decode_header::Error into decode::Error.

Commit Statistics

  • 22 commits contributed to the release over the course of 27 calendar days.
  • 27 days passed between releases.
  • 3 commits were 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 git-date v0.3.1, git-features v0.25.0, git-actor v0.15.0, git-glob v0.5.1, git-path v0.7.0, git-attributes v0.7.0, git-config-value v0.10.0, git-lock v3.0.1, git-validate v0.7.1, git-object v0.24.0, git-ref v0.21.0, git-sec v0.6.0, git-config v0.13.0, git-prompt v0.3.0, git-url v0.12.0, git-credentials v0.8.0, git-diff v0.24.0, git-discover v0.10.0, git-traverse v0.20.0, git-index v0.10.0, git-mailmap v0.7.0, git-pack v0.28.0, git-odb v0.38.0, git-packetline v0.14.1, git-transport v0.24.0, git-protocol v0.25.0, git-revision v0.8.0, git-refspec v0.5.0, git-worktree v0.10.0, git-repository v0.30.0, safety bump 26 crates (e6b9906)
    • prepare chnagelogs prior to git-repository release (7114bbb)
    • Merge branch 'odb-iteration' (693a469)
    • Assure deltas are counted correctly, even if the base is out of pack. (ddaf47f)
    • Merge branch 'read-header' (3d01252)
    • tweaks to immprove header decode performance (04df898)
    • move data::ResolveBase into data::decode_entry::; unify decode_entry|decode_header::Error into decode::Error. (37f3a67)
    • add data::File::resolve_header() to obtain object information without decompressing it. (a85dcdd)
    • Merge branch 'main' into read-split-index (c57bdde)
    • Merge branch 'adjustments-for-cargo' (083909b)
    • thanks clippy (f1160fb)
    • adjust to changes in git-testtools (4eb842c)
    • Merge branch 'adjustments-for-cargo' (70ccbb2)
    • upgrade clru, remove it from git-repository dependencies (unused) (7e7547d)
    • Release git-hash v0.10.1, git-hashtable v0.1.0 (7717170)
    • Merge branch 'main' into http-config (6b9632e)
    • Merge branch 'optimize_hashtables' (95ad56c)
    • use newly added git-hashtable (50cb436)
    • switch to custom Hasher implementation (269d59e)
    • Release git-features v0.24.1, git-actor v0.14.1, git-index v0.9.1 (7893502)
    • upgrade to prodash 21.1 and add Ids to all progress instances. (c8835c6)
    • Merge branch 'main' into http-config (bcd9654)

0.27.0 (2022-11-21)

A maintenance release without user facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 13 calendar days.
  • 13 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-hash v0.10.0, git-features v0.24.0, git-date v0.3.0, git-actor v0.14.0, git-glob v0.5.0, git-path v0.6.0, git-quote v0.4.0, git-attributes v0.6.0, git-config-value v0.9.0, git-tempfile v3.0.0, git-lock v3.0.0, git-validate v0.7.0, git-object v0.23.0, git-ref v0.20.0, git-sec v0.5.0, git-config v0.12.0, git-command v0.2.0, git-prompt v0.2.0, git-url v0.11.0, git-credentials v0.7.0, git-diff v0.23.0, git-discover v0.9.0, git-bitmap v0.2.0, git-traverse v0.19.0, git-index v0.9.0, git-mailmap v0.6.0, git-chunk v0.4.0, git-pack v0.27.0, git-odb v0.37.0, git-packetline v0.14.0, git-transport v0.23.0, git-protocol v0.24.0, git-revision v0.7.0, git-refspec v0.4.0, git-worktree v0.9.0, git-repository v0.29.0, git-commitgraph v0.11.0, gitoxide-core v0.21.0, gitoxide v0.19.0, safety bump 28 crates (b2c301e)
    • prepare changelogs prior to release (e4648f8)
    • Merge branch 'main' into http-config (7c5b37d)

0.26.0 (2022-11-08)

A maintenance release without user-facing changes.

Commit Statistics

  • 3 commits contributed to the release over the course of 1 calendar day.
  • 1 day 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-diff v0.22.0, git-index v0.7.1, git-pack v0.26.0, git-odb v0.36.0, git-transport v0.21.2, git-repository v0.27.0, safety bump 6 crates (f0cab31)
    • prepare changelogs prior to release (f5f3a9e)
    • Fix spelling where -> were (57355c7)

0.25.0 (2022-11-06)

New Features

  • Bundle::write… also produces a .keep file These files are placed before moving the corresponding pack and index files into place to prevent them from being picked up for collection while their refs are still being placed.

    The caller is responsible for deleting them once refs integrate the contained objects into the commit graph.

Commit Statistics

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

Thanks Clippy

Clippy helped 1 time to make code idiomatic.

Commit Details

view details
  • #450
    • less noisy way of writing trait bounds (b593806)
    • upgrade to prodash v21 (a0655dc)
  • Uncategorized
    • Release git-features v0.23.1, git-glob v0.4.1, git-config-value v0.8.1, git-tempfile v2.0.6, git-object v0.22.1, git-ref v0.18.0, git-sec v0.4.2, git-config v0.10.0, git-prompt v0.1.1, git-url v0.10.1, git-credentials v0.6.1, git-diff v0.21.0, git-discover v0.7.0, git-index v0.7.0, git-pack v0.25.0, git-odb v0.35.0, git-transport v0.21.1, git-protocol v0.22.0, git-refspec v0.3.1, git-worktree v0.7.0, git-repository v0.26.0, git-commitgraph v0.10.0, gitoxide-core v0.19.0, gitoxide v0.17.0, safety bump 9 crates (d071583)
    • prepare changelogs prior to release (423af90)
    • Merge branch 'main' into write-sparse-index (c4e6849)
    • Merge branch 'gix-clone' (def53b3)
    • Merge branch 'main' into gix-clone (3b48317)
    • thanks clippy (93e7691)
    • Bundle::write… also produces a .keep file (450257e)

0.24.0 (2022-10-10)

New Features

  • more efficient distribution of tasks to threads during pack resolution. This clearly is a peak-performance optimization as it will now efficiently distribute tree-root nodes to threads one at a time by means of shared memory, which is accessed mutably yet safely.

    This change can also further reduce peak memory usage as it will not keep buffers of more resolved deltas then necessary, as it only handles one at a time per thread.

Bug Fixes

  • reduce memory usage for pack resolution by 18%… …compared to where it started out before.

    This is the result of using u32 instead of usize where possible, leveraging the object limit of u32 in packs.

    This change makes the biggest difference by not keeping the decompressed memory of leaf nodes alive for longer than needed, at the cost of some code duplication which could be extracted into a function if one was inclined to deal with the boilerplate and lots of generics.

  • Allow verification of empty packs and indices. Empty packs are fine, even though the implementation should probably assure to not write them, or remove them after having been written.

  • increase pack-receive performance using a BufWriter Previously the NamedTempFile would receive every little write request for millions of objects, consuming considerable amounts of time.

    Now a buf writer alleviates this issue entirely.

  • bundle::write::Error is now publicly available

Bug Fixes (BREAKING)

  • Reading and writing empty packs is explicitly allowed. This can happen when sending packs that don't actually contain changes, but need to be sent to conform to the protocol.

Other (BREAKING)

  • index::write::Outcome::index_kind -> ::index_version.
  • bundle::write::Options::index_kind -> ::index_version.

Commit Statistics

  • 33 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

Thanks Clippy

Clippy helped 2 times to make code idiomatic.

Commit Details

view details
  • #450
    • prefix created pack files with pack- (e489b10)
    • increase pack-receive performance using a BufWriter (a745512)
    • index::write::Outcome::index_kind -> ::index_version. (b46347f)
    • add test to show that empty packs won't be written as expected behaviour. (72ce7fd)
    • bundle::write::Error is now publicly available (0b6ed60)
    • bundle::write::Options::index_kind -> ::index_version. (591afd5)
  • 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 'fix-smart-release' (aa80b60)
    • make fmt (7b9c065)
    • Merge branch 'main' into new-http-impl (702a161)
    • Merge branch 'main' into clone (acb0738)
    • Merge branch 'delta-tree-parallelization' (cca2ad5)
    • Don't enforce Send bounds in serial version of in_parallel_with_slice() (dda661e)
    • thanks clippy (583f2ca)
    • more efficient distribution of tasks to threads during pack resolution. (6836cb1)
    • refactor (0e2ca47)
    • Try to use counters directly in delta-tree resolution (c6ded26)
    • reduce memory usage for pack resolution by 18%… (ec58bef)
    • Merge branch 'reduce-pack-resolve-mem-consumption' (a8ced57)
    • minor refactor after trying more memory foot-print related changes (5852334)
    • simplify size-related tests (fb2b2a8)
    • cut the size of bytes needed to store children in half for a lower footprint (38c96f2)
    • Merge branch 'crates-index-diff-fixes' (b09bad7)
    • thanks clippy (851bc79)
    • Allow verification of empty packs and indices. (49d168a)
    • refactor (38a7452)
    • Reading and writing empty packs is explicitly allowed. (5a75afe)
    • make fmt (53acf25)
    • Merge branch 'fetch-pack' (f47c891)
    • Merge branch 'fetch-pack' (3c49400)
    • Merge branch 'fix-git-features' (82fd251)
    • Merge branch 'diff' (25a7726)

0.23.0 (2022-09-20)

Changed (BREAKING)

  • upgrade bstr to 1.0.1

Commit Statistics

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

Commit Details

view details
  • #450
  • #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' (fd14489)
    • Release git-features v0.22.6 (c9eda72)
    • 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)
    • Release git-path v0.4.2, git-config-value v0.7.0 (c48fb31)
    • Merge branch 'main' into filter-refs-by-spec (cef0b51)

0.22.0 (2022-08-28)

Maintenance release without user-facing changes.

Commit Statistics

  • 5 commits contributed to the release over the course of 4 calendar days.
  • 4 days passed between releases.

Lines 1–500 of 1915.