Skip to content

Releases: crazyscot/qcp

v0.3.0

10 Feb 07:50
Compare
Choose a tag to compare

⛰️ Features

  • [breaking] Compute a negotiated transport configuration based on optional preferences from either side (#32) - (0af6eff)
  • Server can send a failure message during control protocol - (445ec4e)
  • Add --remote-config mode - (6de53e1)
  • Server uses the ssh remote client address to select configuration - (b06475b)
  • Add --dry-run mode - (b74f080)

πŸ› Bug Fixes

  • Client correctly marshalls remote_port as None when not specified - (d1b0054)
  • Resolve --tx 0 correctly - (573c9b4)
  • Always ssh to the entered ssh hostname, so we respect any aliasing in ssh_config - (f9421a5)
  • Username is not part of the hostname when parsing config - (3544219)

🎨 Styling

  • Improve server error messages (show detail as well as context) - (d010535)
  • Improve tracing and debug output - (663bc3e)

πŸ§ͺ Testing

  • Complete test coverage in protocol module - (b3473b0)
  • Add coveralls - (abac087)
  • Add unit tests for client::options - (bffba19)
  • Fill in job.rs unit tests - (ae835bc)
  • Add local coverage script - (57f044a)

βš™οΈ Miscellaneous Tasks

  • [breaking] Change protocol encoding from capnp to BARE - (85a1243)
  • Size limits for on-wire messages - (9f6ef11)
  • Improve error message when remote uses the old protocol - (7cc27de)

🚜 Refactor

  • Config combination produces a first-class Figment - (8bdb623)
  • Deduplicate configuration validation logic - (af320be)
  • Tidyup config manager and client child process handling - (e44a54f)
  • Make PortRange.combine() more coherent - (c2877e5)
  • Various tidyups in support of transport negotiation - (cd4a30a)
  • Drop expanduser; do the work in-house instead - (43cfbd3)
  • Remove MODE_OPTIONS which wasn't used in a well-defined way - (390ee6f)

Download notes

  • Debian and Ubuntu users may find the .deb packages convenient.
  • The Linux binary builds qcp-<ARCH>-unknown-linux-musl.tar.gz are static musl binaries which should work on all distributions.

v0.2.1

08 Jan 08:10
Compare
Choose a tag to compare

⛰️ Features

  • Improved parsing flexibility for bandwidth (12.3M, etc) - (389b21a)

πŸ› Bug Fixes

  • Validate configuration before attempting to use - (d3f13ec)

🎨 Styling

  • Align console messages outside of tracing - (e9e651a)

🚜 Refactor

  • Align return codes from cli_main, server_main and client_main - (7f2b243)
  • SshConfigError uses thiserror to implement standard Error - (16ef7ed)

Download notes

  • Debian and Ubuntu users may find the .deb packages convenient.
  • The Linux binary builds qcp-<ARCH>-unknown-linux-musl.tar.gz are static musl binaries which should work on all distributions.

v0.2.0

26 Dec 09:36
Compare
Choose a tag to compare

⛰️ Features

  • [breaking] Configuration file system (#17) - (0baf2ba)
  • Look up host name aliases in ssh_config (#22) - (46c450d)
  • Allow user to specify the time stamp format for printed/logged messages - (4eaf2ec)

πŸ› Bug Fixes

  • Use correct format for the remote endpoint network config debug message - (183e5fb)
  • Always use the same address family with ssh and quic - (084904d)

πŸ“š Documentation

  • Tidy up --help ordering, update man pages, tidy up doc comments - (3837827)
  • Update project policies and notes - (399422b)

🎨 Styling

  • Show Opening control channel message - (4d14a26)

πŸ—οΈ Build, packaging & CI

  • Build rust binaries with --locked - (5f0af1f)
  • Set git_release_draft=true, update MAINTENANCE.md - (a25bf8b)
  • Add cargo doc task to include private items; fix that build - (c8298e2)
  • Speed up link times - (c6465ad)
  • Add Debian postinst script (#13) - (1a4e10e)

βš™οΈ Miscellaneous Tasks

  • Add feature flag to enable rustls logging (on by default) - (4ac1774)
  • Make HumanU64 parse errors more useful - (63bf2f2)
  • Make PortRange parse errors more useful - (013ea2b)
  • Update dependencies

Download notes

  • Debian and Ubuntu users may find the .deb packages convenient.
  • The Linux binary builds qcp-<ARCH>-unknown-linux-musl.tar.gz are static musl binaries which should work on all distributions.

v0.1.3

27 Nov 09:41
Compare
Choose a tag to compare

πŸ› Bug Fixes

  • (deps) Bump rustls from 0.23.16 to 0.23.18 (#15) - (e333abc)

πŸ“š Documentation

  • Add note about build prerequisite - (6b176c9)

βš™οΈ Miscellaneous Tasks

  • (build) Fix autopublish of Debian packages - (74b3ea6)

Errata: Debian packaging

Same as for v0.1.2. Issue #13 refers.

v0.1.2

02 Nov 09:29
Compare
Choose a tag to compare

πŸ“š Documentation

  • Add build group to cliff config - (603b6b6)

πŸ—οΈ Build & CI

  • Fix release workflow syntax - (294bac3)
  • Make build script less panicky - (0d3ab56)

Errata: Debian packaging (#13)

Note that the Debian packages install a config file as /etc/sysctl.d/20-qcp.conf .

This config does not take effect until reboot. To make it take effect immediately, run: sudo sysctl -p /etc/sysctl.d/20-qcp.conf

The effect of this configuration is to increase your kernel UDP buffer size limits, which is necessary for good QUIC performance. (We currently set them to 2MB. The kernel default is about 240kB.)

v0.1.1

02 Nov 08:29
Compare
Choose a tag to compare

⛰️ Features

  • Suppress RTT warning unless it's at least 10% worse than configuration - (47be5a5)

πŸ› Bug Fixes

  • Autogenerate version string correctly in CI - (64dfcea)

🚜 Refactor

  • Combine the capnp invocations - (2bea195)

πŸ“š Documentation

⚑ Performance

  • Use jemallocator on musl 64-bit builds - (83e1e58)

🎨 Styling

  • Move instant speed readout to the right, remove %age - (dc68383)

βš™οΈ Miscellaneous Tasks

  • (ci) Align ci and release workflows - (d16d38a)
  • Remove spurious cache key - (7e64feb)
  • Build debian package - (435b6b5)
  • Add aarch64 build (#7) - (863eb71)
  • Tidy up CI, add release workflow (#6) - (dedfe22)

v0.1.0

25 Oct 23:29
9810914
Compare
Choose a tag to compare

⛰️ Features

  • Support non-standard ssh clients and passthrough options - (7e351f2)
  • Support user@host syntax - (fd7aab7)
  • Option to select congestion control algorithm - (da105d6)
  • IPv6 bare addressing i.e. [1:2:3::4]:file - (bce0c44)

πŸ“š Documentation

  • Initial set of rustdocs - (129bd30)

🎨 Styling

  • Output statistics in human-friendly format - (321a92d)
  • Dynamically update spinner tick rate as a function of throughput - (b62e0e7)