Tags give the ability to mark specific points in history as being important
-
git-credentials-v0.6.1
d071583c · ·A maintenance release without user-facing changes. ### Commit Statistics - 3 commits contributed to the release over the course of 2 calendar days. - 27 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - thanks clippy (04cfa63) -
git-url-v0.10.1
d071583c · ·### New Features - add `Url::canonicalized()` and `Url::canonicalize()`. These methods allow to assure file urls are absolute, useful when cloning from any url. ### Commit Statistics - 5 commits contributed to the release over the course of 25 calendar days. - 27 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Commit Details * **#450** - add `Url::canonicalized()` and `Url::canonicalize()`. (01f2574) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (c4e6849) - Merge branch 'gix-clone' (def53b3) - Make a clearer note of the obvious deviation due to lack of storing passwords (d91bbcc) -
git-prompt-v0.1.1
d071583c · ·A maintenance release without user-facing changes. ### Commit Statistics - 4 commits contributed to the release over the course of 47 calendar days. - 47 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **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 'diff' (25a7726) -
git-config-v0.10.0
d071583c · ·### Bug Fixes - `File::boolean()` now correctly handles implicit bools across sections. This means it will return the last implicit value as true, instead of ignoring it to fall back onto an explicit boolean value that might be false. - `file::SectionMut::push()` now properly creates empty values. Previously, when calling `.push("key", None)`, the resulting internal state would be slighly wrong causing certain invariants and expectations to be unfulfilled even though it might have looked OK to most users. Now it will uphold the invariant for empty values, those without an `=` character. ### Commit Statistics - 12 commits contributed to the release over the course of 20 calendar days. - 27 days passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details * **#450** - `File::boolean()` now correctly handles implicit bools across sections. (839f776) - be sure to globally order section ids when traversed by name. (21a5229) - `file::SectionMut::push()` now properly creates empty values. (7d92c61) - refactor (041ede9) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - thanks clippy (04cfa63) - adjust memory-size expectations to deal with Rust 1.65 and below (a93c470) - Merge branch 'main' into write-sparse-index (c4e6849) - make fmt (ea2136b) - Merge branch 'gix-clone' (def53b3) - thanks clippy (d2f56df) -
git-sec-v0.4.2
d071583c · ·A maintenance release without user-facing changes. ### Commit Statistics - 3 commits contributed to the release over the course of 2 calendar days. - 27 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - thanks clippy (04cfa63) -
git-ref-v0.18.0
d071583c · ·### 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 - 9 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 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details * **#450** - support for non-'static PackedRefs transactions. (328900a) - add test to validate new symref reflog behaviour (8b5cf38) - allow symref updates to receive reflogs if these are new… (6e5c0ae) * **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 (3eaedda) -
git-object-v0.22.1
d071583c · ·### New Features - `Object::try_into_blob_ref()` as alternative to consuming `*::try_into_blob()` ### Commit Statistics - 4 commits contributed to the release over the course of 2 calendar days. - 27 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 * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (upgrade to Rust 1.65) (5406630) - Adapt in-memory size check to Rust 1.65 and below (1919e8e) - `Object::try_into_blob_ref()` as alternative to consuming `*::try_into_blob()` (14d6133) -
git-tempfile-v2.0.6
d071583c · ·A maintenance release without user-facing changes. ### Commit Statistics - 4 commits contributed to the release over the course of 47 calendar days. - 47 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **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 'diff' (25a7726) -
git-config-value-v0.8.1
d071583c · ·### Bug Fixes - build error on Android ### Commit Statistics - 8 commits contributed to the release over the course of 47 calendar days. - 47 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **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 (70963f5) - Merge branch 'main' into gix-clone (64f81d7) - Merge branch 'fix/android_build' (8f64ecd) - build error on Android (38b92ba) - Merge branch 'diff' (25a7726) -
git-glob-v0.4.1
d071583c · ·A maintenance release without user-facing changes. ### Commit Statistics - 4 commits contributed to the release over the course of 47 calendar days. - 47 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' were seen in commit messages ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **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 'diff' (25a7726) -
git-features-v0.23.1
d071583c · ·### New Features - `fs::Snapshot` can `Clone` if `T` can `Clone`. ### Commit Statistics - 6 commits contributed to the release over the course of 23 calendar days. - 27 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#450** - upgrade to `prodash` v21 (a0655dc) - `fs::Snapshot` can `Clone` if `T` can `Clone`. (9076ce3) * **Uncategorized** - prepare changelogs prior to release (423af90) - Merge branch 'main' into write-sparse-index (c4e6849) - Merge branch 'gix-clone' (def53b3) - thanks clippy (ad96233) -
cargo-smart-release-v0.13.0
919ba0d1 · ·### Bug Fixes - build complete history information to match with `did crate changed` queries Previously it was possible see a crate was changed, but didn't receive a version bump which would in turn halt the release process. The issue was an algorithm inabuility to find changes in the commitgraph because it would not look at the correct tree, causing trees to be missed entirely. This in turn caused it to not see changes that were present and the mismatch in question. - log errors if these log messages cause stopping the release process. Previously it was possible see `log::warn` but have the process abort with proclaimed errors which weren't obvious. Now they are `log::error` as one would expect. ### Commit Statistics - 25 commits contributed to the release over the course of 40 calendar days. - 40 days passed between releases. - 2 commits were understood as [conventional](https://www.conventionalcommits.org). - 2 unique issues were worked on: #450, #470 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 2 times to make code idiomatic. ### Commit Details * **#450** - adjust to deal with changes to git-repository (b99b6bf) * **#470** - adapt to changes in `git-repository` (5ec714f) * **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) - thanks clippy (65e1627) - Merge branch 'fix-smart-release' (aa80b60) - build complete history information to match with `did crate changed` queries (118c196) - log errors if these log messages cause stopping the release process. (03f3ffc) - probably improve logic of determining which conclusion to draw from version data. (d298391) - Merge branch 'main' into fetch-pack (d686020) - thanks clippy (b9937ad) - Merge branch 'fix-git-features' (82fd251) - fix smart-release journey tests (309dff8) - use `git-repository` to obtain the current push url. (ce9e46c) - Use `git-repository` to figure out the actual remote to push to. (83a677e) - Merge branch 'diff' (25a7726) - upgrade all dependencies, except for `windows` (2968181) - 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 index-from-tree (bc64b96) - Merge branch 'main' into filter-refs-by-spec (51dc828) - Release git-diff v0.18.1, git-discover v0.4.2, git-traverse v0.16.4, git-repository v0.23.1 (2571831) - Merge branch 'main' into filter-refs-by-spec (56ba481) - adjust journey tests expectations (992bfe5) -
git-repository-v0.25.0
104d922a · ·### New Features - `Url::try_from(path: &std::path::Path)` for more convenient instantiation. - 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 `config::SnapshotMut::commit()` to make clear it's transactional. - add `config::SnapshotMut::forget()` to forget all changes before applying them. The documentation was update to make clear when the changes are applied. - add `Repository::find_default_remote()` which works on detached heads as well. - `Remote::rem_map()` now specifies ref-prefixes to the remote. This can greatly reduce the amount of refs sent. ### Other - <csr-id-5bef0a00e8d01110c054a517f6d9696f981a7efc/> try to make the transport configurable after being boxed, but… …that would force it to be 'static, which is something we excplicitly cannot have. We need references to be contained within, if I remember correctly. ### Changed (BREAKING) - All methods editing references don't take the author as parameter anymore. Instead, these are taken from the git configuration and can be configured on the fly with temporarily altered configuration. - remote `lock_mode` from all methods dealing with reference edits. It is now read from `core.filesRefLockTimeout` accordingly. ### New Features (BREAKING) - make jwalk fully optional - add `fetch::Transport::configure` to generically configure any transport. ### Commit Statistics - 128 commits contributed to the release over the course of 20 calendar days. - 20 days passed between releases. - 11 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 8 times to make code idiomatic. ### Commit Details * **#450** - fix test expectations to handle V1/V2 differences. (e616174) - no need to fetch the whole pack in dry-run mode, even in V1. (1777fa1) - fix hang in V1 mode (ce9b591) - Display for `remote::fetch::update::refs::Mode` (169a979) - better error messages if no ref-specs are provided where needed (981488b) - Improve error description with local context (8e9e0b2) - always perform fast-forward checks even if force is specified. (a34370c) - refactor (c0d3ced) - refactor (8334148) - add test to validate actual fast-forwards, without dry-run (e3b937e) - first non-fastforward tests in dry-run mode (2d0d782) - dry-run mode for fetch (ef9fa98) - test all reflog messages that are expected, sans fast-forward (2a76908) - support reflog message prefix (6ebbbc1) - refactor (9a072bd) - facilities to test reflog messages (91859d5) - assure objects exist before setting them. (d79a7a6) - no-clobber special case for tags (ba41b6c) - refactor (18581d0) - reject updating checked-out branches (5a6c102) - add failing test to validate worktree-checkout check (870b680) - fix docs (2a67531) - further harden tests to only allow environment variables for those who need it. (9704c2f) - unset other variables that we know may affect some functions that need stability. (25d6106) - more robust tests that depend on time. (6981b71) - isolate test properly (005469c) - more tests for SnapshotMut and now it's working properly (dde9e63) - more robust assignment of re-evaluated cached values (b514966) - Add test for commit-and-rollback method, and fix it (cc75647) - adapt to changes in `git-ref` (d40beb3) - refactor (f47a31d) - read core.excludesFile lazily (and don't cache it yet) (830c450) - auto-update previously cached values after changing the configuration (da147bf) - All methods editing references don't take the author as parameter anymore. (e88de0f) - remote `lock_mode` from all methods dealing with reference edits. (3a0fb1b) - prepare for worktree-aware checked-out branch handling… (1bb910e) - actually apply ref updates (8fe4bf4) - Add failing test to show we need to respect dry-run mode (or the lack thereof) (e25460b) - tests for all the cases excluding fast-forwards (7ced240) - the first successful test (e4edc18) - Make `fetch::refs::update()` private again, move tests accordingly. (9f9b610) - Provide refspecs to refs::update() to obtain force information (a9f2c45) - a big step towards ref updates, now it needs specs (c101d50) - more update tests (2828674) - the first somewhat synthetic test to check for no changes. (c355823) - fix build (8e1555d) - make `remote::fetch::refs::update()` public to facilitate testing (4a5d3b4) - lay the ground-works for testing the update of refs (1f2d609) - refactor (96f2fd8) - greatly improved performance for write-test. (2ec8175) - improve naieve algorithm to be a bit better in our test-case (0387794) - try to make naive negotiation better, but… (d5c1f92) - speed up fetch tests by giving them their own repo-fixture (ce1a373) - A first sketch of validating a fetch. (2962dc2) - Don't degenerate information in case there is no update needed. (5f73b25) - A first test for validating nothing-new is a no-op (aad17ba) - port part of the negotation logic over, but a lot is still missing (4997e56) - make some private methods public to give callers more flexibility. (31a7089) - refactor (5e93ef5) - complete pack generation options based on configuration (97a5e97) - also extract index threads (8d17dc6) - obtain configuration for index version (with respect for lenient config) (5a3155a) - add `config::SnapshotMut::commit()` to make clear it's transactional. (4367994) - add `config::SnapshotMut::forget()` to forget all changes before applying them. (d2bea00) - sketch the receive() method to finally receive a pack. (67801a3) - allow stopping fetches after preparing it (249c54e) - add `Repository::find_default_remote()` which works on detached heads as well. (4b1e3b3) - refactor (f8fb04a) - fix build (7993f6a) - remove connect_http() method to encourage changing settings using `transport_mut().configure()`. (9b86a1f) - add `fetch::Transport::configure` to generically configure any transport. (78ad3df) - sketch of 'Prepare' struct to configure fetch after ref-map was obtained. (f0f4db6) - don't fail if we can't indicate the end of interaction to the server (47d5cd6) - Make it easier to connect to http if well-known to allow additional configuration. (211e65d) - Revert "FAIL: try to make the transport configurable after being boxed, but…" (fbb96e4) - try to make the transport configurable after being boxed, but… (5bef0a0) - first sktech of fetch module (0dc7206) - pass extra handshake parameters via options in `ref-map` (5475cc2) - Allow to turn remote-filtering off. (38373bc) - `Remote::rem_map()` now specifies ref-prefixes to the remote. (25f0640) * **Uncategorized** - prepare changelogs for release (d232567) - Merge branch 'fix-smart-release' (aa80b60) - make fmt (7b9c065) - move `fetch::Error` one level up (f6b1368) - Merge branch 'clone' (507dc7e) - fix docs (4474352) - validate default remote name as well and show minimal clone without worktree (dff66e8) - validate the outcome of the fetch as well (3865aea) - adjust to changes in `git-refspec` (c62f37a) - thanks clippy (bc2710f) - the first successful test for cloning a bare repository (5ecc965) - Complete implementation of `fetch_only`, even though configuration isn't handled correctly yet (b0f5836) - sketch and test for `clone::Prepare::fetch_only()` (f993cd4) - thanks clippy (f65a1f4) - make it possible to renmae the remote (3f8b0e5) - properly validate remotes when instantiating them and when naming them (1fb97fb) - adjust to changes in `git-features` (3155197) - make jwalk fully optional (3b29fc1) - thanks clippy (8c8fba2) - start adding support for naming the remote, but… (6cbea96) - sketch a way to configure remotes (615a3a9) - refactor (d7f495d) - Api sketch to show how clones and bare clones can be done. (ef1e783) - `Url::try_from(path: &std::path::Path)` for more convenient instantiation. (22d3b37) - adjust to changes in `git-url` (a1068a3) - add test to assert on lossless saving of existing named remotes (884b6e9) - adapt to changes in `git-config` (058473d) - assure unrelated and unwritten keys are not touched (ca5bb5e) - thanks clippy (d82a08d) - remove prior existing values for remotes before saving (4126d99) - save all data we currently use on a Remote (79a4952) - test another prerequisite (1375368) - A basic save_to() implementation for url and push-url (e1f7c5f) - Merge branch 'main' into new-http-impl (702a161) - thanks clippy (1cba50f) - layout save API for remotes (50fbcca) - Merge branch 'crates-index-diff-fixes' (b09bad7) - Add test to validate empty fetches are OK (cb9973b) - Make `fetch::prepare::Error` publicly accessible (9aa2ab2) - make fmt (53acf25) - Merge branch 'fetch-pack' (f47c891) - thanks clippy (83f2156) - Merge branch 'fetch-pack' (3c49400) - thanks clippy (b521748) - thanks clippy (8499c3e) - Merge branch 'fix-git-features' (82fd251) - improve docs around `into_remote()` to explain why it returns an `Option` (71146ad) - Merge branch 'diff' (25a7726) -
git-worktree-v0.6.0
104d922a · ·Maintenance release without user-facing changes. ### Commit Statistics - 3 commits contributed to the release over the course of 20 calendar days. - 20 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' where seen in commit messages ### Commit Details * **Uncategorized** - prepare changelogs for release (d232567) - Merge branch 'fix-git-features' (82fd251) - Merge branch 'diff' (25a7726) -
git-refspec-v0.3.0
104d922a · ·### New Features - `RefSpec::allow_non_fast_forward()` to get information about 'force' quickly. - `RefSpecRef::prefix()` to return the two-component prefix of a refspec's source. #(450) ### Bug Fixes - `RefSpecRef` instruction uses the correct lifetime. ### Changed (BREAKING) - remove lifetime of `match_group::Fix`, keeping `RefSpec` instances instead That lifetime unnecessarily complicated things and wasn't worth keeping due to being a premature optimization. ### Commit Statistics - 11 commits contributed to the release over the course of 20 calendar days. - 20 days passed between releases. - 4 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Commit Details * **#450** - `RefSpec::allow_non_fast_forward()` to get information about 'force' quickly. (d7f63a6) - `RefSpecRef` instruction uses the correct lifetime. (278ff7a) * **Uncategorized** - prepare changelogs for release (d232567) - Merge branch 'clone' (507dc7e) - remove lifetime of `match_group::Fix`, keeping `RefSpec` instances instead (2a0a87a) - Another test to validate components must not be empty (b2c9af1) - Merge branch 'main' into new-http-impl (702a161) - make fmt (53acf25) - Merge branch 'fetch-pack' (3c49400) - `RefSpecRef::prefix()` to return the two-component prefix of a refspec's source. #(450) (6df179b) - Merge branch 'diff' (25a7726) -
git-revision-v0.6.0
104d922a · ·Maintenance release without user-facing changes. ### Commit Statistics - 2 commits contributed to the release over the course of 20 calendar days. - 20 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 0 issues like '(#ID)' where seen in commit messages ### Commit Details * **Uncategorized** - prepare changelogs for release (d232567) - Merge branch 'diff' (25a7726) -
git-protocol-v0.21.0
104d922a · ·### 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 - 20 commits contributed to the release over the course of 20 calendar days. - 20 days passed between releases. - 8 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Commit 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** - 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) -
git-transport-v0.21.0
104d922a · ·### New Features - `reqwest` as blocking HTTP backend via `http-client-reqwest` feature toggle. Note that despite passing the same tests that `curl` passes, for bulletproof HTTP connections to untrusted servers, the `curl` backend should be preferred. `reqwest` is known to hang if `content-length:` HTTP headers are longer than the actual content, and no timeout is kicking in to stop the hanging. `curl` has no trouble with this for example. - Add `client::http::Transport::new_http()` constructor. This goes along with `client::http::connect_http()` to support connections to via custom transports which are passed from calling crates, without relying on the implementation to be built-in. - Allow defaulting `client::Capabilities`. This can be useful in conjunction with `std::mem::take()`, even though an empty data structure like that doesn't bear any significance beyond that. ### Bug Fixes - set the protocol version for local git transports as well. Previously this was only done for ssh based connections, and requires setting an environment variable. - remove `Drop` for `SpawnProcessOnDemand`. It is well-intended but is likely to hang the calling process if for any reason not all process output was consumed. Even though not waiting for the process leaves it running, it will stop naturally once its output pipe breaks once once our handles for it are inevitable dropped at the same time. - compare 'Content-Type' header case-insensitively, as required by the http spec. ### Other - <csr-id-5bef0a00e8d01110c054a517f6d9696f981a7efc/> try to make the transport configurable after being boxed, but… …that would force it to be 'static, which is something we excplicitly cannot have. We need references to be contained within, if I remember correctly. ### Changed (BREAKING) - `client::http::connect()` returns `Transport<Impl>` directly. It' can't fail, so no need to return `Result<_, Infallible>`. ### New Features (BREAKING) - add `fetch::Transport::configure` to generically configure any transport. ### Commit Statistics - 42 commits contributed to the release over the course of 20 calendar days. - 20 days passed between releases. - 9 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Commit Details * **#450** - set the protocol version for local git transports as well. (41b0c19) - remove `Drop` for `SpawnProcessOnDemand`. (6d8b66a) - Allow defaulting `client::Capabilities`. (e05c1fe) - Use `&dyn Any` instead of unspecified serialization format, as it's the right way. (779eefe) - add `fetch::Transport::configure` to generically configure any transport. (78ad3df) - `client::http::connect()` returns `Transport<Impl>` directly. (1cf66c4) - Revert "FAIL: try to make the transport configurable after being boxed, but…" (fbb96e4) - try to make the transport configurable after being boxed, but… (5bef0a0) * **Uncategorized** - prepare changelogs for release (d232567) - Merge branch 'fix-smart-release' (aa80b60) - make fmt (7b9c065) - `reqwest` as blocking HTTP backend via `http-client-reqwest` feature toggle. (8e17534) - re-enable last remaining test for reqwest (9ef6a54) - Merge branch 'main' into new-http-impl (702a161) - and another previously hanging test works - content-length is critical (0b0ba03) - clone_v1 now works in reqwest, because… (63d5a01) - make fmt (53acf25) - Merge branch 'fetch-pack' (f47c891) - Merge branch 'fetch-pack' (3c49400) - Merge branch 'main' into fetch-pack (93917cb) - Shutdown the stream of the mock server for good measure (4e415a8) - minor fix to test, but now it hangs. 3 hanging to go… (164f5d3) - one more test works - strangely enough this one doesn't hang. (c3150dd) - adjust test expectations to pass one part, but now it hangs like clone_v1 (4b731ad) - refactor (569c6f2) - send error on non-success status codes (7ccd4ff) - disable all tests failing under reqwest (except for 1); minor fixes to get it to work (ee4eb69) - Properly integrate reqwest to allow testing (even though none of them works yet) (250114a) - revise drop of header writer to prevent remote hang (2981c4d) - revise error handling; better docs to explain the 'protocol' (fd9634d) - in theory, that's what's needed for reqwest to work in blocking mode… (ce62f5d) - even more safety when dealing with the remote's error state (b63d69b) - rethink error handling during request creation, completing it (1fb0545) - frame for filling in the reqwest implementation (943fd15) - Add 'http-client-reqwest' feature toggle (2c9b63c) - compare 'Content-Type' header case-insensitively, as required by the http spec. (237682a) - Merge branch 'paulyoung/git-transport-http-client' (c845c16) - Add `client::http::Transport::new_http()` constructor. (0fd57c6) - Introduce http-client feature to decouple from curl (31aa2c9) - Make Content-Type header check case-insensitive (7aa8ab8) - Merge branch 'fix-git-features' (82fd251) - Merge branch 'diff' (25a7726) -
git-packetline-v0.13.1
104d922a · ·### 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. ### Commit Statistics - 5 commits contributed to the release over the course of 20 calendar days. - 20 days passed between releases. - 1 commit was understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #450 ### Commit Details * **#450** - support keepalive packets. (d7f62b4) * **Uncategorized** - prepare changelogs for release (d232567) - Merge branch 'main' into new-http-impl (702a161) - Merge branch 'fetch-pack' (f47c891) - Merge branch 'diff' (25a7726) -
git-odb-v0.34.0
104d922a · ·Maintenance release without user-facing changes. ### Commit Statistics - 9 commits contributed to the release over the course of 20 calendar days. - 20 days passed between releases. - 0 commits were understood as [conventional](https://www.conventionalcommits.org). - 1 unique issue was worked on: #536 ### Thanks Clippy [Clippy](https://github.com/rust-lang/rust-clippy) helped 1 time to make code idiomatic. ### Commit Details * **#536** - Try even harder to find the original index during recursive base object resolution. (bae3ea9) - try to recreate multi-threaded panic, without success. (53b5086) - Only run single-threaded these when respective toggle is set (when multi-threading is requested) (730384d) * **Uncategorized** - prepare changelogs for release (d232567) - Merge branch 'main' into fetch-pack (d686020) - thanks clippy (b9937ad) - Merge branch 'fix-git-features' (82fd251) - Merge branch 'fix-odb-race' (b862fc5) - Merge branch 'diff' (25a7726)