New Features
-
Add
fetch::Arguments::is_stateless()
to aid proper use of arguments.
When arguments are used, haves are reset every round in stateless protocols, while
everything else is repeated. However, this also means that previously confirmed common
commits aren't repeated unless this is specifically implemented by the user ofArguments
.That caller can now easily determine if negotiations have to be compensated for.
Please note that
Arguments
explicitly doesn't implement repeating of all prior arguments, which
would also repeat a lot of in-vain haves.
Bug Fixes
include-tag
is now properly handled in V1 fetch arguments
Previously it would be added like it's V2 arguments, which makes using it
in V1 impossible.
Bug Fixes (BREAKING)
-
make V1 stateless negotations work.
This is done by working around another V1 negotiation oddity
by exploiting client-side knowledge. For very old servers, we probably
wouldn't be able to do multi-rounds without dead-locking, but with
recent-enough (probably 10 years or so) old git servers all should
work fine.All this to not actually have to implement the V1 strangeness, allowing
our code to work smoothly with all permutations of stateless/stateful connections
and V1/V2 interactions, with a single high-level implementation essentially.
Commit Statistics
- 12 commits contributed to the release over the course of 12 calendar days.
- 40 days passed between releases.
- 3 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 'integrate-gix-negotiate' (ae845de)
- Make V1 stateless negotations work. (6a3c021)
include-tag
is now properly handled in V1 fetch arguments (c5dc7b4)- Add
fetch::Arguments::is_stateless()
to aid proper use of arguments. (877aa29) - Adapt to changes in
gix-transport
(60eaceb) - Merge branch 'fix-docs' (420553a)
- Cleaning up documentation (2578e57)
- Apply -W clippy::cloned-instead-of-copied (150463c)
- Merge branch 'main' into auto-clippy (3ef5c90)
- Merge branch 'blinxen/main' (9375cd7)
- Include license files in all crates (facaaf6)