### Configure Build and Installation Options Source: https://www.iana.org/time-zones/releases/2017c Commands for customizing the installation of time zone data files and build behavior. ```bash make TZDATA_TEXT= ``` ```bash make TZDATA_TEXT=tzdata.zi ``` ```bash make BACKWARD= ``` ```bash make check ``` -------------------------------- ### Zone record with specific daylight saving time amount Source: https://www.iana.org/time-zones/tz-how-to Example showing the use of a specific time amount (1:00) in the RULES column to indicate daylight saving time. ```text #Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Honolulu ... 1933 Apr 30 2:00 -10:30 1:00 HDT 1933 May 21 12:00 ... ``` -------------------------------- ### Define a Zone Record with Slash-Separated Abbreviations Source: https://www.iana.org/time-zones/tz-how-to Example of using a slash in the FORMAT column to specify standard and daylight saving time abbreviations. ```text #Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Europe/London ... 1996 0:00 EU GMT/BST ``` -------------------------------- ### US Rule Definitions in tz Database Source: https://www.iana.org/time-zones/tz-how-to Example of Rule entries defining daylight saving time transitions for the US. ```text #Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule US 1918 1919 - Mar lastSun 2:00 1:00 D Rule US 1918 1919 - Oct lastSun 2:00 0 S Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace Rule US 1945 only - Sep 30 2:00 0 S Rule US 1967 2006 - Oct lastSun 2:00 0 S Rule US 1967 1973 - Apr lastSun 2:00 1:00 D Rule US 1974 only - Jan 6 2:00 1:00 D Rule US 1975 only - Feb 23 2:00 1:00 D Rule US 1976 1986 - Apr lastSun 2:00 1:00 D Rule US 1987 2006 - Apr Sun>=1 2:00 1:00 D Rule US 2007 max - Mar Sun>=8 2:00 1:00 D Rule US 2007 max - Nov Sun>=1 2:00 0 S ``` -------------------------------- ### Represent far-future timestamps with POSIX-like TZ strings Source: https://www.iana.org/time-zones/releases/2013e Example of a TZ string using an extended hour range for far-future timestamps in Fiji. ```text TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' ``` -------------------------------- ### Configure DATAFORM in Makefile Source: https://www.iana.org/time-zones/releases/2018d The DATAFORM macro allows installers to choose between vanguard, main, and rearguard source data formats to manage downstream compatibility. ```makefile DATAFORM=vanguard DATAFORM=main DATAFORM=rearguard ``` -------------------------------- ### Represent all-year daylight saving time with POSIX-like TZ strings Source: https://www.iana.org/time-zones/releases/2013e Example of a TZ string configured for Western Argentina Summer Time to remain in effect all year. ```text TZ='WART4WARST,J1/0,J365/25' ``` -------------------------------- ### zic compiler command usage Source: https://www.iana.org/time-zones/releases/2025b Example of a zic command that previously caused incorrect symlink creation and read buffer underflow. ```bash zic -l TIMEZONE -d . -l /some/other/file/system ``` -------------------------------- ### Complete Hawaii Time Zone History Record Source: https://www.iana.org/time-zones/tz-how-to A comprehensive example showing Rule definitions and the corresponding Zone record for Pacific/Honolulu. ```text # Relevant Excerpts from the US Rules #Rule NAME FROM TO - IN ON AT SAVE LETTER/S Rule US 1918 1919 - Oct lastSun 2:00 0 S Rule US 1942 only - Feb 9 2:00 1:00 W # War Rule US 1945 only - Aug 14 23:00u 1:00 P # Peace Rule US 1945 only - Sep lastSun 2:00 0 S # The Zone Record #Zone NAME STDOFF RULES FORMAT [UNTIL] Zone Pacific/Honolulu -10:31:26 - LMT 1896 Jan 13 12:00 -10:30 - HST 1933 Apr 30 2:00 -10:30 1:00 HDT 1933 May 21 2:00 -10:30 US H%sT 1947 Jun 8 2:00 -10:00 - HST ``` -------------------------------- ### Zone record structure for America/Chicago Source: https://www.iana.org/time-zones/tz-how-to Example of a Zone record showing multiple continuation lines defining time offsets and rules over time. ```text #Zone NAME STDOFF RULES FORMAT [UNTIL] Zone America/Chicago -5:50:36 - LMT 1883 Nov 18 12:09:24 -6:00 US C%sT 1920 -6:00 Chicago C%sT 1936 Mar 1 2:00 -5:00 - EST 1936 Nov 15 2:00 -6:00 Chicago C%sT 1942 -6:00 US C%sT 1946 -6:00 Chicago C%sT 1967 -6:00 US C%sT ``` -------------------------------- ### Define a Geographical TZ String Source: https://www.iana.org/time-zones/theory Example of using a geographical identifier for time zone configuration, which is more accurate and easier to manage than proleptic strings. ```text TZ='Pacific/Auckland' ``` -------------------------------- ### Define Chicago Daylight Saving Time Rules Source: https://www.iana.org/time-zones/tz-how-to Example of Rule lines from the northamerica data file defining daylight saving time transitions for Chicago. ```text #Rule NAME FROM TO - IN ON AT SAVE LETTER Rule Chicago 1920 only - Jun 13 2:00 1:00 D Rule Chicago 1920 1921 - Oct lastSun 2:00 0 S Rule Chicago 1921 only - Mar lastSun 2:00 1:00 D Rule Chicago 1922 1966 - Apr lastSun 2:00 1:00 D Rule Chicago 1922 1954 - Sep lastSun 2:00 0 S Rule Chicago 1955 1966 - Oct lastSun 2:00 0 S ``` -------------------------------- ### Define a Proleptic TZ String for New Zealand Source: https://www.iana.org/time-zones/theory Example of a complex proleptic TZ string specifying standard time and daylight saving rules for New Zealand after 2007. ```text TZ='NZST-12NZDT,M9.5.0,M4.1.0/3' ``` -------------------------------- ### Build and Compile Options Source: https://www.iana.org/time-zones/releases/2026a Configuration commands for building the database and compiler flags for runtime behavior. ```bash make REDO=posix_right ``` ```bash make REDO=right_only ``` ```bash -DTZ_RUNTIME_LEAPS=0 ``` ```bash zic -v ``` ```bash zic -L ``` ```bash zic -p ``` ```bash -DSTD_INSPIRED ``` -------------------------------- ### Release Notes for 2012i Source: https://www.iana.org/time-zones/releases/2012i Summary of changes including configuration updates for Cuba, build system enhancements, and new Makefile targets. ```text Cuba switches from DST tomorrow at 01:00. (Thanks to Steffen Thorsen.) Linker flags can now be specified via LDFLAGS. AWK now defaults to 'awk', not 'nawk'. The shell in tzselect now defaults to /bin/bash, but this can be overridden by specifying KSHELL. The main web page now mentions the unofficial GitHub repository. (Thanks to Mike Frysinger.) Tarball signatures can now be built by running 'make signatures'. There are also new makefile rules 'tarballs', 'check_public', and separate makefile rules for each tarball and signature file. A few makefile rules are now more portable to strict POSIX. The main web page now lists the canonical IANA URL. ``` -------------------------------- ### Configure zdump with system library Source: https://www.iana.org/time-zones/releases/2014g Use this make command to build zdump using the system library instead of the tz library. ```bash make CFLAGS=-DUSE_LTZ=0 TZDOBJS=zdump.o CHECK_TIME_T_ALTERNATIVES= ``` -------------------------------- ### Release 2010c Change Notes Source: https://www.iana.org/time-zones/releases/2010c Technical notes regarding structural changes to initialization logic. ```text changes including KRE's suggestion for earlier initialization of "goahead" and "goback" structure elements ``` -------------------------------- ### Release Notes Summary Source: https://www.iana.org/time-zones/releases/2010m Summary of changes included in the 2010m release. ```text Hong Kong, Vostok, and zic.c changes ``` -------------------------------- ### Release Notes Content Source: https://www.iana.org/time-zones/releases/96k Contains the summary of changes for the 96k release. ```text the latest round of changes from Paul Eggert the recent Year 2000 material ``` -------------------------------- ### Makefile and TZif format updates Source: https://www.iana.org/time-zones/releases/code1997h-data1997j Contains release notes regarding TZif file headers and the addition of a zones target to the Makefile. ```text minor changes to put "TZif" at the start of each timezone information file a rule has also been added to the Makefile so you can make zones to just recompile the zone information files (rather than doing a full "make install" with its other effects). ``` -------------------------------- ### Run time_t alternative tests Source: https://www.iana.org/time-zones/releases/2013d Execute the make command to test time_t types other than the system default. ```bash make check_time_t_alternatives ``` -------------------------------- ### Build command for leap seconds and backzone Source: https://www.iana.org/time-zones/releases/2016a Use this command to combine leap seconds with the backzone file during the build process. ```bash make PACKRATDATA=backzone REDO=posix_right zones ``` -------------------------------- ### Release Notes Configuration Changes Source: https://www.iana.org/time-zones/releases/2000e Details regarding data modifications and constant definitions for the 2000e release. ```text data changes by Paul Eggert a change to the default value of the defined constant HAVE_STRERROR the addition of a Dave Barry quote on DST to the tz-arts file ``` -------------------------------- ### Release Notes Snippet Source: https://www.iana.org/time-zones/releases/2005r Contains release notes regarding Canadian time zone changes and zdump.c logic updates. ```text Canadian changes by Paul Eggert They also add "
" directives to time zone data files and reflect
changes to warning message logic in "zdump.c" (but with calls to
"gettext" kept unbundled at the suggestion of Ken Pizzini).
```
--------------------------------
### Release notes for code96l
Source: https://www.iana.org/time-zones/releases/code96l
Notes indicating that the previous release was missing components.
```text
tzcode96k was missing a couple of pieces.
```
--------------------------------
### Release Notes Summary
Source: https://www.iana.org/time-zones/releases/2009r
Displays the specific changes included in the 2009r release.
```text
"antarctica" and "tz-link.htm" changes
```
--------------------------------
### Clone tz database repository
Source: https://www.iana.org/time-zones/tz-link
Retrieves the development repository of code and data from GitHub.
```bash
git clone https://github.com/eggert/tz
```
--------------------------------
### Release notes for 2004a
Source: https://www.iana.org/time-zones/releases/2004a
Summary of changes implemented by Paul Eggert in the 2004a release.
```text
changes by Paul Eggert
Handle DST transitions that occur at the end of a month in some
years but at the start of the following month in other years.
Add a copy of the correspondence that's the basis for claims about
DST in the Navajo Nation.
```
--------------------------------
### Release notes excerpt
Source: https://www.iana.org/time-zones/releases/1999e
Contains information regarding changes to DST-specifying timezone names and updates to documentation files.
```text
changes circulated by Paul Eggert, although the change to handling
of DST-specifying timezone names has been commented out for now
(search for "XXX" in "localtime.c" for details). These files also
do not make any changes to the start of DST in Brazil.
In addition to Paul's changes, there are updates to "Arts.htm" and
cleanups of URLs.
```
--------------------------------
### Release Notes for 2011e
Source: https://www.iana.org/time-zones/releases/2011e
Summary of changes included in the 2011e release.
```text
Morocco, Chile, and tz-link changes
```
--------------------------------
### Release Notes Content
Source: https://www.iana.org/time-zones/releases/code95d
Displays the specific release notes content regarding the addition of the Music file.
```text
the addition of a "Music" file, which documents four recorded
versions of the tune "Save That Time".
```
--------------------------------
### Release 2000f Change Log
Source: https://www.iana.org/time-zones/releases/2000f
Summary of changes implemented by Paul Eggert in the 2000f release.
```text
changes by Paul Eggert
Added information in "tz-art.htm" on a Seinfeld reference to DST.
Error checking and messages in the "yearistype" script have been
improved.
```
--------------------------------
### Execute zic Commands
Source: https://www.iana.org/time-zones/releases/2017c
Commands for reproducing binary time zone data files from text input.
```bash
zic tzdata.zi
```
```bash
zic -L leapseconds tzdata.zi
```
--------------------------------
### Parallelized Build Command
Source: https://www.iana.org/time-zones/releases/2018d
Use the -j flag with GNU Make to speed up the build process on multiprocessor hosts.
```bash
make -j to2050new.tzs
```
--------------------------------
### Release 95b Notes
Source: https://www.iana.org/time-zones/releases/95b
Summary of changes included in the 95b release.
```text
Minor changes in both:
The "code" file contains a workaround for the lack of "unistd.h" in
Microsoft C++ version 7.
The "data" file contains a fixed "Link" for America/Shiprock.
```
--------------------------------
### Fix missing optind.c reference
Source: https://www.iana.org/time-zones/releases/code94g
Corrects a missing file and its corresponding reference in the Makefile.
```text
fix missing "optind.c" and a reference to it in the Makefile
```
--------------------------------
### Handle unsigned time_t systems
Source: https://www.iana.org/time-zones/releases/code2004i
Configuration or patch note addressing compatibility with systems using unsigned time_t types.
```text
Deal with systems where time_t is unsigned.
```
--------------------------------
### Download tz database via single-tarball
Source: https://www.iana.org/time-zones/tz-link
Downloads and extracts the latest tz database release using the single-tarball format.
```bash
wget https://www.iana.org/time-zones/repository/tzdb-latest.tar.lz
lzip -dc tzdb-latest.tar.lz | tar -xf -
```
--------------------------------
### Release Notes for 1997b
Source: https://www.iana.org/time-zones/releases/1997b
Summary of changes included in the 1997b release.
```text
The data file incorporates the 1997 leap second.
The code file incorporates Arthur David Olson's take on the
zic/multiprocessor/directory-creation situation.
```
--------------------------------
### Download tz database via tarballs
Source: https://www.iana.org/time-zones/tz-link
Downloads and extracts the latest tzcode and tzdata tarballs on a GNU/Linux system.
```bash
mkdir tzdb
cd tzdb
wget https://www.iana.org/time-zones/repository/tzcode-latest.tar.gz
wget https://www.iana.org/time-zones/repository/tzdata-latest.tar.gz
gzip -dc tzcode-latest.tar.gz | tar -xf -
gzip -dc tzdata-latest.tar.gz | tar -xf -
```
--------------------------------
### Release 2000h Change Log
Source: https://www.iana.org/time-zones/releases/2000h
Summary of changes implemented by Paul Eggert in the 2000h release.
```text
changes by Paul Eggert
one typo fix in the "art" file
With providence, this is the last update of the millennium.
```
--------------------------------
### Fix mkdirs compilation bug
Source: https://www.iana.org/time-zones/releases/code94c
Addresses an issue where mkdirs failed unless compiled with -fwritable-strings.
```text
Fix bug where mkdirs was broken unless you compile with
-fwritable-strings (which is generally losing to do).
```
--------------------------------
### Release Notes for 2012g
Source: https://www.iana.org/time-zones/releases/2012g
Summary of changes and technical updates included in the 2012g release.
```text
Samoa fall 2012 and later. (Thanks to Nicholas Pereira and Robert Elz.)
Palestine fall 2012. (Thanks to Steffen Thorsen.)
Assume C89.
To attack the version-number problem, this release ships the file
'Makefile' (which contains the release number) in both the tzcode and
the tzdata tarballs. The two Makefiles are identical, and should be
identical in any matching pair of tarballs, so it shouldn't matter
which order you extract the tarballs. Perhaps we can come up with a
better version-number scheme at some point; this scheme does have the
virtue of not adding more files.
```
--------------------------------
### Release Notes for 2005b
Source: https://www.iana.org/time-zones/releases/2005b
Summary of technical changes and documentation updates included in this release.
```text
Get localtime and gmtime working on systems with exotic time_t types.
Update the leap second commentary in the "leapseconds" file.
```
--------------------------------
### Release 2000d Change Log
Source: https://www.iana.org/time-zones/releases/2000d
Summary of modifications made to the codebase in release 2000d.
```text
changes to the documentation and code of strftime for C99 conformance
a bug fix for date.c
These are based on (though modified from) changes by Paul Eggert.
```
--------------------------------
### Release Notes for 2004g
Source: https://www.iana.org/time-zones/releases/2004g
Summary of changes included in the 2004g release.
```text
update to Cuba (taking effect this weekend)
other changes by Paul Eggert
correction of the spelling of Oslo
changed versions of difftime.c and private.h
```
--------------------------------
### Release Notes for code96d-data96c
Source: https://www.iana.org/time-zones/releases/code96d-data96c
Summary of changes included in the code and data distributions for this release.
```text
The "code" file simply updates Bob Kridle's electronic address.
The "data" file updates rules for Mexico.
```
--------------------------------
### Release 2006d Change Log
Source: https://www.iana.org/time-zones/releases/2006d
Summary of changes implemented by Paul Eggert in the 2006d release.
```text
changes by Paul Eggert
added new items to tz-arts.htm that were found by Paul
```
--------------------------------
### Release Notes for code2006h
Source: https://www.iana.org/time-zones/releases/code2006h
Summary of changes and fixes included in the code2006h release.
```text
adds public domain notices to four files
includes a fix for transition times being off by a second
adds a new recording to the "arts" file (information courtesy Colin Bowern)
```
--------------------------------
### POSIX Semantics Adjustment
Source: https://www.iana.org/time-zones/releases/94d
Configuration note regarding the avoidance of naming clashes with POSIX semantics for zones like GMT+4.
```text
Avoid clashes with POSIX semantics for zones such as GMT+4.
Some other very minor housekeeping is also present.
```
--------------------------------
### Release 1999b Change Log
Source: https://www.iana.org/time-zones/releases/1999b
Summary of code modifications and documentation updates included in the 1999b release.
```text
changes by Paul Eggert
code changes (suggested by Mani Varadarajan, mani at be.com) for
correct handling of symbolic links when building using a relative directory
code changes to generate correct messages for failed links
updates to the URLs in Arts.htm
```
--------------------------------
### Release 2007j Change Log
Source: https://www.iana.org/time-zones/releases/2007j
Summary of technical changes and updates included in the 2007j release.
```text
1. eliminate the "P" (parameter) macro;
2. the "noncontroversial" changes circulated on the time zone
mailing list (less the changes to "logwtmp.c");
3. eliminate "too many transition" errors when "min" is used in time
zone rules;
4. changes by Paul Eggert (including updated information for Venezuela).
```
--------------------------------
### Release Notes for code1997e-data1997f
Source: https://www.iana.org/time-zones/releases/code1997e-data1997f
Summary of changes and improvements included in this specific release.
```text
fixes to zic's error handling
changes inspired by the item circulated on Slovenia
The description of Web resources has been HTMLified for browsing
convenience.
A new piece of tz-related music has been added to the "Music" file.
```
--------------------------------
### Makefile public rule update
Source: https://www.iana.org/time-zones/releases/1999d
The public build rule now performs a test compilation of individual time zone data files to prevent errors.
```makefile
changes by Paul Eggert
The Makefile's "make public" rule has also been changed to do a test
compile of each individual time zone data file (which should help
avoid problems such as the one we had with Nicosia).
```
--------------------------------
### Release notes for data95c
Source: https://www.iana.org/time-zones/releases/data95c
Summary of file modifications included in the data95c release.
```text
changes to "asia", "backward", "europe", and "southamerica"
(read: northamericacentrics need not apply)
```
--------------------------------
### Release notes code changes
Source: https://www.iana.org/time-zones/releases/2005p
Lists specific file modifications included in the 2005p release.
```text
"systemv", "tz-link.htm", and "zdump.c" changes
(less the casts of arguments to the is* macros)
```
--------------------------------
### Release 2003b Change Log
Source: https://www.iana.org/time-zones/releases/2003b
Summary of functional changes and updates included in the 2003b release.
```text
Add a "--version" option (and documentation) to the zic and zdump commands.
changes to overflow/underflow checking in zic
a localtime typo fix.
Update the leapseconds and tz-art.htm files.
```
--------------------------------
### Release Notes for code94e
Source: https://www.iana.org/time-zones/releases/code94e
Contains the specific change log entry for this release.
```text
change for the benefit of PCTS
```
--------------------------------
### Release 1998c Change Log
Source: https://www.iana.org/time-zones/releases/1998c
Summary of modifications made in the 1998c release.
```text
changes by Paul Eggert (save the "French correction," on which I'll
wait for the dust to settle)
symlink changes
changes and additions to Arts.htm
```
--------------------------------
### Release Notes for code96b
Source: https://www.iana.org/time-zones/releases/code96b
Summary of changes included in the code96b release.
```text
fixes and enhancements from Paul Eggert, including code that
emulates the behavior of recent versions of the SunOS "date"
command.
```
--------------------------------
### Release Notes for code95g-data95k
Source: https://www.iana.org/time-zones/releases/code95g-data95k
Summary of changes including USNO data snapshots and minor cleanups.
```text
(slightly reformatted) 8-bit-clean proposed patch
minor patch: US/Eastern -> America/New_York
snapshot of the USNO's latest data ("usno1995")
some other minor cleanups
```
--------------------------------
### Fix zic.c inleap function
Source: https://www.iana.org/time-zones/releases/2003c
Corrects an issue with return values in the inleap function within zic.c.
```text
Fix bad returns in zic.c's inleap function.
Thanks to Bradley White for catching the problem!
```
--------------------------------
### Release 93g Notes
Source: https://www.iana.org/time-zones/releases/93g
Notes regarding historical data updates and bug fixes.
```text
Paul Eggert has provided a good deal of historic information (based
on Shanks), and there are some code changes to deal with the buglets
that crawled out in dealing with the new information.
```
--------------------------------
### Release Notes and Technical Changes
Source: https://www.iana.org/time-zones/releases/2018f
Summary of time zone adjustments, historical data corrections, and technical updates to the zic compiler and localtime.c implementation.
```text
Briefly:
Volgograd moves from +03 to +04 on 2018-10-28.
Fiji ends DST 2019-01-13, not 2019-01-20.
Most of Chile changes DST dates, effective 2019-04-06.
Changes to future timestamps
Volgograd moves from +03 to +04 on 2018-10-28 at 02:00.
(Thanks to Alexander Fetisov and Stepan Golosunov.)
Fiji ends DST 2019-01-13 instead of the 2019-01-20 previously
predicted. (Thanks to Raymond Kumar.) Adjust future predictions
accordingly.
Most of Chile will end DST on the first Saturday in April at 24:00 mainland
time, and resume DST on the first Saturday in September at 24:00 mainland
time. The changes are effective from 2019-04-06, and do not affect the
Magallanes region modeled by America/Punta_Arenas. (Thanks to Juan Correa
and Tim Parenti.) Adjust future predictions accordingly.
Changes to past timestamps
The 2018-05-05 North Korea 30-minute time zone change took place
at 23:30 the previous day, not at 00:00 that day.
China's 1988 spring-forward transition was on April 17, not
April 10. Its DST transitions in 1986/91 were at 02:00, not 00:00.
(Thanks to P Chan.)
Fix several issues for Macau before 1992. Macau's pre-1904 LMT
was off by 10 s. Macau switched to +08 in 1904 not 1912, and
temporarily switched to +09/+10 during World War II. Macau
observed DST in 1942/79, not 1961/80, and there were several
errors for transition times and dates. (Thanks to P Chan.)
The 1948-1951 fallback transitions in Japan were at 25:00 on
September's second Saturday, not at 24:00. (Thanks to Phake Nick.)
zic turns this into 01:00 on the day after September's second
Saturday, which is the best that POSIX or C platforms can do.
Incorporate 1940-1949 Asia/Shanghai DST transitions from a 2014
paper by Li Yu, replacing more-questionable data from Shanks.
Changes to time zone abbreviations
Use "PST" and "PDT" for Philippine time. (Thanks to Paul Goyette.)
Changes to code
zic now always generates TZif files where time type 0 is used for
timestamps before the first transition. This simplifies the
reading of TZif files and should not affect behavior of existing
TZif readers because the same set of time types is used; only
their internal indexes may have changed. This affects only the
legacy zones EST5EDT, CST6CDT, MST7MDT, PST8PDT, CET, MET, and
EET, which previously used nonzero types for these timestamps.
Because of the type 0 change, zic no longer outputs a dummy
transition at time -2**59 (before the Big Bang), as clients should
no longer need this to handle historical timestamps correctly.
This reverts a change introduced in 2013d and shrinks most TZif
files by a few bytes.
zic now supports negative time-of-day in Rule and Leap lines, e.g.,
"Rule X min max - Apr lastSun -6:00 1:00 -" means the transition
occurs at 18:00 on the Saturday before the last Sunday in April.
This behavior was documented in 2018a but the code did not
entirely match the documentation.
localtime.c no longer requires at least one time type in TZif
files that lack transitions or have a POSIX-style TZ string. This
future-proofs the code against possible future extensions to the
format that would allow TZif files with POSIX-style TZ strings and
without transitions or time types.
A read-access subscript error in localtime.c has been fixed.
It could occur only in TZif files with timecnt == 0, something that
does not happen in practice now but could happen in future versions.
localtime.c no longer ignores TZif POSIX-style TZ strings that
specify only standard time. Instead, these TZ strings now
override the default time type for timestamps after the last
transition (or for all timestamps if there are no transitions),
just as DST strings specifying DST have always done.
leapseconds.awk now outputs "#updated" and "#expires" comments,
and supports leap seconds at the ends of months other than June
and December. (Inspired by suggestions from Chris Woodbury.)
Changes to documentation
New restrictions: A Rule name must start with a character that
is neither an ASCII digit nor "-" nor "+", and an unquoted name
should not use characters in the set "!$%&'()*,/:;<=>?@[\]^`{|}~".
The latter restriction makes room for future extensions (a
possibility noted by Tom Lane).
tzfile.5 now documents what time types apply before the first and
after the last transition, if any.
```
--------------------------------
### Release 2003e Change Log
Source: https://www.iana.org/time-zones/releases/2003e
Summary of code and data changes implemented by Arthur David Olson and Paul Eggert.
```text
changes by Arthur David Olson (primarily code changes)
changes by Paul Eggert (primarily data changes)
minor changes to "Makefile" and "northamerica" (in the latter case,
optimization of the "Toronto" rules)
```
--------------------------------
### Build procedure change for rearguard tarballs
Source: https://www.iana.org/time-zones/releases/2020f
Corrects a bug in the 2020e release where rearguard.zi was generated incorrectly.
```text
Change to build procedure
'make rearguard_tarballs' no longer generates a bad rearguard.zi,
fixing a 2020e bug. (Problem reported by Deborah Goldsmith.)
```
--------------------------------
### Release Notes 2005c
Source: https://www.iana.org/time-zones/releases/2005c
Summary of technical improvements and data updates included in the 2005c release.
```text
get better results when mktime runs on a system where time_t is double
changes to the data files (most importantly to Paraguay)
```
--------------------------------
### Localtime modification by Guy Harris
Source: https://www.iana.org/time-zones/releases/code1998f
This snippet represents the specific addition made to the localtime.c source file.
```c
addition to localtime.c by Guy Harris
```
--------------------------------
### Release 2021b Summary Notes
Source: https://www.iana.org/time-zones/releases/2021b
A summary of the technical changes and updates included in the 2021b release of the IANA Time Zone Database.
```text
Briefly:
Jordan now starts DST on February's last Thursday.
Samoa no longer observes DST.
Merge more location-based Zones whose timestamps agree since 1970.
Move some backward-compatibility links to 'backward'.
Rename Pacific/Enderbury to Pacific/Kanton.
Correct many pre-1993 transitions in Malawi, Portugal, etc.
zic now creates each output file or link atomically.
zic -L no longer omits the POSIX TZ string in its output.
zic fixes for truncation and leap second table expiration.
zic now follows POSIX for TZ strings using all-year DST.
Fix some localtime crashes and bugs in obscure cases.
zdump -v now outputs more-useful boundary cases.
tzfile.5 better matches a draft successor to RFC 8536.
A new file SECURITY.
This release is prompted by recent announcements by Jordan and Samoa.
It incorporates many other changes that had accumulated since 2021a.
However, it omits most proposed changes that merged all Zones
agreeing since 1970, as concerns were raised about doing too many of
these changes at once. It does keeps some of these changes in the
interest of making tzdb more equitable one step at a time; see
"Merge more location-based Zones" below.
Changes to future timestamps
Jordan now starts DST on February's last Thursday.
(Thanks to Steffen Thorsen.)
Samoa no longer observes DST. (Thanks to Geoffrey D. Bennett.)
Changes to zone name
Rename Pacific/Enderbury to Pacific/Kanton. When we added
Enderbury in 1993, we did not know that it is uninhabited and that
Kanton (population two dozen) is the only inhabited location in
that timezone. The old name is now a backward-compatibility link.
Changes to past timestamps
Correct many pre-1993 transitions, fixing entries originally
derived from Shanks, Whitman, and Mundell. The fixes include:
- Barbados: standard time was introduced in 1911, not 1932; and
DST was observed in 1942-1944
- Cook Islands: In 1899 they switched from east to west of GMT,
celebrating Christmas for two days. They (and Niue) switched
to standard time in 1952, not 1901.
- Guyana: corrected LMT for Georgetown; the introduction of
standard time in 1911, not 1915; and corrections to 1975 and
1992 transitions
- Kanton: uninhabited before 1937-08-31
- Niue: only observed -11:20 from 1952 through 1964, then went to
-11 instead of -11:30
- Portugal: DST was observed in 1950
- Tonga: corrected LMT; the introduction of standard time in 1945,
not 1901; and corrections to the transition from +12:20 to +13
in 1961, not 1941
Additional fixes to entries in the 'backzone' file include:
- Enderbury: inhabited only 1860/1885 and 1938-03-06/1942-02-09
- The Gambia: 1933 and 1942 transitions
- Malawi: several 1911 through 1925 transitions
- Sierra Leone: several 1913 through 1941 transitions, and DST
was NOT observed in 1957 through 1962
(Thanks to P Chan, Michael Deckers, Alexander Krivenyshev and
Alois Treindl.)
Merge more location-based Zones whose timestamps agree since 1970,
as pre-1970 timestamps are out of scope. This is part of a
process that has been ongoing since 2013. This does not affect
post-1970 timestamps, and timezone historians who build with 'make
PACKRATDATA=backzone' should see no changes to pre-1970 timestamps.
When merging, keep the most-populous location's data, and move
data for other locations to 'backzone' with a backward
link in 'backward'. For example, move America/Creston data to
'backzone' with a link in 'backward' from America/Phoenix because
the two timezones' timestamps agree since 1970; this change
affects some pre-1968 timestamps in America/Creston because
Creston and Phoenix disagreed before 1968. The affected Zones
are Africa/Accra, America/Atikokan, America/Blanc-Sablon,
America/Creston, America/Curacao, America/Nassau,
America/Port_of_Spain, Antarctica/DumontDUrville, and
Antarctica/Syowa.
Changes to maintenance procedure
The new file SECURITY covers how to report security-related bugs.
Several backward-compatibility links have been moved to the
'backward' file. These links, which range from Africa/Addis_Ababa
to Pacific/Saipan, are only for compatibility with now-obsolete
guidelines suggesting an entry for every ISO 3166 code.
The intercontinental convenience links Asia/Istanbul and
Europe/Nicosia have also been moved to 'backward'.
Changes to code
```
--------------------------------
### Release 2018g Notes
Source: https://www.iana.org/time-zones/releases/2018g
Summary of changes including Morocco's time zone switch, zic bug fixes, and historical abbreviation updates.
```text
Briefly:
Morocco switches to permanent +01 on 2018-10-28.
Changes to future timestamps
Morocco switches from +00/+01 to permanent +01 effective 2018-10-28,
so its clocks will not fall back as previously scheduled.
(Thanks to Mohamed Essedik Najd and Brian Inglis.)
Changes to code
When generating TZif files with leap seconds, zic no longer uses a
format that trips up older 32-bit clients, fixing a bug introduced
in 2018f. (Reported by Daniel Fischer.) Also, the zic workaround
for QTBUG-53071 now also works for TZif files with leap seconds.
The translator to rearguard format now rewrites the line
"Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S" to
"Rule Japan 1948 1951 - Sep Sun>=9 1:00 0 S".
This caters to zic before 2007 and to Oracle TZUpdater 2.2.0
and earlier. (Reported by Christos Zoulas.)
Changes to past time zone abbreviations
Change HDT to HWT/HPT for WWII-era abbreviations in Hawaii.
This reverts to 2011h, as the abbreviation change in 2011i was
likely inadvertent.
Changes to documentation
tzfile.5 has new sections on interoperability issues.
```
--------------------------------
### Release Notes for code1997g-data1997h
Source: https://www.iana.org/time-zones/releases/code1997g-data1997h
Summary of changes including corrections for Uruguay and updates to mktime logic.
```text
corrections for Uruguay (and other locations)
Arthur David Olson's simple-minded fix allowing mktime to both
correctly handle leap seconds and correctly handle tm_sec values
upon which arithmetic has been performed.
```
--------------------------------
### Apply strftime %V patch
Source: https://www.iana.org/time-zones/releases/code96i
Suggested patch for correcting week number calculations in strftime.
```text
Paul's suggested patch for strftime %V week numbers
```
--------------------------------
### Handle wide-ranging tm_year values
Source: https://www.iana.org/time-zones/releases/code2004f
Update to improve compatibility with diverse tm_year inputs.
```text
Cope with wide-ranging tm_year values.
```
--------------------------------
### Update Egypt DST rules
Source: https://www.iana.org/time-zones/releases/2011g
Configuration update reflecting the abandonment of Daylight Saving Time in Egypt.
```text
update the rules for Egypt to reflect its abandonment of DST this year
```
--------------------------------
### Update strftime.c for ISO 8601
Source: https://www.iana.org/time-zones/releases/96a
This snippet outlines the changes made to strftime.c to support ISO 8601 week numbers and year formats.
```text
Israel updates
fixes to strftime.c for correct ISO 8601 week number generation,
plus support for two new formats ('G' and 'g') to give ISO 8601 year
numbers (which are not necessarily the same as calendar year numbers)
```
--------------------------------
### Fix symlink creation in zic.c
Source: https://www.iana.org/time-zones/releases/2002c
A code change to prevent zic.c from creating symlinks to files that do not exist.
```c
changes by Paul Eggert
Change zic.c to avoid creating symlinks to files that don't exist.
```
--------------------------------
### Zone record for America/Juneau with Date Line shift
Source: https://www.iana.org/time-zones/tz-how-to
Demonstrates a Zone record where the first two lines show solar times differing by 24 hours due to a movement of the International Date Line.
```text
#Zone NAME STDOFF RULES FORMAT [UNTIL]
Zone America/Juneau 15:02:19 - LMT 1867 Oct 18
-8:57:41 - LMT ...
```
--------------------------------
### Release changes for zic.c and usno1997
Source: https://www.iana.org/time-zones/releases/code1997c-data1997d
Summary of technical changes applied to the zic utility and the addition of a new data file.
```text
changes to "zic.c" to correct performance of the "-s" option
a new file "usno1997"
```
--------------------------------
### Release 2018h Notes
Source: https://www.iana.org/time-zones/releases/2018h
Summary of time zone changes, including regional shifts, DST adjustments, and historical data corrections.
```text
Briefly:
Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
Metlakatla, Alaska observes PST this winter only.
Guess Morocco will continue to adjust clocks around Ramadan.
Add predictions for Iran from 2038 through 2090.
Changes to future timestamps
Guess that Morocco will continue to fall back just before and
spring forward just after Ramadan, the practice since 2012.
(Thanks to Maamar Abdelkader.) This means Morocco will observe
negative DST during Ramadan in main and vanguard formats, and in
rearguard format it stays in the +00 timezone and observes
ordinary DST in all months other than Ramadan. As before, extend
this guesswork to the year 2037. As a consequence, Morocco is
scheduled to observe three DST transitions in some Gregorian years
(e.g., 2033) due to the mismatch between the Gregorian and Islamic
calendars.
The table of exact transitions for Iranian DST has been extended.
It formerly cut off before the year 2038 in a nod to 32-bit time_t.
It now cuts off before 2091 as there is doubt about how the Persian
calendar will treat 2091. This change predicts DST transitions in
2038-9, 2042-3, and 2046-7 to occur one day later than previously
predicted. As before, post-cutoff transitions are approximated.
Changes to past and future timestamps
Qyzylorda (aka Kyzylorda) oblast in Kazakhstan moved from +06 to
+05 on 2018-12-21. This is a zone split as Qostanay (aka
Kostanay) did not switch, so create a zone Asia/Qostanay.
Metlakatla moved from Alaska to Pacific standard time on 2018-11-04.
It did not change clocks that day and remains on -08 this winter.
(Thanks to Ryan Stanley.) It will revert to the usual Alaska
rules next spring, so this change affects only timestamps
from 2018-11-04 through 2019-03-10.
Change to past timestamps
Kwajalein's 1993-08-20 transition from -12 to +12 was at 24:00,
not 00:00. I transcribed the time incorrectly from Shanks.
(Thanks to Phake Nick.)
Nauru's 1979 transition was on 02-10 at 02:00, not 05-01 at 00:00.
(Thanks to Phake Nick.)
Guam observed DST irregularly from 1959 through 1977.
(Thanks to Phake Nick.)
Hong Kong observed DST in 1941 starting 06-15 (not 04-01), then on
10-01 changed standard time to +08:30 (not +08). Its transition
back to +08 after WWII was on 1945-09-15, not the previous day.
Its 1904-10-30 change took effect at 01:00 +08 (not 00:00 LMT).
(Thanks to Phake Nick, Steve Allen, and Joseph Myers.) Also,
its 1952 fallback was on 11-02 (not 10-25).
This release contains many changes to timestamps before 1946 due
to Japanese possession or occupation of Pacific/Chuuk,
Pacific/Guam, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro,
Pacific/Nauru, Pacific/Palau, and Pacific/Pohnpei.
(Thanks to Phake Nick.)
Assume that the Spanish East Indies was like the Philippines and
observed American time until the end of 1844. This affects
Pacific/Chuuk, Pacific/Kosrae, Pacific/Palau, and Pacific/Pohnpei.
Changes to past tm_isdst flags
For the recent Morocco change, the tm_isdst flag should be 1 from
2018-10-27 00:00 to 2018-10-28 03:00. (Thanks to Michael Deckers.)
Give a URL to the official decree. (Thanks to Matt Johnson.)
```
--------------------------------
### mktime scan logic update
Source: https://www.iana.org/time-zones/releases/code95e
This change modifies the mktime function to scan from the future to the past when determining time zone offsets.
```text
the mktime change to scan from future to past when trying to find time zone
offsets
```
--------------------------------
### Limit zic output time range
Source: https://www.iana.org/time-zones/releases/2019a
Use the -r option with the zic compiler to restrict output data to a specific timestamp range, useful for reducing file size.
```bash
zic -r @1000000000
```
--------------------------------
### Update sp->typecnt variable
Source: https://www.iana.org/time-zones/releases/code96j
This snippet reflects the specific code change implemented in the code96j release.
```text
Set sp->typecnt as suggested by Timothy Patrick Murphy.
```
--------------------------------
### Canada/Central Time Zone Adjustment
Source: https://www.iana.org/time-zones/releases/data95i
Correction for the Canada/Central time zone definition regarding daylight saving time transitions.
```text
For Canada/Central, guess that the Sun customer's "one week too
early" was just a approximation, and the true error is one month
too early. This is consistent with the rest of Canada.
```
=== COMPLETE CONTENT === This response contains all available snippets from this library. No additional content exists. Do not make further requests.