chrony/NEWS
Miroslav Lichvar 4847a3a259 Update NEWS
2013-06-21 16:09:20 +02:00

424 lines
16 KiB
Text

New in version 1.28
===================
* Combine sources to improve accuracy
* Make config and command parser strict
* Add -a option to chronyc to authenticate automatically
* Add -R option to ignore initstepslew and makestep directives
* Add generatecommandkey, minsamples, maxsamples and user directives
* Improve compatibility with NTPv1 and NTPv2 clients
* Create sockets only in selected family with -4/-6 option
* Extend tracking log
* Accept float values as initstepslew threshold
* Allow hostnames in offline, online and burst commands
* Fix and improve peer polling
* Fix crash in config parsing with too many servers
* Fix crash with duplicated initstepslew address
* Fix delta calculation with extreme frequency offsets
* Set local stratum correctly
* Remove unnecessary adjtimex calls
* Set paths in documentation by configure
New in version 1.27
===================
* Support for stronger keys via NSS or libtomcrypt library
* Support reading leap second data from tz database
* Support for precise clock stepping on Linux
* Support for nanoseconds in SHM refclock
* Make offset corrections smoother on Linux
* Make transmit timestamps random below clock precision
* Add corrtimeratio and maxchange directives
* Extend tracking, sources and activity reports
* Wait in foreground process until daemon is fully initialized
* Fix crash with slow name resolving
* Fix iburst with jittery sources
* Fix offset stored in rtc data right after trimrtc
* Fix crash and hang with RTC or manual samples
* Don't use readonly adjtime on Linux kernels before 2.6.28
* Changed chronyc protocol, incompatible with older versions
New in version 1.26
===================
* Add compatibility with Linux 3.0 and later
* Use proper source address in NTP replies on multihomed IPv6 hosts
* Accept NTP packets with versions 4, 3 and 2
* Cope with unexpected backward time jumps
* Don't reset kernel frequency on start without drift file
* Retry on permanent DNS error by default
* Add waitsync command
New in version 1.25
===================
* Improve accuracy with NTP sources
* Improve accuracy with reference clocks
* Improve polling interval adjustment
* Improve stability with temporary asymmetric delays
* Improve source selection
* Improve initial synchronisation
* Add delayed server name resolving
* Add temperature compensation
* Add nanosecond slewing to Linux driver
* Add fallback drifts
* Add iburst, minstratum, maxdelaydevratio, polltarget,
prefer, noselect options
* Add rtcsync directive to enable Linux 11-minute mode
* Add reselectdist, stratumweight, logbanner, maxclockerror,
include directives
* Add -n option to not detach daemon from terminal
* Fix pidfile directive
* Fix name resolving with disabled IPv6 support
* Fix reloading sample histories with reference clocks
* Fix crash with auto_offline option
* Fix online command on auto_offline sources
* Fix file descriptor leaks
* Increase burst polling interval and stop on KoD RATE
* Set maxupdateskew to 1000 ppm by default
* Require password for clients command
* Update drift file at most once per hour
* Use system headers for Linux RTC support
* Reduce default chronyc timeout and make it configurable
* Avoid large values in chronyc sources and sourcestats output
* Add reselect command to force reselecting best source
* Add -m option to allow multiple commands on command line
New in version 1.24
===================
Security fixes
--------------
* Don't reply to invalid cmdmon packets (CVE-2010-0292)
* Limit client log memory size (CVE-2010-0293)
* Limit rate of syslog messages (CVE-2010-0294)
Bug fixes/Enhancements
----------------------
* Support for reference clocks (SHM, SOCK, PPS drivers)
* IPv6 support
* Linux capabilities support (to drop root privileges)
* Memory locking support on Linux
* Real-time scheduler support on Linux
* Leap second support on Linux
* Support for editline library
* Support for new Linux readonly adjtime
* NTP client support for KoD RATE
* Read kernel timestamps for received NTP packets
* Reply to NTP requests with correct address on multihomed hosts
* Retry name resolving after temporary failure
* Fix makestep command, make it available on all systems
* Add makestep directive for automatic clock stepping
* Don't require _bigadj kernel symbol on NetBSD
* Avoid blocking read in Linux RTC driver
* Support for Linux on S/390 and PowerPC
* Fix various bugs on 64-bit systems
* Fix valgrind errors and compiler warnings
* Improve configure to support common options and variables
* Improve status checking and printing in chronyc
* Return non-zero exit code on errors in chronyc
* Reduce request timeout in chronyc
* Print estimated offset in sourcestats
* Changed chronyc protocol, incompatible with older versions
New in version 1.23
===================
* Support for MIPS, x86_64, sparc, alpha, arm, FreeBSD
* Fix serious sign-extension error in handling IP addresses
* RTC support can be excluded at compile time
* Make sources gcc-4 compatible
* Fix various compiler warnings
* Handle fluctuations in peer distance better.
* Fixed handling of stratum zero.
* Fix various problems for 64-bit systems
* Flush chronyc output streams after each command, to allow it to be driven
through pipes
* Manpage improvements
Version 1.22
============
This release number was claimed by a release that Mandriva made to patch
important bugs in 1.21. The official numbering has jumped to 1.23 as a
consequence.
New in version 1.21
===================
* Don't include Linux kernel header files any longer : allows chrony to compile
on recent distros.
* Stop trying to use RTC if continuous streams of error messages would occur
(Linux with HPET).
New in version 1.20
===================
* Many small tidy-ups and security improvements
* Improve documentation (RTC support in post 2.0 kernels)
* Remove trailing \n from syslog messages
* Syslog messages now include IP and port number when packet cannot be sent.
* Added the "acquisitionport" directive. (Kalle Olavi Niemitalo)
* Use uname(2) instead of /proc/version to get kernel version.
* Merge support for Linux on Alpha
* Merge support for 64bit architectures
* Don't link -lm if it's not needed
* Fix Solaris build (broken by 64bit change)
* Add detection of Linux 2.5
* Allow arbitrary value of HZ in Linux kernel
* Fix for chrony.spec on SuSE (Paul Elliot)
* Fix handling of initstepslew if no servers are listed (John Hasler)
* Fix install rule in Makefile if chronyd is in use (Juliusz Chroboczek)
* Replace sprintf by snprintf to remove risk of buffer overrun (John Hasler)
* Add --help to configure script
New in version 1.19
===================
* Auto-detect kernel's timer interrupt rate (so-called 'HZ') when chronyd
starts instead of relying on compiled-in value.
* Fix 2 bugs in function that creates the directory for the log and dump files.
* Amended webpage URL and contact details.
* Generate more informative syslog messages before exiting on failed
assertions.
* Fix bugs in clamping code for the tick value used when slewing a large
offset.
* Don't chown files to root during install (should be pointless, and makes RPM
building awkward as ordinary user.)
* Include chrony.spec file for building RPMs
New in version 1.18
===================
* Amend homepage and mailing list information to chrony.sunsite.dk
* Delete pidfile on exit from chronyd.
* Improvements to readline interface to chronyc
* Only generate syslog message when synchronisation is initially lost (instead
of on every failed synchronisation attempt)
* Use double fork approach when initialising daemon.
* More things in contrib directory.
* New options to help package builders: --infodir/--mandir for configure, and
DESTDIR=xxx for make. (See section 2.2 of chrony.txt for details).
* Changed the wording of the messages generated by mailonchange and logchange
directives.
New in version 1.17
===================
* Port to NetBSD
* Configuration supports Linux on PPC
* Fix compilation warnings
* Several documentation improvements
* Bundled manpages (taken from the 'missing manpages project')
* Cope with lack of bzero function for Solaris 2.3 systems
* Store chronyd's pid in a file (default /var/run/chronyd.pid) and check if
chronyd may already be running when starting up. New pidfile directive in
configuration file.
* Any size subnet is now allowed in allow and deny commands. (Example:
6.7.8/20 or 6.7.8.x/20 (any x) mean a 20 bit subnet).
* The environment variables CC and CFLAGS passed to configure can now be used
to select the compiler and optimisation/debug options to use
* Write syslog messages when chronyd loses synchronisation.
* Print GPL text when chronyc is run.
* Add NTP broadcast server capability (new broadcast directive).
* Add 'auto_offline' option to server/peer (conf file) or add server/peer (via
chronyc).
* Add 'activity' command to chronyc, to report how many servers/peers are
currently online/offline.
* Fix long-standing bug with how the system time quantum was calculated.
* Include support for systems with HZ!=100 (HZ is the timer interrupt
frequency).
* Include example chrony.conf and chrony.keys files (examples subdirectory).
* Include support for readline in chronyc.
New in version 1.16.1
=====================
* Fix compilation problem on Linux 2.4.13 (spinlock.h / spinlock_t)
New in version 1.16
===================
* More informative captions for 'sources' and 'sourcestats' commands in chronyc
(use 'sources -v' and 'sourcestats -v' to get them).
* Correct behaviour for Solaris versions>=2.6 (dosynctodr not required on these
versions.)
* Remove some compiler warnings (Solaris)
* If last line of keys file doesn't have end-of-line, don't truncate final
character of that key.
* Change timestamp format used in logfiles to make it fully numeric (to aid
importing data into spreadsheets etc)
* Minor documentation updates and improvements.
New in version 1.15
===================
* Add contributed change to 'configure' to support Solaris 2.8 on x86
* Workaround for assertion failure that arises if two received packets occur
close together. (Still need to find out why this happens at all.)
* Hopefully fix problem where fast slewing was incompatible with machines
that have a large background drift rate (=> tick value went out of range
for adjtimex() on Linux.)
* Fix rtc_linux.c compile problems with 2.4.x kernel include files.
* Include support for RTC device not being at /dev/rtc (new rtcdevice directive
in configuration file).
* Include support for restricting network interfaces for commands (new
bindcmdaddress directive in configuration file)
* Fix potential linking fault in pktlength.c (use of CROAK macro replaced by
normal assert).
* Add some material on bug reporting + contributing to the chrony.texi file
* Made the chrony.texi file "Vim6-friendly" (removed xrefs on @node lines,
added folding markers to chapters + sections.)
* Switched over to GPL for the licence
New in version 1.14
===================
* Fix compilation for certain other Linux distributions (including Mandrake
7.1)
New in version 1.13
===================
* Fixed compilation problems on Redhat/SuSE installations with recent 2.2.x
kernels.
* Minor tidy-ups and documentation enhancements.
* Add support for Linux 2.4 kernels
New in version 1.12
===================
* Trial fix for long-standing bug in Linux RTC estimator when system time is
slewed.
* Fix bug in chronyc if -h is specified without a hostname
* Fixes to logging various error conditions when operating in daemon mode.
* More stuff under contrib/
* Changes to README file (e.g. about the new chrony-users mailing list)
New in version 1.11a
====================
* Minor changes to contact details
* Minor changes to installation details (chrony subdirectory under doc/)
New in version 1.11
===================
* Improve robustness of installation procedure
* Tidy up documenation and contact details
* Distribute manual as .txt rather than as .ps
* Add -n option to chronyc to work with numeric IP addresses rather than
names.
* Add material in contrib subdirectory
* Improve robustness of handling drift file and RTC coefficients file
* Improve robustness of regression algorithm
New in version 1.1
==================
Bug fixes
---------
* Made linear regression more resistant to rounding errors (old one
occasionally generated negative variances which made everything go
haywire). Trap infinite or 'not-a-number' values being used to
alter system clock to increase robustness further.
Other changes/Enhancements
--------------------------
* Support for Linux 2.1 and 2.2 kernels
* New command 'makestep' in chronyc to immediately jump the system
time to match the NTP estimated time (Linux only) - a response to
systems booting an hour wrong after summertime/wintertime changes,
due to RTCs running on local time. Needs extending to Sun driver
files too.
* New directives 'logchange' and 'mailonchange' to log to syslog or
email to a specific address respectively if chronyd detects a clock
offset exceeding a defined threshold.
* Added capability to log all client/peer NTP accesses and command
accesses (can be turned off with conf file directive 'noclientlog').
Added 'clients' command to chronyc to display this data.
* Improved manual mode to use robust regression rather than 2 point
fit.
* Added 'manual list' and 'manual delete' commands to chronyc to
allow display of entered timestamps and discretionary deletion of
outliers.
* If host goes unsynchronised the dummy IP address 0.0.0.0 is detected
to avoid attempting a reverse name lookup (to stop dial on demand IP
links from being started)
* Changed chronyc/chronyd protocol so messages are now all variable
length. Saves on network bandwidth particularly for large replies
from chronyd to chronyc (to support the clients command).
* Added bindaddress directive to configuration file, to give
additional control over limiting which hosts can access the local
server.
* Groundwork done for a port to Windows NT to compile with Cygwin
toolkit. chronyc works (to monitor another host). sys_winnt.c
needs finishing to use NT clock control API. Program structure
needs adapting to use Windows NT service functions, so it can be
started at boot time. Hopefully a Windows NT / Cygwin guru with
some spare time can take this port over :-)
New in version 1.02
===================
Bug fixes
---------
* Fix error messages in chronyc if daemon is not reachable.
* Fix config file problem for 'allow all' and 'deny all' without a
trailing machine address.
* Remove fatal failed assertion if command socket cannot be read from
in daemon.
* Rewrote timezone handling for Linux real time clock, following
various reported problems related to daylight saving.
Other changes/Enhancements
--------------------------
* Configure script recognizes BSD/386 and uses SunOS 4.1 driver for
it.
* Log files now print date as day-month-year rather than as a day
number. Milliseconds removed from timestamps of logged data.
Banners included in file to give meanings of columns.
* Only do 1 initial step (followed by a trimming slew) when
initialising from RTC on Linux (previously did 2 steps).
New in version 1.01
===================
Bug fixes
---------
* Handle timezone of RTC correctly with respect to daylight saving
time
* Syntax check the chronyc 'local' command properly
* Fixed assertion failed fault in median finder (used by RTC
regression fitting)
Other changes/Enhancements
--------------------------
* Log selection of new NTP reference source to syslog.
* Don't zero-pad IP address fields
* Add new command to chronyc to allow logfiles to be cycled.
* Extend allow/deny directive syntax in configuration file to so
directive can apply to all hosts on the Internet.
* Tidy up printout of timestamps to make it clear they are in UTC
* Make 'configure' check the processor type as well as the operating
system.