Skip to content

Release 0.9.0 - #224

Merged
crazyscot merged 42 commits into
mainfrom
dev
Jun 24, 2026
Merged

Release 0.9.0#224
crazyscot merged 42 commits into
mainfrom
dev

Conversation

@crazyscot

Copy link
Copy Markdown
Owner

No description provided.

crazyscot and others added 30 commits March 11, 2026 20:25
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.8 to 0.103.10.
- [Release notes](https://github.com/rustls/webpki/releases)
- [Commits](rustls/webpki@v/0.103.8...v/0.103.10)

---
updated-dependencies:
- dependency-name: rustls-webpki
  dependency-version: 0.103.10
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the cargo group with 11 updates:

| Package | From | To |
| --- | --- | --- |
| [anstyle](https://github.com/rust-cli/anstyle) | `1.0.13` | `1.0.14` |
| [clap](https://github.com/clap-rs/clap) | `4.5.60` | `4.6.0` |
| [clap_mangen](https://github.com/clap-rs/clap) | `0.2.31` | `0.3.0` |
| [colorchoice](https://github.com/rust-cli/anstyle) | `1.0.4` | `1.0.5` |
| [console](https://github.com/console-rs/console) | `0.16.2` | `0.16.3` |
| derive-deftly | `1.6.0` | `1.10.0` |
| [libc](https://github.com/rust-lang/libc) | `0.2.182` | `0.2.183` |
| [roff](https://github.com/rust-cli/roff-rs) | `1.0.0` | `1.1.1` |
| [tempfile](https://github.com/Stebalien/tempfile) | `3.26.0` | `3.27.0` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.49.0` | `1.50.0` |
| [tracing-subscriber](https://github.com/tokio-rs/tracing) | `0.3.22` | `0.3.23` |


Updates `anstyle` from 1.0.13 to 1.0.14
- [Commits](rust-cli/anstyle@v1.0.13...v1.0.14)

Updates `clap` from 4.5.60 to 4.6.0
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_complete-v4.5.60...clap_complete-v4.6.0)

Updates `clap_mangen` from 0.2.31 to 0.3.0
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_mangen-v0.2.31...clap_mangen-v0.3.0)

Updates `colorchoice` from 1.0.4 to 1.0.5
- [Commits](rust-cli/anstyle@colorchoice-v1.0.4...colorchoice-v1.0.5)

Updates `console` from 0.16.2 to 0.16.3
- [Release notes](https://github.com/console-rs/console/releases)
- [Changelog](https://github.com/console-rs/console/blob/main/CHANGELOG.md)
- [Commits](console-rs/console@0.16.2...0.16.3)

Updates `derive-deftly` from 1.6.0 to 1.10.0

Updates `libc` from 0.2.182 to 0.2.183
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.183/CHANGELOG.md)
- [Commits](rust-lang/libc@0.2.182...0.2.183)

Updates `roff` from 1.0.0 to 1.1.1
- [Changelog](https://github.com/rust-cli/roff-rs/blob/master/CHANGELOG.md)
- [Commits](rust-cli/roff-rs@v1.0.0...v1.1.1)

Updates `tempfile` from 3.26.0 to 3.27.0
- [Changelog](https://github.com/Stebalien/tempfile/blob/master/CHANGELOG.md)
- [Commits](Stebalien/tempfile@v3.26.0...v3.27.0)

Updates `tokio` from 1.49.0 to 1.50.0
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.49.0...tokio-1.50.0)

Updates `tracing-subscriber` from 0.3.22 to 0.3.23
- [Release notes](https://github.com/tokio-rs/tracing/releases)
- [Commits](tokio-rs/tracing@tracing-subscriber-0.3.22...tracing-subscriber-0.3.23)

---
updated-dependencies:
- dependency-name: anstyle
  dependency-version: 1.0.14
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: clap
  dependency-version: 4.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: clap_mangen
  dependency-version: 0.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: colorchoice
  dependency-version: 1.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: console
  dependency-version: 0.16.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: derive-deftly
  dependency-version: 1.10.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: libc
  dependency-version: 0.2.183
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: roff
  dependency-version: 1.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: tempfile
  dependency-version: 3.27.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: tokio
  dependency-version: 1.50.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: tracing-subscriber
  dependency-version: 0.3.23
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
Necessary as Github are sunsetting actions that run on node.js 20
Bumps [rand](https://github.com/rust-random/rand) from 0.9.2 to 0.9.4.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/0.9.4/CHANGELOG.md)
- [Commits](rust-random/rand@rand_core-0.9.2...0.9.4)

---
updated-dependencies:
- dependency-name: rand
  dependency-version: 0.9.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.10 to 0.103.12.
- [Release notes](https://github.com/rustls/webpki/releases)
- [Commits](rustls/webpki@v/0.103.10...v/0.103.12)

---
updated-dependencies:
- dependency-name: rustls-webpki
  dependency-version: 0.103.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps [rustls-webpki](https://github.com/rustls/webpki) from 0.103.12 to 0.103.13.
- [Release notes](https://github.com/rustls/webpki/releases)
- [Commits](rustls/webpki@v/0.103.12...v/0.103.13)

---
updated-dependencies:
- dependency-name: rustls-webpki
  dependency-version: 0.103.13
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the cargo group with 8 updates:

| Package | From | To |
| --- | --- | --- |
| [assertables](https://github.com/sixarm/assertables-rust-crate) | `9.8.6` | `9.9.0` |
| [clap](https://github.com/clap-rs/clap) | `4.6.0` | `4.6.1` |
| derive-deftly | `1.10.0` | `1.11.1` |
| [libc](https://github.com/rust-lang/libc) | `0.2.183` | `0.2.186` |
| [mimalloc](https://github.com/purpleprotocol/mimalloc_rust) | `0.1.48` | `0.1.50` |
| [rustls](https://github.com/rustls/rustls) | `0.23.37` | `0.23.40` |
| [rustls-pki-types](https://github.com/rustls/pki-types) | `1.14.0` | `1.14.1` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.50.0` | `1.52.1` |


Updates `assertables` from 9.8.6 to 9.9.0
- [Changelog](https://github.com/SixArm/assertables-rust-crate/blob/main/CHANGES.md)
- [Commits](assertables/assertables-rust-crate@9.8.6...9.9.0)

Updates `clap` from 4.6.0 to 4.6.1
- [Release notes](https://github.com/clap-rs/clap/releases)
- [Changelog](https://github.com/clap-rs/clap/blob/master/CHANGELOG.md)
- [Commits](clap-rs/clap@clap_complete-v4.6.0...clap_complete-v4.6.1)

Updates `derive-deftly` from 1.10.0 to 1.11.1

Updates `libc` from 0.2.183 to 0.2.186
- [Release notes](https://github.com/rust-lang/libc/releases)
- [Changelog](https://github.com/rust-lang/libc/blob/0.2.186/CHANGELOG.md)
- [Commits](rust-lang/libc@0.2.183...0.2.186)

Updates `mimalloc` from 0.1.48 to 0.1.50
- [Release notes](https://github.com/purpleprotocol/mimalloc_rust/releases)
- [Commits](purpleprotocol/mimalloc_rust@v0.1.48...v0.1.50)

Updates `rustls` from 0.23.37 to 0.23.40
- [Release notes](https://github.com/rustls/rustls/releases)
- [Changelog](https://github.com/rustls/rustls/blob/main/CHANGELOG.md)
- [Commits](rustls/rustls@v/0.23.37...v/0.23.40)

Updates `rustls-pki-types` from 1.14.0 to 1.14.1
- [Release notes](https://github.com/rustls/pki-types/releases)
- [Commits](rustls/pki-types@v/1.14.0...v/1.14.1)

Updates `tokio` from 1.50.0 to 1.52.1
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.50.0...tokio-1.52.1)

---
updated-dependencies:
- dependency-name: assertables
  dependency-version: 9.9.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: clap
  dependency-version: 4.6.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: derive-deftly
  dependency-version: 1.11.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: libc
  dependency-version: 0.2.186
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: mimalloc
  dependency-version: 0.1.50
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: rustls
  dependency-version: 0.23.40
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: rustls-pki-types
  dependency-version: 1.14.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: tokio
  dependency-version: 1.52.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
Bumps the cargo group with 9 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [assertables](https://github.com/assertables/assertables-rust-crate) | `9.9.0` | `10.1.0` |
| [chrono](https://github.com/chronotope/chrono) | `0.4.44` | `0.4.45` |
| derive-deftly | `1.11.1` | `1.11.3` |
| [either](https://github.com/rayon-rs/either) | `1.15.0` | `1.16.0` |
| [mimalloc](https://github.com/purpleprotocol/mimalloc_rust) | `0.1.50` | `0.1.52` |
| [rcgen](https://github.com/rustls/rcgen) | `0.14.7` | `0.14.8` |
| [serde_json](https://github.com/serde-rs/json) | `1.0.149` | `1.0.150` |
| [tabled](https://github.com/zhiburt/tabled) | `0.20.0` | `0.21.0` |
| [tokio](https://github.com/tokio-rs/tokio) | `1.52.1` | `1.52.3` |



Updates `assertables` from 9.9.0 to 10.1.0
- [Changelog](https://github.com/assertables/assertables-rust-crate/blob/main/CHANGES.md)
- [Commits](assertables/assertables-rust-crate@9.9.0...10.1.0)

Updates `chrono` from 0.4.44 to 0.4.45
- [Release notes](https://github.com/chronotope/chrono/releases)
- [Changelog](https://github.com/chronotope/chrono/blob/main/CHANGELOG.md)
- [Commits](chronotope/chrono@v0.4.44...v0.4.45)

Updates `derive-deftly` from 1.11.1 to 1.11.3

Updates `either` from 1.15.0 to 1.16.0
- [Commits](rayon-rs/either@1.15.0...1.16.0)

Updates `mimalloc` from 0.1.50 to 0.1.52
- [Release notes](https://github.com/purpleprotocol/mimalloc_rust/releases)
- [Commits](purpleprotocol/mimalloc_rust@v0.1.50...v0.1.52)

Updates `rcgen` from 0.14.7 to 0.14.8
- [Release notes](https://github.com/rustls/rcgen/releases)
- [Commits](rustls/rcgen@v0.14.7...v0.14.8)

Updates `serde_json` from 1.0.149 to 1.0.150
- [Release notes](https://github.com/serde-rs/json/releases)
- [Commits](serde-rs/json@v1.0.149...v1.0.150)

Updates `tabled` from 0.20.0 to 0.21.0
- [Changelog](https://github.com/zhiburt/tabled/blob/master/CHANGELOG.md)
- [Commits](https://github.com/zhiburt/tabled/commits)

Updates `tokio` from 1.52.1 to 1.52.3
- [Release notes](https://github.com/tokio-rs/tokio/releases)
- [Commits](tokio-rs/tokio@tokio-1.52.1...tokio-1.52.3)

---
updated-dependencies:
- dependency-name: assertables
  dependency-version: 10.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
  dependency-group: cargo
- dependency-name: chrono
  dependency-version: 0.4.45
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: derive-deftly
  dependency-version: 1.11.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: either
  dependency-version: 1.16.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: mimalloc
  dependency-version: 0.1.52
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: rcgen
  dependency-version: 0.14.8
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: serde_json
  dependency-version: 1.0.150
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
- dependency-name: tabled
  dependency-version: 0.21.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: cargo
- dependency-name: tokio
  dependency-version: 1.52.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: cargo
...

Signed-off-by: dependabot[bot] <support@github.com>
Closes #184

- add end-to-end support for configurable parallel file transfers
- extend protocol/client/server control messages to negotiate and carry parallel degree
- refactor client transfer loop to improve structure, readability, and clippy compliance
- improve remote directory creation flow for parallel transfer scenarios
- bump compatibility handling for mkdir behavior updates and preserve fallback safety
- adjust transport stream concurrency setup to better match requested parallelism
- Gate `ParallelDegree` on peer compatibility (Feature::PARALLEL_DEGREE): `ClientMessageV2` and `ServerMessageV2` only include the attribute when the negotiated `Compatibility` supports it; `apply_config_attributes` signatures updated to accept `Compatibility`.
- Respect compatibility when negotiating parallelism: `combine_bandwidth_configurations` now accepts `compat` and ignores `ParallelDegree` unless supported; updated caller sites and tests.
- Gate `SkipIfSameSize` on peer compatibility (Feature::SKIP_IF_SAME_SIZE): client-side builders and server-side handlers in `session/get.rs` and `session/put.rs` only add or act on the option when supported.
- Add unit checks for `PARALLEL_DEGREE` and `SKIP_IF_SAME_SIZE` support and update affected tests (`protocol/compat.rs`, `transport.rs`).
- Update call sites and tests for new function signatures (e.g., control/channel.rs, transport tests).

Why:
- Prevents sending or acting on Level 5 attributes with older peers, avoiding negotiation mismatches and runtime surprises.
- Makes feature negotiation explicit and robust, preserving backward compatibility while enabling new Level 5 features when both endpoints support them.
crazyscot added 12 commits June 18, 2026 23:20
- run clippy with --no-deps
- we don't need to run cargo doc with --document-private-items
- Rework enqueue_transfer_job to not block; instead return an aggregated future
- Refactor BiStreamOpener.open_bi() to take &mut self
- Simplify ConcurrentTrackerData test helper

Closes #223
- split test runs out of package.yml
- speed up cargo-deny jobs
- split out clippy from checks (different matrix config)
- gate expensive jobs on fast ones
- tune timings
- make cyclonedx verbose
- use ubuntu-slim where appropriate (note that it does not have rust by
  default)
- autogenerate CLI docs
- update template qcp.conf
@crazyscot
crazyscot merged commit 41abea3 into main Jun 24, 2026
63 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant