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.
- Improve Windows time support by using
QueryPerformanceCounterandGetSystemTimePreciseAsFileTime. Time precision on Windows 10 can now reach 100ns. - Add syslog support for the server (
--syslogflag). - Add a SmokePing probe, available from SmokePing 2.7.2. It's possible to copy the code into older versions.
- Update OM2P build to use the new MIPS softfloat support in Go 1.10.
- Re-write git history with new email address.
- Stop disabling GC on client and remove
--gcflag from server as disabling GC no longer offers a demonstrable performance benefit. See The Journey of Go's Garbage Collector.
- Fix potential client race at startup.
- Fix issue on platforms with timer resolution not accurate enough to measure server processing time (closes #13).
- Change handled interrupt signals to only
os.Interruptandsyscall.SIGTERMto fix Plan 9 build. - Various documentation fixes.
- Server fills are now supported, and may be restricted on the server. See
--sfillfor the client and--allow-fillson the server. As an example, one can doirtt client --fill=rand --sfill=rand -l 172 serverfor random payloads in both directions. The server default is--allow-fills=randso that arbitrary data cannot be relayed between two hosts.server_fillnow appears underparamsin the JSON. - Version information has been added to the JSON output.
- Due to adoption of the pflag package, all long
options now start with -- and must use = with values (e.g.
--fill=rand). After the subcommand, flags and arguments may now appear in any order. irtt clientsyntax changes:-rsis renamed to--stats-strictparamsis removed and is now the default.--loosemay be used instead to accept and use server restricted parameters, with a warning.-tsis renamed to--tstamp-qqis renamed to-Q-fillallis removed and is now the default.--fill-onemay be used as a small optimization, but should rarely be needed.
irtt serversyntax changes:-nodscpis renamed to--no-dscp-setsrcipis renamed to--set-src-ip
- The communication protocol has changed, so clients and servers must both be updated.
- The handshake now includes a protocol version, which may change independently of the release version, and must match exactly between the client and server or the client will refuse to connect.
- The default server minimum interval is now
10ms. - The default client duration has been changed from
1hto1m. - Some author info was changed in the commit history, so the rewritten history must be fetched in all forks and any changes rebased.
- Initial, untagged development release.