To: Time zone announcements <[email protected]>
Subject: 2026d release of tz code and data available
The 2026d release of the tz code and data is available. This release is
prompted by the decision of the Northwest Territories to stay on permanent
UTC-06, which has a practical effect starting 2026-11-01 at 02:00. Like the
similar changes for Alberta and British Columbia in the previous two tzdata
releases, there will likely be problems downstream as CLDR’s latest release
cannot handle it as specified.[
This release contains the following changes:
Briefly:
Canada’s Northwest Territories moved to permanent -06 on 2026-08-21.
Obsolescent settings like TZ="EST5EDT" now conform better to POSIX.
Fix security, performance and porting bugs in zic and localtime.
Changes to future timestamps
Canada’s Northwest Territories will not fall back on 2026-11-01
and will stay on -06 year-round, matching Alberta’s recent change.
Model this with its traditional abbreviation CST. Although the
change to permanent -06 legally took place on 2026-08-21,
temporarily model the change to occur on 2026-11-01 at 02:00
for the same reason as other recent temporary hacks. (Caution:
see “NOTE FOR 2026b TEMPORARY HACK FOR CLDR AND CANADA” below.)
This affects only America/Inuvik as the rest of the territory is
covered by America/Edmonton, for which the equivalent change was
released in 2026c.
NOTE FOR 2026b TEMPORARY HACK FOR CLDR AND CANADA:
This zic fix is needed for the temporary hack (mentioned above)
that works around the Canadian timekeeping bug in Unicode CLDR.
Without the fix, the temporary hack causes zic versions 2023d
through 2026a, in their default mode that generates slim output,
to generate a TZif file that violates Internet RFC 9636 §3.3.
The buggy file in turn causes some TZif readers, including tzcode
itself, to ignore America/Vancouver’s 2026-11-01 02:00 transition
from PDT (tm_isdst=1) to MST (tm_isdst=0). Although the buggy
file does not cause any known TZif reader to mishandle UT offsets,
caution is advised when using zic 2023d through 2026a to compile
data from more-recent tz releases. To work around this problem
when using these older zic versions, use ‘zic -b fat’.
Changes to past timestamps
Colombia’s 1992-05-02 spring forward was at 00:00, not 24:00.
Iran’s 1979-05-26 spring forward was at 00:00, not 24:00.
(Thanks to N.F. Hase.)
The backward-compatibility names EST5EDT, CST6CDT, MST7MDT, and
PST8PDT now conform better to POSIX. For example, EST5EDT now
always uses the abbreviation "EST" for standard time (now always 5
hours behind UT) and "EDT" for daylight saving time, whereas it
formerly had different UT offsets before standard time was
introduced and sometimes used abbreviations like "LMT", "EWT" and
"EPT", all contrary to POSIX. Also, though not required by POSIX
these names now use US federal rules rather than rules of places
like New York, reverting to 2024a behavior. This change affects
only timestamps before 1966-10-30 at 01:00 standard time.
Other data changes
The temporary hacks used for North American timekeeping changes
now work around a libstdc++ std::chrono bug in GCC 14.1-14.4,
15.1-15.2, and 16.1; see GCC bug 124851. This data change does
not affect TZif files or timestamps. The change does not work
around the related but less serious GCC bugs 116110 and 124513.
These GCC bugs are all fixed in GCC 16.2.
Changes to code
zic now rejects Link targets that would have invalid names, and
more efficiently processes Expires, Leap and Rule lines with years
far in the past or future. (Thanks to Darren Carreras.)
zic now ports to systems that report lack of link support via
EINVAL, ENOSYS or EPERM errno values. (Thanks to Tom Lane.)
When tzset and related functions encounter a TZif file that is too
large for them, they now consistently fail instead of sometimes
silently ignoring excess parts of the file.
localtime-related functions no longer mishandle extreme timestamps
when given TZif files holding some unlikely timezone histories.
(Problem reported by David Sarkisyan.)
localtime-related functions no longer check the values of TZif
files’ standard/wall and UT/local indicators, which these
functions have not used since 2026a’s removal of the old
posixrules feature.
tzcode has been ported to Haiku.
localtime.c now works again by default on AIX and DragonFly BSD.
zic now rejects ‘:’ and ‘\’ in Zone and Link names when running on
Microsoft Windows. (Problem reported by David Diaz.)
Changes to documentation
URLs for release tarballs in tz-link.html have been updated to
reflect their new canonical URLs on data.iana.org.
Here are links to the release files:
https://www.iana.org/time-zones/repository/releases/tzcode2026d.tar.gz
https://www.iana.org/time-zones/repository/releases/tzdata2026d.tar.gz
https://www.iana.org/time-zones/repository/releases/tzdb-2026d.tar.lz
The following convenience links are also available, although they may point to
the previous release until the relevant caches are refreshed:
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 d633fe7ed3de8e00ce7cac991376a064a1373bb1 dated
2026-09-11 15:21:07 -0700 and tagged '2026d' in the development GitHub repository at
<https://github.com/eggert/tz>.
Here are the SHA-512 checksums for the release files:
42d4b37549a35893187851187cae93c811928f808c24ac0003bf0b782837d0934f2f7da7e93a0417273c7e0a66f79e9d512290ae4811cb73a7d02b62b3f0fed1
tzcode2026d.tar.gz
1a27de5af50bbc28a2f64c506ab3678b09d9e5ab6c118f39eb38bb823aa8f57069bf5e465848e71df8274c6b8bcd0fc736a88107e5792d816a1db5d867cbc219
tzdata2026d.tar.gz
b2f4622ef0c2a33ee4a9282c8346dc2732e044617b3b7a1288bc065910653ed8109f01b1423b4b497373f9bc2b9fefb0a75a02c6b79e266ea2fe9767ec32ee89
tzdb-2026d.tar.lz
Here are GPG digital signatures for the release files:
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAmqkf5gACgkQ7ZfpDmKq
fjQXWBAAnIE3DbfQMdoICE5lQiElrwzKhUDkQBbT7bb5GCg6vh4pZjYI49CpcYe3
adPyGBedYRw/ZucfaEL76FM0xpJ2uooQu4s9CIpyvmAygNHgI3PRiG5iLC9Xw8aK
/pT9zsYiJgTKkTfz/myfiZbsRerNjT48SNKveBRKhN3gmVjhu2egwGubzvGeiQKd
hLE7nQEsmJbGCNSZt6GAW16UM95Opx4K6otc4DBx48cqcqqfpunWp7ltVe1Ka9VP
TKo6LzeMS9+SS7TdRzjcjBDHcq/eG+ShS4pghSRYC1JkJ7AjaBJjqb/XGqJwCXPW
+9WdvmbY0t6WOGcYjQs9/b8GNUjLx+s0HCv6I+a+rpXj6m1UCwwdQaZ2FOfuzXqN
i9CvaPcn3jCq1CpxhEYwYBj5y5MalDcwOZUvDlQEqdA2WQhl8src09Armsiyj2hM
pBqg1e8PzXzEusdwxee7pfCpLXv4GYb4d326wUYzuVR0QxPKxWX6/QWAsIQp62rn
SuXmBkpV+GEeQzo5d08cLch/al03Xqv5ooAQaRi+CY1jmAMf+i0s1yt05YcgfwZ3
tTVFTIvSXbG6/LpfRod5XljBXqrHL2TZZbcW/bl4Fuupb9OY0z+Orcpih5Fc84Ac
6MVKLFRnz9fm5Vnz6ohXnPqzO9PTFCX5x1rui+dDYIOXJDCXyuA=
=x5qK
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAmqkf5kACgkQ7ZfpDmKq
fjQwXw/+MFPvjwVhxciWFlkcXA56HsWXDCx+qhtYPKDGwDeU7mCTR/kkHIDplepO
gyJsZyQfQME+CFqr094rhg2PRxW3xQ5cyM0bl+bVNfc0PYIOjUGLpzkT1go6i2Re
cUexnt8DCaztFYYQ9VQbpikg14Zs/noFgqOe61xD5ZlWMK7U0ojKVj/e+R4pDqLW
nVMSAsJlLqGczrlhFBXoTRn9fytl5THWLki7DxRiKNcnr12kKqOE8PHTkB12O5hK
D1RQEEb0lYMkHkqK0n9y4QVQWwHGyMIbafFUF33A4W7lZFA4JiD4k5e587LtoSNC
EcA3Jc65HdRFecfEQQQQM9CjMa6wVqQqW+KtSf2EkAsk37XAbeelw7KlVN4uaXXb
60uqUIcc4seALKR3M3vqUgoV4Fx7L48PUkrXaJfyJu1TxqqaGg84rEd9Vmp5q3Y+
fNzP2iug1sHF8oqqml9wLLDWT8ZyOU/9UTVqKfSvqO46Ny/6M5wkO1gV1wLjwVh/
tdVZvHpQpv2FGjfO38NkM1j3W699gsKwvdD0SB4nP6Lm0bRmdLvcKbGszSKJBmys
YvL1epMigtPkLNy77ZKHJQ+X081XHouhcLxJ6NcyxHQH4aMdDIKcJLi/lTdMFI1m
TgBrzCxjD3UU9ncYCt0IMHNm5oAyQFggil26UAU0XY/U7cy6TZQ=
=Jrqs
-----END PGP SIGNATURE-----
-----BEGIN PGP SIGNATURE-----
iQIzBAABCgAdFiEEfjeSqdis99YzvBWI7ZfpDmKqfjQFAmqkf5oACgkQ7ZfpDmKq
fjTUxw//SMs8fyX0yaPYZljYLjEBMpnejY2CiWZCYvZWMCdt195l4sppaHZuaUXW
JnkkS2EK4EGCqBsGHLpLqPr9XujkpD8RbMJK9li1YUNRFmHiVdxQUlax2Ezu1rra
UExMBIlzGmGzf5CWZahYYWpgFkEaaKrJn/oYH0LvzltaFnS8BV/M0w02P/mxlmUr
qdbnRkKN6sPC3OZF9ooCs5iH0THdU79F+n8KE5OQvHE73geiODwHd9aTRtFzKLdk
M+ITQrksZEKA4H1JpEsne5uSbmj8kugxmg8YfAeYLg0ETPLBh/6YZIUanoX+SQr7
ujwO3nS1zgQah42q5GXMwokF67W2XUb4u6mDunGD/1OcQHbissVezQSf0hzxxRYB
mlJ4L9lMlhM+p3ylzZ+frfiybiB6hHq8si5MoArZo5C5CmzrgCXzxSulFRscsjB+
PmaD8vBpyi6+4XWsVca7g8T0Cc11cHN3iwC5aiNZTYLVyHbWpdn6tqsk4esxDOYm
7brSeKW90qG3YpE22FfBveIqBclg5futihXK4FPFFs76oFhAMCiTd4uFrNEO8ifn
G/i1avlbX4LBJRMeU+TKMIrWULdMepLr+wY4wBFDwmeci1wguM9o8RscET4LNJCs
f4nGnsWU4iRTF3uX4A50TIJc5cdTH3tWYpA57LAS/3623Y3Rvu4=
=3SEZ
-----END PGP SIGNATURE-----