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.20.0 (2022-11-21)
New Features (BREAKING)
-
upgrade edition to 2021 in most crates. MSRV for this is 1.56, and we are now at 1.60 so should be compatible. This isn't more than a patch release as it should break nobody who is adhering to the MSRV, but let's be careful and mark it breaking.
Note that
git-featuresandgit-packare still on edition 2018 as they make use of a workaround to support (safe) mutable access to non-overlapping entries in a slice which doesn't work anymore in edition 2021.
Commit Statistics
- 3 commits contributed to the release over the course of 2 calendar days.
- 4 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
0.19.0 (2022-11-17)
New Features
-
file::Transaction::rollback()allows to explicitly roll back a pending change. As opposed to dropping the Transaction, this method allows to obtain all edits that would have been applied. - higher performance for edits which would write the same value. Instead of moving them into place, we just drop them, without ever writing into them.
Bug Fixes
-
assure symrefs don't get deleted when moving refs to packed-refs. Previously it was possible for symbolic refs to be deleted right after they have been created or updated as they were included in the set of refs that was assumed to be part of packed-refs, which isn't the case for symbolic refs.
-
case-insentively conflicting references can be created even on case-insensitie filesystems*. The asterisk indicates that this only works if packed-refs are present and these references are written straight to packed references without ever trying to handle the otherwise conflicting loose reference files.
This is done by leveraging the fact that in presence of packed-refs or a pending creation of packed-refs, there is no need to create per-file locks as concurrent transactions also have to obtain the packed-refs lock and fail (or wait) until it's done.
-
instead of erroring if loose iteration is performed on missing base, correctly yield zero references. Previously it reported an error, now it does not and instead performs no iteration, which is more helpful to the user of the API I believe as they won't randomly fail just because somebody deleted the
refsfolder. -
loose ref iteration on a repo with missing 'ref/' fails when creating the iterator. Previously, it would fail on first iteration, making it seem like there is one reference even though it's just an error stating that the base cannot be read.
This is clearly worse than making a metadata check on the filesystem, no matter how unlikely the case.
Commit Statistics
- 19 commits contributed to the release over the course of 1 calendar day.
- 10 days passed between releases.
- 6 commits were understood as conventional.
- 1 unique issue was worked on: #595
Thanks Clippy
Clippy helped 2 times to make code idiomatic.
Commit Details
view details
- #595
- assure symrefs don't get deleted when moving refs to packed-refs. (
584b705) - Avoid lock-acquisition for refs which are to be deleted if a global lock is helt. (
66b053d) - case-insentively conflicting references can be created even on case-insensitie filesystems*. (
9f84850) - instead of erroring if loose iteration is performed on missing base, correctly yield zero references. (
e9853dd) - loose ref iteration on a repo with missing 'ref/' fails when creating the iterator. (
27386a9) - First test to validate how collisions are expressed. (
3f54ade) - Attempt to add the first case-sensitive test… (
063ab73) file::Transaction::rollback()allows to explicitly roll back a pending change. (e86e159)- higher performance for edits which would write the same value. (
bbdb480)
- assure symrefs don't get deleted when moving refs to packed-refs. (
- Uncategorized
- Release git-glob v0.4.2, git-config-value v0.8.2, git-lock v2.2.0, git-ref v0.19.0, git-config v0.11.0, git-discover v0.8.0, git-index v0.8.0, git-transport v0.22.0, git-protocol v0.23.0, git-worktree v0.8.0, git-repository v0.28.0, gitoxide-core v0.20.0, gitoxide v0.18.0, safety bump 9 crates (
0c253b1) - prepare changelogs prior to release (
fe5721f) - Merge branch 'http-config' (
665b53e) - Don't assert on state that is based on a transaction that isn't committed (
00f6f7a) - thanks clippy (
fe7d6f9) - Assure reflogs aren't skipped just because there is no per-loose lock file. (
130d13b) - refactor (
f17c6b6) - refactor (
c1d2aea) - refactor (
b0a231a) - thanks clippy (
5f7fe69)
- Release git-glob v0.4.2, git-config-value v0.8.2, git-lock v2.2.0, git-ref v0.19.0, git-config v0.11.0, git-discover v0.8.0, git-index v0.8.0, git-transport v0.22.0, git-protocol v0.23.0, git-worktree v0.8.0, git-repository v0.28.0, gitoxide-core v0.20.0, gitoxide v0.18.0, safety bump 9 crates (
0.18.0 (2022-11-06)
Bug Fixes
-
allow symref updates to receive reflogs if these are new… …and well-known on top of that, that means having an exact expectation on what should be present.
This allows symrefs to be created with reflog.
Bug Fixes (BREAKING)
- support for non-'static PackedRefs transactions. When configuring for packed-refs updates, previously one needed to provide a function to find objects that could not borrow data due to implicit 'static requirement. This has been lifted to allow it to access references to data on the stack.
Commit Statistics
- 10 commits contributed to the release over the course of 6 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
- 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 (upgrade to Rust 1.65) (
5406630) - thanks clippy (
04cfa63) - Merge branch 'main' into write-sparse-index (
c4e6849) - Merge branch 'gix-clone' (
def53b3) - thanks clippy (
3eaedda)
- 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 (
0.17.0 (2022-10-10)
New Features
-
transaction::Change::new_value()to get easy access to new values of references. That's more convenient than matching on the enum. -
FullName::try_from(&BString)for convenience. Sometimes when matching one only has a&BString, and it's hard to convert it to&BStrwithout an extra line of code, it's cumbersome, so we workaround by adding another conversion.
Changed (BREAKING)
-
file::Transaction::prepare()now takes twogit_lock::acquisition::Failinstances. This allows to configure the file-ref lock failure mode differently from the packed-refs lock failure mode, which is exactly whatgitdoes as well defaulting them to 100ms and 1000ms till lock acquisition gives up.
Commit Statistics
- 11 commits contributed to the release over the course of 20 calendar days.
- 20 days passed between releases.
- 3 commits were understood as conventional.
- 1 unique issue was worked on: #450
Commit Details
view details
- #450
- 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) - make fmt (
53acf25) - Merge branch 'fetch-pack' (
3c49400) - Merge branch 'fix-git-features' (
82fd251) - Merge branch 'diff' (
25a7726)
- 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 (
0.16.0 (2022-09-20)
Chore (BREAKING)
- replace
quick-errorwiththiserror
Commit Statistics
- 19 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)
- update changelogs prior to release (
- Uncategorized
- 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) - Release git-features v0.22.6 (
c9eda72) - Merge branch 'filter-refs' (
e10554d) - 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)
- 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 (
0.15.4 (2022-08-28)
New Features
- Add
Reference::delete()for simple reference deletion
Commit Statistics
- 3 commits contributed to the release.
- 1 day passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #XXX
Commit Details
view details
- #XXX
- prepare changelogs prior to release (
8c0bca3)
- prepare changelogs prior to release (
- 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) - Add
Reference::delete()for simple reference deletion (2d0b639)
- 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 (
0.15.3 (2022-08-27)
Maintenance release without user-facing changes.
Commit Statistics
- 4 commits contributed to the release over the course of 3 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
0.15.2 (2022-08-24)
Chore
- uniformize deny attributes
- remove default link to cargo doc everywhere
New Features
- use docsrs feature in code to show what is feature-gated automatically on docs.rs
- pass --cfg docsrs when compiling for https://docs.rs
Commit Statistics
- 9 commits contributed to the release over the course of 5 calendar days.
- 6 days passed between releases.
- 4 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- 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) - Release git-path v0.4.1 (
5e82346) - 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) - remove default link to cargo doc everywhere (
533e887) - Merge branch 'main' into remote-ls-refs (
bd5f3e8)
- 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 (
0.15.1 (2022-08-17)
Bug Fixes
-
always update modification date when packed refs are forcefully reloaded. The latter happens right after the file was written, which means we definitely have to update our modification date or else the buffer will be read again next time somebody asks for an up-to-date version.
The ordering of operations is such that at worst, the buffer is loaded again instead of keeping an outdated version of it, which would happen if the metadata is read afterwards.
Commit Statistics
- 21 commits contributed to the release over the course of 26 calendar days.
- 26 days passed between releases.
- 1 commit was understood as conventional.
- 1 unique issue was worked on: #427
Thanks Clippy
Clippy helped 2 times to make code idiomatic.
Commit Details
view details
- #427
- make fmt (
4b320e7) - adapt to changes in git-features (
777b40c) - Adjust to changes in
git-features(07168c7) - Use generalized reload-on-demand in
git-ref(8d0cce7) - Now it's possible to update packed refs using the shared code (
78222c2) - The first step towards using the generalized
ReloadIfChangedin git-ref (e8de0ef) - always update modification date when packed refs are forcefully reloaded. (
1d20035)
- make fmt (
- 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) - Release git-hash v0.9.7, git-features v0.22.1 (
232784a) - Merge branch 'main' into write-index-v2 (
a938986) - Merge branch 'main' into remote-ls-refs (
de61c4d) - thanks clippy (
4bd747c) - Merge branch 'rev-parse-delegate' (
2f506c7) - thanks clippy (
763cec8) - 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)
- 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 (
0.15.0 (2022-07-22)
New Features
- Add
store::WriteRefLog::Alwaysto unconditionally write reflogs. - Allow
Referenceto be serialized/deserialized withserde.
Changed (BREAKING)
-
Target(Ref)?::try_name()now returnsOption<&FullNameRef>. That way, the name is actually directly usable in most methods that require a validated name as input.
Commit Statistics
- 15 commits contributed to the release over the course of 36 calendar days.
- 39 days passed between releases.
- 3 commits were understood as conventional.
- 2 unique issues were worked on: #331, #427
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
- #331
- #427
- Allow
Referenceto be serialized/deserialized withserde. (f3c609f)
- Allow
- Uncategorized
- 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 branch 'config-cascade' (
f144eaf) - Merge pull request #1 from Byron/main (
085e76b) - Merge branch 'config-comfort' (
84b98d9) - assure document-features are available in all 'usable' and 'early' crates (
238581c) - Merge branch 'main' into pathspec (
89ea12b) - Merge branch 'main' into cont_include_if (
daa71c3) - thanks clippy (
e1003d5) - generally avoid using
target_os = "windows"in favor ofcfg(windows)and negations (91d5402) - Merge branch 'main' into cont_include_if (
41ea8ba) - Release git-path v0.3.0, safety bump 14 crates (
400c9be)
- 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 (
0.14.0 (2022-06-13)
A maintenance release without user-facing changes.
Commit Statistics
- 5 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
Lines 1–500 of 2063. Load more
# Changelog All notable changes to this project will be documented in this file. The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). ## 0.20.0 (2022-11-21) ### New Features (BREAKING) - <csr-id-3d8fa8fef9800b1576beab8a5bc39b821157a5ed/> upgrade edition to 2021 in most crates. MSRV for this is 1.56, and we are now at 1.60 so should be compatible. This isn't more than a patch release as it should break nobody who is adhering to the MSRV, but let's be careful and mark it breaking. Note that `git-features` and `git-pack` are still on edition 2018 as they make use of a workaround to support (safe) mutable access to non-overlapping entries in a slice which doesn't work anymore in edition 2021. ### Commit Statistics <csr-read-only-do-not-edit/> - 3 commits contributed to the release over the course of 2 calendar days. - 4 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **Uncategorized** - prepare changelogs prior to release ([`e4648f8`](https://github.com/Byron/gitoxide/commit/e4648f827c97e9d13636d1bbdc83dd63436e6e5c)) - Merge branch 'version2021' ([`0e4462d`](https://github.com/Byron/gitoxide/commit/0e4462df7a5166fe85c23a779462cdca8ee013e8)) - upgrade edition to 2021 in most crates. ([`3d8fa8f`](https://github.com/Byron/gitoxide/commit/3d8fa8fef9800b1576beab8a5bc39b821157a5ed)) </details> ## 0.19.0 (2022-11-17) ### New Features - <csr-id-e86e159e00c9b54803abbfa09809707be7ac8aee/> `file::Transaction::rollback()` allows to explicitly roll back a pending change. As opposed to dropping the Transaction, this method allows to obtain all edits that would have been applied. - <csr-id-bbdb4804d8c3bd6a1fb8bea97adce509c90c5ca8/> higher performance for edits which would write the same value. Instead of moving them into place, we just drop them, without ever writing into them. ### Bug Fixes - <csr-id-584b705cee8be3fb68c67dcb8535b981d1efc5f4/> assure symrefs don't get deleted when moving refs to packed-refs. Previously it was possible for symbolic refs to be deleted right after they have been created or updated as they were included in the set of refs that was assumed to be part of packed-refs, which isn't the case for symbolic refs. - <csr-id-9f848506f5a42abc954612ea375f845e3b23ae5a/> case-insentively conflicting references can be created even on case-insensitie filesystems*. The asterisk indicates that this only works if packed-refs are present and these references are written straight to packed references without ever trying to handle the otherwise conflicting loose reference files. This is done by leveraging the fact that in presence of packed-refs or a pending creation of packed-refs, there is no need to create per-file locks as concurrent transactions also have to obtain the packed-refs lock and fail (or wait) until it's done. - <csr-id-e9853dd640cf4545134aa6e0d093e560af090a2b/> instead of erroring if loose iteration is performed on missing base, correctly yield zero references. Previously it reported an error, now it does not and instead performs no iteration, which is more helpful to the user of the API I believe as they won't randomly fail just because somebody deleted the `refs` folder. - <csr-id-27386a96ddc022ba75730901f8bb098b9d5ff9d4/> loose ref iteration on a repo with missing 'ref/' fails when creating the iterator. Previously, it would fail on first iteration, making it seem like there is one reference even though it's just an error stating that the base cannot be read. This is clearly worse than making a metadata check on the filesystem, no matter how unlikely the case. ### Commit Statistics <csr-read-only-do-not-edit/> - 19 commits contributed to the release over the course of 1 calendar day. - 10 days passed between releases. - 6 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: [#595](https://github.com/Byron/gitoxide/issues/595) ### Thanks Clippy <csr-read-only-do-not-edit/> [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#595](https://github.com/Byron/gitoxide/issues/595)** - assure symrefs don't get deleted when moving refs to packed-refs. ([`584b705`](https://github.com/Byron/gitoxide/commit/584b705cee8be3fb68c67dcb8535b981d1efc5f4)) - Avoid lock-acquisition for refs which are to be deleted if a global lock is helt. ([`66b053d`](https://github.com/Byron/gitoxide/commit/66b053dd070cc05dbcec9b251bfab32a00f75b68)) - case-insentively conflicting references can be created even on case-insensitie filesystems*. ([`9f84850`](https://github.com/Byron/gitoxide/commit/9f848506f5a42abc954612ea375f845e3b23ae5a)) - instead of erroring if loose iteration is performed on missing base, correctly yield zero references. ([`e9853dd`](https://github.com/Byron/gitoxide/commit/e9853dd640cf4545134aa6e0d093e560af090a2b)) - loose ref iteration on a repo with missing 'ref/' fails when creating the iterator. ([`27386a9`](https://github.com/Byron/gitoxide/commit/27386a96ddc022ba75730901f8bb098b9d5ff9d4)) - First test to validate how collisions are expressed. ([`3f54ade`](https://github.com/Byron/gitoxide/commit/3f54ade216cfdfbba8d4a74f544ccf0436225d46)) - Attempt to add the first case-sensitive test… ([`063ab73`](https://github.com/Byron/gitoxide/commit/063ab73d77a480191d10338964f4a6209aec3cb6)) - `file::Transaction::rollback()` allows to explicitly roll back a pending change. ([`e86e159`](https://github.com/Byron/gitoxide/commit/e86e159e00c9b54803abbfa09809707be7ac8aee)) - higher performance for edits which would write the same value. ([`bbdb480`](https://github.com/Byron/gitoxide/commit/bbdb4804d8c3bd6a1fb8bea97adce509c90c5ca8)) * **Uncategorized** - Release git-glob v0.4.2, git-config-value v0.8.2, git-lock v2.2.0, git-ref v0.19.0, git-config v0.11.0, git-discover v0.8.0, git-index v0.8.0, git-transport v0.22.0, git-protocol v0.23.0, git-worktree v0.8.0, git-repository v0.28.0, gitoxide-core v0.20.0, gitoxide v0.18.0, safety bump 9 crates ([`0c253b1`](https://github.com/Byron/gitoxide/commit/0c253b15143dcedfe4c66d64ab1ea6e097030651)) - prepare changelogs prior to release ([`fe5721f`](https://github.com/Byron/gitoxide/commit/fe5721f888c64c79fe9a734a9e33b94a282f8d97)) - Merge branch 'http-config' ([`665b53e`](https://github.com/Byron/gitoxide/commit/665b53e1c2e1de65fafa28b669f58977868bbc81)) - Don't assert on state that is based on a transaction that isn't committed ([`00f6f7a`](https://github.com/Byron/gitoxide/commit/00f6f7a2d056d150306817b3563470173a091b4c)) - thanks clippy ([`fe7d6f9`](https://github.com/Byron/gitoxide/commit/fe7d6f91ad6c8a0b0beca9faa8230537d2fd6a3c)) - Assure reflogs aren't skipped just because there is no per-loose lock file. ([`130d13b`](https://github.com/Byron/gitoxide/commit/130d13bbf1b4b2da8f688a440f3e2f3b1a51519f)) - refactor ([`f17c6b6`](https://github.com/Byron/gitoxide/commit/f17c6b649d9e0bed59c4e6d8380c3dcdfd73a2f9)) - refactor ([`c1d2aea`](https://github.com/Byron/gitoxide/commit/c1d2aea68a2c57f5d498987c51fe2806f669eaaa)) - refactor ([`b0a231a`](https://github.com/Byron/gitoxide/commit/b0a231aaca5cf371e2a204bf3b3100a4a7cc913e)) - thanks clippy ([`5f7fe69`](https://github.com/Byron/gitoxide/commit/5f7fe698e0ea322a731f8e86e724be327e9d3420)) </details> ## 0.18.0 (2022-11-06) ### Bug Fixes - <csr-id-6e5c0ae63deed181419232c61896e22404e4c84a/> allow symref updates to receive reflogs if these are new… …and well-known on top of that, that means having an exact expectation on what should be present. This allows symrefs to be created with reflog. ### Bug Fixes (BREAKING) - <csr-id-328900add089f40d3bf9f1019c9f31663da387e2/> support for non-'static PackedRefs transactions. When configuring for packed-refs updates, previously one needed to provide a function to find objects that could not borrow data due to implicit 'static requirement. This has been lifted to allow it to access references to data on the stack. ### Commit Statistics <csr-read-only-do-not-edit/> - 10 commits contributed to the release over the course of 6 calendar days. - 27 days passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450) ### Thanks Clippy <csr-read-only-do-not-edit/> [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#450](https://github.com/Byron/gitoxide/issues/450)** - support for non-'static PackedRefs transactions. ([`328900a`](https://github.com/Byron/gitoxide/commit/328900add089f40d3bf9f1019c9f31663da387e2)) - add test to validate new symref reflog behaviour ([`8b5cf38`](https://github.com/Byron/gitoxide/commit/8b5cf385cb6cf31ad438398ddcc5668a01b6fb3d)) - allow symref updates to receive reflogs if these are new… ([`6e5c0ae`](https://github.com/Byron/gitoxide/commit/6e5c0ae63deed181419232c61896e22404e4c84a)) * **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`](https://github.com/Byron/gitoxide/commit/d071583c5576fdf5f7717765ffed5681792aa81f)) - prepare changelogs prior to release ([`423af90`](https://github.com/Byron/gitoxide/commit/423af90c8202d62dc1ea4a76a0df6421d1f0aa06)) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) ([`5406630`](https://github.com/Byron/gitoxide/commit/5406630466145990b5adbdadb59151036993060d)) - thanks clippy ([`04cfa63`](https://github.com/Byron/gitoxide/commit/04cfa635a65ae34ad6d22391f2febd2ca7eabca9)) - Merge branch 'main' into write-sparse-index ([`c4e6849`](https://github.com/Byron/gitoxide/commit/c4e68496c368611ebe17c6693d06c8147c28c717)) - Merge branch 'gix-clone' ([`def53b3`](https://github.com/Byron/gitoxide/commit/def53b36c3dec26fa78939ab0584fe4ff930909c)) - thanks clippy ([`3eaedda`](https://github.com/Byron/gitoxide/commit/3eaedda0af1c1a495e1b98474ade02edfa75b66a)) </details> ## 0.17.0 (2022-10-10) ### New Features - <csr-id-370ed3dcc393eca7a393ea0150f698a9fc844320/> `transaction::Change::new_value()` to get easy access to new values of references. That's more convenient than matching on the enum. - <csr-id-658c1257c073507327d9a50c1c89b49d17e9ccbc/> `FullName::try_from(&BString)` for convenience. Sometimes when matching one only has a `&BString`, and it's hard to convert it to `&BStr` without an extra line of code, it's cumbersome, so we workaround by adding another conversion. ### Changed (BREAKING) - <csr-id-e699291097cec346374a30c325848f787ca9d736/> `file::Transaction::prepare()` now takes two `git_lock::acquisition::Fail` instances. This allows to configure the file-ref lock failure mode differently from the packed-refs lock failure mode, which is exactly what `git` does as well defaulting them to 100ms and 1000ms till lock acquisition gives up. ### Commit Statistics <csr-read-only-do-not-edit/> - 11 commits contributed to the release over the course of 20 calendar days. - 20 days passed between releases. - 3 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: [#450](https://github.com/Byron/gitoxide/issues/450) ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#450](https://github.com/Byron/gitoxide/issues/450)** - `transaction::Change::new_value()` to get easy access to new values of references. ([`370ed3d`](https://github.com/Byron/gitoxide/commit/370ed3dcc393eca7a393ea0150f698a9fc844320)) - `file::Transaction::prepare()` now takes two `git_lock::acquisition::Fail` instances. ([`e699291`](https://github.com/Byron/gitoxide/commit/e699291097cec346374a30c325848f787ca9d736)) - `FullName::try_from(&BString)` for convenience. ([`658c125`](https://github.com/Byron/gitoxide/commit/658c1257c073507327d9a50c1c89b49d17e9ccbc)) - Improve docs slightly ([`4850202`](https://github.com/Byron/gitoxide/commit/485020252da95b1369326156ebd8ff6052f591ec)) * **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`](https://github.com/Byron/gitoxide/commit/104d922add61ab21c534c24ce8ed37cddf3e275a)) - prepare changelogs for release ([`d232567`](https://github.com/Byron/gitoxide/commit/d23256701a95284857dc8d1cb37c7c94cada973c)) - Merge branch 'main' into new-http-impl ([`702a161`](https://github.com/Byron/gitoxide/commit/702a161ef11fc959611bf44b70e9ffe04561c7ad)) - make fmt ([`53acf25`](https://github.com/Byron/gitoxide/commit/53acf2565743eff7cead7a42011107b2fc8d7e0e)) - Merge branch 'fetch-pack' ([`3c49400`](https://github.com/Byron/gitoxide/commit/3c49400809c7c2120f4ce704c19a0421545b5acd)) - Merge branch 'fix-git-features' ([`82fd251`](https://github.com/Byron/gitoxide/commit/82fd251ac80d07bc9da8a4d36e517aa35580d188)) - Merge branch 'diff' ([`25a7726`](https://github.com/Byron/gitoxide/commit/25a7726377fbe400ea3c4927d04e9dec99802b7b)) </details> ## 0.16.0 (2022-09-20) <csr-id-725210dc401406fe9450eae9d375b0238d645027/> ### Chore (BREAKING) - <csr-id-725210dc401406fe9450eae9d375b0238d645027/> replace `quick-error` with `thiserror` ### Commit Statistics <csr-read-only-do-not-edit/> - 19 commits contributed to the release over the course of 22 calendar days. - 22 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 2 unique issues were worked on: [#450](https://github.com/Byron/gitoxide/issues/450), [#470](https://github.com/Byron/gitoxide/issues/470) ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#450](https://github.com/Byron/gitoxide/issues/450)** - better refmap printing ([`6f60a79`](https://github.com/Byron/gitoxide/commit/6f60a793297e2a29cf835591add6669c067da3e5)) - fix windows tests ([`140e690`](https://github.com/Byron/gitoxide/commit/140e6903d9bd9d9b393b717988f00e42c52a4d36)) - fix docs ([`dad9cbe`](https://github.com/Byron/gitoxide/commit/dad9cbeb853c0cc5128360b05c04b5a3da7ec75e)) - replace `quick-error` with `thiserror` ([`725210d`](https://github.com/Byron/gitoxide/commit/725210dc401406fe9450eae9d375b0238d645027)) - adjust to changes in `git-validate` ([`4eac45f`](https://github.com/Byron/gitoxide/commit/4eac45f89d4581a7be8eedcc931512cd52c255a9)) * **[#470](https://github.com/Byron/gitoxide/issues/470)** - update changelogs prior to release ([`caa7a1b`](https://github.com/Byron/gitoxide/commit/caa7a1bdef74d7d3166a7e38127a59f5ab3cfbdd)) * **Uncategorized** - 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`](https://github.com/Byron/gitoxide/commit/29a043be6808a3e9199a9b26bd076fe843afe4f4)) - Merge branch 'filter-refs' ([`3773b92`](https://github.com/Byron/gitoxide/commit/3773b92b8372c9a40a74d281149ca65b057a7da9)) - Release git-features v0.22.6 ([`c9eda72`](https://github.com/Byron/gitoxide/commit/c9eda729d8f8bc266c7516c613d38acfb83a4743)) - Merge branch 'filter-refs' ([`e10554d`](https://github.com/Byron/gitoxide/commit/e10554d2a3b9c027353a432b0c84f7d3797b7cae)) - Merge branch 'filter-refs-by-spec' ([`5c05198`](https://github.com/Byron/gitoxide/commit/5c051986bd89590a9287d85d84c713d83dfab83a)) - Merge branch 'main' into filter-refs-by-spec ([`9aa1d3d`](https://github.com/Byron/gitoxide/commit/9aa1d3dc46d4b1c76af257f573aff3aeef2d3fa8)) - Release git-features v0.22.4, git-url v0.8.0, safety bump 4 crates ([`1d4600a`](https://github.com/Byron/gitoxide/commit/1d4600ae51475c2e225f96c16c41e2c4a2b3f2aa)) - Merge branch 'main' into filter-refs-by-spec ([`1f6e5ab`](https://github.com/Byron/gitoxide/commit/1f6e5ab15f5fd8d23719b13e6aea59cd231ac0fe)) - Merge branch 'fix-522' ([`5869e9f`](https://github.com/Byron/gitoxide/commit/5869e9ff2508d5a93c07635277af8764fcb57713)) - Release git-hash v0.9.9 ([`da0716f`](https://github.com/Byron/gitoxide/commit/da0716f8c27b4f29cfff0e5ce7fcb3d7240f4aeb)) - Merge branch 'main' into index-from-tree ([`bc64b96`](https://github.com/Byron/gitoxide/commit/bc64b96a2ec781c72d1d4daad38aa7fb8b74f99b)) - Release git-path v0.4.2, git-config-value v0.7.0 ([`c48fb31`](https://github.com/Byron/gitoxide/commit/c48fb3107d29f9a06868b0c6de40567063a656d1)) - Merge branch 'main' into filter-refs-by-spec ([`cef0b51`](https://github.com/Byron/gitoxide/commit/cef0b51ade2a3301fa09ede7a425aa1fe3527e78)) </details> ## 0.15.4 (2022-08-28) ### New Features - <csr-id-2d0b63997b276a53b3cf8f09fac51f8e3f044bcd/> Add `Reference::delete()` for simple reference deletion ### Commit Statistics <csr-read-only-do-not-edit/> - 3 commits contributed to the release. - 1 day passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: [#XXX](https://github.com/Byron/gitoxide/issues/XXX) ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#XXX](https://github.com/Byron/gitoxide/issues/XXX)** - prepare changelogs prior to release ([`8c0bca3`](https://github.com/Byron/gitoxide/commit/8c0bca37ff9fbaadbe55561fb2b0d649980c95b1)) * **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`](https://github.com/Byron/gitoxide/commit/85a3bedd68d2e5f36592a2f691c977dc55298279)) - Add `Reference::delete()` for simple reference deletion ([`2d0b639`](https://github.com/Byron/gitoxide/commit/2d0b63997b276a53b3cf8f09fac51f8e3f044bcd)) </details> ## 0.15.3 (2022-08-27) Maintenance release without user-facing changes. ### Commit Statistics <csr-read-only-do-not-edit/> - 4 commits contributed to the release over the course of 3 calendar days. - 3 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **Uncategorized** - Release git-attributes v0.3.3, git-ref v0.15.3, git-index v0.4.3, git-worktree v0.4.3, git-testtools v0.8.0 ([`baad4ce`](https://github.com/Byron/gitoxide/commit/baad4ce51fe0e8c0c1de1b08148d8303878ca37b)) - prepare changelogs prior to release of git-testtools ([`7668e38`](https://github.com/Byron/gitoxide/commit/7668e38fab8891ed7e73fae3a6f5a8772e0f0d0b)) - Release git-features v0.22.3, git-revision v0.4.4 ([`c2660e2`](https://github.com/Byron/gitoxide/commit/c2660e2503323531ba02519eaa51124ee22fec51)) - Merge branch 'main' into filter-refs-by-spec ([`cfa1440`](https://github.com/Byron/gitoxide/commit/cfa144031dbcac2707ab0cec012bc35e78f9c475)) </details> ## 0.15.2 (2022-08-24) <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> <csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/> ### Chore - <csr-id-f7f136dbe4f86e7dee1d54835c420ec07c96cd78/> uniformize deny attributes - <csr-id-533e887e80c5f7ede8392884562e1c5ba56fb9a8/> remove default link to cargo doc everywhere ### New Features - <csr-id-b1c40b0364ef092cd52d03b34f491b254816b18d/> use docsrs feature in code to show what is feature-gated automatically on docs.rs - <csr-id-517677147f1c17304c62cf97a1dd09f232ebf5db/> pass --cfg docsrs when compiling for https://docs.rs ### Commit Statistics <csr-read-only-do-not-edit/> - 9 commits contributed to the release over the course of 5 calendar days. - 6 days passed between releases. - 4 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **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`](https://github.com/Byron/gitoxide/commit/4974eca96d525d1ee4f8cad79bb713af7a18bf9d)) - Release git-path v0.4.1 ([`5e82346`](https://github.com/Byron/gitoxide/commit/5e823462b3deb904f5d6154a7bf114cef1988224)) - Merge branch 'main' into remote-ls-refs ([`e2ee3de`](https://github.com/Byron/gitoxide/commit/e2ee3ded97e5c449933712883535b30d151c7c78)) - Merge branch 'docsrs-show-features' ([`31c2351`](https://github.com/Byron/gitoxide/commit/31c235140cad212d16a56195763fbddd971d87ce)) - use docsrs feature in code to show what is feature-gated automatically on docs.rs ([`b1c40b0`](https://github.com/Byron/gitoxide/commit/b1c40b0364ef092cd52d03b34f491b254816b18d)) - uniformize deny attributes ([`f7f136d`](https://github.com/Byron/gitoxide/commit/f7f136dbe4f86e7dee1d54835c420ec07c96cd78)) - pass --cfg docsrs when compiling for https://docs.rs ([`5176771`](https://github.com/Byron/gitoxide/commit/517677147f1c17304c62cf97a1dd09f232ebf5db)) - remove default link to cargo doc everywhere ([`533e887`](https://github.com/Byron/gitoxide/commit/533e887e80c5f7ede8392884562e1c5ba56fb9a8)) - Merge branch 'main' into remote-ls-refs ([`bd5f3e8`](https://github.com/Byron/gitoxide/commit/bd5f3e8db7e0bb4abfb7b0f79f585ab82c3a14ab)) </details> ## 0.15.1 (2022-08-17) ### Bug Fixes - <csr-id-1d2003519e3b0f745af1524a32f2816475024b31/> always update modification date when packed refs are forcefully reloaded. The latter happens right after the file was written, which means we definitely have to update our modification date or else the buffer will be read again next time somebody asks for an up-to-date version. The ordering of operations is such that at worst, the buffer is loaded again instead of keeping an outdated version of it, which would happen if the metadata is read afterwards. ### Commit Statistics <csr-read-only-do-not-edit/> - 21 commits contributed to the release over the course of 26 calendar days. - 26 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: [#427](https://github.com/Byron/gitoxide/issues/427) ### Thanks Clippy <csr-read-only-do-not-edit/> [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#427](https://github.com/Byron/gitoxide/issues/427)** - make fmt ([`4b320e7`](https://github.com/Byron/gitoxide/commit/4b320e773368ac5e8c38dd8a779ef3d6d2d024ec)) - adapt to changes in git-features ([`777b40c`](https://github.com/Byron/gitoxide/commit/777b40cc33f0cc952bc2a7cbb01c0c3c1b261e5b)) - Adjust to changes in `git-features` ([`07168c7`](https://github.com/Byron/gitoxide/commit/07168c704c1f8ba1eeb4dcec65b7d34ddca3e147)) - Use generalized reload-on-demand in `git-ref` ([`8d0cce7`](https://github.com/Byron/gitoxide/commit/8d0cce7d1521374d5199552fc69a417a957519bc)) - Now it's possible to update packed refs using the shared code ([`78222c2`](https://github.com/Byron/gitoxide/commit/78222c2e39aa24c84852e999448c042f2fd37db4)) - The first step towards using the generalized `ReloadIfChanged` in git-ref ([`e8de0ef`](https://github.com/Byron/gitoxide/commit/e8de0ef38db2f2d83cb277ed101464f23c0e98e4)) - always update modification date when packed refs are forcefully reloaded. ([`1d20035`](https://github.com/Byron/gitoxide/commit/1d2003519e3b0f745af1524a32f2816475024b31)) * **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`](https://github.com/Byron/gitoxide/commit/c96473dce21c3464aacbc0a62d520c1a33172611)) - prepare changelogs prior to reelase ([`c06ae1c`](https://github.com/Byron/gitoxide/commit/c06ae1c606b6af9c2a12021103d99c2810750d60)) - Release git-hash v0.9.7, git-features v0.22.1 ([`232784a`](https://github.com/Byron/gitoxide/commit/232784a59ded3e8016e4257c7e146ad385cdd64a)) - Merge branch 'main' into write-index-v2 ([`a938986`](https://github.com/Byron/gitoxide/commit/a938986877302c197d1aed087594c5605416fe5f)) - Merge branch 'main' into remote-ls-refs ([`de61c4d`](https://github.com/Byron/gitoxide/commit/de61c4db7855d6925d66961f62ae3d12cc4acf78)) - thanks clippy ([`4bd747c`](https://github.com/Byron/gitoxide/commit/4bd747cb3e126fe5b1d540270cfbd731cffd42ef)) - Merge branch 'rev-parse-delegate' ([`2f506c7`](https://github.com/Byron/gitoxide/commit/2f506c7c2988477b0f97d272a9ac9ed47b236457)) - thanks clippy ([`763cec8`](https://github.com/Byron/gitoxide/commit/763cec829da1e49830a9a52d25a45c07d3d0dba5)) - Merge pull request #2 from SidneyDouw/main ([`ce885ad`](https://github.com/Byron/gitoxide/commit/ce885ad4c3324c09c83751c32e014f246c748766)) - Merge branch 'Byron:main' into main ([`9b9ea02`](https://github.com/Byron/gitoxide/commit/9b9ea0275f8ff5862f24cf5a4ca53bb1cd610709)) - Merge branch 'main' into rev-parse-delegate ([`6da8250`](https://github.com/Byron/gitoxide/commit/6da82507588d3bc849217c11d9a1d398b67f2ed6)) - Merge branch 'main' into pathspec ([`7b61506`](https://github.com/Byron/gitoxide/commit/7b615060712565f515515e35a3e8346278ad770c)) - Merge branch 'kianmeng-fix-typos' ([`4e7b343`](https://github.com/Byron/gitoxide/commit/4e7b34349c0a01ad8686bbb4eb987e9338259d9c)) - Fix typos ([`e9fcb70`](https://github.com/Byron/gitoxide/commit/e9fcb70e429edb2974afa3f58d181f3ef14c3da3)) </details> ## 0.15.0 (2022-07-22) ### New Features - <csr-id-4607a18e24b8270c182663a434b79dff8761db0e/> Add `store::WriteRefLog::Always` to unconditionally write reflogs. - <csr-id-f3c609f0af00aa280649975b0705a3cfaad8a0e5/> Allow `Reference` to be serialized/deserialized with `serde`. ### Changed (BREAKING) - <csr-id-0f753e922e313f735ed267f913366771e9de1111/> `Target(Ref)?::try_name()` now returns `Option<&FullNameRef>`. That way, the name is actually directly usable in most methods that require a validated name as input. ### Commit Statistics <csr-read-only-do-not-edit/> - 15 commits contributed to the release over the course of 36 calendar days. - 39 days passed between releases. - 3 commits were understood as [conventional](https://www.conventionalcommits.org). - 2 unique issues were worked on: [#331](https://github.com/Byron/gitoxide/issues/331), [#427](https://github.com/Byron/gitoxide/issues/427) ### Thanks Clippy <csr-read-only-do-not-edit/> [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details <csr-read-only-do-not-edit/> <details><summary>view details</summary> * **[#331](https://github.com/Byron/gitoxide/issues/331)** - `Target(Ref)?::try_name()` now returns `Option<&FullNameRef>`. ([`0f753e9`](https://github.com/Byron/gitoxide/commit/0f753e922e313f735ed267f913366771e9de1111)) - Add `store::WriteRefLog::Always` to unconditionally write reflogs. ([`4607a18`](https://github.com/Byron/gitoxide/commit/4607a18e24b8270c182663a434b79dff8761db0e)) * **[#427](https://github.com/Byron/gitoxide/issues/427)** - Allow `Reference` to be serialized/deserialized with `serde`. ([`f3c609f`](https://github.com/Byron/gitoxide/commit/f3c609f0af00aa280649975b0705a3cfaad8a0e5)) * **Uncategorized** - 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`](https://github.com/Byron/gitoxide/commit/4737b1eea1d4c9a8d5a69fb63ecac5aa5d378ae5)) - prepare changelog prior to release ([`3c50625`](https://github.com/Byron/gitoxide/commit/3c50625fa51350ec885b0f38ec9e92f9444df0f9)) - Merge branch 'config-cascade' ([`f144eaf`](https://github.com/Byron/gitoxide/commit/f144eaf5863ae5cac63103f0db51c35fcf03a948)) - Merge pull request #1 from Byron/main ([`085e76b`](https://github.com/Byron/gitoxide/commit/085e76b121291ed9bd324139105d2bd4117bedf8)) - Merge branch 'config-comfort' ([`84b98d9`](https://github.com/Byron/gitoxide/commit/84b98d94177ceaf931aaa521e44eca0fa484d2d3)) - assure document-features are available in all 'usable' and 'early' crates ([`238581c`](https://github.com/Byron/gitoxide/commit/238581cc46c7288691eed37dc7de5069e3d86721)) - Merge branch 'main' into pathspec ([`89ea12b`](https://github.com/Byron/gitoxide/commit/89ea12b558bcc056b892193ee8fb44b8664b5da4)) - Merge branch 'main' into cont_include_if ([`daa71c3`](https://github.com/Byron/gitoxide/commit/daa71c3b753c6d76a3d652c29237906b3e28728f)) - thanks clippy ([`e1003d5`](https://github.com/Byron/gitoxide/commit/e1003d5fdee5d4439c0cf0286c67dec9b5e34f53)) - generally avoid using `target_os = "windows"` in favor of `cfg(windows)` and negations ([`91d5402`](https://github.com/Byron/gitoxide/commit/91d54026a61c2aae5e3e1341d271acf16478cd83)) - Merge branch 'main' into cont_include_if ([`41ea8ba`](https://github.com/Byron/gitoxide/commit/41ea8ba78e74f5c988148367386a1f4f304cb951)) - Release git-path v0.3.0, safety bump 14 crates ([`400c9be`](https://github.com/Byron/gitoxide/commit/400c9bec49e4ec5351dc9357b246e7677a63ea35)) </details> ## 0.14.0 (2022-06-13) A maintenance release without user-facing changes. ### Commit Statistics <csr-read-only-do-not-edit/> - 5 commits contributed to the release over the course of 25 calendar days. - 25 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Commit Details <csr-read-only-do-not-edit/>