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.gzhttps://www.iana.org/time-zones/repository/releases/tzdata2019b.tar.gzhttps://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.gzhttps://www.iana.org/time-zones/repository/tzdata-latest.tar.gzhttps://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'.