Skip to content

Releases: pendulum-project/ntpd-rs

Version 1.7.0-alpha.20251003

03 Oct 13:59
649e4c9

Choose a tag to compare

Pre-release

Added

  • Support for the experimental NTS pool is now possible with configuration changes.

Changed

  • NTPv5 draft support now targets draft 6.
  • Reworked NTS parsing to be easier to maintain.
  • Updated dependencies.

Fixed

  • Fixed bug that caused force-sync to fail when only a single server was configured.

Version 1.6.2

29 Aug 13:50
d0aa5fc

Choose a tag to compare

Fixed

  • Fixed bug that could cause a message to pingpong between two servers indefinitely.

Version 1.6.1

16 Jul 07:56
61b777b

Choose a tag to compare

Fixed

  • Fixed mistake in the calculation of root dispersion used in serving and observability.

Version 1.6.0

26 Jun 13:47
2dc2204

Choose a tag to compare

Added

  • Support draft versions of NTPv5 with configuration changes.
  • Allow disabling ntp versions in the server.

Changed

  • NTPv5 draft support now targets draft 4.
  • Time jumps now emit warnings.
  • Updated dependencies.

Fixed

  • Fixed a crash in force-sync when using many servers.
  • Fixed root dispersion of the server not properly updating over time.
  • Fixed a bug in handling unsigned ntp deny messages.

Version 1.5.0

28 Feb 11:36
6b51a34

Choose a tag to compare

This releases fixes two related low severity vulnerabilities in our NTS cookie parsing, please see the related advisory.

Added

  • Support for PPS based sources (this support can be disabled with a compile flag for now)
  • Per source configuration of poll intervals
  • Allow setting a custom reference id for stratum 1 servers

Changed

  • Our algorithm can now handle periodic sources
  • ntpd-rs runs single-threaded when only configured as a client, servers still run multithreaded
  • The reference timestamp field is now set to the truncated receive timestamp instead of being zero
  • Support of rustls 0.21 and 0.22 is removed
  • Certificate validation is now done through rustls-platform-verifier, following platform certificate validation more closely
  • Updated dependencies

Fixed

  • Fixed parsing of IPv6 addresses
  • Fixed incorrect display of date in force-sync command
  • Fixed a client denial of service vulnerability with zero-sized NTS cookies
  • Fixed a client denial of service vulnerability with NTS cookies that are too large

Version 1.4.0

13 Dec 15:15
383c5c6

Choose a tag to compare

Added

  • Support for GPS based sources via a GPSd socket
  • Added a setting to allow disabling of colors in our logs (observability.ansi-colors)

Changed

  • Fallback to V4 should V5 not work for some reason (if NTPv5 is enabled)
  • Make the NTP version of a source configurable
  • We now support rustls from 0.21 and up, to allow compilation on more targets

Fixed

  • Force sync did not work when a single source was configured
  • Fix incorrect indexing in decode of ReferenceIdRequest for NTPv5 messages

Version 1.3.1

28 Nov 09:50
6d72d3e

Choose a tag to compare

Changed

  • Updated dependencies. Includes fixes for RUSTSEC-2024-0399.

Version 1.3.0

19 Sep 13:53
e8869f4

Choose a tag to compare

Added

  • Added force-sync command to ntp-ctl to help with getting a decent initial time if the clock is far away from reality.
  • Added information on NTS to the ntp-ctl status overview.

Changed

  • Made the logs a little less chatty
  • Updated dependencies

Fixed

  • On startup, if the clock needed a jump to get in line, this could cause oscillations.

Version 1.2.3

22 Jul 08:10
79ff21f

Choose a tag to compare

Fixed

  • Metrics exporter should wait for an actual request before sending a response

Version 1.2.2

18 Jul 15:06
c7d90fe

Choose a tag to compare

Changed

  • Updated dependencies

Fixed

  • Fixed a bug in network change detection that prevented startup on FreeBSD.
  • Fixed a bug in leap second flag handling where previous flags weren't explicitly unset.
  • Fixed a bug that caused NTS-KE sessions from clients with a large request to hang.
  • Fixed a bug that caused NTS-KE error records never to be sent.