version 0.013; 2017-08-17
* automatically use the -lrt library on systems where it is required
in order to get access to clock_gettime(3)
* avoid multiple definitions of U64 (not valid C90 or C99) that happened
on Perl 5.23.2 and above
* skip thread tests on some old versions of Perl (around 5.10.0) where
a core bug makes thread creation violate an internal assertion and
causes crashes
* in documentation, note that some versions of Windows provide
clock_gettime(CLOCK_REALTIME) as another interface to the
GetSystemTimeAsFileTime() functionality
* in documentation, note that clock_gettime(CLOCK_REALTIME) is indeed
used on Cygwin
* have autoconfiguration macros always defined, with truth value rather
than definedness being significant
* correct indentation of some C preprocessor directives
version 0.012; 2017-08-09
* bugfix: fix handling of the demanding-accuracy parameter on Perl 5.6,
where it could be interpreted as the wrong value in either direction
and could erroneously warn about non-numeric values
* bugfix: fix compilability of Win32 GetSystemTimeAsFileTime() code
by properly defining the U64 type
* bugfix: where ntp_adjtime() doesn't supply the actual time, properly
handle finding the larger magnitude of the two offset values seen
when the offset is negative
* bugfix: when loading modules from XS, generate NV form of required
version number through Perl's own Atof() conversion function, rather
than casting from a C double that might suffer rounding error or
might otherwise produce different results from the Perl conversions
against which it must be compared
* support clock_gettime(CLOCK_REALTIME), the POSIX replacement for
gettimeofday() which provides nanosecond resolution
* support clock_gettime(CLOCK_UTC), Markus Kuhn's proposed POSIX-like
interface for leap-second-correct UTC with a fixed inaccuracy bound
* check sub-second field values yielded by ntp_adjtime(), ntp_gettime(),
and gettimeofday(), rejecting those that are out of range, such as
the out of range values from ntp_gettime() resulting from a FreeBSD
kernel bug that confuses microsecond and nanosecond resolution
* be more careful to avoid and handle arithmetic overflows when
computing the inaccuracy bound supplied by ntp_adjtime()
* in documentation, describe the FreeBSD kernel bug that confuses
microsecond and nanosecond resolution
* in documentation, note that Linux now has the configurable-resolution
version of ntp_adjtime()
* in documentation, no longer describe the FreeBSD
configurable-resolution ntp_adjtime() code as experimental
* in documentation, no longer describe the Windows
GetSystemTimeAsFileTime() code as experimental
* in documentation, note adjtimex() as another name for ntp_adjtime()
* in documentation, clarify that the mechanisms are listed in preference
order
* new test script that displays the results of all available mechanisms,
to get that into test reports as a porting/debugging aid
version 0.011; 2017-07-29
* update automatic configuration to not rely on . in @INC, which is
no longer necessarily there from Perl 5.25.7
* respect extra_linker_flags in automatic configuration tests
* avoid declaration-after-statement in C code (not valid in C90)
* no longer include a Makefile.PL in the distribution
* in documentation, use four-column indentation for all verbatim
material
* in META.{yml,json}, point to public bug tracker
* avoid some compiler warnings that arise on Perl 5.6
* regularise layout of CLONE method definition
* fix a typo in a C comment
version 0.010; 2012-02-16
* repair portability to pre-5.8.6 non-threading Perls
* in documentation and comment, update location of Mills paper
* tweak thread cloning test
version 0.009; 2012-02-13
* bugfix: require bugfixed version of Math::BigRat (for construction
from decimal fraction strings)
* bugfix: when loading Math::BigRat, do it in a way that isn't
vulnerable to the bug in Perls prior to 5.12 regarding loading
context-sensitive modules
* bugfix: when calling Time::Unix::time(), don't be too picky about
the internal flags on its return value
* new now_utc_dec() function to return time in the decimal string form
processed by Math::Decimal
* refactor documentation for time determination functions
* test that now_*() functions return well-formed results
* test thread safety (except for thread cloning on Perl 5.6)
* new internal architecture to better handle multiple time acquisition
APIs
* perform transformations of time data into output formats in XS code
* new undocumented function to query all time acquisition APIs, for
porting and debugging
* in XS, declare "PROTOTYPES: DISABLE" to prevent automatic generation
of unintended prototypes
* correct dynamic_config setting to 0
* include META.json in distribution
* convert .cvsignore to .gitignore
* add MYMETA.json to .cvsignore
version 0.008; 2010-10-20
* in XS, use PERL_NO_GET_CONTEXT for efficiency
* in XS, declare all local symbols static
* load some modules at build time instead of configure time, to avoid
dependency problems
* check for required Perl version at runtime
* use full stricture in test suite
* in Build.PL, explicitly declare configure-time requirements
* remove bogus "exit 0" from Build.PL
* slightly reformat some C code to avoid exceeding 80 columns
* add MYMETA.yml to .cvsignore
version 0.007; 2009-03-24
* bugfix: require bugfixed versions of Data::Float and Module::Runtime
(for $SIG{__DIE__} handling)
* use Win32 API GetSystemTimeAsFileTime() where available
* when dealing with the BSD nanosecond-resolution ntp_gettime(),
process the uncertainty bound with nanosecond resolution
* document the origin of each API that the module attempts to use
* separate code for different APIs into different C functions
* use typemap to simplify handling of Boolean argument
* much improved probe system
* don't use ppport.h, because it wasn't doing anything for perl v5.6+
* use simpler "parent" pragma in place of "base"
* build with Module::Build instead of ExtUtils::MakeMaker
* rearrange source tree to fit Module::Build convention
* test POD syntax and coverage, and make a small style change in
documentation to satisfy the coverage test
* complete dependency list
* include signature in distribution
* in documentation, separate "license" section from "copyright" section
version 0.006; 2007-02-05
* add the utc_day_to_mjdn() function, duplicated from Time::UTC,
for interoperability with other code that deals with UT days
* when falling back on time(), add half a second onto its return value,
because it rounds down
version 0.005; 2007-01-14
* handle FreeBSD variations of ntp_gettime() interface: use of struct
timespec instead of struct timeval; time may be returned with
nanosecond precision instead of microsecond; leap state returned
in time_state member of struct ntptimeval instead of return value
of ntp_gettime()
* in documentation, list OS-specific experiences (so far for Cygwin,
FreeBSD, Linux, and Solaris)
* when performing configuration tests in Makefile.PL, display the
content of the test as well as the compilation command line
version 0.004; 2006-08-05
* in now_utc_flt(), allow for the rounding error in converting the
uncertainty value to floating point, as well as the rounding error
in converting the seconds value to floating point
* in now_utc_flt(), when allowing for the rounding error in converting
to floating point, use the actual parameters of the floating point
type (from Data::Float) instead of assuming IEEE 754 double
* use "=> 0" instead of "=> undef" in unversioned dependencies in
Makefile.PL
version 0.003; 2006-06-29
* use ntp_gettime() in addition to ntp_adjtime() on systems where
struct timex does not include the `time' member (the current time):
this situation has been seen on FreeBSD 5.4 and Solaris 10, and
prevented compilation of the previous version
* zero out entire timex structure before ntp_adjtime(), not just the
`modes' member, for the benefit of systems that check validity of
unused control variables: this problem caused fallback to
gettimeofday() on affected systems
* include XSLoader in dependency list in Makefile.PL
* various documentation clarifications
* discuss overflow of day number for now_utc_sna()
* add Time::TAI::Now to "see also" list
version 0.002; 2006-05-19
* add the utc_day_to_cjdn() function, duplicated from Time::UTC, to
avoid the need to use that module in order to process the output of
this one
* documentation tweaks for clarity
version 0.001; 2006-05-17
* bugfix: Unix epoch was wrong in the code, making all returned values
a day out
version 0.000; 2006-05-16
* initial released version