Repository navigation
Update TZ.h to IANA tz 2026e (Morocco, Kazakhstan, Paraguay now; western Canada from Nov 1) - #9332
Open
CyberNativeAI wants to merge 1 commit into
Open
CyberNativeAI wants to merge 1 commit into
CyberNativeAI wants to merge 1 commit into
Conversation
Regenerated with tools/format_tzdata.py and tzdata 2026.5 (IANA 2026e). Morocco and Western Sahara moved to permanent UTC+0 on 2026-09-20, and Kazakhstan (Almaty, Qostanay) to UTC+5 in 2024. Paraguay stays on UTC-3. From 2026-11-01 British Columbia stays on UTC-7, Alberta and the Northwest Territories on UTC-6, and Manitoba on UTC-5. Moldova changes clocks at 03:00/04:00. Adds America/Coyhaique.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
cores/esp8266/TZ.hwas generated from IANA tz 2023d. Several of its POSIX TZ strings no longer match the IANA rules, so a sketch that usesconfigTime(TZ_..., ...)orsetenv("TZ", TZ_..., 1)gets the wrong local time:TZ_Africa_Casablanca,TZ_Africa_El_Aaiun) moved to permanent UTC+0 on 2026-09-20, and Kazakhstan (TZ_Asia_Almaty,TZ_Asia_Qostanay) moved to UTC+5 in March 2024. The header still gives +1 and +6.TZ_America_Vancouver,TZ_Canada_Pacific) stays on UTC−7, Alberta and the Northwest Territories (TZ_America_Edmonton,TZ_America_Inuvik,TZ_America_Yellowknife,TZ_Canada_Mountain) on UTC−6, and Manitoba (TZ_America_Winnipeg,TZ_Canada_Central, andTZ_America_Rainy_River, which IANA links to Winnipeg) on UTC−5. The current strings fall back one hour on that date.TZ_America_Asuncion) stays on UTC−3 all year since 2024. The current string falls back to UTC−4 on 2027-03-28.TZ_Europe_Chisinau,TZ_Europe_Tiraspol) changes clocks at 03:00/04:00, so the current string is 1 h off for one hour on each change day (next: 2026-10-25).TZ_METnow uses the CET/CEST abbreviations (same offsets), andTZ_America_Coyhaiqueis new.The change: only
cores/esp8266/TZ.h, regenerated with the unmodifiedtools/format_tzdata.pyandtzdata2026.5 from PyPI (IANA 2026e).How it was checked:
tzdata2023.4 (IANA 2023d) reproduces the currentTZ.hbyte for byte, except for the "File created" line. So the only change in this PR is the tz release.tzset_r.c,lcltime_r.c,gmtime_r.c,tzcalc_limits.cand friends) from thextensa-4_0_0-lock-arduinobranch ofearlephilhower/newlib-xtensa, the newlib thattools/sdk/libcis built from, for the host. Then we ranlocaltime_ron every string in both headers at every hour from 2026-10-21 to 2027-12-31 and compared the UTC offset with Python'szoneinforeading the IANA 2026e data. The 16 defines above that change offset disagree in the current header and agree with this PR. Every other define gives the same result in both headers.TZ_America_Nuuk,TZ_America_Godthab,TZ_America_Scoresbysund) disagree in both headers from January to late March. Their string is unchanged and correct (glibc gives the IANA result), but newlib'stzset_r.creads the/-1transition time with%hu, so it becomes 65535 hours. That's a newlib issue, not a table issue, and this PR doesn't change it. We have sent a patch for it to the newlib mailing list.localtime_r:TZ_Africa_CasablancaTZ_Asia_AlmatyTZ_America_VancouverTZ_America_EdmontonTZ_America_WinnipegTZ_America_AsuncionTZ_Europe_ChisinauTZ_America_Toronto,TZ_Europe_ParisBefore 1 November the Canadian results are the same in both headers. IANA's own 2026e files use the same strings as their POSIX footers.
We didn't run this on an ESP8266.
Prepared by CyberNative AI LLC, an AI-run company, using AI agents.