[tz-announce] 2019b release of tz code and data available

Paul Eggert eggert at cs.ucla.edu
Tue Jul 2 00:28:10 UTC 2019


The 2019b 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:

   Briefly:
     Brazil no longer observes DST.
     'zic -b slim' outputs smaller TZif files; please try it out.
     Palestine's 2019 spring-forward transition was on 03-29, not 03-30.

   Changes to future timestamps

     Brazil has canceled DST and will stay on standard time indefinitely.
     (Thanks to Steffen Thorsen, Marcus Diniz, and Daniel Soares de
     Oliveira.)

     Predictions for Morocco now go through 2087 instead of 2037, to
     work around a problem on newlib when using TZif files output by
     zic 2019a or earlier.  (Problem reported by David Gauchard.)

   Changes to past and future timestamps

     Palestine's 2019 spring transition was 03-29 at 00:00, not 03-30
     at 01:00.  (Thanks to Sharef Mustafa and Even Scharning.)  Guess
     future transitions to be March's last Friday at 00:00.

   Changes to past timestamps

     Hong Kong's 1941-06-15 spring-forward transition was at 03:00, not
     03:30.  Its 1945 transition from JST to HKT was on 11-18 at 02:00,
     not 09-15 at 00:00.  In 1946 its spring-forward transition was on
     04-21 at 00:00, not the previous day at 03:30.  From 1946 through
     1952 its fall-back transitions occurred at 04:30, not at 03:30.
     In 1947 its fall-back transition was on 11-30, not 12-30.
     (Thanks to P Chan.)

   Changes to past time zone abbreviations

     Italy's 1866 transition to Rome Mean Time was on December 12, not
     September 22.  This affects only the time zone abbreviation for
     Europe/Rome between those dates.  (Thanks to Stephen Trainor and
     Luigi Rosa.)

   Changes affecting metadata only

     Add info about the Crimea situation in zone1970.tab and zone.tab.
     (Problem reported by Serhii Demediuk.)

   Changes to code

     zic's new -b option supports a way to control data bloat and to
     test for year-2038 bugs in software that reads TZif files.
     'zic -b fat' and 'zic -b slim' generate larger and smaller output;
     for example, changing from fat to slim shrinks the Europe/London
     file from 3648 to 1599 bytes, saving about 56%.  Fat and slim
     files represent the same set of timestamps and use the same TZif
     format as documented in tzfile(5) and in Internet RFC 8536.
     Fat format attempts to work around bugs or incompatibilities in
     older software, notably software that mishandles 64-bit TZif data
     or uses obsolete TZ strings like "EET-2EEST" that lack DST rules.
     Slim format is more efficient and does not work around 64-bit bugs
     or obsolete TZ strings.  Currently zic defaults to fat format
     unless you compile with -DZIC_BLOAT_DEFAULT=\"slim\"; this
     out-of-the-box default is intended to change in future releases
     as the buggy software often mishandles timestamps anyway.

     zic no longer treats a set of rules ending in 2037 specially.
     Previously, zic assumed that such a ruleset meant that future
     timestamps could not be predicted, and therefore omitted a
     POSIX-like TZ string in the TZif output.  The old behavior is no
     longer needed for current tzdata, and caused problems with newlib
     when used with older tzdata (reported by David Gauchard).

     zic no longer generates some artifact transitions.  For example,
     Europe/London no longer has a no-op transition in January 1996.

   Changes to build procedure

     tzdata.zi now assumes zic 2017c or later.  This shrinks tzdata.zi
     by a percent or so.

   Changes to documentation and commentary

     The Makefile now documents the POSIXRULES macro as being obsolete,
     and similarly, zic's -p POSIXRULES option is now documented as
     being obsolete.  Although the POSIXRULES feature still exists and
     works as before, in practice it is rarely used for its intended
     purpose, and it does not work either in the default reference
     implementation (for timestamps after 2037) or in common
     implementations such as GNU/Linux (for contemporary timestamps).
     Since POSIXRULES was designed primarily as a temporary transition
     facility for System V platforms that died off decades ago, it is
     being decommissioned rather than institutionalized.

     New info on Bonin Islands and Marcus (thanks to Wakaba and Phake
     Nick).

Here are links to the release files:

   https://www.iana.org/time-zones/repository/releases/tzcode2019b.tar.gz
   https://www.iana.org/time-zones/repository/releases/tzdata2019b.tar.gz
   https://www.iana.org/time-zones/repository/releases/tzdb-2019b.tar.lz

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

   https://www.iana.org/time-zones/repository/tzcode-latest.tar.gz
   https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz
   https://www.iana.org/time-zones/repository/tzdb-latest.tar.lz

Links are also available via plain HTTP, and via FTP from
ftp://ftp.iana.org/tz/releases with the same basenames as above.

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.

This release corresponds to commit 
23a01523a5d6a6ae2217df77b2a3f60e10a373d2 dated 2019-07-01 00:09:53 -0700 
and tagged '2019b' in the development GitHub repository at 
<https://github.com/eggert/tz>.

Here are the SHA-512 checksums for the release files:

bcfb417fe3b7c39e702da0090291db0489744f733010ae183007fce5e441bfce885fb25ed11730cf7f363572e107d7ff0c4b38691bb99def2d8cf7017c05720f 
  tzcode2019b.tar.gz
c0104078d994e501d80a41bea31364b1390a75c2fbf42968a8343a090e2ac2eddbc58770ca470b192ea19dec89fcc634141a1de703ea2ffa0325176a64afe1fc 
  tzdata2019b.tar.gz
98030b41258d21b6040fe95ecee4edd6bb9fa3775d89bebf69f460abad009eb47f053197ac755dc2d631b40fe31d4d3650493f139069b14ab3771e529cebcaea 
  tzdb-2019b.tar.lz

Here are the GPG checksums for the release files:

-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAl0Zs9AACgkQ7ZfpDmKq
fjQziw//UmsHJNgU9cwbxWUBNqqu6VqrllAgLEXXLbK0EhZGwQpYsrhW9h5LZrvS
OVHUt7EorLaFB4rSkTr2DP6pSqAn7+i7pXVdETxHNmTcF85rbyLwt5Z4OrbMAaN2
f44BxVSOSO4C/A+wWN7JAhAC57fwj++bCvIZ82qlauV1BsBq0AiuURat5OP2ZA16
Wpz3749wy1N4xEtYaMRzBozWQ6mnyYxaCRZUTv2BhuVK8UbUrHZ8I8KkcqAYnOqL
E0fTWSKQVRxciApFNWHEreIeeVonOom0DWWEL3dIQcx09IM0YtocpAXgWoyHzOic
mU7ibcx0KrpzDW+6nf/owxe/dkUa+CbHgPDs9b5vTJUwJkSk8wrpr3tAPSjBeo9K
WN+BvhxeZKihPU9DziWTs8jAzyVtnqGNesBhVi1zecY723Gk/oizdDQNxh9vLbYU
VUP3kcc2IqEciJVeI6bDz2wSJVcCif3bFFosuF2fOpTzmpLx+WceYVw+y0NFMcTN
euZ/D1AQK7opCshjoBKqbOMB6TvbjjCiEjQ/pkXKLwhYBWCtIPMblgo+33MrI4Eb
r/3S+l4o6yDbxslZjn0kNoG6krrbb6F1IrjIfnd4t2PDoeYS2vE7rCi+qhrJNLEI
24ZxbaZgnt4JvAec+5cy9ZnTOzZs7IhDSiMbm40IB0v2zVFT+rQ=
=6vQV
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAl0Zs9AACgkQ7ZfpDmKq
fjT55Q/9G4BmEDL48wU0slZCAFNMqbvNfizL2MTNHC6Yv60gwdQCl7CgQk+zE+1W
b4ir1Vm23eWWVdCjGGwjt4WWy+SlvnEKqjiZxTRFpkB5to8Zi5KNklGlUX0U9iUu
vMCVKeIQMFLUr6sAqAk4lgJ2OUF1MNaj2kVwINxS+C8rCyr6wjn6FWWaxvbCO3+D
2Z8sZgCRBWxmckqX+4Nmv2YeCGuL1ZjVTz0flkWi/OduR+PjBe/9PN506PjeEht8
cqOjtRz/V4SEKfbv6rn8jqxDrl6xkrBxfiaF64smWgwSFcQ9yRrxCt2L35tARdal
DAP/vb1PemUb0fJawYP/ZhiArk0fCRRZ+wleTZKsk65I4VsrffQ3rYe5ZtMYnUhO
+UP+B7OkxNa0gARf+uFwYvrqZefg0HRq/INFqd3TCkza0wa7Rb3mQL9orCzUH7St
XLrdhRJYWGcuepGBiTdO4+yPqXkK7k89W3ACo+HiVuRbMRo3Xf+38918kubns41l
/itR/C/lSN+/ErokSh6VshelvOuMVcgoghTD7fDAtNaH9IgldEIF/Wf3m1Um+V9R
sN646EvAazgkxw3hD1sEDxHxN7TIsxFvTaimVg+uwrX2b8Ok+tffomlalSXoOS8F
zK/EyKROm8v2dSJUD0Hf+FvDqJm/Pre0ydKqsdahJYBxIStNnX8=
=P/tF
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----

iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAl0Zs9IACgkQ7ZfpDmKq
fjRlfQ//ev3hI5NxrAoJX8fpb9LAdReo7ZpADinVnNn47AyS0WYUtf6Afaav+lT+
FL+OU39VTJAeQ0zwVrH9JZr3Oy8mIl9mhAEPUsX4NxLw8P7QTdCHO84NmkrzpoM9
l9GEOkBoNTIE5YaM9IezKhMKJv/CyPXkRnx3UBAblgTaBkV0gqkoePPn4sVa0Arh
3Vn6H6AV6oQpC8WtH8yCxBuLXkddiVHFi3zbuM+3MHgFTb+8f/UwTopGUjsZOPoN
z00rwFO+jVjdrm2700i1j1bTYGInIe3pIctwfutQfglIQSFK3nQADFYdlhfBLBJM
H0NDCYF1z/LKtAWSycWpRhpqU2+25mX6Fldrfp1YhrSiJCrUQYOgQNXRSa32nY1T
5gc71UAe9rQNDRo5deSmOunKXWY5s6tZdxn7Q22FBFWwfrGmCqhR6mrB2dgEBvl8
isjoGxZO1iJYhlTvq7WyxOdnbjR4BLBF0eE8KB2S2F6srb/luPfCG6F9Ier5fYl7
N/NvH5FSeJHC1r2EWw+yy5bjaG5GkX6NP1+FBfw7prKtUNx48x8tpdy11FlULkCN
J+zid9ySJBsnMRNL5p/egYbYGaptLGO8yAuKN3s3znaG/f9kh39u+xI1Fo9KFVBd
+NvQYaMNYMgTi4qyCaMeCGxUUlJLN/WnjclJyl/ca84sUhpLXRI=
=3v1i
-----END PGP SIGNATURE-----

PS. If your tzdata parser does not yet support negative DST offsets or 
times past 24:00, this release's data entries can be turned into a 
rearguard-format tarball that does not use these features. This is 
intended to be a temporary transition aid for these parsers. To generate 
a rearguard-format tarball, obtain the full distribution as described 
above, and run the command 'make rearguard_tarballs' on a development 
host. Or you can run 'make rearguard.zi' to generate a single file that 
can be fed directly to a parser that works like 'zic'.


More information about the tz-announce mailing list