[tz-announce] 2014g release of tz code and data available

Paul Eggert eggert at cs.ucla.edu
Sat Aug 30 18:08:36 UTC 2014


The 2014g release of the tz code and data is available.  It reflects the 
following changes, which were either circulated on the tz mailing list 
or are relatively minor technical or administrative changes:

   Changes affecting future time stamps

     Turks & Caicos is switching from US eastern time to UTC-4 year-round,
     modeled as a switch from EST/EDT to AST on 2014-11-02 at 02:00.

   Changes affecting past time stamps

     Time in Russia or the USSR before 1926 or so has been corrected by
     a few seconds in the following zones: Asia/Irkutsk,
     Asia/Krasnoyarsk, Asia/Omsk, Asia/Samarkand, Asia/Tbilisi,
     Asia/Vladivostok, Asia/Yakutsk, Europe/Riga, Europe/Samara.  For
     Asia/Yekaterinburg the correction is a few minutes.  (Thanks to
     Vladimir Karpinsky.)

     The Portuguese decree of 1911-05-26 took effect on 1912-01-01.
     This affects 1911 time stamps in Africa/Bissau, Africa/Luanda,
     Atlantic/Azores, and Atlantic/Madeira.  Also, Lisbon's pre-1912
     GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32.
     (Thanks to Stephen Colebourne for pointing to the decree.)

     Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.

     A new file 'backzone' contains data which may appeal to
     connoisseurs of old time stamps, although it is out of scope for
     the tz database, is often poorly sourced, and contains some data
     that is known to be incorrect.  The new file is not recommended
     for ordinary use and its entries are not installed by default.
     (Thanks to Lester Caine for the high-quality Jersey, Guernsey, and
     Isle of Man entries.)

     Some more zones have been turned into links, when they differed
     from existing zones only for older time stamps.  As usual,
     these changes affect UTC offsets in pre-1970 time stamps only.
     Their old contents have been moved to the 'backzone' file.
     The affected zones are: Africa/Bangui, Africa/Brazzaville,
     Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda,
     Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo.

   Changes affecting code

     Unless NETBSD_INSPIRED is defined to 0, the tz library now
     supplies functions for creating and using objects that represent
     time zones. The new functions are tzalloc, tzfree, localtime_rz,
     mktime_z, and (if STD_INSPIRED is also defined) posix2time_z and
     time2posix_z.  They are intended for performance: for example,
     localtime_rz (unlike localtime_r) is trivially thread-safe without
     locking.  (Thanks to Christos Zoulas for proposing NetBSD-inspired
     functions, and to Alan Barrett and Jonathan Lennox for helping to
     debug the change.)

     zdump now builds with the tz library unless USE_LTZ is defined to 0,
     This lets zdump use tz features even if the system library lacks them.
     To build zdump with the system library, use 'make CFLAGS=-DUSE_LTZ=0
     TZDOBJS=zdump.o CHECK_TIME_T_ALTERNATIVES='.

     zdump now uses localtime_rz if available, as it's significantly faster,
     and it can help zdump better diagnose invalid time zone names.
     Define HAVE_LOCALTIME_RZ to 0 to suppress this.  HAVE_LOCALTIME_RZ
     defaults to 1 if NETBSD_INSPIRED && USE_LTZ.  When localtime_rz is
     not available, zdump now uses localtime_r and tzset if available,
     as this is a bit cleaner and faster than plain localtime.  Compile
     with -DHAVE_LOCALTIME_R=0 and/or -DHAVE_TZSET=0 if your system
     lacks these two functions.

     If THREAD_SAFE is defined to 1, the tz library is now thread-safe.
     Although not needed for tz's own applications, which are 
single-threaded,
     this supports POSIX better if the tz library is used in 
multithreaded apps.

     Some crashes have been fixed when zdump or the tz library is given
     invalid or outlandish input.

     The tz library no longer mishandles leap seconds on platforms with
     unsigned time_t in time zones that lack ordinary transitions after 
1970.

     The tz code now attempts to infer TM_GMTOFF and TM_ZONE if not
     already defined, to make it easier to configure on common platforms.
     Define NO_TM_GMTOFF and NO_TM_ZONE to suppress this.

     Unless the new macro UNINIT_TRAP is defined to 1, the tz code now
     assumes that reading uninitialized memory yields garbage values
     but does not cause other problems such as traps.

     If TM_GMTOFF is defined and UNINIT_TRAP is 0, mktime is now
     more likely to guess right for ambiguous time stamps near
     transitions where tm_isdst does not change.

     If HAVE_STRFTIME_L is defined to 1, the tz library now defines
     strftime_l for compatibility with recent versions of POSIX.
     Only the C locale is supported, though.  HAVE_STRFTIME_L defaults
     to 1 on recent POSIX versions, and to 0 otherwise.

     tzselect -c now uses a hybrid distance measure that works better
     in Africa.  (Thanks to Alan Barrett for noting the problem.)

     The C source code now ports to NetBSD when GCC_DEBUG_FLAGS is used,
     or when time_tz is defined.

     When HAVE_UTMPX_H is set the 'date' command now builds on systems
     whose <utmpx.h> file does not define WTMPX_FILE, and when setting
     the date it updates the wtmpx file if _PATH_WTMPX is defined.
     This affects GNU/Linux and similar systems.

     For easier maintenance later, some C code has been simplified,
     some lint has been removed, and the code has been tweaked so that
     plain 'make' is more likely to work.

     The C type 'bool' is now used for boolean values, instead of 'int'.

     The long-obsolete LOCALE_HOME code has been removed.

     The long-obsolete 'gtime' function has been removed.

   Changes affecting build procedure

     'zdump' no longer links in ialloc.o, as it's not needed.

     'make check_time_t_alternatives' no longer assumes GNU diff.

   Changes affecting distribution tarballs

     The files checktab.awk and zoneinfo2tdf.pl are now distributed in
     the tzdata tarball instead of the tzcode tarball, since they help
     maintain the data.  The NEWS and Theory files are now also
     distributed in the tzdata tarball, as they're relevant for data.
     (Thanks to Alan Barrett for pointing this out.)  Also, the
     leapseconds.awk file is no longer distributed in the tzcode
     tarball, since it belongs in the tzdata tarball (where 2014f
     inadvertently also distributed it).

   Changes affecting documentation and commentary

     A new file CONTRIBUTING is distributed.  (Thanks to Tim Parenti for
     suggesting a CONTRIBUTING file, and to Tony Finch and Walter Harms
     for debugging it.)

     The man pages have been updated to use function prototypes,
     to document thread-safe variants like localtime_r, and to document
     the NetBSD-inspired functions tzalloc, tzfree, localtime_rz, and
     mktime_z.

     The fields in Link lines have been renamed to be more descriptive
     and more like the parameters of 'ln'.  LINK-FROM has become TARGET,
     and LINK-TO has become LINK-NAME.

     tz-link.htm mentions the IETF's tzdist working group; Windows
     Runtime etc. (thanks to Matt Johnson); and HP-UX's tztab.

     Some broken URLs have been fixed in the commentary.  (Thanks to
     Lester Caine.)

     Commentary about Philippines DST has been updated, and commentary
     on pre-1970 time in India has been added.

Here are links to the release files:

   ftp://ftp.iana.org/tz/releases/tzcode2014g.tar.gz
   ftp://ftp.iana.org/tz/releases/tzdata2014g.tar.gz

The files are also available via HTTP as follows:

   http://www.iana.org/time-zones/repository/releases/tzcode2014g.tar.gz
   http://www.iana.org/time-zones/repository/releases/tzdata2014g.tar.gz

Each release file has a GPG signature, which can be retrieved by 
appending ".asc" to the above URLs.  Copies of these signatures are 
appended to this message.

As usual, links to the latest release files are here:

   http://www.iana.org/time-zones/repository/tzcode-latest.tar.gz
   http://www.iana.org/time-zones/repository/tzdata-latest.tar.gz

   ftp://ftp.iana.org/tz/tzcode-latest.tar.gz
   ftp://ftp.iana.org/tz/tzdata-latest.tar.gz

This release corresponds to commit 
9cd0541edf0bbca453e1b97749c5e68a1d6ab7db dated Thu Aug 28 12:31:23 2014 
-0700 and tagged '2014g' in the unofficial github repository at 
<https://github.com/eggert/tz>.

Here are the GPG checksums for the release files:

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABAgAGBQJT/4QTAAoJEO2X6Q5iqn40ZIIP/jBHBnGpJBfbeoHPZ7NnQrw7
uXJEtM5GpBj7Rw+PuEyzQSW7/jEKOYwE0dyeVxgLEqDJDIuOk5uOeUqneh1sr5ww
vrCy04Iuoyb/XpgvFpX1enmLDgEaK8n3vA4LekdMl7LlGYX00c2TdRi8Ees2V1yN
D3d2wz9khU59M3grEh/PMY6CxvyW9HlMdGOQlzkbjxQhfec0RZPutUNnBczslA0+
fFVvpabeJMisVV10pd6N5dnYsk12UsPxKYTgrjSZruzrC8uDmm86O4OwKD3kGW9y
AjeFCDSxPMBUNZnIFhuFuYPFY+jamMTMHOdjwb6sYnTPJU6P4QjPN0wUpRHih3e9
1Vvc0wJ2iYMBFotf1BWqTldMcKMTqWqYRdahJTxqtN6gQGcpGONs1+insrNK1pkQ
ZyW+LSNuPcspPsR/9ohrZxJCS85CIIAye42kVMxKxETLVeG114u8tV+JUYyEs2nL
nf766m3wIPstIKYzaICprTRdoxQ4y9X4wpL7dxaGJg0rimkhTDDG8xtV/J4plMhH
VC06YRfmuAvjREXG07PV+sCZAqL+zHtIurrTSK6Z3LdEFdH3aU/9GRObDWzvWw4u
U3nW2k2azTum+WfWfkDd0chyOKTE+TeATYrgvYjqpeFJOMTcpM8l96lhxYNSpshi
G1g80KANNZL6yAmYj9tY
=lQFS
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1

iQIcBAABAgAGBQJT/4QTAAoJEO2X6Q5iqn40+wgQAJEsXlNnQFrqSg6Q0+/Ro80y
oZ9aflOuMvgujhtdZm4bW3A4vfqMEEXwL9mJP5numNsW3qobNb2GW4kIa9EhKdeJ
rUqz7XdOytSoL8GY/TSpmQdRG4aiyTlWEnZX0R8BqC4U0MiORkViuAHyu2qVGOFX
c7zXtp6+C9DXuooRdn8o98ANfBSLjEJ4FM6JVpfJQFKohancX0Gprhq7KkCkK0Fu
Nt78E8WchU1ZYGQ15cxrDzV2kdAqQfKWxLd9iLdaKQlvpyiHAPHvMI6BwVn7CHqN
CcYby73BE6Y1H5Yd352UUYrW4dpIVtUpNOejXDcNqEVA801mBu/tUUXFivtFj+d2
1VAMf7OVdvnlqqaQnUGDS0WEOXdPrKZEUvbU9/JFfXsdnpNlfkuEYPuj5yiNu6jl
mLLoMlfIG4iIIwpRIVsS5nIG34mP0VnMQsJrGkc/DxvSuzhNA2+lX7j9Uxvhwhj2
NSNJkFRXE4S6ambBe9tnDMzKZPaRV31nzUl4trqU4dDxm3iYhWQfbNQYbpQlhC5Q
6spnOha0LVdtFdk2lvDo1DSDrNFG24KfmzeLpSL0IlePgBPpRllXjl9KfuNTwGWU
dshrzMV60RTIJa8Vc6JsJKgNKJofV433AR/jQnF6wjPbdn6LFRKUigJMM72T08hR
K9RHYtub4GE2zmK+HN7h
=cp2D
-----END PGP SIGNATURE-----


More information about the tz-announce mailing list