The 2020a 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:
Morocco springs forward on 2020-05-31, not 2020-05-24.
Canada's Yukon advanced to -07 year-round on 2020-03-08.
America/Nuuk renamed from America/Godthab.
zic now supports expiration dates for leap second lists.
Changes to future timestamps
Morocco's second spring-forward transition in 2020 will be May 31,
not May 24 as predicted earlier. (Thanks to Semlali Naoufal.)
Adjust future-year predictions to use the first Sunday after the
day after Ramadan, not the first Sunday after Ramadan.
Canada's Yukon, represented by America/Whitehorse and
America/Dawson, advanced to -07 year-round, beginning with its
spring-forward transition on 2020-03-08, and will not fall back on
2020-11-01. Although a government press release calls this
"permanent Pacific Daylight Saving Time", we prefer MST for
consistency with nearby Dawson Creek, Creston, and Fort Nelson.
(Thanks to Tim Parenti.)
Changes to past timestamps
Shanghai observed DST in 1919. (Thanks to Phake Nick.)
Changes to timezone identifiers
To reflect current usage in English better, America/Godthab has
been renamed to America/Nuuk. A backwards-compatibility link
remains for the old name.
Changes to code
localtime.c no longer mishandles timestamps after the last
transition in a TZif file with leap seconds and with daylight
saving time transitions projected into the indefinite future.
For example, with TZ='America/Los_Angeles' with leap seconds,
zdump formerly reported a DST transition on 2038-03-14
from 01:59:32.999... to 02:59:33 instead of the correct transition
from 01:59:59.999... to 03:00:00.
zic -L now supports an Expires line in the leapseconds file, and
truncates the TZif output accordingly. This propagates leap
second expiration information into the TZif file, and avoids the
abovementioned localtime.c bug as well as similar bugs present in
many client implementations. If no Expires line is present, zic
-L instead truncates the TZif output based on the #expires comment
present in leapseconds files distributed by tzdb 2018f and later;
however, this usage is obsolescent. For now, the distributed
leapseconds file has an Expires line that is commented out, so
that the file can be fed to older versions of zic which ignore the
commented-out line. Future tzdb distributions are planned to
contain a leapseconds file with an Expires line.
The configuration macros HAVE_TZNAME and USG_COMPAT should now be
set to 1 if the system library supports the feature, and 2 if not.
As before, these macros are nonzero if tzcode should support the
feature, zero otherwise.
The configuration macro ALTZONE now has the same values with the
same meaning as HAVE_TZNAME and USG_COMPAT.
The code's defense against CRLF in leap-seconds.list is now
portable to POSIX awk. (Problem reported by Deborah Goldsmith.)
Although the undocumented tzsetwall function is not changed in
this release, it is now deprecated in preparation for removal in
future releases. Due to POSIX requirements, tzsetwall has not
worked for some time. Any code that uses it should instead use
tzalloc(NULL) or, if portability trumps thread-safety, should
unset the TZ environment variable.
Changes to commentary
The Îles-de-la-Madeleine and the Listuguj reserve are noted as
following America/Halifax, and comments about Yukon's "south" and
"north" have been corrected to say "east" and "west". (Thanks to
Jeffery Nichols.)
Here are links to the release files:
https://www.iana.org/time-zones/repository/releases/tzcode2020a.tar.gzhttps://www.iana.org/time-zones/repository/releases/tzdata2020a.tar.gzhttps://www.iana.org/time-zones/repository/releases/tzdb-2020a.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 7aec41a1d9b57c581af086db5de5bf99b165c405
dated 2020-04-23 16:03:47 -0700 and tagged '2020a' in the development GitHub
repository at <https://github.com/eggert/tz>.
Here are the SHA-512 checksums for the release files:
5235d6590e844491df32375857f5f36ba0046f2d21a078375188dff79b125cf9b69136a0a431624de1ecfa9d53b62a232f0e6ee0b734294cec62b670e6265cb2
tzcode2020a.tar.gz
2a2fc2e3ad8a6e4c574242296c847ad582c2c1d86add9c556e65c812d19b9528522e3c4dddb5239017091825d2acc5a2ccaf21dc41b900b6c300ef4264cc5a9d
tzdata2020a.tar.gz
6ef3ed39ee379adce421e7964ce9cf3d36361e2ba29de78e43b36d524c5722fd151c11ac60c952130d2623ecea9d8b56b4652f394e60a893a76d2ad769072d9d
tzdb-2020a.tar.lz
Here are the GPG checksums for the release files:
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAl6iH9IACgkQ7ZfpDmKq
fjQK6BAAgxpJVrK35eNuGheX51np4f7mOAomDzMqXSaYZqYLW2EZCa+JW6VWfrEm
eMZYVA/U33WsIGTjyyjfmq5FVwIQj0An+mAtlOR5dd34/ikGddZjd28ChrMW9+56
VFS7dA2pUjMzQp7yGG5sVek5OeGaHajfwxzBptPrsK+JwyNC1RcGetEcrgUwwznX
S1iiLFvfzgVhrqnYzthIuoUikLSUkNumkr4/8frsYwywQ0axAzpkLi5rWxOfZAi6
a1MLMXvKmzXeiNCu5oeKl2XfTymBUVyF7K3dzFdkrOto8pSTDR+BbSh88mbe7tct
Rt0q/GRq8fityECzdVAzoAqCRUU97t8V4VHNFXSxy32CN99cjsLdRMiVVEGTq+TT
A3m9FjQidSCP3apzQe9JDfj536gQFSkUmDlcFwya31zolRoWkIFmxIhmZWIYlm9T
Wjqc7y7UnrBNvyDE4pemQ4YYHjk5YLjwoaUIafDJTAiDRfcf53SRlr3tbFcYjAt/
Tql77DWuLmg8PGFtRiyCMqrehboGi0Eu3he2MmYtsJB2ZXFN0yZQmlvDen9fkt1k
EqUkKjhHmVBb5WVS5pbl8mGLr1TFtnnedmLw4xULrDzsyJ5tsqzVnkl6Ga/eoIal
lLIxpXrYqQLdHNtTpdmJkqZ/89++HDov9JR0uMzU8LxFwH6duQ4=
=0y/R
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAl6iH9MACgkQ7ZfpDmKq
fjTb6g/+P/l6Nev5Zv8mUktnT6eNKohtgpNRyHd8nYV92wmTiDSzAArFy7oi5CVV
/jMv8sbV1ssq/5rQ6HUQuMDPgEIO405gxmqRWMhE6UwUbRxxa+/HKGUJH0AHY6Dh
1UhVD7QA6fDovs84ip/WgTEZYcYApLr2A3IfC0rDqDo42DiSnErFQDvqRMJQkQS1
p2Pv7YtW/2NZ52wkfq75klSsjlXzlz6CzM5P3/YU/Hylj42sQdbdtbUAyQug3YpD
QQ2PiZoP92iiGrcwkKXa5xvXJ6jEZCXqi7HbJKt8OW+XpZ/ZYbTZRq+JvMbTqkOL
+XvVufo/pVASgv2V0ynzJu/XRiFUeJaecmEg6QiAiJ74UMTXSGFnK//R32M9dp29
B4p2X2jmW9qjCwjbjQXl1Yl5ddlSyvBk2Lk4s1repQ2t7kphZx2C8P2WyQYGeP7H
nZDucfmWK4OSh8cINexBE8xyagmv1T8mC4qEQbVPva6JysaodNBcf9WkKMCgituP
tbPsVekSmG1GyN2ixPtpY86Fzjr60mEg1UKqHZIagRmH4kjUwd1gINCJgONaZZxo
c1VfBD8ZORBZfG27+V5ISotKrK2UrKtcrSUEU1CC/ibOm1sSPfg0d5uxUVvg4E8+
okdszbMnQ1i0eVKW+L+jY5XOO8kmSLp4YcnrqXDyZabxyWIGMt4=
=7U2J
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAl6iH9QACgkQ7ZfpDmKq
fjTDQQ//S8WK8/aBHCKOiNvNFL82SHsrwSzsMt/5AyWzTUgkZZdhuhPmCu/qim0M
J6Gm+1XUPaq6WKQnHbNk4wrmKjlRX/R1DWIA+2FhVH0iFSAX+qrnc/KUkm0hVXg4
u8aylAUOQvdhDfVX4PafCx21Kf1sk46oleRgi5lr3cSPAIKGsiEQKGR5EMbt/8mt
55zpxYGTj4o8yjY4NqEOBD8SHts0BO0xFq2eh6C71KeTeHKm/SasIFbvhIZug2cO
YQyAnBiybfsSwIPXfYZr9ux81BztdzkzS6n1EBgGrHmk/+xrpBbmaknjFDMu+Nln
qOPnTQCmp3NBXOYeVnxMAgIy07yEcAR7ReV0FuJFaxrkGYstfV6k5ylhk1iuHnIZ
dOPSJa4eD+cIPWJTo0AsOkNx8+xJ6DkP8iudCpGUrEmXFSoMuFr8b5QwOxsRF/eC
oIIRVO35gF12xr424DVKE72Z8yELoDGXzfWh8UbY/j0Lasq6RXqF9mrCMrugxlwx
1GofM2zrIkzkgLfMoV5zJfKrPiLPj213uGmrctJNcSggtSEA0DBvSvuhVe8hzolZ
/taWc+/gCPBv159s3qedQyQbfHY0/IIkePdezwn4f7DQvh7MTOteE81AwJvqtkmQ
fhSp+hz9k5m4CKuY9+71p+Srefc0i8PsBpmVCDYUn6PFqXaXsiA=
=dCQ0
-----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'.