Releases: GitoxideLabs/gitoxide
gix v0.45.0
The reason for this release is the ability to properly negotiate packs, also across multiple rounds, and with protocol.version
1 or 2, across
stateless or stateful transports.
Chore
- inline format args
New Features
-
use
gix-negotiate
in fetch machinery.
Thanks to it we are finally able to do pack negotiations just like git can,
as many rounds as it takes and with all available algorithms.Works for V1 and V2 and for stateless and stateful transports.
-
Add
gitoxide.core.defaultPackCacheMemoryLimit
to control memory limits.
Previously the 64 slot LRU cache didn't have any limit, now one is implemented that
defaults to about 96MB.
New Features (BREAKING)
- respect
core.useReplaceRefs
and removegitoxide.objects.noReplace
.
The gitoxide specific variable wasn't needed in the first place.
Refactor (BREAKING)
- Move
Kind
intorepository::Kind
.
This type was from old times wheregix
was calledgix-repository
.
Also remoteThreadSafeRepository::kind()
in favor of leaving only
Repository::kind()
.
Commit Statistics
- 32 commits contributed to the release over the course of 40 calendar days.
- 40 days passed between releases.
- 5 commits were understood as conventional.
- 1 unique issue was worked on: #851
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
- #851
- Add
gitoxide.core.defaultPackCacheMemoryLimit
to control memory limits. (020ff4e)
- Add
- Uncategorized
just fmt
(ffc1276)- Prepare changelogs prior to release (8f15cec)
- Merge branch 'integrate-gix-negotiate' (ae845de)
- Add test to validate alternates in the context of fetching (ae1bc41)
- Use
gix-negotiate
in fetch machinery. (af0ef2f) - Respect
core.useReplaceRefs
and removegitoxide.objects.noReplace
. (e011e36) - Thanks clippy (9525ac8)
- Merge branch 'fix-docs' (420553a)
- Minor fixes (89a8cfe)
- Cleaning up documentation (2578e57)
- Move
Kind
intorepository::Kind
. (9689a08) - Merge branch 'auto-clippy' (dbf8aa1)
- Autofix map-or-unwrap clippy lint (and manual fix what was left) (2087032)
- Merge branch 'main' into auto-clippy (3ef5c90)
- Merge pull request #864 from nyurik/lint-fmt (279dc09)
- Merge branch 'blinxen/main' (9375cd7)
- Inline format args (dbc6cbb)
- Include license files in all crates (facaaf6)
- Merge branch 'consecutive-negotiation' (97b3f7e)
- Release gix-commitgraph v0.15.0, gix-revision v0.14.0, gix-negotiate v0.1.0, safety bump 7 crates (92832ca)
- Merge branch 'consecutive-negotiation' (4507f94)
- Adapt to changes in
gix-revision
(56f4d30) - Refactor (f4245f4)
- Merge branch 'fix-851' (2f275d5)
- Adjust to changes in
gix-pack
(215889c) - Support reading the fetch algorithm from configuration (33b7770)
- Release gix-object v0.29.2 (4f879bf)
- Release gix-discover v0.18.1, gix-worktree v0.17.1, gix-testtools v0.12.0 (f7b6c6f)
- Release gix-index v0.16.1 (08c6f9d)
- Release gix-ref v0.29.1 (13e01f5)
- Improve docs for
Shallow
(3d95bb7)
gix-utils v0.1.2
A maintenance release without user-facing changes.
Commit Statistics
- 4 commits contributed to the release over the course of 12 calendar days.
- 40 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
gix-url v0.19.0
A maintenance release without user-facing changes.
Commit Statistics
- 6 commits contributed to the release over the course of 12 calendar days.
- 40 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
gix-traverse v0.26.0
A maintenance release without user-facing changes.
Commit Statistics
- 11 commits contributed to the release over the course of 25 calendar days.
- 40 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelogs prior to release (8f15cec)
- Merge pull request #878 from blinxen/main (67da689)
- Include missing changelog file in some crates (0269eed)
- Merge branch 'fix-docs' (420553a)
- Cleaning up documentation (2578e57)
- Merge branch 'auto-clippy' (dbf8aa1)
- Merge branch 'main' into auto-clippy (3ef5c90)
- Auto-fix clippy to remove explicit iter looping (3eff567)
- Merge branch 'blinxen/main' (9375cd7)
- Include license files in all crates (facaaf6)
- Release gix-object v0.29.2 (4f879bf)
gix-transport v0.32.0
Bug Fixes (BREAKING)
- parse 'handshake' of
file://
based protocol version 0.
This special protocol kicks in whengit
servesfile://
directly
and no version number is specified. Then it doesn't advertise capabilities
at all, but shows 0000 right away.
Make sure we can parse it, and show it by addingVersion::V0
as well.
Commit Statistics
- 15 commits contributed to the release over the course of 12 calendar days.
- 40 days passed between releases.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Thanks Clippy
Clippy helped 1 time to make code idiomatic.
Commit Details
view details
- Uncategorized
- Prepare changelogs prior to release (8f15cec)
- Merge branch 'integrate-gix-negotiate' (ae845de)
- Parse 'handshake' of
file://
based protocol version 0. (aa2d064) - Thanks clippy (9525ac8)
- Merge branch 'fix-docs' (420553a)
- Cleaning up documentation (2578e57)
- Apply -W clippy::cloned-instead-of-copied (150463c)
- Merge branch 'auto-clippy' (dbf8aa1)
- Disallow non-inlined format args and make respective fixes (bd101f2)
- Autofix map-or-unwrap clippy lint (and manual fix what was left) (2087032)
- Release gix-packetline v0.16.1 (d70ce9f)
- Merge branch 'main' into auto-clippy (3ef5c90)
- Merge branch 'blinxen/main' (9375cd7)
- Include custom clippy settings (b057500)
- Include license files in all crates (facaaf6)
gix-tempfile v6.0.0
A maintenance release without user-facing changes.
Commit Statistics
- 3 commits contributed to the release over the course of 11 calendar days.
- 40 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
gix-sec v0.8.1
A maintenance release without user-facing changes.
Commit Statistics
- 4 commits contributed to the release over the course of 12 calendar days.
- 40 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
gix-revision v0.15.1
Bug Fixes
- avoid duplicate error message
"There was an error looking up a commit" could be printed twice in error stacks
due to a copy-paste error.
Commit Statistics
- 2 commits contributed to the release.
- 1 commit was understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
gix-revision v0.15.0
Chore
- inline format args
New Features
-
allow graph sharing by unifying
Flags
type.
This makes the graph used ingix-negotiate
shareable by callers, which can
do their own traversal and store their own flags. The knowlege of this traversal
can be kept using such shared flags, like thePARSED
bit which should be set whenever
parents are traversed.That way we are able to emulate the algorithms git uses perfectly, as we keep exactly the
same state. -
various improvements to the API
- make
CommitterTimestamp
available as type, making the code using it more descriptive.
- make
- add
new()
toPriorityQueue
- add
Graph::try_lookup_and_insert_default()
- add
Debug
impl forGraph
New Features (BREAKING)
-
Add version of Graph that handles fully-parsed commits
This renamesgraph::Commit
tograph::LazyCommit
to make space forgraph::Commit
to be a fully owned.
LazyCommit::to_owned()
was added to obtain fully ownedCommit
instances.
RenameGraph::try_lookup_and_insert()
toGraph::try_lookup_or_insert()
and
Graph::try_lookup_and_insert_default()
toGraph::try_lookup_or_insert_default()
Additionally, add the
peek()
anditer_unordered()
method to thePriorityQueue
, along with an implementation forClone
RenamePriorityQueue::iter_random()
to::iter_unordered()
.
Commit Statistics
- 14 commits contributed to the release over the course of 13 calendar days.
- 18 days passed between releases.
- 4 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
just fmt
(ffc1276)- Prepare changelogs prior to release (8f15cec)
- Merge branch 'integrate-gix-negotiate' (ae845de)
- Allow graph sharing by unifying
Flags
type. (1bd93be) - Add version of Graph that handles fully-parsed commits (11ad8a8)
- Merge branch 'auto-clippy' (dbf8aa1)
- Autofix map-or-unwrap clippy lint (and manual fix what was left) (2087032)
- Merge branch 'main' into auto-clippy (3ef5c90)
- Merge pull request #864 from nyurik/lint-fmt (279dc09)
- Merge branch 'blinxen/main' (9375cd7)
- Inline format args (dbc6cbb)
- Include license files in all crates (facaaf6)
- Merge branch 'consecutive-negotiation' (97b3f7e)
- Various improvements to the API (9ab2051)
gix-refspec v0.11.0
A maintenance release without user-facing changes.
Commit Statistics
- 11 commits contributed to the release over the course of 38 calendar days.
- 40 days passed between releases.
- 0 commits were understood as conventional.
- 0 issues like '(#ID)' were seen in commit messages
Commit Details
view details
- Uncategorized
- Prepare changelogs prior to release (8f15cec)
- Merge branch 'fix-docs' (420553a)
- Cleaning up documentation (2578e57)
- Merge branch 'auto-clippy' (dbf8aa1)
- Merge branch 'main' into auto-clippy (3ef5c90)
- Merge branch 'blinxen/main' (9375cd7)
- Include custom clippy settings (b057500)
- Include license files in all crates (facaaf6)
- Merge branch 'consecutive-negotiation' (97b3f7e)
- Release gix-commitgraph v0.15.0, gix-revision v0.14.0, gix-negotiate v0.1.0, safety bump 7 crates (92832ca)
- Improve ref-spec docs of the allowed types of fetch specs, source side. (2800600)