All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- [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)
- 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)
- Improve server error messages (show detail as well as context) - (d010535)
- Improve tracing and debug output - (663bc3e)
- 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)
- [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)
- 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)
- Improved parsing flexibility for bandwidth (12.3M, etc) - (389b21a)
- Validate configuration before attempting to use - (d3f13ec)
- Align console messages outside of tracing - (e9e651a)
- Align return codes from cli_main, server_main and client_main - (7f2b243)
- SshConfigError uses thiserror to implement standard Error - (16ef7ed)
- [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)
- Use correct format for the remote endpoint network config debug message - (183e5fb)
- Always use the same address family with ssh and quic - (084904d)
- Tidy up --help ordering, update man pages, tidy up doc comments - (3837827)
- Update project policies and notes - (399422b)
- Show Opening control channel message - (4d14a26)
- 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)
- 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
- Add note about build prerequisite - (6b176c9)
- (build) Fix autopublish of Debian packages - (74b3ea6)
- Add build group to cliff config - (603b6b6)
- Suppress RTT warning unless it's at least 10% worse than configuration - (47be5a5)
- Autogenerate version string correctly in CI - (64dfcea)
- Combine the capnp invocations - (2bea195)
- Add initial man page - (61cf453)
- Use jemallocator on musl 64-bit builds - (83e1e58)
- Move instant speed readout to the right, remove %age - (dc68383)
- (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)
- 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)
- Initial set of rustdocs - (129bd30)