xref: /netbsd-src/lib/libc/time/NEWS (revision 18b32cd19a7876a54ee1a4164d407422179e38ed)
100295176SchristosNews for the tz database
200295176Schristos
3*18b32cd1SchristosRelease 2025a - 2025-01-15 10:47:24 -0800
4*18b32cd1Schristos
5*18b32cd1Schristos  Briefly:
6*18b32cd1Schristos    Paraguay adopts permanent -03 starting spring 2024.
7*18b32cd1Schristos    Improve pre-1991 data for the Philippines.
8*18b32cd1Schristos    Etc/Unknown is now reserved.
9*18b32cd1Schristos
10*18b32cd1Schristos  Changes to future timestamps
11*18b32cd1Schristos
12*18b32cd1Schristos    Paraguay will stop changing its clocks after the spring-forward
13*18b32cd1Schristos    transition on 2024-10-06, so it is now permanently at -03.
14*18b32cd1Schristos    (Thanks to Heitor David Pinto and Even Scharning.)
15*18b32cd1Schristos    This affects timestamps starting 2025-03-22, as well as the
16*18b32cd1Schristos    obsolescent tm_isdst flags starting 2024-10-15.
17*18b32cd1Schristos
18*18b32cd1Schristos  Changes to past timestamps
19*18b32cd1Schristos
20*18b32cd1Schristos    Correct timestamps for the Philippines before 1900, and from 1937
21*18b32cd1Schristos    through 1990.  (Thanks to P Chan for the heads-up and citations.)
22*18b32cd1Schristos    This includes adjusting local mean time before 1899; fixing
23*18b32cd1Schristos    transitions in September 1899, January 1937, and June 1954; adding
24*18b32cd1Schristos    transitions in December 1941, November 1945, March and September
25*18b32cd1Schristos    1977, and May and July 1990; and removing incorrect transitions in
26*18b32cd1Schristos    March and September 1978.
27*18b32cd1Schristos
28*18b32cd1Schristos  Changes to data
29*18b32cd1Schristos
30*18b32cd1Schristos    Add zone1970.tab lines for the Concordia and Eyre Bird Observatory
31*18b32cd1Schristos    research stations.  (Thanks to Derick Rethans and Jule Dabars.)
32*18b32cd1Schristos
33*18b32cd1Schristos  Changes to code
34*18b32cd1Schristos
35*18b32cd1Schristos    strftime %s now generates the correct numeric string even when the
36*18b32cd1Schristos    represented number does not fit into time_t.  This is better than
37*18b32cd1Schristos    generating the numeric equivalent of (time_t) -1, as strftime did
38*18b32cd1Schristos    in TZDB releases 96a (when %s was introduced) through 2020a and in
39*18b32cd1Schristos    releases 2022b through 2024b.  It is also better than failing and
40*18b32cd1Schristos    returning 0, as strftime did in releases 2020b through 2022a.
41*18b32cd1Schristos
42*18b32cd1Schristos    strftime now outputs an invalid conversion specifier as-is,
43*18b32cd1Schristos    instead of eliding the leading '%', which confused debugging.
44*18b32cd1Schristos
45*18b32cd1Schristos    An invalid TZ now generates the time zone abbreviation "-00", not
46*18b32cd1Schristos    "UTC", to help the user see that an error has occurred.  (Thanks
47*18b32cd1Schristos    to Arthur David Olson for suggesting a "wrong result".)
48*18b32cd1Schristos
49*18b32cd1Schristos    mktime and timeoff no longer incorrectly fail merely because a
50*18b32cd1Schristos    struct tm component near INT_MIN or INT_MAX overflows when a
51*18b32cd1Schristos    lower-order component carries into it.
52*18b32cd1Schristos
53*18b32cd1Schristos    TZNAME_MAXIMUM, the maximum number of bytes in a proleptic TZ
54*18b32cd1Schristos    string's time zone abbreviation, now defaults to 254 not 255.
55*18b32cd1Schristos    This helps reduce the size of internal state from 25480 to 21384
56*18b32cd1Schristos    on common platforms.  This change should not be a problem, as
57*18b32cd1Schristos    nobody uses such long "abbreviations" and the longstanding tzcode
58*18b32cd1Schristos    maximum was 16 until release 2023a.  For those who prefer no
59*18b32cd1Schristos    arbitrary limits, you can now specify TZNAME_MAXIMUM values up to
60*18b32cd1Schristos    PTRDIFF_MAX, a limit forced by C anyway; formerly tzcode silently
61*18b32cd1Schristos    misbehaved unless TZNAME_MAXIMUM was less than INT_MAX.
62*18b32cd1Schristos
63*18b32cd1Schristos    tzset and related functions no longer leak a file descriptor if
64*18b32cd1Schristos    another thread forks or execs at about the same time and if the
65*18b32cd1Schristos    platform has O_CLOFORK and O_CLOEXEC respectively.  Also, the
66*18b32cd1Schristos    functions no longer let a TZif file become a controlling terminal.
67*18b32cd1Schristos
68*18b32cd1Schristos    'zdump -' now reads TZif data from /dev/stdin.
69*18b32cd1Schristos    (From a question by Arthur David Olson.)
70*18b32cd1Schristos
71*18b32cd1Schristos  Changes to documentation
72*18b32cd1Schristos
73*18b32cd1Schristos    The name Etc/Unknown is now reserved: it will not be used by TZDB.
74*18b32cd1Schristos    This is for compatibility with CLDR, which uses the string
75*18b32cd1Schristos    "Etc/Unknown" for an unknown or invalid timezone.  (Thanks to
76*18b32cd1Schristos    Justin Grant, Mark Davis, and Guy Harris.)
77*18b32cd1Schristos
78*18b32cd1Schristos    Cite Internet RFC 9636, which obsoletes RFC 8536 for TZif format.
79*18b32cd1Schristos
80*18b32cd1Schristos
817d1a89a3SchristosRelease 2024b - 2024-09-04 12:27:47 -0700
827d1a89a3Schristos
837d1a89a3Schristos  Briefly:
847d1a89a3Schristos    Improve historical data for Mexico, Mongolia, and Portugal.
857d1a89a3Schristos    System V names are now obsolescent.
867d1a89a3Schristos    The main data form now uses %z.
877d1a89a3Schristos    The code now conforms to RFC 8536 for early timestamps.
887d1a89a3Schristos    Support POSIX.1-2024, which removes asctime_r and ctime_r.
897d1a89a3Schristos    Assume POSIX.2-1992 or later for shell scripts.
907d1a89a3Schristos    SUPPORT_C89 now defaults to 1.
917d1a89a3Schristos
927d1a89a3Schristos  Changes to past timestamps
937d1a89a3Schristos
947d1a89a3Schristos    Asia/Choibalsan is now an alias for Asia/Ulaanbaatar rather than
957d1a89a3Schristos    being a separate Zone with differing behavior before April 2008.
967d1a89a3Schristos    This seems better given our wildly conflicting information about
977d1a89a3Schristos    Mongolia's time zone history.  (Thanks to Heitor David Pinto.)
987d1a89a3Schristos
997d1a89a3Schristos    Historical transitions for Mexico have been updated based on
1007d1a89a3Schristos    official Mexican decrees.  The affected timestamps occur during
1017d1a89a3Schristos    the years 1921-1927, 1931, 1945, 1949-1970, and 1981-1997.
1027d1a89a3Schristos    The affected zones are America/Bahia_Banderas, America/Cancun,
1037d1a89a3Schristos    America/Chihuahua, America/Ciudad_Juarez, America/Hermosillo,
1047d1a89a3Schristos    America/Mazatlan, America/Merida, America/Mexico_City,
1057d1a89a3Schristos    America/Monterrey, America/Ojinaga, and America/Tijuana.
1067d1a89a3Schristos    (Thanks to Heitor David Pinto.)
1077d1a89a3Schristos
1087d1a89a3Schristos    Historical transitions for Portugal, represented by Europe/Lisbon,
1097d1a89a3Schristos    Atlantic/Azores, and Atlantic/Madeira, have been updated based on a
1107d1a89a3Schristos    close reading of old Portuguese legislation, replacing previous data
1117d1a89a3Schristos    mainly originating from Whitman and Shanks & Pottenger.  These
1127d1a89a3Schristos    changes affect a few transitions in 1917-1921, 1924, and 1940
1137d1a89a3Schristos    throughout these regions by a few hours or days, and various
1147d1a89a3Schristos    timestamps between 1977 and 1993 depending on the region.  In
1157d1a89a3Schristos    particular, the Azores and Madeira did not observe DST from 1977 to
1167d1a89a3Schristos    1981.  Additionally, the adoption of standard zonal time in former
1177d1a89a3Schristos    Portuguese colonies have been adjusted: Africa/Maputo in 1909, and
1187d1a89a3Schristos    Asia/Dili by 22 minutes at the start of 1912.
1197d1a89a3Schristos    (Thanks to Tim Parenti.)
1207d1a89a3Schristos
1217d1a89a3Schristos  Changes to past tm_isdst flags
1227d1a89a3Schristos
1237d1a89a3Schristos    The period from 1966-04-03 through 1966-10-02 in Portugal is now
1247d1a89a3Schristos    modeled as DST, to more closely reflect how contemporaneous changes
1257d1a89a3Schristos    in law entered into force.
1267d1a89a3Schristos
1277d1a89a3Schristos  Changes to data
1287d1a89a3Schristos
1297d1a89a3Schristos    Names present only for compatibility with UNIX System V
1307d1a89a3Schristos    (last released in the 1990s) have been moved to 'backward'.
1317d1a89a3Schristos    These names, which for post-1970 timestamps mostly just duplicate
1327d1a89a3Schristos    data of geographical names, were confusing downstream uses.
1337d1a89a3Schristos    Names moved to 'backward' are now links to geographical names.
1347d1a89a3Schristos    This affects behavior for TZ='EET' for some pre-1981 timestamps,
1357d1a89a3Schristos    for TZ='CET' for some pre-1947 timestamps, and for TZ='WET' for
1367d1a89a3Schristos    some pre-1996 timestamps.  Also, TZ='MET' now behaves like
1377d1a89a3Schristos    TZ='CET' and so uses the abbreviation "CET" rather than "MET".
1387d1a89a3Schristos    Those needing the previous TZDB behavior, which does not match any
1397d1a89a3Schristos    real-world clocks, can find the old entries in 'backzone'.
1407d1a89a3Schristos    (Problem reported by Justin Grant.)
1417d1a89a3Schristos
1427d1a89a3Schristos    The main source files' time zone abbreviations now use %z,
1437d1a89a3Schristos    supported by zic since release 2015f and used in vanguard form
1447d1a89a3Schristos    since release 2022b.  For example, America/Sao_Paulo now contains
1457d1a89a3Schristos    the zone continuation line "-3:00 Brazil %z", which is less error
1467d1a89a3Schristos    prone than the old "-3:00 Brazil -03/-02".  This does not change
1477d1a89a3Schristos    the represented data: the generated TZif files are unchanged.
1487d1a89a3Schristos    Rearguard form still avoids %z, to support obsolescent parsers.
1497d1a89a3Schristos
1507d1a89a3Schristos    Asia/Almaty has been removed from zonenow.tab as it now agrees
1517d1a89a3Schristos    with Asia/Tashkent for future timestamps, due to Kazakhstan's
1527d1a89a3Schristos    2024-02-29 time zone change.  Similarly, America/Scoresbysund
1537d1a89a3Schristos    has been removed, as it now agrees with America/Nuuk due to
1547d1a89a3Schristos    its 2024-03-31 time zone change.
1557d1a89a3Schristos
1567d1a89a3Schristos  Changes to code
1577d1a89a3Schristos
1587d1a89a3Schristos    localtime.c now always uses a TZif file's time type 0 to handle
1597d1a89a3Schristos    timestamps before the file's first transition.  Formerly,
1607d1a89a3Schristos    localtime.c sometimes inferred a different time type, in order to
1617d1a89a3Schristos    handle problematic data generated by zic 2018e or earlier.  As it
1627d1a89a3Schristos    is now safe to assume more recent versions of zic, there is no
1637d1a89a3Schristos    longer a pressing need to fail to conform RFC 8536 section 3.2,
1647d1a89a3Schristos    which requires using time type 0 in this situation.  This change
1657d1a89a3Schristos    does not affect behavior when reading TZif files generated by zic
1667d1a89a3Schristos    2018f and later.
1677d1a89a3Schristos
1687d1a89a3Schristos    POSIX.1-2024 removes asctime_r and ctime_r and does not let
1697d1a89a3Schristos    libraries define them, so remove them except when needed to
1707d1a89a3Schristos    conform to earlier POSIX.  These functions are dangerous as they
1717d1a89a3Schristos    can overrun user buffers.  If you still need them, add
1727d1a89a3Schristos    -DSUPPORT_POSIX2008 to CFLAGS.
1737d1a89a3Schristos
1747d1a89a3Schristos    The SUPPORT_C89 option now defaults to 1 instead of 0, fixing a
1757d1a89a3Schristos    POSIX-conformance bug introduced in 2023a.
1767d1a89a3Schristos
1777d1a89a3Schristos    tzselect now supports POSIX.1-2024 proleptic TZ strings.  Also, it
1787d1a89a3Schristos    assumes POSIX.2-1992 or later, as practical porting targets now
1797d1a89a3Schristos    all support that, and it uses some features from POSIX.1-2024 if
1807d1a89a3Schristos    available.
1817d1a89a3Schristos
1827d1a89a3Schristos  Changes to build procedure
1837d1a89a3Schristos
1847d1a89a3Schristos    'make check' no longer requires curl and Internet access.
1857d1a89a3Schristos
1867d1a89a3Schristos    The build procedure now assumes POSIX.2-1992 or later, to simplify
1877d1a89a3Schristos    maintenance.  To build on Solaris 10, the only extant system still
1887d1a89a3Schristos    defaulting to pre-POSIX, prepend /usr/xpg4/bin to PATH.
1897d1a89a3Schristos
1907d1a89a3Schristos  Changes to documentation
1917d1a89a3Schristos
1927d1a89a3Schristos    The documentation now reflects POSIX.1-2024.
1937d1a89a3Schristos
1947d1a89a3Schristos  Changes to commentary
1957d1a89a3Schristos
1967d1a89a3Schristos    Commentary about historical transitions in Portugal and her former
197*18b32cd1Schristos    colonies has been expanded with links to relevant legislation.
1987d1a89a3Schristos    (Thanks to Tim Parenti.)
1997d1a89a3Schristos
2007d1a89a3Schristos
201f22d6113SchristosRelease 2024a - 2024-02-01 09:28:56 -0800
202f22d6113Schristos
203f22d6113Schristos  Briefly:
204f22d6113Schristos    Kazakhstan unifies on UTC+5 beginning 2024-03-01.
205f22d6113Schristos    Palestine springs forward a week later after Ramadan.
206f22d6113Schristos    zic no longer pretends to support indefinite-past DST.
207f22d6113Schristos    localtime no longer mishandles Ciudad Juárez in 2422.
208f22d6113Schristos
209f22d6113Schristos  Changes to future timestamps
210f22d6113Schristos
211f22d6113Schristos    Kazakhstan unifies on UTC+5.  This affects Asia/Almaty and
212f22d6113Schristos    Asia/Qostanay which together represent the eastern portion of the
213f22d6113Schristos    country that will transition from UTC+6 on 2024-03-01 at 00:00 to
214f22d6113Schristos    join the western portion.  (Thanks to Zhanbolat Raimbekov.)
215f22d6113Schristos
216f22d6113Schristos    Palestine springs forward a week later than previously predicted
217f22d6113Schristos    in 2024 and 2025.  (Thanks to Heba Hamad.)  Change spring-forward
218f22d6113Schristos    predictions to the second Saturday after Ramadan, not the first;
219f22d6113Schristos    this also affects other predictions starting in 2039.
220f22d6113Schristos
221f22d6113Schristos  Changes to past timestamps
222f22d6113Schristos
223f22d6113Schristos    Asia/Ho_Chi_Minh's 1955-07-01 transition occurred at 01:00
224f22d6113Schristos    not 00:00.  (Thanks to Đoàn Trần Công Danh.)
225f22d6113Schristos
226f22d6113Schristos    From 1947 through 1949, Toronto's transitions occurred at 02:00
227f22d6113Schristos    not 00:00.  (Thanks to Chris Walton.)
228f22d6113Schristos
229f22d6113Schristos    In 1911 Miquelon adopted standard time on June 15, not May 15.
230f22d6113Schristos
231f22d6113Schristos  Changes to code
232f22d6113Schristos
233f22d6113Schristos    The FROM and TO columns of Rule lines can no longer be "minimum"
234f22d6113Schristos    or an abbreviation of "minimum", because TZif files do not support
235f22d6113Schristos    DST rules that extend into the indefinite past - although these
236f22d6113Schristos    rules were supported when TZif files had only 32-bit data, this
237f22d6113Schristos    stopped working when 64-bit TZif files were introduced in 1995.
238f22d6113Schristos    This should not be a problem for realistic data, since DST was
239f22d6113Schristos    first used in the 20th century.  As a transition aid, FROM columns
240f22d6113Schristos    like "minimum" are now diagnosed and then treated as if they were
241f22d6113Schristos    the year 1900; this should suffice for TZif files on old systems
242f22d6113Schristos    with only 32-bit time_t, and it is more compatible with bugs in
243f22d6113Schristos    2023c-and-earlier localtime.c.  (Problem reported by Yoshito
244f22d6113Schristos    Umaoka.)
245f22d6113Schristos
246f22d6113Schristos    localtime and related functions no longer mishandle some
247f22d6113Schristos    timestamps that occur about 400 years after a switch to a time
248f22d6113Schristos    zone with a DST schedule.  In 2023d data this problem was visible
249f22d6113Schristos    for some timestamps in November 2422, November 2822, etc. in
250f22d6113Schristos    America/Ciudad_Juarez.  (Problem reported by Gilmore Davidson.)
251f22d6113Schristos
252f22d6113Schristos    strftime %s now uses tm_gmtoff if available.  (Problem and draft
253f22d6113Schristos    patch reported by Dag-Erling Smørgrav.)
254f22d6113Schristos
255f22d6113Schristos  Changes to build procedure
256f22d6113Schristos
257f22d6113Schristos    The leap-seconds.list file is now copied from the IERS instead of
258f22d6113Schristos    from its downstream counterpart at NIST, as the IERS version is
259f22d6113Schristos    now in the public domain too and tends to be more up-to-date.
260f22d6113Schristos    (Thanks to Martin Burnicki for liaisoning with the IERS.)
261f22d6113Schristos
262f22d6113Schristos  Changes to documentation
263f22d6113Schristos
264f22d6113Schristos    The strftime man page documents which struct tm members affect
265f22d6113Schristos    which conversion specs, and that tzset is called.  (Problems
266f22d6113Schristos    reported by Robert Elz and Steve Summit.)
267f22d6113Schristos
268f22d6113Schristos
269559c967bSchristosRelease 2023d - 2023-12-21 20:02:24 -0800
270559c967bSchristos
271559c967bSchristos  Briefly:
272559c967bSchristos    Ittoqqortoormiit, Greenland changes time zones on 2024-03-31.
273559c967bSchristos    Vostok, Antarctica changed time zones on 2023-12-18.
274559c967bSchristos    Casey, Antarctica changed time zones five times since 2020.
275559c967bSchristos    Code and data fixes for Palestine timestamps starting in 2072.
276559c967bSchristos    A new data file zonenow.tab for timestamps starting now.
277559c967bSchristos
278559c967bSchristos  Changes to future timestamps
279559c967bSchristos
280559c967bSchristos    Ittoqqortoormiit, Greenland (America/Scoresbysund) joins most of
281559c967bSchristos    the rest of Greenland's timekeeping practice on 2024-03-31, by
282559c967bSchristos    changing its time zone from -01/+00 to -02/-01 at the same moment
283559c967bSchristos    as the spring-forward transition.  Its clocks will therefore not
284559c967bSchristos    spring forward as previously scheduled.  The time zone change
285*18b32cd1Schristos    reverts to its common practice before 1981.  (Thanks to Jule Dabars.)
286559c967bSchristos
287559c967bSchristos    Fix predictions for DST transitions in Palestine in 2072-2075,
288*18b32cd1Schristos    correcting a typo introduced in 2023a.  (Thanks to Jule Dabars.)
289559c967bSchristos
290559c967bSchristos  Changes to past and future timestamps
291559c967bSchristos
292559c967bSchristos    Vostok, Antarctica changed to +05 on 2023-12-18.  It had been at
293559c967bSchristos    +07 (not +06) for years.  (Thanks to Zakhary V. Akulov.)
294559c967bSchristos
295559c967bSchristos    Change data for Casey, Antarctica to agree with timeanddate.com,
296559c967bSchristos    by adding five time zone changes since 2020.  Casey is now at +08
297559c967bSchristos    instead of +11.
298559c967bSchristos
299559c967bSchristos  Changes to past tm_isdst flags
300559c967bSchristos
301559c967bSchristos    Much of Greenland, represented by America/Nuuk, changed its
302559c967bSchristos    standard time from -03 to -02 on 2023-03-25, not on 2023-10-28.
303559c967bSchristos    This does not affect UTC offsets, only the tm_isdst flag.
304559c967bSchristos    (Thanks to Thomas M. Steenholdt.)
305559c967bSchristos
306559c967bSchristos  New data file
307559c967bSchristos
308559c967bSchristos    A new data file zonenow.tab helps configure applications that use
309559c967bSchristos    timestamps dated from now on.  This simplifies configuration,
310559c967bSchristos    since users choose from a smaller Zone set.  The file's format is
311559c967bSchristos    experimental and subject to change.
312559c967bSchristos
313559c967bSchristos  Changes to code
314559c967bSchristos
315559c967bSchristos    localtime.c no longer mishandles TZif files that contain a single
316559c967bSchristos    transition into a DST regime.  Previously, it incorrectly assumed
317559c967bSchristos    DST was in effect before the transition too.  (Thanks to Alois
318559c967bSchristos    Treindl for debugging help.)
319559c967bSchristos
320559c967bSchristos    localtime.c's timeoff no longer collides with OpenBSD 7.4.
321559c967bSchristos
322559c967bSchristos    The C code now uses _Generic only if __STDC_VERSION__ says the
323559c967bSchristos    compiler is C11 or later.
324559c967bSchristos
325559c967bSchristos    tzselect now optionally reads zonenow.tab, to simplify when
326559c967bSchristos    configuring only for timestamps dated from now on.
327559c967bSchristos
328559c967bSchristos    tzselect no longer creates temporary files.
329559c967bSchristos
330559c967bSchristos    tzselect no longer mishandles the following:
331559c967bSchristos
332559c967bSchristos      Spaces and most other special characters in BUGEMAIL, PACKAGE,
333559c967bSchristos      TZDIR, and VERSION.
334559c967bSchristos
335559c967bSchristos      TZ strings when using mawk 1.4.3, which mishandles regular
336559c967bSchristos      expressions of the form /X{2,}/.
337559c967bSchristos
338559c967bSchristos      ISO 6709 coordinates when using an awk that lacks the GNU
339559c967bSchristos      extension of newlines in -v option-arguments.
340559c967bSchristos
341559c967bSchristos      Non UTF-8 locales when using an iconv command that lacks the GNU
342559c967bSchristos      //TRANSLIT extension.
343559c967bSchristos
344559c967bSchristos    zic no longer mishandles data for Palestine after the year 2075.
345559c967bSchristos    Previously, it incorrectly omitted post-2075 transitions that are
346559c967bSchristos    predicted for just before and just after Ramadan.  (Thanks to Ken
347559c967bSchristos    Murchison for debugging help.)
348559c967bSchristos
349559c967bSchristos    zic now works again on Linux 2.6.16 and 2.6.17 (2006).
350559c967bSchristos    (Problem reported by Rune Torgersen.)
351559c967bSchristos
352559c967bSchristos  Changes to build procedure
353559c967bSchristos
354559c967bSchristos    The Makefile is now more compatible with POSIX:
355559c967bSchristos     * It no longer defines AR, CC, CFLAGS, LDFLAGS, and SHELL.
356559c967bSchristos     * It no longer uses its own 'cc' in place of CC.
357559c967bSchristos     * It now uses ARFLAGS, with default specified by POSIX.
358559c967bSchristos     * It does not use LFLAGS incompatibly with POSIX.
359559c967bSchristos     * It uses the special .POSIX target.
360559c967bSchristos     * It quotes special characters more carefully.
361559c967bSchristos     * It no longer mishandles builds in an ISO 8859 locale.
3627d1a89a3Schristos    Due to the CC changes, TZDIR is now #defined in a file tzdir.h
363559c967bSchristos    built by 'make', not in a $(CC) -D option.  Also, TZDEFAULT is
364559c967bSchristos    now treated like TZDIR as they have similar roles.
365559c967bSchristos
366559c967bSchristos  Changes to commentary
367559c967bSchristos
368559c967bSchristos     Limitations and hazards of the optional support for obsolescent
369559c967bSchristos     C89 platforms are documented better, along with a tentative
370559c967bSchristos     schedule for removing this support.
371559c967bSchristos
372559c967bSchristos
37389098d20SchristosRelease 2023c - 2023-03-28 12:42:14 -0700
37489098d20Schristos
37589098d20Schristos  Changes to past and future timestamps
37689098d20Schristos
37789098d20Schristos    Model Lebanon's DST chaos by reverting data to tzdb 2023a.
37889098d20Schristos    (Thanks to Rany Hany for the heads-up.)
37989098d20Schristos
38089098d20Schristos
38189098d20SchristosRelease 2023b - 2023-03-23 19:50:38 -0700
38289098d20Schristos
38389098d20Schristos  Changes to future timestamps
38489098d20Schristos
38589098d20Schristos    This year Lebanon springs forward April 20/21 not March 25/26.
38689098d20Schristos    (Thanks to Saadallah Itani.)  [This was reverted in 2023c.]
38789098d20Schristos
38889098d20Schristos
38989098d20SchristosRelease 2023a - 2023-03-22 12:39:33 -0700
39089098d20Schristos
39189098d20Schristos  Briefly:
39289098d20Schristos    Egypt now uses DST again, from April through October.
39389098d20Schristos    This year Morocco springs forward April 23, not April 30.
39489098d20Schristos    Palestine delays the start of DST this year.
39589098d20Schristos    Much of Greenland still uses DST from 2024 on.
39689098d20Schristos    America/Yellowknife now links to America/Edmonton.
39789098d20Schristos    tzselect can now use current time to help infer timezone.
39889098d20Schristos    The code now defaults to C99 or later.
39989098d20Schristos    Fix use of C23 attributes.
40089098d20Schristos
40189098d20Schristos  Changes to future timestamps
40289098d20Schristos
40389098d20Schristos    Starting in 2023, Egypt will observe DST from April's last Friday
40489098d20Schristos    through October's last Thursday.  (Thanks to Ahmad ElDardiry.)
40589098d20Schristos    Assume the transition times are 00:00 and 24:00, respectively.
40689098d20Schristos
40789098d20Schristos    In 2023 Morocco's spring-forward transition after Ramadan
40889098d20Schristos    will occur April 23, not April 30.  (Thanks to Milamber.)
40989098d20Schristos    Adjust predictions for future years accordingly.  This affects
41089098d20Schristos    predictions for 2023, 2031, 2038, and later years.
41189098d20Schristos
41289098d20Schristos    This year Palestine will delay its spring forward from
41389098d20Schristos    March 25 to April 29 due to Ramadan.  (Thanks to Heba Hamad.)
41489098d20Schristos    Make guesses for future Ramadans too.
41589098d20Schristos
41689098d20Schristos    Much of Greenland, represented by America/Nuuk, will continue to
41789098d20Schristos    observe DST using European Union rules.  When combined with
41889098d20Schristos    Greenland's decision not to change the clocks in fall 2023,
41989098d20Schristos    America/Nuuk therefore changes from -03/-02 to -02/-01 effective
42089098d20Schristos    2023-10-29 at 01:00 UTC.  (Thanks to Thomas M. Steenholdt.)
42189098d20Schristos    This change from 2022g doesn't affect timestamps until 2024-03-30,
42289098d20Schristos    and doesn't affect tm_isdst until 2023-03-25.
42389098d20Schristos
42489098d20Schristos  Changes to past timestamps
42589098d20Schristos
42689098d20Schristos    America/Yellowknife has changed from a Zone to a backward
42789098d20Schristos    compatibility Link, as it no longer differs from America/Edmonton
42889098d20Schristos    since 1970.  (Thanks to Almaz Mingaleev.)  This affects some
42989098d20Schristos    pre-1948 timestamps.  The old data are now in 'backzone'.
43089098d20Schristos
43189098d20Schristos  Changes to past time zone abbreviations
43289098d20Schristos
43389098d20Schristos    When observing Moscow time, Europe/Kirov and Europe/Volgograd now
43489098d20Schristos    use the abbreviations MSK/MSD instead of numeric abbreviations,
43589098d20Schristos    for consistency with other timezones observing Moscow time.
43689098d20Schristos
43789098d20Schristos  Changes to code
43889098d20Schristos
43989098d20Schristos    You can now tell tzselect local time, to simplify later choices.
44089098d20Schristos    Select the 'time' option in its first prompt.
44189098d20Schristos
44289098d20Schristos    You can now compile with -DTZNAME_MAXIMUM=N to limit time zone
44389098d20Schristos    abbreviations to N bytes (default 255).  The reference runtime
44489098d20Schristos    library now rejects POSIX-style TZ strings that contain longer
44589098d20Schristos    abbreviations, treating them as UTC.  Previously the limit was
44689098d20Schristos    platform dependent and abbreviations were silently truncated to
44789098d20Schristos    16 bytes even when the limit was greater than 16.
44889098d20Schristos
449559c967bSchristos    The code by default is now designed for C99 or later.  To build on
450559c967bSchristos    a mostly-C89 platform, compile with -DPORT_TO_C89; this should
451559c967bSchristos    work on C89 platforms that also support C99 'long long' and
452559c967bSchristos    perhaps a few other extensions to C89.  To support C89 callers of
453559c967bSchristos    tzcode's library, compile with -DSUPPORT_C89; however, this could
454559c967bSchristos    trigger latent bugs in C99-or-later callers.  The two new macros
455559c967bSchristos    are transitional aids planned to be removed in a future version
456559c967bSchristos    (say, in 2029), when C99 or later will be required.
45789098d20Schristos
45889098d20Schristos    The code now builds again on pre-C99 platforms, if you compile
45989098d20Schristos    with -DPORT_TO_C89.  This fixes a bug introduced in 2022f.
46089098d20Schristos
46189098d20Schristos    On C23-compatible platforms tzcode no longer uses syntax like
46289098d20Schristos    'static [[noreturn]] void usage(void);'.  Instead, it uses
46389098d20Schristos    '[[noreturn]] static void usage(void);' as strict C23 requires.
46489098d20Schristos    (Problem reported by Houge Langley.)
46589098d20Schristos
46689098d20Schristos    The code's functions now constrain their arguments with the C
46789098d20Schristos    'restrict' keyword consistently with their documentation.
46889098d20Schristos    This may allow future optimizations.
46989098d20Schristos
47089098d20Schristos    zdump again builds standalone with ckdadd and without setenv,
47189098d20Schristos    fixing a bug introduced in 2022g.  (Problem reported by panic.)
47289098d20Schristos
47389098d20Schristos    leapseconds.awk can now process a leap seconds file that never
47489098d20Schristos    expires; this might be useful if leap seconds are discontinued.
47589098d20Schristos
47689098d20Schristos  Changes to commentary
47789098d20Schristos
47889098d20Schristos    tz-link.html has a new section "Coordinating with governments and
47989098d20Schristos    distributors".  (Thanks to Neil Fuller for some of the text.)
48089098d20Schristos
48189098d20Schristos    To improve tzselect diagnostics, zone1970.tab's comments column is
48289098d20Schristos    now limited to countries that have multiple timezones.
48389098d20Schristos
4847d1a89a3Schristos    Note that there are plans to discontinue leap seconds by 2035.
48589098d20Schristos
48689098d20Schristos
487fa7b09b7SchristosRelease 2022g - 2022-11-29 08:58:31 -0800
488fa7b09b7Schristos
489fa7b09b7Schristos  Briefly:
490fa7b09b7Schristos    The northern edge of Chihuahua changes to US timekeeping.
491fa7b09b7Schristos    Much of Greenland stops changing clocks after March 2023.
492fa7b09b7Schristos    Fix some pre-1996 timestamps in northern Canada.
493fa7b09b7Schristos    C89 is now deprecated; please use C99 or later.
494fa7b09b7Schristos    Portability fixes for AIX, libintl, MS-Windows, musl, z/OS
495fa7b09b7Schristos    In C code, use more C23 features if available.
496fa7b09b7Schristos    C23 timegm now supported by default
497fa7b09b7Schristos    Fixes for unlikely integer overflows
498fa7b09b7Schristos
499fa7b09b7Schristos  Changes to future timestamps
500fa7b09b7Schristos
501fa7b09b7Schristos    In the Mexican state of Chihuahua, the border strip near the US
502fa7b09b7Schristos    will change to agree with nearby US locations on 2022-11-30.
503fa7b09b7Schristos    The strip's western part, represented by Ciudad Juárez, switches
504fa7b09b7Schristos    from -06 all year to -07/-06 with US DST rules, like El Paso, TX.
505fa7b09b7Schristos    The eastern part, represented by Ojinaga, will observe US DST next
506fa7b09b7Schristos    year, like Presidio, TX.  (Thanks to Heitor David Pinto.)
507fa7b09b7Schristos    A new Zone America/Ciudad_Juarez splits from America/Ojinaga.
508fa7b09b7Schristos
509fa7b09b7Schristos    Much of Greenland, represented by America/Nuuk, stops observing
510fa7b09b7Schristos    winter time after March 2023, so its daylight saving time becomes
511fa7b09b7Schristos    standard time.  (Thanks to Jonas Nyrup and Jürgen Appel.)
512fa7b09b7Schristos
513fa7b09b7Schristos  Changes to past timestamps
514fa7b09b7Schristos
515fa7b09b7Schristos    Changes for pre-1996 northern Canada (thanks to Chris Walton):
516fa7b09b7Schristos
517fa7b09b7Schristos      Merge America/Iqaluit and America/Pangnirtung into the former,
518fa7b09b7Schristos      with a backward compatibility link for the latter name.
519fa7b09b7Schristos      There is no good evidence the two locations differ since 1970.
520fa7b09b7Schristos      This change affects pre-1996 America/Pangnirtung timestamps.
521fa7b09b7Schristos
522fa7b09b7Schristos      Cambridge Bay, Inuvik, Iqaluit, Rankin Inlet, Resolute and
523fa7b09b7Schristos      Yellowknife did not observe DST in 1965, and did observe DST
524fa7b09b7Schristos      from 1972 through 1979.
525fa7b09b7Schristos
526fa7b09b7Schristos      Whitehorse moved from -09 to -08 on 1966-02-27, not 1967-05-28.
527fa7b09b7Schristos
528fa7b09b7Schristos    Colombia's 1993 fallback was 02-06 24:00, not 04-04 00:00.
529fa7b09b7Schristos    (Thanks to Alois Treindl.)
530fa7b09b7Schristos
531fa7b09b7Schristos    Singapore's 1981-12-31 change was at 16:00 UTC (23:30 local time),
532fa7b09b7Schristos    not 24:00 local time.  (Thanks to Geoff Clare via Robert Elz.)
533fa7b09b7Schristos
534fa7b09b7Schristos  Changes to code
535fa7b09b7Schristos
536fa7b09b7Schristos    Although tzcode still works with C89, bugs found in recent routine
537fa7b09b7Schristos    maintenance indicate that bitrot has set in and that in practice
538fa7b09b7Schristos    C89 is no longer used to build tzcode.  As it is a maintenance
539fa7b09b7Schristos    burden, support for C89 is planned to be removed soon.  Instead,
540fa7b09b7Schristos    please use compilers compatible with C99, C11, C17, or C23.
541fa7b09b7Schristos
542fa7b09b7Schristos    timegm, which tzcode implemented in 1989, will finally be
543fa7b09b7Schristos    standardized 34 years later as part of C23, so timegm is now
544fa7b09b7Schristos    supported even if STD_INSPIRED is not defined.
545fa7b09b7Schristos
546fa7b09b7Schristos    Fix bug in zdump's tzalloc emulation on hosts that lack tm_zone.
547fa7b09b7Schristos    (Problem reported by Đoàn Trần Công Danh.)
548fa7b09b7Schristos
549fa7b09b7Schristos    Fix bug in zic on hosts where malloc(0) yields NULL on success.
550fa7b09b7Schristos    (Problem reported by Tim McBrayer for AIX 6.1.)
551fa7b09b7Schristos
552fa7b09b7Schristos    Fix zic configuration to avoid linkage failures on some platforms.
553fa7b09b7Schristos    (Problems reported by Gilmore Davidson and Igor Ivanov.)
554fa7b09b7Schristos
555fa7b09b7Schristos    Work around MS-Windows nmake incompatibility with POSIX.
556fa7b09b7Schristos    (Problem reported by Manuela Friedrich.)
557fa7b09b7Schristos
558fa7b09b7Schristos    Port mktime and strftime to debugging platforms where accessing
559fa7b09b7Schristos    uninitialized data has undefined behavior (strftime problem
560fa7b09b7Schristos    reported by Robert Elz).
561fa7b09b7Schristos
562fa7b09b7Schristos    Check more carefully for unlikely integer overflows, preferring
563fa7b09b7Schristos    C23 <stdckdint.h> to overflow checking by hand, as the latter has
564fa7b09b7Schristos    had obscure bugs.
565fa7b09b7Schristos
566fa7b09b7Schristos  Changes to build procedure
567fa7b09b7Schristos
568fa7b09b7Schristos    New Makefile rule check_mild that skips checking whether Link
569fa7b09b7Schristos    lines are in the file 'backward'.  (Inspired by a suggestion from
570fa7b09b7Schristos    Stephen Colebourne.)
571fa7b09b7Schristos
57220fbed38Schristos    On C23-compatible platforms tzcode no longer uses syntax like
57320fbed38Schristos    'static [[noreturn]] void usage(void);'.  Instead, it uses
57420fbed38Schristos    '[[noreturn]] static void usage(void);' as strict C23 requires.
57520fbed38Schristos    (Problem reported by Houge Langley.)
57620fbed38Schristos
577fa7b09b7Schristos
5781e7378f8SchristosRelease 2022f - 2022-10-28 18:04:57 -0700
5791e7378f8Schristos
5801e7378f8Schristos  Briefly:
5811e7378f8Schristos    Mexico will no longer observe DST except near the US border.
5821e7378f8Schristos    Chihuahua moves to year-round -06 on 2022-10-30.
5831e7378f8Schristos    Fiji no longer observes DST.
5841e7378f8Schristos    Move links to 'backward'.
5851e7378f8Schristos    In vanguard form, GMT is now a Zone and Etc/GMT a link.
5861e7378f8Schristos    zic now supports links to links, and vanguard form uses this.
5871e7378f8Schristos    Simplify four Ontario zones.
5881e7378f8Schristos    Fix a Y2438 bug when reading TZif data.
5891e7378f8Schristos    Enable 64-bit time_t on 32-bit glibc platforms.
5901e7378f8Schristos    Omit large-file support when no longer needed.
5911e7378f8Schristos    In C code, use some C23 features if available.
5921e7378f8Schristos    Remove no-longer-needed workaround for Qt bug 53071.
5931e7378f8Schristos
594fa7b09b7Schristos  Changes to future timestamps
5951e7378f8Schristos
5961e7378f8Schristos    Mexico will no longer observe DST after 2022, except for areas
5971e7378f8Schristos    near the US border that continue to observe US DST rules.
5981e7378f8Schristos    On 2022-10-30 at 02:00 the Mexican state of Chihuahua moves
5991e7378f8Schristos    from -07 (-06 with DST) to year-round -06, thus not changing
6001e7378f8Schristos    its clocks that day.  The new law states that Chihuahua
6011e7378f8Schristos    near the US border no longer observes US DST.
602fa7b09b7Schristos    (Thanks to gera for the heads-up about Chihuahua.)
6031e7378f8Schristos
6041e7378f8Schristos    Fiji will not observe DST in 2022/3.  (Thanks to Shalvin Narayan.)
6051e7378f8Schristos    For now, assume DST is suspended indefinitely.
6061e7378f8Schristos
6071e7378f8Schristos  Changes to data
6081e7378f8Schristos
6091e7378f8Schristos    Move links to 'backward' to ease and simplify link maintenance.
6101e7378f8Schristos    This affects generated data only if you use 'make BACKWARD='.
6111e7378f8Schristos
6121e7378f8Schristos    GMT is now a Zone and Etc/GMT a link instead of vice versa,
6131e7378f8Schristos    as GMT is needed for leap second support whereas Etc/GMT is not.
6141e7378f8Schristos    However, this change exposes a bug in TZUpdater 2.3.2 so it is
6151e7378f8Schristos    present only in vanguard form for now.
6161e7378f8Schristos
6171e7378f8Schristos    Vanguard form now uses links to links, as zic now supports this.
6181e7378f8Schristos
6191e7378f8Schristos  Changes to past timestamps
6201e7378f8Schristos
6211e7378f8Schristos    Simplify four Ontario zones, as most of the post-1970 differences
6221e7378f8Schristos    seem to have been imaginary.  (Problem reported by Chris Walton.)
6231e7378f8Schristos    Move America/Nipigon, America/Rainy_River, and America/Thunder_Bay
6241e7378f8Schristos    to 'backzone'; backward-compatibility links still work, albeit
6251e7378f8Schristos    with some different timestamps before November 2005.
6261e7378f8Schristos
6271e7378f8Schristos  Changes to code
6281e7378f8Schristos
6291e7378f8Schristos    zic now supports links to links regardless of input line order.
6301e7378f8Schristos    For example, if Australia/Sydney is a Zone, the lines
6311e7378f8Schristos      Link Australia/Canberra Australia/ACT
6321e7378f8Schristos      Link Australia/Sydney Australia/Canberra
6331e7378f8Schristos    now work correctly, even though the shell commands
6341e7378f8Schristos      ln Australia/Canberra Australia/ACT
6351e7378f8Schristos      ln Australia/Sydney Australia/Canberra
6361e7378f8Schristos    would fail because the first command attempts to use a link
6371e7378f8Schristos    Australia/Canberra that does not exist until after the second
6381e7378f8Schristos    command is executed.  Previously, zic had unspecified behavior if
6391e7378f8Schristos    a Link line's target was another link, and zic often misbehaved if
6401e7378f8Schristos    a Link line's target was a later Link line.
6411e7378f8Schristos
6421e7378f8Schristos    Fix line number in zic's diagnostic for a link to a link.
6431e7378f8Schristos
6441e7378f8Schristos    Fix a bug that caused localtime to mishandle timestamps starting
6451e7378f8Schristos    in the year 2438 when reading data generated by 'zic -b fat' when
6461e7378f8Schristos    distant-future DST transitions occur at times given in standard
6471e7378f8Schristos    time or in UT, not the usual case of local time.  This occurs when
6481e7378f8Schristos    the corresponding .zi Rule lines specify DST transitions with TO
6491e7378f8Schristos    columns of 'max' and AT columns that end in 's' or 'u'.  The
6501e7378f8Schristos    number 2438 comes from the 32-bit limit in the year 2038, plus the
6511e7378f8Schristos    400-year Gregorian cycle.  (Problem reported by Bradley White.)
6521e7378f8Schristos
6531e7378f8Schristos    On glibc 2.34 and later, which optionally supports 64-bit time_t
6541e7378f8Schristos    on platforms like x86 where time_t was traditionally 32 bits,
6551e7378f8Schristos    default time_t to 64 instead of 32 bits.  This lets functions like
6561e7378f8Schristos    localtime support timestamps after the year 2038, and fixes
6571e7378f8Schristos    year-2038 problems in zic when accessing files dated after 2038.
6581e7378f8Schristos    To continue to limit time_t to 32 bits on these platforms, use
6591e7378f8Schristos    "make CFLAGS='-D_TIME_BITS=32'".
6601e7378f8Schristos
6611e7378f8Schristos    In C code, do not enable large-file support on platforms like AIX
6621e7378f8Schristos    and macOS that no longer need it now that tzcode does not use
6631e7378f8Schristos    off_t or related functions like 'stat'.  Large-file support is
6641e7378f8Schristos    still enabled by default on GNU/Linux, as it is needed for 64-bit
6651e7378f8Schristos    time_t support.
6661e7378f8Schristos
6671e7378f8Schristos    In C code, prefer C23 keywords to pre-C23 macros for alignof,
6681e7378f8Schristos    bool, false, and true.  Also, use the following C23 features if
6691e7378f8Schristos    available: __has_include, unreachable.
6701e7378f8Schristos
6711e7378f8Schristos    zic no longer works around Qt bug 53071, as the relevant Qt
6721e7378f8Schristos    releases have been out of support since 2019.  This change affects
6731e7378f8Schristos    only fat TZif files, as thin files never had the workaround.
6741e7378f8Schristos
6751e7378f8Schristos    zdump no longer modifies the environ vector when compiled on
6761e7378f8Schristos    platforms lacking tm_zone or when compiled with -DUSE_LTZ=0.
6771e7378f8Schristos    This avoid undefined behavior on POSIX platforms.
6781e7378f8Schristos
6791e7378f8Schristos
68048575108SchristosRelease 2022e - 2022-10-11 11:13:02 -0700
68148575108Schristos
68248575108Schristos  Briefly:
68348575108Schristos    Jordan and Syria switch from +02/+03 with DST to year-round +03.
68448575108Schristos
68548575108Schristos  Changes to future timestamps
68648575108Schristos
68748575108Schristos    Jordan and Syria are abandoning the DST regime and are changing to
68848575108Schristos    permanent +03, so they will not fall back from +03 to +02 on
68948575108Schristos    2022-10-28.  (Thanks to Steffen Thorsen and Issam Al-Zuwairi.)
69048575108Schristos
69148575108Schristos  Changes to past timestamps
69248575108Schristos
69348575108Schristos    On 1922-01-01 Tijuana adopted standard time at 00:00, not 01:00.
69448575108Schristos
69548575108Schristos  Changes to past time zone abbreviations and DST flags
69648575108Schristos
69748575108Schristos    The temporary advancement of clocks in central Mexico in summer
69848575108Schristos    1931 is now treated as daylight saving time, instead of as two
69948575108Schristos    changes to standard time.
70048575108Schristos
70148575108Schristos
70248575108SchristosRelease 2022d - 2022-09-23 12:02:57 -0700
70348575108Schristos
70448575108Schristos  Briefly:
70548575108Schristos    Palestine transitions are now Saturdays at 02:00.
70648575108Schristos    Simplify three Ukraine zones into one.
70748575108Schristos
70848575108Schristos  Changes to future timestamps
70948575108Schristos
71048575108Schristos    Palestine now springs forward and falls back at 02:00 on the
71148575108Schristos    first Saturday on or after March 24 and October 24, respectively.
71248575108Schristos    This means 2022 falls back 10-29 at 02:00, not 10-28 at 01:00.
71348575108Schristos    (Thanks to Heba Hamad.)
71448575108Schristos
71548575108Schristos  Changes to past timestamps
71648575108Schristos
71748575108Schristos    Simplify three Ukraine zones to one, since the post-1970
71848575108Schristos    differences seem to have been imaginary.  Move Europe/Uzhgorod and
71948575108Schristos    Europe/Zaporozhye to 'backzone'; backward-compatibility links
72048575108Schristos    still work, albeit with different timestamps before October 1991.
72148575108Schristos
72248575108Schristos
7238c24072aSchristosRelease 2022c - 2022-08-15 17:47:18 -0700
7248c24072aSchristos
7258c24072aSchristos  Briefly:
7268c24072aSchristos    Work around awk bug in FreeBSD, macOS, etc.
7278c24072aSchristos    Improve tzselect on intercontinental Zones.
7288c24072aSchristos
7298c24072aSchristos  Changes to code
7308c24072aSchristos
7318c24072aSchristos    Work around a bug in onetrueawk that broke commands like
7328c24072aSchristos    'make traditional_tarballs' on FreeBSD, macOS, etc.
7338c24072aSchristos    (Problem reported by Deborah Goldsmith.)
7348c24072aSchristos
7358c24072aSchristos    Add code to tzselect that uses experimental structured comments in
7368c24072aSchristos    zone1970.tab to clarify whether Zones like Africa/Abidjan and
7378c24072aSchristos    Europe/Istanbul cross continent or ocean boundaries.
7388c24072aSchristos    (Inspired by a problem reported by Peter Krefting.)
7398c24072aSchristos
7408c24072aSchristos    Fix bug with 'zic -d /a/b/c' when /a is unwritable but the
7418c24072aSchristos    directory /a/b already exists.
7428c24072aSchristos
7438c24072aSchristos    Remove zoneinfo2tdf.pl, as it was unused and triggered false
7448c24072aSchristos    malware alarms on some email servers.
7458c24072aSchristos
7468c24072aSchristos
7470129e5c6SchristosRelease 2022b - 2022-08-10 15:38:32 -0700
7480129e5c6Schristos
7490129e5c6Schristos  Briefly:
7500129e5c6Schristos    Chile's DST is delayed by a week in September 2022.
7510129e5c6Schristos    Iran no longer observes DST after 2022.
7520129e5c6Schristos    Rename Europe/Kiev to Europe/Kyiv.
7530129e5c6Schristos    New zic -R option
7540129e5c6Schristos    Vanguard form now uses %z.
7550129e5c6Schristos    Finish moving duplicate-since-1970 zones to 'backzone'.
7560129e5c6Schristos    New build option PACKRATLIST
7570129e5c6Schristos    New tailored_tarballs target, replacing rearguard_tarballs
7580129e5c6Schristos
7590129e5c6Schristos  Changes to future timestamps
7600129e5c6Schristos
7610129e5c6Schristos    Chile's 2022 DST start is delayed from September 4 to September 11.
7620129e5c6Schristos    (Thanks to Juan Correa.)
7630129e5c6Schristos
7640129e5c6Schristos    Iran plans to stop observing DST permanently, after it falls back
7650129e5c6Schristos    on 2022-09-21.  (Thanks to Ali Mirjamali.)
7660129e5c6Schristos
7670129e5c6Schristos  Changes to past timestamps
7680129e5c6Schristos
7690129e5c6Schristos    Finish moving to 'backzone' the location-based zones whose
7700129e5c6Schristos    timestamps since 1970 are duplicates; adjust links accordingly.
7710129e5c6Schristos    This change ordinarily affects only pre-1970 timestamps, and with
7720129e5c6Schristos    the new PACKRATLIST option it does not affect any timestamps.
7730129e5c6Schristos    In this round the affected zones are Antarctica/Vostok,
7740129e5c6Schristos    Asia/Brunei, Asia/Kuala_Lumpur, Atlantic/Reykjavik,
7750129e5c6Schristos    Europe/Amsterdam, Europe/Copenhagen, Europe/Luxembourg,
7760129e5c6Schristos    Europe/Monaco, Europe/Oslo, Europe/Stockholm, Indian/Christmas,
7770129e5c6Schristos    Indian/Cocos, Indian/Kerguelen, Indian/Mahe, Indian/Reunion,
7780129e5c6Schristos    Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Pohnpei,
7790129e5c6Schristos    Pacific/Wake and Pacific/Wallis, and the affected links are
7800129e5c6Schristos    Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland, Pacific/Ponape,
7810129e5c6Schristos    Pacific/Truk, and Pacific/Yap.
7820129e5c6Schristos
7830129e5c6Schristos    From fall 1994 through fall 1995, Shanks wrote that Crimea's
7840129e5c6Schristos    DST transitions were at 02:00 standard time, not at 00:00.
7850129e5c6Schristos    (Thanks to Michael Deckers.)
7860129e5c6Schristos
7870129e5c6Schristos    Iran adopted standard time in 1935, not 1946.  In 1977 it observed
7880129e5c6Schristos    DST from 03-21 23:00 to 10-20 24:00; its 1978 transitions were on
7890129e5c6Schristos    03-24 and 08-05, not 03-20 and 10-20; and its spring 1979
7900129e5c6Schristos    transition was on 05-27, not 03-21.
7910129e5c6Schristos    (Thanks to Roozbeh Pournader and Francis Santoni.)
7920129e5c6Schristos
7930129e5c6Schristos    Chile's observance of -04 from 1946-08-29 through 1947-03-31 was
7940129e5c6Schristos    considered DST, not standard time.  Santiago and environs had moved
7950129e5c6Schristos    their clocks back to rejoin the rest of mainland Chile; put this
7960129e5c6Schristos    change at the end of 1946-08-28.  (Thanks to Michael Deckers.)
7970129e5c6Schristos
7980129e5c6Schristos    Some old, small clock transitions have been removed, as people at
7990129e5c6Schristos    the time did not change their clocks.  This affects Asia/Hong_Kong
8000129e5c6Schristos    in 1904, Asia/Ho_Chi_Minh in 1906, and Europe/Dublin in 1880.
8010129e5c6Schristos
8020129e5c6Schristos  Changes to zone name
8030129e5c6Schristos
8040129e5c6Schristos    Rename Europe/Kiev to Europe/Kyiv, as "Kyiv" is more common in
8050129e5c6Schristos    English now.  Spelling of other names in Ukraine has not yet
8060129e5c6Schristos    demonstrably changed in common English practice so for now these
8070129e5c6Schristos    names retain old spellings, as in other countries (e.g.,
8080129e5c6Schristos    Europe/Prague not "Praha", and Europe/Sofia not "Sofiya").
8090129e5c6Schristos
8100129e5c6Schristos  Changes to code
8110129e5c6Schristos
8120129e5c6Schristos    zic has a new option '-R @N' to output explicit transitions < N.
8130129e5c6Schristos    (Need suggested by Almaz Mingaleev.)
8140129e5c6Schristos
8150129e5c6Schristos    'zic -r @N' no longer outputs bad data when N < first transition.
8160129e5c6Schristos    (Problem introduced in 2021d and reported by Peter Krefting.)
8170129e5c6Schristos
8180129e5c6Schristos    zic now checks its input for NUL bytes and unterminated lines, and
8190129e5c6Schristos    now supports input line lengths up to 2048 (not 512) bytes.
8200129e5c6Schristos
8210129e5c6Schristos    gmtime and related code now use the abbreviation "UTC" not "GMT".
8220129e5c6Schristos    POSIX is being revised to require this.
8230129e5c6Schristos
8240129e5c6Schristos    When tzset and related functions set vestigial static variables
8250129e5c6Schristos    like tzname, they now prefer specified timestamps to unspecified ones.
8260129e5c6Schristos    (Problem reported by Almaz Mingaleev.)
8270129e5c6Schristos
8280129e5c6Schristos    zic no longer complains "can't determine time zone abbreviation to
8290129e5c6Schristos    use just after until time" when a transition to a new standard
8308c24072aSchristos    time occurs simultaneously with the first DST fallback transition.
8310129e5c6Schristos
8320129e5c6Schristos  Changes to build procedure
8330129e5c6Schristos
8340129e5c6Schristos    Source data in vanguard form now uses the %z notation, introduced
8350129e5c6Schristos    in release 2015f.  For example, for America/Sao_Paulo vanguard
8360129e5c6Schristos    form contains the zone continuation line "-3:00 Brazil %z", which
8370129e5c6Schristos    is simpler and more reliable than the line "-3:00 Brazil -03/-02"
8380129e5c6Schristos    used in main and rearguard forms.  The plan is for the main form
8390129e5c6Schristos    to use %z eventually; in the meantime maintainers of zi parsers
8400129e5c6Schristos    are encouraged to test the parsers on vanguard.zi.
8410129e5c6Schristos
8420129e5c6Schristos    The Makefile has a new PACKRATLIST option to select a subset of
8430129e5c6Schristos    'backzone'.  For example, 'make PACKRATDATA=backzone
8440129e5c6Schristos    PACKRATLIST=zone.tab' now generates TZif files identical to those
8450129e5c6Schristos    of the global-tz project.
8460129e5c6Schristos
8470129e5c6Schristos    The Makefile has a new tailored_tarballs target for generating
8480129e5c6Schristos    special-purpose tarballs.  It generalizes and replaces the
8490129e5c6Schristos    rearguard_tarballs target and related targets and macros, which
8500129e5c6Schristos    are now obsolescent.
8510129e5c6Schristos
8520129e5c6Schristos    'make install' now defaults LOCALTIME to Factory not GMT,
8530129e5c6Schristos    which means the default abbreviation is now "-00" not "GMT".
8540129e5c6Schristos
8550129e5c6Schristos    Remove the posix_packrat target, marked obsolescent in 2016a.
8560129e5c6Schristos
8570129e5c6Schristos
858e1e57937SchristosRelease 2022a - 2022-03-15 23:02:01 -0700
859e1e57937Schristos
860e1e57937Schristos  Briefly:
861e1e57937Schristos    Palestine will spring forward on 2022-03-27, not -03-26.
862e1e57937Schristos    zdump -v now outputs better failure indications.
863e1e57937Schristos    Bug fixes for code that reads corrupted TZif data.
864e1e57937Schristos
865e1e57937Schristos  Changes to future timestamps
866e1e57937Schristos
867e1e57937Schristos    Palestine will spring forward on 2022-03-27, not 2022-03-26.
868e1e57937Schristos    (Thanks to Heba Hamad.)  Predict future transitions for first
869e1e57937Schristos    Sunday >= March 25.  Additionally, predict fallbacks to be the first
870e1e57937Schristos    Friday on or after October 23, not October's last Friday, to be more
871e1e57937Schristos    consistent with recent practice.  The first differing fallback
872e1e57937Schristos    prediction is on 2025-10-24, not 2025-10-31.
873e1e57937Schristos
874e1e57937Schristos  Changes to past timestamps
875e1e57937Schristos
876e1e57937Schristos    From 1992 through spring 1996, Ukraine's DST transitions were at
877e1e57937Schristos    02:00 standard time, not at 01:00 UTC.  (Thanks to Alois Treindl.)
878e1e57937Schristos
879e1e57937Schristos    Chile's Santiago Mean Time and its LMT precursor have been adjusted
880e1e57937Schristos    eastward by 1 second to align with past and present law.
881e1e57937Schristos
882e1e57937Schristos  Changes to commentary
883e1e57937Schristos
884e1e57937Schristos    Add several references for Chile's 1946/1947 transitions, some of
885e1e57937Schristos    which only affected portions of the country.
886e1e57937Schristos
887e1e57937Schristos  Changes to code
888e1e57937Schristos
889e1e57937Schristos    Fix bug when mktime gets confused by truncated TZif files with
890e1e57937Schristos    unspecified local time.  (Problem reported by Almaz Mingaleev.)
891e1e57937Schristos
892e1e57937Schristos    Fix bug when 32-bit time_t code reads malformed 64-bit TZif data.
893e1e57937Schristos    (Problem reported by Christos Zoulas.)
894e1e57937Schristos
895e1e57937Schristos    When reading a version 2 or later TZif file, the TZif reader now
896e1e57937Schristos    validates the version 1 header and data block only enough to skip
897e1e57937Schristos    over them, as recommended by RFC 8536 section 4.  Also, the TZif
898e1e57937Schristos    reader no longer mistakenly attempts to parse a version 1 TZIf
899e1e57937Schristos    file header as a TZ string.
900e1e57937Schristos
901e1e57937Schristos    zdump -v now outputs "(localtime failed)" and "(gmtime failed)"
902e1e57937Schristos    when local time and UT cannot be determined for a timestamp.
903e1e57937Schristos
904e1e57937Schristos  Changes to build procedure
905e1e57937Schristos
906e1e57937Schristos    Distribution tarballs now use standard POSIX.1-1988 ustar format
907e1e57937Schristos    instead of GNU format.  Although the formats are almost identical
908e1e57937Schristos    for these tarballs, ustar headers' magic fields contain "ustar"
909e1e57937Schristos    instead of "ustar ", and their version fields contain "00" instead
910e1e57937Schristos    of " ".  The two formats are planned to diverge more significantly
911e1e57937Schristos    for tzdb releases after 2242-03-16 12:56:31 UTC, when the ustar
912e1e57937Schristos    format becomes obsolete and the tarballs switch to pax format, an
913e1e57937Schristos    extension of ustar.  For details about these formats, please see
914e1e57937Schristos    "pax - portable archive interchange", IEEE Std 1003.1-2017,
915e1e57937Schristos    <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13>.
916e1e57937Schristos
917e1e57937Schristos
9181b584801SchristosRelease 2021e - 2021-10-21 18:41:00 -0700
9191b584801Schristos
9201b584801Schristos  Changes to future timestamps
9211b584801Schristos
9221b584801Schristos    Palestine will fall back 10-29 (not 10-30) at 01:00.
9231b584801Schristos    (Thanks to P Chan and Heba Hemad.)
9241b584801Schristos
9251b584801Schristos
9261b584801SchristosRelease 2021d - 2021-10-15 13:48:18 -0700
9271b584801Schristos
9281b584801Schristos  Briefly:
9291b584801Schristos    Fiji suspends DST for the 2021/2022 season.
9301b584801Schristos    'zic -r' marks unspecified timestamps with "-00".
9311b584801Schristos
9321b584801Schristos  Changes to future timestamps
9331b584801Schristos
9341b584801Schristos    Fiji will suspend observance of DST for the 2021/2022 season.
9351b584801Schristos    Assume for now that it will return next year.  (Thanks to Jashneel
9361b584801Schristos    Kumar and P Chan.)
9371b584801Schristos
9381b584801Schristos  Changes to code
9391b584801Schristos
9401b584801Schristos    'zic -r' now uses "-00" time zone abbreviations for intervals
9411b584801Schristos    with UT offsets that are unspecified due to -r truncation.
9421b584801Schristos    This implements a change in draft Internet RFC 8536bis.
9431b584801Schristos
9441b584801Schristos
9451b584801SchristosRelease 2021c - 2021-10-01 14:21:49 -0700
9461b584801Schristos
9471b584801Schristos  Briefly:
9481b584801Schristos    Revert most 2021b changes to 'backward'.
9491b584801Schristos    Fix 'zic -b fat' bug in pre-1970 32-bit data.
9501b584801Schristos    Fix two Link line typos.
9511b584801Schristos    Distribute SECURITY file.
9521b584801Schristos
9531b584801Schristos    This release is intended as a bugfix release, to fix compatibility
9541b584801Schristos    problems and typos reported since 2021b was released.
9551b584801Schristos
9561b584801Schristos  Changes to Link directives
9571b584801Schristos
9581b584801Schristos    Revert almost all of 2021b's changes to the 'backward' file,
9591b584801Schristos    by moving Link directives back to where they were in 2021a.
9601b584801Schristos    Although 'zic' doesn't care which source file contains a Link
9611b584801Schristos    directive, some downstream uses ran into trouble with the move.
9621b584801Schristos    (Problem reported by Stephen Colebourne for Joda-Time.)
9631b584801Schristos
9641b584801Schristos    Fix typo that linked Atlantic/Jan_Mayen to the wrong location
9651b584801Schristos    (problem reported by Chris Walton).
9661b584801Schristos
9671b584801Schristos    Fix 'backzone' typo that linked America/Virgin to the wrong
9681b584801Schristos    location (problem reported by Michael Deckers).
9691b584801Schristos
9701b584801Schristos  Changes to code
9711b584801Schristos
9721b584801Schristos    Fix a bug in 'zic -b fat' that caused old timestamps to be
9731b584801Schristos    mishandled in 32-bit-only readers (problem reported by Daniel
9741b584801Schristos    Fischer).
9751b584801Schristos
9761b584801Schristos  Changes to documentation
9771b584801Schristos
9781b584801Schristos    Distribute the SECURITY file (problem reported by Andreas Radke).
9791b584801Schristos
9801b584801Schristos
9811b584801SchristosRelease 2021b - 2021-09-24 16:23:00 -0700
9821b584801Schristos
9831b584801Schristos  Briefly:
9841b584801Schristos    Jordan now starts DST on February's last Thursday.
9851b584801Schristos    Samoa no longer observes DST.
9861b584801Schristos    Merge more location-based Zones whose timestamps agree since 1970.
9871b584801Schristos    Move some backward-compatibility links to 'backward'.
9881b584801Schristos    Rename Pacific/Enderbury to Pacific/Kanton.
9891b584801Schristos    Correct many pre-1993 transitions in Malawi, Portugal, etc.
9901b584801Schristos    zic now creates each output file or link atomically.
9911b584801Schristos    zic -L no longer omits the POSIX TZ string in its output.
9921b584801Schristos    zic fixes for truncation and leap second table expiration.
9931b584801Schristos    zic now follows POSIX for TZ strings using all-year DST.
9941b584801Schristos    Fix some localtime crashes and bugs in obscure cases.
9951b584801Schristos    zdump -v now outputs more-useful boundary cases.
9961b584801Schristos    tzfile.5 better matches a draft successor to RFC 8536.
9971b584801Schristos    A new file SECURITY.
9981b584801Schristos
9991b584801Schristos    This release is prompted by recent announcements by Jordan and Samoa.
10001b584801Schristos    It incorporates many other changes that had accumulated since 2021a.
10011b584801Schristos    However, it omits most proposed changes that merged all Zones
10021b584801Schristos    agreeing since 1970, as concerns were raised about doing too many of
10031b584801Schristos    these changes at once.  It does keeps some of these changes in the
10041b584801Schristos    interest of making tzdb more equitable one step at a time; see
10051b584801Schristos    "Merge more location-based Zones" below.
10061b584801Schristos
10071b584801Schristos  Changes to future timestamps
10081b584801Schristos
10091b584801Schristos    Jordan now starts DST on February's last Thursday.
10101b584801Schristos    (Thanks to Steffen Thorsen.)
10111b584801Schristos
10121b584801Schristos    Samoa no longer observes DST.  (Thanks to Geoffrey D. Bennett.)
10131b584801Schristos
10141b584801Schristos  Changes to zone name
10151b584801Schristos
10161b584801Schristos    Rename Pacific/Enderbury to Pacific/Kanton.  When we added
10171b584801Schristos    Enderbury in 1993, we did not know that it is uninhabited and that
10181b584801Schristos    Kanton (population two dozen) is the only inhabited location in
10190129e5c6Schristos    that timezone.  The old name is now a backward-compatibility link.
10201b584801Schristos
10211b584801Schristos  Changes to past timestamps
10221b584801Schristos
10231b584801Schristos    Correct many pre-1993 transitions, fixing entries originally
10241b584801Schristos    derived from Shanks, Whitman, and Mundell.  The fixes include:
10251b584801Schristos      - Barbados: standard time was introduced in 1911, not 1932; and
10261b584801Schristos	DST was observed in 1942-1944
10271b584801Schristos      - Cook Islands: In 1899 they switched from east to west of GMT,
10281b584801Schristos	celebrating Christmas for two days.  They (and Niue) switched
10291b584801Schristos	to standard time in 1952, not 1901.
10301b584801Schristos      - Guyana: corrected LMT for Georgetown; the introduction of
10311b584801Schristos	standard time in 1911, not 1915; and corrections to 1975 and
10321b584801Schristos	1992 transitions
10331b584801Schristos      - Kanton: uninhabited before 1937-08-31
10341b584801Schristos      - Niue: only observed -11:20 from 1952 through 1964, then went to
10351b584801Schristos        -11 instead of -11:30
10361b584801Schristos      - Portugal: DST was observed in 1950
10371b584801Schristos      - Tonga: corrected LMT; the introduction of standard time in 1945,
10381b584801Schristos        not 1901; and corrections to the transition from +12:20 to +13
10391b584801Schristos        in 1961, not 1941
10401b584801Schristos    Additional fixes to entries in the 'backzone' file include:
10411b584801Schristos      - Enderbury: inhabited only 1860/1885 and 1938-03-06/1942-02-09
10421b584801Schristos      - The Gambia: 1933 and 1942 transitions
10431b584801Schristos      - Malawi: several 1911 through 1925 transitions
10441b584801Schristos      - Sierra Leone: several 1913 through 1941 transitions, and DST
10451b584801Schristos	was NOT observed in 1957 through 1962
10461b584801Schristos    (Thanks to P Chan, Michael Deckers, Alexander Krivenyshev and
10471b584801Schristos    Alois Treindl.)
10481b584801Schristos
10491b584801Schristos    Merge more location-based Zones whose timestamps agree since 1970,
10501b584801Schristos    as pre-1970 timestamps are out of scope.  This is part of a
10511b584801Schristos    process that has been ongoing since 2013.  This does not affect
10521b584801Schristos    post-1970 timestamps, and timezone historians who build with 'make
10531b584801Schristos    PACKRATDATA=backzone' should see no changes to pre-1970 timestamps.
10541b584801Schristos    When merging, keep the most-populous location's data, and move
10551b584801Schristos    data for other locations to 'backzone' with a backward
10561b584801Schristos    link in 'backward'.  For example, move America/Creston data to
10571b584801Schristos    'backzone' with a link in 'backward' from America/Phoenix because
10581b584801Schristos    the two timezones' timestamps agree since 1970; this change
10591b584801Schristos    affects some pre-1968 timestamps in America/Creston because
10601b584801Schristos    Creston and Phoenix disagreed before 1968.  The affected Zones
10611b584801Schristos    are Africa/Accra, America/Atikokan, America/Blanc-Sablon,
10621b584801Schristos    America/Creston, America/Curacao, America/Nassau,
10631b584801Schristos    America/Port_of_Spain, Antarctica/DumontDUrville, and
10641b584801Schristos    Antarctica/Syowa.
10651b584801Schristos
10661b584801Schristos  Changes to maintenance procedure
10671b584801Schristos
10681b584801Schristos    The new file SECURITY covers how to report security-related bugs.
10691b584801Schristos
10701b584801Schristos    Several backward-compatibility links have been moved to the
10711b584801Schristos    'backward' file.  These links, which range from Africa/Addis_Ababa
10721b584801Schristos    to Pacific/Saipan, are only for compatibility with now-obsolete
10731b584801Schristos    guidelines suggesting an entry for every ISO 3166 code.
10741b584801Schristos    The intercontinental convenience links Asia/Istanbul and
10751b584801Schristos    Europe/Nicosia have also been moved to 'backward'.
10761b584801Schristos
10771b584801Schristos  Changes to code
10781b584801Schristos
10791b584801Schristos    zic now creates each output file or link atomically,
10801b584801Schristos    possibly by creating a temporary file and then renaming it.
10811b584801Schristos    This avoids races where a TZ setting would temporarily stop
10821b584801Schristos    working while zic was installing a replacement file or link.
10831b584801Schristos
10841b584801Schristos    zic -L no longer omits the POSIX TZ string in its output.
10851b584801Schristos    Starting with 2020a, zic -L truncated its output according to the
10861b584801Schristos    "Expires" directive or "#expires" comment in the leapseconds file.
10871b584801Schristos    The resulting TZif files omitted daylight saving transitions after
108889098d20Schristos    the leap second table expired, which led to far less accurate
10891b584801Schristos    predictions of times after the expiry.  Although future timestamps
10901b584801Schristos    cannot be converted accurately in the presence of leap seconds, it
10911b584801Schristos    is more accurate to convert near-future timestamps with a few
10921b584801Schristos    seconds error than with an hour error, so zic -L no longer
10931b584801Schristos    truncates output in this way.
10941b584801Schristos
10951b584801Schristos    Instead, when zic -L is given the "Expires" directive, it now
10961b584801Schristos    outputs the expiration by appending a no-change entry to the leap
10971b584801Schristos    second table.  Although this should work well with most TZif
10981b584801Schristos    readers, it does not conform to Internet RFC 8536 and some pickier
10991b584801Schristos    clients (including tzdb 2017c through 2021a) reject it, so
11001b584801Schristos    "Expires" directives are currently disabled by default.  To enable
11011b584801Schristos    them, set the EXPIRES_LINE Makefile variable.  If a TZif file uses
11021b584801Schristos    this new feature it is marked with a new TZif version number 4,
11031b584801Schristos    a format intended to be documented in a successor to RFC 8536.
1104559c967bSchristos    The old-format "#expires" comments are now treated solely as
1105559c967bSchristos    comments and have no effect on the TZif files.
11061b584801Schristos
11071b584801Schristos    zic -L LEAPFILE -r @LO no longer generates an invalid TZif file
11081b584801Schristos    that omits leap second information for the range LO..B when LO
11091b584801Schristos    falls between two leap seconds A and B.  Instead, it generates a
111089098d20Schristos    TZif version 4 file that represents the previously missing
11111b584801Schristos    information.
11121b584801Schristos
11131b584801Schristos    The TZif reader now allows the leap second table to begin with a
11141b584801Schristos    correction other than -1 or +1, and to contain adjacent
11151b584801Schristos    transitions with equal corrections.  This supports TZif version 4.
11161b584801Schristos
11171b584801Schristos    The TZif reader now lets leap seconds occur less than 28 days
11181b584801Schristos    apart.  This supports possible future TZif extensions.
11191b584801Schristos
11201b584801Schristos    Fix bug that caused 'localtime' etc. to crash when TZ was
11211b584801Schristos    set to a all-year DST string like "EST5EDT4,0/0,J365/25" that does
11221b584801Schristos    not conform to POSIX but does conform to Internet RFC 8536.
11231b584801Schristos
11241b584801Schristos    Fix another bug that caused 'localtime' etc. to crash when TZ was
11251b584801Schristos    set to a POSIX-conforming but unusual TZ string like
11261b584801Schristos    "EST5EDT4,0/0,J365/0", where almost all the year is DST.
11271b584801Schristos
11281b584801Schristos    Fix yet another bug that caused 'localtime' etc. to mishandle slim
11291b584801Schristos    TZif files containing leap seconds after the last explicit
11301b584801Schristos    transition in the table, or when handling far-future timestamps
11311b584801Schristos    in slim TZif files lacking leap seconds.
11321b584801Schristos
11331b584801Schristos    Fix localtime misbehavior involving positive leap seconds.
11341b584801Schristos    This change affects only behavior for "right" system time,
11351b584801Schristos    which contains leap seconds, and only if the UT offset is
11361b584801Schristos    not a multiple of 60 seconds when a positive leap second occurs.
11371b584801Schristos    (No such timezone exists in tzdb, luckily.)  Without the fix,
11381b584801Schristos    the timestamp was ambiguous during a positive leap second.
11391b584801Schristos    With the fix, any seconds occurring after a positive leap second
11401b584801Schristos    and within the same localtime minute are counted through 60, not
11411b584801Schristos    through 59; their UT offset (tm_gmtoff) is the same as before.
11421b584801Schristos    Here is how the fix affects timestamps in a timezone with UT
11431b584801Schristos    offset +01:23:45 (5025 seconds) and with a positive leap second at
11441b584801Schristos    1972-06-30 23:59:60 UTC (78796800):
11451b584801Schristos
11461b584801Schristos	time_t    without the fix      with the fix
11471b584801Schristos	78796800  1972-07-01 01:23:45  1972-07-01 01:23:45 (leap second)
11481b584801Schristos	78796801  1972-07-01 01:23:45  1972-07-01 01:23:46
11491b584801Schristos	...
11501b584801Schristos	78796815  1972-07-01 01:23:59  1972-07-01 01:23:60
11511b584801Schristos	78796816  1972-07-01 01:24:00  1972-07-01 01:24:00
11521b584801Schristos
11531b584801Schristos    Fix an unlikely bug that caused 'localtime' etc. to misbehave if
11541b584801Schristos    civil time changes a few seconds before time_t wraps around, when
11551b584801Schristos    leap seconds are enabled.
11561b584801Schristos
11571b584801Schristos    Fix bug in zic -r; in some cases, the dummy time type after the
11581b584801Schristos    last time transition disagreed with the TZ string, contrary to
11591b584801Schristos    Internet RFC 8563 section 3.3.
11601b584801Schristos
11611b584801Schristos    Fix a bug with 'zic -r @X' when X is a negative leap second that
11621b584801Schristos    has a nonnegative correction.  Without the fix, the output file
11631b584801Schristos    was truncated so that X appeared to be a positive leap second.
116489098d20Schristos    Fix a similar, even less likely bug when truncating at a positive
11651b584801Schristos    leap second that has a nonpositive correction.
11661b584801Schristos
11671b584801Schristos    zic -r now reports an error if given rolling leap seconds, as this
11681b584801Schristos    usage has never generally worked and is evidently unused.
11691b584801Schristos
11701b584801Schristos    zic now generates a POSIX-conforming TZ string for TZif files
11711b584801Schristos    where all-year DST is predicted for the indefinite future.
11721b584801Schristos    For example, for all-year Eastern Daylight Time, zic now generates
11731b584801Schristos    "XXX3EDT4,0/0,J365/23" where it previously generated
11741b584801Schristos    "EST5EDT,0/0,J365/25" or "".  (Thanks to Michael Deckers for
11751b584801Schristos    noting the possibility of POSIX conformance.)
11761b584801Schristos
11771b584801Schristos    zic.c no longer requires sys/wait.h (thanks to spazmodius for
11781b584801Schristos    noting it wasn't needed).
11791b584801Schristos
11801b584801Schristos    When reading slim TZif files, zdump no longer mishandles leap
11811b584801Schristos    seconds on the rare platforms where time_t counts leap seconds,
11821b584801Schristos    fixing a bug introduced in 2014g.
11831b584801Schristos
11841b584801Schristos    zdump -v now outputs timestamps at boundaries of what localtime
118589098d20Schristos    and gmtime can represent, instead of the less useful timestamps
11861b584801Schristos    one day after the minimum and one day before the maximum.
11871b584801Schristos    (Thanks to Arthur David Olson for prototype code, and to Manuela
11881b584801Schristos    Friedrich for debugging help.)
11891b584801Schristos
11901b584801Schristos    zdump's -c and -t options are now consistently inclusive for the
11911b584801Schristos    lower time bound and exclusive for the upper.  Formerly they were
11921b584801Schristos    inconsistent.  (Confusion noted by Martin Burnicki.)
11931b584801Schristos
11941b584801Schristos  Changes to build procedure
11951b584801Schristos
11961b584801Schristos    You can now compile with -DHAVE_MALLOC_ERRNO=0 to port to
11971b584801Schristos    non-POSIX hosts where malloc doesn't set errno.
11981b584801Schristos    (Problem reported by Jan Engelhardt.)
11991b584801Schristos
12001b584801Schristos  Changes to documentation
12011b584801Schristos
12021b584801Schristos    tzfile.5 better matches a draft successor to RFC 8536
12031b584801Schristos    <https://datatracker.ietf.org/doc/draft-murchison-rfc8536bis/01/>.
12041b584801Schristos
12051b584801Schristos
1206234ed2b2SchristosRelease 2021a - 2021-01-24 10:54:57 -0800
1207234ed2b2Schristos
1208234ed2b2Schristos  Changes to future timestamps
1209234ed2b2Schristos
1210234ed2b2Schristos    South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
1211234ed2b2Schristos    (Thanks to Steffen Thorsen.)
1212234ed2b2Schristos
1213234ed2b2Schristos
1214234ed2b2SchristosRelease 2020f - 2020-12-29 00:17:46 -0800
1215234ed2b2Schristos
1216234ed2b2Schristos  Change to build procedure
1217234ed2b2Schristos
1218234ed2b2Schristos    'make rearguard_tarballs' no longer generates a bad rearguard.zi,
1219234ed2b2Schristos    fixing a 2020e bug.  (Problem reported by Deborah Goldsmith.)
1220234ed2b2Schristos
1221234ed2b2Schristos
1222234ed2b2SchristosRelease 2020e - 2020-12-22 15:14:34 -0800
1223234ed2b2Schristos
1224234ed2b2Schristos  Briefly:
1225234ed2b2Schristos    Volgograd switches to Moscow time on 2020-12-27 at 02:00.
1226234ed2b2Schristos
1227234ed2b2Schristos  Changes to future timestamps
1228234ed2b2Schristos
1229234ed2b2Schristos    Volgograd changes time zone from +04 to +03 on 2020-12-27 at 02:00.
1230234ed2b2Schristos    (Thanks to Alexander Krivenyshev and Stepan Golosunov.)
1231234ed2b2Schristos
1232234ed2b2Schristos  Changes to past timestamps
1233234ed2b2Schristos
1234234ed2b2Schristos    Correct many pre-1986 transitions, fixing entries originally
1235234ed2b2Schristos    derived from Shanks.  The fixes include:
1236234ed2b2Schristos      - Australia: several 1917 through 1971 transitions
12371b584801Schristos      - The Bahamas: several 1941 through 1945 transitions
1238234ed2b2Schristos      - Bermuda: several 1917 through 1956 transitions
1239234ed2b2Schristos      - Belize: several 1942 through 1968 transitions
1240234ed2b2Schristos      - Ghana: several 1915 through 1956 transitions
1241234ed2b2Schristos      - Israel and Palestine: several 1940 through 1985 transitions
1242234ed2b2Schristos      - Kenya and adjacent: several 1908 through 1960 transitions
1243234ed2b2Schristos      - Nigeria and adjacent: correcting LMT in Lagos, and several 1905
1244234ed2b2Schristos        through 1919 transitions
1245234ed2b2Schristos      - Seychelles: the introduction of standard time in 1907, not 1906
1246234ed2b2Schristos      - Vanuatu: DST in 1973-1974, and a corrected 1984 transition
1247234ed2b2Schristos    (Thanks to P Chan.)
1248234ed2b2Schristos
1249234ed2b2Schristos    Because of the Australia change, Australia/Currie (King Island) is
1250234ed2b2Schristos    no longer needed, as it is identical to Australia/Hobart for all
1251234ed2b2Schristos    timestamps since 1970 and was therefore created by mistake.
1252234ed2b2Schristos    Australia/Currie has been moved to the 'backward' file and its
1253234ed2b2Schristos    corrected data moved to the 'backzone' file.
1254234ed2b2Schristos
1255234ed2b2Schristos  Changes to past time zone abbreviations and DST flags
1256234ed2b2Schristos
1257234ed2b2Schristos    To better match legislation in Turks and Caicos, the 2015 shift to
1258234ed2b2Schristos    year-round observance of -04 is now modeled as AST throughout before
1259234ed2b2Schristos    returning to Eastern Time with US DST in 2018, rather than as
1260234ed2b2Schristos    maintaining EDT until 2015-11-01.  (Thanks to P Chan.)
1261234ed2b2Schristos
1262234ed2b2Schristos  Changes to documentation
1263234ed2b2Schristos
1264234ed2b2Schristos    The zic man page now documents zic's coalescing of transitions
1265234ed2b2Schristos    when a zone falls back just before DST springs forward.
1266234ed2b2Schristos
1267234ed2b2Schristos
1268234ed2b2SchristosRelease 2020d - 2020-10-21 11:24:13 -0700
1269234ed2b2Schristos
1270234ed2b2Schristos  Briefly:
1271234ed2b2Schristos    Palestine ends DST earlier than predicted, on 2020-10-24.
1272234ed2b2Schristos
1273234ed2b2Schristos  Changes to past and future timestamps
1274234ed2b2Schristos
1275234ed2b2Schristos    Palestine ends DST on 2020-10-24 at 01:00, instead of 2020-10-31
1276234ed2b2Schristos    as previously predicted (thanks to Sharef Mustafa.)  Its
1277234ed2b2Schristos    2019-10-26 fall-back was at 00:00, not 01:00 (thanks to Steffen
1278234ed2b2Schristos    Thorsen.)  Its 2015-10-23 transition was at 01:00 not 00:00, and
1279234ed2b2Schristos    its spring 2020 transition was on March 28 at 00:00, not March 27
1280234ed2b2Schristos    (thanks to Pierre Cashon.)  This affects Asia/Gaza and
1281234ed2b2Schristos    Asia/Hebron.  Assume future spring and fall transitions will be on
1282234ed2b2Schristos    the Saturday preceding the last Sunday of March and October,
1283234ed2b2Schristos    respectively.
1284234ed2b2Schristos
1285234ed2b2Schristos
1286d6635c5eSchristosRelease 2020c - 2020-10-16 11:15:53 -0700
1287d6635c5eSchristos
1288d6635c5eSchristos  Briefly:
1289d6635c5eSchristos    Fiji starts DST later than usual, on 2020-12-20.
1290d6635c5eSchristos
1291d6635c5eSchristos  Changes to future timestamps
1292d6635c5eSchristos
1293d6635c5eSchristos    Fiji will start DST on 2020-12-20, instead of 2020-11-08 as
1294d6635c5eSchristos    previously predicted.  DST will still end on 2021-01-17.
1295d6635c5eSchristos    (Thanks to Raymond Kumar and Alan Mintz.)  Assume for now that
1296d6635c5eSchristos    the later-than-usual start date is a one-time departure from the
1297d6635c5eSchristos    recent pattern.
1298d6635c5eSchristos
1299d6635c5eSchristos  Changes to build procedure
1300d6635c5eSchristos
1301d6635c5eSchristos    Rearguard tarballs now contain an empty file pacificnew.
1302d6635c5eSchristos    Some older downstream software expects this file to exist.
1303d6635c5eSchristos    (Problem reported by Mike Cullinan.)
1304d6635c5eSchristos
1305d6635c5eSchristos
13067328cbb4SchristosRelease 2020b - 2020-10-06 18:35:04 -0700
13077328cbb4Schristos
13087328cbb4Schristos  Briefly:
13097328cbb4Schristos    Revised predictions for Morocco's changes starting in 2023.
13107328cbb4Schristos    Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
13117328cbb4Schristos    Macquarie Island has stayed in sync with Tasmania since 2011.
13127328cbb4Schristos    Casey, Antarctica is at +08 in winter and +11 in summer.
13137328cbb4Schristos    zic no longer supports -y, nor the TYPE field of Rules.
13147328cbb4Schristos
13157328cbb4Schristos  Changes to future timestamps
13167328cbb4Schristos
13177328cbb4Schristos    Morocco's spring-forward after Ramadan is now predicted to occur
13187328cbb4Schristos    no sooner than two days after Ramadan, instead of one day.
13197328cbb4Schristos    (Thanks to Milamber.)  The first altered prediction is for 2023,
13207328cbb4Schristos    now predicted to spring-forward on April 30 instead of April 23.
13217328cbb4Schristos
13227328cbb4Schristos  Changes to past and future timestamps
13237328cbb4Schristos
13247328cbb4Schristos   Casey Station, Antarctica has been using +08 in winter and +11 in
13257328cbb4Schristos   summer since 2018.  The most recent transition from +08 to +11 was
13267328cbb4Schristos   2020-10-04 00:01.  Also, Macquarie Island has been staying in
13277328cbb4Schristos   sync with Tasmania since 2011.  (Thanks to Steffen Thorsen.)
13287328cbb4Schristos
13297328cbb4Schristos  Changes to past and future time zone abbreviations and DST flags
13307328cbb4Schristos
13317328cbb4Schristos    Canada's Yukon, represented by America/Whitehorse and
13327328cbb4Schristos    America/Dawson, changes its time zone rules from -08/-07 to
13337328cbb4Schristos    permanent -07 on 2020-11-01, not on 2020-03-08 as 2020a had it.
13347328cbb4Schristos    This change affects only the time zone abbreviation (MST vs PDT)
13357328cbb4Schristos    and daylight saving flag for the period between the two dates.
13367328cbb4Schristos    (Thanks to Andrew G. Smith.)
13377328cbb4Schristos
13387328cbb4Schristos  Changes to past timestamps
13397328cbb4Schristos
13407328cbb4Schristos    Correct several transitions for Hungary for 1918/1983.
13417328cbb4Schristos    For example, the 1983-09-25 fall-back was at 01:00, not 03:00.
13427328cbb4Schristos    (Thanks to Géza Nyáry.)  Also, the 1890 transition to standard
13437328cbb4Schristos    time was on 11-01, not 10-01 (thanks to Michael Deckers).
13447328cbb4Schristos
13457328cbb4Schristos    The 1891 French transition was on March 16, not March 15.  The
13467328cbb4Schristos    1911-03-11 French transition was at midnight, not a minute later.
13477328cbb4Schristos    Monaco's transitions were on 1892-06-01 and 1911-03-29, not
13487328cbb4Schristos    1891-03-15 and 1911-03-11.  (Thanks to Michael Deckers.)
13497328cbb4Schristos
13507328cbb4Schristos  Changes to code
13517328cbb4Schristos
13527328cbb4Schristos    Support for zic's long-obsolete '-y YEARISTYPE' option has been
13537328cbb4Schristos    removed and, with it, so has support for the TYPE field in Rule
13547328cbb4Schristos    lines, which is now reserved for compatibility with earlier zic.
13557328cbb4Schristos    These features were previously deprecated in release 2015f.
13567328cbb4Schristos    (Thanks to Tim Parenti.)
13577328cbb4Schristos
13587328cbb4Schristos    zic now defaults to '-b slim' instead of to '-b fat'.
13597328cbb4Schristos
13607328cbb4Schristos    zic's new '-l -' and '-p -' options uninstall any existing
13617328cbb4Schristos    localtime and posixrules files, respectively.
13627328cbb4Schristos
13637328cbb4Schristos    The undocumented and ineffective tzsetwall function has been
13647328cbb4Schristos    removed.
13657328cbb4Schristos
13667328cbb4Schristos  Changes to build procedure
13677328cbb4Schristos
13687328cbb4Schristos    The Makefile now defaults POSIXRULES to '-', so the posixrules
13697328cbb4Schristos    feature (obsolete as of 2019b) is no longer installed by default.
13707328cbb4Schristos
13717328cbb4Schristos  Changes to documentation and commentary
13727328cbb4Schristos
13737328cbb4Schristos    The long-obsolete files pacificnew, systemv, and yearistype.sh have
13747328cbb4Schristos    been removed from the distribution.  (Thanks to Tim Parenti.)
13757328cbb4Schristos
13767328cbb4Schristos
137714c787bcSchristosRelease 2020a - 2020-04-23 16:03:47 -0700
137814c787bcSchristos
137914c787bcSchristos  Briefly:
138014c787bcSchristos    Morocco springs forward on 2020-05-31, not 2020-05-24.
138114c787bcSchristos    Canada's Yukon advanced to -07 year-round on 2020-03-08.
138214c787bcSchristos    America/Nuuk renamed from America/Godthab.
138314c787bcSchristos    zic now supports expiration dates for leap second lists.
138414c787bcSchristos
138514c787bcSchristos  Changes to future timestamps
138614c787bcSchristos
138714c787bcSchristos    Morocco's second spring-forward transition in 2020 will be May 31,
138814c787bcSchristos    not May 24 as predicted earlier.  (Thanks to Semlali Naoufal.)
138914c787bcSchristos    Adjust future-year predictions to use the first Sunday after the
139014c787bcSchristos    day after Ramadan, not the first Sunday after Ramadan.
139114c787bcSchristos
139214c787bcSchristos    Canada's Yukon, represented by America/Whitehorse and
139314c787bcSchristos    America/Dawson, advanced to -07 year-round, beginning with its
139414c787bcSchristos    spring-forward transition on 2020-03-08, and will not fall back on
139514c787bcSchristos    2020-11-01.  Although a government press release calls this
139614c787bcSchristos    "permanent Pacific Daylight Saving Time", we prefer MST for
139714c787bcSchristos    consistency with nearby Dawson Creek, Creston, and Fort Nelson.
139814c787bcSchristos    (Thanks to Tim Parenti.)
139914c787bcSchristos
140014c787bcSchristos  Changes to past timestamps
140114c787bcSchristos
140214c787bcSchristos    Shanghai observed DST in 1919.  (Thanks to Phake Nick.)
140314c787bcSchristos
140414c787bcSchristos  Changes to timezone identifiers
140514c787bcSchristos
140614c787bcSchristos    To reflect current usage in English better, America/Godthab has
140714c787bcSchristos    been renamed to America/Nuuk.  A backwards-compatibility link
140814c787bcSchristos    remains for the old name.
140914c787bcSchristos
141014c787bcSchristos  Changes to code
141114c787bcSchristos
141214c787bcSchristos    localtime.c no longer mishandles timestamps after the last
141314c787bcSchristos    transition in a TZif file with leap seconds and with daylight
141414c787bcSchristos    saving time transitions projected into the indefinite future.
141514c787bcSchristos    For example, with TZ='America/Los_Angeles' with leap seconds,
141614c787bcSchristos    zdump formerly reported a DST transition on 2038-03-14
141714c787bcSchristos    from 01:59:32.999... to 02:59:33 instead of the correct transition
141814c787bcSchristos    from 01:59:59.999... to 03:00:00.
141914c787bcSchristos
142014c787bcSchristos    zic -L now supports an Expires line in the leapseconds file, and
142114c787bcSchristos    truncates the TZif output accordingly.  This propagates leap
142214c787bcSchristos    second expiration information into the TZif file, and avoids the
142314c787bcSchristos    abovementioned localtime.c bug as well as similar bugs present in
142414c787bcSchristos    many client implementations.  If no Expires line is present, zic
142514c787bcSchristos    -L instead truncates the TZif output based on the #expires comment
142614c787bcSchristos    present in leapseconds files distributed by tzdb 2018f and later;
142714c787bcSchristos    however, this usage is obsolescent.  For now, the distributed
142814c787bcSchristos    leapseconds file has an Expires line that is commented out, so
142914c787bcSchristos    that the file can be fed to older versions of zic which ignore the
143014c787bcSchristos    commented-out line.  Future tzdb distributions are planned to
143114c787bcSchristos    contain a leapseconds file with an Expires line.
143214c787bcSchristos
143314c787bcSchristos    The configuration macros HAVE_TZNAME and USG_COMPAT should now be
143414c787bcSchristos    set to 1 if the system library supports the feature, and 2 if not.
143514c787bcSchristos    As before, these macros are nonzero if tzcode should support the
143614c787bcSchristos    feature, zero otherwise.
143714c787bcSchristos
143814c787bcSchristos    The configuration macro ALTZONE now has the same values with the
143914c787bcSchristos    same meaning as HAVE_TZNAME and USG_COMPAT.
144014c787bcSchristos
144114c787bcSchristos    The code's defense against CRLF in leap-seconds.list is now
144214c787bcSchristos    portable to POSIX awk.  (Problem reported by Deborah Goldsmith.)
144314c787bcSchristos
144414c787bcSchristos    Although the undocumented tzsetwall function is not changed in
144514c787bcSchristos    this release, it is now deprecated in preparation for removal in
144614c787bcSchristos    future releases.  Due to POSIX requirements, tzsetwall has not
144714c787bcSchristos    worked for some time.  Any code that uses it should instead use
144814c787bcSchristos    tzalloc(NULL) or, if portability trumps thread-safety, should
144914c787bcSchristos    unset the TZ environment variable.
145014c787bcSchristos
145114c787bcSchristos  Changes to commentary
145214c787bcSchristos
145314c787bcSchristos    The Îles-de-la-Madeleine and the Listuguj reserve are noted as
145414c787bcSchristos    following America/Halifax, and comments about Yukon's "south" and
145514c787bcSchristos    "north" have been corrected to say "east" and "west".  (Thanks to
145614c787bcSchristos    Jeffery Nichols.)
145714c787bcSchristos
145814c787bcSchristos
145914c787bcSchristosRelease 2019c - 2019-09-11 08:59:48 -0700
146014c787bcSchristos
146114c787bcSchristos  Briefly:
146214c787bcSchristos    Fiji observes DST from 2019-11-10 to 2020-01-12.
146314c787bcSchristos    Norfolk Island starts observing Australian-style DST.
146414c787bcSchristos
146514c787bcSchristos  Changes to future timestamps
146614c787bcSchristos
146714c787bcSchristos    Fiji's next DST transitions will be 2019-11-10 and 2020-01-12
146814c787bcSchristos    instead of 2019-11-03 and 2020-01-19.  (Thanks to Raymond Kumar.)
146914c787bcSchristos    Adjust future guesses accordingly.
147014c787bcSchristos
147114c787bcSchristos    Norfolk Island will observe Australian-style DST starting in
147214c787bcSchristos    spring 2019.  The first transition is on 2019-10-06.  (Thanks to
147314c787bcSchristos    Kyle Czech and Michael Deckers.)
147414c787bcSchristos
147514c787bcSchristos  Changes to past timestamps
147614c787bcSchristos
147714c787bcSchristos    Many corrections to time in Turkey from 1940 through 1985.
147814c787bcSchristos    (Thanks to Oya Vulaş via Alois Treindl, and to Kıvanç Yazan.)
147914c787bcSchristos
148014c787bcSchristos    The Norfolk Island 1975-03-02 transition was at 02:00 standard
148114c787bcSchristos    time, not 02:00 DST.  (Thanks to Michael Deckers.)
148214c787bcSchristos
148314c787bcSchristos    South Korea observed DST from 1948 through 1951.  Although this
148414c787bcSchristos    info was supposed to appear in release 2014j, a typo inadvertently
148514c787bcSchristos    suppressed the change.  (Thanks to Alois Treindl.)
148614c787bcSchristos
148714c787bcSchristos    Detroit observed DST in 1967 and 1968 following the US DST rules,
148814c787bcSchristos    except that its 1967 DST began on June 14 at 00:01.  (Thanks to
148914c787bcSchristos    Alois Treindl for pointing out that the old data entries were
149014c787bcSchristos    probably wrong.)
149114c787bcSchristos
149214c787bcSchristos    Fix several errors in pre-1970 transitions in Perry County, IN.
14931b584801Schristos    (Thanks to Alois Treindl for pointing out the 1967/9 errors.)
149414c787bcSchristos
149514c787bcSchristos    Edmonton did not observe DST in 1967 or 1969.  In 1946 Vancouver
149614c787bcSchristos    ended DST on 09-29 not 10-13, and Vienna ended DST on 10-07 not
149714c787bcSchristos    10-06.  In 1945 Königsberg (now Kaliningrad) switched from +01/+02
149814c787bcSchristos    to +02/+03 on 04-10 not 01-01, and its +02/+03 is abbreviated
14991b584801Schristos    EET/EEST, not CET/CEST.  (Thanks to Alois Treindl.)  In 1946
150014c787bcSchristos    Königsberg switched to +03 on 04-07 not 01-01.
150114c787bcSchristos
150214c787bcSchristos    In 1946 Louisville switched from CST to CDT on 04-28 at 00:01, not
150314c787bcSchristos    01-01 at 00:00.  (Thanks to Alois Treindl and Michael Deckers.)
150414c787bcSchristos    Also, it switched from CST to CDT on 1950-04-30, not 1947-04-27.
150514c787bcSchristos
150614c787bcSchristos    The 1892-05-01 transition in Brussels was at 00:17:30, not at noon.
150714c787bcSchristos    (Thanks to Michael Deckers.)
150814c787bcSchristos
150914c787bcSchristos  Changes to past time zone abbreviations and DST flags
151014c787bcSchristos
151114c787bcSchristos    Hong Kong Winter Time, observed from 1941-10-01 to 1941-12-25,
151214c787bcSchristos    is now flagged as DST and is abbreviated HKWT not HKT.
151314c787bcSchristos
151414c787bcSchristos  Changes to code
151514c787bcSchristos
151614c787bcSchristos    leapseconds.awk now relies only on its input data, rather than
151714c787bcSchristos    also relying on its comments.  (Inspired by code from Dennis
151814c787bcSchristos    Ferguson and Chris Woodbury.)
151914c787bcSchristos
152014c787bcSchristos    The code now defends against CRLFs in leap-seconds.list.
152114c787bcSchristos    (Thanks to Brian Inglis and Chris Woodbury.)
152214c787bcSchristos
152314c787bcSchristos  Changes to documentation and commentary
152414c787bcSchristos
152514c787bcSchristos    theory.html discusses leap seconds.  (Thanks to Steve Summit.)
152614c787bcSchristos
152714c787bcSchristos    Nashville's newspapers dueled about the time of day in the 1950s.
152814c787bcSchristos    (Thanks to John Seigenthaler.)
152914c787bcSchristos
153014c787bcSchristos    Liechtenstein observed Swiss DST in 1941/2.
153114c787bcSchristos    (Thanks to Alois Treindl.)
153214c787bcSchristos
153314c787bcSchristos
15347005738dSchristosRelease 2019b - 2019-07-01 00:09:53 -0700
15357005738dSchristos
15367005738dSchristos  Briefly:
15377005738dSchristos    Brazil no longer observes DST.
15387005738dSchristos    'zic -b slim' outputs smaller TZif files; please try it out.
15397005738dSchristos    Palestine's 2019 spring-forward transition was on 03-29, not 03-30.
15407005738dSchristos
15417005738dSchristos  Changes to future timestamps
15427005738dSchristos
15437005738dSchristos    Brazil has canceled DST and will stay on standard time indefinitely.
15447005738dSchristos    (Thanks to Steffen Thorsen, Marcus Diniz, and Daniel Soares de
15457005738dSchristos    Oliveira.)
15467005738dSchristos
15477005738dSchristos    Predictions for Morocco now go through 2087 instead of 2037, to
15487005738dSchristos    work around a problem on newlib when using TZif files output by
15497005738dSchristos    zic 2019a or earlier.  (Problem reported by David Gauchard.)
15507005738dSchristos
15517005738dSchristos  Changes to past and future timestamps
15527005738dSchristos
15537005738dSchristos    Palestine's 2019 spring transition was 03-29 at 00:00, not 03-30
15547005738dSchristos    at 01:00.  (Thanks to Sharef Mustafa and Even Scharning.)  Guess
15557005738dSchristos    future transitions to be March's last Friday at 00:00.
15567005738dSchristos
15577005738dSchristos  Changes to past timestamps
15587005738dSchristos
15597005738dSchristos    Hong Kong's 1941-06-15 spring-forward transition was at 03:00, not
15607005738dSchristos    03:30.  Its 1945 transition from JST to HKT was on 11-18 at 02:00,
15617005738dSchristos    not 09-15 at 00:00.  In 1946 its spring-forward transition was on
15627005738dSchristos    04-21 at 00:00, not the previous day at 03:30.  From 1946 through
15637005738dSchristos    1952 its fall-back transitions occurred at 04:30, not at 03:30.
15647005738dSchristos    In 1947 its fall-back transition was on 11-30, not 12-30.
15657005738dSchristos    (Thanks to P Chan.)
15667005738dSchristos
15677005738dSchristos  Changes to past time zone abbreviations
15687005738dSchristos
15697005738dSchristos    Italy's 1866 transition to Rome Mean Time was on December 12, not
15707005738dSchristos    September 22.  This affects only the time zone abbreviation for
15717005738dSchristos    Europe/Rome between those dates.  (Thanks to Stephen Trainor and
15727005738dSchristos    Luigi Rosa.)
15737005738dSchristos
15747005738dSchristos  Changes affecting metadata only
15757005738dSchristos
15767005738dSchristos    Add info about the Crimea situation in zone1970.tab and zone.tab.
15777005738dSchristos    (Problem reported by Serhii Demediuk.)
15787005738dSchristos
15797005738dSchristos  Changes to code
15807005738dSchristos
15817005738dSchristos    zic's new -b option supports a way to control data bloat and to
15827005738dSchristos    test for year-2038 bugs in software that reads TZif files.
15837005738dSchristos    'zic -b fat' and 'zic -b slim' generate larger and smaller output;
15847005738dSchristos    for example, changing from fat to slim shrinks the Europe/London
15857005738dSchristos    file from 3648 to 1599 bytes, saving about 56%.  Fat and slim
15867005738dSchristos    files represent the same set of timestamps and use the same TZif
15877005738dSchristos    format as documented in tzfile(5) and in Internet RFC 8536.
15887005738dSchristos    Fat format attempts to work around bugs or incompatibilities in
15897005738dSchristos    older software, notably software that mishandles 64-bit TZif data
15907005738dSchristos    or uses obsolete TZ strings like "EET-2EEST" that lack DST rules.
15917005738dSchristos    Slim format is more efficient and does not work around 64-bit bugs
15927005738dSchristos    or obsolete TZ strings.  Currently zic defaults to fat format
15937005738dSchristos    unless you compile with -DZIC_BLOAT_DEFAULT=\"slim\"; this
15947005738dSchristos    out-of-the-box default is intended to change in future releases
15957005738dSchristos    as the buggy software often mishandles timestamps anyway.
15967005738dSchristos
15977005738dSchristos    zic no longer treats a set of rules ending in 2037 specially.
15987005738dSchristos    Previously, zic assumed that such a ruleset meant that future
15997005738dSchristos    timestamps could not be predicted, and therefore omitted a
16007005738dSchristos    POSIX-like TZ string in the TZif output.  The old behavior is no
16017005738dSchristos    longer needed for current tzdata, and caused problems with newlib
16027005738dSchristos    when used with older tzdata (reported by David Gauchard).
16037005738dSchristos
16047005738dSchristos    zic no longer generates some artifact transitions.  For example,
16057005738dSchristos    Europe/London no longer has a no-op transition in January 1996.
16067005738dSchristos
16077005738dSchristos  Changes to build procedure
16087005738dSchristos
16097005738dSchristos    tzdata.zi now assumes zic 2017c or later.  This shrinks tzdata.zi
16107005738dSchristos    by a percent or so.
16117005738dSchristos
16127005738dSchristos  Changes to documentation and commentary
16137005738dSchristos
16147005738dSchristos    The Makefile now documents the POSIXRULES macro as being obsolete,
16157005738dSchristos    and similarly, zic's -p POSIXRULES option is now documented as
16167005738dSchristos    being obsolete.  Although the POSIXRULES feature still exists and
16177005738dSchristos    works as before, in practice it is rarely used for its intended
16187005738dSchristos    purpose, and it does not work either in the default reference
16197005738dSchristos    implementation (for timestamps after 2037) or in common
16207005738dSchristos    implementations such as GNU/Linux (for contemporary timestamps).
16217005738dSchristos    Since POSIXRULES was designed primarily as a temporary transition
16227005738dSchristos    facility for System V platforms that died off decades ago, it is
16237005738dSchristos    being decommissioned rather than institutionalized.
16247005738dSchristos
16257005738dSchristos    New info on Bonin Islands and Marcus (thanks to Wakaba and Phake Nick).
16267005738dSchristos
16277005738dSchristos
16287005738dSchristosRelease 2019a - 2019-03-25 22:01:33 -0700
162991e14238Schristos
163091e14238Schristos  Briefly:
163191e14238Schristos    Palestine "springs forward" on 2019-03-30 instead of 2019-03-23.
163291e14238Schristos    Metlakatla "fell back" to rejoin Alaska Time on 2019-01-20 at 02:00.
163391e14238Schristos
163491e14238Schristos  Changes to past and future timestamps
163591e14238Schristos
163691e14238Schristos    Palestine will not start DST until 2019-03-30, instead of 2019-03-23 as
163791e14238Schristos    previously predicted.  Adjust our prediction by guessing that spring
163891e14238Schristos    transitions will be between 24 and 30 March, which matches recent practice
163991e14238Schristos    since 2016.  (Thanks to Even Scharning and Tim Parenti.)
164091e14238Schristos
164191e14238Schristos    Metlakatla ended its observance of Pacific standard time,
164291e14238Schristos    rejoining Alaska Time, on 2019-01-20 at 02:00.  (Thanks to Ryan
164391e14238Schristos    Stanley and Tim Parenti.)
164491e14238Schristos
164591e14238Schristos  Changes to past timestamps
164691e14238Schristos
164791e14238Schristos    Israel observed DST in 1980 (08-02/09-13) and 1984 (05-05/08-25).
164891e14238Schristos    (Thanks to Alois Treindl and Isaac Starkman.)
164991e14238Schristos
165091e14238Schristos  Changes to time zone abbreviations
165191e14238Schristos
165291e14238Schristos    Etc/UCT is now a backward-compatibility link to Etc/UTC, instead
165391e14238Schristos    of being a separate zone that generates the abbreviation "UCT",
165491e14238Schristos    which nowadays is typically a typo.  (Problem reported by Isiah
165591e14238Schristos    Meadows.)
165691e14238Schristos
165791e14238Schristos  Changes to code
165891e14238Schristos
165991e14238Schristos    zic now has an -r option to limit the time range of output data.
166091e14238Schristos    For example, 'zic -r @1000000000' limits the output data to
166191e14238Schristos    timestamps starting 1000000000 seconds after the Epoch.
166291e14238Schristos    This helps shrink output size and can be useful for applications
166391e14238Schristos    not needing the full timestamp history, such as TZDIST truncation;
166491e14238Schristos    see Internet RFC 8536 section 5.1.  (Inspired by a feature request
166591e14238Schristos    from Christopher Wong, helped along by bug reports from Wong and
166691e14238Schristos    from Tim Parenti.)
166791e14238Schristos
166891e14238Schristos  Changes to documentation
166991e14238Schristos
167091e14238Schristos    Mention Internet RFC 8536 (February 2019), which documents TZif.
167191e14238Schristos
167291e14238Schristos    tz-link.html now cites tzdata-meta
167391e14238Schristos    <https://tzdata-meta.timtimeonline.com/>.
167491e14238Schristos
167591e14238Schristos
167676c76726SchristosRelease 2018i - 2018-12-30 11:05:43 -0800
1677273e6379Schristos
1678273e6379Schristos  Briefly:
167976c76726Schristos    São Tomé and Príncipe switches from +01 to +00 on 2019-01-01.
1680273e6379Schristos
1681273e6379Schristos  Changes to future timestamps
1682273e6379Schristos
168376c76726Schristos    Due to a change in government, São Tomé and Príncipe switches back
168476c76726Schristos    from +01 to +00 on 2019-01-01 at 02:00.  (Thanks to Vadim
168576c76726Schristos    Nasardinov and Michael Deckers.)
168676c76726Schristos
168776c76726Schristos
168876c76726SchristosRelease 2018h - 2018-12-23 17:59:32 -0800
168976c76726Schristos
169076c76726Schristos  Briefly:
169176c76726Schristos    Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
169276c76726Schristos    New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
169376c76726Schristos    Metlakatla, Alaska observes PST this winter only.
169476c76726Schristos    Guess Morocco will continue to adjust clocks around Ramadan.
169576c76726Schristos    Add predictions for Iran from 2038 through 2090.
169676c76726Schristos
169776c76726Schristos  Changes to future timestamps
169876c76726Schristos
169976c76726Schristos    Guess that Morocco will continue to fall back just before and
170076c76726Schristos    spring forward just after Ramadan, the practice since 2012.
170176c76726Schristos    (Thanks to Maamar Abdelkader.)  This means Morocco will observe
170276c76726Schristos    negative DST during Ramadan in main and vanguard formats, and in
170376c76726Schristos    rearguard format it stays in the +00 timezone and observes
170476c76726Schristos    ordinary DST in all months other than Ramadan.  As before, extend
170576c76726Schristos    this guesswork to the year 2037.  As a consequence, Morocco is
170676c76726Schristos    scheduled to observe three DST transitions in some Gregorian years
170776c76726Schristos    (e.g., 2033) due to the mismatch between the Gregorian and Islamic
170876c76726Schristos    calendars.
170976c76726Schristos
171076c76726Schristos    The table of exact transitions for Iranian DST has been extended.
171176c76726Schristos    It formerly cut off before the year 2038 in a nod to 32-bit time_t.
171276c76726Schristos    It now cuts off before 2091 as there is doubt about how the Persian
171376c76726Schristos    calendar will treat 2091.  This change predicts DST transitions in
171476c76726Schristos    2038-9, 2042-3, and 2046-7 to occur one day later than previously
171576c76726Schristos    predicted.  As before, post-cutoff transitions are approximated.
171676c76726Schristos
171776c76726Schristos  Changes to past and future timestamps
171876c76726Schristos
171976c76726Schristos    Qyzylorda (aka Kyzylorda) oblast in Kazakhstan moved from +06 to
172076c76726Schristos    +05 on 2018-12-21.  This is a zone split as Qostanay (aka
172176c76726Schristos    Kostanay) did not switch, so create a zone Asia/Qostanay.
172276c76726Schristos
172376c76726Schristos    Metlakatla moved from Alaska to Pacific standard time on 2018-11-04.
172476c76726Schristos    It did not change clocks that day and remains on -08 this winter.
172576c76726Schristos    (Thanks to Ryan Stanley.)  It will revert to the usual Alaska
172676c76726Schristos    rules next spring, so this change affects only timestamps
172776c76726Schristos    from 2018-11-04 through 2019-03-10.
172876c76726Schristos
172976c76726Schristos  Change to past timestamps
173076c76726Schristos
173176c76726Schristos    Kwajalein's 1993-08-20 transition from -12 to +12 was at 24:00,
173276c76726Schristos    not 00:00.  I transcribed the time incorrectly from Shanks.
173376c76726Schristos    (Thanks to Phake Nick.)
173476c76726Schristos
173576c76726Schristos    Nauru's 1979 transition was on 02-10 at 02:00, not 05-01 at 00:00.
173676c76726Schristos    (Thanks to Phake Nick.)
173776c76726Schristos
173876c76726Schristos    Guam observed DST irregularly from 1959 through 1977.
173976c76726Schristos    (Thanks to Phake Nick.)
174076c76726Schristos
174176c76726Schristos    Hong Kong observed DST in 1941 starting 06-15 (not 04-01), then on
174276c76726Schristos    10-01 changed standard time to +08:30 (not +08).  Its transition
174376c76726Schristos    back to +08 after WWII was on 1945-09-15, not the previous day.
174476c76726Schristos    Its 1904-10-30 change took effect at 01:00 +08 (not 00:00 LMT).
174576c76726Schristos    (Thanks to Phake Nick, Steve Allen, and Joseph Myers.)  Also,
174676c76726Schristos    its 1952 fallback was on 11-02 (not 10-25).
174776c76726Schristos
174876c76726Schristos    This release contains many changes to timestamps before 1946 due
174976c76726Schristos    to Japanese possession or occupation of Pacific/Chuuk,
175076c76726Schristos    Pacific/Guam, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro,
175176c76726Schristos    Pacific/Nauru, Pacific/Palau, and Pacific/Pohnpei.
175276c76726Schristos    (Thanks to Phake Nick.)
175376c76726Schristos
175476c76726Schristos    Assume that the Spanish East Indies was like the Philippines and
175576c76726Schristos    observed American time until the end of 1844.  This affects
175676c76726Schristos    Pacific/Chuuk, Pacific/Kosrae, Pacific/Palau, and Pacific/Pohnpei.
175776c76726Schristos
175876c76726Schristos  Changes to past tm_isdst flags
175976c76726Schristos
176076c76726Schristos    For the recent Morocco change, the tm_isdst flag should be 1 from
176176c76726Schristos    2018-10-27 00:00 to 2018-10-28 03:00.  (Thanks to Michael Deckers.)
176276c76726Schristos    Give a URL to the official decree.  (Thanks to Matt Johnson.)
176376c76726Schristos
176476c76726Schristos
176576c76726SchristosRelease 2018g - 2018-10-26 22:22:45 -0700
176676c76726Schristos
176776c76726Schristos  Briefly:
176876c76726Schristos    Morocco switches to permanent +01 on 2018-10-28.
176976c76726Schristos
177076c76726Schristos  Changes to future timestamps
177176c76726Schristos
177276c76726Schristos    Morocco switches from +00/+01 to permanent +01 effective 2018-10-28,
177376c76726Schristos    so its clocks will not fall back as previously scheduled.
1774273e6379Schristos    (Thanks to Mohamed Essedik Najd and Brian Inglis.)
1775273e6379Schristos
1776273e6379Schristos  Changes to code
1777273e6379Schristos
1778273e6379Schristos    When generating TZif files with leap seconds, zic no longer uses a
1779273e6379Schristos    format that trips up older 32-bit clients, fixing a bug introduced
1780273e6379Schristos    in 2018f.  (Reported by Daniel Fischer.)  Also, the zic workaround
1781273e6379Schristos    for QTBUG-53071 now also works for TZif files with leap seconds.
1782273e6379Schristos
1783273e6379Schristos    The translator to rearguard format now rewrites the line
1784273e6379Schristos    "Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S" to
1785273e6379Schristos    "Rule Japan 1948 1951 - Sep Sun>=9  1:00 0 S".
1786273e6379Schristos    This caters to zic before 2007 and to Oracle TZUpdater 2.2.0
1787273e6379Schristos    and earlier.  (Reported by Christos Zoulas.)
1788273e6379Schristos
1789273e6379Schristos  Changes to past time zone abbreviations
1790273e6379Schristos
1791273e6379Schristos    Change HDT to HWT/HPT for WWII-era abbreviations in Hawaii.
1792273e6379Schristos    This reverts to 2011h, as the abbreviation change in 2011i was
1793273e6379Schristos    likely inadvertent.
1794273e6379Schristos
1795273e6379Schristos  Changes to documentation
1796273e6379Schristos
1797273e6379Schristos    tzfile.5 has new sections on interoperability issues.
1798273e6379Schristos
1799273e6379Schristos
1800b2b04f7eSchristosRelease 2018f - 2018-10-18 00:14:18 -0700
1801b2b04f7eSchristos
1802b2b04f7eSchristos  Briefly:
1803b2b04f7eSchristos  Volgograd moves from +03 to +04 on 2018-10-28.
1804b2b04f7eSchristos  Fiji ends DST 2019-01-13, not 2019-01-20.
1805b2b04f7eSchristos  Most of Chile changes DST dates, effective 2019-04-06.
1806b2b04f7eSchristos
1807b2b04f7eSchristos  Changes to future timestamps
1808b2b04f7eSchristos
1809b2b04f7eSchristos    Volgograd moves from +03 to +04 on 2018-10-28 at 02:00.
1810b2b04f7eSchristos    (Thanks to Alexander Fetisov and Stepan Golosunov.)
1811b2b04f7eSchristos
1812b2b04f7eSchristos    Fiji ends DST 2019-01-13 instead of the 2019-01-20 previously
1813b2b04f7eSchristos    predicted.  (Thanks to Raymond Kumar.)  Adjust future predictions
1814b2b04f7eSchristos    accordingly.
1815b2b04f7eSchristos
1816b2b04f7eSchristos    Most of Chile will end DST on the first Saturday in April at 24:00 mainland
1817b2b04f7eSchristos    time, and resume DST on the first Saturday in September at 24:00 mainland
1818b2b04f7eSchristos    time.  The changes are effective from 2019-04-06, and do not affect the
1819b2b04f7eSchristos    Magallanes region modeled by America/Punta_Arenas.  (Thanks to Juan Correa
1820b2b04f7eSchristos    and Tim Parenti.)  Adjust future predictions accordingly.
1821b2b04f7eSchristos
1822b2b04f7eSchristos  Changes to past timestamps
1823b2b04f7eSchristos
1824b2b04f7eSchristos    The 2018-05-05 North Korea 30-minute time zone change took place
1825b2b04f7eSchristos    at 23:30 the previous day, not at 00:00 that day.
1826b2b04f7eSchristos
1827b2b04f7eSchristos    China's 1988 spring-forward transition was on April 17, not
1828b2b04f7eSchristos    April 10.  Its DST transitions in 1986/91 were at 02:00, not 00:00.
1829b2b04f7eSchristos    (Thanks to P Chan.)
1830b2b04f7eSchristos
1831b2b04f7eSchristos    Fix several issues for Macau before 1992.  Macau's pre-1904 LMT
1832b2b04f7eSchristos    was off by 10 s.  Macau switched to +08 in 1904 not 1912, and
1833b2b04f7eSchristos    temporarily switched to +09/+10 during World War II.  Macau
1834b2b04f7eSchristos    observed DST in 1942/79, not 1961/80, and there were several
1835b2b04f7eSchristos    errors for transition times and dates.  (Thanks to P Chan.)
1836b2b04f7eSchristos
1837b2b04f7eSchristos    The 1948-1951 fallback transitions in Japan were at 25:00 on
1838b2b04f7eSchristos    September's second Saturday, not at 24:00.  (Thanks to Phake Nick.)
1839b2b04f7eSchristos    zic turns this into 01:00 on the day after September's second
1840b2b04f7eSchristos    Saturday, which is the best that POSIX or C platforms can do.
1841b2b04f7eSchristos
1842b2b04f7eSchristos    Incorporate 1940-1949 Asia/Shanghai DST transitions from a 2014
1843b2b04f7eSchristos    paper by Li Yu, replacing more-questionable data from Shanks.
1844b2b04f7eSchristos
1845b2b04f7eSchristos  Changes to time zone abbreviations
1846b2b04f7eSchristos
1847b2b04f7eSchristos    Use "PST" and "PDT" for Philippine time.  (Thanks to Paul Goyette.)
1848b2b04f7eSchristos
1849b2b04f7eSchristos  Changes to code
1850b2b04f7eSchristos
1851b2b04f7eSchristos    zic now always generates TZif files where time type 0 is used for
1852b2b04f7eSchristos    timestamps before the first transition.  This simplifies the
1853b2b04f7eSchristos    reading of TZif files and should not affect behavior of existing
1854b2b04f7eSchristos    TZif readers because the same set of time types is used; only
1855b2b04f7eSchristos    their internal indexes may have changed.  This affects only the
1856b2b04f7eSchristos    legacy zones EST5EDT, CST6CDT, MST7MDT, PST8PDT, CET, MET, and
1857b2b04f7eSchristos    EET, which previously used nonzero types for these timestamps.
1858b2b04f7eSchristos
1859b2b04f7eSchristos    Because of the type 0 change, zic no longer outputs a dummy
1860b2b04f7eSchristos    transition at time -2**59 (before the Big Bang), as clients should
1861b2b04f7eSchristos    no longer need this to handle historical timestamps correctly.
1862b2b04f7eSchristos    This reverts a change introduced in 2013d and shrinks most TZif
1863b2b04f7eSchristos    files by a few bytes.
1864b2b04f7eSchristos
1865b2b04f7eSchristos    zic now supports negative time-of-day in Rule and Leap lines, e.g.,
1866b2b04f7eSchristos    "Rule X min max - Apr lastSun -6:00 1:00 -" means the transition
1867b2b04f7eSchristos    occurs at 18:00 on the Saturday before the last Sunday in April.
1868b2b04f7eSchristos    This behavior was documented in 2018a but the code did not
1869b2b04f7eSchristos    entirely match the documentation.
1870b2b04f7eSchristos
1871b2b04f7eSchristos    localtime.c no longer requires at least one time type in TZif
1872b2b04f7eSchristos    files that lack transitions or have a POSIX-style TZ string.  This
1873b2b04f7eSchristos    future-proofs the code against possible future extensions to the
1874b2b04f7eSchristos    format that would allow TZif files with POSIX-style TZ strings and
1875b2b04f7eSchristos    without transitions or time types.
1876b2b04f7eSchristos
1877b2b04f7eSchristos    A read-access subscript error in localtime.c has been fixed.
1878b2b04f7eSchristos    It could occur only in TZif files with timecnt == 0, something that
1879b2b04f7eSchristos    does not happen in practice now but could happen in future versions.
1880b2b04f7eSchristos
1881b2b04f7eSchristos    localtime.c no longer ignores TZif POSIX-style TZ strings that
1882b2b04f7eSchristos    specify only standard time.  Instead, these TZ strings now
1883b2b04f7eSchristos    override the default time type for timestamps after the last
1884b2b04f7eSchristos    transition (or for all timestamps if there are no transitions),
1885b2b04f7eSchristos    just as DST strings specifying DST have always done.
1886b2b04f7eSchristos
1887b2b04f7eSchristos    leapseconds.awk now outputs "#updated" and "#expires" comments,
1888b2b04f7eSchristos    and supports leap seconds at the ends of months other than June
1889b2b04f7eSchristos    and December.  (Inspired by suggestions from Chris Woodbury.)
1890b2b04f7eSchristos
1891b2b04f7eSchristos  Changes to documentation
1892b2b04f7eSchristos
1893b2b04f7eSchristos    New restrictions: A Rule name must start with a character that
1894b2b04f7eSchristos    is neither an ASCII digit nor "-" nor "+", and an unquoted name
1895b2b04f7eSchristos    should not use characters in the set "!$%&'()*,/:;<=>?@[\]^`{|}~".
1896b2b04f7eSchristos    The latter restriction makes room for future extensions (a
1897b2b04f7eSchristos    possibility noted by Tom Lane).
1898b2b04f7eSchristos
1899b2b04f7eSchristos    tzfile.5 now documents what time types apply before the first and
1900b2b04f7eSchristos    after the last transition, if any.
1901b2b04f7eSchristos
1902b2b04f7eSchristos    Documentation now uses the spelling "timezone" for a TZ setting
1903b2b04f7eSchristos    that determines timestamp history, and "time zone" for a
1904b2b04f7eSchristos    geographic region currently sharing the same standard time.
1905b2b04f7eSchristos
1906b2b04f7eSchristos    The name "TZif" is now used for the tz binary data format.
1907b2b04f7eSchristos
1908b2b04f7eSchristos    tz-link.htm now mentions the A0 TimeZone Migration utilities.
1909b2b04f7eSchristos    (Thanks to Aldrin Martoq for the link.)
1910b2b04f7eSchristos
1911b2b04f7eSchristos  Changes to build procedure
1912b2b04f7eSchristos
1913b2b04f7eSchristos    New 'make' target 'rearguard_tarballs' to build the rearguard
1914b2b04f7eSchristos    tarball only.  This is a convenience on platforms that lack lzip
1915b2b04f7eSchristos    if you want to build the rearguard tarball.  (Problem reported by
1916b2b04f7eSchristos    Deborah Goldsmith.)
1917b2b04f7eSchristos
1918b2b04f7eSchristos    tzdata.zi is now more stable from release to release.  (Problem
1919b2b04f7eSchristos    noted by Tom Lane.)  It is also a bit shorter.
1920b2b04f7eSchristos
1921b2b04f7eSchristos    tzdata.zi now can contain comment lines documenting configuration
1922b2b04f7eSchristos    information, such as which data format was selected, which input
1923b2b04f7eSchristos    files were used, and how leap seconds are treated.  (Problems
1924b2b04f7eSchristos    noted by Lester Caine and Brian Inglis.)  If the Makefile defaults
1925b2b04f7eSchristos    are used these comment lines are absent, for backward
1926b2b04f7eSchristos    compatibility.  A redistributor intending to alter its copy of the
1927b2b04f7eSchristos    files should also append "-LABEL" to the 'version' file's first
1928b2b04f7eSchristos    line, where "LABEL" identifies the redistributor's change.
1929b2b04f7eSchristos
1930b2b04f7eSchristos
1931cfc8dcb4SchristosRelease 2018e - 2018-05-01 23:42:51 -0700
1932cfc8dcb4Schristos
1933cfc8dcb4Schristos  Briefly:
1934cfc8dcb4Schristos
1935cfc8dcb4Schristos    North Korea switches back to +09 on 2018-05-05.
1936cfc8dcb4Schristos    The main format uses negative DST again, for Ireland etc.
1937cfc8dcb4Schristos    'make tarballs' now also builds a rearguard tarball.
1938cfc8dcb4Schristos    New 's' and 'd' suffixes in SAVE columns of Rule and Zone lines.
1939cfc8dcb4Schristos
1940cfc8dcb4Schristos  Changes to past and future timestamps
1941cfc8dcb4Schristos
1942cfc8dcb4Schristos    North Korea switches back from +0830 to +09 on 2018-05-05.
1943cfc8dcb4Schristos    (Thanks to Kang Seonghoon, Arthur David Olson, Seo Sanghyeon,
1944cfc8dcb4Schristos    and Tim Parenti.)
1945cfc8dcb4Schristos
1946cfc8dcb4Schristos    Bring back the negative-DST changes of 2018a, except be more
1947cfc8dcb4Schristos    compatible with data parsers that do not support negative DST.
1948cfc8dcb4Schristos    Also, this now affects historical timestamps in Namibia and the
1949cfc8dcb4Schristos    former Czechoslovakia, not just Ireland.  The main format now uses
1950cfc8dcb4Schristos    negative DST to model timestamps in Europe/Dublin (from 1971 on),
1951cfc8dcb4Schristos    Europe/Prague (1946/7), and Africa/Windhoek (1994/2017).  This
1952cfc8dcb4Schristos    does not affect UT offsets, only time zone abbreviations and the
1953cfc8dcb4Schristos    tm_isdst flag.  Also, this does not affect rearguard or vanguard
1954cfc8dcb4Schristos    formats; effectively the main format now uses vanguard instead of
1955cfc8dcb4Schristos    rearguard format.  Data parsers that do not support negative DST
1956cfc8dcb4Schristos    can still use data from the rearguard tarball described below.
1957cfc8dcb4Schristos
1958cfc8dcb4Schristos  Changes to build procedure
1959cfc8dcb4Schristos
1960cfc8dcb4Schristos    The command 'make tarballs' now also builds the tarball
1961cfc8dcb4Schristos    tzdataVERSION-rearguard.tar.gz, which is like tzdataVERSION.tar.gz
1962cfc8dcb4Schristos    except that it uses rearguard format intended for trailing-edge
1963cfc8dcb4Schristos    data parsers.
1964cfc8dcb4Schristos
1965cfc8dcb4Schristos  Changes to data format and to code
1966cfc8dcb4Schristos
1967cfc8dcb4Schristos    The SAVE column of Rule and Zone lines can now have an 's' or 'd'
1968cfc8dcb4Schristos    suffix, which specifies whether the adjusted time is standard time
1969cfc8dcb4Schristos    or daylight saving time.  If no suffix is given, daylight saving
1970cfc8dcb4Schristos    time is used if and only if the SAVE column is nonzero; this is
1971cfc8dcb4Schristos    the longstanding behavior.  Although this new feature is not used
1972cfc8dcb4Schristos    in tzdata, it could be used to specify the legal time in Namibia
1973cfc8dcb4Schristos    1994-2017, as opposed to the popular time (see below).
1974cfc8dcb4Schristos
1975cfc8dcb4Schristos  Changes to past timestamps
1976cfc8dcb4Schristos
1977cfc8dcb4Schristos    From 1994 through 2017 Namibia observed DST in winter, not summer.
1978cfc8dcb4Schristos    That is, it used negative DST, as Ireland still does.  This change
1979cfc8dcb4Schristos    does not affect UTC offsets; it affects only the tm_isdst flag and
1980cfc8dcb4Schristos    the abbreviation used during summer, which is now CAT, not WAST.
1981cfc8dcb4Schristos    Although (as noted by Michael Deckers) summer and winter time were
1982cfc8dcb4Schristos    both simply called "standard time" in Namibian law, in common
1983cfc8dcb4Schristos    practice winter time was considered to be DST (as noted by Stephen
1984cfc8dcb4Schristos    Colebourne).  The full effect of this change is only in vanguard
1985b2b04f7eSchristos    and main format; in rearguard format, the tm_isdst flag is still
1986cfc8dcb4Schristos    zero in winter and nonzero in summer.
1987cfc8dcb4Schristos
1988cfc8dcb4Schristos    In 1946/7 Czechoslovakia also observed negative DST in winter.
1989b2b04f7eSchristos    The full effect of this change is only in vanguard and main
1990b2b04f7eSchristos    formats; in rearguard format, it is modeled as plain GMT without
1991cfc8dcb4Schristos    daylight saving.  Also, the dates of some 1944/5 DST transitions
1992cfc8dcb4Schristos    in Czechoslovakia have been changed.
1993cfc8dcb4Schristos
1994cfc8dcb4Schristos
1995cfc8dcb4SchristosRelease 2018d - 2018-03-22 07:05:46 -0700
1996cfc8dcb4Schristos
1997cfc8dcb4Schristos  Briefly:
1998cfc8dcb4Schristos
1999cfc8dcb4Schristos  Palestine starts DST a week earlier in 2018.
2000cfc8dcb4Schristos  Add support for vanguard and rearguard data consumers.
2001cfc8dcb4Schristos  Add subsecond precision to source data format, though not to data.
2002cfc8dcb4Schristos
2003cfc8dcb4Schristos  Changes to future timestamps
2004cfc8dcb4Schristos
2005cfc8dcb4Schristos    In 2018, Palestine starts DST on March 24, not March 31.
2006cfc8dcb4Schristos    Adjust future predictions accordingly.  (Thanks to Sharef Mustafa.)
2007cfc8dcb4Schristos
2008cfc8dcb4Schristos  Changes to past and future timestamps
2009cfc8dcb4Schristos
2010cfc8dcb4Schristos    Casey Station in Antarctica changed from +11 to +08 on 2018-03-11
2011cfc8dcb4Schristos    at 04:00.  (Thanks to Steffen Thorsen.)
2012cfc8dcb4Schristos
2013cfc8dcb4Schristos  Changes to past timestamps
2014cfc8dcb4Schristos
2015cfc8dcb4Schristos    Historical transitions for Uruguay, represented by
2016cfc8dcb4Schristos    America/Montevideo, have been updated per official legal documents,
2017cfc8dcb4Schristos    replacing previous data mainly originating from the inventions of
2018cfc8dcb4Schristos    Shanks & Pottenger.  This has resulted in adjustments ranging from
2019cfc8dcb4Schristos    30 to 90 minutes in either direction over at least two dozen
2020cfc8dcb4Schristos    distinct periods ranging from one day to several years in length.
2021cfc8dcb4Schristos    A mere handful of pre-1991 transitions are unaffected; data since
2022cfc8dcb4Schristos    then has come from more reliable contemporaneous reporting.  These
2023cfc8dcb4Schristos    changes affect various timestamps in 1920-1923, 1936, 1939,
2024cfc8dcb4Schristos    1942-1943, 1959, 1966-1970, 1972, 1974-1980, and 1988-1990.
2025cfc8dcb4Schristos    Additionally, Uruguay's pre-standard-time UT offset has been
2026cfc8dcb4Schristos    adjusted westward by 7 seconds, from UT-03:44:44 to UT-03:44:51, to
2027cfc8dcb4Schristos    match the location of the Observatory of the National Meteorological
2028cfc8dcb4Schristos    Institute in Montevideo.
2029cfc8dcb4Schristos    (Thanks to Jeremie Bonjour, Tim Parenti, and Michael Deckers.)
2030cfc8dcb4Schristos
20311b584801Schristos    East Kiribati skipped New Year's Eve 1994, not New Year's Day 1995.
20321b584801Schristos    (Thanks to Kerry Shetline.)
2033cfc8dcb4Schristos
2034cfc8dcb4Schristos    Fix the 1912-01-01 transition for Portugal and its colonies.
2035cfc8dcb4Schristos    This transition was at 00:00 according to the new UT offset, not
2036cfc8dcb4Schristos    according to the old one.  Also assume that Cape Verde switched on
2037cfc8dcb4Schristos    the same date as the rest, not in 1907.  This affects
2038cfc8dcb4Schristos    Africa/Bissau, Africa/Sao_Tome, Asia/Macau, Atlantic/Azores,
2039cfc8dcb4Schristos    Atlantic/Cape_Verde, Atlantic/Madeira, and Europe/Lisbon.
2040cfc8dcb4Schristos    (Thanks to Michael Deckers.)
2041cfc8dcb4Schristos
2042cfc8dcb4Schristos    Fix an off-by-1 error for pre-1913 timestamps in Jamaica and in
2043cfc8dcb4Schristos    Turks & Caicos.
2044cfc8dcb4Schristos
2045cfc8dcb4Schristos  Changes to past time zone abbreviations
2046cfc8dcb4Schristos
2047cfc8dcb4Schristos    MMT took effect in Uruguay from 1908-06-10, not 1898-06-28.  There
2048cfc8dcb4Schristos    is no clock change associated with the transition.
2049cfc8dcb4Schristos
2050cfc8dcb4Schristos  Changes to build procedure
2051cfc8dcb4Schristos
2052cfc8dcb4Schristos    The new DATAFORM macro in the Makefile lets the installer choose
2053cfc8dcb4Schristos    among three source data formats.  The idea is to lessen downstream
2054cfc8dcb4Schristos    disruption when data formats are improved.
2055cfc8dcb4Schristos
2056cfc8dcb4Schristos    * DATAFORM=vanguard installs from the latest, bleeding-edge
2057cfc8dcb4Schristos      format.  DATAFORM=main (the default) installs from the format
2058cfc8dcb4Schristos      used in the 'africa' etc. files.  DATAFORM=rearguard installs
2059cfc8dcb4Schristos      from a trailing-edge format.  Eventually, elements of today's
2060cfc8dcb4Schristos      vanguard format should move to the main format, and similarly
2061cfc8dcb4Schristos      the main format's features should eventually move to the
2062cfc8dcb4Schristos      rearguard format.
2063cfc8dcb4Schristos
2064cfc8dcb4Schristos    * In the current version, the main and rearguard formats are
2065cfc8dcb4Schristos      identical and match that of 2018c, so this change does not
2066cfc8dcb4Schristos      affect default behavior.  The vanguard format currently contains
2067cfc8dcb4Schristos      one feature not in the main format: negative SAVE values.  This
2068cfc8dcb4Schristos      improves support for Ireland, which uses Irish Standard Time
2069cfc8dcb4Schristos      (IST, UTC+01) in summer and GMT (UTC) in winter.  tzcode has
2070cfc8dcb4Schristos      supported negative SAVE values for decades, and this feature
2071cfc8dcb4Schristos      should move to the main format soon.  However, it will not move
2072cfc8dcb4Schristos      to the rearguard format for quite some time because some
2073cfc8dcb4Schristos      downstream parsers do not support it.
2074cfc8dcb4Schristos
2075cfc8dcb4Schristos    * The build procedure constructs three files vanguard.zi, main.zi,
207691e14238Schristos      and rearguard.zi, one for each format.  Although the files
207791e14238Schristos      represent essentially the same data, they may have minor
207891e14238Schristos      discrepancies that users are not likely to notice.  The files
2079cfc8dcb4Schristos      are intended for downstream data consumers and are not
2080cfc8dcb4Schristos      installed.  Zoneinfo parsers that do not support negative SAVE values
2081cfc8dcb4Schristos      should start using rearguard.zi, so that they will be unaffected
2082cfc8dcb4Schristos      when the negative-DST feature moves from vanguard to main.
2083cfc8dcb4Schristos      Bleeding-edge Zoneinfo parsers that support the new features
2084cfc8dcb4Schristos      already can use vanguard.zi; in this respect, current tzcode is
2085cfc8dcb4Schristos      bleeding-edge.
2086cfc8dcb4Schristos
2087cfc8dcb4Schristos    The Makefile should now be safe for parallelized builds, and 'make
2088cfc8dcb4Schristos    -j to2050new.tzs' is now much faster on a multiprocessor host
2089cfc8dcb4Schristos    with GNU Make.
2090cfc8dcb4Schristos
2091cfc8dcb4Schristos    When built with -DSUPPRESS_TZDIR, the tzcode library no longer
2092cfc8dcb4Schristos    prepends TZDIR/ to file names that do not begin with '/'.  This is
2093cfc8dcb4Schristos    not recommended for general use, due to its security implications.
2094cfc8dcb4Schristos    (From a suggestion by Manuela Friedrich.)
2095cfc8dcb4Schristos
2096cfc8dcb4Schristos  Changes to code
2097cfc8dcb4Schristos
2098cfc8dcb4Schristos    zic now accepts subsecond precision in expressions like
2099cfc8dcb4Schristos    00:19:32.13, which is approximately the legal time of the
2100cfc8dcb4Schristos    Netherlands from 1835 to 1937.  However, because it is
2101cfc8dcb4Schristos    questionable whether the few recorded uses of non-integer offsets
2102cfc8dcb4Schristos    had subsecond precision in practice, there are no plans for tzdata
2103cfc8dcb4Schristos    to use this feature.  (Thanks to Steve Allen for pointing out
2104cfc8dcb4Schristos    the limitations of historical data in this area.)
2105cfc8dcb4Schristos
2106cfc8dcb4Schristos    The code is a bit more portable to MS-Windows.  Installers can
2107cfc8dcb4Schristos    compile with -DRESERVE_STD_EXT_IDS on MS-Windows platforms that
2108cfc8dcb4Schristos    reserve identifiers like 'localtime'.  (Thanks to Manuela
21097005738dSchristos    Friedrich.)
2110cfc8dcb4Schristos
2111cfc8dcb4Schristos  Changes to documentation and commentary
2112cfc8dcb4Schristos
2113cfc8dcb4Schristos    theory.html now outlines tzdb's extensions to POSIX's model for
2114cfc8dcb4Schristos    civil time, and has a section "POSIX features no longer needed"
2115cfc8dcb4Schristos    that lists POSIX API components that are now vestigial.
2116cfc8dcb4Schristos    (From suggestions by Steve Summit.)  It also better distinguishes
2117cfc8dcb4Schristos    time zones from tz regions.  (From a suggestion by Guy Harris.)
2118cfc8dcb4Schristos
2119cfc8dcb4Schristos    Commentary is now more consistent about using the phrase "daylight
2120cfc8dcb4Schristos    saving time", to match the C name tm_isdst.  Daylight saving time
2121cfc8dcb4Schristos    need not occur in summer, and need not have a positive offset from
2122cfc8dcb4Schristos    standard time.
2123cfc8dcb4Schristos
2124cfc8dcb4Schristos    Commentary about historical transitions in Uruguay has been expanded
2125cfc8dcb4Schristos    with links to many relevant legal documents.
2126cfc8dcb4Schristos    (Thanks to Tim Parenti.)
2127cfc8dcb4Schristos
2128cfc8dcb4Schristos    Commentary now uses some non-ASCII characters with Unicode value
2129cfc8dcb4Schristos    less than U+0100, as they can be useful and should work even with
2130cfc8dcb4Schristos    older editors such as XEmacs.
2131cfc8dcb4Schristos
2132cfc8dcb4Schristos
2133cf471610SchristosRelease 2018c - 2018-01-22 23:00:44 -0800
2134cf471610Schristos
2135cf471610Schristos  Briefly:
2136cfc8dcb4Schristos  Revert Irish changes that relied on negative SAVE values.
2137cf471610Schristos
2138cf471610Schristos  Changes to tm_isdst
2139cf471610Schristos
2140cf471610Schristos    Revert the 2018a change to Europe/Dublin.  As before, this change
2141cf471610Schristos    does not affect UT offsets or abbreviations; it affects only
2142cf471610Schristos    whether timestamps are considered to be standard time or
2143cf471610Schristos    daylight-saving time, as expressed in the tm_isdst flag of C's
2144cf471610Schristos    struct tm type.  This reversion is intended to be a temporary
2145cf471610Schristos    workaround for problems discovered with downstream uses of
2146cf471610Schristos    releases 2018a and 2018b, which implemented Irish time by using
2147cfc8dcb4Schristos    negative SAVE values in the Eire rules of the 'europe' file.
2148cfc8dcb4Schristos    Although negative SAVE values have been part of tzcode for many
2149cf471610Schristos    years and are supported by many platforms, they were not
2150cf471610Schristos    documented before 2018a and ICU and OpenJDK do not currently
2151cf471610Schristos    support them.  A mechanism to export data to platforms lacking
2152cf471610Schristos    support for negative DST is planned to be developed before the
2153cf471610Schristos    change is reapplied.  (Problems reported by Deborah Goldsmith and
2154cf471610Schristos    Stephen Colebourne.)
2155cf471610Schristos
2156cf471610Schristos  Changes to past timestamps
2157cf471610Schristos
2158cf471610Schristos    Japanese DST transitions (1948-1951) were Sundays at 00:00, not
2159cf471610Schristos    Saturdays or Sundays at 02:00.  (Thanks to Takayuki Nikai.)
2160cf471610Schristos
2161cf471610Schristos  Changes to build procedure
2162cf471610Schristos
2163cf471610Schristos    The build procedure now works around mawk 1.3.3's lack of support
2164cf471610Schristos    for character class expressions.  (Problem reported by Ohyama.)
2165cf471610Schristos
2166cf471610Schristos
2167cf471610SchristosRelease 2018b - 2018-01-17 23:24:48 -0800
2168cf471610Schristos
2169cf471610Schristos  Briefly:
2170cf471610Schristos  Fix a packaging problem in tz2018a, which was missing 'pacificnew'.
2171cf471610Schristos
2172cf471610Schristos  Changes to build procedure
2173cf471610Schristos
2174cf471610Schristos    The distribution now contains the file 'pacificnew' again.
21750129e5c6Schristos    This file was inadvertently omitted in the 2018a distribution.
2176cf471610Schristos    (Problem reported by Matias Fonzo.)
2177cf471610Schristos
2178cf471610Schristos
2179cf471610SchristosRelease 2018a - 2018-01-12 22:29:21 -0800
2180cf471610Schristos
2181cf471610Schristos  Briefly:
2182cf471610Schristos  São Tomé and Príncipe switched from +00 to +01.
2183cf471610Schristos  Brazil's DST will now start on November's first Sunday.
2184cf471610Schristos  Ireland's standard time is now in the summer, not the winter.
2185cf471610Schristos  Use Debian-style installation locations, instead of 4.3BSD-style.
2186cf471610Schristos  New zic option -t.
2187cf471610Schristos
2188cf471610Schristos  Changes to past and future timestamps
2189cf471610Schristos
2190cf471610Schristos    São Tomé and Príncipe switched from +00 to +01 on 2018-01-01 at
2191cf471610Schristos    01:00.  (Thanks to Steffen Thorsen and Michael Deckers.)
2192cf471610Schristos
2193cf471610Schristos  Changes to future timestamps
2194cf471610Schristos
2195cf471610Schristos    Starting in 2018 southern Brazil will begin DST on November's
2196cf471610Schristos    first Sunday instead of October's third Sunday.  (Thanks to
2197cf471610Schristos    Steffen Thorsen.)
2198cf471610Schristos
2199cf471610Schristos  Changes to past timestamps
2200cf471610Schristos
2201cf471610Schristos    A discrepancy of 4 s in timestamps before 1931 in South Sudan has
2202cf471610Schristos    been corrected.  The 'backzone' and 'zone.tab' files did not agree
2203cf471610Schristos    with the 'africa' and 'zone1970.tab' files.  (Problem reported by
2204cf471610Schristos    Michael Deckers.)
2205cf471610Schristos
2206cf471610Schristos    The abbreviation invented for Bolivia Summer Time (1931-2) is now
2207cf471610Schristos    BST instead of BOST, to be more consistent with the convention
2208cf471610Schristos    used for Latvian Summer Time (1918-9) and for British Summer Time.
2209cf471610Schristos
2210cf471610Schristos  Changes to tm_isdst
2211cf471610Schristos
2212cf471610Schristos    Change Europe/Dublin so that it observes Irish Standard Time (UT
2213cf471610Schristos    +01) in summer and GMT (as negative daylight-saving) in winter,
2214cf471610Schristos    instead of observing standard time (GMT) in winter and Irish
2215cf471610Schristos    Summer Time (UT +01) in summer.  This change does not affect UT
2216cf471610Schristos    offsets or abbreviations; it affects only whether timestamps are
2217cf471610Schristos    considered to be standard time or daylight-saving time, as
2218cf471610Schristos    expressed in the tm_isdst flag of C's struct tm type.
2219cf471610Schristos    (Discrepancy noted by Derick Rethans.)
2220cf471610Schristos
2221cf471610Schristos  Changes to build procedure
2222cf471610Schristos
2223cf471610Schristos    The default installation locations have been changed to mostly
2224cf471610Schristos    match Debian circa 2017, instead of being designed as an add-on to
2225cf471610Schristos    4.3BSD circa 1986.  This affects the Makefile macros TOPDIR,
2226cf471610Schristos    TZDIR, MANDIR, and LIBDIR.  New Makefile macros TZDEFAULT, USRDIR,
2227cf471610Schristos    USRSHAREDIR, BINDIR, ZDUMPDIR, and ZICDIR let installers tailor
2228cf471610Schristos    locations more precisely.  (This responds to suggestions from
2229cf471610Schristos    Brian Inglis and from Steve Summit.)
2230cf471610Schristos
2231cf471610Schristos    The default installation procedure no longer creates the
2232cf471610Schristos    backward-compatibility link US/Pacific-New, which causes
2233cf471610Schristos    confusion during user setup (e.g., see Debian bug 815200).
2234cf471610Schristos    Use 'make BACKWARD="backward pacificnew"' to create the link
2235cf471610Schristos    anyway, for now.  Eventually we plan to remove the link entirely.
2236cf471610Schristos
2237cf471610Schristos    tzdata.zi now contains a version-number comment.
2238cf471610Schristos    (Suggested by Tom Lane.)
2239cf471610Schristos
2240cf471610Schristos    The Makefile now quotes values like BACKWARD more carefully when
2241cf471610Schristos    passing them to the shell.  (Problem reported by Zefram.)
2242cf471610Schristos
2243cf471610Schristos    Builders no longer need to specify -DHAVE_SNPRINTF on platforms
2244cf471610Schristos    that have snprintf and use pre-C99 compilers.  (Problem reported
2245cf471610Schristos    by Jon Skeet.)
2246cf471610Schristos
2247cf471610Schristos  Changes to code
2248cf471610Schristos
2249cf471610Schristos    zic has a new option -t FILE that specifies the location of the
2250cf471610Schristos    file that determines local time when TZ is unset.  The default for
2251cf471610Schristos    this location can be configured via the new TZDEFAULT makefile
2252cf471610Schristos    macro, which defaults to /etc/localtime.
2253cf471610Schristos
2254cf471610Schristos    Diagnostics and commentary now distinguish UT from UTC more
2255cf471610Schristos    carefully; see theory.html for more information about UT vs UTC.
2256cf471610Schristos
2257cf471610Schristos    zic has been ported to GCC 8's -Wstringop-truncation option.
2258cf471610Schristos    (Problem reported by Martin Sebor.)
2259cf471610Schristos
2260cf471610Schristos  Changes to documentation and commentary
2261cf471610Schristos
2262cf471610Schristos    The zic man page now documents the longstanding behavior that
2263cf471610Schristos    times and years can be out of the usual range, with negative times
2264cf471610Schristos    counting backwards from midnight and with year 0 preceding year 1.
2265cf471610Schristos    (Problem reported by Michael Deckers.)
2266cf471610Schristos
2267cf471610Schristos    The theory.html file now mentions the POSIX limit of six chars
2268cf471610Schristos    per abbreviation, and lists alphabetic abbreviations used.
2269cf471610Schristos
2270cf471610Schristos    The files tz-art.htm and tz-link.htm have been renamed to
2271cf471610Schristos    tz-art.html and tz-link.html, respectively, for consistency with
2272cf471610Schristos    other file names and to simplify web server configuration.
2273cf471610Schristos
2274cf471610Schristos
22755f2f4c60SchristosRelease 2017c - 2017-10-20 14:49:34 -0700
22765f2f4c60Schristos
22775f2f4c60Schristos  Briefly:
22785f2f4c60Schristos  Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
22795f2f4c60Schristos  Fiji ends DST 2018-01-14, not 2018-01-21.
22805f2f4c60Schristos  Namibia switches from +01/+02 to +02 on 2018-04-01.
22815f2f4c60Schristos  Sudan switches from +03 to +02 on 2017-11-01.
22825f2f4c60Schristos  Tonga likely switches from +13/+14 to +13 on 2017-11-05.
22835f2f4c60Schristos  Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.
22845f2f4c60Schristos  A new file tzdata.zi now holds a small text copy of all data.
22855f2f4c60Schristos  The zic input format has been regularized slightly.
22865f2f4c60Schristos
22875f2f4c60Schristos  Changes to future timestamps
22885f2f4c60Schristos
22895f2f4c60Schristos    Northern Cyprus has decided to resume EU rules starting
22905f2f4c60Schristos    2017-10-29, thus reinstituting winter time.
22915f2f4c60Schristos
22925f2f4c60Schristos    Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously
22935f2f4c60Schristos    predicted.  (Thanks to Dominic Fok.)  Adjust future predictions
22945f2f4c60Schristos    accordingly.
22955f2f4c60Schristos
22965f2f4c60Schristos    Namibia will switch from +01 with DST to +02 all year on
22975f2f4c60Schristos    2017-09-03 at 02:00.  This affects UT offsets starting 2018-04-01
22985f2f4c60Schristos    at 02:00.  (Thanks to Steffen Thorsen.)
22995f2f4c60Schristos
23005f2f4c60Schristos    Sudan will switch from +03 to +02 on 2017-11-01.  (Thanks to Ahmed
23015f2f4c60Schristos    Atyya and Yahia Abdalla.)  South Sudan is not switching, so
23025f2f4c60Schristos    Africa/Juba is no longer a link to Africa/Khartoum.
23035f2f4c60Schristos
23045f2f4c60Schristos    Tonga has likely ended its experiment with DST, and will not
23055f2f4c60Schristos    adjust its clocks on 2017-11-05.  Although Tonga has not announced
23065f2f4c60Schristos    whether it will continue to observe DST, the IATA is assuming that
23075f2f4c60Schristos    it will not.  (Thanks to David Wade.)
23085f2f4c60Schristos
23095f2f4c60Schristos    Turks & Caicos will switch from -04 all year to -05 with US DST on
23105f2f4c60Schristos    2018-03-11 at 03:00.  This affects UT offsets starting 2018-11-04
23115f2f4c60Schristos    at 02:00.  (Thanks to Steffen Thorsen.)
23125f2f4c60Schristos
23135f2f4c60Schristos  Changes to past timestamps
23145f2f4c60Schristos
23155f2f4c60Schristos    Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03.
23165f2f4c60Schristos    (Thanks to Arthur David Olson.)
23175f2f4c60Schristos
23185f2f4c60Schristos    Detroit did not observe DST in 1967.
23195f2f4c60Schristos
23205f2f4c60Schristos    Use railway time for Asia/Kolkata before 1941, by switching to
23215f2f4c60Schristos    Madras local time (UT +052110) in 1870, then to IST (UT +0530) in
23225f2f4c60Schristos    1906.  Also, treat 1941-2's +0630 as DST, like 1942-5.
23235f2f4c60Schristos
23245f2f4c60Schristos    Europe/Dublin's 1946 and 1947 fallback transitions occurred at
23255f2f4c60Schristos    02:00 standard time, not 02:00 DST.  (Thanks to Michael Deckers.)
23265f2f4c60Schristos
23275f2f4c60Schristos    Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to
23285f2f4c60Schristos    American time in 1892, not 1879.  (Thanks to Michael Deckers.)
23295f2f4c60Schristos
23305f2f4c60Schristos    Adjust the 1867 transition in Alaska to better reflect the
23315f2f4c60Schristos    historical record, by changing it to occur on 1867-10-18 at 15:30
23325f2f4c60Schristos    Sitka time rather than at the start of 1867-10-17 local time.
23335f2f4c60Schristos    Although strictly speaking this is accurate only for Sitka,
23345f2f4c60Schristos    the rest of Alaska's blanks need to be filled in somehow.
23355f2f4c60Schristos
23365f2f4c60Schristos    Fix off-by-one errors in UT offsets for Adak and Nome before 1867.
23375f2f4c60Schristos    (Thanks to Michael Deckers.)
23385f2f4c60Schristos
23395f2f4c60Schristos    Add 7 s to the UT offset in Asia/Yangon before 1920.
23405f2f4c60Schristos
23415f2f4c60Schristos  Changes to zone names
23425f2f4c60Schristos
23435f2f4c60Schristos    Remove Canada/East-Saskatchewan from the 'backward' file, as it
23445f2f4c60Schristos    exceeded the 14-character limit and was an unused misnomer anyway.
23455f2f4c60Schristos
23465f2f4c60Schristos  Changes to build procedure
23475f2f4c60Schristos
23485f2f4c60Schristos    To support applications that prefer to read time zone data in text
23495f2f4c60Schristos    form, two zic input files tzdata.zi and leapseconds are now
23505f2f4c60Schristos    installed by default.  The commands 'zic tzdata.zi' and 'zic -L
23515f2f4c60Schristos    leapseconds tzdata.zi' can reproduce the tzdata binary files
23525f2f4c60Schristos    without and with leap seconds, respectively.  To prevent these two
23535f2f4c60Schristos    new files from being installed, use 'make TZDATA_TEXT=', and to
23545f2f4c60Schristos    suppress leap seconds from the tzdata text installation, use 'make
23555f2f4c60Schristos    TZDATA_TEXT=tzdata.zi'.
23565f2f4c60Schristos
23575f2f4c60Schristos    'make BACKWARD=' now suppresses backward-compatibility names
23585f2f4c60Schristos    like 'US/Pacific' that are defined in the 'backward' and
23595f2f4c60Schristos    'pacificnew' files.
23605f2f4c60Schristos
23615f2f4c60Schristos    'make check' now works on systems that lack a UTF-8 locale,
23625f2f4c60Schristos    or that lack the nsgmls program.  Set UTF8_LOCALE to configure
23635f2f4c60Schristos    the name of a UTF-8 locale, if you have one.
23645f2f4c60Schristos
23655f2f4c60Schristos    Y2K runtime checks are no longer enabled by default.  Add
23665f2f4c60Schristos    -DDEPRECATE_TWO_DIGIT_YEARS to CFLAGS to enable them, instead of
23675f2f4c60Schristos    adding -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU
23685f2f4c60Schristos    to disable them.  (New name suggested by Brian Inglis.)
23695f2f4c60Schristos
23705f2f4c60Schristos    The build procedure for zdump now works on AIX 7.1.
23715f2f4c60Schristos    (Problem reported by Kees Dekker.)
23725f2f4c60Schristos
23735f2f4c60Schristos  Changes to code
23745f2f4c60Schristos
23755f2f4c60Schristos    zic and the reference runtime now reject multiple leap seconds
23765f2f4c60Schristos    within 28 days of each other, or leap seconds before the Epoch.
23775f2f4c60Schristos    As a result, support for double leap seconds, which was
23785f2f4c60Schristos    obsolescent and undocumented, has been removed.  Double leap
23795f2f4c60Schristos    seconds were an error in the C89 standard; they have never existed
23805f2f4c60Schristos    in civil timekeeping.  (Thanks to Robert Elz and Bradley White for
23815f2f4c60Schristos    noticing glitches in the code that uncovered this problem.)
23825f2f4c60Schristos
23835f2f4c60Schristos    zic now warns about use of the obsolescent and undocumented -y
23845f2f4c60Schristos    option, and about use of the obsolescent TYPE field of Rule lines.
23855f2f4c60Schristos
23865f2f4c60Schristos    zic now allows unambiguous abbreviations like "Sa" and "Su" for
23875f2f4c60Schristos    weekdays; formerly it rejected them due to a bug.  Conversely, zic
23885f2f4c60Schristos    no longer considers non-prefixes to be abbreviations; for example,
23895f2f4c60Schristos    it no longer accepts "lF" as an abbreviation for "lastFriday".
23905f2f4c60Schristos    Also, zic warns about the undocumented usage with a "last-"
23915f2f4c60Schristos    prefix, e.g., "last-Fri".
23925f2f4c60Schristos
23935f2f4c60Schristos    Similarly, zic now accepts the unambiguous abbreviation "L" for
23945f2f4c60Schristos    "Link" in ordinary context and for "Leap" in leap-second context.
23955f2f4c60Schristos    Conversely, zic no longer accepts non-prefixes such as "La" as
23965f2f4c60Schristos    abbreviations for words like "Leap".
23975f2f4c60Schristos
23985f2f4c60Schristos    zic no longer accepts leap second lines in ordinary input, or
23995f2f4c60Schristos    ordinary lines in leap second input.  Formerly, zic sometimes
24005f2f4c60Schristos    warned about this undocumented usage and handled it incorrectly.
24015f2f4c60Schristos
24025f2f4c60Schristos    The new macro HAVE_TZNAME governs whether the tzname external
24035f2f4c60Schristos    variable is exported, instead of USG_COMPAT.  USG_COMPAT now
24045f2f4c60Schristos    governs only the external variables "timezone" and "daylight".
24055f2f4c60Schristos    This change is needed because the three variables are not in the
24065f2f4c60Schristos    same category: although POSIX requires tzname, it specifies the
24075f2f4c60Schristos    other two variables as optional.  Also, USG_COMPAT is now 1 or 0:
24085f2f4c60Schristos    if not defined, the code attempts to guess it from other macros.
24095f2f4c60Schristos
24105f2f4c60Schristos    localtime.c and difftime.c no longer require stdio.h, and .c files
24115f2f4c60Schristos    other than zic.c no longer require sys/wait.h.
24125f2f4c60Schristos
24135f2f4c60Schristos    zdump.c no longer assumes snprintf.  (Reported by Jonathan Leffler.)
24145f2f4c60Schristos
24155f2f4c60Schristos    Calculation of time_t extrema works around a bug in GCC 4.8.4
24165f2f4c60Schristos    (Reported by Stan Shebs and Joseph Myers.)
24175f2f4c60Schristos
24185f2f4c60Schristos    zic.c no longer mistranslates formats of line numbers in non-English
24195f2f4c60Schristos    locales.  (Problem reported by Benno Schulenberg.)
24205f2f4c60Schristos
24215f2f4c60Schristos    Several minor changes have been made to the code to make it a
24225f2f4c60Schristos    bit easier to port to MS-Windows and Solaris.  (Thanks to Kees
24235f2f4c60Schristos    Dekker for reporting the problems.)
24245f2f4c60Schristos
24255f2f4c60Schristos  Changes to documentation and commentary
24265f2f4c60Schristos
24275f2f4c60Schristos    The two new files 'theory.html' and 'calendars' contain the
24285f2f4c60Schristos    contents of the removed file 'Theory'.  The goal is to document
24295f2f4c60Schristos    tzdb theory more accessibly.
24305f2f4c60Schristos
24315f2f4c60Schristos    The zic man page now documents abbreviation rules.
24325f2f4c60Schristos
24335f2f4c60Schristos    tz-link.htm now covers how to apply tzdata changes to clients.
24345f2f4c60Schristos    (Thanks to Jorge Fábregas for the AIX link.)  It also mentions MySQL.
24355f2f4c60Schristos
24365f2f4c60Schristos    The leap-seconds.list URL has been updated to something that is
24375f2f4c60Schristos    more reliable for tzdb.  (Thanks to Tim Parenti and Brian Inglis.)
24385f2f4c60Schristos
24391e4359e8SchristosRelease 2017b - 2017-03-17 07:30:38 -0700
24401e4359e8Schristos
24411e4359e8Schristos  Briefly: Haiti has resumed DST.
24421e4359e8Schristos
24431e4359e8Schristos  Changes to past and future timestamps
24441e4359e8Schristos
24451e4359e8Schristos    Haiti resumed observance of DST in 2017.  (Thanks to Steffen Thorsen.)
24461e4359e8Schristos
24471e4359e8Schristos  Changes to past timestamps
24481e4359e8Schristos
24491e4359e8Schristos    Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01.
24501e4359e8Schristos
24511e4359e8Schristos    Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430"
24521e4359e8Schristos    is one byte over the POSIX limit.  (Problem reported by Derick Rethans.)
24531e4359e8Schristos
24545f2f4c60Schristos  Changes to code
24555f2f4c60Schristos
24565f2f4c60Schristos    The reference localtime implementation now falls back on the
24575f2f4c60Schristos    current US daylight-saving transition rules rather than the
24585f2f4c60Schristos    1987-2006 rules.  This fallback occurs only when (1) the TZ
2459b2b04f7eSchristos    environment variable has a value like "AST4ADT" that asks
24605f2f4c60Schristos    for daylight saving time but does not specify the rules, (2) there
24615f2f4c60Schristos    is no file by that name, and (3) the TZDEFRULES file cannot be
24625f2f4c60Schristos    loaded.  (Thanks to Tom Lane.)
24635f2f4c60Schristos
24641e4359e8Schristos
246520e5bd19SchristosRelease 2017a - 2017-02-28 00:05:36 -0800
246620e5bd19Schristos
246720e5bd19Schristos  Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia
246820e5bd19Schristos  discontinues DST.
246920e5bd19Schristos
247020e5bd19Schristos  Changes to future timestamps
247120e5bd19Schristos
247220e5bd19Schristos    Mongolia no longer observes DST.  (Thanks to Ganbold Tsagaankhuu.)
247320e5bd19Schristos
247420e5bd19Schristos    Chile's Region of Magallanes moves from -04/-03 to -03 year-round.
247520e5bd19Schristos    Its clocks diverge from America/Santiago starting 2017-05-13 at
247620e5bd19Schristos    23:00, hiving off a new zone America/Punta_Arenas.  Although the
247720e5bd19Schristos    Chilean government says this change expires in May 2019, for now
247820e5bd19Schristos    assume it's permanent.  (Thanks to Juan Correa and Deborah
247920e5bd19Schristos    Goldsmith.)  This also affects Antarctica/Palmer.
248020e5bd19Schristos
248120e5bd19Schristos  Changes to past timestamps
248220e5bd19Schristos
248320e5bd19Schristos    Fix many entries for historical timestamps for Europe/Madrid
248420e5bd19Schristos    before 1979, to agree with tables compiled by Pere Planesas of the
248520e5bd19Schristos    National Astronomical Observatory of Spain.  As a side effect,
248620e5bd19Schristos    this changes some timestamps for Africa/Ceuta before 1929, which
248720e5bd19Schristos    are probably guesswork anyway.  (Thanks to Steve Allen and
248820e5bd19Schristos    Pierpaolo Bernardi for the heads-ups, and to Michael Deckers for
248920e5bd19Schristos    correcting the 1901 transition.)
249020e5bd19Schristos
249120e5bd19Schristos    Ecuador observed DST from 1992-11-28 to 1993-02-05.
249220e5bd19Schristos    (Thanks to Alois Treindl.)
249320e5bd19Schristos
249420e5bd19Schristos    Asia/Atyrau and Asia/Oral were at +03 (not +04) before 1930-06-21.
249520e5bd19Schristos    (Thanks to Stepan Golosunov.)
249620e5bd19Schristos
249720e5bd19Schristos  Changes to past and future time zone abbreviations
249820e5bd19Schristos
249920e5bd19Schristos    Switch to numeric time zone abbreviations for South America, as
250020e5bd19Schristos    part of the ongoing project of removing invented abbreviations.
250120e5bd19Schristos    This avoids the need to invent an abbreviation for the new Chilean
250220e5bd19Schristos    new zone.  Similarly, switch from invented to numeric time zone
250320e5bd19Schristos    abbreviations for Afghanistan, American Samoa, the Azores,
250420e5bd19Schristos    Bangladesh, Bhutan, the British Indian Ocean Territory, Brunei,
250520e5bd19Schristos    Cape Verde, Chatham Is, Christmas I, Cocos (Keeling) Is, Cook Is,
250620e5bd19Schristos    Dubai, East Timor, Eucla, Fiji, French Polynesia, Greenland,
250720e5bd19Schristos    Indochina, Iran, Iraq, Kiribati, Lord Howe, Macquarie, Malaysia,
250820e5bd19Schristos    the Maldives, Marshall Is, Mauritius, Micronesia, Mongolia,
250920e5bd19Schristos    Myanmar, Nauru, Nepal, New Caledonia, Niue, Norfolk I, Palau,
251020e5bd19Schristos    Papua New Guinea, the Philippines, Pitcairn, Qatar, Réunion, St
251120e5bd19Schristos    Pierre & Miquelon, Samoa, Saudi Arabia, Seychelles, Singapore,
251220e5bd19Schristos    Solomon Is, Tokelau, Tuvalu, Wake, Vanuatu, Wallis & Futuna, and
251320e5bd19Schristos    Xinjiang; for 20-minute daylight saving time in Ghana before 1943;
251420e5bd19Schristos    for half-hour daylight saving time in Belize before 1944 and in
251520e5bd19Schristos    the Dominican Republic before 1975; and for Canary Islands before
251620e5bd19Schristos    1946, for Guinea-Bissau before 1975, for Iceland before 1969, for
251720e5bd19Schristos    Indian Summer Time before 1942, for Indonesia before around 1964,
251820e5bd19Schristos    for Kenya before 1960, for Liberia before 1973, for Madeira before
251920e5bd19Schristos    1967, for Namibia before 1943, for the Netherlands in 1937-9, for
252020e5bd19Schristos    Pakistan before 1971, for Western Sahara before 1977, and for
252120e5bd19Schristos    Zaporozhye in 1880-1924.
252220e5bd19Schristos
252320e5bd19Schristos    For Alaska time from 1900 through 1967, instead of "CAT" use the
252420e5bd19Schristos    abbreviation "AST", the abbreviation commonly used at the time
252520e5bd19Schristos    (Atlantic Standard Time had not been standardized yet).  Use "AWT"
252620e5bd19Schristos    and "APT" instead of the invented abbreviations "CAWT" and "CAPT".
252720e5bd19Schristos
252820e5bd19Schristos    Use "CST" and "CDT" instead of invented abbreviations for Macau
252920e5bd19Schristos    before 1999 and Taiwan before 1938, and use "JST" instead of the
253020e5bd19Schristos    invented abbreviation "JCST" for Japan and Korea before 1938.
253120e5bd19Schristos
253220e5bd19Schristos  Change to database entry category
253320e5bd19Schristos
253420e5bd19Schristos    Move the Pacific/Johnston link from 'australasia' to 'backward',
253520e5bd19Schristos    since Johnston is now uninhabited.
253620e5bd19Schristos
253720e5bd19Schristos  Changes to code
253820e5bd19Schristos
253920e5bd19Schristos    zic no longer mishandles some transitions in January 2038 when it
254020e5bd19Schristos    attempts to work around Qt bug 53071.  This fixes a bug affecting
254120e5bd19Schristos    Pacific/Tongatapu that was introduced in zic 2016e.  localtime.c
254220e5bd19Schristos    now contains a workaround, useful when loading a file generated by
254320e5bd19Schristos    a buggy zic.  (Problem and localtime.c fix reported by Bradley
254420e5bd19Schristos    White.)
254520e5bd19Schristos
254620e5bd19Schristos    zdump -i now outputs non-hour numeric time zone abbreviations
254720e5bd19Schristos    without a colon, e.g., "+0530" rather than "+05:30".  This agrees
254820e5bd19Schristos    with zic %z and with common practice, and simplifies auditing of
254920e5bd19Schristos    zdump output.
255020e5bd19Schristos
255120e5bd19Schristos    zdump is now buildable again with -DUSE_LTZ=0.
255220e5bd19Schristos    (Problem reported by Joseph Myers.)
255320e5bd19Schristos
255420e5bd19Schristos    zdump.c now always includes private.h, to avoid code duplication
255520e5bd19Schristos    with private.h.  (Problem reported by Kees Dekker.)
255620e5bd19Schristos
255720e5bd19Schristos    localtime.c no longer mishandles early or late timestamps
255820e5bd19Schristos    when TZ is set to a POSIX-style string that specifies DST.
255920e5bd19Schristos    (Problem reported by Kees Dekker.)
256020e5bd19Schristos
256120e5bd19Schristos    date and strftime now cause %z to generate "-0000" instead of
256220e5bd19Schristos    "+0000" when the UT offset is zero and the time zone abbreviation
256320e5bd19Schristos    begins with "-".
256420e5bd19Schristos
256520e5bd19Schristos  Changes to documentation and commentary
256620e5bd19Schristos
256720e5bd19Schristos    The 'Theory' file now better documents choice of historical time
256820e5bd19Schristos    zone abbreviations.  (Problems reported by Michael Deckers.)
256920e5bd19Schristos
257020e5bd19Schristos    tz-link.htm now covers leap smearing, which is popular in clouds.
257120e5bd19Schristos
257220e5bd19Schristos
257320e5bd19SchristosRelease 2016j - 2016-11-22 23:17:13 -0800
257420e5bd19Schristos
257520e5bd19Schristos  Briefly: Saratov, Russia moves from +03 to +04 on 2016-12-04.
257620e5bd19Schristos
257720e5bd19Schristos  Changes to future timestamps
257820e5bd19Schristos
257920e5bd19Schristos    Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00.
258020e5bd19Schristos    This hives off a new zone Europe/Saratov from Europe/Volgograd.
258120e5bd19Schristos    (Thanks to Yuri Konotopov and Stepan Golosunov.)
258220e5bd19Schristos
258320e5bd19Schristos  Changes to past timestamps
258420e5bd19Schristos
258520e5bd19Schristos    The new zone Asia/Atyrau for Atyraū Region, Kazakhstan, is like
258620e5bd19Schristos    Asia/Aqtau except it switched from +05/+06 to +04/+05 in spring
258720e5bd19Schristos    1999, not fall 1994.  (Thanks to Stepan Golosunov.)
258820e5bd19Schristos
258920e5bd19Schristos  Changes to past time zone abbreviations
259020e5bd19Schristos
259120e5bd19Schristos    Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote
259220e5bd19Schristos    summer time before 1948.  The old use of "EET" was a typo.
259320e5bd19Schristos
259420e5bd19Schristos  Changes to code
259520e5bd19Schristos
259620e5bd19Schristos    zic no longer mishandles file systems that lack hard links, fixing
259720e5bd19Schristos    bugs introduced in 2016g.  (Problems reported by Tom Lane.)
259820e5bd19Schristos    Also, when the destination already contains symbolic links, zic
259920e5bd19Schristos    should now work better on systems where the 'link' system call
260020e5bd19Schristos    does not follow symbolic links.
260120e5bd19Schristos
260220e5bd19Schristos  Changes to documentation and commentary
260320e5bd19Schristos
260420e5bd19Schristos    tz-link.htm now documents the relationship between release version
260520e5bd19Schristos    numbers and development-repository commit tags.  (Suggested by
260620e5bd19Schristos    Paul Koning.)
260720e5bd19Schristos
260820e5bd19Schristos    The 'Theory' file now documents UT.
260920e5bd19Schristos
261020e5bd19Schristos    iso3166.tab now accents "Curaçao", and commentary now mentions
261120e5bd19Schristos    the names "Cabo Verde" and "Czechia".  (Thanks to Jiří Boháč.)
261220e5bd19Schristos
261320e5bd19Schristos
2614aafaa3c4SchristosRelease 2016i - 2016-11-01 23:19:52 -0700
2615aafaa3c4Schristos
2616aafaa3c4Schristos  Briefly: Cyprus split into two time zones on 2016-10-30, and Tonga
2617aafaa3c4Schristos  reintroduces DST on 2016-11-06.
2618aafaa3c4Schristos
2619aafaa3c4Schristos  Changes to future timestamps
2620aafaa3c4Schristos
2621aafaa3c4Schristos    Pacific/Tongatapu begins DST on 2016-11-06 at 02:00, ending on
2622aafaa3c4Schristos    2017-01-15 at 03:00.  Assume future observances in Tonga will be
2623aafaa3c4Schristos    from the first Sunday in November through the third Sunday in
2624aafaa3c4Schristos    January, like Fiji.  (Thanks to Pulu ʻAnau.)  Switch to numeric
2625aafaa3c4Schristos    time zone abbreviations for this zone.
2626aafaa3c4Schristos
2627aafaa3c4Schristos  Changes to past and future timestamps
2628aafaa3c4Schristos
2629aafaa3c4Schristos    Northern Cyprus is now +03 year round, causing a split in Cyprus
2630aafaa3c4Schristos    time zones starting 2016-10-30 at 04:00.  This creates a zone
2631aafaa3c4Schristos    Asia/Famagusta.  (Thanks to Even Scharning and Matt Johnson.)
2632aafaa3c4Schristos
2633aafaa3c4Schristos    Antarctica/Casey switched from +08 to +11 on 2016-10-22.
2634aafaa3c4Schristos    (Thanks to Steffen Thorsen.)
2635aafaa3c4Schristos
2636aafaa3c4Schristos  Changes to past timestamps
2637aafaa3c4Schristos
2638aafaa3c4Schristos    Several corrections were made for pre-1975 timestamps in Italy.
2639aafaa3c4Schristos    These affect Europe/Malta, Europe/Rome, Europe/San_Marino, and
2640aafaa3c4Schristos    Europe/Vatican.
2641aafaa3c4Schristos
2642aafaa3c4Schristos    First, the 1893-11-01 00:00 transition in Italy used the new UT
2643aafaa3c4Schristos    offset (+01), not the old (+00:49:56).  (Thanks to Michael
2644aafaa3c4Schristos    Deckers.)
2645aafaa3c4Schristos
2646aafaa3c4Schristos    Second, rules for daylight saving in Italy were changed to agree
2647aafaa3c4Schristos    with Italy's National Institute of Metrological Research (INRiM)
2648aafaa3c4Schristos    except for 1944, as follows (thanks to Pierpaolo Bernardi, Brian
2649aafaa3c4Schristos    Inglis, and Michael Deckers):
2650aafaa3c4Schristos
2651aafaa3c4Schristos      The 1916-06-03 transition was at 24:00, not 00:00.
2652aafaa3c4Schristos
2653aafaa3c4Schristos      The 1916-10-01, 1919-10-05, and 1920-09-19 transitions were at
2654aafaa3c4Schristos      00:00, not 01:00.
2655aafaa3c4Schristos
2656aafaa3c4Schristos      The 1917-09-30 and 1918-10-06 transitions were at 24:00, not
2657aafaa3c4Schristos      01:00.
2658aafaa3c4Schristos
2659aafaa3c4Schristos      The 1944-09-17 transition was at 03:00, not 01:00.  This
2660aafaa3c4Schristos      particular change is taken from Italian law as INRiM's table,
2661aafaa3c4Schristos      (which says 02:00) appears to have a typo here.  Also, keep the
2662aafaa3c4Schristos      1944-04-03 transition for Europe/Rome, as Rome was controlled by
2663aafaa3c4Schristos      Germany then.
2664aafaa3c4Schristos
2665aafaa3c4Schristos      The 1967-1970 and 1972-1974 fallback transitions were at 01:00,
2666aafaa3c4Schristos      not 00:00.
2667aafaa3c4Schristos
2668aafaa3c4Schristos  Changes to code
2669aafaa3c4Schristos
2670aafaa3c4Schristos    The code should now be buildable on AmigaOS merely by setting the
2671aafaa3c4Schristos    appropriate Makefile variables.  (From a patch by Carsten Larsen.)
2672aafaa3c4Schristos
2673aafaa3c4Schristos
2674af580f3aSchristosRelease 2016h - 2016-10-19 23:17:57 -0700
2675af580f3aSchristos
2676af580f3aSchristos  Changes to future timestamps
2677af580f3aSchristos
2678af580f3aSchristos    Asia/Gaza and Asia/Hebron end DST on 2016-10-29 at 01:00, not
2679af580f3aSchristos    2016-10-21 at 00:00.  (Thanks to Sharef Mustafa.)  Predict that
2680af580f3aSchristos    future fall transitions will be on the last Saturday of October
2681af580f3aSchristos    at 01:00, which is consistent with predicted spring transitions
2682af580f3aSchristos    on the last Saturday of March.  (Thanks to Tim Parenti.)
2683af580f3aSchristos
2684af580f3aSchristos  Changes to past timestamps
2685af580f3aSchristos
2686af580f3aSchristos    In Turkey, transitions in 1986-1990 were at 01:00 standard time
2687af580f3aSchristos    not at 02:00, and the spring 1994 transition was on March 20, not
2688af580f3aSchristos    March 27.  (Thanks to Kıvanç Yazan.)
2689af580f3aSchristos
2690af580f3aSchristos  Changes to past and future time zone abbreviations
2691af580f3aSchristos
2692af580f3aSchristos    Asia/Colombo now uses numeric time zone abbreviations like "+0530"
2693af580f3aSchristos    instead of alphabetic ones like "IST" and "LKT".  Various
2694af580f3aSchristos    English-language sources use "IST", "LKT" and "SLST", with no
2695af580f3aSchristos    working consensus.  (Usage of "SLST" mentioned by Sadika
2696af580f3aSchristos    Sumanapala.)
2697af580f3aSchristos
2698af580f3aSchristos  Changes to code
2699af580f3aSchristos
2700af580f3aSchristos    zic no longer mishandles relativizing file names when creating
2701af580f3aSchristos    symbolic links like /etc/localtime, when these symbolic links
2702af580f3aSchristos    are outside the usual directory hierarchy.  This fixes a bug
2703af580f3aSchristos    introduced in 2016g.  (Problem reported by Andreas Stieger.)
2704af580f3aSchristos
2705af580f3aSchristos  Changes to build procedure
2706af580f3aSchristos
2707af580f3aSchristos    New rules 'traditional_tarballs' and 'traditional_signatures' for
2708af580f3aSchristos    building just the traditional-format distribution.  (Requested by
2709af580f3aSchristos    Deborah Goldsmith.)
2710af580f3aSchristos
2711af580f3aSchristos    The file 'version' is now put into the tzdata tarball too.
2712af580f3aSchristos    (Requested by Howard Hinnant.)
2713af580f3aSchristos
2714af580f3aSchristos  Changes to documentation and commentary
2715af580f3aSchristos
2716af580f3aSchristos    The 'Theory' file now has a section on interface stability.
2717af580f3aSchristos    (Requested by Paul Koning.)  It also mentions features like
2718af580f3aSchristos    tm_zone and localtime_rz that have long been supported by the
2719af580f3aSchristos    reference code.
2720af580f3aSchristos
2721af580f3aSchristos    tz-link.htm has improved coverage of time zone boundaries suitable
2722af580f3aSchristos    for geolocation.  (Thanks to heads-ups from Evan Siroky and Matt
2723af580f3aSchristos    Johnson.)
2724af580f3aSchristos
2725af580f3aSchristos    The US commentary now mentions Allen and the "day of two noons".
2726af580f3aSchristos
2727af580f3aSchristos    The Fiji commentary mentions the government's 2016-10-03 press
2728af580f3aSchristos    release.  (Thanks to Raymond Kumar.)
2729af580f3aSchristos
2730af580f3aSchristos
27319551d334SchristosRelease 2016g - 2016-09-13 08:56:38 -0700
27329551d334Schristos
27339551d334Schristos  Changes to future timestamps
27349551d334Schristos
27359551d334Schristos    Turkey switched from EET/EEST (+02/+03) to permanent +03,
27369551d334Schristos    effective 2016-09-07.  (Thanks to Burak AYDIN.)  Use "+03" rather
27379551d334Schristos    than an invented abbreviation for the new time.
27389551d334Schristos
27399551d334Schristos    New leap second 2016-12-31 23:59:60 UTC as per IERS Bulletin C 52.
27409551d334Schristos    (Thanks to Tim Parenti.)
27419551d334Schristos
27429551d334Schristos  Changes to past timestamps
27439551d334Schristos
27449551d334Schristos    For America/Los_Angeles, spring-forward transition times have been
27459551d334Schristos    corrected from 02:00 to 02:01 in 1948, and from 02:00 to 01:00 in
27469551d334Schristos    1950-1966.
27479551d334Schristos
27489551d334Schristos    For zones using Soviet time on 1919-07-01, transitions to UT-based
27499551d334Schristos    time were at 00:00 UT, not at 02:00 local time.  The affected
27509551d334Schristos    zones are Europe/Kirov, Europe/Moscow, Europe/Samara, and
27519551d334Schristos    Europe/Ulyanovsk.  (Thanks to Alexander Belopolsky.)
27529551d334Schristos
27539551d334Schristos  Changes to past and future time zone abbreviations
27549551d334Schristos
27559551d334Schristos    The Factory zone now uses the time zone abbreviation -00 instead
27569551d334Schristos    of a long English-language string, as -00 is now the normal way to
27579551d334Schristos    represent an undefined time zone.
27589551d334Schristos
27599551d334Schristos    Several zones in Antarctica and the former Soviet Union, along
27609551d334Schristos    with zones intended for ships at sea that cannot use POSIX TZ
27619551d334Schristos    strings, now use numeric time zone abbreviations instead of
27629551d334Schristos    invented or obsolete alphanumeric abbreviations.  The affected
27639551d334Schristos    zones are Antarctica/Casey, Antarctica/Davis,
27649551d334Schristos    Antarctica/DumontDUrville, Antarctica/Mawson, Antarctica/Rothera,
27659551d334Schristos    Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok,
27669551d334Schristos    Asia/Anadyr, Asia/Ashgabat, Asia/Baku, Asia/Bishkek, Asia/Chita,
27679551d334Schristos    Asia/Dushanbe, Asia/Irkutsk, Asia/Kamchatka, Asia/Khandyga,
27689551d334Schristos    Asia/Krasnoyarsk, Asia/Magadan, Asia/Omsk, Asia/Sakhalin,
27699551d334Schristos    Asia/Samarkand, Asia/Srednekolymsk, Asia/Tashkent, Asia/Tbilisi,
27709551d334Schristos    Asia/Ust-Nera, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg,
27719551d334Schristos    Asia/Yerevan, Etc/GMT-14, Etc/GMT-13, Etc/GMT-12, Etc/GMT-11,
27729551d334Schristos    Etc/GMT-10, Etc/GMT-9, Etc/GMT-8, Etc/GMT-7, Etc/GMT-6, Etc/GMT-5,
27739551d334Schristos    Etc/GMT-4, Etc/GMT-3, Etc/GMT-2, Etc/GMT-1, Etc/GMT+1, Etc/GMT+2,
27749551d334Schristos    Etc/GMT+3, Etc/GMT+4, Etc/GMT+5, Etc/GMT+6, Etc/GMT+7, Etc/GMT+8,
27759551d334Schristos    Etc/GMT+9, Etc/GMT+10, Etc/GMT+11, Etc/GMT+12, Europe/Kaliningrad,
27769551d334Schristos    Europe/Minsk, Europe/Samara, Europe/Volgograd, and
27779551d334Schristos    Indian/Kerguelen.  For Europe/Moscow the invented abbreviation MSM
27789551d334Schristos    was replaced by +05, whereas MSK and MSD were kept as they are not
27799551d334Schristos    our invention and are widely used.
27809551d334Schristos
27819551d334Schristos  Changes to zone names
27829551d334Schristos
27839551d334Schristos    Rename Asia/Rangoon to Asia/Yangon, with a backward compatibility link.
27849551d334Schristos    (Thanks to David Massoud.)
27859551d334Schristos
27869551d334Schristos  Changes to code
27879551d334Schristos
27889551d334Schristos    zic no longer generates binary files containing POSIX TZ-like
27899551d334Schristos    strings that disagree with the local time type after the last
27909551d334Schristos    explicit transition in the data.  This fixes a bug with
2791b2b04f7eSchristos    Africa/Casablanca and Africa/El_Aaiun in some year-2037 timestamps
2792b2b04f7eSchristos    on the reference platform.  (Thanks to Alexander Belopolsky for
2793b2b04f7eSchristos    reporting the bug and suggesting a way forward.)
27949551d334Schristos
27959551d334Schristos    If the installed localtime and/or posixrules files are symbolic
27969551d334Schristos    links, zic now keeps them symbolic links when updating them, for
27979551d334Schristos    compatibility with platforms like OpenSUSE where other programs
27989551d334Schristos    configure these files as symlinks.
27999551d334Schristos
28009551d334Schristos    zic now avoids hard linking to symbolic links, avoids some
28019551d334Schristos    unnecessary mkdir and stat system calls, and uses shorter file
28029551d334Schristos    names internally.
28039551d334Schristos
28049551d334Schristos    zdump has a new -i option to generate transitions in a
280589098d20Schristos    smaller but still human-readable format.  This option is
28069551d334Schristos    experimental, and the output format may change in future versions.
28079551d334Schristos    (Thanks to Jon Skeet for suggesting that an option was needed,
28089551d334Schristos    and thanks to Tim Parenti and Chris Rovick for further comments.)
28099551d334Schristos
28109551d334Schristos  Changes to build procedure
28119551d334Schristos
28129551d334Schristos    An experimental distribution format is available, in addition
28139551d334Schristos    to the traditional format which will continue to be distributed.
28149551d334Schristos    The new format is a tarball tzdb-VERSION.tar.lz with signature
28159551d334Schristos    file tzdb-VERSION.tar.lz.asc.  It unpacks to a top-level directory
28169551d334Schristos    tzdb-VERSION containing the code and data of the traditional
28179551d334Schristos    two-tarball format, along with extra data that may be useful.
28189551d334Schristos    (Thanks to Antonio Diaz Diaz, Oscar van Vlijmen, and many others
28199551d334Schristos    for comments about the experimental format.)
28209551d334Schristos
28219551d334Schristos    The release version number is now more accurate in the usual case
28229551d334Schristos    where releases are built from a Git repository.  For example, if
28239551d334Schristos    23 commits and some working-file changes have been made since
28249551d334Schristos    release 2016g, the version number is now something like
28259551d334Schristos    '2016g-23-g50556e3-dirty' instead of the misleading '2016g'.
282620e5bd19Schristos    Tagged releases use the same version number format as before,
282789098d20Schristos    e.g., '2016g'.  To support the more accurate version number, its
28289551d334Schristos    specification has moved from a line in the Makefile to a new
28299551d334Schristos    source file 'version'.
28309551d334Schristos
28319551d334Schristos    The experimental distribution contains a file to2050.tzs that
28329551d334Schristos    contains what should be the output of 'zdump -i -c 2050' on
28339551d334Schristos    primary zones.  If this file is available, 'make check' now checks
28349551d334Schristos    that zdump generates this output.
28359551d334Schristos
28369551d334Schristos    'make check_web' now works on Fedora-like distributions.
28379551d334Schristos
28389551d334Schristos  Changes to documentation and commentary
28399551d334Schristos
28409551d334Schristos    tzfile.5 now documents the new restriction on POSIX TZ-like
28419551d334Schristos    strings that is now implemented by zic.
28429551d334Schristos
28439551d334Schristos    Comments now cite URLs for some 1917-1921 Russian DST decrees.
28449551d334Schristos    (Thanks to Alexander Belopolsky.)
28459551d334Schristos
28469551d334Schristos    tz-link.htm mentions JuliaTime (thanks to Curtis Vogt) and Time4J
28479551d334Schristos    (thanks to Meno Hochschild) and ThreeTen-Extra, and its
28489551d334Schristos    description of Java 8 has been brought up to date (thanks to
28499551d334Schristos    Stephen Colebourne).  Its description of local time on Mars has
28509551d334Schristos    been updated to match current practice, and URLs have been updated
28519551d334Schristos    and some obsolete ones removed.
28529551d334Schristos
28539551d334Schristos
285416bd23daSchristosRelease 2016f - 2016-07-05 16:26:51 +0200
285516bd23daSchristos
285616bd23daSchristos  Changes affecting future timestamps
285716bd23daSchristos
285816bd23daSchristos    The Egyptian government changed its mind on short notice, and
285916bd23daSchristos    Africa/Cairo will not introduce DST starting 2016-07-07 after all.
286016bd23daSchristos    (Thanks to Mina Samuel.)
286116bd23daSchristos
286216bd23daSchristos    Asia/Novosibirsk switches from +06 to +07 on 2016-07-24 at 02:00.
286316bd23daSchristos    (Thanks to Stepan Golosunov.)
286416bd23daSchristos
286516bd23daSchristos  Changes to past and future timestamps
286616bd23daSchristos
286716bd23daSchristos    Asia/Novokuznetsk and Asia/Novosibirsk now use numeric time zone
286816bd23daSchristos    abbreviations instead of invented ones.
286916bd23daSchristos
287016bd23daSchristos  Changes affecting past timestamps
287116bd23daSchristos
287216bd23daSchristos    Europe/Minsk's 1992-03-29 spring-forward transition was at 02:00 not 00:00.
287316bd23daSchristos    (Thanks to Stepan Golosunov.)
287416bd23daSchristos
287516bd23daSchristos
287616bd23daSchristosRelease 2016e - 2016-06-14 08:46:16 -0700
287716bd23daSchristos
287816bd23daSchristos  Changes affecting future timestamps
287916bd23daSchristos
288016bd23daSchristos    Africa/Cairo observes DST in 2016 from July 7 to the end of October.
288116bd23daSchristos    Guess October 27 and 24:00 transitions.  (Thanks to Steffen Thorsen.)
288216bd23daSchristos    For future years, guess April's last Thursday to October's last
288316bd23daSchristos    Thursday except for Ramadan.
288416bd23daSchristos
288516bd23daSchristos  Changes affecting past timestamps
288616bd23daSchristos
288716bd23daSchristos    Locations while uninhabited now use '-00', not 'zzz', as a
288816bd23daSchristos    placeholder time zone abbreviation.  This is inspired by Internet
288916bd23daSchristos    RFC 3339 and is more consistent with numeric time zone
289016bd23daSchristos    abbreviations already used elsewhere.  The change affects several
289116bd23daSchristos    arctic and antarctic locations, e.g., America/Cambridge_Bay before
289216bd23daSchristos    1920 and Antarctica/Troll before 2005.
289316bd23daSchristos
289416bd23daSchristos    Asia/Baku's 1992-09-27 transition from +04 (DST) to +04 (non-DST) was
289516bd23daSchristos    at 03:00, not 23:00 the previous day.  (Thanks to Michael Deckers.)
289616bd23daSchristos
289716bd23daSchristos  Changes to code
289816bd23daSchristos
289916bd23daSchristos    zic now outputs a dummy transition at time 2**31 - 1 in zones
290016bd23daSchristos    whose POSIX-style TZ strings contain a '<'.  This mostly works
290116bd23daSchristos    around Qt bug 53071 <https://bugreports.qt.io/browse/QTBUG-53071>.
290216bd23daSchristos    (Thanks to Zhanibek Adilbekov for reporting the Qt bug.)
290316bd23daSchristos
290416bd23daSchristos  Changes affecting documentation and commentary
290516bd23daSchristos
290616bd23daSchristos    tz-link.htm says why governments should give plenty of notice for
290716bd23daSchristos    time zone or DST changes, and refers to Matt Johnson's blog post.
290816bd23daSchristos
290916bd23daSchristos    tz-link.htm mentions Tzdata for Elixir.  (Thanks to Matt Johnson.)
291016bd23daSchristos
291116bd23daSchristos
291216bd23daSchristosRelease 2016d - 2016-04-17 22:50:29 -0700
291316bd23daSchristos
291416bd23daSchristos  Changes affecting future timestamps
291516bd23daSchristos
291616bd23daSchristos    America/Caracas switches from -0430 to -04 on 2016-05-01 at 02:30.
291716bd23daSchristos    (Thanks to Alexander Krivenyshev for the heads-up.)
291816bd23daSchristos
291916bd23daSchristos    Asia/Magadan switches from +10 to +11 on 2016-04-24 at 02:00.
292016bd23daSchristos    (Thanks to Alexander Krivenyshev and Matt Johnson.)
292116bd23daSchristos
292216bd23daSchristos    New zone Asia/Tomsk, split off from Asia/Novosibirsk.  It covers
292316bd23daSchristos    Tomsk Oblast, Russia, which switches from +06 to +07 on 2016-05-29
292416bd23daSchristos    at 02:00.  (Thanks to Stepan Golosunov.)
292516bd23daSchristos
292616bd23daSchristos  Changes affecting past timestamps
292716bd23daSchristos
292816bd23daSchristos    New zone Europe/Kirov, split off from Europe/Volgograd.  It covers
292916bd23daSchristos    Kirov Oblast, Russia, which switched from +04/+05 to +03/+04 on
293016bd23daSchristos    1989-03-26 at 02:00, roughly a year after Europe/Volgograd made
293116bd23daSchristos    the same change.  (Thanks to Stepan Golosunov.)
293216bd23daSchristos
293316bd23daSchristos    Russia and nearby locations had daylight-saving transitions on
293416bd23daSchristos    1992-03-29 at 02:00 and 1992-09-27 at 03:00, instead of on
293516bd23daSchristos    1992-03-28 at 23:00 and 1992-09-26 at 23:00.  (Thanks to Stepan
293616bd23daSchristos    Golosunov.)
293716bd23daSchristos
293816bd23daSchristos    Many corrections to historical time in Kazakhstan from 1991
293916bd23daSchristos    through 2005.  (Thanks to Stepan Golosunov.)  Replace Kazakhstan's
294016bd23daSchristos    invented time zone abbreviations with numeric abbreviations.
294116bd23daSchristos
294216bd23daSchristos  Changes to commentary
294316bd23daSchristos
294416bd23daSchristos    Mention Internet RFCs 7808 (TZDIST) and 7809 (CalDAV time zone references).
294516bd23daSchristos
294616bd23daSchristos
294716bd23daSchristosRelease 2016c - 2016-03-23 00:51:27 -0700
294816bd23daSchristos
294916bd23daSchristos  Changes affecting future timestamps
295016bd23daSchristos
295116bd23daSchristos    Azerbaijan no longer observes DST.  (Thanks to Steffen Thorsen.)
295216bd23daSchristos
295316bd23daSchristos    Chile reverts from permanent to seasonal DST.  (Thanks to Juan
295416bd23daSchristos    Correa for the heads-up, and to Tim Parenti for corrections.)
295516bd23daSchristos    Guess that future transitions are August's and May's second
295616bd23daSchristos    Saturdays at 24:00 mainland time.  Also, call the period from
295716bd23daSchristos    2014-09-07 through 2016-05-14 daylight saving time instead of
295816bd23daSchristos    standard time, as that seems more appropriate now.
295916bd23daSchristos
296016bd23daSchristos  Changes affecting past timestamps
296116bd23daSchristos
296216bd23daSchristos    Europe/Kaliningrad and Europe/Vilnius changed from +03/+04 to
296316bd23daSchristos    +02/+03 on 1989-03-26, not 1991-03-31.  Europe/Volgograd changed
296416bd23daSchristos    from +04/+05 to +03/+04 on 1988-03-27, not 1989-03-26.
296516bd23daSchristos    (Thanks to Stepan Golosunov.)
296616bd23daSchristos
296716bd23daSchristos  Changes to commentary
296816bd23daSchristos
296916bd23daSchristos    Several updates and URLs for historical and proposed Russian changes.
297016bd23daSchristos    (Thanks to Stepan Golosunov, Matt Johnson, and Alexander Krivenyshev.)
297116bd23daSchristos
297216bd23daSchristos
2973e4c8546aSchristosRelease 2016b - 2016-03-12 17:30:14 -0800
2974e4c8546aSchristos
297516bd23daSchristos  Compatibility note
297616bd23daSchristos
297716bd23daSchristos    Starting with release 2016b, some data entries cause zic implementations
297816bd23daSchristos    derived from tz releases 2005j through 2015e to issue warnings like
297916bd23daSchristos    "time zone abbreviation differs from POSIX standard (+03)".
298016bd23daSchristos    These warnings should not otherwise affect zic's output and can safely be
298116bd23daSchristos    ignored on today's platforms, as the warnings refer to a restriction in
298216bd23daSchristos    POSIX.1-1988 that was removed in POSIX.1-2001.  One way to suppress the
298316bd23daSchristos    warnings is to upgrade to zic derived from tz releases 2015f and later.
298416bd23daSchristos
2985e4c8546aSchristos  Changes affecting future timestamps
2986e4c8546aSchristos
2987e4c8546aSchristos    New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
2988e4c8546aSchristos    Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04 on
2989e4c8546aSchristos    2016-03-27 at 02:00 local time.  They need distinct zones since their
2990e4c8546aSchristos    post-1970 histories disagree.  New zone Asia/Barnaul for Altai Krai and
2991e4c8546aSchristos    Altai Republic, Russia, which will switch from +06 to +07 on the same date
2992e4c8546aSchristos    and local time.  The Astrakhan change is already official; the others have
2993e4c8546aSchristos    passed the first reading in the State Duma and are extremely likely.
2994e4c8546aSchristos    Also, Asia/Sakhalin moves from +10 to +11 on 2016-03-27 at 02:00.
2995e4c8546aSchristos    (Thanks to Alexander Krivenyshev for the heads-up, and to Matt Johnson
2996e4c8546aSchristos    and Stepan Golosunov for followup.)
2997e4c8546aSchristos
2998e4c8546aSchristos    As a trial of a new system that needs less information to be made up,
2999e4c8546aSchristos    the new zones use numeric time zone abbreviations like "+04"
3000e4c8546aSchristos    instead of invented abbreviations like "ASTT".
3001e4c8546aSchristos
3002e4c8546aSchristos    Haiti will not observe DST in 2016.  (Thanks to Jean Antoine via
3003e4c8546aSchristos    Steffen Thorsen.)
3004e4c8546aSchristos
3005e4c8546aSchristos    Palestine's spring-forward transition on 2016-03-26 is at 01:00, not 00:00.
3006e4c8546aSchristos    (Thanks to Hannah Kreitem.) Guess future transitions will be March's last
3007e4c8546aSchristos    Saturday at 01:00, not March's last Friday at 24:00.
3008e4c8546aSchristos
3009e4c8546aSchristos  Changes affecting past timestamps
3010e4c8546aSchristos
3011e4c8546aSchristos    Europe/Chisinau observed DST during 1990, and switched from +04 to
3012e4c8546aSchristos    +03 at 1990-05-06 02:00, instead of switching from +03 to +02.
3013e4c8546aSchristos    (Thanks to Stepan Golosunov.)
3014e4c8546aSchristos
3015e4c8546aSchristos    1991 abbreviations in Europe/Samara should be SAMT/SAMST, not
3016e4c8546aSchristos    KUYT/KUYST.  (Thanks to Stepan Golosunov.)
3017e4c8546aSchristos
3018e4c8546aSchristos  Changes to code
3019e4c8546aSchristos
3020e4c8546aSchristos    tzselect's diagnostics and checking, and checktab.awk's checking,
3021e4c8546aSchristos    have been improved.  (Thanks to J William Piggott.)
3022e4c8546aSchristos
3023e4c8546aSchristos    tzcode now builds under MinGW.  (Thanks to Ian Abbott and Esben Haabendal.)
3024e4c8546aSchristos
3025e4c8546aSchristos    tzselect now tests Julian-date TZ settings more accurately.
3026e4c8546aSchristos    (Thanks to J William Piggott.)
3027e4c8546aSchristos
3028e4c8546aSchristos  Changes to commentary
3029e4c8546aSchristos
3030e4c8546aSchristos    Comments in zone tables have been improved.  (Thanks to J William Piggott.)
3031e4c8546aSchristos
3032e4c8546aSchristos    tzselect again limits its menu comments so that menus fit on a
3033cfc8dcb4Schristos    24×80 alphanumeric display.
3034e4c8546aSchristos
3035e4c8546aSchristos    A new web page tz-how-to.html.  (Thanks to Bill Seymour.)
3036e4c8546aSchristos
3037e4c8546aSchristos    In the Theory file, the description of possible time zone abbreviations in
3038e4c8546aSchristos    tzdata has been cleaned up, as the old description was unclear and
3039e4c8546aSchristos    inconsistent.  (Thanks to Alain Mouette for reporting the problem.)
3040e4c8546aSchristos
3041e4c8546aSchristos
3042e4c8546aSchristosRelease 2016a - 2016-01-26 23:28:02 -0800
3043e4c8546aSchristos
3044e4c8546aSchristos  Changes affecting future timestamps
3045e4c8546aSchristos
3046e4c8546aSchristos    America/Cayman will not observe daylight saving this year after all.
3047e4c8546aSchristos    Revert our guess that it would.  (Thanks to Matt Johnson.)
3048e4c8546aSchristos
3049e4c8546aSchristos    Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
3050e4c8546aSchristos    (Thanks to Alexander Krivenyshev.)
3051e4c8546aSchristos
3052e4c8546aSchristos    Asia/Tehran now has DST predictions for the year 2038 and later,
3053e4c8546aSchristos    to be March 21 00:00 to September 21 00:00.  This is likely better
3054e4c8546aSchristos    than predicting no DST, albeit off by a day every now and then.
3055e4c8546aSchristos
3056e4c8546aSchristos  Changes affecting past and future timestamps
3057e4c8546aSchristos
3058e4c8546aSchristos    America/Metlakatla switched from PST all year to AKST/AKDT on
3059e4c8546aSchristos    2015-11-01 at 02:00.  (Thanks to Steffen Thorsen.)
3060e4c8546aSchristos
3061e4c8546aSchristos    America/Santa_Isabel has been removed, and replaced with a
3062e4c8546aSchristos    backward compatibility link to America/Tijuana.  Its contents were
3063e4c8546aSchristos    apparently based on a misreading of Mexican legislation.
3064e4c8546aSchristos
3065e4c8546aSchristos  Changes affecting past timestamps
3066e4c8546aSchristos
3067e4c8546aSchristos    Asia/Karachi's two transition times in 2002 were off by a minute.
3068e4c8546aSchristos    (Thanks to Matt Johnson.)
3069e4c8546aSchristos
3070e4c8546aSchristos  Changes affecting build procedure
3071e4c8546aSchristos
3072e4c8546aSchristos    An installer can now combine leap seconds with use of the backzone file,
3073e4c8546aSchristos    e.g., with 'make PACKRATDATA=backzone REDO=posix_right zones'.
3074e4c8546aSchristos    The old 'make posix_packrat' rule is now marked as obsolescent.
3075e4c8546aSchristos    (Thanks to Ian Abbott for an initial implementation.)
3076e4c8546aSchristos
3077e4c8546aSchristos  Changes affecting documentation and commentary
3078e4c8546aSchristos
3079e4c8546aSchristos    A new file LICENSE makes it easier to see that the code and data
3080e4c8546aSchristos    are mostly public-domain.  (Thanks to James Knight.)  The three
3081e4c8546aSchristos    non-public-domain files now use the current (3-clause) BSD license
3082e4c8546aSchristos    instead of older versions of that license.
3083e4c8546aSchristos
3084e4c8546aSchristos    tz-link.htm mentions the BDE library (thanks to Andrew Paprocki),
3085e4c8546aSchristos    CCTZ (thanks to Tim Parenti), TimeJones.com, and has a new section
3086e4c8546aSchristos    on editing tz source files (with a mention of Sublime zoneinfo,
3087e4c8546aSchristos    thanks to Gilmore Davidson).
3088e4c8546aSchristos
3089e4c8546aSchristos    The Theory and asia files now mention the 2015 book "The Global
3090e4c8546aSchristos    Transformation of Time, 1870-1950", and cite a couple of reviews.
3091e4c8546aSchristos
3092e4c8546aSchristos    The America/Chicago entry now documents the informal use of US
3093e4c8546aSchristos    central time in Fort Pierre, South Dakota.  (Thanks to Rick
3094e4c8546aSchristos    McDermid, Matt Johnson, and Steve Jones.)
3095e4c8546aSchristos
3096e4c8546aSchristos
3097f9589d4fSchristosRelease 2015g - 2015-10-01 00:39:51 -0700
3098f9589d4fSchristos
3099f9589d4fSchristos  Changes affecting future timestamps
3100f9589d4fSchristos
3101f9589d4fSchristos    Turkey's 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.
3102f9589d4fSchristos    (Thanks to Fatih.)
3103f9589d4fSchristos
3104f9589d4fSchristos    Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
3105f9589d4fSchristos    (Thanks to Alexander Krivenyshev.)
3106f9589d4fSchristos
3107f9589d4fSchristos    Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
3108f9589d4fSchristos    (Thanks to Ken Rylander.)
3109f9589d4fSchristos
3110f9589d4fSchristos    Fort Nelson, British Columbia will not fall back on 2015-11-01.  It has
3111f9589d4fSchristos    effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
3112f9589d4fSchristos    New zone America/Fort_Nelson.  (Thanks to Matt Johnson.)
3113f9589d4fSchristos
3114f9589d4fSchristos  Changes affecting past timestamps
3115f9589d4fSchristos
3116f9589d4fSchristos    Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.
3117f9589d4fSchristos
3118f9589d4fSchristos  Changes affecting code
3119f9589d4fSchristos
3120f9589d4fSchristos    localtime no longer mishandles America/Anchorage after 2037.
3121f9589d4fSchristos    (Thanks to Bradley White for reporting the bug.)
3122f9589d4fSchristos
3123e4c8546aSchristos    On hosts with signed 32-bit time_t, localtime no longer mishandles
3124e4c8546aSchristos    Pacific/Fiji after 2038-01-16 14:00 UTC.
3125e4c8546aSchristos
3126f9589d4fSchristos    The localtime module allows the variables 'timezone', 'daylight',
3127f9589d4fSchristos    and 'altzone' to be in common storage shared with other modules,
3128f9589d4fSchristos    and declares them in case the system <time.h> does not.
3129f9589d4fSchristos    (Problems reported by Kees Dekker.)
3130f9589d4fSchristos
3131f9589d4fSchristos    On platforms with tm_zone, strftime.c now assumes it is not NULL.
3132f9589d4fSchristos    This simplifies the code and is consistent with zdump.c.
3133f9589d4fSchristos    (Problem reported by Christos Zoulas.)
3134f9589d4fSchristos
3135f9589d4fSchristos  Changes affecting documentation
3136f9589d4fSchristos
3137f9589d4fSchristos   The tzfile man page now documents that transition times denote the
3138f9589d4fSchristos   starts (not the ends) of the corresponding time periods.
3139f9589d4fSchristos   (Ambiguity reported by Bill Seymour.)
3140f9589d4fSchristos
3141f9589d4fSchristos
3142d856f74aSchristosRelease 2015f - 2015-08-10 18:06:56 -0700
3143d856f74aSchristos
3144d856f74aSchristos  Changes affecting future timestamps
3145d856f74aSchristos
3146d856f74aSchristos    North Korea switches to +0830 on 2015-08-15.  (Thanks to Steffen Thorsen.)
3147d856f74aSchristos    The abbreviation remains "KST".  (Thanks to Robert Elz.)
3148d856f74aSchristos
3149d856f74aSchristos    Uruguay no longer observes DST.  (Thanks to Steffen Thorsen
3150d856f74aSchristos    and Pablo Camargo.)
3151d856f74aSchristos
3152d856f74aSchristos  Changes affecting past and future timestamps
3153d856f74aSchristos
3154d856f74aSchristos    Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.
3155d856f74aSchristos    (Thanks to Roman Tudos.)
3156d856f74aSchristos
3157d856f74aSchristos  Changes affecting data format and code
3158d856f74aSchristos
3159d856f74aSchristos    zic's '-y YEARISTYPE' option is no longer documented.  The TYPE
3160d856f74aSchristos    field of a Rule line should now be '-'; the old values 'even',
3161d856f74aSchristos    'odd', 'uspres', 'nonpres', 'nonuspres' were already undocumented.
3162d856f74aSchristos    Although the implementation has not changed, these features do not
3163d856f74aSchristos    work in the default installation, they are not used in the data,
3164d856f74aSchristos    and they are now considered obsolescent.
3165d856f74aSchristos
3166d856f74aSchristos    zic now checks that two rules don't take effect at the same time.
3167d856f74aSchristos    (Thanks to Jon Skeet and Arthur David Olson.)  Constraints on
3168d856f74aSchristos    simultaneity are now documented.
3169d856f74aSchristos
3170cf471610Schristos    The two characters '%z' in a zone format now stand for the UT
3171cf471610Schristos    offset, e.g., '-07' for seven hours behind UT and '+0530' for
3172d856f74aSchristos    five hours and thirty minutes ahead.  This better supports time
3173d856f74aSchristos    zone abbreviations conforming to POSIX.1-2001 and later.
3174d856f74aSchristos
3175d856f74aSchristos  Changes affecting installed data files
3176d856f74aSchristos
3177d856f74aSchristos    Comments for America/Halifax and America/Glace_Bay have been improved.
3178d856f74aSchristos    (Thanks to Brian Inglis.)
3179d856f74aSchristos
3180d856f74aSchristos    Data entries have been simplified for Atlantic/Canary, Europe/Simferopol,
3181d856f74aSchristos    Europe/Sofia, and Europe/Tallinn.  This yields slightly smaller
3182d856f74aSchristos    installed data files for Europe/Simferopol and Europe/Tallinn.
3183d856f74aSchristos    It does not affect timestamps.  (Thanks to Howard Hinnant.)
3184d856f74aSchristos
3185d856f74aSchristos  Changes affecting code
3186d856f74aSchristos
3187d856f74aSchristos    zdump and zic no longer warn about valid time zone abbreviations
3188d856f74aSchristos    like '-05'.
3189d856f74aSchristos
3190d856f74aSchristos    Some Visual Studio 2013 warnings have been suppressed.
3191d856f74aSchristos    (Thanks to Kees Dekker.)
3192d856f74aSchristos
3193d856f74aSchristos    'date' no longer sets the time of day and its -a, -d, -n and -t
3194d856f74aSchristos    options have been removed.  Long obsolescent, the implementation
3195d856f74aSchristos    of these features had porting problems.  Builders no longer need
3196d856f74aSchristos    to configure HAVE_ADJTIME, HAVE_SETTIMEOFDAY, or HAVE_UTMPX_H.
3197d856f74aSchristos    (Thanks to Kees Dekker for pointing out the problem.)
3198d856f74aSchristos
3199d856f74aSchristos  Changes affecting documentation
3200d856f74aSchristos
3201d856f74aSchristos    The Theory file mentions naming issues earlier, as these seem to be
3202d856f74aSchristos    poorly publicized (thanks to Gilmore Davidson for reporting the problem).
3203d856f74aSchristos
3204d856f74aSchristos    tz-link.htm mentions Time Zone Database Parser (thanks to Howard Hinnant).
3205d856f74aSchristos
3206d856f74aSchristos    Mention that Herbert Samuel introduced the term "Summer Time".
3207d856f74aSchristos
3208fe1f008fSchristos
3209fe1f008fSchristosRelease 2015e - 2015-06-13 10:56:02 -0700
3210fe1f008fSchristos
3211fe1f008fSchristos  Changes affecting future timestamps
3212fe1f008fSchristos
3213fe1f008fSchristos    Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
3214fe1f008fSchristos    not 06-13 and 07-18 as we had guessed.  (Thanks to Milamber.)
3215fe1f008fSchristos
3216fe1f008fSchristos    Assume Cayman Islands will observe DST starting next year, using US rules.
3217fe1f008fSchristos    Although it isn't guaranteed, it is the most likely.
3218fe1f008fSchristos
3219fe1f008fSchristos  Changes affecting data format
3220fe1f008fSchristos
3221fe1f008fSchristos    The file 'iso3166.tab' now uses UTF-8, so that its entries can better
3222fe1f008fSchristos    spell the names of Åland Islands, Côte d'Ivoire, and Réunion.
3223fe1f008fSchristos
3224fe1f008fSchristos  Changes affecting code
3225fe1f008fSchristos
3226fe1f008fSchristos    When displaying data, tzselect converts it to the current locale's
3227fe1f008fSchristos    encoding if the iconv command works.  (Problem reported by random832.)
3228fe1f008fSchristos
3229fe1f008fSchristos    tzselect no longer mishandles Dominica, fixing a bug introduced
3230fe1f008fSchristos    in Release 2014f.  (Problem reported by Owen Leibman.)
3231fe1f008fSchristos
3232fe1f008fSchristos    zic -l no longer fails when compiled with -DTZDEFAULT=\"/etc/localtime\".
3233fe1f008fSchristos    This fixes a bug introduced in Release 2014f.
3234fe1f008fSchristos    (Problem reported by Leonardo Chiquitto.)
3235fe1f008fSchristos
3236fe1f008fSchristos
32370c69da7cSchristosRelease 2015d - 2015-04-24 08:09:46 -0700
32380c69da7cSchristos
32390c69da7cSchristos  Changes affecting future timestamps
32400c69da7cSchristos
32410c69da7cSchristos    Egypt will not observe DST in 2015 and will consider canceling it
32420c69da7cSchristos    permanently.  For now, assume no DST indefinitely.
32430c69da7cSchristos    (Thanks to Ahmed Nazmy and Tim Parenti.)
32440c69da7cSchristos
32450c69da7cSchristos  Changes affecting past timestamps
32460c69da7cSchristos
32479551d334Schristos    America/Whitehorse switched from UT -09 to -08 on 1967-05-28, not
32480c69da7cSchristos    1966-07-01.  Also, Yukon's time zone history is documented better.
32490c69da7cSchristos    (Thanks to Brian Inglis and Dennis Ferguson.)
32500c69da7cSchristos
32510c69da7cSchristos  Change affecting past and future time zone abbreviations
32520c69da7cSchristos
32530c69da7cSchristos    The abbreviations for Hawaii-Aleutian standard and daylight times
32540c69da7cSchristos    have been changed from HAST/HADT to HST/HDT, as per US Government
32550c69da7cSchristos    Printing Office style.  This affects only America/Adak since 1983,
32560c69da7cSchristos    as America/Honolulu was already using the new style.
32570c69da7cSchristos
32580c69da7cSchristos  Changes affecting code
32590c69da7cSchristos
32600c69da7cSchristos   zic has some minor performance improvements.
32610c69da7cSchristos
32620c69da7cSchristos
32630c69da7cSchristosRelease 2015c - 2015-04-11 08:55:55 -0700
32640c69da7cSchristos
32650c69da7cSchristos  Changes affecting future timestamps
32660c69da7cSchristos
32670c69da7cSchristos    Egypt's spring-forward transition is at 24:00 on April's last Thursday,
32680c69da7cSchristos    not 00:00 on April's last Friday.  2015's transition will therefore be on
32690c69da7cSchristos    Thursday, April 30 at 24:00, not Friday, April 24 at 00:00.  Similar fixes
32700c69da7cSchristos    apply to 2026, 2037, 2043, etc.  (Thanks to Steffen Thorsen.)
32710c69da7cSchristos
32720c69da7cSchristos  Changes affecting past timestamps
32730c69da7cSchristos
32740c69da7cSchristos    The following changes affect some pre-1991 Chile-related timestamps
32750c69da7cSchristos    in America/Santiago, Antarctica/Palmer, and Pacific/Easter.
32760c69da7cSchristos
32770c69da7cSchristos      The 1910 transition was January 10, not January 1.
32780c69da7cSchristos
32790c69da7cSchristos      The 1918 transition was September 10, not September 1.
32800c69da7cSchristos
32819551d334Schristos      The UT -04 time observed from 1932 to 1942 is now considered to
32829551d334Schristos      be standard time, not year-round DST.
32830c69da7cSchristos
32849551d334Schristos      Santiago observed DST (UT -03) from 1946-07-15 through
32859551d334Schristos      1946-08-31, then reverted to standard time, then switched to -05
32869551d334Schristos      on 1947-04-01.
32870c69da7cSchristos
32880c69da7cSchristos      Assume transitions before 1968 were at 00:00, since we have no data
32890c69da7cSchristos      saying otherwise.
32900c69da7cSchristos
32910c69da7cSchristos      The spring 1988 transition was 1988-10-09, not 1988-10-02.
32920c69da7cSchristos      The fall 1990 transition was 1990-03-11, not 1990-03-18.
32930c69da7cSchristos
3294cf471610Schristos      Assume no UT offset change for Pacific/Easter on 1890-01-01,
32950c69da7cSchristos      and omit all transitions on Pacific/Easter from 1942 through 1946
32960c69da7cSchristos      since we have no data suggesting that they existed.
32970c69da7cSchristos
32980c69da7cSchristos    One more zone has been turned into a link, as it differed
32990c69da7cSchristos    from an existing zone only for older timestamps.  As usual,
3300cf471610Schristos    this change affects UT offsets in pre-1970 timestamps only.
33010c69da7cSchristos    The zone's old contents have been moved to the 'backzone' file.
33020c69da7cSchristos    The affected zone is America/Montreal.
33030c69da7cSchristos
33040c69da7cSchristos  Changes affecting commentary
33050c69da7cSchristos
33060c69da7cSchristos    Mention the TZUpdater tool.
33070c69da7cSchristos
33080c69da7cSchristos    Mention "The Time Now".  (Thanks to Brandon Ramsey.)
33090c69da7cSchristos
33100c69da7cSchristos
3311aa771cb9SchristosRelease 2015b - 2015-03-19 23:28:11 -0700
3312aa771cb9Schristos
3313aa771cb9Schristos  Changes affecting future timestamps
3314aa771cb9Schristos
3315aa771cb9Schristos    Mongolia will start observing DST again this year, from the last
3316aa771cb9Schristos    Saturday in March at 02:00 to the last Saturday in September at 00:00.
3317aa771cb9Schristos    (Thanks to Ganbold Tsagaankhuu.)
3318aa771cb9Schristos
3319aa771cb9Schristos    Palestine will start DST on March 28, not March 27.  Also,
3320aa771cb9Schristos    correct the fall 2014 transition from September 26 to October 24.
3321aa771cb9Schristos    Adjust future predictions accordingly.  (Thanks to Steffen Thorsen.)
3322aa771cb9Schristos
3323aa771cb9Schristos  Changes affecting past timestamps
3324aa771cb9Schristos
3325aa771cb9Schristos    The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a
3326aa771cb9Schristos    regression.  (Thanks to Stuart Bishop for reporting the problem.)
3327aa771cb9Schristos
3328aa771cb9Schristos    Some more zones have been turned into links, when they differed
3329aa771cb9Schristos    from existing zones only for older timestamps.  As usual,
3330cf471610Schristos    these changes affect UT offsets in pre-1970 timestamps only.
3331aa771cb9Schristos    Their old contents have been moved to the 'backzone' file.
3332aa771cb9Schristos    The affected zones are: America/Antigua, America/Cayman,
3333aa771cb9Schristos    Pacific/Midway, and Pacific/Saipan.
3334aa771cb9Schristos
3335aa771cb9Schristos  Changes affecting time zone abbreviations
3336aa771cb9Schristos
3337aa771cb9Schristos    Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD".
3338aa771cb9Schristos    (Thanks to Hank W.)
3339aa771cb9Schristos
3340aa771cb9Schristos  Changes affecting code
3341aa771cb9Schristos
3342aa771cb9Schristos    Fix integer overflow bug in reference 'mktime' implementation.
3343aa771cb9Schristos    (Problem reported by Jörg Richter.)
3344aa771cb9Schristos
3345aa771cb9Schristos    Allow -Dtime_tz=time_t compilations, and allow -Dtime_tz=... libraries
3346aa771cb9Schristos    to be used in the same executable as standard-library time_t functions.
3347aa771cb9Schristos    (Problems reported by Bradley White.)
3348aa771cb9Schristos
3349aa771cb9Schristos  Changes affecting commentary
3350aa771cb9Schristos
3351aa771cb9Schristos    Cite the recent Mexican decree changing Quintana Roo's time zone.
3352aa771cb9Schristos    (Thanks to Carlos Raúl Perasso.)
3353aa771cb9Schristos
3354aa771cb9Schristos    Likewise for the recent Chilean decree.  (Thanks to Eduardo Romero Urra.)
3355aa771cb9Schristos
3356aa771cb9Schristos    Update info about Mars time.
3357aa771cb9Schristos
3358aa771cb9Schristos
3359c51676e4SchristosRelease 2015a - 2015-01-29 22:35:20 -0800
3360c51676e4Schristos
3361c51676e4Schristos  Changes affecting future timestamps
3362c51676e4Schristos
3363c51676e4Schristos    The Mexican state of Quintana Roo, represented by America/Cancun,
3364c51676e4Schristos    will shift from Central Time with DST to Eastern Time without DST
3365c51676e4Schristos    on 2015-02-01 at 02:00.  (Thanks to Steffen Thorsen and Gwillim Law.)
3366c51676e4Schristos
3367c51676e4Schristos    Chile will not change clocks in April or thereafter; its new standard time
3368c51676e4Schristos    will be its old daylight saving time.  This affects America/Santiago,
3369c51676e4Schristos    Pacific/Easter, and Antarctica/Palmer.  (Thanks to Juan Correa.)
3370c51676e4Schristos
3371c51676e4Schristos    New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
3372c51676e4Schristos    (Thanks to Tim Parenti.)
3373c51676e4Schristos
3374c51676e4Schristos  Changes affecting past timestamps
3375c51676e4Schristos
3376c51676e4Schristos    Iceland observed DST in 1919 and 1921, and its 1939 fallback
3377c51676e4Schristos    transition was Oct. 29, not Nov. 29.  Remove incorrect data from
3378c51676e4Schristos    Shanks about time in Iceland between 1837 and 1908.
3379c51676e4Schristos
3380c51676e4Schristos    Some more zones have been turned into links, when they differed
3381c51676e4Schristos    from existing zones only for older timestamps.  As usual,
3382cf471610Schristos    these changes affect UT offsets in pre-1970 timestamps only.
3383c51676e4Schristos    Their old contents have been moved to the 'backzone' file.
3384c51676e4Schristos    The affected zones are: Asia/Aden, Asia/Bahrain, Asia/Kuwait,
3385c51676e4Schristos    and Asia/Muscat.
3386c51676e4Schristos
3387c51676e4Schristos  Changes affecting code
3388c51676e4Schristos
3389c51676e4Schristos    tzalloc now scrubs time zone abbreviations compatibly with the way
3390c51676e4Schristos    that tzset always has, by replacing invalid bytes with '_' and by
3391c51676e4Schristos    shortening too-long abbreviations.
3392c51676e4Schristos
3393c51676e4Schristos    tzselect ports to POSIX awk implementations, no longer mishandles
3394c51676e4Schristos    POSIX TZ settings when GNU awk is used, and reports POSIX TZ
3395c51676e4Schristos    settings to the user.  (Thanks to Stefan Kuhn.)
3396c51676e4Schristos
3397c51676e4Schristos  Changes affecting build procedure
3398c51676e4Schristos
3399c51676e4Schristos    'make check' now checks for links to links in the data.
3400c51676e4Schristos    One such link (for Africa/Asmera) has been fixed.
3401c51676e4Schristos    (Thanks to Stephen Colebourne for pointing out the problem.)
3402c51676e4Schristos
3403c51676e4Schristos  Changes affecting commentary
3404c51676e4Schristos
3405c51676e4Schristos    The leapseconds file commentary now mentions the expiration date.
3406c51676e4Schristos    (Problem reported by Martin Burnicki.)
3407c51676e4Schristos
3408c51676e4Schristos    Update Mexican Library of Congress URL.
3409c51676e4Schristos
3410c51676e4Schristos
34116ced7fd8SchristosRelease 2014j - 2014-11-10 17:37:11 -0800
34126ced7fd8Schristos
34136ced7fd8Schristos  Changes affecting current and future timestamps
34146ced7fd8Schristos
34159551d334Schristos    Turks & Caicos' switch from US eastern time to UT -04 year-round
34166ced7fd8Schristos    did not occur on 2014-11-02 at 02:00.  It's currently scheduled
34176ced7fd8Schristos    for 2015-11-01 at 02:00.  (Thanks to Chris Walton.)
34186ced7fd8Schristos
34196ced7fd8Schristos  Changes affecting past timestamps
34206ced7fd8Schristos
34216ced7fd8Schristos    Many pre-1989 timestamps have been corrected for Asia/Seoul and
34226ced7fd8Schristos    Asia/Pyongyang, based on sources for the Korean-language Wikipedia
34236ced7fd8Schristos    entry for time in Korea.  (Thanks to Sanghyuk Jung.)  Also, no
34246ced7fd8Schristos    longer guess that Pyongyang mimicked Seoul time after World War II,
34256ced7fd8Schristos    as this is politically implausible.
34266ced7fd8Schristos
34276ced7fd8Schristos    Some more zones have been turned into links, when they differed
34286ced7fd8Schristos    from existing zones only for older timestamps.  As usual,
3429cf471610Schristos    these changes affect UT offsets in pre-1970 timestamps only.
34306ced7fd8Schristos    Their old contents have been moved to the 'backzone' file.
34316ced7fd8Schristos    The affected zones are: Africa/Addis_Ababa, Africa/Asmara,
34326ced7fd8Schristos    Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Kampala,
34336ced7fd8Schristos    Africa/Mogadishu, Indian/Antananarivo, Indian/Comoro, and
34346ced7fd8Schristos    Indian/Mayotte.
34356ced7fd8Schristos
34366ced7fd8Schristos  Changes affecting commentary
34376ced7fd8Schristos
34386ced7fd8Schristos    The commentary is less enthusiastic about Shanks as a source,
34396ced7fd8Schristos    and is more careful to distinguish UT from UTC.
34406ced7fd8Schristos
34416ced7fd8Schristos
344267431d73SchristosRelease 2014i - 2014-10-21 22:04:57 -0700
344367431d73Schristos
344467431d73Schristos  Changes affecting future timestamps
344567431d73Schristos
344667431d73Schristos    Pacific/Fiji will observe DST from 2014-11-02 02:00 to 2015-01-18 03:00.
344767431d73Schristos    (Thanks to Ken Rylander for the heads-up.)  Guess that future
344867431d73Schristos    years will use a similar pattern.
344967431d73Schristos
345067431d73Schristos    A new Zone Pacific/Bougainville, for the part of Papua New Guinea
34519551d334Schristos    that plans to switch from UT +10 to +11 on 2014-12-28 at 02:00.
345267431d73Schristos    (Thanks to Kiley Walbom for the heads-up.)
345367431d73Schristos
345467431d73Schristos  Changes affecting time zone abbreviations
345567431d73Schristos
345667431d73Schristos    Since Belarus is not changing its clocks even though Moscow is,
345767431d73Schristos    the time zone abbreviation in Europe/Minsk is changing from FET
345889098d20Schristos    to its more traditional value MSK on 2014-10-26 at 01:00.
345967431d73Schristos    (Thanks to Alexander Bokovoy for the heads-up about Belarus.)
346067431d73Schristos
34619551d334Schristos    The new abbreviation IDT stands for the pre-1976 use of UT +08 in
34629551d334Schristos    Indochina, to distinguish it better from ICT (+07).
346367431d73Schristos
346467431d73Schristos  Changes affecting past timestamps
346567431d73Schristos
346667431d73Schristos    Many timestamps have been corrected for Asia/Ho_Chi_Minh before 1976
346767431d73Schristos    (thanks to Trần Ngọc Quân for an indirect pointer to Trần Tiến Bình's
346867431d73Schristos    authoritative book).  Asia/Ho_Chi_Minh has been added to
346967431d73Schristos    zone1970.tab, to give tzselect users in Vietnam two choices,
347067431d73Schristos    since north and south Vietnam disagreed after our 1970 cutoff.
347167431d73Schristos
347267431d73Schristos    Asia/Phnom_Penh and Asia/Vientiane have been turned into links, as
347367431d73Schristos    they differed from existing zones only for older timestamps.  As
347467431d73Schristos    usual, these changes affect pre-1970 timestamps only.  Their old
347567431d73Schristos    contents have been moved to the 'backzone' file.
347667431d73Schristos
347767431d73Schristos  Changes affecting code
347867431d73Schristos
347967431d73Schristos    The time-related library functions now set errno on failure, and
348067431d73Schristos    some crashes in the new tzalloc-related library functions have
348167431d73Schristos    been fixed.  (Thanks to Christos Zoulas for reporting most of
348267431d73Schristos    these problems and for suggesting fixes.)
348367431d73Schristos
348467431d73Schristos    If USG_COMPAT is defined and the requested timestamp is standard time,
348567431d73Schristos    the tz library's localtime and mktime functions now set the extern
348667431d73Schristos    variable timezone to a value appropriate for that timestamp; and
348767431d73Schristos    similarly for ALTZONE, daylight saving time, and the altzone variable.
348867431d73Schristos    This change is a companion to the tzname change in 2014h, and is
348967431d73Schristos    designed to make timezone and altzone more compatible with tzname.
349067431d73Schristos
349167431d73Schristos    The tz library's functions now set errno to EOVERFLOW if they fail
349267431d73Schristos    because the result cannot be represented.  ctime and ctime_r now
349367431d73Schristos    return NULL and set errno when a timestamp is out of range, rather
349467431d73Schristos    than having undefined behavior.
349567431d73Schristos
349667431d73Schristos    Some bugs associated with the new 2014g functions have been fixed.
349767431d73Schristos    This includes a bug that largely incapacitated the new functions
349867431d73Schristos    time2posix_z and posix2time_z.  (Thanks to Christos Zoulas.)
349967431d73Schristos    It also includes some uses of uninitialized variables after tzalloc.
350067431d73Schristos    The new code uses the standard type 'ssize_t', which the Makefile
350167431d73Schristos    now gives porting advice about.
350267431d73Schristos
350367431d73Schristos  Changes affecting commentary
350467431d73Schristos
350567431d73Schristos    Updated URLs for NRC Canada (thanks to Matt Johnson and Brian Inglis).
350667431d73Schristos
350767431d73Schristos
35081f6103b1SchristosRelease 2014h - 2014-09-25 18:59:03 -0700
35091f6103b1Schristos
35101f6103b1Schristos  Changes affecting past timestamps
35111f6103b1Schristos
35121f6103b1Schristos    America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28.
35131f6103b1Schristos
35141f6103b1Schristos    Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01,
35151f6103b1Schristos    not 1920-01-06.  The old entry was based on a misinterpretation of Shanks.
35161f6103b1Schristos
35171f6103b1Schristos    Some more zones have been turned into links, when they differed
35181f6103b1Schristos    from existing zones only for older timestamps.  As usual,
3519cf471610Schristos    these changes affect UT offsets in pre-1970 timestamps only.
35201f6103b1Schristos    Their old contents have been moved to the 'backzone' file.
35211f6103b1Schristos    The affected zones are: Africa/Blantyre, Africa/Bujumbura,
35221f6103b1Schristos    Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi,
35231f6103b1Schristos    Africa/Lusaka, Africa/Maseru, and Africa/Mbabane.
35241f6103b1Schristos
35251f6103b1Schristos  Changes affecting code
35261f6103b1Schristos
35271f6103b1Schristos    zdump -V and -v now output gmtoff= values on all platforms,
35281f6103b1Schristos    not merely on platforms defining TM_GMTOFF.
35291f6103b1Schristos
35301f6103b1Schristos    The tz library's localtime and mktime functions now set tzname to a value
35311f6103b1Schristos    appropriate for the requested timestamp, and zdump now uses this
35321f6103b1Schristos    on platforms not defining TM_ZONE, fixing a 2014g regression.
35331f6103b1Schristos    (Thanks to Tim Parenti for reporting the problem.)
35341f6103b1Schristos
35351f6103b1Schristos    The tz library no longer sets tzname if localtime or mktime fails.
35361f6103b1Schristos
35371f6103b1Schristos    zdump -c no longer mishandles transitions near year boundaries.
35381f6103b1Schristos    (Thanks to Tim Parenti for reporting the problem.)
35391f6103b1Schristos
35409551d334Schristos    An access to uninitialized data has been fixed.
35411f6103b1Schristos    (Thanks to Jörg Richter for reporting the problem.)
35421f6103b1Schristos
35431f6103b1Schristos    When THREAD_SAFE is defined, the code ports to the C11 memory model.
35441f6103b1Schristos    A memory leak has been fixed if ALL_STATE and THREAD_SAFE are defined
35451f6103b1Schristos    and two threads race to initialize data used by gmtime-like functions.
35461f6103b1Schristos    (Thanks to Andy Heninger for reporting the problems.)
35471f6103b1Schristos
35481f6103b1Schristos  Changes affecting build procedure
35491f6103b1Schristos
355089098d20Schristos    'make check' now checks better for properly sorted data.
35511f6103b1Schristos
35521f6103b1Schristos  Changes affecting documentation and commentary
35531f6103b1Schristos
35541f6103b1Schristos    zdump's gmtoff=N output is now documented, and its isdst=D output
35551f6103b1Schristos    is now documented to possibly output D values other than 0 or 1.
35561f6103b1Schristos
35571f6103b1Schristos    zdump -c's treatment of years is now documented to use the
35581f6103b1Schristos    Gregorian calendar and Universal Time without leap seconds,
35591f6103b1Schristos    and its behavior at cutoff boundaries is now documented better.
35601f6103b1Schristos    (Thanks to Arthur David Olson and Tim Parenti for reporting the problems.)
35611f6103b1Schristos
35621f6103b1Schristos    Programs are now documented to use the proleptic Gregorian calendar.
35631f6103b1Schristos    (Thanks to Alan Barrett for the suggestion.)
35641f6103b1Schristos
35651f6103b1Schristos    Fractional-second GMT offsets have been documented for civil time
35661f6103b1Schristos    in 19th-century Chennai, Jakarta, and New York.
35671f6103b1Schristos
35681f6103b1Schristos
35691f6103b1SchristosRelease 2014g - 2014-08-28 12:31:23 -0700
35701f6103b1Schristos
35711f6103b1Schristos  Changes affecting future timestamps
35721f6103b1Schristos
35739551d334Schristos    Turks & Caicos is switching from US eastern time to UT -04
35749551d334Schristos    year-round, modeled as a switch on 2014-11-02 at 02:00.
35756ced7fd8Schristos    [As noted in 2014j, this switch was later delayed.]
35761f6103b1Schristos
35771f6103b1Schristos  Changes affecting past timestamps
35781f6103b1Schristos
35791f6103b1Schristos    Time in Russia or the USSR before 1926 or so has been corrected by
35801f6103b1Schristos    a few seconds in the following zones: Asia/Irkutsk,
35811f6103b1Schristos    Asia/Krasnoyarsk, Asia/Omsk, Asia/Samarkand, Asia/Tbilisi,
35821f6103b1Schristos    Asia/Vladivostok, Asia/Yakutsk, Europe/Riga, Europe/Samara.  For
35831f6103b1Schristos    Asia/Yekaterinburg the correction is a few minutes.  (Thanks to
35841f6103b1Schristos    Vladimir Karpinsky.)
35851f6103b1Schristos
35861f6103b1Schristos    The Portuguese decree of 1911-05-26 took effect on 1912-01-01.
35871f6103b1Schristos    This affects 1911 timestamps in Africa/Bissau, Africa/Luanda,
35881f6103b1Schristos    Atlantic/Azores, and Atlantic/Madeira.  Also, Lisbon's pre-1912
35891f6103b1Schristos    GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32.
35901f6103b1Schristos    (Thanks to Stephen Colebourne for pointing to the decree.)
35911f6103b1Schristos
35921f6103b1Schristos    Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.
35931f6103b1Schristos
35941f6103b1Schristos    A new file 'backzone' contains data which may appeal to
35951f6103b1Schristos    connoisseurs of old timestamps, although it is out of scope for
35961f6103b1Schristos    the tz database, is often poorly sourced, and contains some data
35971f6103b1Schristos    that is known to be incorrect.  The new file is not recommended
35981f6103b1Schristos    for ordinary use and its entries are not installed by default.
35991f6103b1Schristos    (Thanks to Lester Caine for the high-quality Jersey, Guernsey, and
36001f6103b1Schristos    Isle of Man entries.)
36011f6103b1Schristos
36021f6103b1Schristos    Some more zones have been turned into links, when they differed
36031f6103b1Schristos    from existing zones only for older timestamps.  As usual,
3604cf471610Schristos    these changes affect UT offsets in pre-1970 timestamps only.
36051f6103b1Schristos    Their old contents have been moved to the 'backzone' file.
36061f6103b1Schristos    The affected zones are: Africa/Bangui, Africa/Brazzaville,
36071f6103b1Schristos    Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda,
36081f6103b1Schristos    Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo.
36091f6103b1Schristos
36101f6103b1Schristos  Changes affecting code
36111f6103b1Schristos
36121f6103b1Schristos    Unless NETBSD_INSPIRED is defined to 0, the tz library now
36131f6103b1Schristos    supplies functions for creating and using objects that represent
36141f6103b1Schristos    timezones. The new functions are tzalloc, tzfree, localtime_rz,
36151f6103b1Schristos    mktime_z, and (if STD_INSPIRED is also defined) posix2time_z and
36161f6103b1Schristos    time2posix_z.  They are intended for performance: for example,
36171f6103b1Schristos    localtime_rz (unlike localtime_r) is trivially thread-safe without
36181f6103b1Schristos    locking.  (Thanks to Christos Zoulas for proposing NetBSD-inspired
36191f6103b1Schristos    functions, and to Alan Barrett and Jonathan Lennox for helping to
36201f6103b1Schristos    debug the change.)
36211f6103b1Schristos
36221f6103b1Schristos    zdump now builds with the tz library unless USE_LTZ is defined to 0,
36231f6103b1Schristos    This lets zdump use tz features even if the system library lacks them.
36241f6103b1Schristos    To build zdump with the system library, use 'make CFLAGS=-DUSE_LTZ=0
36251f6103b1Schristos    TZDOBJS=zdump.o CHECK_TIME_T_ALTERNATIVES='.
36261f6103b1Schristos
36271f6103b1Schristos    zdump now uses localtime_rz if available, as it's significantly faster,
36281f6103b1Schristos    and it can help zdump better diagnose invalid timezone names.
36291f6103b1Schristos    Define HAVE_LOCALTIME_RZ to 0 to suppress this.  HAVE_LOCALTIME_RZ
36301f6103b1Schristos    defaults to 1 if NETBSD_INSPIRED && USE_LTZ.  When localtime_rz is
36311f6103b1Schristos    not available, zdump now uses localtime_r and tzset if available,
36321f6103b1Schristos    as this is a bit cleaner and faster than plain localtime.  Compile
36331f6103b1Schristos    with -DHAVE_LOCALTIME_R=0 and/or -DHAVE_TZSET=0 if your system
36341f6103b1Schristos    lacks these two functions.
36351f6103b1Schristos
36361f6103b1Schristos    If THREAD_SAFE is defined to 1, the tz library is now thread-safe.
36371f6103b1Schristos    Although not needed for tz's own applications, which are single-threaded,
36381f6103b1Schristos    this supports POSIX better if the tz library is used in multithreaded apps.
36391f6103b1Schristos
36401f6103b1Schristos    Some crashes have been fixed when zdump or the tz library is given
36411f6103b1Schristos    invalid or outlandish input.
36421f6103b1Schristos
36431f6103b1Schristos    The tz library no longer mishandles leap seconds on platforms with
36441f6103b1Schristos    unsigned time_t in timezones that lack ordinary transitions after 1970.
36451f6103b1Schristos
36461f6103b1Schristos    The tz code now attempts to infer TM_GMTOFF and TM_ZONE if not
36471f6103b1Schristos    already defined, to make it easier to configure on common platforms.
36481f6103b1Schristos    Define NO_TM_GMTOFF and NO_TM_ZONE to suppress this.
36491f6103b1Schristos
36501f6103b1Schristos    Unless the new macro UNINIT_TRAP is defined to 1, the tz code now
36511f6103b1Schristos    assumes that reading uninitialized memory yields garbage values
36521f6103b1Schristos    but does not cause other problems such as traps.
36531f6103b1Schristos
36541f6103b1Schristos    If TM_GMTOFF is defined and UNINIT_TRAP is 0, mktime is now
36551f6103b1Schristos    more likely to guess right for ambiguous timestamps near
36561f6103b1Schristos    transitions where tm_isdst does not change.
36571f6103b1Schristos
36581f6103b1Schristos    If HAVE_STRFTIME_L is defined to 1, the tz library now defines
36591f6103b1Schristos    strftime_l for compatibility with recent versions of POSIX.
36601f6103b1Schristos    Only the C locale is supported, though.  HAVE_STRFTIME_L defaults
36611f6103b1Schristos    to 1 on recent POSIX versions, and to 0 otherwise.
36621f6103b1Schristos
36631f6103b1Schristos    tzselect -c now uses a hybrid distance measure that works better
36641f6103b1Schristos    in Africa.  (Thanks to Alan Barrett for noting the problem.)
36651f6103b1Schristos
36661f6103b1Schristos    The C source code now ports to NetBSD when GCC_DEBUG_FLAGS is used,
36671f6103b1Schristos    or when time_tz is defined.
36681f6103b1Schristos
36691f6103b1Schristos    When HAVE_UTMPX_H is set the 'date' command now builds on systems
36701f6103b1Schristos    whose <utmpx.h> file does not define WTMPX_FILE, and when setting
36711f6103b1Schristos    the date it updates the wtmpx file if _PATH_WTMPX is defined.
36721f6103b1Schristos    This affects GNU/Linux and similar systems.
36731f6103b1Schristos
36741f6103b1Schristos    For easier maintenance later, some C code has been simplified,
36751f6103b1Schristos    some lint has been removed, and the code has been tweaked so that
36761f6103b1Schristos    plain 'make' is more likely to work.
36771f6103b1Schristos
36781f6103b1Schristos    The C type 'bool' is now used for boolean values, instead of 'int'.
36791f6103b1Schristos
36801f6103b1Schristos    The long-obsolete LOCALE_HOME code has been removed.
36811f6103b1Schristos
36821f6103b1Schristos    The long-obsolete 'gtime' function has been removed.
36831f6103b1Schristos
36841f6103b1Schristos  Changes affecting build procedure
36851f6103b1Schristos
36861f6103b1Schristos    'zdump' no longer links in ialloc.o, as it's not needed.
36871f6103b1Schristos
36881f6103b1Schristos    'make check_time_t_alternatives' no longer assumes GNU diff.
36891f6103b1Schristos
36901f6103b1Schristos  Changes affecting distribution tarballs
36911f6103b1Schristos
36921f6103b1Schristos    The files checktab.awk and zoneinfo2tdf.pl are now distributed in
36931f6103b1Schristos    the tzdata tarball instead of the tzcode tarball, since they help
36941f6103b1Schristos    maintain the data.  The NEWS and Theory files are now also
36951f6103b1Schristos    distributed in the tzdata tarball, as they're relevant for data.
36961f6103b1Schristos    (Thanks to Alan Barrett for pointing this out.)  Also, the
36971f6103b1Schristos    leapseconds.awk file is no longer distributed in the tzcode
36981f6103b1Schristos    tarball, since it belongs in the tzdata tarball (where 2014f
36991f6103b1Schristos    inadvertently also distributed it).
37001f6103b1Schristos
37011f6103b1Schristos  Changes affecting documentation and commentary
37021f6103b1Schristos
37031f6103b1Schristos    A new file CONTRIBUTING is distributed.  (Thanks to Tim Parenti for
37041f6103b1Schristos    suggesting a CONTRIBUTING file, and to Tony Finch and Walter Harms
37051f6103b1Schristos    for debugging it.)
37061f6103b1Schristos
37071f6103b1Schristos    The man pages have been updated to use function prototypes,
37081f6103b1Schristos    to document thread-safe variants like localtime_r, and to document
37091f6103b1Schristos    the NetBSD-inspired functions tzalloc, tzfree, localtime_rz, and
37101f6103b1Schristos    mktime_z.
37111f6103b1Schristos
37121f6103b1Schristos    The fields in Link lines have been renamed to be more descriptive
37131f6103b1Schristos    and more like the parameters of 'ln'.  LINK-FROM has become TARGET,
37141f6103b1Schristos    and LINK-TO has become LINK-NAME.
37151f6103b1Schristos
37161f6103b1Schristos    tz-link.htm mentions the IETF's tzdist working group; Windows
37171f6103b1Schristos    Runtime etc. (thanks to Matt Johnson); and HP-UX's tztab.
37181f6103b1Schristos
37191f6103b1Schristos    Some broken URLs have been fixed in the commentary.  (Thanks to
37201f6103b1Schristos    Lester Caine.)
37211f6103b1Schristos
37221f6103b1Schristos    Commentary about Philippines DST has been updated, and commentary
37231f6103b1Schristos    on pre-1970 time in India has been added.
37241f6103b1Schristos
37251f6103b1Schristos
37263ad51082SchristosRelease 2014f - 2014-08-05 17:42:36 -0700
37273ad51082Schristos
37283ad51082Schristos  Changes affecting future timestamps
37293ad51082Schristos
37303ad51082Schristos    Russia will subtract an hour from most of its time zones on 2014-10-26
37313ad51082Schristos    at 02:00 local time.  (Thanks to Alexander Krivenyshev.)
37323ad51082Schristos    There are a few exceptions: Magadan Oblast (Asia/Magadan) and Zabaykalsky
37333ad51082Schristos    Krai are subtracting two hours; conversely, Chukotka Autonomous Okrug
37343ad51082Schristos    (Asia/Anadyr), Kamchatka Krai (Asia/Kamchatka), Kemerovo Oblast
37353ad51082Schristos    (Asia/Novokuznetsk), and the Samara Oblast and the Udmurt Republic
37363ad51082Schristos    (Europe/Samara) are not changing their clocks.  The changed zones are
37373ad51082Schristos    Europe/Kaliningrad, Europe/Moscow, Europe/Simferopol, Europe/Volgograd,
37383ad51082Schristos    Asia/Yekaterinburg, Asia/Omsk, Asia/Novosibirsk, Asia/Krasnoyarsk,
37393ad51082Schristos    Asia/Irkutsk, Asia/Yakutsk, Asia/Vladivostok, Asia/Khandyga,
37403ad51082Schristos    Asia/Sakhalin, and Asia/Ust-Nera; Asia/Magadan will have two hours
37413ad51082Schristos    subtracted; and Asia/Novokuznetsk's time zone abbreviation is affected,
37423ad51082Schristos    but not its UTC offset.  Two zones are added: Asia/Chita (split
37433ad51082Schristos    from Asia/Yakutsk, and also with two hours subtracted) and
37443ad51082Schristos    Asia/Srednekolymsk (split from Asia/Magadan, but with only one hour
37453ad51082Schristos    subtracted).  (Thanks to Tim Parenti for much of the above.)
37463ad51082Schristos
37473ad51082Schristos  Changes affecting time zone abbreviations
37483ad51082Schristos
37493ad51082Schristos    Australian eastern time zone abbreviations are now AEST/AEDT not EST,
37503ad51082Schristos    and similarly for the other Australian zones.  That is, for eastern
37513ad51082Schristos    standard and daylight saving time the abbreviations are AEST and AEDT
37523ad51082Schristos    instead of the former EST for both; similarly, ACST/ACDT, ACWST/ACWDT,
37533ad51082Schristos    and AWST/AWDT are now used instead of the former CST, CWST, and WST.
3754cf471610Schristos    This change does not affect UT offsets, only time zone abbreviations.
37553ad51082Schristos    (Thanks to Rich Tibbett and many others.)
37563ad51082Schristos
37579551d334Schristos    Asia/Novokuznetsk shifts from NOVT to KRAT (remaining on UT +07)
37583ad51082Schristos    effective 2014-10-26 at 02:00 local time.
37593ad51082Schristos
37603ad51082Schristos    The time zone abbreviation for Xinjiang Time (observed in Ürümqi)
37613ad51082Schristos    has been changed from URUT to XJT.  (Thanks to Luther Ma.)
37623ad51082Schristos
37633ad51082Schristos    Prefer MSK/MSD for Moscow time in Russia, even in other cities.
37643ad51082Schristos    Similarly, prefer EET/EEST for eastern European time in Russia.
37653ad51082Schristos
37663ad51082Schristos    Change time zone abbreviations in (western) Samoa to use "ST" and
37673ad51082Schristos    "DT" suffixes, as this is more likely to match common practice.
37683ad51082Schristos    Prefix "W" to (western) Samoa time when its standard-time offset
37693ad51082Schristos    disagrees with that of American Samoa.
37703ad51082Schristos
37713ad51082Schristos    America/Metlakatla now uses PST, not MeST, to abbreviate its time zone.
37723ad51082Schristos
37733ad51082Schristos    Time zone abbreviations have been updated for Japan's two time
37743ad51082Schristos    zones used 1896-1937.  JWST now stands for Western Standard
37753ad51082Schristos    Time, and JCST for Central Standard Time (formerly this was CJT).
37763ad51082Schristos    These abbreviations are now used for time in Korea, Taiwan,
37773ad51082Schristos    and Sakhalin while controlled by Japan.
37783ad51082Schristos
37793ad51082Schristos  Changes affecting past timestamps
37803ad51082Schristos
37813ad51082Schristos    China's five zones have been simplified to two, since the post-1970
37823ad51082Schristos    differences in the other three seem to have been imaginary.  The
37833ad51082Schristos    zones Asia/Harbin, Asia/Chongqing, and Asia/Kashgar have been
37843ad51082Schristos    removed; backwards-compatibility links still work, albeit with
37853ad51082Schristos    different behaviors for timestamps before May 1980.  Asia/Urumqi's
37869551d334Schristos    1980 transition to UT +08 has been removed, so that it is now at
37879551d334Schristos    +06 and not +08.  (Thanks to Luther Ma and to Alois Treindl;
37883ad51082Schristos    Treindl sent helpful translations of two papers by Guo Qingsheng.)
37893ad51082Schristos
37903ad51082Schristos    Some zones have been turned into links, when they differed from existing
3791cf471610Schristos    zones only for older UT offsets where data entries were likely invented.
3792cf471610Schristos    These changes affect UT offsets in pre-1970 timestamps only.  This is
37933ad51082Schristos    similar to the change in release 2013e, except this time for western
37943ad51082Schristos    Africa.  The affected zones are: Africa/Bamako, Africa/Banjul,
37953ad51082Schristos    Africa/Conakry, Africa/Dakar, Africa/Freetown, Africa/Lome,
37963ad51082Schristos    Africa/Nouakchott, Africa/Ouagadougou, Africa/Sao_Tome, and
37973ad51082Schristos    Atlantic/St_Helena.  This also affects the backwards-compatibility
37983ad51082Schristos    link Africa/Timbuktu.  (Thanks to Alan Barrett, Stephen Colebourne,
37993ad51082Schristos    Tim Parenti, and David Patte for reporting problems in earlier
38003ad51082Schristos    versions of this change.)
38013ad51082Schristos
38023ad51082Schristos    Asia/Shanghai's pre-standard-time UT offset has been changed from
38033ad51082Schristos    8:05:57 to 8:05:43, the location of Xujiahui Observatory.  Its
38043ad51082Schristos    transition to standard time has been changed from 1928 to 1901.
38053ad51082Schristos
38063ad51082Schristos    Asia/Taipei switched to JWST on 1896-01-01, then to JST on 1937-10-01,
38073ad51082Schristos    then to CST on 1945-09-21 at 01:00, and did not observe DST in 1945.
38083ad51082Schristos    In 1946 it observed DST from 05-15 through 09-30; in 1947
38093ad51082Schristos    from 04-15 through 10-31; and in 1979 from 07-01 through 09-30.
38103ad51082Schristos    (Thanks to Yu-Cheng Chuang.)
38113ad51082Schristos
38123ad51082Schristos    Asia/Riyadh's transition to standard time is now 1947-03-14, not 1950.
38133ad51082Schristos
38143ad51082Schristos    Europe/Helsinki's 1942 fall-back transition was 10-04 at 01:00, not
38153ad51082Schristos    10-03 at 00:00.  (Thanks to Konstantin Hyppönen.)
38163ad51082Schristos
38179551d334Schristos    Pacific/Pago_Pago has been changed from UT -11:30 to -11 for the
38189551d334Schristos    period from 1911 to 1950.
38193ad51082Schristos
38203ad51082Schristos    Pacific/Chatham has been changed to New Zealand standard time plus
38213ad51082Schristos    45 minutes for the period before 1957, reflecting a 1956 remark in
38223ad51082Schristos    the New Zealand parliament.
38233ad51082Schristos
38243ad51082Schristos    Europe/Budapest has several pre-1946 corrections: in 1918 the transition
38253ad51082Schristos    out of DST was on 09-16, not 09-29; in 1919 it was on 11-24, not 09-15; in
38263ad51082Schristos    1945 it was on 11-01, not 11-03; in 1941 the transition to DST was 04-08
38273ad51082Schristos    not 04-06 at 02:00; and there was no DST in 1920.
38283ad51082Schristos
38293ad51082Schristos    Africa/Accra is now assumed to have observed DST from 1920 through 1935.
38303ad51082Schristos
38313ad51082Schristos    Time in Russia before 1927 or so has been corrected by a few seconds in
38323ad51082Schristos    the following zones: Europe/Moscow, Asia/Irkutsk, Asia/Tbilisi,
38333ad51082Schristos    Asia/Tashkent, Asia/Vladivostok, Asia/Yekaterinburg, Europe/Helsinki, and
38343ad51082Schristos    Europe/Riga.  Also, Moscow's location has been changed to its Kilometer 0
38353ad51082Schristos    point.  (Thanks to Vladimir Karpinsky for the Moscow changes.)
38363ad51082Schristos
38373ad51082Schristos  Changes affecting data format
38383ad51082Schristos
38393ad51082Schristos    A new file 'zone1970.tab' supersedes 'zone.tab' in the installed data.
38403ad51082Schristos    The new file's extended format allows multiple country codes per zone.
38413ad51082Schristos    The older file is still installed but is deprecated; its format is
38423ad51082Schristos    not changing and it will still be distributed for a while, but new
38433ad51082Schristos    applications should use the new file.
38443ad51082Schristos
38453ad51082Schristos    The new file format simplifies maintenance of obscure locations.
38463ad51082Schristos    To test this, it adds coverage for the Crozet Islands and the
38473ad51082Schristos    Scattered Islands.  (Thanks to Tobias Conradi and Antoine Leca.)
38483ad51082Schristos
38493ad51082Schristos    The file 'iso3166.tab' is planned to switch from ASCII to UTF-8.
38503ad51082Schristos    It is still ASCII now, but commentary about the switch has been added.
38513ad51082Schristos    The new file 'zone1970.tab' already uses UTF-8.
38523ad51082Schristos
38533ad51082Schristos  Changes affecting code
38543ad51082Schristos
38553ad51082Schristos    'localtime', 'mktime', etc. now use much less stack space if ALL_STATE
38563ad51082Schristos    is defined.  (Thanks to Elliott Hughes for reporting the problem.)
38573ad51082Schristos
38583ad51082Schristos    'zic' no longer mishandles input when ignoring case in locales that
38593ad51082Schristos    are not compatible with English, e.g., unibyte Turkish locales when
38603ad51082Schristos    compiled with HAVE_GETTEXT.
38613ad51082Schristos
38623ad51082Schristos    Error diagnostics of 'zic' and 'yearistype' have been reworded so that
38633ad51082Schristos    they no longer use ASCII '-' as if it were a dash.
38643ad51082Schristos
38653ad51082Schristos    'zic' now rejects output file names that contain '.' or '..' components.
38663ad51082Schristos    (Thanks to Tim Parenti for reporting the problem.)
38673ad51082Schristos
38683ad51082Schristos    'zic -v' now warns about output file names that do not follow
38693ad51082Schristos    POSIX rules, or that contain a digit or '.'.  (Thanks to Arthur
38703ad51082Schristos    David Olson for starting the ball rolling on this.)
38713ad51082Schristos
38723ad51082Schristos    Some lint has been removed when using GCC_DEBUG_FLAGS with GCC 4.9.0.
38733ad51082Schristos
38743ad51082Schristos  Changes affecting build procedure
38753ad51082Schristos
38763ad51082Schristos    'zic' no longer links in localtime.o and asctime.o, as they're not needed.
38773ad51082Schristos    (Thanks to John Cochran.)
38783ad51082Schristos
38793ad51082Schristos  Changes affecting documentation and commentary
38803ad51082Schristos
38813ad51082Schristos    The 'Theory' file documents legacy names, the longstanding
38823ad51082Schristos    exceptions to the POSIX-inspired file name rules.
38833ad51082Schristos
38843ad51082Schristos    The 'zic' documentation clarifies the role of time types when
38853ad51082Schristos    interpreting dates.  (Thanks to Arthur David Olson.)
38863ad51082Schristos
38873ad51082Schristos    Documentation and commentary now prefer UTF-8 to US-ASCII,
38883ad51082Schristos    allowing the use of proper accents in foreign words and names.
38893ad51082Schristos    Code and data have not changed because of this.  (Thanks to
38903ad51082Schristos    Garrett Wollman, Ian Abbott, and Guy Harris for helping to debug
38913ad51082Schristos    this.)
38923ad51082Schristos
38933ad51082Schristos    Non-HTML documentation and commentary now use plain-text URLs instead of
38943ad51082Schristos    HTML insertions, and are more consistent about bracketing URLs when they
38953ad51082Schristos    are not already surrounded by white space.  (Thanks to suggestions by
38963ad51082Schristos    Steffen Nurpmeso.)
38973ad51082Schristos
38981f6103b1Schristos    There is new commentary about Xujiahui Observatory, the five time-zone
38993ad51082Schristos    project in China from 1918 to 1949, timekeeping in Japanese-occupied
39003ad51082Schristos    Shanghai, and Tibet Time in the 1950s.  The sharp-eyed can spot the
39013ad51082Schristos    warlord Jin Shuren in the data.
39023ad51082Schristos
39033ad51082Schristos    Commentary about the coverage of each Russian zone has been standardized.
39047005738dSchristos    (Thanks to Tim Parenti.)
39053ad51082Schristos
39063ad51082Schristos    There is new commentary about contemporary timekeeping in Ethiopia.
39073ad51082Schristos
39083ad51082Schristos    Obsolete comments about a 2007 proposal for DST in Kuwait has been removed.
39093ad51082Schristos
39103ad51082Schristos    There is new commentary about time in Poland in 1919.
39113ad51082Schristos
39123ad51082Schristos    Proper credit has been given to DST inventor George Vernon Hudson.
39133ad51082Schristos
39143ad51082Schristos    Commentary about time in Metlakatla, AK and Resolute, NU has been
39153ad51082Schristos    improved, with a new source for the former.
39163ad51082Schristos
39173ad51082Schristos    In zone.tab, Pacific/Easter no longer mentions Salas y Gómez, as it
39183ad51082Schristos    is uninhabited.
39193ad51082Schristos
39203ad51082Schristos    Commentary about permanent Antarctic bases has been updated.
39213ad51082Schristos
39223ad51082Schristos    Several typos have been corrected.  (Thanks to Tim Parenti for
39233ad51082Schristos    contributing some of these fixes.)
39243ad51082Schristos
39253ad51082Schristos    tz-link.htm now mentions the JavaScript libraries Moment Timezone,
39263ad51082Schristos    TimezoneJS.Date, Walltime-js, and Timezone.  (Thanks to a heads-up
39273ad51082Schristos    from Matt Johnson.)  Also, it mentions the Go 'latlong' package.
39283ad51082Schristos    (Thanks to a heads-up from Dirkjan Ochtman.)
39293ad51082Schristos
39303ad51082Schristos    The files usno1988, usno1989, usno1989a, usno1995, usno1997, and usno1998
39313ad51082Schristos    have been removed.  These obsolescent US Naval Observatory entries were no
39323ad51082Schristos    longer helpful for maintenance.  (Thanks to Tim Parenti for the suggestion.)
39333ad51082Schristos
39343ad51082Schristos
39350970d31eSchristosRelease 2014e - 2014-06-12 21:53:52 -0700
39360970d31eSchristos
39370970d31eSchristos  Changes affecting near-future timestamps
39380970d31eSchristos
39390970d31eSchristos    Egypt's 2014 Ramadan-based transitions are June 26 and July 31 at 24:00.
39400970d31eSchristos    (Thanks to Imed Chihi.)  Guess that from 2015 on Egypt will temporarily
39410970d31eSchristos    switch to standard time at 24:00 the last Thursday before Ramadan, and
39420970d31eSchristos    back to DST at 00:00 the first Friday after Ramadan.
39430970d31eSchristos
39440970d31eSchristos    Similarly, Morocco's are June 28 at 03:00 and August 2 at 02:00.  (Thanks
39450970d31eSchristos    to Milamber Space Network.)  Guess that from 2015 on Morocco will
39460970d31eSchristos    temporarily switch to standard time at 03:00 the last Saturday before
39470970d31eSchristos    Ramadan, and back to DST at 02:00 the first Saturday after Ramadan.
39480970d31eSchristos
39490970d31eSchristos  Changes affecting past timestamps
39500970d31eSchristos
39510970d31eSchristos    The abbreviation "MSM" (Moscow Midsummer Time) is now used instead of
39520970d31eSchristos    "MSD" for Moscow's double daylight time in summer 1921.  Also, a typo
39530970d31eSchristos    "VLASST" has been repaired to be "VLAST" for Vladivostok summer time
39540970d31eSchristos    in 1991.  (Thanks to Hank W. for reporting the problems.)
39550970d31eSchristos
39560970d31eSchristos  Changes affecting commentary
39570970d31eSchristos
39580970d31eSchristos    tz-link.htm now cites RFC 7265 for jCal, mentions PTP and the
39590970d31eSchristos    draft CalDAV extension, updates URLs for TSP, TZInfo, IATA, and
39600970d31eSchristos    removes stale pointers to World Time Explorer and WORLDTIME.
39610970d31eSchristos
39624df4d972Schristos
3963032a656eSchristosRelease 2014d - 2014-05-27 21:34:40 -0700
3964032a656eSchristos
3965032a656eSchristos  Changes affecting code
3966032a656eSchristos
3967032a656eSchristos    zic no longer generates files containing timestamps before the Big Bang.
3968b2b04f7eSchristos    This works around GNOME glib bug 878
3969b2b04f7eSchristos    <https://gitlab.gnome.org/GNOME/glib/issues/878>
3970032a656eSchristos    (Thanks to Leonardo Chiquitto for reporting the bug, and to
3971032a656eSchristos    Arthur David Olson and James Cloos for suggesting improvements to the fix.)
3972032a656eSchristos
3973032a656eSchristos  Changes affecting documentation
3974032a656eSchristos
3975032a656eSchristos    tz-link.htm now mentions GNOME.
3976032a656eSchristos
3977032a656eSchristos
39784df4d972SchristosRelease 2014c - 2014-05-13 07:44:13 -0700
39794df4d972Schristos
39804df4d972Schristos  Changes affecting near-future timestamps
39814df4d972Schristos
3982032a656eSchristos    Egypt observes DST starting 2014-05-15 at 24:00.
3983032a656eSchristos    (Thanks to Ahmad El-Dardiry and Gunther Vermier.)
39844df4d972Schristos    Details have not been announced, except that DST will not be observed
39854df4d972Schristos    during Ramadan.  Guess that DST will stop during the same Ramadan dates as
39864df4d972Schristos    Morocco, and that Egypt's future spring and fall transitions will be the
39874df4d972Schristos    same as 2010 when it last observed DST, namely April's last Friday at
39884df4d972Schristos    00:00 to September's last Thursday at 23:00 standard time.  Also, guess
39894df4d972Schristos    that Ramadan transitions will be at 00:00 standard time.
39904df4d972Schristos
39914df4d972Schristos  Changes affecting code
39924df4d972Schristos
39934df4d972Schristos    zic now generates transitions for minimum time values, eliminating guesswork
39944df4d972Schristos    when handling low-valued timestamps.  (Thanks to Arthur David Olson.)
39954df4d972Schristos
39964df4d972Schristos    Port to Cygwin sans glibc.  (Thanks to Arthur David Olson.)
39974df4d972Schristos
39984df4d972Schristos  Changes affecting commentary and documentation
39994df4d972Schristos
40004df4d972Schristos    Remove now-confusing comment about Jordan.  (Thanks to Oleksii Nochovnyi.)
40014df4d972Schristos
40024df4d972Schristos
40034df4d972SchristosRelease 2014b - 2014-03-24 21:28:50 -0700
40044df4d972Schristos
40054df4d972Schristos  Changes affecting near-future timestamps
40064df4d972Schristos
40074df4d972Schristos    Crimea switches to Moscow time on 2014-03-30 at 02:00 local time.
40084df4d972Schristos    (Thanks to Alexander Krivenyshev.)  Move its zone.tab entry from UA to RU.
40094df4d972Schristos
40104df4d972Schristos    New entry for Troll station, Antarctica.  (Thanks to Paul-Inge Flakstad and
40114df4d972Schristos    Bengt-Inge Larsson.)  This is currently an approximation; a better version
40124df4d972Schristos    will require the zic and localtime fixes mentioned below, and the plan is
40134df4d972Schristos    to wait for a while until at least the zic fixes propagate.
40144df4d972Schristos
40154df4d972Schristos  Changes affecting code
40164df4d972Schristos
40174df4d972Schristos    'zic' and 'localtime' no longer reject locations needing four transitions
40181f6103b1Schristos    per year for the foreseeable future.  (Thanks to Andrew Main (Zefram).)
40194df4d972Schristos    Also, 'zic' avoids some unlikely failures due to integer overflow.
40204df4d972Schristos
40214df4d972Schristos  Changes affecting build procedure
40224df4d972Schristos
40234df4d972Schristos    'make check' now detects Rule lines defined but never used.
40244df4d972Schristos    The NZAQ rules, an instance of this problem, have been removed.
40254df4d972Schristos
40264df4d972Schristos  Changes affecting commentary and documentation
40274df4d972Schristos
40284df4d972Schristos    Fix Tuesday/Thursday typo in description of time in Israel.
40294df4d972Schristos    (Thanks to Bert Katz via Pavel Kharitonov and Mike Frysinger.)
40304df4d972Schristos
40314df4d972Schristos    Microsoft Windows 8.1 doesn't support tz database names.  (Thanks
40324df4d972Schristos    to Donald MacQueen.)  Instead, the Microsoft Windows Store app
40334df4d972Schristos    library supports them.
40344df4d972Schristos
40354df4d972Schristos    Add comments about Johnston Island time in the 1960s.
40364df4d972Schristos    (Thanks to Lyle McElhaney.)
40374df4d972Schristos
40384df4d972Schristos    Morocco's 2014 DST start will be as predicted.
40394df4d972Schristos    (Thanks to Sebastien Willemijns.)
40404df4d972Schristos
40414df4d972Schristos
40424df4d972SchristosRelease 2014a - 2014-03-07 23:30:29 -0800
40434df4d972Schristos
40444df4d972Schristos  Changes affecting near-future timestamps
40454df4d972Schristos
40464df4d972Schristos    Turkey begins DST on 2014-03-31, not 03-30.  (Thanks to Faruk Pasin for
40474df4d972Schristos    the heads-up, and to Tim Parenti for simplifying the update.)
40484df4d972Schristos
40494df4d972Schristos  Changes affecting past timestamps
40504df4d972Schristos
405189098d20Schristos    Fiji ended DST on 2014-01-19 at 02:00, not the previously scheduled 03:00.
40524df4d972Schristos    (Thanks to Steffen Thorsen.)
40534df4d972Schristos
40544df4d972Schristos    Ukraine switched from Moscow to Eastern European time on 1990-07-01
40554df4d972Schristos    (not 1992-01-01), and observed DST during the entire next winter.
40564df4d972Schristos    (Thanks to Vladimir in Moscow via Alois Treindl.)
40574df4d972Schristos
40584df4d972Schristos    In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to 09-03.
40594df4d972Schristos    (Thanks to Avigdor Finkelstein.)
40604df4d972Schristos
40614df4d972Schristos  Changes affecting code
40624df4d972Schristos
40634df4d972Schristos    A uninitialized-storage bug in 'localtime' has been fixed.
40644df4d972Schristos    (Thanks to Logan Chien.)
40654df4d972Schristos
40664df4d972Schristos  Changes affecting the build procedure
40674df4d972Schristos
40684df4d972Schristos    The settings for 'make check_web' now default to Ubuntu 13.10.
40694df4d972Schristos
40704df4d972Schristos  Changes affecting commentary and documentation
40714df4d972Schristos
40724df4d972Schristos    The boundary of the US Pacific time zone is given more accurately.
40734df4d972Schristos    (Thanks to Alan Mintz.)
40744df4d972Schristos
40753ad51082Schristos    Chile's 2014 DST will be as predicted.  (Thanks to José Miguel Garrido.)
40764df4d972Schristos
40773ad51082Schristos    Paraguay's 2014 DST will be as predicted.  (Thanks to Carlos Raúl Perasso.)
40784df4d972Schristos
40794df4d972Schristos    Better descriptions of countries with same time zone history as
40804df4d972Schristos    Trinidad and Tobago since 1970.  (Thanks to Alan Barrett for suggestion.)
40814df4d972Schristos
40824df4d972Schristos    Several changes affect tz-link.htm, the main web page.
40834df4d972Schristos
40844df4d972Schristos      Mention Time.is (thanks to Even Scharning) and WX-now (thanks to
40854df4d972Schristos      David Braverman).
40864df4d972Schristos
40874df4d972Schristos      Mention xCal (Internet RFC 6321) and jCal.
40884df4d972Schristos
40894df4d972Schristos      Microsoft has some support for tz database names.
40904df4d972Schristos
40911f6103b1Schristos      CLDR data formats include both XML and JSON.
40924df4d972Schristos
40934df4d972Schristos      Mention Maggiolo's map of solar vs standard time.
40944df4d972Schristos      (Thanks to Arthur David Olson.)
40954df4d972Schristos
40964df4d972Schristos      Mention TZ4Net.  (Thanks to Matt Johnson.)
40974df4d972Schristos
40984df4d972Schristos      Mention the timezone-olson Haskell package.
40994df4d972Schristos
41003ad51082Schristos      Mention zeitverschiebung.net.  (Thanks to Martin Jäger.)
41014df4d972Schristos
41024df4d972Schristos      Remove moribund links to daylight-savings-time.info and to
41034df4d972Schristos      Simple Timer + Clocks.
41044df4d972Schristos
41054df4d972Schristos      Update two links.  (Thanks to Oscar van Vlijmen.)
41064df4d972Schristos
41074df4d972Schristos      Fix some formatting glitches, e.g., remove random newlines from
41084df4d972Schristos      abbr elements' title attributes.
41094df4d972Schristos
41104df4d972Schristos
411100295176SchristosRelease 2013i - 2013-12-17 07:25:23 -0800
411200295176Schristos
411300295176Schristos  Changes affecting near-future timestamps:
411400295176Schristos
411500295176Schristos    Jordan switches back to standard time at 00:00 on December 20, 2013.
411600295176Schristos    The 2006-2011 transition schedule is planned to resume in 2014.
411700295176Schristos    (Thanks to Steffen Thorsen.)
411800295176Schristos
411900295176Schristos  Changes affecting past timestamps:
412000295176Schristos
412100295176Schristos    In 2004, Cuba began DST on March 28, not April 4.
412200295176Schristos    (Thanks to Steffen Thorsen.)
412300295176Schristos
412400295176Schristos  Changes affecting code
412500295176Schristos
412600295176Schristos    The compile-time flag NOSOLAR has been removed, as nowadays the
412700295176Schristos    benefit of slightly shrinking runtime table size is outweighed by the
412800295176Schristos    cost of disallowing potential future updates that exceed old limits.
412900295176Schristos
413000295176Schristos  Changes affecting documentation and commentary
413100295176Schristos
413200295176Schristos    The files solar87, solar88, and solar89 are no longer distributed.
41333ad51082Schristos    They were a negative experiment - that is, a demonstration that
413400295176Schristos    tz data can represent solar time only with some difficulty and error.
413500295176Schristos    Their presence in the distribution caused confusion, as Riyadh
413600295176Schristos    civil time was generally not solar time in those years.
413700295176Schristos
413800295176Schristos    tz-link.htm now mentions Noda Time.  (Thanks to Matt Johnson.)
413900295176Schristos
41404df4d972Schristos
414100295176SchristosRelease 2013h - 2013-10-25 15:32:32 -0700
414200295176Schristos
414300295176Schristos  Changes affecting current and future timestamps:
414400295176Schristos
41459551d334Schristos    Libya has switched its UT offset back to +02 without DST, instead
41469551d334Schristos    of +01 with DST.  (Thanks to Even Scharning.)
414700295176Schristos
414800295176Schristos    Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.
414900295176Schristos    (Thanks to Gwillim Law.)
415000295176Schristos
415100295176Schristos  Changes affecting future timestamps:
415200295176Schristos
41539551d334Schristos    Acre and (we guess) western Amazonas will switch from UT -04 to -05
415400295176Schristos    on 2013-11-10.  This affects America/Rio_Branco and America/Eirunepe.
415500295176Schristos    (Thanks to Steffen Thorsen.)
415600295176Schristos
415700295176Schristos    Add entries for DST transitions in Morocco in the year 2038.
415800295176Schristos    This avoids some year-2038 glitches introduced in 2013g.
415900295176Schristos    (Thanks to Yoshito Umaoka for reporting the problem.)
416000295176Schristos
416100295176Schristos  Changes affecting API
416200295176Schristos
416300295176Schristos    The 'tzselect' command no longer requires the 'select' command,
416400295176Schristos    and should now work with /bin/sh on more platforms.  It also works
416500295176Schristos    around a bug in BusyBox awk before version 1.21.0.  (Thanks to
41663ad51082Schristos    Patrick 'P. J.' McDermott and Alan Barrett.)
416700295176Schristos
416800295176Schristos  Changes affecting code
416900295176Schristos
417000295176Schristos    Fix localtime overflow bugs with 32-bit unsigned time_t.
417100295176Schristos
417200295176Schristos    zdump no longer assumes sscanf returns maximal values on overflow.
417300295176Schristos
417400295176Schristos  Changes affecting the build procedure
417500295176Schristos
417600295176Schristos    The builder can specify which programs to use, if any, instead of
417700295176Schristos    'ar' and 'ranlib', and libtz.a is now built locally before being
417800295176Schristos    installed.  (Thanks to Michael Forney.)
417900295176Schristos
418000295176Schristos    A dependency typo in the 'zdump' rule has been fixed.
418100295176Schristos    (Thanks to Andrew Paprocki.)
418200295176Schristos
418300295176Schristos    The Makefile has been simplified by assuming that 'mkdir -p' and 'cp -f'
418400295176Schristos    work as specified by POSIX.2-1992 or later; this is portable nowadays.
418500295176Schristos
418600295176Schristos    'make clean' no longer removes 'leapseconds', since it's
418700295176Schristos    host-independent and is part of the distribution.
418800295176Schristos
418900295176Schristos    The unused makefile macros TZCSRCS, TZDSRCS, DATESRCS have been removed.
419000295176Schristos
419100295176Schristos  Changes affecting documentation and commentary
419200295176Schristos
419300295176Schristos    tz-link.htm now mentions TC TIMEZONE's draft time zone service protocol
419400295176Schristos    (thanks to Mike Douglass) and TimezoneJS.Date (thanks to Jim Fehrle).
419500295176Schristos
419600295176Schristos    Update URLs in tz-link page.  Add URLs for Microsoft Windows, since
419700295176Schristos    8.1 introduces tz support.  Remove URLs for Tru64 and UnixWare (no
419800295176Schristos    longer maintained) and for old advisories.  SOFA now does C.
419900295176Schristos
420000295176SchristosRelease 2013g - 2013-09-30 21:08:26 -0700
420100295176Schristos
420200295176Schristos  Changes affecting current and near-future timestamps
420300295176Schristos
420400295176Schristos    Morocco now observes DST from the last Sunday in March to the last
420500295176Schristos    Sunday in October, not April to September respectively.  (Thanks
420600295176Schristos    to Steffen Thorsen.)
420700295176Schristos
420800295176Schristos  Changes affecting 'zic'
420900295176Schristos
421000295176Schristos    'zic' now runs on platforms that lack both hard links and symlinks.
421100295176Schristos    (Thanks to Theo Veenker for reporting the problem, for MinGW.)
421200295176Schristos    Also, fix some bugs on platforms that lack hard links but have symlinks.
421300295176Schristos
421400295176Schristos    'zic -v' again warns that Asia/Tehran has no POSIX environment variable
421500295176Schristos    to predict the far future, fixing a bug introduced in 2013e.
421600295176Schristos
421700295176Schristos  Changes affecting the build procedure
421800295176Schristos
421900295176Schristos    The 'leapseconds' file is again put into the tzdata tarball.
422000295176Schristos    Also, 'leapseconds.awk', so tzdata is self-contained.  (Thanks to
422100295176Schristos    Matt Burgess and Ian Abbott.)  The timestamps of these and other
422200295176Schristos    dependent files in tarballs are adjusted more consistently.
422300295176Schristos
422400295176Schristos  Changes affecting documentation and commentary
422500295176Schristos
422600295176Schristos    The README file is now part of the data tarball as well as the code.
422700295176Schristos    It now states that files are public domain unless otherwise specified.
422800295176Schristos    (Thanks to Andrew Main (Zefram) for asking for clarifications.)
422900295176Schristos    Its details about the 1989 release moved to a place of honor near
423000295176Schristos    the end of NEWS.
423100295176Schristos
423200295176Schristos
423300295176SchristosRelease 2013f - 2013-09-24 23:37:36 -0700
423400295176Schristos
423500295176Schristos  Changes affecting near-future timestamps
423600295176Schristos
423700295176Schristos    Tocantins will very likely not observe DST starting this spring.
423800295176Schristos    (Thanks to Steffen Thorsen.)
423900295176Schristos
42409551d334Schristos    Jordan will likely stay at UT +03 indefinitely, and will not fall
424100295176Schristos    back this fall.
424200295176Schristos
424300295176Schristos    Palestine will fall back at 00:00, not 01:00.  (Thanks to Steffen Thorsen.)
424400295176Schristos
424500295176Schristos  Changes affecting API
424600295176Schristos
424700295176Schristos    The types of the global variables 'timezone' and 'altzone' (if present)
424800295176Schristos    have been changed back to 'long'.  This is required for 'timezone'
424900295176Schristos    by POSIX, and for 'altzone' by common practice, e.g., Solaris 11.
425000295176Schristos    These variables were originally 'long' in the tz code, but were
425100295176Schristos    mistakenly changed to 'time_t' in 1987; nobody reported the
425200295176Schristos    incompatibility until now.  The difference matters on x32, where
425300295176Schristos    'long' is 32 bits and 'time_t' is 64.  (Thanks to Elliott Hughes.)
425400295176Schristos
425500295176Schristos  Changes affecting the build procedure
425600295176Schristos
425700295176Schristos    Avoid long strings in leapseconds.awk to work around a mawk bug.
425800295176Schristos    (Thanks to Cyril Baurand.)
425900295176Schristos
426000295176Schristos  Changes affecting documentation and commentary
426100295176Schristos
426200295176Schristos    New file 'NEWS' that contains release notes like this one.
426300295176Schristos
426400295176Schristos    Paraguay's law does not specify DST transition time; 00:00 is customary.
426500295176Schristos    (Thanks to Waldemar Villamayor-Venialbo.)
426600295176Schristos
426700295176Schristos    Minor capitalization fixes.
426800295176Schristos
426900295176Schristos  Changes affecting version-control only
427000295176Schristos
42711f6103b1Schristos    The experimental GitHub repository now contains annotated and
427200295176Schristos    signed tags for recent releases, e.g., '2013e' for Release 2013e.
427300295176Schristos    Releases are tagged starting with 2012e; earlier releases were
427400295176Schristos    done differently, and tags would either not have a simple name or
427500295176Schristos    not exactly match what was released.
427600295176Schristos
427700295176Schristos    'make set-timestamps' is now simpler and a bit more portable.
427800295176Schristos
427900295176Schristos
428000295176SchristosRelease 2013e - 2013-09-19 23:50:04 -0700
428100295176Schristos
428200295176Schristos  Changes affecting near-future timestamps
428300295176Schristos
428400295176Schristos    This year Fiji will start DST on October 27, not October 20.
428500295176Schristos    (Thanks to David Wheeler for the heads-up.)  For now, guess that
428600295176Schristos    Fiji will continue to spring forward the Sunday before the fourth
428700295176Schristos    Monday in October.
428800295176Schristos
428900295176Schristos  Changes affecting current and future time zone abbreviations
429000295176Schristos
429100295176Schristos    Use WIB/WITA/WIT rather than WIT/CIT/EIT for alphabetic Indonesian
429200295176Schristos    time zone abbreviations since 1932.  (Thanks to George Ziegler,
429300295176Schristos    Priyadi Iman Nurcahyo, Zakaria, Jason Grimes, Martin Pitt, and
429400295176Schristos    Benny Lin.)  This affects Asia/Dili, Asia/Jakarta, Asia/Jayapura,
429500295176Schristos    Asia/Makassar, and Asia/Pontianak.
429600295176Schristos
42979551d334Schristos    Use ART (UT -03, standard time), rather than WARST (also -03, but
429800295176Schristos    daylight saving time) for San Luis, Argentina since 2009.
429900295176Schristos
43003ad51082Schristos  Changes affecting Godthåb timestamps after 2037 if version mismatch
430100295176Schristos
430200295176Schristos    Allow POSIX-like TZ strings where the transition time's hour can
430300295176Schristos    range from -167 through 167, instead of the POSIX-required 0
430400295176Schristos    through 24.  E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the
430589098d20Schristos    new Fiji rules.  This is a more compact way to represent
430600295176Schristos    far-future timestamps for America/Godthab, America/Santiago,
430700295176Schristos    Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem,
430800295176Schristos    Pacific/Easter, and Pacific/Fiji.  Other zones are unaffected by
430900295176Schristos    this change.  (Derived from a suggestion by Arthur David Olson.)
431000295176Schristos
431100295176Schristos    Allow POSIX-like TZ strings where daylight saving time is in
431200295176Schristos    effect all year.  E.g., TZ='WART4WARST,J1/0,J365/25' for Western
431389098d20Schristos    Argentina Summer Time all year.  This supports a more compact way
431400295176Schristos    to represent the 2013d data for America/Argentina/San_Luis.
431500295176Schristos    Because of the change for San Luis noted above this change does not
431600295176Schristos    affect the current data.  (Thanks to Andrew Main (Zefram) for
431700295176Schristos    suggestions that improved this change.)
431800295176Schristos
431900295176Schristos    Where these two TZ changes take effect, there is a minor extension
432000295176Schristos    to the tz file format in that it allows new values for the
432100295176Schristos    embedded TZ-format string, and the tz file format version number
432200295176Schristos    has therefore been increased from 2 to 3 as a precaution.
432300295176Schristos    Version-2-based client code should continue to work as before for
432400295176Schristos    all timestamps before 2038.  Existing version-2-based client code
432500295176Schristos    (tzcode, GNU/Linux, Solaris) has been tested on version-3-format
432600295176Schristos    files, and typically works in practice even for timestamps after
432700295176Schristos    2037; the only known exception is America/Godthab.
432800295176Schristos
432900295176Schristos  Changes affecting timestamps before 1970
433000295176Schristos
433100295176Schristos    Pacific/Johnston is now a link to Pacific/Honolulu.  This corrects
433200295176Schristos    some errors before 1947.
433300295176Schristos
43341f6103b1Schristos    Some zones have been turned into links, when they differ from existing
43351f6103b1Schristos    zones only in older data entries that were likely invented or that
43361f6103b1Schristos    differ only in LMT or transitions from LMT.  These changes affect
433700295176Schristos    only timestamps before 1943.  The affected zones are:
433800295176Schristos    Africa/Juba, America/Anguilla, America/Aruba, America/Dominica,
433900295176Schristos    America/Grenada, America/Guadeloupe, America/Marigot,
434000295176Schristos    America/Montserrat, America/St_Barthelemy, America/St_Kitts,
434100295176Schristos    America/St_Lucia, America/St_Thomas, America/St_Vincent,
434200295176Schristos    America/Tortola, and Europe/Vaduz.  (Thanks to Alois Treindl for
434300295176Schristos    confirming that the old Europe/Vaduz zone was wrong and the new
434400295176Schristos    link is better for WWII-era times.)
434500295176Schristos
434600295176Schristos    Change Kingston Mean Time from -5:07:12 to -5:07:11.  This affects
434700295176Schristos    America/Cayman, America/Jamaica and America/Grand_Turk timestamps
434800295176Schristos    from 1890 to 1912.
434900295176Schristos
435000295176Schristos    Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46.
435100295176Schristos    This affects Europe/Zurich timestamps from 1853 to 1894.  (Thanks
43527005738dSchristos    to Alois Treindl.)
435300295176Schristos
435400295176Schristos    Change the date of the circa-1850 Zurich transition from 1849-09-12
435500295176Schristos    to 1853-07-16, overriding Shanks with data from Messerli about
435600295176Schristos    postal and telegraph time in Switzerland.
435700295176Schristos
435800295176Schristos  Changes affecting time zone abbreviations before 1970
435900295176Schristos
436000295176Schristos    For Asia/Jakarta, use BMT (not JMT) for mean time from 1923 to 1932,
436100295176Schristos    as Jakarta was called Batavia back then.
436200295176Schristos
436300295176Schristos  Changes affecting API
436400295176Schristos
436500295176Schristos    The 'zic' command now outputs a dummy transition when far-future
436600295176Schristos    data can't be summarized using a TZ string, and uses a 402-year
436700295176Schristos    window rather than a 400-year window.  For the current data, this
436800295176Schristos    affects only the Asia/Tehran file.  It does not affect any of the
436900295176Schristos    timestamps that this file represents, so zdump outputs the same
437000295176Schristos    information as before.  (Thanks to Andrew Main (Zefram).)
437100295176Schristos
437200295176Schristos    The 'date' command has a new '-r' option, which lets you specify
437300295176Schristos    the integer time to display, a la FreeBSD.
437400295176Schristos
437500295176Schristos    The 'tzselect' command has two new options '-c' and '-n', which lets you
437600295176Schristos    select a zone based on latitude and longitude.
437700295176Schristos
437800295176Schristos    The 'zic' command's '-v' option now warns about constructs that
437900295176Schristos    require the new version-3 binary file format.  (Thanks to Arthur
438000295176Schristos    David Olson for the suggestion.)
438100295176Schristos
438200295176Schristos    Support for floating-point time_t has been removed.
438300295176Schristos    It was always dicey, and POSIX no longer requires it.
438400295176Schristos    (Thanks to Eric Blake for suggesting to the POSIX committee to
438500295176Schristos    remove it, and thanks to Alan Barrett, Clive D.W. Feather, Andy
438600295176Schristos    Heninger, Arthur David Olson, and Alois Treindl, for reporting
438700295176Schristos    bugs and elucidating some of the corners of the old floating-point
438800295176Schristos    implementation.)
438900295176Schristos
439000295176Schristos    The signatures of 'offtime', 'timeoff', and 'gtime' have been
439100295176Schristos    changed back to the old practice of using 'long' to represent UT
439200295176Schristos    offsets.  This had been inadvertently and mistakenly changed to
43931f6103b1Schristos    'int_fast32_t'.  (Thanks to Christos Zoulas.)
439400295176Schristos
439500295176Schristos    The code avoids undefined behavior on integer overflow in some
439600295176Schristos    more places, including gmtime, localtime, mktime and zdump.
439700295176Schristos
439800295176Schristos  Changes affecting the zdump utility
439900295176Schristos
440000295176Schristos    zdump now outputs "UT" when referring to Universal Time, not "UTC".
440100295176Schristos    "UTC" does not make sense for timestamps that predate the introduction
440289098d20Schristos    of UTC, whereas "UT", a more generic term, does.  (Thanks to Steve Allen
440300295176Schristos    for clarifying UT vs UTC.)
440400295176Schristos
440500295176Schristos  Data changes affecting behavior of tzselect and similar programs
440600295176Schristos
440789098d20Schristos    Country code BQ is now called the more common name "Caribbean Netherlands"
440889098d20Schristos    rather than the more official "Bonaire, St Eustatius & Saba".
440900295176Schristos
441000295176Schristos    Remove from zone.tab the names America/Montreal, America/Shiprock,
441100295176Schristos    and Antarctica/South_Pole, as they are equivalent to existing
44121f6103b1Schristos    same-country-code zones for post-1970 timestamps.  The data entries for
441300295176Schristos    these names are unchanged, so the names continue to work as before.
441400295176Schristos
441500295176Schristos  Changes affecting code internals
441600295176Schristos
441700295176Schristos    zic -c now runs way faster on 64-bit hosts when given large numbers.
441800295176Schristos
441900295176Schristos    zic now uses vfprintf to avoid allocating and freeing some memory.
442000295176Schristos
442100295176Schristos    tzselect now computes the list of continents from the data,
442200295176Schristos    rather than have it hard-coded.
442300295176Schristos
442400295176Schristos    Minor changes pacify GCC 4.7.3 and GCC 4.8.1.
442500295176Schristos
442600295176Schristos  Changes affecting the build procedure
442700295176Schristos
442800295176Schristos    The 'leapseconds' file is now generated automatically from a
442900295176Schristos    new file 'leap-seconds.list', which is a copy of
44305f2f4c60Schristos    <ftp://ftp.nist.gov/pub/time/leap-seconds.list>
443100295176Schristos    A new source file 'leapseconds.awk' implements this.
443200295176Schristos    The goal is simplification of the future maintenance of 'leapseconds'.
443300295176Schristos
443400295176Schristos    When building the 'posix' or 'right' subdirectories, if the
443500295176Schristos    subdirectory would be a copy of the default subdirectory, it is
443600295176Schristos    now made a symbolic link if that is supported.  This saves about
443700295176Schristos    2 MB of file system space.
443800295176Schristos
443900295176Schristos    The links America/Shiprock and Antarctica/South_Pole have been
444000295176Schristos    moved to the 'backward' file.  This affects only nondefault builds
444100295176Schristos    that omit 'backward'.
444200295176Schristos
444300295176Schristos  Changes affecting version-control only
444400295176Schristos
444500295176Schristos    .gitignore now ignores 'date'.
444600295176Schristos
444700295176Schristos  Changes affecting documentation and commentary
444800295176Schristos
444900295176Schristos    Changes to the 'tzfile' man page
445000295176Schristos
445100295176Schristos      It now mentions that the binary file format may be extended in
445200295176Schristos      future versions by appending data.
445300295176Schristos
445400295176Schristos      It now refers to the 'zdump' and 'zic' man pages.
445500295176Schristos
445600295176Schristos    Changes to the 'zic' man page
445700295176Schristos
445800295176Schristos      It lists conditions that elicit a warning with '-v'.
445900295176Schristos
446000295176Schristos      It says that the behavior is unspecified when duplicate names
446100295176Schristos      are given, or if the source of one link is the target of another.
446200295176Schristos
446300295176Schristos      Its examples are updated to match the latest data.
446400295176Schristos
446500295176Schristos      The definition of white space has been clarified slightly.
446600295176Schristos      (Thanks to Michael Deckers.)
446700295176Schristos
446800295176Schristos    Changes to the 'Theory' file
446900295176Schristos
447000295176Schristos      There is a new section about the accuracy of the tz database,
447100295176Schristos      describing the many ways that errors can creep in, and
447200295176Schristos      explaining why so many of the pre-1970 timestamps are wrong or
447300295176Schristos      misleading (thanks to Steve Allen, Lester Caine, and Garrett
447400295176Schristos      Wollman for discussions that contributed to this).
447500295176Schristos
447600295176Schristos      The 'Theory' file describes LMT better (this follows a
447700295176Schristos      suggestion by Guy Harris).
447800295176Schristos
447900295176Schristos      It refers to the 2013 edition of POSIX rather than the 2004 edition.
448000295176Schristos
448100295176Schristos      It's mentioned that excluding 'backward' should not affect the
448200295176Schristos      other data, and it suggests at least one zone.tab name per
448300295176Schristos      inhabited country (thanks to Stephen Colebourne).
448400295176Schristos
448500295176Schristos      Some longstanding restrictions on names are documented, e.g.,
448600295176Schristos      'America/New_York' precludes 'America/New_York/Bronx'.
448700295176Schristos
448800295176Schristos      It gives more reasons for the 1970 cutoff.
448900295176Schristos
449000295176Schristos      It now mentions which time_t variants are supported, such as
449100295176Schristos      signed integer time_t.  (Thanks to Paul Goyette for reporting
449200295176Schristos      typos in an experimental version of this change.)
449300295176Schristos
449400295176Schristos      (Thanks to Philip Newton for correcting typos in these changes.)
449500295176Schristos
449600295176Schristos    Documentation and commentary is more careful to distinguish UT in
449700295176Schristos    general from UTC in particular.  (Thanks to Steve Allen.)
449800295176Schristos
449900295176Schristos    Add a better source for the Zurich 1894 transition.
450000295176Schristos    (Thanks to Pierre-Yves Berger.)
450100295176Schristos
450200295176Schristos    Update shapefile citations in tz-link.htm.  (Thanks to Guy Harris.)
450300295176Schristos
450400295176Schristos
450500295176SchristosRelease 2013d - 2013-07-05 07:38:01 -0700
450600295176Schristos
450700295176Schristos  Changes affecting future timestamps:
450800295176Schristos
450900295176Schristos    Morocco's midsummer transitions this year are July 7 and August 10,
451000295176Schristos    not July 9 and August 8.  (Thanks to Andrew Paprocki.)
451100295176Schristos
451200295176Schristos    Israel now falls back on the last Sunday of October.
451300295176Schristos    (Thanks to Ephraim Silverberg.)
451400295176Schristos
451500295176Schristos  Changes affecting past timestamps:
451600295176Schristos
451700295176Schristos    Specify Jerusalem's location more precisely; this changes the pre-1880
451800295176Schristos    times by 2 s.
451900295176Schristos
452000295176Schristos  Changing affecting metadata only:
452100295176Schristos
452200295176Schristos    Fix typos in the entries for country codes BQ and SX.
452300295176Schristos
452400295176Schristos  Changes affecting code:
452500295176Schristos
452600295176Schristos    Rework the code to fix a bug with handling Australia/Macquarie on
452700295176Schristos    32-bit hosts (thanks to Arthur David Olson).
452800295176Schristos
452900295176Schristos    Port to platforms like NetBSD, where time_t can be wider than long.
453000295176Schristos
453100295176Schristos    Add support for testing time_t types other than the system's.
453200295176Schristos    Run 'make check_time_t_alternatives' to try this out.
453300295176Schristos    Currently, the tests fail for unsigned time_t;
453400295176Schristos    this should get fixed at some point.
453500295176Schristos
453600295176Schristos  Changes affecting documentation and commentary:
453700295176Schristos
453800295176Schristos    Deemphasize the significance of national borders.
453900295176Schristos
454000295176Schristos    Update the zdump man page.
454100295176Schristos
454200295176Schristos    Remove obsolete NOID comment (thanks to Denis Excoffier).
454300295176Schristos
454400295176Schristos    Update several URLs and comments in the web pages.
454500295176Schristos
454600295176Schristos    Spelling fixes (thanks to Kevin Lyda and Jonathan Leffler).
454700295176Schristos
454800295176Schristos    Update URL for CLDR Zone->Tzid table (thanks to Yoshito Umaoka).
454900295176Schristos
455000295176Schristos
455100295176SchristosRelease 2013c - 2013-04-19 16:17:40 -0700
455200295176Schristos
455300295176Schristos  Changes affecting current and future timestamps:
455400295176Schristos
455500295176Schristos    Palestine observed DST starting March 29, 2013.  (Thanks to
455600295176Schristos    Steffen Thorsen.)  From 2013 on, Gaza and Hebron both observe DST,
455700295176Schristos    with the predicted rules being the last Thursday in March at 24:00
455800295176Schristos    to the first Friday on or after September 21 at 01:00.
455900295176Schristos
456000295176Schristos    Assume that the recent change to Paraguay's DST rules is permanent,
456100295176Schristos    by moving the end of DST to the 4th Sunday in March every year.
45623ad51082Schristos    (Thanks to Carlos Raúl Perasso.)
456300295176Schristos
456400295176Schristos  Changes affecting past timestamps:
456500295176Schristos
456600295176Schristos    Fix some historical data for Palestine to agree with that of
456700295176Schristos    timeanddate.com, as follows:
456800295176Schristos
456900295176Schristos	  The spring 2008 change in Gaza and Hebron was on 00:00 Mar 28, not
457000295176Schristos	  00:00 Apr 1.
457100295176Schristos
457200295176Schristos	  The fall 2009 change in Gaza and Hebron on Sep 4 was at 01:00, not
457300295176Schristos	  02:00.
457400295176Schristos
457500295176Schristos	  The spring 2010 change in Hebron was 00:00 Mar 26, not 00:01 Mar 27.
457600295176Schristos
457700295176Schristos	  The spring 2011 change in Gaza was 00:01 Apr 1, not 12:01 Apr 2.
457800295176Schristos
457900295176Schristos	  The spring 2011 change in Hebron on Apr 1 was at 00:01, not 12:01.
458000295176Schristos
458100295176Schristos	  The fall 2011 change in Hebron on Sep 30 was at 00:00, not 03:00.
458200295176Schristos
458300295176Schristos    Fix times of habitation for Macquarie to agree with the Tasmania
458400295176Schristos    Parks & Wildlife Service history, which indicates that permanent
458500295176Schristos    habitation was 1899-1919 and 1948 on.
458600295176Schristos
458700295176Schristos  Changing affecting metadata only:
458800295176Schristos
458900295176Schristos    Macquarie Island is politically part of Australia, not Antarctica.
459000295176Schristos    (Thanks to Tobias Conradi.)
459100295176Schristos
459289098d20Schristos    Sort Macquarie more consistently with other parts of Australia.
459300295176Schristos    (Thanks to Tim Parenti.)
459400295176Schristos
459500295176Schristos
459600295176SchristosRelease 2013b - 2013-03-10 22:33:40 -0700
459700295176Schristos
459800295176Schristos  Changes affecting current and future timestamps:
459900295176Schristos
460000295176Schristos    Haiti uses US daylight-saving rules this year, and presumably future years.
460100295176Schristos    This changes timestamps starting today.  (Thanks to Steffen Thorsen.)
460200295176Schristos
460300295176Schristos    Paraguay will end DST on March 24 this year.
460400295176Schristos    (Thanks to Steffen Thorsen.)  For now, assume it's just this year.
460500295176Schristos
460600295176Schristos    Morocco does not observe DST during Ramadan;
460700295176Schristos    try to predict Ramadan in Morocco as best we can.
460800295176Schristos    (Thanks to Erik Homoet for the heads-up.)
460900295176Schristos
461000295176Schristos  Changes affecting commentary:
461100295176Schristos
461200295176Schristos    Update URLs in tz-link page.  Add URLs for webOS, BB10, iOS.
461300295176Schristos    Update URL for Solaris.  Mention Internet RFC 6557.
461400295176Schristos    Update Internet RFCs 2445->5545, 2822->5322.
461500295176Schristos    Switch from FTP to HTTP for Internet RFCs.
461600295176Schristos
461700295176Schristos
461800295176SchristosRelease 2013a - 2013-02-27 09:20:35 -0800
461900295176Schristos
462000295176Schristos  Change affecting binary data format:
462100295176Schristos
462200295176Schristos    The zone offset at the end of version-2-format zone files is now
46233ad51082Schristos    allowed to be 24:00, as per POSIX.1-2008.  (Thanks to Arthur David Olson.)
462400295176Schristos
462500295176Schristos  Changes affecting current and future timestamps:
462600295176Schristos
462700295176Schristos    Chile's 2013 rules, and we guess rules for 2014 and later, will be
462800295176Schristos    the same as 2012, namely Apr Sun>=23 03:00 UTC to Sep Sun>=2 04:00 UTC.
462900295176Schristos    (Thanks to Steffen Thorsen and Robert Elz.)
463000295176Schristos
463100295176Schristos    New Zones Asia/Khandyga, Asia/Ust-Nera, Europe/Busingen.
463200295176Schristos    (Thanks to Tobias Conradi and Arthur David Olson.)
463300295176Schristos
463400295176Schristos  Many changes affect historical timestamps before 1940.
463500295176Schristos  These were deduced from: Milne J. Civil time. Geogr J. 1899
46365f2f4c60Schristos  Feb;13(2):173-94 <https://www.jstor.org/stable/1774359>.
463700295176Schristos
463800295176Schristos  Changes affecting the code:
463900295176Schristos
464000295176Schristos    Fix zic bug that mishandled Egypt's 2010 changes (this also affected
464100295176Schristos    the data).  (Thanks to Arthur David Olson.)
464200295176Schristos
464300295176Schristos    Fix localtime bug when time_t is unsigned and data files were generated
464400295176Schristos    by a signed time_t system.  (Thanks to Doug Bailey for reporting and
464500295176Schristos    to Arthur David Olson for fixing.)
464600295176Schristos
464700295176Schristos    Allow the email address for bug reports to be set by the packager.
464800295176Schristos    The default is tz@iana.org, as before.  (Thanks to Joseph S. Myers.)
464900295176Schristos
465000295176Schristos    Update HTML checking to be compatible with Ubuntu 12.10.
465100295176Schristos
465200295176Schristos    Check that files are a safe subset of ASCII.  At some point we may
465300295176Schristos    relax this requirement to a safe subset of UTF-8.  Without the
465400295176Schristos    check, some non-UTF-8 encodings were leaking into the distribution.
465500295176Schristos
465600295176Schristos  Commentary changes:
465700295176Schristos
465800295176Schristos    Restore a comment about copyright notices that was inadvertently deleted.
465900295176Schristos    (Thanks to Arthur David Olson.)
466000295176Schristos
466100295176Schristos    Improve the commentary about which districts observe what times
46627005738dSchristos    in Russia.  (Thanks to Oscar van Vlijmen and Arthur David Olson.)
466300295176Schristos
466400295176Schristos    Add web page links to tz.js.
466500295176Schristos
466600295176Schristos    Add "Run by the Monkeys" to tz-art.  (Thanks to Arthur David Olson.)
466700295176Schristos
466800295176Schristos
466900295176SchristosRelease 2012j - 2012-11-12 18:34:49 -0800
467000295176Schristos
467100295176Schristos  Libya moved to CET this weekend, but with DST planned next year.
467200295176Schristos  (Thanks to Even Scharning, Steffen Thorsen, and Tim Parenti.)
467300295176Schristos
467400295176Schristos  Signatures now have the extension .asc, not .sign, as that's more
467500295176Schristos  standard.  (Thanks to Phil Pennock.)
467600295176Schristos
467700295176Schristos  The output of 'zdump --version', and of 'zic --version', now
467800295176Schristos  uses a format that is more typical for --version.
467900295176Schristos  (Thanks to Joseph S. Myers.)
468000295176Schristos
468100295176Schristos  The output of 'tzselect --help', 'zdump --help', and 'zic --help'
468200295176Schristos  now uses tz@iana.org rather than the old elsie address.
468300295176Schristos
468400295176Schristos  zic -v now complains about abbreviations that are less than 3
4685559c967bSchristos  or more than 6 characters, as per POSIX.  Formerly, it checked
468600295176Schristos  for abbreviations that were more than 3.
468700295176Schristos
468800295176Schristos  'make public' no longer puts its temporary directory under /tmp,
468900295176Schristos  and uses the just-built zic rather than the system zic.
469000295176Schristos
469100295176Schristos  Various fixes to documentation and commentary.
469200295176Schristos
469300295176Schristos
469400295176SchristosRelease 2012i - 2012-11-03 12:57:09 -0700
469500295176Schristos
469600295176Schristos  Cuba switches from DST tomorrow at 01:00.  (Thanks to Steffen Thorsen.)
469700295176Schristos
469800295176Schristos  Linker flags can now be specified via LDFLAGS.
469900295176Schristos  AWK now defaults to 'awk', not 'nawk'.
470000295176Schristos  The shell in tzselect now defaults to /bin/bash, but this can
470100295176Schristos  be overridden by specifying KSHELL.
47021f6103b1Schristos  The main web page now mentions the unofficial GitHub repository.
470300295176Schristos  (Thanks to Mike Frysinger.)
470400295176Schristos
470500295176Schristos  Tarball signatures can now be built by running 'make signatures'.
470600295176Schristos  There are also new makefile rules 'tarballs', 'check_public', and
470700295176Schristos  separate makefile rules for each tarball and signature file.
470800295176Schristos  A few makefile rules are now more portable to strict POSIX.
470900295176Schristos
471000295176Schristos  The main web page now lists the canonical IANA URL.
471100295176Schristos
471200295176Schristos
471300295176SchristosRelease 2012h - 2012-10-26 22:49:10 -0700
471400295176Schristos
471500295176Schristos  Bahia no longer has DST.  (Thanks to Kelley Cook.)
471600295176Schristos
471700295176Schristos  Tocantins has DST.  (Thanks to Rodrigo Severo.)
471800295176Schristos
471900295176Schristos  Israel has new DST rules next year.  (Thanks to Ephraim Silverberg.)
472000295176Schristos
472100295176Schristos  Jordan stays on DST this winter.  (Thanks to Steffen Thorsen.)
472200295176Schristos
472300295176Schristos  Web page updates.
472400295176Schristos
472500295176Schristos  More C modernization, except that at Arthur David Olson's suggestion
472600295176Schristos  the instances of 'register' were kept.
472700295176Schristos
472800295176Schristos
472900295176SchristosRelease 2012g - 2012-10-17 20:59:45 -0700
473000295176Schristos
473100295176Schristos  Samoa fall 2012 and later.  (Thanks to Nicholas Pereira and Robert Elz.)
473200295176Schristos
473300295176Schristos  Palestine fall 2012.  (Thanks to Steffen Thorsen.)
473400295176Schristos
473500295176Schristos  Assume C89.
473600295176Schristos
473700295176Schristos  To attack the version-number problem, this release ships the file
473800295176Schristos  'Makefile' (which contains the release number) in both the tzcode and
473900295176Schristos  the tzdata tarballs.  The two Makefiles are identical, and should be
474000295176Schristos  identical in any matching pair of tarballs, so it shouldn't matter
474100295176Schristos  which order you extract the tarballs.  Perhaps we can come up with a
474200295176Schristos  better version-number scheme at some point; this scheme does have the
474300295176Schristos  virtue of not adding more files.
474400295176Schristos
474500295176Schristos
474600295176SchristosRelease 2012f - 2012-09-12 23:17:03 -0700
474700295176Schristos
474800295176Schristos  * australasia (Pacific/Fiji): Fiji DST is October 21 through January
474900295176Schristos    20 this year.  (Thanks to Steffen Thorsen.)
475000295176Schristos
475100295176Schristos
475200295176SchristosRelease 2012e - 2012-08-02 20:44:55 -0700
475300295176Schristos
47549551d334Schristos  * australasia (Pacific/Fakaofo): Tokelau is UT +13, not +14.
475500295176Schristos    (Thanks to Steffen Thorsen.)
475600295176Schristos
475700295176Schristos  * Use a single version number for both code and data.
475800295176Schristos
475900295176Schristos  * .gitignore: New file.
476000295176Schristos
476100295176Schristos  * Remove trailing white space.
476200295176Schristos
476300295176Schristos
476400295176SchristosRelease code2012c-data2012d - 2012-07-19 16:35:33 -0700
476500295176Schristos
476600295176Schristos  Changes for Morocco's timestamps, which take effect in a couple of
476700295176Schristos  hours, along with infrastructure changes to accommodate how the tz
476800295176Schristos  code and data are released on IANA.
476900295176Schristos
477000295176Schristos
477100295176SchristosRelease data2012c - 2012-03-27 12:17:25 -0400
477200295176Schristos
477300295176Schristos  africa
477400295176Schristos	Summer time changes for Morocco (to start late April 2012)
477500295176Schristos
477600295176Schristos  asia
477700295176Schristos	Changes for 2012 for Gaza & the West Bank (Hebron) and Syria
477800295176Schristos
477900295176Schristos  northamerica
478000295176Schristos	Haiti following US/Canada rules for 2012 (and we're assuming,
478100295176Schristos	for now anyway, for the future).
478200295176Schristos
478300295176Schristos
478400295176SchristosRelease 2012b - 2012-03-02 12:29:15 +0700
478500295176Schristos
478600295176Schristos  There is just one change to tzcode2012b (compared with 2012a):
478700295176Schristos  the Makefile that was accidentally included with 2012a has been
478800295176Schristos  replaced with the version that should have been there, which is
478900295176Schristos  identical with the previous version (from tzcode2011i).
479000295176Schristos
479100295176Schristos  There are just two changes in tzdata2012b compared with 2012a.
479200295176Schristos
479300295176Schristos  Most significantly, summer time in Cuba has been delayed 3 weeks
479400295176Schristos  (now starts April 1 rather than March 11).   Since Mar 11 (the old start
479500295176Schristos  date, as listed in 2012a) is just a little over a week away, this
479600295176Schristos  change is urgent.
479700295176Schristos
479800295176Schristos  Less importantly, an excess tab in one of the changes in zone.tab
479900295176Schristos  in 2012a has been removed.
480000295176Schristos
480100295176Schristos
480200295176SchristosRelease 2012a - 2012-03-01 18:28:10 +0700
480300295176Schristos
480400295176Schristos  The changes in tzcode2012a (compared to the previous version, 2011i)
480500295176Schristos  are entirely to the README and tz-art.htm and tz-link.htm files, if
480600295176Schristos  none of those concern you, you can ignore the code update.  The changes
480700295176Schristos  reflect the changed addresses for the mailing list and the code and
480800295176Schristos  data distribution points & methods (and a link to DateTime::TimeZone::Tzfile
480900295176Schristos  has been added to tz-link.htm).
481000295176Schristos
481100295176Schristos  In tzdata2012a (compared to the previous release, which was 2011n)
481200295176Schristos  the major changes are:
481300295176Schristos	Chile 2011/2012 and 2012/2013 summer time date adjustments.
481400295176Schristos	Falkland Islands onto permanent summer time (we're assuming for the
481500295176Schristos		foreseeable future, though 2012 is all we're fairly certain of.)
481600295176Schristos	Armenia has abolished Summer Time.
481700295176Schristos	Tokelau jumped the International Date Line back last December
481800295176Schristos		(just the same as their near neighbour, Samoa).
481900295176Schristos	America/Creston is a new zone for a small area of British Columbia
482000295176Schristos	There will be a leapsecond 2012-06-30 23:59:60 UTC.
482100295176Schristos
482200295176Schristos  Other minor changes are:
482300295176Schristos	Corrections to 1918 Canadian summer time end dates.
482400295176Schristos	Updated URL for UK time zone history (in comments)
482500295176Schristos	A few typos in Le Corre's list of free French place names (comments)
482600295176Schristos
482700295176Schristos
482800295176SchristosRelease data2011n - 2011-10-30 14:57:54 +0700
482900295176Schristos
483000295176Schristos  There are three changes of note - most urgently, Cuba (America/Havana)
483100295176Schristos  has extended summer time by two weeks, now to end on Nov 13, rather than
483200295176Schristos  the (already past) Oct 30.   Second, the Pridnestrovian Moldavian Republic
483300295176Schristos  (Europe/Tiraspol) decided not to split from the rest of Moldova after
483400295176Schristos  all, and consequently that zone has been removed (again) and reinstated
483500295176Schristos  in the "backward" file as a link to Europe/Chisinau.   And third, the
483600295176Schristos  end date for Fiji's summer time this summer was moved forward from the
483700295176Schristos  earlier planned Feb 26, to Jan 22.
483800295176Schristos
483900295176Schristos  Apart from that, Moldova (MD) returns to a single entry in zone.tab
484000295176Schristos  (and the incorrect syntax that was in the 2011m version of that file
484100295176Schristos  is so fixed - it would have been fixed in a different way had this
484200295176Schristos  change not happened - that's the "missing" sccs version id).
484300295176Schristos
484400295176Schristos
484500295176SchristosRelease data2011m - 2011-10-24 21:42:16 +0700
484600295176Schristos
484700295176Schristos  In particular, the typos in comments in the data (2011-11-17 should have
484800295176Schristos  been 2011-10-17 as Alan Barrett noted, and spelling of Tiraspol that
484900295176Schristos  Tim Parenti noted) have been fixed, and the change for Ukraine has been
4850559c967bSchristos  made in all 4 Ukrainian zones, rather than just Europe/Kiev
4851559c967bSchristos  (again, thanks to Tim Parenti, and also Denys Gavrysh).
485200295176Schristos
485300295176Schristos  In addition, I added Europe/Tiraspol to zone.tab.
485400295176Schristos
485500295176Schristos  This time, all the files have new version numbers...  (including the files
485600295176Schristos  otherwise unchanged in 2011m that were changed in 2011l but didn't get new
485700295176Schristos  version numbers there...)
485800295176Schristos
485900295176Schristos
486000295176SchristosRelease data2011l - 2011-10-10 11:15:43 +0700
486100295176Schristos
486200295176Schristos  There are just 2 changes that cause different generated tzdata files from
486300295176Schristos  zic, to Asia/Hebron and Pacific/Fiji - the possible change for Bahia, Brazil
486400295176Schristos  is included, but commented out.  Compared with the diff I sent out last week,
486500295176Schristos  this version also includes attributions for the sources for the changes
486600295176Schristos  (in much the same format as ado used, but the html tags have not been
486700295176Schristos  checked, verified, or used in any way at all, so if there are errors there,
486800295176Schristos  please let me know.)
486900295176Schristos
487000295176Schristos
487100295176SchristosRelease data2011k - 2011-09-20 17:54:03 -0400
487200295176Schristos
487300295176Schristos  [not summarized]
487400295176Schristos
487500295176Schristos
487600295176SchristosRelease data2011j - 2011-09-12 09:22:49 -0400
487700295176Schristos
487800295176Schristos  (contemporary changes for Samoa; past changes for Kenya, Uganda, and
487900295176Schristos  Tanzania); there are also two spelling corrections to comments in
488000295176Schristos  the australasia file (with thanks to Christos Zoulas).
488100295176Schristos
488200295176Schristos
488300295176SchristosRelease 2011i - 2011-08-29 05:56:32 -0400
488400295176Schristos
488500295176Schristos  [not summarized]
488600295176Schristos
488700295176Schristos
488800295176SchristosRelease data2011h - 2011-06-15 18:41:48 -0400
488900295176Schristos
48903ad51082Schristos  Russia and Curaçao changes
489100295176Schristos
489200295176Schristos
489300295176SchristosRelease 2011g - 2011-04-25 09:07:22 -0400
489400295176Schristos
489500295176Schristos  update the rules for Egypt to reflect its abandonment of DST this year
489600295176Schristos
489700295176Schristos
489800295176SchristosRelease 2011f - 2011-04-06 17:14:53 -0400
489900295176Schristos
490000295176Schristos  [not summarized]
490100295176Schristos
490200295176Schristos
490300295176SchristosRelease 2011e - 2011-03-31 16:04:38 -0400
490400295176Schristos
490500295176Schristos  Morocco, Chile, and tz-link changes
490600295176Schristos
490700295176Schristos
490800295176SchristosRelease 2011d - 2011-03-14 09:18:01 -0400
490900295176Schristos
491000295176Schristos  changes that impact present-day timestamps in Cuba, Samoa, and Turkey
491100295176Schristos
491200295176Schristos
491300295176SchristosRelease 2011c - 2011-03-07 09:30:09 -0500
491400295176Schristos
491500295176Schristos  These do affect current timestamps in Chile and Annette Island, Canada.
491600295176Schristos
491700295176Schristos
491800295176SchristosRelease 2011b - 2011-02-07 08:44:50 -0500
491900295176Schristos
492000295176Schristos  [not summarized]
492100295176Schristos
492200295176Schristos
492300295176SchristosRelease 2011a - 2011-01-24 10:30:16 -0500
492400295176Schristos
492500295176Schristos  [not summarized]
492600295176Schristos
492700295176Schristos
492800295176SchristosRelease data2010o - 2010-11-01 09:18:23 -0400
492900295176Schristos
493000295176Schristos  change to the end of DST in Fiji in 2011
493100295176Schristos
493200295176Schristos
493300295176SchristosRelease 2010n - 2010-10-25 08:19:17 -0400
493400295176Schristos
493500295176Schristos  [not summarized]
493600295176Schristos
493700295176Schristos
493800295176SchristosRelease 2010m - 2010-09-27 09:24:48 -0400
493900295176Schristos
494000295176Schristos  Hong Kong, Vostok, and zic.c changes
494100295176Schristos
494200295176Schristos
494300295176SchristosRelease 2010l - 2010-08-16 06:57:25 -0400
494400295176Schristos
494500295176Schristos  [not summarized]
494600295176Schristos
494700295176Schristos
494800295176SchristosRelease 2010k - 2010-07-26 10:42:27 -0400
494900295176Schristos
495000295176Schristos  [not summarized]
495100295176Schristos
495200295176Schristos
495300295176SchristosRelease 2010j - 2010-05-10 09:07:48 -0400
495400295176Schristos
49553ad51082Schristos  changes for Bahía de Banderas and for version naming
495600295176Schristos
495700295176Schristos
495800295176SchristosRelease data2010i - 2010-04-16 18:50:45 -0400
495900295176Schristos
496000295176Schristos  the end of DST in Morocco on 2010-08-08
496100295176Schristos
496200295176Schristos
496300295176SchristosRelease data2010h - 2010-04-05 09:58:56 -0400
496400295176Schristos
496500295176Schristos  [not summarized]
496600295176Schristos
496700295176Schristos
496800295176SchristosRelease data2010g - 2010-03-24 11:14:53 -0400
496900295176Schristos
497000295176Schristos  [not summarized]
497100295176Schristos
497200295176Schristos
497300295176SchristosRelease 2010f - 2010-03-22 09:45:46 -0400
497400295176Schristos
497500295176Schristos  [not summarized]
497600295176Schristos
497700295176Schristos
497800295176SchristosRelease data2010e - 2010-03-08 14:24:27 -0500
497900295176Schristos
498000295176Schristos  corrects the Dhaka bug found by Danvin Ruangchan
498100295176Schristos
498200295176Schristos
498300295176SchristosRelease data2010d - 2010-03-06 07:26:01 -0500
498400295176Schristos
498500295176Schristos  [not summarized]
498600295176Schristos
498700295176Schristos
498800295176SchristosRelease 2010c - 2010-03-01 09:20:58 -0500
498900295176Schristos
499000295176Schristos  changes including KRE's suggestion for earlier initialization of
499100295176Schristos  "goahead" and "goback" structure elements
499200295176Schristos
499300295176Schristos
499400295176SchristosRelease code2010a - 2010-02-16 10:40:04 -0500
499500295176Schristos
499600295176Schristos  [not summarized]
499700295176Schristos
499800295176Schristos
499900295176SchristosRelease data2010b - 2010-01-20 12:37:01 -0500
500000295176Schristos
500100295176Schristos  Mexico changes
500200295176Schristos
500300295176Schristos
500400295176SchristosRelease data2010a - 2010-01-18 08:30:04 -0500
500500295176Schristos
500600295176Schristos  changes to Dhaka
500700295176Schristos
500800295176Schristos
500900295176SchristosRelease data2009u - 2009-12-26 08:32:28 -0500
501000295176Schristos
501100295176Schristos  changes to DST in Bangladesh
501200295176Schristos
501300295176Schristos
501400295176SchristosRelease 2009t - 2009-12-21 13:24:27 -0500
501500295176Schristos
501600295176Schristos  [not summarized]
501700295176Schristos
501800295176Schristos
501900295176SchristosRelease data2009s - 2009-11-14 10:26:32 -0500
502000295176Schristos
502100295176Schristos  (cosmetic) Antarctica change and the DST-in-Fiji-in-2009-and-2010 change
502200295176Schristos
502300295176Schristos
502400295176SchristosRelease 2009r - 2009-11-09 10:10:31 -0500
502500295176Schristos
502600295176Schristos  "antarctica" and "tz-link.htm" changes
502700295176Schristos
502800295176Schristos
502900295176SchristosRelease 2009q - 2009-11-02 09:12:40 -0500
503000295176Schristos
503100295176Schristos  with two corrections as reported by Eric Muller and Philip Newton
503200295176Schristos
503300295176Schristos
503400295176SchristosRelease data2009p - 2009-10-23 15:05:27 -0400
503500295176Schristos
503600295176Schristos  Argentina (including San Luis) changes (with the correction from
503700295176Schristos  Mariano Absatz)
503800295176Schristos
503900295176Schristos
504000295176SchristosRelease data2009o - 2009-10-14 16:49:38 -0400
504100295176Schristos
504200295176Schristos  Samoa (commentary only), Pakistan, and Bangladesh changes
504300295176Schristos
504400295176Schristos
504500295176SchristosRelease data2009n - 2009-09-22 15:13:38 -0400
504600295176Schristos
504700295176Schristos  added commentary for Argentina and a change to the end of DST in
504800295176Schristos  2009 in Pakistan
504900295176Schristos
505000295176Schristos
505100295176SchristosRelease data2009m - 2009-09-03 10:23:43 -0400
505200295176Schristos
505300295176Schristos  Samoa and Palestine changes
505400295176Schristos
505500295176Schristos
505600295176SchristosRelease data2009l - 2009-08-14 09:13:07 -0400
505700295176Schristos
50583ad51082Schristos  Samoa (comments only) and Egypt
505900295176Schristos
506000295176Schristos
506100295176SchristosRelease 2009k - 2009-07-20 09:46:08 -0400
506200295176Schristos
506300295176Schristos  [not summarized]
506400295176Schristos
506500295176Schristos
506600295176SchristosRelease data2009j - 2009-06-15 06:43:59 -0400
506700295176Schristos
506800295176Schristos  Bangladesh change (with a short turnaround since the DST change is
506900295176Schristos  impending)
507000295176Schristos
507100295176Schristos
507200295176SchristosRelease 2009i - 2009-06-08 09:21:22 -0400
507300295176Schristos
507400295176Schristos  updating for DST in Bangladesh this year
507500295176Schristos
507600295176Schristos
507700295176SchristosRelease 2009h - 2009-05-26 09:19:14 -0400
507800295176Schristos
507900295176Schristos  [not summarized]
508000295176Schristos
508100295176Schristos
508200295176SchristosRelease data2009g - 2009-04-20 16:34:07 -0400
508300295176Schristos
508400295176Schristos  Cairo
508500295176Schristos
508600295176Schristos
508700295176SchristosRelease data2009f - 2009-04-10 11:00:52 -0400
508800295176Schristos
508900295176Schristos  correct DST in Pakistan
509000295176Schristos
509100295176Schristos
509200295176SchristosRelease 2009e - 2009-04-06 09:08:11 -0400
509300295176Schristos
509400295176Schristos  [not summarized]
509500295176Schristos
509600295176Schristos
509700295176SchristosRelease 2009d - 2009-03-23 09:38:12 -0400
509800295176Schristos
509900295176Schristos  Morocco, Tunisia, Argentina, and American Astronomical Society changes
510000295176Schristos
510100295176Schristos
510200295176SchristosRelease data2009c - 2009-03-16 09:47:51 -0400
510300295176Schristos
510400295176Schristos  change to the start of Cuban DST
510500295176Schristos
510600295176Schristos
510700295176SchristosRelease 2009b - 2009-02-09 11:15:22 -0500
510800295176Schristos
510900295176Schristos  [not summarized]
511000295176Schristos
511100295176Schristos
511200295176SchristosRelease 2009a - 2009-01-21 10:09:39 -0500
511300295176Schristos
511400295176Schristos  [not summarized]
511500295176Schristos
511600295176Schristos
511700295176SchristosRelease data2008i - 2008-10-21 12:10:25 -0400
511800295176Schristos
511900295176Schristos  southamerica and zone.tab files, with Argentina DST rule changes and
512000295176Schristos  United States zone reordering and recommenting
512100295176Schristos
512200295176Schristos
512300295176SchristosRelease 2008h - 2008-10-13 07:33:56 -0400
512400295176Schristos
512500295176Schristos  [not summarized]
512600295176Schristos
512700295176Schristos
512800295176SchristosRelease 2008g - 2008-10-06 09:03:18 -0400
512900295176Schristos
513000295176Schristos  Fix a broken HTML anchor and update Brazil's DST transitions;
513100295176Schristos  there's also a slight reordering of information in tz-art.htm.
513200295176Schristos
513300295176Schristos
513400295176SchristosRelease data2008f - 2008-09-09 22:33:26 -0400
513500295176Schristos
513600295176Schristos  [not summarized]
513700295176Schristos
513800295176Schristos
513900295176SchristosRelease 2008e - 2008-07-28 14:11:17 -0400
514000295176Schristos
51413ad51082Schristos  changes by Arthur David Olson and Jesper Nørgaard Welen
514200295176Schristos
514300295176Schristos
514400295176SchristosRelease data2008d - 2008-07-07 09:51:38 -0400
514500295176Schristos
514600295176Schristos  changes by Arthur David Olson, Paul Eggert, and Rodrigo Severo
514700295176Schristos
514800295176Schristos
514900295176SchristosRelease data2008c - 2008-05-19 17:48:03 -0400
515000295176Schristos
515100295176Schristos  Pakistan, Morocco, and Mongolia
515200295176Schristos
515300295176Schristos
515400295176SchristosRelease data2008b - 2008-03-24 08:30:59 -0400
515500295176Schristos
515600295176Schristos  including renaming Asia/Calcutta to Asia/Kolkata, with a backward
515700295176Schristos  link provided
515800295176Schristos
515900295176Schristos
516000295176SchristosRelease 2008a - 2008-03-08 05:42:16 -0500
516100295176Schristos
516200295176Schristos  [not summarized]
516300295176Schristos
516400295176Schristos
516500295176SchristosRelease 2007k - 2007-12-31 10:25:22 -0500
516600295176Schristos
516700295176Schristos  most importantly, changes to the "southamerica" file based on
516800295176Schristos  Argentina's readoption of daylight saving time
516900295176Schristos
517000295176Schristos
517100295176SchristosRelease 2007j - 2007-12-03 09:51:01 -0500
517200295176Schristos
517300295176Schristos  1. eliminate the "P" (parameter) macro;
517400295176Schristos
517500295176Schristos  2. the "noncontroversial" changes circulated on the time zone
517600295176Schristos  mailing list (less the changes to "logwtmp.c");
517700295176Schristos
517800295176Schristos  3. eliminate "too many transition" errors when "min" is used in time
517900295176Schristos  zone rules;
518000295176Schristos
518100295176Schristos  4. changes by Paul Eggert (including updated information for Venezuela).
518200295176Schristos
518300295176Schristos
518400295176SchristosRelease data2007i - 2007-10-30 10:28:11 -0400
518500295176Schristos
518600295176Schristos  changes for Cuba and Syria
518700295176Schristos
518800295176Schristos
518900295176SchristosRelease 2007h - 2007-10-01 10:05:51 -0400
519000295176Schristos
519100295176Schristos  changes by Paul Eggert, as well as an updated link to the ICU
519200295176Schristos  project in tz-link.htm
519300295176Schristos
519400295176Schristos
519500295176SchristosRelease 2007g - 2007-08-20 10:47:59 -0400
519600295176Schristos
519700295176Schristos  changes by Paul Eggert
519800295176Schristos
519900295176Schristos  The "leapseconds" file has been updated to incorporate the most
520000295176Schristos  recent International Earth Rotation and Reference Systems Service
520100295176Schristos  (IERS) bulletin.
520200295176Schristos
520300295176Schristos  There's an addition to tz-art.htm regarding the television show "Medium".
520400295176Schristos
520500295176Schristos
520600295176SchristosRelease 2007f - 2007-05-07 10:46:46 -0400
520700295176Schristos
520800295176Schristos  changes by Paul Eggert (including Haiti, Turks and Caicos, and New
520900295176Schristos  Zealand)
521000295176Schristos
521100295176Schristos  changes to zic.c to allow hour values greater than 24 (along with
521200295176Schristos  Paul's improved time value overflow checking)
521300295176Schristos
521400295176Schristos
521500295176SchristosRelease 2007e - 2007-04-02 10:11:52 -0400
521600295176Schristos
521700295176Schristos  Syria and Honduras changes by Paul Eggert
521800295176Schristos
521900295176Schristos  zic.c variable renaming changes by Arthur David Olson
522000295176Schristos
522100295176Schristos
522200295176SchristosRelease 2007d - 2007-03-20 08:48:30 -0400
522300295176Schristos
522400295176Schristos  changes by Paul Eggert
522500295176Schristos
522600295176Schristos  the elimination of white space at the ends of lines
522700295176Schristos
522800295176Schristos
522900295176SchristosRelease 2007c - 2007-02-26 09:09:37 -0500
523000295176Schristos
523100295176Schristos  changes by Paul Eggert
523200295176Schristos
523300295176Schristos
523400295176SchristosRelease 2007b - 2007-02-12 09:34:20 -0500
523500295176Schristos
523600295176Schristos  Paul Eggert's proposed change to the quotation handling logic in zic.c.
523700295176Schristos
523800295176Schristos  changes to the commentary in "leapseconds" reflecting the IERS
523900295176Schristos  announcement that there is to be no positive leap second at the end
524000295176Schristos  of June 2007.
524100295176Schristos
524200295176Schristos
524300295176SchristosRelease 2007a - 2007-01-08 12:28:29 -0500
524400295176Schristos
524500295176Schristos  changes by Paul Eggert
524600295176Schristos
52470129e5c6Schristos  Derick Rethans's Asmara change
524800295176Schristos
524900295176Schristos  Oscar van Vlijmen's Easter Island local mean time change
525000295176Schristos
525100295176Schristos  symbolic link changes
525200295176Schristos
525300295176Schristos
525400295176SchristosRelease 2006p - 2006-11-27 08:54:27 -0500
525500295176Schristos
525600295176Schristos  changes by Paul Eggert
525700295176Schristos
525800295176Schristos
525900295176SchristosRelease 2006o - 2006-11-06 09:18:07 -0500
526000295176Schristos
526100295176Schristos  changes by Paul Eggert
526200295176Schristos
526300295176Schristos
526400295176SchristosRelease 2006n - 2006-10-10 11:32:06 -0400
526500295176Schristos
526600295176Schristos  changes by Paul Eggert
526700295176Schristos
526800295176Schristos
526900295176SchristosRelease 2006m - 2006-10-02 15:32:35 -0400
527000295176Schristos
527100295176Schristos  changes for Uruguay, Palestine, and Egypt by Paul Eggert
527200295176Schristos
527300295176Schristos  (minimalist) changes to zic.8 to clarify "until" information
527400295176Schristos
527500295176Schristos
527600295176SchristosRelease data2006l - 2006-09-18 12:58:11 -0400
527700295176Schristos
527800295176Schristos  Paul's best-effort work on this coming weekend's Egypt time change
527900295176Schristos
528000295176Schristos
528100295176SchristosRelease 2006k - 2006-08-28 12:19:09 -0400
528200295176Schristos
528300295176Schristos  changes by Paul Eggert
528400295176Schristos
528500295176Schristos
528600295176SchristosRelease 2006j - 2006-08-21 09:56:32 -0400
528700295176Schristos
528800295176Schristos  changes by Paul Eggert
528900295176Schristos
529000295176Schristos
529100295176SchristosRelease code2006i - 2006-08-07 12:30:55 -0400
529200295176Schristos
529300295176Schristos  localtime.c fixes
529400295176Schristos
529500295176Schristos  Ken Pizzini's conversion script
529600295176Schristos
529700295176Schristos
529800295176SchristosRelease code2006h - 2006-07-24 09:19:37 -0400
529900295176Schristos
530000295176Schristos  adds public domain notices to four files
530100295176Schristos
530200295176Schristos  includes a fix for transition times being off by a second
530300295176Schristos
530400295176Schristos  adds a new recording to the "arts" file (information courtesy Colin Bowern)
530500295176Schristos
530600295176Schristos
530700295176SchristosRelease 2006g - 2006-05-08 17:18:09 -0400
530800295176Schristos
530900295176Schristos  northamerica changes by Paul Eggert
531000295176Schristos
531100295176Schristos
531200295176SchristosRelease 2006f - 2006-05-01 11:46:00 -0400
531300295176Schristos
531400295176Schristos  a missing version number problem is fixed (with thanks to Bradley
531500295176Schristos  White for catching the problem)
531600295176Schristos
531700295176Schristos
531800295176SchristosRelease 2006d - 2006-04-17 14:33:43 -0400
531900295176Schristos
532000295176Schristos  changes by Paul Eggert
532100295176Schristos
532200295176Schristos  added new items to tz-arts.htm that were found by Paul
532300295176Schristos
532400295176Schristos
532500295176SchristosRelease 2006c - 2006-04-03 10:09:32 -0400
532600295176Schristos
532700295176Schristos  two sets of data changes by Paul Eggert
532800295176Schristos
532900295176Schristos  a fencepost error fix in zic.c
533000295176Schristos
533100295176Schristos  changes to zic.c and the "europe" file to minimize differences
533200295176Schristos  between output produced by the old 32-bit zic and the new 64-bit
533300295176Schristos  version
533400295176Schristos
533500295176Schristos
533600295176SchristosRelease 2006b - 2006-02-20 10:08:18 -0500
533700295176Schristos  [tz32code2006b + tz64code2006b + tzdata2006b]
533800295176Schristos
533900295176Schristos  64-bit code
534000295176Schristos
534100295176Schristos  All SCCS IDs were bumped to "8.1" for this release.
534200295176Schristos
534300295176Schristos
534400295176SchristosRelease 2006a - 2006-01-30 08:59:31 -0500
534500295176Schristos
534600295176Schristos  changes by Paul Eggert (in particular, Indiana time zone moves)
534700295176Schristos
534800295176Schristos  an addition to the zic manual page to describe how special-case
534900295176Schristos  transitions are handled
535000295176Schristos
535100295176Schristos
535200295176SchristosRelease 2005r - 2005-12-27 09:27:13 -0500
535300295176Schristos
535400295176Schristos  Canadian changes by Paul Eggert
535500295176Schristos
535600295176Schristos  They also add "<pre>" directives to time zone data files and reflect
535700295176Schristos  changes to warning message logic in "zdump.c" (but with calls to
535800295176Schristos  "gettext" kept unbundled at the suggestion of Ken Pizzini).
535900295176Schristos
536000295176Schristos
536100295176SchristosRelease 2005q - 2005-12-13 09:17:09 -0500
536200295176Schristos
536300295176Schristos  Nothing earth-shaking here:
536400295176Schristos	1.  Electronic mail addresses have been removed.
536500295176Schristos	2.  Casts of the return value of exit have been removed.
536600295176Schristos	3.  Casts of the argument of is.* macros have been added.
536700295176Schristos	4.  Indentation in one section of zic.c has been fixed.
536800295176Schristos	5.  References to dead URLs in the data files have been dealt with.
536900295176Schristos
537000295176Schristos
537100295176SchristosRelease 2005p - 2005-12-05 10:30:53 -0500
537200295176Schristos
537300295176Schristos  "systemv", "tz-link.htm", and "zdump.c" changes
537400295176Schristos  (less the casts of arguments to the is* macros)
537500295176Schristos
537600295176Schristos
537700295176SchristosRelease 2005o - 2005-11-28 10:55:26 -0500
537800295176Schristos
537900295176Schristos  Georgia, Cuba, Nicaragua, and Jordan changes by Paul Eggert
538000295176Schristos
538100295176Schristos  zdump.c lint fixes by Arthur David Olson
538200295176Schristos
538300295176Schristos
538400295176SchristosRelease 2005n - 2005-10-03 09:44:09 -0400
538500295176Schristos
53863ad51082Schristos  changes by Paul Eggert (both the Uruguay changes and the Kyrgyzstan
538700295176Schristos  et al. changes)
538800295176Schristos
538900295176Schristos
539000295176SchristosRelease 2005m - 2005-08-29 12:15:40 -0400
539100295176Schristos
539200295176Schristos  changes by Paul Eggert (with a small tweak to the tz-art change)
539300295176Schristos
539400295176Schristos  a declaration of an unused variable has been removed from zdump.c
539500295176Schristos
539600295176Schristos
539700295176SchristosRelease 2005l - 2005-08-22 12:06:39 -0400
539800295176Schristos
539900295176Schristos  changes by Paul Eggert
540000295176Schristos
540100295176Schristos  overflow/underflow checks by Arthur David Olson, minus changes to
540200295176Schristos  the "Theory" file about the pending addition of 64-bit data (I grow
540300295176Schristos  less confident of the changes being accepted with each passing day,
540400295176Schristos  and the changes no longer increase the data files nine-fold--there's
540500295176Schristos  less than a doubling in size by my local Sun's reckoning)
540600295176Schristos
540700295176Schristos
540800295176SchristosRelease 2005k - 2005-07-14 14:14:24 -0400
540900295176Schristos
541000295176Schristos  The "leapseconds" file has been edited to reflect the recently
541100295176Schristos  announced leap second at the end of 2005.
541200295176Schristos
541300295176Schristos  I've also deleted electronic mail addresses from the files as an
541400295176Schristos  anti-spam measure.
541500295176Schristos
541600295176Schristos
541700295176SchristosRelease 2005j - 2005-06-13 14:34:13 -0400
541800295176Schristos
541900295176Schristos  These reflect changes to limit the length of time zone abbreviations
542000295176Schristos  and the characters used in those abbreviations.
542100295176Schristos
542200295176Schristos  There are also changes to handle POSIX-style "quoted" timezone
542300295176Schristos  environment variables.
542400295176Schristos
542500295176Schristos  The changes were circulated on the time zone mailing list; the only
542600295176Schristos  change since then was the removal of a couple of minimum-length of
542700295176Schristos  abbreviation checks.
542800295176Schristos
542900295176Schristos
543000295176SchristosRelease data2005i - 2005-04-21 15:04:16 -0400
543100295176Schristos
543200295176Schristos  changes (most importantly to Nicaragua and Haiti) by Paul Eggert
543300295176Schristos
543400295176Schristos
543500295176SchristosRelease 2005h - 2005-04-04 11:24:47 -0400
543600295176Schristos
543700295176Schristos  changes by Paul Eggert
543800295176Schristos
543900295176Schristos  minor changes to Makefile and zdump.c to produce more useful output
544000295176Schristos  when doing a "make typecheck"
544100295176Schristos
544200295176Schristos
544300295176SchristosRelease 2005g - 2005-03-14 10:11:21 -0500
544400295176Schristos
544500295176Schristos  changes by Paul Eggert (a change to current DST rules in Uruguay and
544600295176Schristos  an update to a link to time zone software)
544700295176Schristos
544800295176Schristos
544900295176SchristosRelease 2005f - 2005-03-01 08:45:32 -0500
545000295176Schristos
545100295176Schristos  data and documentation changes by Paul Eggert
545200295176Schristos
545300295176Schristos
545400295176SchristosRelease 2005e - 2005-02-10 15:59:44 -0500
545500295176Schristos
545600295176Schristos  [not summarized]
545700295176Schristos
545800295176Schristos
545900295176SchristosRelease code2005d - 2005-01-31 09:21:47 -0500
546000295176Schristos
546100295176Schristos  make zic complain about links to links if the -v flag is used
546200295176Schristos
546300295176Schristos  have "make public" do more code checking
546400295176Schristos
546500295176Schristos  add an include to "localtime.c" for the benefit of gcc systems
546600295176Schristos
546700295176Schristos
546800295176SchristosRelease 2005c - 2005-01-17 18:36:29 -0500
546900295176Schristos
547000295176Schristos  get better results when mktime runs on a system where time_t is double
547100295176Schristos
547200295176Schristos  changes to the data files (most importantly to Paraguay)
547300295176Schristos
547400295176Schristos
547500295176SchristosRelease 2005b - 2005-01-10 09:19:54 -0500
547600295176Schristos
547700295176Schristos  Get localtime and gmtime working on systems with exotic time_t types.
547800295176Schristos
547900295176Schristos  Update the leap second commentary in the "leapseconds" file.
548000295176Schristos
548100295176Schristos
548200295176SchristosRelease 2005a - 2005-01-01 13:13:44 -0500
548300295176Schristos
548400295176Schristos  [not summarized]
548500295176Schristos
548600295176Schristos
548700295176SchristosRelease code2004i - 2004-12-14 13:42:58 -0500
548800295176Schristos
548900295176Schristos  Deal with systems where time_t is unsigned.
549000295176Schristos
549100295176Schristos
549200295176SchristosRelease code2004h - 2004-12-07 11:40:18 -0500
549300295176Schristos
549400295176Schristos  64-bit-time_t changes
549500295176Schristos
549600295176Schristos
549700295176SchristosRelease 2004g - 2004-11-02 09:06:01 -0500
549800295176Schristos
549900295176Schristos  update to Cuba (taking effect this weekend)
550000295176Schristos
550100295176Schristos  other changes by Paul Eggert
550200295176Schristos
550300295176Schristos  correction of the spelling of Oslo
550400295176Schristos
550500295176Schristos  changed versions of difftime.c and private.h
550600295176Schristos
550700295176Schristos
550800295176SchristosRelease code2004f - 2004-10-21 10:25:22 -0400
550900295176Schristos
551000295176Schristos  Cope with wide-ranging tm_year values.
551100295176Schristos
551200295176Schristos
551300295176SchristosRelease 2004e - 2004-10-11 14:47:21 -0400
551400295176Schristos
551500295176Schristos  Brazil/Argentina/Israel changes by Paul Eggert
551600295176Schristos
551700295176Schristos  changes to tz-link.htm by Paul
551800295176Schristos
551900295176Schristos  one small fix to Makefile
552000295176Schristos
552100295176Schristos
552200295176SchristosRelease 2004d - 2004-09-22 08:27:29 -0400
552300295176Schristos
552400295176Schristos  Avoid overflow problems when TM_YEAR_BASE is added to an integer.
552500295176Schristos
552600295176Schristos
552700295176SchristosRelease 2004c - 2004-08-11 12:06:26 -0400
552800295176Schristos
552900295176Schristos  asctime-related changes
553000295176Schristos
553100295176Schristos  (variants of) some of the documentation changes suggested by Paul Eggert
553200295176Schristos
553300295176Schristos
553400295176SchristosRelease 2004b - 2004-07-19 14:33:35 -0400
553500295176Schristos
55363ad51082Schristos  data changes by Paul Eggert - most importantly, updates for Argentina
553700295176Schristos
553800295176Schristos
553900295176SchristosRelease 2004a - 2004-05-27 12:00:47 -0400
554000295176Schristos
554100295176Schristos  changes by Paul Eggert
554200295176Schristos
554300295176Schristos  Handle DST transitions that occur at the end of a month in some
554400295176Schristos  years but at the start of the following month in other years.
554500295176Schristos
554600295176Schristos  Add a copy of the correspondence that's the basis for claims about
554700295176Schristos  DST in the Navajo Nation.
554800295176Schristos
554900295176Schristos
555000295176SchristosRelease 2003e - 2003-12-15 09:36:47 -0500
555100295176Schristos
555200295176Schristos  changes by Arthur David Olson (primarily code changes)
555300295176Schristos
555400295176Schristos  changes by Paul Eggert (primarily data changes)
555500295176Schristos
555600295176Schristos  minor changes to "Makefile" and "northamerica" (in the latter case,
555700295176Schristos  optimization of the "Toronto" rules)
555800295176Schristos
555900295176Schristos
556000295176SchristosRelease 2003d - 2003-10-06 09:34:44 -0400
556100295176Schristos
556200295176Schristos  changes by Paul Eggert
556300295176Schristos
556400295176Schristos
556500295176SchristosRelease 2003c - 2003-09-16 10:47:05 -0400
556600295176Schristos
556700295176Schristos  Fix bad returns in zic.c's inleap function.
556800295176Schristos  Thanks to Bradley White for catching the problem!
556900295176Schristos
557000295176Schristos
557100295176SchristosRelease 2003b - 2003-09-16 07:13:44 -0400
557200295176Schristos
557300295176Schristos  Add a "--version" option (and documentation) to the zic and zdump commands.
557400295176Schristos
557500295176Schristos  changes to overflow/underflow checking in zic
557600295176Schristos
557700295176Schristos  a localtime typo fix.
557800295176Schristos
557900295176Schristos  Update the leapseconds and tz-art.htm files.
558000295176Schristos
558100295176Schristos
558200295176SchristosRelease 2003a - 2003-03-24 09:30:54 -0500
558300295176Schristos
558400295176Schristos  changes by Paul Eggert
558500295176Schristos
558600295176Schristos  a few additions and modifications to the tz-art.htm file
558700295176Schristos
558800295176Schristos
558900295176SchristosRelease 2002d - 2002-10-15 13:12:42 -0400
559000295176Schristos
559100295176Schristos  changes by Paul Eggert, less the "Britain (UK)" change in iso3166.tab
559200295176Schristos
559300295176Schristos  There's also a new time zone quote in "tz-art.htm".
559400295176Schristos
559500295176Schristos
559600295176SchristosRelease 2002c - 2002-04-04 11:55:20 -0500
559700295176Schristos
559800295176Schristos  changes by Paul Eggert
559900295176Schristos
560000295176Schristos  Change zic.c to avoid creating symlinks to files that don't exist.
560100295176Schristos
560200295176Schristos
560300295176SchristosRelease 2002b - 2002-01-28 12:56:03 -0500
560400295176Schristos
560500295176Schristos  [These change notes are for Release 2002a, which was corrupted.
560600295176Schristos  2002b was a corrected version of 2002a.]
560700295176Schristos
560800295176Schristos  changes by Paul Eggert
560900295176Schristos
561000295176Schristos  Update the "leapseconds" file to note that there'll be no leap
561100295176Schristos  second at the end of June, 2002.
561200295176Schristos
561300295176Schristos  Change "zic.c" to deal with a problem in handling the "Asia/Bishkek" zone.
561400295176Schristos
561500295176Schristos  Change to "difftime.c" to avoid sizeof problems.
561600295176Schristos
561700295176Schristos
561800295176SchristosRelease 2001d - 2001-10-09 13:31:32 -0400
561900295176Schristos
562000295176Schristos  changes by Paul Eggert
562100295176Schristos
562200295176Schristos
562300295176SchristosRelease 2001c - 2001-06-05 13:59:55 -0400
562400295176Schristos
562500295176Schristos  changes by Paul Eggert and Andrew Brown
562600295176Schristos
562700295176Schristos
562800295176SchristosRelease 2001b - 2001-04-05 16:44:38 -0400
562900295176Schristos
563000295176Schristos  changes by Paul Eggert (modulo jnorgard's typo fix)
563100295176Schristos
56323ad51082Schristos  tz-art.htm has been HTMLified.
563300295176Schristos
563400295176Schristos
563500295176SchristosRelease 2001a - 2001-03-13 12:57:44 -0500
563600295176Schristos
563700295176Schristos  changes by Paul Eggert
563800295176Schristos
563900295176Schristos  An addition to the "leapseconds" file: comments with the text of the
564000295176Schristos  latest IERS leap second notice.
564100295176Schristos
564200295176Schristos  Trailing white space has been removed from data file lines, and
564300295176Schristos  repeated spaces in "Rule Jordan" lines in the "asia" file have been
564400295176Schristos  converted to tabs.
564500295176Schristos
564600295176Schristos
564700295176SchristosRelease 2000h - 2000-12-14 15:33:38 -0500
564800295176Schristos
564900295176Schristos  changes by Paul Eggert
565000295176Schristos
565100295176Schristos  one typo fix in the "art" file
565200295176Schristos
56533ad51082Schristos  With providence, this is the last update of the millennium.
565400295176Schristos
565500295176Schristos
565600295176SchristosRelease 2000g - 2000-10-10 11:35:22 -0400
565700295176Schristos
565800295176Schristos  changes by Paul Eggert
565900295176Schristos
566000295176Schristos  correction of John Mackin's name submitted by Robert Elz
566100295176Schristos
566200295176Schristos  Garry Shandling's Daylight Saving Time joke (!?!) from the recent
566300295176Schristos  Emmy Awards broadcast.
566400295176Schristos
566500295176Schristos
566600295176SchristosRelease 2000f - 2000-08-10 09:31:58 -0400
566700295176Schristos
566800295176Schristos  changes by Paul Eggert
566900295176Schristos
567000295176Schristos  Added information in "tz-art.htm" on a Seinfeld reference to DST.
567100295176Schristos
567200295176Schristos  Error checking and messages in the "yearistype" script have been
567300295176Schristos  improved.
567400295176Schristos
567500295176Schristos
567600295176SchristosRelease 2000e - 2000-07-31 09:27:54 -0400
567700295176Schristos
567800295176Schristos  data changes by Paul Eggert
567900295176Schristos
568000295176Schristos  a change to the default value of the defined constant HAVE_STRERROR
568100295176Schristos
568200295176Schristos  the addition of a Dave Barry quote on DST to the tz-arts file
568300295176Schristos
568400295176Schristos
568500295176SchristosRelease 2000d - 2000-04-20 15:43:04 -0400
568600295176Schristos
568700295176Schristos  changes to the documentation and code of strftime for C99 conformance
568800295176Schristos
568900295176Schristos  a bug fix for date.c
569000295176Schristos
569100295176Schristos  These are based on (though modified from) changes by Paul Eggert.
569200295176Schristos
569300295176Schristos
569400295176SchristosRelease 2000c - 2000-03-04 10:31:43 -0500
569500295176Schristos
569600295176Schristos  changes by Paul Eggert
569700295176Schristos
569800295176Schristos
569900295176SchristosRelease 2000b - 2000-02-21 12:16:29 -0500
570000295176Schristos
570100295176Schristos  changes by Paul Eggert and Joseph Myers
570200295176Schristos
570300295176Schristos  modest tweaks to the tz-art.htm and tz-link.htm files
570400295176Schristos
570500295176Schristos
570600295176SchristosRelease 2000a - 2000-01-18 09:21:26 -0500
570700295176Schristos
570800295176Schristos  changes by Paul Eggert
570900295176Schristos
571000295176Schristos  The two hypertext documents have also been renamed.
571100295176Schristos
571200295176Schristos
571300295176SchristosRelease code1999i-data1999j - 1999-11-15 18:43:22 -0500
571400295176Schristos
571500295176Schristos  Paul Eggert's changes
571600295176Schristos
571700295176Schristos  additions to the "zic" manual page and the "Arts.htm" file
571800295176Schristos
571900295176Schristos
572000295176SchristosRelease code1999h-data1999i - 1999-11-08 14:55:21 -0500
572100295176Schristos
572200295176Schristos  [not summarized]
572300295176Schristos
572400295176Schristos
572500295176SchristosRelease data1999h - 1999-10-07 03:50:29 -0400
572600295176Schristos
572700295176Schristos  changes by Paul Eggert to "europe" (most importantly, fixing
572800295176Schristos  Lithuania and Estonia)
572900295176Schristos
573000295176Schristos
573100295176SchristosRelease 1999g - 1999-09-28 11:06:18 -0400
573200295176Schristos
573300295176Schristos  data changes by Paul Eggert (most importantly, the change for
573400295176Schristos  Lebanon that buys correctness for this coming Sunday)
573500295176Schristos
573600295176Schristos  The "code" file contains changes to "Makefile" and "checktab.awk" to
573700295176Schristos  allow better checking of time zone files before they are published.
573800295176Schristos
573900295176Schristos
574000295176SchristosRelease 1999f - 1999-09-23 09:48:14 -0400
574100295176Schristos
574200295176Schristos  changes by Arthur David Olson and Paul Eggert
574300295176Schristos
574400295176Schristos
574500295176SchristosRelease 1999e - 1999-08-17 15:20:54 -0400
574600295176Schristos
574700295176Schristos  changes circulated by Paul Eggert, although the change to handling
574800295176Schristos  of DST-specifying timezone names has been commented out for now
574900295176Schristos  (search for "XXX" in "localtime.c" for details).  These files also
575000295176Schristos  do not make any changes to the start of DST in Brazil.
575100295176Schristos
575200295176Schristos  In addition to Paul's changes, there are updates to "Arts.htm" and
575300295176Schristos  cleanups of URLs.
575400295176Schristos
575500295176Schristos
575600295176SchristosRelease 1999d - 1999-03-30 11:31:07 -0500
575700295176Schristos
575800295176Schristos  changes by Paul Eggert
575900295176Schristos
576000295176Schristos  The Makefile's "make public" rule has also been changed to do a test
576100295176Schristos  compile of each individual time zone data file (which should help
576200295176Schristos  avoid problems such as the one we had with Nicosia).
576300295176Schristos
576400295176Schristos
576500295176SchristosRelease 1999c - 1999-03-25 09:47:47 -0500
576600295176Schristos
576700295176Schristos  changes by Paul Eggert, most importantly the change for Chile.
576800295176Schristos
576900295176Schristos
577000295176SchristosRelease 1999b - 1999-02-01 17:51:44 -0500
577100295176Schristos
577200295176Schristos  changes by Paul Eggert
577300295176Schristos
577400295176Schristos  code changes (suggested by Mani Varadarajan, mani at be.com) for
577500295176Schristos  correct handling of symbolic links when building using a relative directory
577600295176Schristos
577700295176Schristos  code changes to generate correct messages for failed links
577800295176Schristos
577900295176Schristos  updates to the URLs in Arts.htm
578000295176Schristos
578100295176Schristos
578200295176SchristosRelease 1999a - 1999-01-19 16:20:29 -0500
578300295176Schristos
578400295176Schristos  error message internationalizations and corrections in zic.c and
578500295176Schristos  zdump.c (as suggested by Vladimir Michl, vladimir.michl at upol.cz,
578600295176Schristos  to whom thanks!)
578700295176Schristos
578800295176Schristos
578900295176SchristosRelease code1998h-data1998i - 1998-10-01 09:56:10 -0400
579000295176Schristos
579100295176Schristos  changes for Brazil, Chile, and Germany
579200295176Schristos
579300295176Schristos  support for use of "24:00" in the input files for the time zone compiler
579400295176Schristos
579500295176Schristos
579600295176SchristosRelease code1998g-data1998h - 1998-09-24 10:50:28 -0400
579700295176Schristos
579800295176Schristos  changes by Paul Eggert
579900295176Schristos
580000295176Schristos  correction to a define in the "private.h" file
580100295176Schristos
580200295176Schristos
580300295176SchristosRelease data1998g - 1998-08-11 03:28:35 -0000
580400295176Schristos  [tzdata1998g.tar.gz is missing!]
580500295176Schristos
580600295176Schristos  Lithuanian change provided by mgedmin at pub.osf.it
580700295176Schristos
580800295176Schristos  Move creation of the GMT link with Etc/GMT to "etcetera" (from
580900295176Schristos  "backward") to ensure that the GMT file is created even where folks
581000295176Schristos  don't want the "backward" links (as suggested by Paul Eggert).
581100295176Schristos
581200295176Schristos
581300295176SchristosRelease data1998f - 1998-07-20 13:50:00 -0000
581400295176Schristos  [tzdata1998f.tar.gz is missing!]
581500295176Schristos
581689098d20Schristos  Update the "leapseconds" file to include the newly announced
581700295176Schristos  insertion at the end of 1998.
581800295176Schristos
581900295176Schristos
582000295176SchristosRelease code1998f - 1998-06-01 10:18:31 -0400
582100295176Schristos
582200295176Schristos  addition to localtime.c by Guy Harris
582300295176Schristos
582400295176Schristos
582500295176SchristosRelease 1998e - 1998-05-28 09:56:26 -0400
582600295176Schristos
582700295176Schristos  The Makefile is changed to produce zoneinfo-posix rather than
582800295176Schristos  zoneinfo/posix, and to produce zoneinfo-leaps rather than
582900295176Schristos  zoneinfo/right.
583000295176Schristos
583100295176Schristos  data changes by Paul Eggert
583200295176Schristos
583300295176Schristos  changes from Guy Harris to provide asctime_r and ctime_r
583400295176Schristos
583500295176Schristos  A usno1998 file (substantially identical to usno1997) has been added.
583600295176Schristos
583700295176Schristos
583800295176SchristosRelease 1998d - 1998-05-14 11:58:34 -0400
583900295176Schristos
584000295176Schristos  changes to comments (in particular, elimination of references to CIA maps).
584100295176Schristos  "Arts.htm", "WWW.htm", "asia", and "australasia" are the only places
584200295176Schristos  where changes occur.
584300295176Schristos
584400295176Schristos
584500295176SchristosRelease 1998c - 1998-02-28 12:32:26 -0500
584600295176Schristos
584700295176Schristos  changes by Paul Eggert (save the "French correction," on which I'll
584800295176Schristos  wait for the dust to settle)
584900295176Schristos
585000295176Schristos  symlink changes
585100295176Schristos
585200295176Schristos  changes and additions to Arts.htm
585300295176Schristos
585400295176Schristos
585500295176SchristosRelease 1998b - 1998-01-17 14:31:51 -0500
585600295176Schristos
585700295176Schristos  URL cleanups and additions
585800295176Schristos
585900295176Schristos
586000295176SchristosRelease 1998a - 1998-01-13 12:37:35 -0500
586100295176Schristos
586200295176Schristos  changes by Paul Eggert
586300295176Schristos
586400295176Schristos
586500295176SchristosRelease code1997i-data1997k - 1997-12-29 09:53:41 -0500
586600295176Schristos
586700295176Schristos  changes by Paul Eggert, with minor modifications from Arthur David
586800295176Schristos  Olson to make the files more browser friendly
586900295176Schristos
587000295176Schristos
587100295176SchristosRelease code1997h-data1997j - 1997-12-18 17:47:35 -0500
587200295176Schristos
587300295176Schristos  minor changes to put "TZif" at the start of each timezone information file
587400295176Schristos
587500295176Schristos  a rule has also been added to the Makefile so you can
587600295176Schristos	make zones
587700295176Schristos  to just recompile the zone information files (rather than doing a
587800295176Schristos  full "make install" with its other effects).
587900295176Schristos
588000295176Schristos
588100295176SchristosRelease data1997i - 1997-10-07 08:45:38 -0400
588200295176Schristos
588300295176Schristos  changes to Africa by Paul Eggert
588400295176Schristos
588500295176Schristos
588600295176SchristosRelease code1997g-data1997h - 1997-09-04 16:56:54 -0400
588700295176Schristos
588800295176Schristos  corrections for Uruguay (and other locations)
588900295176Schristos
589000295176Schristos  Arthur David Olson's simple-minded fix allowing mktime to both
589100295176Schristos  correctly handle leap seconds and correctly handle tm_sec values
589200295176Schristos  upon which arithmetic has been performed.
589300295176Schristos
589400295176Schristos
589500295176SchristosRelease code1997f-data1997g - 1997-07-19 13:15:02 -0400
589600295176Schristos
589700295176Schristos  Paul Eggert's updates
589800295176Schristos
589900295176Schristos  a small change to a function prototype;
590000295176Schristos
59013ad51082Schristos  "Music" has been renamed "Arts.htm", HTMLified, and augmented to
590200295176Schristos  include information on Around the World in Eighty Days.
590300295176Schristos
590400295176Schristos
590500295176SchristosRelease code1997e-data1997f - 1997-05-03 18:52:34 -0400
590600295176Schristos
590700295176Schristos  fixes to zic's error handling
590800295176Schristos
590900295176Schristos  changes inspired by the item circulated on Slovenia
591000295176Schristos
59113ad51082Schristos  The description of Web resources has been HTMLified for browsing
591200295176Schristos  convenience.
591300295176Schristos
591400295176Schristos  A new piece of tz-related music has been added to the "Music" file.
591500295176Schristos
591600295176Schristos
591700295176SchristosRelease code1997d-data1997e - 1997-03-29 12:48:52 -0500
591800295176Schristos
591900295176Schristos  Paul Eggert's latest suggestions
592000295176Schristos
592100295176Schristos
592200295176SchristosRelease code1997c-data1997d - 1997-03-07 20:37:54 -0500
592300295176Schristos
592400295176Schristos  changes to "zic.c" to correct performance of the "-s" option
592500295176Schristos
592600295176Schristos  a new file "usno1997"
592700295176Schristos
592800295176Schristos
592900295176SchristosRelease data1997c - 1997-03-04 09:58:18 -0500
593000295176Schristos
593100295176Schristos  changes in Israel
593200295176Schristos
593300295176Schristos
593400295176SchristosRelease 1997b - 1997-02-27 18:34:19 -0500
593500295176Schristos
593600295176Schristos  The data file incorporates the 1997 leap second.
593700295176Schristos
593800295176Schristos  The code file incorporates Arthur David Olson's take on the
593900295176Schristos  zic/multiprocessor/directory-creation situation.
594000295176Schristos
594100295176Schristos
594200295176SchristosRelease 1997a - 1997-01-21 09:11:10 -0500
594300295176Schristos
594400295176Schristos  Paul Eggert's Antarctica (and other changes)
594500295176Schristos
594600295176Schristos  Arthur David Olson finessed the "getopt" issue by checking against
594700295176Schristos  both -1 and EOF (regardless of POSIX, SunOS 4.1.1's manual says -1
594800295176Schristos  is returned while SunOS 5.5's manual says EOF is returned).
594900295176Schristos
595000295176Schristos
595100295176SchristosRelease code1996o-data1996n - 1996-12-27 21:42:05 -0500
595200295176Schristos
595300295176Schristos  Paul Eggert's latest changes
595400295176Schristos
595500295176Schristos
595600295176SchristosRelease code1996n - 1996-12-16 09:42:02 -0500
595700295176Schristos
595800295176Schristos  link snapping fix from Bruce Evans (via Garrett Wollman)
595900295176Schristos
596000295176Schristos
596100295176SchristosRelease data1996m - 1996-11-24 02:37:34 -0000
596200295176Schristos  [tzdata1996m.tar.gz is missing!]
596300295176Schristos
596400295176Schristos  Paul Eggert's batch of changes
596500295176Schristos
596600295176Schristos
596700295176SchristosRelease code1996m-data1996l - 1996-11-05 14:00:12 -0500
596800295176Schristos
596900295176Schristos  No functional changes here; the files have simply been changed to
597000295176Schristos  make more use of ISO style dates in comments. The names of the above
597100295176Schristos  files now include the year in full.
597200295176Schristos
597300295176Schristos
597400295176SchristosRelease code96l - 1996-09-08 17:12:20 -0400
597500295176Schristos
597600295176Schristos  tzcode96k was missing a couple of pieces.
597700295176Schristos
597800295176Schristos
597900295176SchristosRelease 96k - 1996-09-08 16:06:22 -0400
598000295176Schristos
598100295176Schristos  the latest round of changes from Paul Eggert
598200295176Schristos
598300295176Schristos  the recent Year 2000 material
598400295176Schristos
598500295176Schristos
598600295176SchristosRelease code96j - 1996-07-30 13:18:53 -0400
598700295176Schristos
598800295176Schristos  Set sp->typecnt as suggested by Timothy Patrick Murphy.
598900295176Schristos
599000295176Schristos
599100295176SchristosRelease code96i - 1996-07-27 20:11:35 -0400
599200295176Schristos
599300295176Schristos  Paul's suggested patch for strftime %V week numbers
599400295176Schristos
599500295176Schristos
599600295176SchristosRelease data96i - 1996-07-01 18:13:04 -0400
599700295176Schristos
599800295176Schristos  "northamerica" and "europe" changes by Paul Eggert
599900295176Schristos
600000295176Schristos
600100295176SchristosRelease code96h - 1996-06-05 08:02:21 -0400
600200295176Schristos
600300295176Schristos  fix for handling transitions specified in Universal Time
600400295176Schristos
600500295176Schristos  Some "public domain" notices have also been added.
600600295176Schristos
600700295176Schristos
600800295176SchristosRelease code96g - 1996-05-16 14:00:26 -0400
600900295176Schristos
601000295176Schristos  fix for the simultaneous-DST-and-zone-change challenge
601100295176Schristos
601200295176Schristos
601300295176SchristosRelease data96h - 1996-05-09 17:40:51 -0400
601400295176Schristos
601500295176Schristos  changes by Paul Eggert
601600295176Schristos
601700295176Schristos
601800295176SchristosRelease code96f-data96g - 1996-05-03 03:09:59 -0000
601900295176Schristos  [tzcode96f.tar.gz + tzdata96g.tar.gz are both missing!]
602000295176Schristos
602100295176Schristos  The changes get us some of the way to fixing the problems noted in Paul
602200295176Schristos  Eggert's letter yesterday (in addition to a few others).  The approach
602300295176Schristos  has been to make zic a bit smarter about figuring out what time zone
602400295176Schristos  abbreviations apply just after the time specified in the "UNTIL" part
602500295176Schristos  of a zone line.  Putting the smarts in zic means avoiding having
602600295176Schristos  transition times show up in both "Zone" lines and "Rule" lines, which
602700295176Schristos  in turn avoids multiple transition time entries in time zone files.
602800295176Schristos  (This also makes the zic input files such as "europe" a bit shorter and
602900295176Schristos  should ease maintenance.)
603000295176Schristos
603100295176Schristos
603200295176SchristosRelease data96f - 1996-04-19 19:20:03 -0000
603300295176Schristos  [tzdata96f.tar.gz is missing!]
603400295176Schristos
603500295176Schristos  The only changes are to the "northamerica" file; the time zone
603600295176Schristos  abbreviation for Denver is corrected to MST (and MDT), and the
603700295176Schristos  comments for Mexico have been updated.
603800295176Schristos
603900295176Schristos
604000295176SchristosRelease data96e - 1996-03-19 17:37:26 -0500
604100295176Schristos
604200295176Schristos  Proposals by Paul Eggert, in particular the Portugal change that
604300295176Schristos  comes into play at the end of this month.
604400295176Schristos
604500295176Schristos
604600295176SchristosRelease data96d - 1996-03-18 20:49:39 -0500
604700295176Schristos
604800295176Schristos  [not summarized]
604900295176Schristos
605000295176Schristos
605100295176SchristosRelease code96e - 1996-02-29 15:43:27 -0000
605200295176Schristos  [tzcode96e.tar.gz is missing!]
605300295176Schristos
605400295176Schristos  internationalization changes and the fix to the documentation for strftime
605500295176Schristos
605600295176Schristos
605700295176SchristosRelease code96d-data96c - 1996-02-12 11:05:27 -0500
605800295176Schristos
605900295176Schristos  The "code" file simply updates Bob Kridle's electronic address.
606000295176Schristos
606100295176Schristos  The "data" file updates rules for Mexico.
606200295176Schristos
606300295176Schristos
606400295176SchristosRelease data96b - 1996-01-27 15:44:42 -0500
606500295176Schristos
606600295176Schristos  Kiribati change
606700295176Schristos
606800295176Schristos
606900295176SchristosRelease code96c - 1996-01-16 16:58:15 -0500
607000295176Schristos
607100295176Schristos  leap-year streamlining and binary-search changes
607200295176Schristos
607300295176Schristos  fix to newctime.3
607400295176Schristos
607500295176Schristos
607600295176SchristosRelease code96b - 1996-01-10 20:42:39 -0500
607700295176Schristos
607800295176Schristos  fixes and enhancements from Paul Eggert, including code that
607900295176Schristos  emulates the behavior of recent versions of the SunOS "date"
608000295176Schristos  command.
608100295176Schristos
608200295176Schristos
608300295176SchristosRelease 96a - 1996-01-06 09:08:24 -0500
608400295176Schristos
608500295176Schristos  Israel updates
608600295176Schristos
608700295176Schristos  fixes to strftime.c for correct ISO 8601 week number generation,
608800295176Schristos  plus support for two new formats ('G' and 'g') to give ISO 8601 year
608900295176Schristos  numbers (which are not necessarily the same as calendar year numbers)
609000295176Schristos
609100295176Schristos
609200295176SchristosRelease code95i-data95m - 1995-12-21 12:46:47 -0500
609300295176Schristos
609400295176Schristos  The latest revisions from Paul Eggert are included, the usno1995
609500295176Schristos  file has been updated, and a new file ("WWW") covering useful URLs
609600295176Schristos  has been added.
609700295176Schristos
609800295176Schristos
609900295176SchristosRelease code95h-data95l - 1995-12-19 18:10:12 -0500
610000295176Schristos
610100295176Schristos  A simplification of a macro definition, a change to data for Sudan,
610200295176Schristos  and (for last minute shoppers) notes in the "Music" file on the CD
610300295176Schristos  "Old Man Time".
610400295176Schristos
610500295176Schristos
610600295176SchristosRelease code95g-data95k - 1995-10-30 10:32:47 -0500
610700295176Schristos
610800295176Schristos  (slightly reformatted) 8-bit-clean proposed patch
610900295176Schristos
611000295176Schristos  minor patch: US/Eastern -> America/New_York
611100295176Schristos
611200295176Schristos  snapshot of the USNO's latest data ("usno1995")
611300295176Schristos
611400295176Schristos  some other minor cleanups
611500295176Schristos
611600295176Schristos
611700295176SchristosRelease code95f-data95j - 1995-10-28 21:01:34 -0000
611800295176Schristos  [tzcode95f.tar.gz + tzdata95j.tar.gz are both missing!]
611900295176Schristos
612000295176Schristos  European cleanups
612100295176Schristos
612200295176Schristos  support for 64-bit time_t's
612300295176Schristos
612400295176Schristos  optimization in localtime.c
612500295176Schristos
612600295176Schristos
612700295176SchristosRelease code95e - 1995-10-13 13:23:57 -0400
612800295176Schristos
612900295176Schristos  the mktime change to scan from future to past when trying to find time zone
613000295176Schristos  offsets
613100295176Schristos
613200295176Schristos
613300295176SchristosRelease data95i - 1995-09-26 10:43:26 -0400
613400295176Schristos
61353ad51082Schristos  For Canada/Central, guess that the Sun customer's "one week too
61363ad51082Schristos  early" was just a approximation, and the true error is one month
613700295176Schristos  too early.  This is consistent with the rest of Canada.
613800295176Schristos
613900295176Schristos
614000295176SchristosRelease data95h - 1995-09-21 11:26:48 -0400
614100295176Schristos
614200295176Schristos  latest changes from Paul Eggert
614300295176Schristos
614400295176Schristos
614500295176SchristosRelease code95d - 1995-09-14 11:14:45 -0400
614600295176Schristos
614700295176Schristos  the addition of a "Music" file, which documents four recorded
614800295176Schristos  versions of the tune "Save That Time".
614900295176Schristos
615000295176Schristos
615100295176SchristosRelease data95g - 1995-09-01 17:21:36 -0400
615200295176Schristos
615300295176Schristos  "yearistype" correction
615400295176Schristos
615500295176Schristos
615600295176SchristosRelease data95f - 1995-08-28 20:46:56 -0400
615700295176Schristos
615800295176Schristos  Paul Eggert's change to the australasia file
615900295176Schristos
616000295176Schristos
616100295176SchristosRelease data95e - 1995-07-08 18:02:34 -0400
616200295176Schristos
616300295176Schristos  The only change is a leap second at the end of this year.
616400295176Schristos  Thanks to Bradley White for forwarding news on the leap second.
616500295176Schristos
616600295176Schristos
616700295176SchristosRelease data95d - 1995-07-03 13:26:22 -0400
616800295176Schristos
616900295176Schristos  Paul Eggert's changes
617000295176Schristos
617100295176Schristos
617200295176SchristosRelease data95c - 1995-07-02 19:19:28 -0400
617300295176Schristos
617400295176Schristos  changes to "asia", "backward", "europe", and "southamerica"
617500295176Schristos  (read: northamericacentrics need not apply)
617600295176Schristos
617700295176Schristos
617800295176SchristosRelease code95c - 1995-03-13 14:00:46 -0500
617900295176Schristos
618000295176Schristos  one-line fix for sign extension problems in detzcode
618100295176Schristos
618200295176Schristos
618300295176SchristosRelease 95b - 1995-03-04 11:22:38 -0500
618400295176Schristos
618500295176Schristos  Minor changes in both:
618600295176Schristos
618700295176Schristos  The "code" file contains a workaround for the lack of "unistd.h" in
618800295176Schristos  Microsoft C++ version 7.
618900295176Schristos
619000295176Schristos  The "data" file contains a fixed "Link" for America/Shiprock.
619100295176Schristos
619200295176Schristos
619300295176SchristosRelease 94h - 1994-12-10 12:51:14 -0500
619400295176Schristos
619500295176Schristos  The files:
619600295176Schristos
619700295176Schristos  *	incorporate the changes to "zdump" and "date" to make changes to
619800295176Schristos	the "TZ" environment variable permanent;
619900295176Schristos
620000295176Schristos  *	incorporate the table changes by Paul Eggert;
620100295176Schristos
620200295176Schristos  *	include (and document) support for universal time specifications in
62033ad51082Schristos	data files - but do not (yet) include use of this feature in the
620400295176Schristos	data files.
620500295176Schristos
62063ad51082Schristos  Think of this as "TZ Classic" - the software has been set up not to break if
62071f6103b1Schristos  universal time shows up in its input, and data entries have been
62081f6103b1Schristos  left as is so as not to break existing implementations.
620900295176Schristos
621000295176Schristos
621100295176SchristosRelease data94f - 1994-08-20 12:56:09 -0400
621200295176Schristos
621300295176Schristos  (with thanks!) the latest data updates from Paul Eggert
621400295176Schristos
621500295176Schristos
621600295176SchristosRelease data94e - 1994-06-04 13:13:53 -0400
621700295176Schristos
621800295176Schristos  [not summarized]
621900295176Schristos
622000295176Schristos
622100295176SchristosRelease code94g - 1994-05-05 12:14:07 -0400
622200295176Schristos
622300295176Schristos  fix missing "optind.c" and a reference to it in the Makefile
622400295176Schristos
622500295176Schristos
622600295176SchristosRelease code94f - 1994-05-05 13:00:33 -0000
622700295176Schristos  [tzcode94f.tar.gz is missing!]
622800295176Schristos
622900295176Schristos  changes to avoid overflow in difftime, as well as changes to cope
623000295176Schristos  with the 52/53 challenge in strftime
623100295176Schristos
623200295176Schristos
623300295176SchristosRelease code94e - 1994-03-30 23:32:59 -0500
623400295176Schristos
623500295176Schristos  change for the benefit of PCTS
623600295176Schristos
623700295176Schristos
623800295176SchristosRelease 94d - 1994-02-24 15:42:25 -0500
623900295176Schristos
624000295176Schristos  Avoid clashes with POSIX semantics for zones such as GMT+4.
624100295176Schristos
624200295176Schristos  Some other very minor housekeeping is also present.
624300295176Schristos
624400295176Schristos
624500295176SchristosRelease code94c - 1994-02-10 08:52:40 -0500
624600295176Schristos
624700295176Schristos  Fix bug where mkdirs was broken unless you compile with
624800295176Schristos  -fwritable-strings (which is generally losing to do).
624900295176Schristos
625000295176Schristos
625100295176SchristosRelease 94b - 1994-02-07 10:04:33 -0500
625200295176Schristos
625300295176Schristos  work by Paul Eggert who notes:
625400295176Schristos
625500295176Schristos  I found another book of time zone histories by E W Whitman; it's not
625600295176Schristos  as extensive as Shanks but has a few goodies of its own.  I used it
625700295176Schristos  to update the tables.  I also fixed some more as a result of
625800295176Schristos  correspondence with Adam David and Peter Ilieve, and move some stray
62593ad51082Schristos  links from 'europe' to 'backward'.  I corrected some scanning errors
626000295176Schristos  in usno1989.
626100295176Schristos
626200295176Schristos  As far as the code goes, I fixed zic to allow years in the range
626300295176Schristos  INT_MIN to INT_MAX; this fixed a few boundary conditions around 1900.
626400295176Schristos  And I cleaned up the zic documentation a little bit.
626500295176Schristos
626600295176Schristos
626700295176SchristosRelease data94a - 1994-02-03 08:58:54 -0500
626800295176Schristos
626900295176Schristos  It simply incorporates the recently announced leap second into the
627000295176Schristos  "leapseconds" file.
627100295176Schristos
627200295176Schristos
627300295176SchristosRelease 93g - 1993-11-22 17:28:27 -0500
627400295176Schristos
627500295176Schristos  Paul Eggert has provided a good deal of historic information (based
627600295176Schristos  on Shanks), and there are some code changes to deal with the buglets
627700295176Schristos  that crawled out in dealing with the new information.
627800295176Schristos
627900295176Schristos
628000295176SchristosRelease 93f - 1993-10-15 12:27:46 -0400
628100295176Schristos
628200295176Schristos  Paul Eggert's changes
628300295176Schristos
628400295176Schristos
628500295176SchristosRelease 93e - 1993-09-05 21:21:44 -0400
628600295176Schristos
62871f6103b1Schristos  This has updated data for Israel, England, and Kwajalein.  There's
628800295176Schristos  also an update to "zdump" to cope with Kwajalein's 24-hour jump.
628900295176Schristos  Thanks to Paul Eggert and Peter Ilieve for the changes.
629000295176Schristos
629100295176Schristos
629200295176SchristosRelease 93d - 1993-06-17 23:34:17 -0400
629300295176Schristos
629400295176Schristos  new fix and new data on Israel
629500295176Schristos
629600295176Schristos
629700295176SchristosRelease 93c - 1993-06-06 19:31:55 -0400
629800295176Schristos
629900295176Schristos  [not summarized]
630000295176Schristos
630100295176Schristos
630200295176SchristosRelease 93b - 1993-02-02 14:53:58 -0500
630300295176Schristos
630400295176Schristos  updated "leapseconds" file
630500295176Schristos
630600295176Schristos
630700295176SchristosRelease 93 - 1993-01-08 07:01:06 -0500
630800295176Schristos
63093ad51082Schristos  At kre's suggestion, the package has been split in two - a code piece
631000295176Schristos  (which also includes documentation) that's only of use to folks who
631100295176Schristos  want to recompile things and a data piece useful to anyone who can
631200295176Schristos  run "zic".
631300295176Schristos
631400295176Schristos  The new version has a few changes to the data files, a few
631500295176Schristos  portability changes, and an off-by-one fix (with thanks to
63163ad51082Schristos  Tom Karzes at deshaw.com for providing a description and a
631700295176Schristos  solution).
631800295176Schristos
631900295176Schristos
632000295176SchristosRelease 92c - 1992-11-21 17:35:36 -0000
632100295176Schristos  [tz92c.tar.Z is missing!]
632200295176Schristos
632300295176Schristos  The fallout from the latest round of DST transitions.
632400295176Schristos
632500295176Schristos  There are changes for Portugal, Saskatchewan, and "Pacific-New";
632600295176Schristos  there's also a change to "zic.c" that makes it portable to more systems.
632700295176Schristos
632800295176Schristos
632900295176SchristosRelease 92 - 1992-04-25 18:17:03 -0000
633000295176Schristos  [tz92.tar.Z is missing!]
633100295176Schristos
633200295176Schristos  By popular demand (well, at any rate, following a request by kre at munnari)
633300295176Schristos
633400295176Schristos
633500295176SchristosThe 1989 update of the time zone package featured:
633600295176Schristos
633700295176Schristos  *	POSIXization (including interpretation of POSIX-style TZ environment
633800295176Schristos	variables, provided by Guy Harris),
633900295176Schristos  *	ANSIfication (including versions of "mktime" and "difftime"),
634000295176Schristos  *	SVIDulation (an "altzone" variable)
634100295176Schristos  *	MACHination (the "gtime" function)
634200295176Schristos  *	corrections to some time zone data (including corrections to the rules
634300295176Schristos	for Great Britain and New Zealand)
634400295176Schristos  *	reference data from the United States Naval Observatory for folks who
634500295176Schristos	want to do additional time zones
634600295176Schristos  *	and the 1989 data for Saudi Arabia.
634700295176Schristos
634800295176Schristos  (Since this code will be treated as "part of the implementation" in some
634900295176Schristos  places and as "part of the application" in others, there's no good way to
635000295176Schristos  name functions, such as timegm, that are not part of the proposed ANSI C
635100295176Schristos  standard; such functions have kept their old, underscore-free names in this
635200295176Schristos  update.)
635300295176Schristos
635400295176Schristos  And the "dysize" function has disappeared; it was present to allow
635500295176Schristos  compilation of the "date" command on old BSD systems, and a version of "date"
635600295176Schristos  is now provided in the package.  The "date" command is not created when you
635700295176Schristos  "make all" since it may lack options provided by the version distributed with
635800295176Schristos  your operating system, or may not interact with the system in the same way
635900295176Schristos  the native version does.
636000295176Schristos
636100295176Schristos  Since POSIX frowns on correct leap second handling, the default behavior of
636200295176Schristos  the "zic" command (in the absence of a "-L" option) has been changed to omit
636300295176Schristos  leap second information from its output files.
636400295176Schristos
636500295176Schristos
636600295176Schristos-----
636700295176SchristosNotes
636800295176Schristos
636900295176SchristosThis file contains copies of the part of each release announcement
637000295176Schristosthat talks about the changes in that release.  The text has been
637100295176Schristosadapted and reformatted for the purposes of this file.
637200295176Schristos
63739551d334SchristosTraditionally a release R consists of a pair of tarball files,
637400295176SchristostzcodeR.tar.gz and tzdataR.tar.gz.  However, some releases (e.g.,
637500295176Schristoscode2010a, data2012c) consist of just one or the other tarball, and a
637600295176Schristosfew (e.g., code2012c-data2012d) have tarballs with mixed version
63779551d334Schristosnumbers.  Recent releases also come in an experimental format
63789551d334Schristosconsisting of a single tarball tzdb-R.tar.lz with extra data.
637900295176Schristos
638000295176SchristosRelease timestamps are taken from the release's commit (for newer,
63819551d334SchristosGit-based releases), from the newest file in the tarball (for older
638200295176Schristosreleases, where this info is available) or from the email announcing
6383b2b04f7eSchristosthe release (if all else fails; these are marked with a time zone
6384b2b04f7eSchristosabbreviation of -0000 and an "is missing!" comment).
638500295176Schristos
638600295176SchristosEarlier versions of the code and data were not announced on the tz
638700295176Schristoslist and are not summarized here.
638800295176Schristos
638900295176SchristosThis file is in the public domain.
63903ad51082Schristos
63913ad51082SchristosLocal Variables:
63923ad51082Schristoscoding: utf-8
63933ad51082SchristosEnd:
6394