xref: /freebsd/contrib/tzcode/NEWS (revision 2447e7773e36bbc89e80294c1e8cb53f9f607762)
1News for the tz database
2
3Release 2026e - 2026-09-29 17:14:38 -0700
4
5  Briefly:
6    Manitoba moves to permanent -05 on 2026-10-31.
7
8  Changes to future timestamps
9
10    Manitoba’s 2026-03-08 spring forward was its last foreseeable clock
11    change, as it moved to permanent -05 thereafter.  Model this with
12    its traditional abbreviation EST.  Although the change to
13    permanent -05 legally takes place on 2026-10-31, temporarily model
14    the change to occur on 2026-11-01 at 02:00 for the same reason as
15    other recent temporary hacks.  (Caution: see “NOTE FOR 2026b
16    TEMPORARY HACK FOR CLDR AND CANADA” below.)
17
18      As the change affects both America/Winnipeg and its backward
19      compatibility link, the obsolescent setting TZ="Canada/Central"
20      will now use the abbreviation EST for affected timestamps,
21      akin to TZ="Canada/Pacific" behavior introduced in 2026b.
22
23      Another TZDB release may be needed soon if any of the portions of
24      northwestern Ontario historically aligned with America/Winnipeg do
25      not follow.  For now, given the short leadtime with Manitoba’s
26      announcement, assume that they will, to avoid creating new zones
27      that may not be needed if no divergence occurs.
28
29  Changes to past timestamps
30
31    In 1925 Ireland fell back on 09-20 not 10-04 (thanks to Stan Ulbrych).
32
33  Changes to commentary
34
35    Discussion on timekeeping practices in northwestern Ontario has been
36    expanded in light of Manitoba’s recent announcement.  It is not yet
37    known whether or to what extent these areas may adapt their own
38    timekeeping practices in response.
39
40
41Release 2026d - 2026-09-11 15:21:07 -0700
42
43  Briefly:
44    Canada’s Northwest Territories moved to permanent -06 on 2026-08-21.
45    Obsolescent settings like TZ="EST5EDT" now conform better to POSIX.
46    Fix security, performance and porting bugs in zic and localtime.
47
48  Changes to future timestamps
49
50    Canada’s Northwest Territories will not fall back on 2026-11-01
51    and will stay on -06 year-round, matching Alberta’s recent change.
52    Model this with its traditional abbreviation CST.  Although the
53    change to permanent -06 legally took place on 2026-08-21,
54    temporarily model the change to occur on 2026-11-01 at 02:00
55    for the same reason as other recent temporary hacks.  (Caution:
56    see “NOTE FOR 2026b TEMPORARY HACK FOR CLDR AND CANADA” below.)
57    This affects only America/Inuvik as the rest of the territory is
58    covered by America/Edmonton, for which the equivalent change was
59    released in 2026c.
60
61  Changes to past timestamps
62
63    Colombia’s 1992-05-02 spring forward was at 00:00, not 24:00.
64
65    Iran’s 1979-05-26 spring forward was at 00:00, not 24:00.
66    (Thanks to N.F. Hase.)
67
68    The backward-compatibility names EST5EDT, CST6CDT, MST7MDT, and
69    PST8PDT now conform better to POSIX.  For example, EST5EDT now
70    always uses the abbreviation "EST" for standard time (now always 5
71    hours behind UT) and "EDT" for daylight saving time, whereas it
72    formerly had different UT offsets before standard time was
73    introduced and sometimes used abbreviations like "LMT", "EWT" and
74    "EPT", all contrary to POSIX.  Also, though not required by POSIX
75    these names now use US federal rules rather than rules of places
76    like New York, reverting to 2024a behavior.  This change affects
77    only timestamps before 1966-10-30 at 01:00 standard time.
78
79  Other data changes
80
81    The temporary hacks used for North American timekeeping changes
82    now work around a libstdc++ std::chrono bug in GCC 14.1-14.4,
83    15.1-15.2, and 16.1; see GCC bug 124851.  This data change does
84    not affect TZif files or timestamps.  The change does not work
85    around the related but less serious GCC bugs 116110 and 124513.
86    These GCC bugs are all fixed in GCC 16.2.
87
88  Changes to code
89
90    zic now rejects Link targets that would have invalid names, and
91    more efficiently processes Expires, Leap and Rule lines with years
92    far in the past or future.  (Thanks to Darren Carreras.)
93
94    zic now ports to systems that report lack of link support via
95    EINVAL, ENOSYS or EPERM errno values. (Thanks to Tom Lane.)
96
97    When tzset and related functions encounter a TZif file that is too
98    large for them, they now consistently fail instead of sometimes
99    silently ignoring excess parts of the file.
100
101    localtime-related functions no longer mishandle extreme timestamps
102    when given TZif files holding some unlikely timezone histories.
103    (Problem reported by David Sarkisyan.)
104
105    localtime-related functions no longer check the values of TZif
106    files’ standard/wall and UT/local indicators, which these
107    functions have not used since 2026a’s removal of the old
108    posixrules feature.
109
110    tzcode has been ported to Haiku.
111
112    localtime.c now works again by default on AIX and DragonFly BSD.
113
114    zic now rejects ‘:’ and ‘\’ in Zone and Link names when running on
115    Microsoft Windows.  (Problem reported by David Diaz.)
116
117  Changes to documentation
118
119    URLs for release tarballs in tz-link.html have been updated to
120    reflect their new canonical URLs on data.iana.org.
121
122
123Release 2026c - 2026-07-08 10:23:58 -0700
124
125  Briefly:
126    Alberta moved to permanent -06 on 2026-06-18.
127    Morocco moves to permanent +00 on 2026-09-20.
128    More integer overflow bugs have been fixed in zic.
129
130  Changes to future timestamps
131
132    Alberta’s 2026-03-08 spring forward was its last foreseeable clock
133    change, as it moved to permanent -06 thereafter.  (Thanks to Roozbeh
134    Pournader and others.)  Model this with its traditional abbreviation
135    CST.  Although the change to permanent -06 legally took place on
136    2026-06-18, temporarily model the change to occur on 2026-11-01 at
137    02:00 instead, for the same reason we introduced a similarly
138    temporary hack for British Columbia in 2026b.  (Caution: see
139    “NOTE FOR 2026b TEMPORARY HACK FOR CLDR AND CANADA” below.)
140
141      As the change affects both America/Edmonton and its backward
142      compatibility link, the obsolescent setting TZ="Canada/Mountain"
143      will now use the abbreviation CST for affected timestamps,
144      akin to TZ="Canada/Pacific" behavior introduced in 2026b.
145
146      Although another TZDB release will likely be needed soon because
147      Northwest Territories will likely follow Alberta, the legal
148      formalities have not yet taken place.
149
150    Morocco plans to move back to permanent UTC, without daylight
151    saving time transitions, on 2026-09-20 at 02:00.  This also
152    affects Western Sahara.
153
154  Changes to code
155
156    zic no longer overflows integers when processing outlandish input
157    like ‘Zone Ouch 0 - LMT 9223372036854775807’, ‘Zone Ouch 0
158    2562047788015215 LMT’, ‘Zone Ouch -2562047788015215:30:08 - LMT’,
159    and ‘Zone Ouch -2562047788015215:30:08 - %%z’.  This avoids
160    undefined behavior in C.  (Problems reported by Naveed Khan.)
161
162    On platforms that have EFTYPE, tzalloc now fails with errno set to
163    EFTYPE, not EINVAL, if it detects that the TZif file has an
164    invalid format or is not a regular file.  Formerly it did this
165    only on NetBSD, and only when the file was not a regular file.
166
167    Unprivileged programs no longer require TZif files to be regular
168    files or reject relative names containing ".." components.  This
169    reverts to the more-permissive 2025b behavior, as the stricter
170    behavior did not catch on in FreeBSD.
171
172    zic now reports any failure to remove a temporary file when
173    cleaning up after a previous failure.  (Problem reported by Tom
174    Lane.)
175
176  Changes to commentary
177
178    Northwest Territories is expected to move to permanent -06 prior to
179    2026-11-01 02:00, when clocks would otherwise fall back.  (Thanks to
180    Tim Parenti and James Bellaire.)  Model this with its traditional
181    abbreviation CST.  Unfortunately the change is not yet official, so
182    it is currently present only as comments that can be uncommented as
183    needed.
184
185  Changes to build procedure
186
187    The undocumented ‘typecheck’ Makefile check rule has been removed.
188    It stopped working in 2025a and evidently nobody noticed.
189    The rule was superseded by ‘check_time_t_alternatives’ in 2013d.
190
191
192Release 2026b - 2026-04-22 23:06:43 -0700
193
194  Briefly:
195    British Columbia moved to permanent -07 on 2026-03-09.
196    zic no longer mishandles a last transition to a new time type.
197    Some more overflow bugs have been fixed in zic.
198
199  Changes to future timestamps
200
201    British Columbia’s 2026-03-08 spring forward was its last
202    foreseeable clock change, as it moved to permanent -07 thereafter.
203    (Thanks to Arthur David Olson.)  Although the change to permanent
204    -07 legally took place on 2026-03-09, temporarily model the change
205    to occur on 2026-11-01 at 02:00 instead.  This works around a
206    limitation in CLDR 48.1 (2026-01-08).  This temporary hack is
207    planned to be removed after CLDR is fixed.
208
209      To match longstanding practice for -07 standard time in North
210      America, such as for America/Dawson, America/Dawson_Creek,
211      America/Fort_Nelson and America/Whitehorse, affected BC
212      timestamps use the abbreviation MST.  As the change affects both
213      America/Vancouver and its backward compatibility link, the
214      obsolescent setting TZ="Canada/Pacific" will now use the
215      abbreviation MST.  Future TZDB releases may change the
216      abbreviation if something else becomes popular across areas
217      observing -07, and may change it to "-07" if no alphabetic
218      consensus emerges.
219
220  Changes to code
221
222    zic no longer mishandles a last transition to a new time type.
223    NOTE FOR 2026b TEMPORARY HACK FOR CLDR AND CANADA:
224    This zic fix is needed for the temporary hack (mentioned above)
225    that works around the Canadian timekeeping bug in Unicode CLDR.
226    Without the fix, the temporary hack causes zic versions 2023d
227    through 2026a, in their default mode that generates slim output,
228    to generate a TZif file that violates Internet RFC 9636 §3.3.
229    The buggy file in turn causes some TZif readers, including tzcode
230    itself, to ignore America/Vancouver’s 2026-11-01 02:00 transition
231    from PDT (tm_isdst=1) to MST (tm_isdst=0).  Although the buggy
232    file does not cause any known TZif reader to mishandle UT offsets,
233    caution is advised when using zic 2023d through 2026a to compile
234    data from more-recent tz releases.  To work around this problem
235    when using these older zic versions, use ‘zic -b fat’.
236
237    zic no longer overflows a buffer when generating a TZ string like
238    "PST-167:59:58PDT-167:59:59,M11.5.6/-167:59:59,M12.5.6/-167:59:59",
239    which can occur with adversarial input.  (Thanks to Naveed Khan.)
240
241    zic no longer generates a longer TZif file than necessary when
242    an earlier time zone abbreviation is a suffix of a later one.
243    As a nice side effect, zic no longer overflows a buffer when given
244    a long series of abbreviations, each a suffix of the next.
245    (Buffer overflow reported by Arthur Chan.)
246
247    zic no longer overflows an int when processing input like ‘Zone
248    Ouch 2147483648:00:00 - LMT’.  The int overflow can lead to buffer
249    overflow in adversarial cases.  (Thanks to Naveed Khan.)
250
251    zic now checks for signals more often.
252
253
254Release 2026a - 2026-03-01 22:59:49 -0800
255
256  Briefly:
257    Moldova has used EU transition times since 2022.
258    The “right” TZif files are no longer installed by default.
259    -DTZ_RUNTIME_LEAPS=0 disables runtime support for leap seconds.
260    TZif files are no longer limited to 50 bytes of abbreviations.
261    zic is no longer limited to 50 leap seconds.
262    Several integer overflow bugs have been fixed.
263
264  Changes to past and future timestamps
265
266    Since 2022 Moldova has observed EU transition times, that is, it
267    has sprung forward at 03:00, not 02:00, and has fallen back at
268    04:00, not 03:00.  (Thanks to Heitor David Pinto.)
269
270  Changes to data
271
272    Remove Europe/Chisinau from zonenow.tab, as it now agrees with
273    Europe/Athens for future timestamps.
274
275  Changes to build procedure
276
277    The Makefile no longer by default installs an alternate set
278    of TZif files for system clocks that count leap seconds.
279    Install with ‘make REDO=posix_right’ to get the old default,
280    which is rarely used in major downstream distributions.
281    If your system clock counts leap seconds (contrary to POSIX),
282    it is better to install with ‘make REDO=right_only’.
283    This change does not affect the leapseconds file, which is still
284    installed as before.
285
286    The Makefile’s POSIXRULES option, which was declared obsolete in
287    release 2019b, has been removed.  The Makefile’s build procedure
288    thus no longer optionally installs the obsolete posixrules file.
289
290  Changes to code
291
292    Compiling with the new option -DTZ_RUNTIME_LEAPS=0 disables
293    runtime support for leap seconds.  Although this conforms to
294    POSIX, shrinks tzcode’s attack surface, and is more efficient,
295    it fails to support Internet RFC 9636’s leap seconds.
296
297    zic now can generate, and localtime.c can now use, TZif files that
298    hold up to 256 bytes of abbreviations, counting trailing NULs.
299    The previous limit was 50 bytes, and some tzdata TZif files were
300    already consuming 40 bytes.  zic -v warns if it generates a file
301    that exceeds the old 50-byte limit.
302
303    zic -L can now generate TZif files with more than 50 leap seconds.
304    This helps test TZif readers not limited to 50 leap seconds, as
305    tzcode’s localtime.c is; it has little immediate need for
306    practical timekeeping as there have been only 27 leap seconds and
307    possibly there will be no more, due to planned changes to UTC.
308    zic -v warns if its output exceeds the old 50-second limit.
309
310    localtime.c no longer accesses the posixrules file generated by
311    zic -p.  Hence for obsolete and nonconforming settings like
312    TZ="AST4ADT" it now typically falls back on US DST rules, rather
313    than attempting to override this fallback with the contents of the
314    posixrules file.  This removes library support that was declared
315    obsolete in release 2019b, and fixes some undefined behavior.
316    (Undefined behavior reported by Naveed Khan.)
317
318    The posix2time, posix2time_z, time2posix, and time2posix_z
319    functions now set errno=EOVERFLOW and return ((time_t) -1) if the
320    result is not representable.  Formerly they had undefined behavior
321    that could in practice result in crashing, looping indefinitely,
322    or returning an incorrect result.  As before, these functions are
323    defined only when localtime.c is compiled with the -DSTD_INSPIRED
324    option.
325
326    Some other undefined behavior, triggered by TZif files containing
327    outlandish but conforming UT offsets or leap second corrections,
328    has also been fixed.  (Some of these bugs reported by Naveed Khan.)
329
330    localtime.c no longer rejects TZif files that exactly fit in its
331    internal structures, fixing off-by-one typos introduced in 2014g.
332
333    zic no longer generates a no-op transition when
334    simultaneous Rule and Zone changes cancel each other out.
335    This occurs in tzdata only in Asia/Tbilisi on 1997-03-30.
336    (Thanks to Renchunhui for a test case showing the bug.)
337
338    zic no longer assumes you can fflush a read-only stream.
339    (Problem reported by Christos Zoulas.)
340
341    zic no longer generates UT offsets equal to -2**31 and localtime.c
342    no longer accepts them, as they can cause trouble in both
343    localtime.c and its callers.  RFC 9636 prohibits such offsets.
344
345    zic -p now warns that the -p option is obsolete and likely
346    ineffective.
347
348
349Release 2025c - 2025-12-10 14:42:37 -0800
350
351  Briefly:
352    Several code changes for compatibility with FreeBSD.
353
354  Changes to past timestamps
355
356    Baja California agreed with California’s DST rules in 1953 and in
357    1961 through 1975, instead of observing standard time all year.
358    (Thanks to Alois Treindl.)
359
360  Changes to build procedure
361
362    Files in distributed tarballs now have correct commit times.
363    Formerly, the committer’s time zone was incorrectly ignored.
364
365    Distribution products (*.asc, *.gz, and *.lz) now have
366    reproducible timestamps.  Formerly, only the contents of the
367    compressed tarballs had reproducible timestamps.
368
369    By default, distributed formatted man pages (*.txt) now use UTF-8
370    and are left-adjusted more consistently.  A new Makefile macro
371    MANFLAGS can override these defaults.  (Thanks to G. Branden
372    Robinson for inspiring these changes.)
373
374  Changes to code
375
376    An unset TZ is no longer invalid when /etc/localtime is missing,
377    and is abbreviated "UTC" not "-00".  This reverts to 2024b behavior.
378    (Problem and patch reported by Dag-Erling Smørgrav.)
379
380    New function offtime_r, short for fixed-offset localtime_rz.
381    It is defined if STD_INSPIRED is defined.
382    (Patch from Dag-Erling Smørgrav.)
383
384    tzset etc. are now more cautious about questionable TZ settings.
385    Privileged programs now reject TZ settings that start with '/',
386    unless they are TZDEFAULT (default "/etc/localtime") or
387    start with TZDIR then '/' (default "/usr/share/zoneinfo/").
388    Unprivileged programs now require files to be regular files
389    and reject relative names containing ".." directory components;
390    formerly, only privileged programs did those two things.
391    These changes were inspired by similar behavior in FreeBSD.
392    On NetBSD, unprivileged programs now use O_REGULAR to check
393    whether a TZ setting starting with '/' names a regular file,
394    avoiding a minor security race still present elsewhere.
395    TZ strings taken from tzalloc arguments are now treated with
396    no less caution than TZ strings taken from the environment, as
397    the old undocumented behavior would have been hard to explain.
398    tzset etc. no longer use the ‘access’ system call to check access;
399    instead they now use the system calls issetugid, getauxval,
400    getresuid/getresgid, and geteuid/getegid/getuid/getgid (whichever
401    first works) to test whether a program is privileged.
402    Compile with -DHAVE_SYS_AUXV_H=[01] to enable or disable
403    <sys/auxv.h> which (if it defines AT_SECURE) enables getauxval,
404    and compile with -DHAVE_ISSETUGID=[01], -DHAVE_GETRESUID=[01], and
405    -DHAVE_GETEUID=[01] to enable or disable the other calls’ use.
406
407    The new CFLAGS option -DTZ_CHANGE_INTERVAL=N makes tzset etc.
408    check for TZif file changes if the in-memory data are N seconds
409    old or more, and are derived from the TZ environment variable.
410    This is intended for platforms that want tzset etc. to reflect
411    changes to whatever file TZ selects (including changes to
412    /etc/localtime if TZ is unset).  If N is negative (the default)
413    these checks are omitted; this is the traditional behavior.
414
415    The new CFLAGS options -DHAVE_STRUCT_STAT_ST_CTIM=0 and
416    -DHAVE_STRUCT_TIMESPEC=0 port to non-POSIX.1-2008 platforms
417    that lack st_ctim and struct timespec, respectively.
418    On these platforms, the code falls back on st_ctime to
419    implement -DTZ_CHANGE_INTERVAL=N.
420
421    tzset etc. now treat ' ' like '_' in time zone abbreviations,
422    just as they treat other invalid bytes.  This continues the
423    transition begun in release 96k, which removed spaces in tzdata
424    because the spaces break time string parsers.
425
426    The new CFLAGS option -DTHREAD_PREFER_SINGLE causes tzcode
427    in single-threaded processes to avoid locks, as FreeBSD does.
428    This can save time in single-threaded apps.  The threadedness
429    testing costs CPU time and energy in multi-threaded apps.
430    New options -DHAVE___ISTHREADED and -DHAVE_SYS_SINGLE_THREADED_H
431    can help configure how to test for single-threadedness.
432
433    The new CFLAGS option -DTHREAD_RWLOCK uses read-write locks, as
434    macOS does, instead of mutexes.  This saves real time when TZ is
435    rarely changing and many threads call tzcode simultaneously.
436    It costs more CPU time and energy.
437
438    The new CFLAGS option -DTHREAD_TM_MULTI causes localtime to return
439    a pointer to thread-specific memory, as FreeBSD does, instead of
440    to the same memory in all threads.  This supports nonportable
441    programs that incorrectly use localtime instead of localtime_r.
442    This option affects gmtime and offtime similarly to localtime.
443    Because the corresponding storage is freed on thread exit, this
444    option is incompatible with POSIX.1-2024 and earlier.  It also
445    costs CPU time and memory.
446
447    tzfree now preserves errno, consistently with POSIX.1-2024 ‘free’.
448
449    tzcode now uses mempcpy if available, guessing its availability.
450    Compile with -DHAVE_MEMPCPY=1 or 0 to override the guess.
451
452    tzcode now uses strnlen to improve asymptotic performance a bit.
453    Compile with -DHAVE_STRNLEN=0 if your platform lacks it.
454
455    tzcode now hand-declares unistd.h-provided symbols like getopt
456    if HAVE_UNISTD_H=0, not if HAVE_POSIX_DECLS=0.
457
458    tzset etc. now have an experimental OPENAT_TZDIR option;
459    see Makefile and localtime.c for details.
460
461    On platforms like GNU/Hurd that do not define PATH_MAX,
462    exceedingly long TZ strings no longer fail merely because they
463    exceed an arbitrary file name length limit imposed by tzcode.
464
465    zic has new options inspired by FreeBSD.  ‘-D’ skips creation of
466    output ancestor directories, ‘-m MODE’ sets output files’ mode,
467    and ‘-u OWNER[:GROUP]’ sets output files’ owner and group.
468
469    zic now uses the fdopen function, which was standardized by
470    POSIX.1-1988 and is now safe to use in portable code.
471    This replaces its use of the older umask function, which
472    complicated maintenance.
473
474  Changes to commentary
475
476    The leapseconds file contains commentary about the IERS and NIST
477    last-modified and expiration timestamps for leap second data.
478    (Thanks to Judah Levine.)
479
480    Commentary now also uses characters from the set –‘’“”•≤ as this
481    can be useful and should work with current applications.  This
482    also affects data in iso3166.tab and zone1970.tab, which now
483    contain strings like “Côte d’Ivoire” instead of “Côte d'Ivoire”.
484
485
486Release 2025b - 2025-03-22 13:40:46 -0700
487
488  Briefly:
489    New zone for Aysén Region in Chile which moves from -04/-03 to -03.
490
491  Changes to future timestamps
492
493    Chile's Aysén Region moves from -04/-03 to -03 year-round, joining
494    Magallanes Region.  The region will not change its clocks on
495    2025-04-05 at 24:00, diverging from America/Santiago and creating a
496    new zone America/Coyhaique.  (Thanks to Yonathan Dossow.)  Model
497    this as a change to standard offset effective 2025-03-20.
498
499  Changes to past timestamps
500
501    Iran switched from +04 to +0330 on 1978-11-10 at 24:00, not at
502    year end.  (Thanks to Roozbeh Pournader.)
503
504  Changes to code
505
506    'zic -l TIMEZONE -d . -l /some/other/file/system' no longer
507    attempts to create an incorrect symlink, and no longer has a
508    read buffer underflow.  (Problem reported by Evgeniy Gorbanev.)
509
510
511Release 2025a - 2025-01-15 10:47:24 -0800
512
513  Briefly:
514    Paraguay adopted permanent -03 starting spring 2024.
515    Improve pre-1991 data for the Philippines.
516    Etc/Unknown is now reserved.
517
518  Changes to future timestamps
519
520    Paraguay stopped changing its clocks after the spring-forward
521    transition on 2024-10-06, so it is now permanently at -03.
522    (Thanks to Heitor David Pinto and Even Scharning.)
523    This affects timestamps starting 2025-03-22, as well as the
524    obsolescent tm_isdst flags starting 2024-10-15.
525
526  Changes to past timestamps
527
528    Correct timestamps for the Philippines before 1900, and from 1937
529    through 1990.  (Thanks to P Chan for the heads-up and citations.)
530    This includes adjusting local mean time before 1899; fixing
531    transitions in September 1899, January 1937, and June 1954; adding
532    transitions in December 1941, November 1945, March and September
533    1977, and May and July 1990; and removing incorrect transitions in
534    March and September 1978.
535
536  Changes to data
537
538    Add zone1970.tab lines for the Concordia and Eyre Bird Observatory
539    research stations.  (Thanks to Derick Rethans and Jule Dabars.)
540
541  Changes to code
542
543    strftime %s now generates the correct numeric string even when the
544    represented number does not fit into time_t.  This is better than
545    generating the numeric equivalent of (time_t) -1, as strftime did
546    in TZDB releases 96a (when %s was introduced) through 2020a and in
547    releases 2022b through 2024b.  It is also better than failing and
548    returning 0, as strftime did in releases 2020b through 2022a.
549
550    strftime now outputs an invalid conversion specifier as-is,
551    instead of eliding the leading '%', which confused debugging.
552
553    An invalid TZ now generates the time zone abbreviation "-00", not
554    "UTC", to help the user see that an error has occurred.  (Thanks
555    to Arthur David Olson for suggesting a "wrong result".)
556
557    mktime and timeoff no longer incorrectly fail merely because a
558    struct tm component near INT_MIN or INT_MAX overflows when a
559    lower-order component carries into it.
560
561    TZNAME_MAXIMUM, the maximum number of bytes in a proleptic TZ
562    string's time zone abbreviation, now defaults to 254 not 255.
563    This helps reduce the size of internal state from 25480 to 21384
564    on common platforms.  This change should not be a problem, as
565    nobody uses such long "abbreviations" and the longstanding tzcode
566    maximum was 16 until release 2023a.  For those who prefer no
567    arbitrary limits, you can now specify TZNAME_MAXIMUM values up to
568    PTRDIFF_MAX, a limit forced by C anyway; formerly tzcode silently
569    misbehaved unless TZNAME_MAXIMUM was less than INT_MAX.
570
571    tzset and related functions no longer leak a file descriptor if
572    another thread forks or execs at about the same time and if the
573    platform has O_CLOFORK and O_CLOEXEC respectively.  Also, the
574    functions no longer let a TZif file become a controlling terminal.
575
576    'zdump -' now reads TZif data from /dev/stdin.
577    (From a question by Arthur David Olson.)
578
579  Changes to documentation
580
581    The name Etc/Unknown is now reserved: it will not be used by TZDB.
582    This is for compatibility with CLDR, which uses the string
583    "Etc/Unknown" for an unknown or invalid timezone.  (Thanks to
584    Justin Grant, Mark Davis, and Guy Harris.)
585
586    Cite Internet RFC 9636, which obsoletes RFC 8536 for TZif format.
587
588
589Release 2024b - 2024-09-04 12:27:47 -0700
590
591  Briefly:
592    Improve historical data for Mexico, Mongolia, and Portugal.
593    System V names are now obsolescent.
594    The main data form now uses %z.
595    The code now conforms to RFC 8536 for early timestamps.
596    Support POSIX.1-2024, which removes asctime_r and ctime_r.
597    Assume POSIX.2-1992 or later for shell scripts.
598    SUPPORT_C89 now defaults to 1.
599
600  Changes to past timestamps
601
602    Asia/Choibalsan is now an alias for Asia/Ulaanbaatar rather than
603    being a separate Zone with differing behavior before April 2008.
604    This seems better given our wildly conflicting information about
605    Mongolia's time zone history.  (Thanks to Heitor David Pinto.)
606
607    Historical transitions for Mexico have been updated based on
608    official Mexican decrees.  The affected timestamps occur during
609    the years 1921-1927, 1931, 1945, 1949-1970, and 1981-1997.
610    The affected zones are America/Bahia_Banderas, America/Cancun,
611    America/Chihuahua, America/Ciudad_Juarez, America/Hermosillo,
612    America/Mazatlan, America/Merida, America/Mexico_City,
613    America/Monterrey, America/Ojinaga, and America/Tijuana.
614    (Thanks to Heitor David Pinto.)
615
616    Historical transitions for Portugal, represented by Europe/Lisbon,
617    Atlantic/Azores, and Atlantic/Madeira, have been updated based on a
618    close reading of old Portuguese legislation, replacing previous data
619    mainly originating from Whitman and Shanks & Pottenger.  These
620    changes affect a few transitions in 1917-1921, 1924, and 1940
621    throughout these regions by a few hours or days, and various
622    timestamps between 1977 and 1993 depending on the region.  In
623    particular, the Azores and Madeira did not observe DST from 1977 to
624    1981.  Additionally, the adoption of standard zonal time in former
625    Portuguese colonies have been adjusted: Africa/Maputo in 1909, and
626    Asia/Dili by 22 minutes at the start of 1912.
627    (Thanks to Tim Parenti.)
628
629  Changes to past tm_isdst flags
630
631    The period from 1966-04-03 through 1966-10-02 in Portugal is now
632    modeled as DST, to more closely reflect how contemporaneous changes
633    in law entered into force.
634
635  Changes to data
636
637    Names present only for compatibility with UNIX System V
638    (last released in the 1990s) have been moved to 'backward'.
639    These names, which for post-1970 timestamps mostly just duplicate
640    data of geographical names, were confusing downstream uses.
641    Names moved to 'backward' are now links to geographical names.
642    This affects behavior for TZ='EET' for some pre-1981 timestamps,
643    for TZ='CET' for some pre-1947 timestamps, and for TZ='WET' for
644    some pre-1996 timestamps.  Also, TZ='MET' now behaves like
645    TZ='CET' and so uses the abbreviation "CET" rather than "MET".
646    Those needing the previous TZDB behavior, which does not match any
647    real-world clocks, can find the old entries in 'backzone'.
648    (Problem reported by Justin Grant.)
649
650    The main source files' time zone abbreviations now use %z,
651    supported by zic since release 2015f and used in vanguard form
652    since release 2022b.  For example, America/Sao_Paulo now contains
653    the zone continuation line "-3:00 Brazil %z", which is less error
654    prone than the old "-3:00 Brazil -03/-02".  This does not change
655    the represented data: the generated TZif files are unchanged.
656    Rearguard form still avoids %z, to support obsolescent parsers.
657
658    Asia/Almaty has been removed from zonenow.tab as it now agrees
659    with Asia/Tashkent for future timestamps, due to Kazakhstan's
660    2024-02-29 time zone change.  Similarly, America/Scoresbysund
661    has been removed, as it now agrees with America/Nuuk due to
662    its 2024-03-31 time zone change.
663
664  Changes to code
665
666    localtime.c now always uses a TZif file's time type 0 to handle
667    timestamps before the file's first transition.  Formerly,
668    localtime.c sometimes inferred a different time type, in order to
669    handle problematic data generated by zic 2018e or earlier.  As it
670    is now safe to assume more recent versions of zic, there is no
671    longer a pressing need to fail to conform RFC 8536 section 3.2,
672    which requires using time type 0 in this situation.  This change
673    does not affect behavior when reading TZif files generated by zic
674    2018f and later.
675
676    POSIX.1-2024 removes asctime_r and ctime_r and does not let
677    libraries define them, so remove them except when needed to
678    conform to earlier POSIX.  These functions are dangerous as they
679    can overrun user buffers.  If you still need them, add
680    -DSUPPORT_POSIX2008 to CFLAGS.
681
682    The SUPPORT_C89 option now defaults to 1 instead of 0, fixing a
683    POSIX-conformance bug introduced in 2023a.
684
685    tzselect now supports POSIX.1-2024 proleptic TZ strings.  Also, it
686    assumes POSIX.2-1992 or later, as practical porting targets now
687    all support that, and it uses some features from POSIX.1-2024 if
688    available.
689
690  Changes to build procedure
691
692    'make check' no longer requires curl and Internet access.
693
694    The build procedure now assumes POSIX.2-1992 or later, to simplify
695    maintenance.  To build on Solaris 10, the only extant system still
696    defaulting to pre-POSIX, prepend /usr/xpg4/bin to PATH.
697
698  Changes to documentation
699
700    The documentation now reflects POSIX.1-2024.
701
702  Changes to commentary
703
704    Commentary about historical transitions in Portugal and her former
705    colonies has been expanded with links to relevant legislation.
706    (Thanks to Tim Parenti.)
707
708
709Release 2024a - 2024-02-01 09:28:56 -0800
710
711  Briefly:
712    Kazakhstan unifies on UTC+5 beginning 2024-03-01.
713    Palestine springs forward a week later after Ramadan.
714    zic no longer pretends to support indefinite-past DST.
715    localtime no longer mishandles Ciudad Juárez in 2422.
716
717  Changes to future timestamps
718
719    Kazakhstan unifies on UTC+5.  This affects Asia/Almaty and
720    Asia/Qostanay which together represent the eastern portion of the
721    country that will transition from UTC+6 on 2024-03-01 at 00:00 to
722    join the western portion.  (Thanks to Zhanbolat Raimbekov.)
723
724    Palestine springs forward a week later than previously predicted
725    in 2024 and 2025.  (Thanks to Heba Hamad.)  Change spring-forward
726    predictions to the second Saturday after Ramadan, not the first;
727    this also affects other predictions starting in 2039.
728
729  Changes to past timestamps
730
731    Asia/Ho_Chi_Minh's 1955-07-01 transition occurred at 01:00
732    not 00:00.  (Thanks to Đoàn Trần Công Danh.)
733
734    From 1947 through 1949, Toronto's transitions occurred at 02:00
735    not 00:00.  (Thanks to Chris Walton.)
736
737    In 1911 Miquelon adopted standard time on June 15, not May 15.
738
739  Changes to code
740
741    The FROM and TO columns of Rule lines can no longer be "minimum"
742    or an abbreviation of "minimum", because TZif files do not support
743    DST rules that extend into the indefinite past - although these
744    rules were supported when TZif files had only 32-bit data, this
745    stopped working when 64-bit TZif files were introduced in 1995.
746    This should not be a problem for realistic data, since DST was
747    first used in the 20th century.  As a transition aid, FROM columns
748    like "minimum" are now diagnosed and then treated as if they were
749    the year 1900; this should suffice for TZif files on old systems
750    with only 32-bit time_t, and it is more compatible with bugs in
751    2023c-and-earlier localtime.c.  (Problem reported by Yoshito
752    Umaoka.)
753
754    localtime and related functions no longer mishandle some
755    timestamps that occur about 400 years after a switch to a time
756    zone with a DST schedule.  In 2023d data this problem was visible
757    for some timestamps in November 2422, November 2822, etc. in
758    America/Ciudad_Juarez.  (Problem reported by Gilmore Davidson.)
759
760    strftime %s now uses tm_gmtoff if available.  (Problem and draft
761    patch reported by Dag-Erling Smørgrav.)
762
763  Changes to build procedure
764
765    The leap-seconds.list file is now copied from the IERS instead of
766    from its downstream counterpart at NIST, as the IERS version is
767    now in the public domain too and tends to be more up-to-date.
768    (Thanks to Martin Burnicki for liaising with the IERS.)
769
770  Changes to documentation
771
772    The strftime man page documents which struct tm members affect
773    which conversion specs, and that tzset is called.  (Problems
774    reported by Robert Elz and Steve Summit.)
775
776
777Release 2023d - 2023-12-21 20:02:24 -0800
778
779  Briefly:
780    Ittoqqortoormiit, Greenland changes time zones on 2024-03-31.
781    Vostok, Antarctica changed time zones on 2023-12-18.
782    Casey, Antarctica changed time zones five times since 2020.
783    Code and data fixes for Palestine timestamps starting in 2072.
784    A new data file zonenow.tab for timestamps starting now.
785
786  Changes to future timestamps
787
788    Ittoqqortoormiit, Greenland (America/Scoresbysund) joins most of
789    the rest of Greenland's timekeeping practice on 2024-03-31, by
790    changing its time zone from -01/+00 to -02/-01 at the same moment
791    as the spring-forward transition.  Its clocks will therefore not
792    spring forward as previously scheduled.  The time zone change
793    reverts to its common practice before 1981.  (Thanks to Jule Dabars.)
794
795    Fix predictions for DST transitions in Palestine in 2072-2075,
796    correcting a typo introduced in 2023a.  (Thanks to Jule Dabars.)
797
798  Changes to past and future timestamps
799
800    Vostok, Antarctica changed to +05 on 2023-12-18.  It had been at
801    +07 (not +06) for years.  (Thanks to Zakhary V. Akulov.)
802
803    Change data for Casey, Antarctica to agree with timeanddate.com,
804    by adding five time zone changes since 2020.  Casey is now at +08
805    instead of +11.
806
807  Changes to past tm_isdst flags
808
809    Much of Greenland, represented by America/Nuuk, changed its
810    standard time from -03 to -02 on 2023-03-25, not on 2023-10-28.
811    This does not affect UTC offsets, only the tm_isdst flag.
812    (Thanks to Thomas M. Steenholdt.)
813
814  New data file
815
816    A new data file zonenow.tab helps configure applications that use
817    timestamps dated from now on.  This simplifies configuration,
818    since users choose from a smaller Zone set.  The file's format is
819    experimental and subject to change.
820
821  Changes to code
822
823    localtime.c no longer mishandles TZif files that contain a single
824    transition into a DST regime.  Previously, it incorrectly assumed
825    DST was in effect before the transition too.  (Thanks to Alois
826    Treindl for debugging help.)
827
828    localtime.c's timeoff no longer collides with OpenBSD 7.4.
829
830    The C code now uses _Generic only if __STDC_VERSION__ says the
831    compiler is C11 or later.
832
833    tzselect now optionally reads zonenow.tab, to simplify when
834    configuring only for timestamps dated from now on.
835
836    tzselect no longer creates temporary files.
837
838    tzselect no longer mishandles the following:
839
840      Spaces and most other special characters in BUGEMAIL, PACKAGE,
841      TZDIR, and VERSION.
842
843      TZ strings when using mawk 1.4.3, which mishandles regular
844      expressions of the form /X{2,}/.
845
846      ISO 6709 coordinates when using an awk that lacks the GNU
847      extension of newlines in -v option-arguments.
848
849      Non UTF-8 locales when using an iconv command that lacks the GNU
850      //TRANSLIT extension.
851
852    zic no longer mishandles data for Palestine after the year 2075.
853    Previously, it incorrectly omitted post-2075 transitions that are
854    predicted for just before and just after Ramadan.  (Thanks to Ken
855    Murchison for debugging help.)
856
857    zic now works again on Linux 2.6.16 and 2.6.17 (2006).
858    (Problem reported by Rune Torgersen.)
859
860  Changes to build procedure
861
862    The Makefile is now more compatible with POSIX:
863     * It no longer defines AR, CC, CFLAGS, LDFLAGS, and SHELL.
864     * It no longer uses its own 'cc' in place of CC.
865     * It now uses ARFLAGS, with default specified by POSIX.
866     * It does not use LFLAGS incompatibly with POSIX.
867     * It uses the special .POSIX target.
868     * It quotes special characters more carefully.
869     * It no longer mishandles builds in an ISO 8859 locale.
870    Due to the CC changes, TZDIR is now #defined in a file tzdir.h
871    built by 'make', not in a $(CC) -D option.  Also, TZDEFAULT is
872    now treated like TZDIR as they have similar roles.
873
874  Changes to commentary
875
876     Limitations and hazards of the optional support for obsolescent
877     C89 platforms are documented better, along with a tentative
878     schedule for removing this support.
879
880
881Release 2023c - 2023-03-28 12:42:14 -0700
882
883  Changes to past and future timestamps
884
885    Model Lebanon's DST chaos by reverting data to tzdb 2023a.
886    (Thanks to Rany Hany for the heads-up.)
887
888
889Release 2023b - 2023-03-23 19:50:38 -0700
890
891  Changes to future timestamps
892
893    This year Lebanon springs forward April 20/21 not March 25/26.
894    (Thanks to Saadallah Itani.)  [This was reverted in 2023c.]
895
896
897Release 2023a - 2023-03-22 12:39:33 -0700
898
899  Briefly:
900    Egypt now uses DST again, from April through October.
901    This year Morocco springs forward April 23, not April 30.
902    Palestine delays the start of DST this year.
903    Much of Greenland still uses DST from 2024 on.
904    America/Yellowknife now links to America/Edmonton.
905    tzselect can now use current time to help infer timezone.
906    The code now defaults to C99 or later.
907    Fix use of C23 attributes.
908
909  Changes to future timestamps
910
911    Starting in 2023, Egypt will observe DST from April's last Friday
912    through October's last Thursday.  (Thanks to Ahmad ElDardiry.)
913    Assume the transition times are 00:00 and 24:00, respectively.
914
915    In 2023 Morocco's spring-forward transition after Ramadan
916    will occur April 23, not April 30.  (Thanks to Milamber.)
917    Adjust predictions for future years accordingly.  This affects
918    predictions for 2023, 2031, 2038, and later years.
919
920    This year Palestine will delay its spring forward from
921    March 25 to April 29 due to Ramadan.  (Thanks to Heba Hamad.)
922    Make guesses for future Ramadans too.
923
924    Much of Greenland, represented by America/Nuuk, will continue to
925    observe DST using European Union rules.  When combined with
926    Greenland's decision not to change the clocks in fall 2023,
927    America/Nuuk therefore changes from -03/-02 to -02/-01 effective
928    2023-10-29 at 01:00 UTC.  (Thanks to Thomas M. Steenholdt.)
929    This change from 2022g doesn't affect timestamps until 2024-03-30,
930    and doesn't affect tm_isdst until 2023-03-25.
931
932  Changes to past timestamps
933
934    America/Yellowknife has changed from a Zone to a backward
935    compatibility Link, as it no longer differs from America/Edmonton
936    since 1970.  (Thanks to Almaz Mingaleev.)  This affects some
937    pre-1948 timestamps.  The old data are now in 'backzone'.
938
939  Changes to past time zone abbreviations
940
941    When observing Moscow time, Europe/Kirov and Europe/Volgograd now
942    use the abbreviations MSK/MSD instead of numeric abbreviations,
943    for consistency with other timezones observing Moscow time.
944
945  Changes to code
946
947    You can now tell tzselect local time, to simplify later choices.
948    Select the 'time' option in its first prompt.
949
950    You can now compile with -DTZNAME_MAXIMUM=N to limit time zone
951    abbreviations to N bytes (default 255).  The reference runtime
952    library now rejects POSIX-style TZ strings that contain longer
953    abbreviations, treating them as UTC.  Previously the limit was
954    platform dependent and abbreviations were silently truncated to
955    16 bytes even when the limit was greater than 16.
956
957    The code by default is now designed for C99 or later.  To build on
958    a mostly-C89 platform, compile with -DPORT_TO_C89; this should
959    work on C89 platforms that also support C99 'long long' and
960    perhaps a few other extensions to C89.  To support C89 callers of
961    tzcode's library, compile with -DSUPPORT_C89; however, this could
962    trigger latent bugs in C99-or-later callers.  The two new macros
963    are transitional aids planned to be removed in a future version
964    (say, in 2029), when C99 or later will be required.
965
966    The code now builds again on pre-C99 platforms, if you compile
967    with -DPORT_TO_C89.  This fixes a bug introduced in 2022f.
968
969    On C23-compatible platforms tzcode no longer uses syntax like
970    'static [[noreturn]] void usage(void);'.  Instead, it uses
971    '[[noreturn]] static void usage(void);' as strict C23 requires.
972    (Problem reported by Houge Langley.)
973
974    The code's functions now constrain their arguments with the C
975    'restrict' keyword consistently with their documentation.
976    This may allow future optimizations.
977
978    zdump again builds standalone with ckdadd and without setenv,
979    fixing a bug introduced in 2022g.  (Problem reported by panic.)
980
981    leapseconds.awk can now process a leap seconds file that never
982    expires; this might be useful if leap seconds are discontinued.
983
984  Changes to commentary
985
986    tz-link.html has a new section "Coordinating with governments and
987    distributors".  (Thanks to Neil Fuller for some of the text.)
988
989    To improve tzselect diagnostics, zone1970.tab's comments column is
990    now limited to countries that have multiple timezones.
991
992    Note that there are plans to discontinue leap seconds by 2035.
993
994
995Release 2022g - 2022-11-29 08:58:31 -0800
996
997  Briefly:
998    The northern edge of Chihuahua changes to US timekeeping.
999    Much of Greenland stops changing clocks after March 2023.
1000    Fix some pre-1996 timestamps in northern Canada.
1001    C89 is now deprecated; please use C99 or later.
1002    Portability fixes for AIX, libintl, MS-Windows, musl, z/OS
1003    In C code, use more C23 features if available.
1004    C23 timegm now supported by default
1005    Fixes for unlikely integer overflows
1006
1007  Changes to future timestamps
1008
1009    In the Mexican state of Chihuahua, the border strip near the US
1010    will change to agree with nearby US locations on 2022-11-30.
1011    The strip's western part, represented by Ciudad Juárez, switches
1012    from -06 all year to -07/-06 with US DST rules, like El Paso, TX.
1013    The eastern part, represented by Ojinaga, will observe US DST next
1014    year, like Presidio, TX.  (Thanks to Heitor David Pinto.)
1015    A new Zone America/Ciudad_Juarez splits from America/Ojinaga.
1016
1017    Much of Greenland, represented by America/Nuuk, stops observing
1018    winter time after March 2023, so its daylight saving time becomes
1019    standard time.  (Thanks to Jonas Nyrup and Jürgen Appel.)
1020
1021  Changes to past timestamps
1022
1023    Changes for pre-1996 northern Canada (thanks to Chris Walton):
1024
1025      Merge America/Iqaluit and America/Pangnirtung into the former,
1026      with a backward compatibility link for the latter name.
1027      There is no good evidence the two locations differ since 1970.
1028      This change affects pre-1996 America/Pangnirtung timestamps.
1029
1030      Cambridge Bay, Inuvik, Iqaluit, Rankin Inlet, Resolute and
1031      Yellowknife did not observe DST in 1965, and did observe DST
1032      from 1972 through 1979.
1033
1034      Whitehorse moved from -09 to -08 on 1966-02-27, not 1967-05-28.
1035
1036    Colombia's 1993 fallback was 02-06 24:00, not 04-04 00:00.
1037    (Thanks to Alois Treindl.)
1038
1039    Singapore's 1981-12-31 change was at 16:00 UTC (23:30 local time),
1040    not 24:00 local time.  (Thanks to Geoff Clare via Robert Elz.)
1041
1042  Changes to code
1043
1044    Although tzcode still works with C89, bugs found in recent routine
1045    maintenance indicate that bitrot has set in and that in practice
1046    C89 is no longer used to build tzcode.  As it is a maintenance
1047    burden, support for C89 is planned to be removed soon.  Instead,
1048    please use compilers compatible with C99, C11, C17, or C23.
1049
1050    timegm, which tzcode implemented in 1989, will finally be
1051    standardized 34 years later as part of C23, so timegm is now
1052    supported even if STD_INSPIRED is not defined.
1053
1054    Fix bug in zdump's tzalloc emulation on hosts that lack tm_zone.
1055    (Problem reported by Đoàn Trần Công Danh.)
1056
1057    Fix bug in zic on hosts where malloc(0) yields NULL on success.
1058    (Problem reported by Tim McBrayer for AIX 6.1.)
1059
1060    Fix zic configuration to avoid linkage failures on some platforms.
1061    (Problems reported by Gilmore Davidson and Igor Ivanov.)
1062
1063    Work around MS-Windows nmake incompatibility with POSIX.
1064    (Problem reported by Manuela Friedrich.)
1065
1066    Port mktime and strftime to debugging platforms where accessing
1067    uninitialized data has undefined behavior (strftime problem
1068    reported by Robert Elz).
1069
1070    Check more carefully for unlikely integer overflows, preferring
1071    C23 <stdckdint.h> to overflow checking by hand, as the latter has
1072    had obscure bugs.
1073
1074  Changes to build procedure
1075
1076    New Makefile rule check_mild that skips checking whether Link
1077    lines are in the file 'backward'.  (Inspired by a suggestion from
1078    Stephen Colebourne.)
1079
1080
1081Release 2022f - 2022-10-28 18:04:57 -0700
1082
1083  Briefly:
1084    Mexico will no longer observe DST except near the US border.
1085    Chihuahua moves to year-round -06 on 2022-10-30.
1086    Fiji no longer observes DST.
1087    Move links to 'backward'.
1088    In vanguard form, GMT is now a Zone and Etc/GMT a link.
1089    zic now supports links to links, and vanguard form uses this.
1090    Simplify four Ontario zones.
1091    Fix a Y2438 bug when reading TZif data.
1092    Enable 64-bit time_t on 32-bit glibc platforms.
1093    Omit large-file support when no longer needed.
1094    In C code, use some C23 features if available.
1095    Remove no-longer-needed workaround for Qt bug 53071.
1096
1097  Changes to future timestamps
1098
1099    Mexico will no longer observe DST after 2022, except for areas
1100    near the US border that continue to observe US DST rules.
1101    On 2022-10-30 at 02:00 the Mexican state of Chihuahua moves
1102    from -07 (-06 with DST) to year-round -06, thus not changing
1103    its clocks that day.  The new law states that Chihuahua
1104    near the US border no longer observes US DST.
1105    (Thanks to gera for the heads-up about Chihuahua.)
1106
1107    Fiji will not observe DST in 2022/3.  (Thanks to Shalvin Narayan.)
1108    For now, assume DST is suspended indefinitely.
1109
1110  Changes to data
1111
1112    Move links to 'backward' to ease and simplify link maintenance.
1113    This affects generated data only if you use 'make BACKWARD='.
1114
1115    GMT is now a Zone and Etc/GMT a link instead of vice versa,
1116    as GMT is needed for leap second support whereas Etc/GMT is not.
1117    However, this change exposes a bug in TZUpdater 2.3.2 so it is
1118    present only in vanguard form for now.
1119
1120    Vanguard form now uses links to links, as zic now supports this.
1121
1122  Changes to past timestamps
1123
1124    Simplify four Ontario zones, as most of the post-1970 differences
1125    seem to have been imaginary.  (Problem reported by Chris Walton.)
1126    Move America/Nipigon, America/Rainy_River, and America/Thunder_Bay
1127    to 'backzone'; backward-compatibility links still work, albeit
1128    with some different timestamps before November 2005.
1129
1130  Changes to code
1131
1132    zic now supports links to links regardless of input line order.
1133    For example, if Australia/Sydney is a Zone, the lines
1134      Link Australia/Canberra Australia/ACT
1135      Link Australia/Sydney Australia/Canberra
1136    now work correctly, even though the shell commands
1137      ln Australia/Canberra Australia/ACT
1138      ln Australia/Sydney Australia/Canberra
1139    would fail because the first command attempts to use a link
1140    Australia/Canberra that does not exist until after the second
1141    command is executed.  Previously, zic had unspecified behavior if
1142    a Link line's target was another link, and zic often misbehaved if
1143    a Link line's target was a later Link line.
1144
1145    Fix line number in zic's diagnostic for a link to a link.
1146
1147    Fix a bug that caused localtime to mishandle timestamps starting
1148    in the year 2438 when reading data generated by 'zic -b fat' when
1149    distant-future DST transitions occur at times given in standard
1150    time or in UT, not the usual case of local time.  This occurs when
1151    the corresponding .zi Rule lines specify DST transitions with TO
1152    columns of 'max' and AT columns that end in 's' or 'u'.  The
1153    number 2438 comes from the 32-bit limit in the year 2038, plus the
1154    400-year Gregorian cycle.  (Problem reported by Bradley White.)
1155
1156    On glibc 2.34 and later, which optionally supports 64-bit time_t
1157    on platforms like x86 where time_t was traditionally 32 bits,
1158    default time_t to 64 instead of 32 bits.  This lets functions like
1159    localtime support timestamps after the year 2038, and fixes
1160    year-2038 problems in zic when accessing files dated after 2038.
1161    To continue to limit time_t to 32 bits on these platforms, use
1162    "make CFLAGS='-D_TIME_BITS=32'".
1163
1164    In C code, do not enable large-file support on platforms like AIX
1165    and macOS that no longer need it now that tzcode does not use
1166    off_t or related functions like 'stat'.  Large-file support is
1167    still enabled by default on GNU/Linux, as it is needed for 64-bit
1168    time_t support.
1169
1170    In C code, prefer C23 keywords to pre-C23 macros for alignof,
1171    bool, false, and true.  Also, use the following C23 features if
1172    available: __has_include, unreachable.
1173
1174    zic no longer works around Qt bug 53071, as the relevant Qt
1175    releases have been out of support since 2019.  This change affects
1176    only fat TZif files, as thin files never had the workaround.
1177
1178    zdump no longer modifies the environ vector when compiled on
1179    platforms lacking tm_zone or when compiled with -DUSE_LTZ=0.
1180    This avoid undefined behavior on POSIX platforms.
1181
1182
1183Release 2022e - 2022-10-11 11:13:02 -0700
1184
1185  Briefly:
1186    Jordan and Syria switch from +02/+03 with DST to year-round +03.
1187
1188  Changes to future timestamps
1189
1190    Jordan and Syria are abandoning the DST regime and are changing to
1191    permanent +03, so they will not fall back from +03 to +02 on
1192    2022-10-28.  (Thanks to Steffen Thorsen and Issam Al-Zuwairi.)
1193
1194  Changes to past timestamps
1195
1196    On 1922-01-01 Tijuana adopted standard time at 00:00, not 01:00.
1197
1198  Changes to past time zone abbreviations and DST flags
1199
1200    The temporary advancement of clocks in central Mexico in summer
1201    1931 is now treated as daylight saving time, instead of as two
1202    changes to standard time.
1203
1204
1205Release 2022d - 2022-09-23 12:02:57 -0700
1206
1207  Briefly:
1208    Palestine transitions are now Saturdays at 02:00.
1209    Simplify three Ukraine zones into one.
1210
1211  Changes to future timestamps
1212
1213    Palestine now springs forward and falls back at 02:00 on the
1214    first Saturday on or after March 24 and October 24, respectively.
1215    This means 2022 falls back 10-29 at 02:00, not 10-28 at 01:00.
1216    (Thanks to Heba Hamad.)
1217
1218  Changes to past timestamps
1219
1220    Simplify three Ukraine zones to one, since the post-1970
1221    differences seem to have been imaginary.  Move Europe/Uzhgorod and
1222    Europe/Zaporozhye to 'backzone'; backward-compatibility links
1223    still work, albeit with different timestamps before October 1991.
1224
1225
1226Release 2022c - 2022-08-15 17:47:18 -0700
1227
1228  Briefly:
1229    Work around awk bug in FreeBSD, macOS, etc.
1230    Improve tzselect on intercontinental Zones.
1231
1232  Changes to code
1233
1234    Work around a bug in onetrueawk that broke commands like
1235    'make traditional_tarballs' on FreeBSD, macOS, etc.
1236    (Problem reported by Deborah Goldsmith.)
1237
1238    Add code to tzselect that uses experimental structured comments in
1239    zone1970.tab to clarify whether Zones like Africa/Abidjan and
1240    Europe/Istanbul cross continent or ocean boundaries.
1241    (Inspired by a problem reported by Peter Krefting.)
1242
1243    Fix bug with 'zic -d /a/b/c' when /a is unwritable but the
1244    directory /a/b already exists.
1245
1246    Remove zoneinfo2tdf.pl, as it was unused and triggered false
1247    malware alarms on some email servers.
1248
1249
1250Release 2022b - 2022-08-10 15:38:32 -0700
1251
1252  Briefly:
1253    Chile's DST is delayed by a week in September 2022.
1254    Iran no longer observes DST after 2022.
1255    Rename Europe/Kiev to Europe/Kyiv.
1256    New zic -R option
1257    Vanguard form now uses %z.
1258    Finish moving duplicate-since-1970 zones to 'backzone'.
1259    New build option PACKRATLIST
1260    New tailored_tarballs target, replacing rearguard_tarballs
1261
1262  Changes to future timestamps
1263
1264    Chile's 2022 DST start is delayed from September 4 to September 11.
1265    (Thanks to Juan Correa.)
1266
1267    Iran plans to stop observing DST permanently, after it falls back
1268    on 2022-09-21.  (Thanks to Ali Mirjamali.)
1269
1270  Changes to past timestamps
1271
1272    Finish moving to 'backzone' the location-based zones whose
1273    timestamps since 1970 are duplicates; adjust links accordingly.
1274    This change ordinarily affects only pre-1970 timestamps, and with
1275    the new PACKRATLIST option it does not affect any timestamps.
1276    In this round the affected zones are Antarctica/Vostok,
1277    Asia/Brunei, Asia/Kuala_Lumpur, Atlantic/Reykjavik,
1278    Europe/Amsterdam, Europe/Copenhagen, Europe/Luxembourg,
1279    Europe/Monaco, Europe/Oslo, Europe/Stockholm, Indian/Christmas,
1280    Indian/Cocos, Indian/Kerguelen, Indian/Mahe, Indian/Reunion,
1281    Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Pohnpei,
1282    Pacific/Wake and Pacific/Wallis, and the affected links are
1283    Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland, Pacific/Ponape,
1284    Pacific/Truk, and Pacific/Yap.
1285
1286    From fall 1994 through fall 1995, Shanks wrote that Crimea's
1287    DST transitions were at 02:00 standard time, not at 00:00.
1288    (Thanks to Michael Deckers.)
1289
1290    Iran adopted standard time in 1935, not 1946.  In 1977 it observed
1291    DST from 03-21 23:00 to 10-20 24:00; its 1978 transitions were on
1292    03-24 and 08-05, not 03-20 and 10-20; and its spring 1979
1293    transition was on 05-27, not 03-21.
1294    (Thanks to Roozbeh Pournader and Francis Santoni.)
1295
1296    Chile's observance of -04 from 1946-08-29 through 1947-03-31 was
1297    considered DST, not standard time.  Santiago and environs had moved
1298    their clocks back to rejoin the rest of mainland Chile; put this
1299    change at the end of 1946-08-28.  (Thanks to Michael Deckers.)
1300
1301    Some old, small clock transitions have been removed, as people at
1302    the time did not change their clocks.  This affects Asia/Hong_Kong
1303    in 1904, Asia/Ho_Chi_Minh in 1906, and Europe/Dublin in 1880.
1304
1305  Changes to zone name
1306
1307    Rename Europe/Kiev to Europe/Kyiv, as "Kyiv" is more common in
1308    English now.  Spelling of other names in Ukraine has not yet
1309    demonstrably changed in common English practice so for now these
1310    names retain old spellings, as in other countries (e.g.,
1311    Europe/Prague not "Praha", and Europe/Sofia not "Sofiya").
1312
1313  Changes to code
1314
1315    zic has a new option '-R @N' to output explicit transitions < N.
1316    (Need suggested by Almaz Mingaleev.)
1317
1318    'zic -r @N' no longer outputs bad data when N < first transition.
1319    (Problem introduced in 2021d and reported by Peter Krefting.)
1320
1321    zic now checks its input for NUL bytes and unterminated lines, and
1322    now supports input line lengths up to 2048 (not 512) bytes.
1323
1324    gmtime and related code now use the abbreviation "UTC" not "GMT".
1325    POSIX is being revised to require this.
1326
1327    When tzset and related functions set vestigial static variables
1328    like tzname, they now prefer specified timestamps to unspecified ones.
1329    (Problem reported by Almaz Mingaleev.)
1330
1331    zic no longer complains "can't determine time zone abbreviation to
1332    use just after until time" when a transition to a new standard
1333    time occurs simultaneously with the first DST fallback transition.
1334
1335  Changes to build procedure
1336
1337    Source data in vanguard form now uses the %z notation, introduced
1338    in release 2015f.  For example, for America/Sao_Paulo vanguard
1339    form contains the zone continuation line "-3:00 Brazil %z", which
1340    is simpler and more reliable than the line "-3:00 Brazil -03/-02"
1341    used in main and rearguard forms.  The plan is for the main form
1342    to use %z eventually; in the meantime maintainers of zi parsers
1343    are encouraged to test the parsers on vanguard.zi.
1344
1345    The Makefile has a new PACKRATLIST option to select a subset of
1346    'backzone'.  For example, 'make PACKRATDATA=backzone
1347    PACKRATLIST=zone.tab' now generates TZif files identical to those
1348    of the global-tz project.
1349
1350    The Makefile has a new tailored_tarballs target for generating
1351    special-purpose tarballs.  It generalizes and replaces the
1352    rearguard_tarballs target and related targets and macros, which
1353    are now obsolescent.
1354
1355    'make install' now defaults LOCALTIME to Factory not GMT,
1356    which means the default abbreviation is now "-00" not "GMT".
1357
1358    Remove the posix_packrat target, marked obsolescent in 2016a.
1359
1360
1361Release 2022a - 2022-03-15 23:02:01 -0700
1362
1363  Briefly:
1364    Palestine will spring forward on 2022-03-27, not -03-26.
1365    zdump -v now outputs better failure indications.
1366    Bug fixes for code that reads corrupted TZif data.
1367
1368  Changes to future timestamps
1369
1370    Palestine will spring forward on 2022-03-27, not 2022-03-26.
1371    (Thanks to Heba Hamad.)  Predict future transitions for first
1372    Sunday >= March 25.  Additionally, predict fallbacks to be the first
1373    Friday on or after October 23, not October's last Friday, to be more
1374    consistent with recent practice.  The first differing fallback
1375    prediction is on 2025-10-24, not 2025-10-31.
1376
1377  Changes to past timestamps
1378
1379    From 1992 through spring 1996, Ukraine's DST transitions were at
1380    02:00 standard time, not at 01:00 UTC.  (Thanks to Alois Treindl.)
1381
1382    Chile's Santiago Mean Time and its LMT precursor have been adjusted
1383    eastward by 1 second to align with past and present law.
1384
1385  Changes to commentary
1386
1387    Add several references for Chile's 1946/1947 transitions, some of
1388    which only affected portions of the country.
1389
1390  Changes to code
1391
1392    Fix bug when mktime gets confused by truncated TZif files with
1393    unspecified local time.  (Problem reported by Almaz Mingaleev.)
1394
1395    Fix bug when 32-bit time_t code reads malformed 64-bit TZif data.
1396    (Problem reported by Christos Zoulas.)
1397
1398    When reading a version 2 or later TZif file, the TZif reader now
1399    validates the version 1 header and data block only enough to skip
1400    over them, as recommended by RFC 8536 section 4.  Also, the TZif
1401    reader no longer mistakenly attempts to parse a version 1 TZIf
1402    file header as a TZ string.
1403
1404    zdump -v now outputs "(localtime failed)" and "(gmtime failed)"
1405    when local time and UT cannot be determined for a timestamp.
1406
1407  Changes to build procedure
1408
1409    Distribution tarballs now use standard POSIX.1-1988 ustar format
1410    instead of GNU format.  Although the formats are almost identical
1411    for these tarballs, ustar headers' magic fields contain "ustar"
1412    instead of "ustar ", and their version fields contain "00" instead
1413    of " ".  The two formats are planned to diverge more significantly
1414    for tzdb releases after 2242-03-16 12:56:31 UTC, when the ustar
1415    format becomes obsolete and the tarballs switch to pax format, an
1416    extension of ustar.  For details about these formats, please see
1417    "pax - portable archive interchange", IEEE Std 1003.1-2017,
1418    <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13>.
1419
1420
1421Release 2021e - 2021-10-21 18:41:00 -0700
1422
1423  Changes to future timestamps
1424
1425    Palestine will fall back 10-29 (not 10-30) at 01:00.
1426    (Thanks to P Chan and Heba Hemad.)
1427
1428
1429Release 2021d - 2021-10-15 13:48:18 -0700
1430
1431  Briefly:
1432    Fiji suspends DST for the 2021/2022 season.
1433    'zic -r' marks unspecified timestamps with "-00".
1434
1435  Changes to future timestamps
1436
1437    Fiji will suspend observance of DST for the 2021/2022 season.
1438    Assume for now that it will return next year.  (Thanks to Jashneel
1439    Kumar and P Chan.)
1440
1441  Changes to code
1442
1443    'zic -r' now uses "-00" time zone abbreviations for intervals
1444    with UT offsets that are unspecified due to -r truncation.
1445    This implements a change in draft Internet RFC 8536bis.
1446
1447
1448Release 2021c - 2021-10-01 14:21:49 -0700
1449
1450  Briefly:
1451    Revert most 2021b changes to 'backward'.
1452    Fix 'zic -b fat' bug in pre-1970 32-bit data.
1453    Fix two Link line typos.
1454    Distribute SECURITY file.
1455
1456    This release is intended as a bugfix release, to fix compatibility
1457    problems and typos reported since 2021b was released.
1458
1459  Changes to Link directives
1460
1461    Revert almost all of 2021b's changes to the 'backward' file,
1462    by moving Link directives back to where they were in 2021a.
1463    Although 'zic' doesn't care which source file contains a Link
1464    directive, some downstream uses ran into trouble with the move.
1465    (Problem reported by Stephen Colebourne for Joda-Time.)
1466
1467    Fix typo that linked Atlantic/Jan_Mayen to the wrong location
1468    (problem reported by Chris Walton).
1469
1470    Fix 'backzone' typo that linked America/Virgin to the wrong
1471    location (problem reported by Michael Deckers).
1472
1473  Changes to code
1474
1475    Fix a bug in 'zic -b fat' that caused old timestamps to be
1476    mishandled in 32-bit-only readers (problem reported by Daniel
1477    Fischer).
1478
1479  Changes to documentation
1480
1481    Distribute the SECURITY file (problem reported by Andreas Radke).
1482
1483
1484Release 2021b - 2021-09-24 16:23:00 -0700
1485
1486  Briefly:
1487    Jordan now starts DST on February's last Thursday.
1488    Samoa no longer observes DST.
1489    Merge more location-based Zones whose timestamps agree since 1970.
1490    Move some backward-compatibility links to 'backward'.
1491    Rename Pacific/Enderbury to Pacific/Kanton.
1492    Correct many pre-1993 transitions in Malawi, Portugal, etc.
1493    zic now creates each output file or link atomically.
1494    zic -L no longer omits the POSIX TZ string in its output.
1495    zic fixes for truncation and leap second table expiration.
1496    zic now follows POSIX for TZ strings using all-year DST.
1497    Fix some localtime crashes and bugs in obscure cases.
1498    zdump -v now outputs more-useful boundary cases.
1499    tzfile.5 better matches a draft successor to RFC 8536.
1500    A new file SECURITY.
1501
1502    This release is prompted by recent announcements by Jordan and Samoa.
1503    It incorporates many other changes that had accumulated since 2021a.
1504    However, it omits most proposed changes that merged all Zones
1505    agreeing since 1970, as concerns were raised about doing too many of
1506    these changes at once.  It does keeps some of these changes in the
1507    interest of making tzdb more equitable one step at a time; see
1508    "Merge more location-based Zones" below.
1509
1510  Changes to future timestamps
1511
1512    Jordan now starts DST on February's last Thursday.
1513    (Thanks to Steffen Thorsen.)
1514
1515    Samoa no longer observes DST.  (Thanks to Geoffrey D. Bennett.)
1516
1517  Changes to zone name
1518
1519    Rename Pacific/Enderbury to Pacific/Kanton.  When we added
1520    Enderbury in 1993, we did not know that it is uninhabited and that
1521    Kanton (population two dozen) is the only inhabited location in
1522    that timezone.  The old name is now a backward-compatibility link.
1523
1524  Changes to past timestamps
1525
1526    Correct many pre-1993 transitions, fixing entries originally
1527    derived from Shanks, Whitman, and Mundell.  The fixes include:
1528      - Barbados: standard time was introduced in 1911, not 1932; and
1529	DST was observed in 1942-1944
1530      - Cook Islands: In 1899 they switched from east to west of GMT,
1531	celebrating Christmas for two days.  They (and Niue) switched
1532	to standard time in 1952, not 1901.
1533      - Guyana: corrected LMT for Georgetown; the introduction of
1534	standard time in 1911, not 1915; and corrections to 1975 and
1535	1992 transitions
1536      - Kanton: uninhabited before 1937-08-31
1537      - Niue: only observed -11:20 from 1952 through 1964, then went to
1538        -11 instead of -11:30
1539      - Portugal: DST was observed in 1950
1540      - Tonga: corrected LMT; the introduction of standard time in 1945,
1541        not 1901; and corrections to the transition from +12:20 to +13
1542        in 1961, not 1941
1543    Additional fixes to entries in the 'backzone' file include:
1544      - Enderbury: inhabited only 1860/1885 and 1938-03-06/1942-02-09
1545      - The Gambia: 1933 and 1942 transitions
1546      - Malawi: several 1911 through 1925 transitions
1547      - Sierra Leone: several 1913 through 1941 transitions, and DST
1548	was NOT observed in 1957 through 1962
1549    (Thanks to P Chan, Michael Deckers, Alexander Krivenyshev and
1550    Alois Treindl.)
1551
1552    Merge more location-based Zones whose timestamps agree since 1970,
1553    as pre-1970 timestamps are out of scope.  This is part of a
1554    process that has been ongoing since 2013.  This does not affect
1555    post-1970 timestamps, and timezone historians who build with 'make
1556    PACKRATDATA=backzone' should see no changes to pre-1970 timestamps.
1557    When merging, keep the most-populous location's data, and move
1558    data for other locations to 'backzone' with a backward
1559    link in 'backward'.  For example, move America/Creston data to
1560    'backzone' with a link in 'backward' from America/Phoenix because
1561    the two timezones' timestamps agree since 1970; this change
1562    affects some pre-1968 timestamps in America/Creston because
1563    Creston and Phoenix disagreed before 1968.  The affected Zones
1564    are Africa/Accra, America/Atikokan, America/Blanc-Sablon,
1565    America/Creston, America/Curacao, America/Nassau,
1566    America/Port_of_Spain, Antarctica/DumontDUrville, and
1567    Antarctica/Syowa.
1568
1569  Changes to maintenance procedure
1570
1571    The new file SECURITY covers how to report security-related bugs.
1572
1573    Several backward-compatibility links have been moved to the
1574    'backward' file.  These links, which range from Africa/Addis_Ababa
1575    to Pacific/Saipan, are only for compatibility with now-obsolete
1576    guidelines suggesting an entry for every ISO 3166 code.
1577    The intercontinental convenience links Asia/Istanbul and
1578    Europe/Nicosia have also been moved to 'backward'.
1579
1580  Changes to code
1581
1582    zic now creates each output file or link atomically,
1583    possibly by creating a temporary file and then renaming it.
1584    This avoids races where a TZ setting would temporarily stop
1585    working while zic was installing a replacement file or link.
1586
1587    zic -L no longer omits the POSIX TZ string in its output.
1588    Starting with 2020a, zic -L truncated its output according to the
1589    "Expires" directive or "#expires" comment in the leapseconds file.
1590    The resulting TZif files omitted daylight saving transitions after
1591    the leap second table expired, which led to far less accurate
1592    predictions of times after the expiry.  Although future timestamps
1593    cannot be converted accurately in the presence of leap seconds, it
1594    is more accurate to convert near-future timestamps with a few
1595    seconds error than with an hour error, so zic -L no longer
1596    truncates output in this way.
1597
1598    Instead, when zic -L is given the "Expires" directive, it now
1599    outputs the expiration by appending a no-change entry to the leap
1600    second table.  Although this should work well with most TZif
1601    readers, it does not conform to Internet RFC 8536 and some pickier
1602    clients (including tzdb 2017c through 2021a) reject it, so
1603    "Expires" directives are currently disabled by default.  To enable
1604    them, set the EXPIRES_LINE Makefile variable.  If a TZif file uses
1605    this new feature it is marked with a new TZif version number 4,
1606    a format intended to be documented in a successor to RFC 8536.
1607    The old-format "#expires" comments are now treated solely as
1608    comments and have no effect on the TZif files.
1609
1610    zic -L LEAPFILE -r @LO no longer generates an invalid TZif file
1611    that omits leap second information for the range LO..B when LO
1612    falls between two leap seconds A and B.  Instead, it generates a
1613    TZif version 4 file that represents the previously missing
1614    information.
1615
1616    The TZif reader now allows the leap second table to begin with a
1617    correction other than -1 or +1, and to contain adjacent
1618    transitions with equal corrections.  This supports TZif version 4.
1619
1620    The TZif reader now lets leap seconds occur less than 28 days
1621    apart.  This supports possible future TZif extensions.
1622
1623    Fix bug that caused 'localtime' etc. to crash when TZ was
1624    set to a all-year DST string like "EST5EDT4,0/0,J365/25" that does
1625    not conform to POSIX but does conform to Internet RFC 8536.
1626
1627    Fix another bug that caused 'localtime' etc. to crash when TZ was
1628    set to a POSIX-conforming but unusual TZ string like
1629    "EST5EDT4,0/0,J365/0", where almost all the year is DST.
1630
1631    Fix yet another bug that caused 'localtime' etc. to mishandle slim
1632    TZif files containing leap seconds after the last explicit
1633    transition in the table, or when handling far-future timestamps
1634    in slim TZif files lacking leap seconds.
1635
1636    Fix localtime misbehavior involving positive leap seconds.
1637    This change affects only behavior for "right" system time,
1638    which contains leap seconds, and only if the UT offset is
1639    not a multiple of 60 seconds when a positive leap second occurs.
1640    (No such timezone exists in tzdb, luckily.)  Without the fix,
1641    the timestamp was ambiguous during a positive leap second.
1642    With the fix, any seconds occurring after a positive leap second
1643    and within the same localtime minute are counted through 60, not
1644    through 59; their UT offset (tm_gmtoff) is the same as before.
1645    Here is how the fix affects timestamps in a timezone with UT
1646    offset +01:23:45 (5025 seconds) and with a positive leap second at
1647    1972-06-30 23:59:60 UTC (78796800):
1648
1649	time_t    without the fix      with the fix
1650	78796800  1972-07-01 01:23:45  1972-07-01 01:23:45 (leap second)
1651	78796801  1972-07-01 01:23:45  1972-07-01 01:23:46
1652	...
1653	78796815  1972-07-01 01:23:59  1972-07-01 01:23:60
1654	78796816  1972-07-01 01:24:00  1972-07-01 01:24:00
1655
1656    Fix an unlikely bug that caused 'localtime' etc. to misbehave if
1657    civil time changes a few seconds before time_t wraps around, when
1658    leap seconds are enabled.
1659
1660    Fix bug in zic -r; in some cases, the dummy time type after the
1661    last time transition disagreed with the TZ string, contrary to
1662    Internet RFC 8563 section 3.3.
1663
1664    Fix a bug with 'zic -r @X' when X is a negative leap second that
1665    has a nonnegative correction.  Without the fix, the output file
1666    was truncated so that X appeared to be a positive leap second.
1667    Fix a similar, even less likely bug when truncating at a positive
1668    leap second that has a nonpositive correction.
1669
1670    zic -r now reports an error if given rolling leap seconds, as this
1671    usage has never generally worked and is evidently unused.
1672
1673    zic now generates a POSIX-conforming TZ string for TZif files
1674    where all-year DST is predicted for the indefinite future.
1675    For example, for all-year Eastern Daylight Time, zic now generates
1676    "XXX3EDT4,0/0,J365/23" where it previously generated
1677    "EST5EDT,0/0,J365/25" or "".  (Thanks to Michael Deckers for
1678    noting the possibility of POSIX conformance.)
1679
1680    zic.c no longer requires sys/wait.h (thanks to spazmodius for
1681    noting it wasn't needed).
1682
1683    When reading slim TZif files, zdump no longer mishandles leap
1684    seconds on the rare platforms where time_t counts leap seconds,
1685    fixing a bug introduced in 2014g.
1686
1687    zdump -v now outputs timestamps at boundaries of what localtime
1688    and gmtime can represent, instead of the less useful timestamps
1689    one day after the minimum and one day before the maximum.
1690    (Thanks to Arthur David Olson for prototype code, and to Manuela
1691    Friedrich for debugging help.)
1692
1693    zdump's -c and -t options are now consistently inclusive for the
1694    lower time bound and exclusive for the upper.  Formerly they were
1695    inconsistent.  (Confusion noted by Martin Burnicki.)
1696
1697  Changes to build procedure
1698
1699    You can now compile with -DHAVE_MALLOC_ERRNO=0 to port to
1700    non-POSIX hosts where malloc doesn't set errno.
1701    (Problem reported by Jan Engelhardt.)
1702
1703  Changes to documentation
1704
1705    tzfile.5 better matches a draft successor to RFC 8536
1706    <https://datatracker.ietf.org/doc/draft-murchison-rfc8536bis/01/>.
1707
1708
1709Release 2021a - 2021-01-24 10:54:57 -0800
1710
1711  Changes to future timestamps
1712
1713    South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
1714    (Thanks to Steffen Thorsen.)
1715
1716
1717Release 2020f - 2020-12-29 00:17:46 -0800
1718
1719  Change to build procedure
1720
1721    'make rearguard_tarballs' no longer generates a bad rearguard.zi,
1722    fixing a 2020e bug.  (Problem reported by Deborah Goldsmith.)
1723
1724
1725Release 2020e - 2020-12-22 15:14:34 -0800
1726
1727  Briefly:
1728    Volgograd switches to Moscow time on 2020-12-27 at 02:00.
1729
1730  Changes to future timestamps
1731
1732    Volgograd changes time zone from +04 to +03 on 2020-12-27 at 02:00.
1733    (Thanks to Alexander Krivenyshev and Stepan Golosunov.)
1734
1735  Changes to past timestamps
1736
1737    Correct many pre-1986 transitions, fixing entries originally
1738    derived from Shanks.  The fixes include:
1739      - Australia: several 1917 through 1971 transitions
1740      - The Bahamas: several 1941 through 1945 transitions
1741      - Bermuda: several 1917 through 1956 transitions
1742      - Belize: several 1942 through 1968 transitions
1743      - Ghana: several 1915 through 1956 transitions
1744      - Israel and Palestine: several 1940 through 1985 transitions
1745      - Kenya and adjacent: several 1908 through 1960 transitions
1746      - Nigeria and adjacent: correcting LMT in Lagos, and several 1905
1747        through 1919 transitions
1748      - Seychelles: the introduction of standard time in 1907, not 1906
1749      - Vanuatu: DST in 1973-1974, and a corrected 1984 transition
1750    (Thanks to P Chan.)
1751
1752    Because of the Australia change, Australia/Currie (King Island) is
1753    no longer needed, as it is identical to Australia/Hobart for all
1754    timestamps since 1970 and was therefore created by mistake.
1755    Australia/Currie has been moved to the 'backward' file and its
1756    corrected data moved to the 'backzone' file.
1757
1758  Changes to past time zone abbreviations and DST flags
1759
1760    To better match legislation in Turks and Caicos, the 2015 shift to
1761    year-round observance of -04 is now modeled as AST throughout before
1762    returning to Eastern Time with US DST in 2018, rather than as
1763    maintaining EDT until 2015-11-01.  (Thanks to P Chan.)
1764
1765  Changes to documentation
1766
1767    The zic man page now documents zic's coalescing of transitions
1768    when a zone falls back just before DST springs forward.
1769
1770
1771Release 2020d - 2020-10-21 11:24:13 -0700
1772
1773  Briefly:
1774    Palestine ends DST earlier than predicted, on 2020-10-24.
1775
1776  Changes to past and future timestamps
1777
1778    Palestine ends DST on 2020-10-24 at 01:00, instead of 2020-10-31
1779    as previously predicted (thanks to Sharef Mustafa.)  Its
1780    2019-10-26 fall-back was at 00:00, not 01:00 (thanks to Steffen
1781    Thorsen.)  Its 2015-10-23 transition was at 01:00 not 00:00, and
1782    its spring 2020 transition was on March 28 at 00:00, not March 27
1783    (thanks to Pierre Cashon.)  This affects Asia/Gaza and
1784    Asia/Hebron.  Assume future spring and fall transitions will be on
1785    the Saturday preceding the last Sunday of March and October,
1786    respectively.
1787
1788
1789Release 2020c - 2020-10-16 11:15:53 -0700
1790
1791  Briefly:
1792    Fiji starts DST later than usual, on 2020-12-20.
1793
1794  Changes to future timestamps
1795
1796    Fiji will start DST on 2020-12-20, instead of 2020-11-08 as
1797    previously predicted.  DST will still end on 2021-01-17.
1798    (Thanks to Raymond Kumar and Alan Mintz.)  Assume for now that
1799    the later-than-usual start date is a one-time departure from the
1800    recent pattern.
1801
1802  Changes to build procedure
1803
1804    Rearguard tarballs now contain an empty file pacificnew.
1805    Some older downstream software expects this file to exist.
1806    (Problem reported by Mike Cullinan.)
1807
1808
1809Release 2020b - 2020-10-06 18:35:04 -0700
1810
1811  Briefly:
1812    Revised predictions for Morocco's changes starting in 2023.
1813    Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
1814    Macquarie Island has stayed in sync with Tasmania since 2011.
1815    Casey, Antarctica is at +08 in winter and +11 in summer.
1816    zic no longer supports -y, nor the TYPE field of Rules.
1817
1818  Changes to future timestamps
1819
1820    Morocco's spring-forward after Ramadan is now predicted to occur
1821    no sooner than two days after Ramadan, instead of one day.
1822    (Thanks to Milamber.)  The first altered prediction is for 2023,
1823    now predicted to spring-forward on April 30 instead of April 23.
1824
1825  Changes to past and future timestamps
1826
1827   Casey Station, Antarctica has been using +08 in winter and +11 in
1828   summer since 2018.  The most recent transition from +08 to +11 was
1829   2020-10-04 00:01.  Also, Macquarie Island has been staying in
1830   sync with Tasmania since 2011.  (Thanks to Steffen Thorsen.)
1831
1832  Changes to past and future time zone abbreviations and DST flags
1833
1834    Canada's Yukon, represented by America/Whitehorse and
1835    America/Dawson, changes its time zone rules from -08/-07 to
1836    permanent -07 on 2020-11-01, not on 2020-03-08 as 2020a had it.
1837    This change affects only the time zone abbreviation (MST vs PDT)
1838    and daylight saving flag for the period between the two dates.
1839    (Thanks to Andrew G. Smith.)
1840
1841  Changes to past timestamps
1842
1843    Correct several transitions for Hungary for 1918/1983.
1844    For example, the 1983-09-25 fall-back was at 01:00, not 03:00.
1845    (Thanks to Géza Nyáry.)  Also, the 1890 transition to standard
1846    time was on 11-01, not 10-01 (thanks to Michael Deckers).
1847
1848    The 1891 French transition was on March 16, not March 15.  The
1849    1911-03-11 French transition was at midnight, not a minute later.
1850    Monaco's transitions were on 1892-06-01 and 1911-03-29, not
1851    1891-03-15 and 1911-03-11.  (Thanks to Michael Deckers.)
1852
1853  Changes to code
1854
1855    Support for zic's long-obsolete '-y YEARISTYPE' option has been
1856    removed and, with it, so has support for the TYPE field in Rule
1857    lines, which is now reserved for compatibility with earlier zic.
1858    These features were previously deprecated in release 2015f.
1859    (Thanks to Tim Parenti.)
1860
1861    zic now defaults to '-b slim' instead of to '-b fat'.
1862
1863    zic's new '-l -' and '-p -' options uninstall any existing
1864    localtime and posixrules files, respectively.
1865
1866    The undocumented and ineffective tzsetwall function has been
1867    removed.
1868
1869  Changes to build procedure
1870
1871    The Makefile now defaults POSIXRULES to '-', so the posixrules
1872    feature (obsolete as of 2019b) is no longer installed by default.
1873
1874  Changes to documentation and commentary
1875
1876    The long-obsolete files pacificnew, systemv, and yearistype.sh have
1877    been removed from the distribution.  (Thanks to Tim Parenti.)
1878
1879
1880Release 2020a - 2020-04-23 16:03:47 -0700
1881
1882  Briefly:
1883    Morocco springs forward on 2020-05-31, not 2020-05-24.
1884    Canada's Yukon advanced to -07 year-round on 2020-03-08.
1885    America/Nuuk renamed from America/Godthab.
1886    zic now supports expiration dates for leap second lists.
1887
1888  Changes to future timestamps
1889
1890    Morocco's second spring-forward transition in 2020 will be May 31,
1891    not May 24 as predicted earlier.  (Thanks to Semlali Naoufal.)
1892    Adjust future-year predictions to use the first Sunday after the
1893    day after Ramadan, not the first Sunday after Ramadan.
1894
1895    Canada's Yukon, represented by America/Whitehorse and
1896    America/Dawson, advanced to -07 year-round, beginning with its
1897    spring-forward transition on 2020-03-08, and will not fall back on
1898    2020-11-01.  Although a government press release calls this
1899    "permanent Pacific Daylight Saving Time", we prefer MST for
1900    consistency with nearby Dawson Creek, Creston, and Fort Nelson.
1901    (Thanks to Tim Parenti.)
1902
1903  Changes to past timestamps
1904
1905    Shanghai observed DST in 1919.  (Thanks to Phake Nick.)
1906
1907  Changes to timezone identifiers
1908
1909    To reflect current usage in English better, America/Godthab has
1910    been renamed to America/Nuuk.  A backwards-compatibility link
1911    remains for the old name.
1912
1913  Changes to code
1914
1915    localtime.c no longer mishandles timestamps after the last
1916    transition in a TZif file with leap seconds and with daylight
1917    saving time transitions projected into the indefinite future.
1918    For example, with TZ='America/Los_Angeles' with leap seconds,
1919    zdump formerly reported a DST transition on 2038-03-14
1920    from 01:59:32.999... to 02:59:33 instead of the correct transition
1921    from 01:59:59.999... to 03:00:00.
1922
1923    zic -L now supports an Expires line in the leapseconds file, and
1924    truncates the TZif output accordingly.  This propagates leap
1925    second expiration information into the TZif file, and avoids the
1926    localtime.c bug mentioned above, as well as similar bugs present in
1927    many client implementations.  If no Expires line is present, zic
1928    -L instead truncates the TZif output based on the #expires comment
1929    present in leapseconds files distributed by tzdb 2018f and later;
1930    however, this usage is obsolescent.  For now, the distributed
1931    leapseconds file has an Expires line that is commented out, so
1932    that the file can be fed to older versions of zic which ignore the
1933    commented-out line.  Future tzdb distributions are planned to
1934    contain a leapseconds file with an Expires line.
1935
1936    The configuration macros HAVE_TZNAME and USG_COMPAT should now be
1937    set to 1 if the system library supports the feature, and 2 if not.
1938    As before, these macros are nonzero if tzcode should support the
1939    feature, zero otherwise.
1940
1941    The configuration macro ALTZONE now has the same values with the
1942    same meaning as HAVE_TZNAME and USG_COMPAT.
1943
1944    The code's defense against CRLF in leap-seconds.list is now
1945    portable to POSIX awk.  (Problem reported by Deborah Goldsmith.)
1946
1947    Although the undocumented tzsetwall function is not changed in
1948    this release, it is now deprecated in preparation for removal in
1949    future releases.  Due to POSIX requirements, tzsetwall has not
1950    worked for some time.  Any code that uses it should instead use
1951    tzalloc(NULL) or, if portability trumps thread-safety, should
1952    unset the TZ environment variable.
1953
1954  Changes to commentary
1955
1956    The Îles-de-la-Madeleine and the Listuguj reserve are noted as
1957    following America/Halifax, and comments about Yukon's "south" and
1958    "north" have been corrected to say "east" and "west".  (Thanks to
1959    Jeffery Nichols.)
1960
1961
1962Release 2019c - 2019-09-11 08:59:48 -0700
1963
1964  Briefly:
1965    Fiji observes DST from 2019-11-10 to 2020-01-12.
1966    Norfolk Island starts observing Australian-style DST.
1967
1968  Changes to future timestamps
1969
1970    Fiji's next DST transitions will be 2019-11-10 and 2020-01-12
1971    instead of 2019-11-03 and 2020-01-19.  (Thanks to Raymond Kumar.)
1972    Adjust future guesses accordingly.
1973
1974    Norfolk Island will observe Australian-style DST starting in
1975    spring 2019.  The first transition is on 2019-10-06.  (Thanks to
1976    Kyle Czech and Michael Deckers.)
1977
1978  Changes to past timestamps
1979
1980    Many corrections to time in Turkey from 1940 through 1985.
1981    (Thanks to Oya Vulaş via Alois Treindl, and to Kıvanç Yazan.)
1982
1983    The Norfolk Island 1975-03-02 transition was at 02:00 standard
1984    time, not 02:00 DST.  (Thanks to Michael Deckers.)
1985
1986    South Korea observed DST from 1948 through 1951.  Although this
1987    info was supposed to appear in release 2014j, a typo inadvertently
1988    suppressed the change.  (Thanks to Alois Treindl.)
1989
1990    Detroit observed DST in 1967 and 1968 following the US DST rules,
1991    except that its 1967 DST began on June 14 at 00:01.  (Thanks to
1992    Alois Treindl for pointing out that the old data entries were
1993    probably wrong.)
1994
1995    Fix several errors in pre-1970 transitions in Perry County, IN.
1996    (Thanks to Alois Treindl for pointing out the 1967/9 errors.)
1997
1998    Edmonton did not observe DST in 1967 or 1969.  In 1946 Vancouver
1999    ended DST on 09-29 not 10-13, and Vienna ended DST on 10-07 not
2000    10-06.  In 1945 Königsberg (now Kaliningrad) switched from +01/+02
2001    to +02/+03 on 04-10 not 01-01, and its +02/+03 is abbreviated
2002    EET/EEST, not CET/CEST.  (Thanks to Alois Treindl.)  In 1946
2003    Königsberg switched to +03 on 04-07 not 01-01.
2004
2005    In 1946 Louisville switched from CST to CDT on 04-28 at 00:01, not
2006    01-01 at 00:00.  (Thanks to Alois Treindl and Michael Deckers.)
2007    Also, it switched from CST to CDT on 1950-04-30, not 1947-04-27.
2008
2009    The 1892-05-01 transition in Brussels was at 00:17:30, not at noon.
2010    (Thanks to Michael Deckers.)
2011
2012  Changes to past time zone abbreviations and DST flags
2013
2014    Hong Kong Winter Time, observed from 1941-10-01 to 1941-12-25,
2015    is now flagged as DST and is abbreviated HKWT not HKT.
2016
2017  Changes to code
2018
2019    leapseconds.awk now relies only on its input data, rather than
2020    also relying on its comments.  (Inspired by code from Dennis
2021    Ferguson and Chris Woodbury.)
2022
2023    The code now defends against CRLFs in leap-seconds.list.
2024    (Thanks to Brian Inglis and Chris Woodbury.)
2025
2026  Changes to documentation and commentary
2027
2028    theory.html discusses leap seconds.  (Thanks to Steve Summit.)
2029
2030    Nashville's newspapers dueled about the time of day in the 1950s.
2031    (Thanks to John Seigenthaler.)
2032
2033    Liechtenstein observed Swiss DST in 1941/2.
2034    (Thanks to Alois Treindl.)
2035
2036
2037Release 2019b - 2019-07-01 00:09:53 -0700
2038
2039  Briefly:
2040    Brazil no longer observes DST.
2041    'zic -b slim' outputs smaller TZif files; please try it out.
2042    Palestine's 2019 spring-forward transition was on 03-29, not 03-30.
2043
2044  Changes to future timestamps
2045
2046    Brazil has canceled DST and will stay on standard time indefinitely.
2047    (Thanks to Steffen Thorsen, Marcus Diniz, and Daniel Soares de
2048    Oliveira.)
2049
2050    Predictions for Morocco now go through 2087 instead of 2037, to
2051    work around a problem on newlib when using TZif files output by
2052    zic 2019a or earlier.  (Problem reported by David Gauchard.)
2053
2054  Changes to past and future timestamps
2055
2056    Palestine's 2019 spring transition was 03-29 at 00:00, not 03-30
2057    at 01:00.  (Thanks to Sharef Mustafa and Even Scharning.)  Guess
2058    future transitions to be March's last Friday at 00:00.
2059
2060  Changes to past timestamps
2061
2062    Hong Kong's 1941-06-15 spring-forward transition was at 03:00, not
2063    03:30.  Its 1945 transition from JST to HKT was on 11-18 at 02:00,
2064    not 09-15 at 00:00.  In 1946 its spring-forward transition was on
2065    04-21 at 00:00, not the previous day at 03:30.  From 1946 through
2066    1952 its fall-back transitions occurred at 04:30, not at 03:30.
2067    In 1947 its fall-back transition was on 11-30, not 12-30.
2068    (Thanks to P Chan.)
2069
2070  Changes to past time zone abbreviations
2071
2072    Italy's 1866 transition to Rome Mean Time was on December 12, not
2073    September 22.  This affects only the time zone abbreviation for
2074    Europe/Rome between those dates.  (Thanks to Stephen Trainor and
2075    Luigi Rosa.)
2076
2077  Changes affecting metadata only
2078
2079    Add info about the Crimea situation in zone1970.tab and zone.tab.
2080    (Problem reported by Serhii Demediuk.)
2081
2082  Changes to code
2083
2084    zic's new -b option supports a way to control data bloat and to
2085    test for year-2038 bugs in software that reads TZif files.
2086    'zic -b fat' and 'zic -b slim' generate larger and smaller output;
2087    for example, changing from fat to slim shrinks the Europe/London
2088    file from 3648 to 1599 bytes, saving about 56%.  Fat and slim
2089    files represent the same set of timestamps and use the same TZif
2090    format as documented in tzfile(5) and in Internet RFC 8536.
2091    Fat format attempts to work around bugs or incompatibilities in
2092    older software, notably software that mishandles 64-bit TZif data
2093    or uses obsolete TZ strings like "EET-2EEST" that lack DST rules.
2094    Slim format is more efficient and does not work around 64-bit bugs
2095    or obsolete TZ strings.  Currently zic defaults to fat format
2096    unless you compile with -DZIC_BLOAT_DEFAULT=\"slim\"; this
2097    out-of-the-box default is intended to change in future releases
2098    as the buggy software often mishandles timestamps anyway.
2099
2100    zic no longer treats a set of rules ending in 2037 specially.
2101    Previously, zic assumed that such a ruleset meant that future
2102    timestamps could not be predicted, and therefore omitted a
2103    POSIX-like TZ string in the TZif output.  The old behavior is no
2104    longer needed for current tzdata, and caused problems with newlib
2105    when used with older tzdata (reported by David Gauchard).
2106
2107    zic no longer generates some artifact transitions.  For example,
2108    Europe/London no longer has a no-op transition in January 1996.
2109
2110  Changes to build procedure
2111
2112    tzdata.zi now assumes zic 2017c or later.  This shrinks tzdata.zi
2113    by a percent or so.
2114
2115  Changes to documentation and commentary
2116
2117    The Makefile now documents the POSIXRULES macro as being obsolete,
2118    and similarly, zic's -p POSIXRULES option is now documented as
2119    being obsolete.  Although the POSIXRULES feature still exists and
2120    works as before, in practice it is rarely used for its intended
2121    purpose, and it does not work either in the default reference
2122    implementation (for timestamps after 2037) or in common
2123    implementations such as GNU/Linux (for contemporary timestamps).
2124    Since POSIXRULES was designed primarily as a temporary transition
2125    facility for System V platforms that died off decades ago, it is
2126    being decommissioned rather than institutionalized.
2127
2128    New info on Bonin Islands and Marcus (thanks to Wakaba and Phake Nick).
2129
2130
2131Release 2019a - 2019-03-25 22:01:33 -0700
2132
2133  Briefly:
2134    Palestine "springs forward" on 2019-03-30 instead of 2019-03-23.
2135    Metlakatla "fell back" to rejoin Alaska Time on 2019-01-20 at 02:00.
2136
2137  Changes to past and future timestamps
2138
2139    Palestine will not start DST until 2019-03-30, instead of 2019-03-23 as
2140    previously predicted.  Adjust our prediction by guessing that spring
2141    transitions will be between 24 and 30 March, which matches recent practice
2142    since 2016.  (Thanks to Even Scharning and Tim Parenti.)
2143
2144    Metlakatla ended its observance of Pacific standard time,
2145    rejoining Alaska Time, on 2019-01-20 at 02:00.  (Thanks to Ryan
2146    Stanley and Tim Parenti.)
2147
2148  Changes to past timestamps
2149
2150    Israel observed DST in 1980 (08-02/09-13) and 1984 (05-05/08-25).
2151    (Thanks to Alois Treindl and Isaac Starkman.)
2152
2153  Changes to time zone abbreviations
2154
2155    Etc/UCT is now a backward-compatibility link to Etc/UTC, instead
2156    of being a separate zone that generates the abbreviation "UCT",
2157    which nowadays is typically a typo.  (Problem reported by Isiah
2158    Meadows.)
2159
2160  Changes to code
2161
2162    zic now has an -r option to limit the time range of output data.
2163    For example, 'zic -r @1000000000' limits the output data to
2164    timestamps starting 1000000000 seconds after the Epoch.
2165    This helps shrink output size and can be useful for applications
2166    not needing the full timestamp history, such as TZDIST truncation;
2167    see Internet RFC 8536 section 5.1.  (Inspired by a feature request
2168    from Christopher Wong, helped along by bug reports from Wong and
2169    from Tim Parenti.)
2170
2171  Changes to documentation
2172
2173    Mention Internet RFC 8536 (February 2019), which documents TZif.
2174
2175    tz-link.html now cites tzdata-meta
2176    <https://tzdata-meta.timtimeonline.com/>.
2177
2178
2179Release 2018i - 2018-12-30 11:05:43 -0800
2180
2181  Briefly:
2182    São Tomé and Príncipe switches from +01 to +00 on 2019-01-01.
2183
2184  Changes to future timestamps
2185
2186    Due to a change in government, São Tomé and Príncipe switches back
2187    from +01 to +00 on 2019-01-01 at 02:00.  (Thanks to Vadim
2188    Nasardinov and Michael Deckers.)
2189
2190
2191Release 2018h - 2018-12-23 17:59:32 -0800
2192
2193  Briefly:
2194    Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
2195    New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
2196    Metlakatla, Alaska observes PST this winter only.
2197    Guess Morocco will continue to adjust clocks around Ramadan.
2198    Add predictions for Iran from 2038 through 2090.
2199
2200  Changes to future timestamps
2201
2202    Guess that Morocco will continue to fall back just before and
2203    spring forward just after Ramadan, the practice since 2012.
2204    (Thanks to Maamar Abdelkader.)  This means Morocco will observe
2205    negative DST during Ramadan in main and vanguard formats, and in
2206    rearguard format it stays in the +00 timezone and observes
2207    ordinary DST in all months other than Ramadan.  As before, extend
2208    this guesswork to the year 2037.  As a consequence, Morocco is
2209    scheduled to observe three DST transitions in some Gregorian years
2210    (e.g., 2033) due to the mismatch between the Gregorian and Islamic
2211    calendars.
2212
2213    The table of exact transitions for Iranian DST has been extended.
2214    It formerly cut off before the year 2038 in a nod to 32-bit time_t.
2215    It now cuts off before 2091 as there is doubt about how the Persian
2216    calendar will treat 2091.  This change predicts DST transitions in
2217    2038-9, 2042-3, and 2046-7 to occur one day later than previously
2218    predicted.  As before, post-cutoff transitions are approximated.
2219
2220  Changes to past and future timestamps
2221
2222    Qyzylorda (aka Kyzylorda) oblast in Kazakhstan moved from +06 to
2223    +05 on 2018-12-21.  This is a zone split as Qostanay (aka
2224    Kostanay) did not switch, so create a zone Asia/Qostanay.
2225
2226    Metlakatla moved from Alaska to Pacific standard time on 2018-11-04.
2227    It did not change clocks that day and remains on -08 this winter.
2228    (Thanks to Ryan Stanley.)  It will revert to the usual Alaska
2229    rules next spring, so this change affects only timestamps
2230    from 2018-11-04 through 2019-03-10.
2231
2232  Change to past timestamps
2233
2234    Kwajalein's 1993-08-20 transition from -12 to +12 was at 24:00,
2235    not 00:00.  I transcribed the time incorrectly from Shanks.
2236    (Thanks to Phake Nick.)
2237
2238    Nauru's 1979 transition was on 02-10 at 02:00, not 05-01 at 00:00.
2239    (Thanks to Phake Nick.)
2240
2241    Guam observed DST irregularly from 1959 through 1977.
2242    (Thanks to Phake Nick.)
2243
2244    Hong Kong observed DST in 1941 starting 06-15 (not 04-01), then on
2245    10-01 changed standard time to +08:30 (not +08).  Its transition
2246    back to +08 after WWII was on 1945-09-15, not the previous day.
2247    Its 1904-10-30 change took effect at 01:00 +08 (not 00:00 LMT).
2248    (Thanks to Phake Nick, Steve Allen, and Joseph Myers.)  Also,
2249    its 1952 fallback was on 11-02 (not 10-25).
2250
2251    This release contains many changes to timestamps before 1946 due
2252    to Japanese possession or occupation of Pacific/Chuuk,
2253    Pacific/Guam, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro,
2254    Pacific/Nauru, Pacific/Palau, and Pacific/Pohnpei.
2255    (Thanks to Phake Nick.)
2256
2257    Assume that the Spanish East Indies was like the Philippines and
2258    observed American time until the end of 1844.  This affects
2259    Pacific/Chuuk, Pacific/Kosrae, Pacific/Palau, and Pacific/Pohnpei.
2260
2261  Changes to past tm_isdst flags
2262
2263    For the recent Morocco change, the tm_isdst flag should be 1 from
2264    2018-10-27 00:00 to 2018-10-28 03:00.  (Thanks to Michael Deckers.)
2265    Give a URL to the official decree.  (Thanks to Matt Johnson.)
2266
2267
2268Release 2018g - 2018-10-26 22:22:45 -0700
2269
2270  Briefly:
2271    Morocco switches to permanent +01 on 2018-10-28.
2272
2273  Changes to future timestamps
2274
2275    Morocco switches from +00/+01 to permanent +01 effective 2018-10-28,
2276    so its clocks will not fall back as previously scheduled.
2277    (Thanks to Mohamed Essedik Najd and Brian Inglis.)
2278
2279  Changes to code
2280
2281    When generating TZif files with leap seconds, zic no longer uses a
2282    format that trips up older 32-bit clients, fixing a bug introduced
2283    in 2018f.  (Reported by Daniel Fischer.)  Also, the zic workaround
2284    for QTBUG-53071 now also works for TZif files with leap seconds.
2285
2286    The translator to rearguard format now rewrites the line
2287    "Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S" to
2288    "Rule Japan 1948 1951 - Sep Sun>=9  1:00 0 S".
2289    This caters to zic before 2007 and to Oracle TZUpdater 2.2.0
2290    and earlier.  (Reported by Christos Zoulas.)
2291
2292  Changes to past time zone abbreviations
2293
2294    Change HDT to HWT/HPT for WWII-era abbreviations in Hawaii.
2295    This reverts to 2011h, as the abbreviation change in 2011i was
2296    likely inadvertent.
2297
2298  Changes to documentation
2299
2300    tzfile.5 has new sections on interoperability issues.
2301
2302
2303Release 2018f - 2018-10-18 00:14:18 -0700
2304
2305  Briefly:
2306  Volgograd moves from +03 to +04 on 2018-10-28.
2307  Fiji ends DST 2019-01-13, not 2019-01-20.
2308  Most of Chile changes DST dates, effective 2019-04-06.
2309
2310  Changes to future timestamps
2311
2312    Volgograd moves from +03 to +04 on 2018-10-28 at 02:00.
2313    (Thanks to Alexander Fetisov and Stepan Golosunov.)
2314
2315    Fiji ends DST 2019-01-13 instead of the 2019-01-20 previously
2316    predicted.  (Thanks to Raymond Kumar.)  Adjust future predictions
2317    accordingly.
2318
2319    Most of Chile will end DST on the first Saturday in April at 24:00 mainland
2320    time, and resume DST on the first Saturday in September at 24:00 mainland
2321    time.  The changes are effective from 2019-04-06, and do not affect the
2322    Magallanes region modeled by America/Punta_Arenas.  (Thanks to Juan Correa
2323    and Tim Parenti.)  Adjust future predictions accordingly.
2324
2325  Changes to past timestamps
2326
2327    The 2018-05-05 North Korea 30-minute time zone change took place
2328    at 23:30 the previous day, not at 00:00 that day.
2329
2330    China's 1988 spring-forward transition was on April 17, not
2331    April 10.  Its DST transitions in 1986/91 were at 02:00, not 00:00.
2332    (Thanks to P Chan.)
2333
2334    Fix several issues for Macau before 1992.  Macau's pre-1904 LMT
2335    was off by 10 s.  Macau switched to +08 in 1904 not 1912, and
2336    temporarily switched to +09/+10 during World War II.  Macau
2337    observed DST in 1942/79, not 1961/80, and there were several
2338    errors for transition times and dates.  (Thanks to P Chan.)
2339
2340    The 1948-1951 fallback transitions in Japan were at 25:00 on
2341    September's second Saturday, not at 24:00.  (Thanks to Phake Nick.)
2342    zic turns this into 01:00 on the day after September's second
2343    Saturday, which is the best that POSIX or C platforms can do.
2344
2345    Incorporate 1940-1949 Asia/Shanghai DST transitions from a 2014
2346    paper by Li Yu, replacing more-questionable data from Shanks.
2347
2348  Changes to time zone abbreviations
2349
2350    Use "PST" and "PDT" for Philippine time.  (Thanks to Paul Goyette.)
2351
2352  Changes to code
2353
2354    zic now always generates TZif files where time type 0 is used for
2355    timestamps before the first transition.  This simplifies the
2356    reading of TZif files and should not affect behavior of existing
2357    TZif readers because the same set of time types is used; only
2358    their internal indexes may have changed.  This affects only the
2359    legacy zones EST5EDT, CST6CDT, MST7MDT, PST8PDT, CET, MET, and
2360    EET, which previously used nonzero types for these timestamps.
2361
2362    Because of the type 0 change, zic no longer outputs a dummy
2363    transition at time -2**59 (before the Big Bang), as clients should
2364    no longer need this to handle historical timestamps correctly.
2365    This reverts a change introduced in 2013d and shrinks most TZif
2366    files by a few bytes.
2367
2368    zic now supports negative time-of-day in Rule and Leap lines, e.g.,
2369    "Rule X min max - Apr lastSun -6:00 1:00 -" means the transition
2370    occurs at 18:00 on the Saturday before the last Sunday in April.
2371    This behavior was documented in 2018a but the code did not
2372    entirely match the documentation.
2373
2374    localtime.c no longer requires at least one time type in TZif
2375    files that lack transitions or have a POSIX-style TZ string.  This
2376    future-proofs the code against possible future extensions to the
2377    format that would allow TZif files with POSIX-style TZ strings and
2378    without transitions or time types.
2379
2380    A read-access subscript error in localtime.c has been fixed.
2381    It could occur only in TZif files with timecnt == 0, something that
2382    does not happen in practice now but could happen in future versions.
2383
2384    localtime.c no longer ignores TZif POSIX-style TZ strings that
2385    specify only standard time.  Instead, these TZ strings now
2386    override the default time type for timestamps after the last
2387    transition (or for all timestamps if there are no transitions),
2388    just as DST strings specifying DST have always done.
2389
2390    leapseconds.awk now outputs "#updated" and "#expires" comments,
2391    and supports leap seconds at the ends of months other than June
2392    and December.  (Inspired by suggestions from Chris Woodbury.)
2393
2394  Changes to documentation
2395
2396    New restrictions: A Rule name must start with a character that
2397    is neither an ASCII digit nor "-" nor "+", and an unquoted name
2398    should not use characters in the set "!$%&'()*,/:;<=>?@[\]^`{|}~".
2399    The latter restriction makes room for future extensions (a
2400    possibility noted by Tom Lane).
2401
2402    tzfile.5 now documents what time types apply before the first and
2403    after the last transition, if any.
2404
2405    Documentation now uses the spelling "timezone" for a TZ setting
2406    that determines timestamp history, and "time zone" for a
2407    geographic region currently sharing the same standard time.
2408
2409    The name "TZif" is now used for the tz binary data format.
2410
2411    tz-link.htm now mentions the A0 TimeZone Migration utilities.
2412    (Thanks to Aldrin Martoq for the link.)
2413
2414  Changes to build procedure
2415
2416    New 'make' target 'rearguard_tarballs' to build the rearguard
2417    tarball only.  This is a convenience on platforms that lack lzip
2418    if you want to build the rearguard tarball.  (Problem reported by
2419    Deborah Goldsmith.)
2420
2421    tzdata.zi is now more stable from release to release.  (Problem
2422    noted by Tom Lane.)  It is also a bit shorter.
2423
2424    tzdata.zi now can contain comment lines documenting configuration
2425    information, such as which data format was selected, which input
2426    files were used, and how leap seconds are treated.  (Problems
2427    noted by Lester Caine and Brian Inglis.)  If the Makefile defaults
2428    are used these comment lines are absent, for backward
2429    compatibility.  A redistributor intending to alter its copy of the
2430    files should also append "-LABEL" to the 'version' file's first
2431    line, where "LABEL" identifies the redistributor's change.
2432
2433
2434Release 2018e - 2018-05-01 23:42:51 -0700
2435
2436  Briefly:
2437
2438    North Korea switches back to +09 on 2018-05-05.
2439    The main format uses negative DST again, for Ireland etc.
2440    'make tarballs' now also builds a rearguard tarball.
2441    New 's' and 'd' suffixes in SAVE columns of Rule and Zone lines.
2442
2443  Changes to past and future timestamps
2444
2445    North Korea switches back from +0830 to +09 on 2018-05-05.
2446    (Thanks to Kang Seonghoon, Arthur David Olson, Seo Sanghyeon,
2447    and Tim Parenti.)
2448
2449    Bring back the negative-DST changes of 2018a, except be more
2450    compatible with data parsers that do not support negative DST.
2451    Also, this now affects historical timestamps in Namibia and the
2452    former Czechoslovakia, not just Ireland.  The main format now uses
2453    negative DST to model timestamps in Europe/Dublin (from 1971 on),
2454    Europe/Prague (1946/7), and Africa/Windhoek (1994/2017).  This
2455    does not affect UT offsets, only time zone abbreviations and the
2456    tm_isdst flag.  Also, this does not affect rearguard or vanguard
2457    formats; effectively the main format now uses vanguard instead of
2458    rearguard format.  Data parsers that do not support negative DST
2459    can still use data from the rearguard tarball described below.
2460
2461  Changes to build procedure
2462
2463    The command 'make tarballs' now also builds the tarball
2464    tzdataVERSION-rearguard.tar.gz, which is like tzdataVERSION.tar.gz
2465    except that it uses rearguard format intended for trailing-edge
2466    data parsers.
2467
2468  Changes to data format and to code
2469
2470    The SAVE column of Rule and Zone lines can now have an 's' or 'd'
2471    suffix, which specifies whether the adjusted time is standard time
2472    or daylight saving time.  If no suffix is given, daylight saving
2473    time is used if and only if the SAVE column is nonzero; this is
2474    the longstanding behavior.  Although this new feature is not used
2475    in tzdata, it could be used to specify the legal time in Namibia
2476    1994-2017, as opposed to the popular time (see below).
2477
2478  Changes to past timestamps
2479
2480    From 1994 through 2017 Namibia observed DST in winter, not summer.
2481    That is, it used negative DST, as Ireland still does.  This change
2482    does not affect UTC offsets; it affects only the tm_isdst flag and
2483    the abbreviation used during summer, which is now CAT, not WAST.
2484    Although (as noted by Michael Deckers) summer and winter time were
2485    both simply called "standard time" in Namibian law, in common
2486    practice winter time was considered to be DST (as noted by Stephen
2487    Colebourne).  The full effect of this change is only in vanguard
2488    and main format; in rearguard format, the tm_isdst flag is still
2489    zero in winter and nonzero in summer.
2490
2491    In 1946/7 Czechoslovakia also observed negative DST in winter.
2492    The full effect of this change is only in vanguard and main
2493    formats; in rearguard format, it is modeled as plain GMT without
2494    daylight saving.  Also, the dates of some 1944/5 DST transitions
2495    in Czechoslovakia have been changed.
2496
2497
2498Release 2018d - 2018-03-22 07:05:46 -0700
2499
2500  Briefly:
2501
2502  Palestine starts DST a week earlier in 2018.
2503  Add support for vanguard and rearguard data consumers.
2504  Add subsecond precision to source data format, though not to data.
2505
2506  Changes to future timestamps
2507
2508    In 2018, Palestine starts DST on March 24, not March 31.
2509    Adjust future predictions accordingly.  (Thanks to Sharef Mustafa.)
2510
2511  Changes to past and future timestamps
2512
2513    Casey Station in Antarctica changed from +11 to +08 on 2018-03-11
2514    at 04:00.  (Thanks to Steffen Thorsen.)
2515
2516  Changes to past timestamps
2517
2518    Historical transitions for Uruguay, represented by
2519    America/Montevideo, have been updated per official legal documents,
2520    replacing previous data mainly originating from the inventions of
2521    Shanks & Pottenger.  This has resulted in adjustments ranging from
2522    30 to 90 minutes in either direction over at least two dozen
2523    distinct periods ranging from one day to several years in length.
2524    A mere handful of pre-1991 transitions are unaffected; data since
2525    then has come from more reliable contemporaneous reporting.  These
2526    changes affect various timestamps in 1920-1923, 1936, 1939,
2527    1942-1943, 1959, 1966-1970, 1972, 1974-1980, and 1988-1990.
2528    Additionally, Uruguay's pre-standard-time UT offset has been
2529    adjusted westward by 7 seconds, from UT-03:44:44 to UT-03:44:51, to
2530    match the location of the Observatory of the National Meteorological
2531    Institute in Montevideo.
2532    (Thanks to Jeremie Bonjour, Tim Parenti, and Michael Deckers.)
2533
2534    East Kiribati skipped New Year's Eve 1994, not New Year's Day 1995.
2535    (Thanks to Kerry Shetline.)
2536
2537    Fix the 1912-01-01 transition for Portugal and its colonies.
2538    This transition was at 00:00 according to the new UT offset, not
2539    according to the old one.  Also assume that Cape Verde switched on
2540    the same date as the rest, not in 1907.  This affects
2541    Africa/Bissau, Africa/Sao_Tome, Asia/Macau, Atlantic/Azores,
2542    Atlantic/Cape_Verde, Atlantic/Madeira, and Europe/Lisbon.
2543    (Thanks to Michael Deckers.)
2544
2545    Fix an off-by-1 error for pre-1913 timestamps in Jamaica and in
2546    Turks & Caicos.
2547
2548  Changes to past time zone abbreviations
2549
2550    MMT took effect in Uruguay from 1908-06-10, not 1898-06-28.  There
2551    is no clock change associated with the transition.
2552
2553  Changes to build procedure
2554
2555    The new DATAFORM macro in the Makefile lets the installer choose
2556    among three source data formats.  The idea is to lessen downstream
2557    disruption when data formats are improved.
2558
2559    * DATAFORM=vanguard installs from the latest, bleeding-edge
2560      format.  DATAFORM=main (the default) installs from the format
2561      used in the 'africa' etc. files.  DATAFORM=rearguard installs
2562      from a trailing-edge format.  Eventually, elements of today's
2563      vanguard format should move to the main format, and similarly
2564      the main format's features should eventually move to the
2565      rearguard format.
2566
2567    * In the current version, the main and rearguard formats are
2568      identical and match that of 2018c, so this change does not
2569      affect default behavior.  The vanguard format currently contains
2570      one feature not in the main format: negative SAVE values.  This
2571      improves support for Ireland, which uses Irish Standard Time
2572      (IST, UTC+01) in summer and GMT (UTC) in winter.  tzcode has
2573      supported negative SAVE values for decades, and this feature
2574      should move to the main format soon.  However, it will not move
2575      to the rearguard format for quite some time because some
2576      downstream parsers do not support it.
2577
2578    * The build procedure constructs three files vanguard.zi, main.zi,
2579      and rearguard.zi, one for each format.  Although the files
2580      represent essentially the same data, they may have minor
2581      discrepancies that users are not likely to notice.  The files
2582      are intended for downstream data consumers and are not
2583      installed.  Zoneinfo parsers that do not support negative SAVE values
2584      should start using rearguard.zi, so that they will be unaffected
2585      when the negative-DST feature moves from vanguard to main.
2586      Bleeding-edge Zoneinfo parsers that support the new features
2587      already can use vanguard.zi; in this respect, current tzcode is
2588      bleeding-edge.
2589
2590    The Makefile should now be safe for parallelized builds, and 'make
2591    -j to2050new.tzs' is now much faster on a multiprocessor host
2592    with GNU Make.
2593
2594    When built with -DSUPPRESS_TZDIR, the tzcode library no longer
2595    prepends TZDIR/ to file names that do not begin with '/'.  This is
2596    not recommended for general use, due to its security implications.
2597    (From a suggestion by Manuela Friedrich.)
2598
2599  Changes to code
2600
2601    zic now accepts subsecond precision in expressions like
2602    00:19:32.13, which is approximately the legal time of the
2603    Netherlands from 1835 to 1937.  However, because it is
2604    questionable whether the few recorded uses of non-integer offsets
2605    had subsecond precision in practice, there are no plans for tzdata
2606    to use this feature.  (Thanks to Steve Allen for pointing out
2607    the limitations of historical data in this area.)
2608
2609    The code is a bit more portable to MS-Windows.  Installers can
2610    compile with -DRESERVE_STD_EXT_IDS on MS-Windows platforms that
2611    reserve identifiers like 'localtime'.  (Thanks to Manuela
2612    Friedrich.)
2613
2614  Changes to documentation and commentary
2615
2616    theory.html now outlines tzdb's extensions to POSIX's model for
2617    civil time, and has a section "POSIX features no longer needed"
2618    that lists POSIX API components that are now vestigial.
2619    (From suggestions by Steve Summit.)  It also better distinguishes
2620    time zones from tz regions.  (From a suggestion by Guy Harris.)
2621
2622    Commentary is now more consistent about using the phrase "daylight
2623    saving time", to match the C name tm_isdst.  Daylight saving time
2624    need not occur in summer, and need not have a positive offset from
2625    standard time.
2626
2627    Commentary about historical transitions in Uruguay has been expanded
2628    with links to many relevant legal documents.
2629    (Thanks to Tim Parenti.)
2630
2631    Commentary now uses some non-ASCII characters with Unicode value
2632    less than U+0100, as they can be useful and should work even with
2633    older editors such as XEmacs.
2634
2635
2636Release 2018c - 2018-01-22 23:00:44 -0800
2637
2638  Briefly:
2639  Revert Irish changes that relied on negative SAVE values.
2640
2641  Changes to tm_isdst
2642
2643    Revert the 2018a change to Europe/Dublin.  As before, this change
2644    does not affect UT offsets or abbreviations; it affects only
2645    whether timestamps are considered to be standard time or
2646    daylight-saving time, as expressed in the tm_isdst flag of C's
2647    struct tm type.  This reversion is intended to be a temporary
2648    workaround for problems discovered with downstream uses of
2649    releases 2018a and 2018b, which implemented Irish time by using
2650    negative SAVE values in the Eire rules of the 'europe' file.
2651    Although negative SAVE values have been part of tzcode for many
2652    years and are supported by many platforms, they were not
2653    documented before 2018a and ICU and OpenJDK do not currently
2654    support them.  A mechanism to export data to platforms lacking
2655    support for negative DST is planned to be developed before the
2656    change is reapplied.  (Problems reported by Deborah Goldsmith and
2657    Stephen Colebourne.)
2658
2659  Changes to past timestamps
2660
2661    Japanese DST transitions (1948-1951) were Sundays at 00:00, not
2662    Saturdays or Sundays at 02:00.  (Thanks to Takayuki Nikai.)
2663
2664  Changes to build procedure
2665
2666    The build procedure now works around mawk 1.3.3's lack of support
2667    for character class expressions.  (Problem reported by Ohyama.)
2668
2669
2670Release 2018b - 2018-01-17 23:24:48 -0800
2671
2672  Briefly:
2673  Fix a packaging problem in tz2018a, which was missing 'pacificnew'.
2674
2675  Changes to build procedure
2676
2677    The distribution now contains the file 'pacificnew' again.
2678    This file was inadvertently omitted in the 2018a distribution.
2679    (Problem reported by Matias Fonzo.)
2680
2681
2682Release 2018a - 2018-01-12 22:29:21 -0800
2683
2684  Briefly:
2685  São Tomé and Príncipe switched from +00 to +01.
2686  Brazil's DST will now start on November's first Sunday.
2687  Ireland's standard time is now in the summer, not the winter.
2688  Use Debian-style installation locations, instead of 4.3BSD-style.
2689  New zic option -t.
2690
2691  Changes to past and future timestamps
2692
2693    São Tomé and Príncipe switched from +00 to +01 on 2018-01-01 at
2694    01:00.  (Thanks to Steffen Thorsen and Michael Deckers.)
2695
2696  Changes to future timestamps
2697
2698    Starting in 2018 southern Brazil will begin DST on November's
2699    first Sunday instead of October's third Sunday.  (Thanks to
2700    Steffen Thorsen.)
2701
2702  Changes to past timestamps
2703
2704    A discrepancy of 4 s in timestamps before 1931 in South Sudan has
2705    been corrected.  The 'backzone' and 'zone.tab' files did not agree
2706    with the 'africa' and 'zone1970.tab' files.  (Problem reported by
2707    Michael Deckers.)
2708
2709    The abbreviation invented for Bolivia Summer Time (1931-2) is now
2710    BST instead of BOST, to be more consistent with the convention
2711    used for Latvian Summer Time (1918-9) and for British Summer Time.
2712
2713  Changes to tm_isdst
2714
2715    Change Europe/Dublin so that it observes Irish Standard Time (UT
2716    +01) in summer and GMT (as negative daylight-saving) in winter,
2717    instead of observing standard time (GMT) in winter and Irish
2718    Summer Time (UT +01) in summer.  This change does not affect UT
2719    offsets or abbreviations; it affects only whether timestamps are
2720    considered to be standard time or daylight-saving time, as
2721    expressed in the tm_isdst flag of C's struct tm type.
2722    (Discrepancy noted by Derick Rethans.)
2723
2724  Changes to build procedure
2725
2726    The default installation locations have been changed to mostly
2727    match Debian circa 2017, instead of being designed as an add-on to
2728    4.3BSD circa 1986.  This affects the Makefile macros TOPDIR,
2729    TZDIR, MANDIR, and LIBDIR.  New Makefile macros TZDEFAULT, USRDIR,
2730    USRSHAREDIR, BINDIR, ZDUMPDIR, and ZICDIR let installers tailor
2731    locations more precisely.  (This responds to suggestions from
2732    Brian Inglis and from Steve Summit.)
2733
2734    The default installation procedure no longer creates the
2735    backward-compatibility link US/Pacific-New, which causes
2736    confusion during user setup (e.g., see Debian bug 815200).
2737    Use 'make BACKWARD="backward pacificnew"' to create the link
2738    anyway, for now.  Eventually we plan to remove the link entirely.
2739
2740    tzdata.zi now contains a version-number comment.
2741    (Suggested by Tom Lane.)
2742
2743    The Makefile now quotes values like BACKWARD more carefully when
2744    passing them to the shell.  (Problem reported by Zefram.)
2745
2746    Builders no longer need to specify -DHAVE_SNPRINTF on platforms
2747    that have snprintf and use pre-C99 compilers.  (Problem reported
2748    by Jon Skeet.)
2749
2750  Changes to code
2751
2752    zic has a new option -t FILE that specifies the location of the
2753    file that determines local time when TZ is unset.  The default for
2754    this location can be configured via the new TZDEFAULT makefile
2755    macro, which defaults to /etc/localtime.
2756
2757    Diagnostics and commentary now distinguish UT from UTC more
2758    carefully; see theory.html for more information about UT vs UTC.
2759
2760    zic has been ported to GCC 8's -Wstringop-truncation option.
2761    (Problem reported by Martin Sebor.)
2762
2763  Changes to documentation and commentary
2764
2765    The zic man page now documents the longstanding behavior that
2766    times and years can be out of the usual range, with negative times
2767    counting backwards from midnight and with year 0 preceding year 1.
2768    (Problem reported by Michael Deckers.)
2769
2770    The theory.html file now mentions the POSIX limit of six chars
2771    per abbreviation, and lists alphabetic abbreviations used.
2772
2773    The files tz-art.htm and tz-link.htm have been renamed to
2774    tz-art.html and tz-link.html, respectively, for consistency with
2775    other file names and to simplify web server configuration.
2776
2777
2778Release 2017c - 2017-10-20 14:49:34 -0700
2779
2780  Briefly:
2781  Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
2782  Fiji ends DST 2018-01-14, not 2018-01-21.
2783  Namibia switches from +01/+02 to +02 on 2018-04-01.
2784  Sudan switches from +03 to +02 on 2017-11-01.
2785  Tonga likely switches from +13/+14 to +13 on 2017-11-05.
2786  Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.
2787  A new file tzdata.zi now holds a small text copy of all data.
2788  The zic input format has been regularized slightly.
2789
2790  Changes to future timestamps
2791
2792    Northern Cyprus has decided to resume EU rules starting
2793    2017-10-29, thus reinstituting winter time.
2794
2795    Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously
2796    predicted.  (Thanks to Dominic Fok.)  Adjust future predictions
2797    accordingly.
2798
2799    Namibia will switch from +01 with DST to +02 all year on
2800    2017-09-03 at 02:00.  This affects UT offsets starting 2018-04-01
2801    at 02:00.  (Thanks to Steffen Thorsen.)
2802
2803    Sudan will switch from +03 to +02 on 2017-11-01.  (Thanks to Ahmed
2804    Atyya and Yahia Abdalla.)  South Sudan is not switching, so
2805    Africa/Juba is no longer a link to Africa/Khartoum.
2806
2807    Tonga has likely ended its experiment with DST, and will not
2808    adjust its clocks on 2017-11-05.  Although Tonga has not announced
2809    whether it will continue to observe DST, the IATA is assuming that
2810    it will not.  (Thanks to David Wade.)
2811
2812    Turks & Caicos will switch from -04 all year to -05 with US DST on
2813    2018-03-11 at 03:00.  This affects UT offsets starting 2018-11-04
2814    at 02:00.  (Thanks to Steffen Thorsen.)
2815
2816  Changes to past timestamps
2817
2818    Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03.
2819    (Thanks to Arthur David Olson.)
2820
2821    Detroit did not observe DST in 1967.
2822
2823    Use railway time for Asia/Kolkata before 1941, by switching to
2824    Madras local time (UT +052110) in 1870, then to IST (UT +0530) in
2825    1906.  Also, treat 1941-2's +0630 as DST, like 1942-5.
2826
2827    Europe/Dublin's 1946 and 1947 fallback transitions occurred at
2828    02:00 standard time, not 02:00 DST.  (Thanks to Michael Deckers.)
2829
2830    Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to
2831    American time in 1892, not 1879.  (Thanks to Michael Deckers.)
2832
2833    Adjust the 1867 transition in Alaska to better reflect the
2834    historical record, by changing it to occur on 1867-10-18 at 15:30
2835    Sitka time rather than at the start of 1867-10-17 local time.
2836    Although strictly speaking this is accurate only for Sitka,
2837    the rest of Alaska's blanks need to be filled in somehow.
2838
2839    Fix off-by-one errors in UT offsets for Adak and Nome before 1867.
2840    (Thanks to Michael Deckers.)
2841
2842    Add 7 s to the UT offset in Asia/Yangon before 1920.
2843
2844  Changes to zone names
2845
2846    Remove Canada/East-Saskatchewan from the 'backward' file, as it
2847    exceeded the 14-character limit and was an unused misnomer anyway.
2848
2849  Changes to build procedure
2850
2851    To support applications that prefer to read time zone data in text
2852    form, two zic input files tzdata.zi and leapseconds are now
2853    installed by default.  The commands 'zic tzdata.zi' and 'zic -L
2854    leapseconds tzdata.zi' can reproduce the tzdata binary files
2855    without and with leap seconds, respectively.  To prevent these two
2856    new files from being installed, use 'make TZDATA_TEXT=', and to
2857    suppress leap seconds from the tzdata text installation, use 'make
2858    TZDATA_TEXT=tzdata.zi'.
2859
2860    'make BACKWARD=' now suppresses backward-compatibility names
2861    like 'US/Pacific' that are defined in the 'backward' and
2862    'pacificnew' files.
2863
2864    'make check' now works on systems that lack a UTF-8 locale,
2865    or that lack the nsgmls program.  Set UTF8_LOCALE to configure
2866    the name of a UTF-8 locale, if you have one.
2867
2868    Y2K runtime checks are no longer enabled by default.  Add
2869    -DDEPRECATE_TWO_DIGIT_YEARS to CFLAGS to enable them, instead of
2870    adding -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU
2871    to disable them.  (New name suggested by Brian Inglis.)
2872
2873    The build procedure for zdump now works on AIX 7.1.
2874    (Problem reported by Kees Dekker.)
2875
2876  Changes to code
2877
2878    zic and the reference runtime now reject multiple leap seconds
2879    within 28 days of each other, or leap seconds before the Epoch.
2880    As a result, support for double leap seconds, which was
2881    obsolescent and undocumented, has been removed.  Double leap
2882    seconds were an error in the C89 standard; they have never existed
2883    in civil timekeeping.  (Thanks to Robert Elz and Bradley White for
2884    noticing glitches in the code that uncovered this problem.)
2885
2886    zic now warns about use of the obsolescent and undocumented -y
2887    option, and about use of the obsolescent TYPE field of Rule lines.
2888
2889    zic now allows unambiguous abbreviations like "Sa" and "Su" for
2890    weekdays; formerly it rejected them due to a bug.  Conversely, zic
2891    no longer considers non-prefixes to be abbreviations; for example,
2892    it no longer accepts "lF" as an abbreviation for "lastFriday".
2893    Also, zic warns about the undocumented usage with a "last-"
2894    prefix, e.g., "last-Fri".
2895
2896    Similarly, zic now accepts the unambiguous abbreviation "L" for
2897    "Link" in ordinary context and for "Leap" in leap-second context.
2898    Conversely, zic no longer accepts non-prefixes such as "La" as
2899    abbreviations for words like "Leap".
2900
2901    zic no longer accepts leap second lines in ordinary input, or
2902    ordinary lines in leap second input.  Formerly, zic sometimes
2903    warned about this undocumented usage and handled it incorrectly.
2904
2905    The new macro HAVE_TZNAME governs whether the tzname external
2906    variable is exported, instead of USG_COMPAT.  USG_COMPAT now
2907    governs only the external variables "timezone" and "daylight".
2908    This change is needed because the three variables are not in the
2909    same category: although POSIX requires tzname, it specifies the
2910    other two variables as optional.  Also, USG_COMPAT is now 1 or 0:
2911    if not defined, the code attempts to guess it from other macros.
2912
2913    localtime.c and difftime.c no longer require stdio.h, and .c files
2914    other than zic.c no longer require sys/wait.h.
2915
2916    zdump.c no longer assumes snprintf.  (Reported by Jonathan Leffler.)
2917
2918    Calculation of time_t extrema works around a bug in GCC 4.8.4
2919    (Reported by Stan Shebs and Joseph Myers.)
2920
2921    zic.c no longer mistranslates formats of line numbers in non-English
2922    locales.  (Problem reported by Benno Schulenberg.)
2923
2924    Several minor changes have been made to the code to make it a
2925    bit easier to port to MS-Windows and Solaris.  (Thanks to Kees
2926    Dekker for reporting the problems.)
2927
2928  Changes to documentation and commentary
2929
2930    The two new files 'theory.html' and 'calendars' contain the
2931    contents of the removed file 'Theory'.  The goal is to document
2932    tzdb theory more accessibly.
2933
2934    The zic man page now documents abbreviation rules.
2935
2936    tz-link.htm now covers how to apply tzdata changes to clients.
2937    (Thanks to Jorge Fábregas for the AIX link.)  It also mentions MySQL.
2938
2939    The leap-seconds.list URL has been updated to something that is
2940    more reliable for tzdb.  (Thanks to Tim Parenti and Brian Inglis.)
2941
2942Release 2017b - 2017-03-17 07:30:38 -0700
2943
2944  Briefly: Haiti has resumed DST.
2945
2946  Changes to past and future timestamps
2947
2948    Haiti resumed observance of DST in 2017.  (Thanks to Steffen Thorsen.)
2949
2950  Changes to past timestamps
2951
2952    Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01.
2953
2954    Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430"
2955    is one byte over the POSIX limit.  (Problem reported by Derick Rethans.)
2956
2957  Changes to code
2958
2959    The reference localtime implementation now falls back on the
2960    current US daylight-saving transition rules rather than the
2961    1987-2006 rules.  This fallback occurs only when (1) the TZ
2962    environment variable has a value like "AST4ADT" that asks
2963    for daylight saving time but does not specify the rules, (2) there
2964    is no file by that name, and (3) the TZDEFRULES file cannot be
2965    loaded.  (Thanks to Tom Lane.)
2966
2967
2968Release 2017a - 2017-02-28 00:05:36 -0800
2969
2970  Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia
2971  discontinues DST.
2972
2973  Changes to future timestamps
2974
2975    Mongolia no longer observes DST.  (Thanks to Ganbold Tsagaankhuu.)
2976
2977    Chile's Region of Magallanes moves from -04/-03 to -03 year-round.
2978    Its clocks diverge from America/Santiago starting 2017-05-13 at
2979    23:00, hiving off a new zone America/Punta_Arenas.  Although the
2980    Chilean government says this change expires in May 2019, for now
2981    assume it's permanent.  (Thanks to Juan Correa and Deborah
2982    Goldsmith.)  This also affects Antarctica/Palmer.
2983
2984  Changes to past timestamps
2985
2986    Fix many entries for historical timestamps for Europe/Madrid
2987    before 1979, to agree with tables compiled by Pere Planesas of the
2988    National Astronomical Observatory of Spain.  As a side effect,
2989    this changes some timestamps for Africa/Ceuta before 1929, which
2990    are probably guesswork anyway.  (Thanks to Steve Allen and
2991    Pierpaolo Bernardi for the heads-ups, and to Michael Deckers for
2992    correcting the 1901 transition.)
2993
2994    Ecuador observed DST from 1992-11-28 to 1993-02-05.
2995    (Thanks to Alois Treindl.)
2996
2997    Asia/Atyrau and Asia/Oral were at +03 (not +04) before 1930-06-21.
2998    (Thanks to Stepan Golosunov.)
2999
3000  Changes to past and future time zone abbreviations
3001
3002    Switch to numeric time zone abbreviations for South America, as
3003    part of the ongoing project of removing invented abbreviations.
3004    This avoids the need to invent an abbreviation for the new Chilean
3005    new zone.  Similarly, switch from invented to numeric time zone
3006    abbreviations for Afghanistan, American Samoa, the Azores,
3007    Bangladesh, Bhutan, the British Indian Ocean Territory, Brunei,
3008    Cape Verde, Chatham Is, Christmas I, Cocos (Keeling) Is, Cook Is,
3009    Dubai, East Timor, Eucla, Fiji, French Polynesia, Greenland,
3010    Indochina, Iran, Iraq, Kiribati, Lord Howe, Macquarie, Malaysia,
3011    the Maldives, Marshall Is, Mauritius, Micronesia, Mongolia,
3012    Myanmar, Nauru, Nepal, New Caledonia, Niue, Norfolk I, Palau,
3013    Papua New Guinea, the Philippines, Pitcairn, Qatar, Réunion, St
3014    Pierre & Miquelon, Samoa, Saudi Arabia, Seychelles, Singapore,
3015    Solomon Is, Tokelau, Tuvalu, Wake, Vanuatu, Wallis & Futuna, and
3016    Xinjiang; for 20-minute daylight saving time in Ghana before 1943;
3017    for half-hour daylight saving time in Belize before 1944 and in
3018    the Dominican Republic before 1975; and for Canary Islands before
3019    1946, for Guinea-Bissau before 1975, for Iceland before 1969, for
3020    Indian Summer Time before 1942, for Indonesia before around 1964,
3021    for Kenya before 1960, for Liberia before 1973, for Madeira before
3022    1967, for Namibia before 1943, for the Netherlands in 1937-9, for
3023    Pakistan before 1971, for Western Sahara before 1977, and for
3024    Zaporozhye in 1880-1924.
3025
3026    For Alaska time from 1900 through 1967, instead of "CAT" use the
3027    abbreviation "AST", the abbreviation commonly used at the time
3028    (Atlantic Standard Time had not been standardized yet).  Use "AWT"
3029    and "APT" instead of the invented abbreviations "CAWT" and "CAPT".
3030
3031    Use "CST" and "CDT" instead of invented abbreviations for Macau
3032    before 1999 and Taiwan before 1938, and use "JST" instead of the
3033    invented abbreviation "JCST" for Japan and Korea before 1938.
3034
3035  Change to database entry category
3036
3037    Move the Pacific/Johnston link from 'australasia' to 'backward',
3038    since Johnston is now uninhabited.
3039
3040  Changes to code
3041
3042    zic no longer mishandles some transitions in January 2038 when it
3043    attempts to work around Qt bug 53071.  This fixes a bug affecting
3044    Pacific/Tongatapu that was introduced in zic 2016e.  localtime.c
3045    now contains a workaround, useful when loading a file generated by
3046    a buggy zic.  (Problem and localtime.c fix reported by Bradley
3047    White.)
3048
3049    zdump -i now outputs non-hour numeric time zone abbreviations
3050    without a colon, e.g., "+0530" rather than "+05:30".  This agrees
3051    with zic %z and with common practice, and simplifies auditing of
3052    zdump output.
3053
3054    zdump is now buildable again with -DUSE_LTZ=0.
3055    (Problem reported by Joseph Myers.)
3056
3057    zdump.c now always includes private.h, to avoid code duplication
3058    with private.h.  (Problem reported by Kees Dekker.)
3059
3060    localtime.c no longer mishandles early or late timestamps
3061    when TZ is set to a POSIX-style string that specifies DST.
3062    (Problem reported by Kees Dekker.)
3063
3064    date and strftime now cause %z to generate "-0000" instead of
3065    "+0000" when the UT offset is zero and the time zone abbreviation
3066    begins with "-".
3067
3068  Changes to documentation and commentary
3069
3070    The 'Theory' file now better documents choice of historical time
3071    zone abbreviations.  (Problems reported by Michael Deckers.)
3072
3073    tz-link.htm now covers leap smearing, which is popular in clouds.
3074
3075
3076Release 2016j - 2016-11-22 23:17:13 -0800
3077
3078  Briefly: Saratov, Russia moves from +03 to +04 on 2016-12-04.
3079
3080  Changes to future timestamps
3081
3082    Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00.
3083    This hives off a new zone Europe/Saratov from Europe/Volgograd.
3084    (Thanks to Yuri Konotopov and Stepan Golosunov.)
3085
3086  Changes to past timestamps
3087
3088    The new zone Asia/Atyrau for Atyraū Region, Kazakhstan, is like
3089    Asia/Aqtau except it switched from +05/+06 to +04/+05 in spring
3090    1999, not fall 1994.  (Thanks to Stepan Golosunov.)
3091
3092  Changes to past time zone abbreviations
3093
3094    Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote
3095    summer time before 1948.  The old use of "EET" was a typo.
3096
3097  Changes to code
3098
3099    zic no longer mishandles file systems that lack hard links, fixing
3100    bugs introduced in 2016g.  (Problems reported by Tom Lane.)
3101    Also, when the destination already contains symbolic links, zic
3102    should now work better on systems where the 'link' system call
3103    does not follow symbolic links.
3104
3105  Changes to documentation and commentary
3106
3107    tz-link.htm now documents the relationship between release version
3108    numbers and development-repository commit tags.  (Suggested by
3109    Paul Koning.)
3110
3111    The 'Theory' file now documents UT.
3112
3113    iso3166.tab now accents "Curaçao", and commentary now mentions
3114    the names "Cabo Verde" and "Czechia".  (Thanks to Jiří Boháč.)
3115
3116
3117Release 2016i - 2016-11-01 23:19:52 -0700
3118
3119  Briefly: Cyprus split into two time zones on 2016-10-30, and Tonga
3120  reintroduces DST on 2016-11-06.
3121
3122  Changes to future timestamps
3123
3124    Pacific/Tongatapu begins DST on 2016-11-06 at 02:00, ending on
3125    2017-01-15 at 03:00.  Assume future observances in Tonga will be
3126    from the first Sunday in November through the third Sunday in
3127    January, like Fiji.  (Thanks to Pulu ʻAnau.)  Switch to numeric
3128    time zone abbreviations for this zone.
3129
3130  Changes to past and future timestamps
3131
3132    Northern Cyprus is now +03 year round, causing a split in Cyprus
3133    time zones starting 2016-10-30 at 04:00.  This creates a zone
3134    Asia/Famagusta.  (Thanks to Even Scharning and Matt Johnson.)
3135
3136    Antarctica/Casey switched from +08 to +11 on 2016-10-22.
3137    (Thanks to Steffen Thorsen.)
3138
3139  Changes to past timestamps
3140
3141    Several corrections were made for pre-1975 timestamps in Italy.
3142    These affect Europe/Malta, Europe/Rome, Europe/San_Marino, and
3143    Europe/Vatican.
3144
3145    First, the 1893-11-01 00:00 transition in Italy used the new UT
3146    offset (+01), not the old (+00:49:56).  (Thanks to Michael
3147    Deckers.)
3148
3149    Second, rules for daylight saving in Italy were changed to agree
3150    with Italy's National Institute of Metrological Research (INRiM)
3151    except for 1944, as follows (thanks to Pierpaolo Bernardi, Brian
3152    Inglis, and Michael Deckers):
3153
3154      The 1916-06-03 transition was at 24:00, not 00:00.
3155
3156      The 1916-10-01, 1919-10-05, and 1920-09-19 transitions were at
3157      00:00, not 01:00.
3158
3159      The 1917-09-30 and 1918-10-06 transitions were at 24:00, not
3160      01:00.
3161
3162      The 1944-09-17 transition was at 03:00, not 01:00.  This
3163      particular change is taken from Italian law as INRiM's table,
3164      (which says 02:00) appears to have a typo here.  Also, keep the
3165      1944-04-03 transition for Europe/Rome, as Rome was controlled by
3166      Germany then.
3167
3168      The 1967-1970 and 1972-1974 fallback transitions were at 01:00,
3169      not 00:00.
3170
3171  Changes to code
3172
3173    The code should now be buildable on AmigaOS merely by setting the
3174    appropriate Makefile variables.  (From a patch by Carsten Larsen.)
3175
3176
3177Release 2016h - 2016-10-19 23:17:57 -0700
3178
3179  Changes to future timestamps
3180
3181    Asia/Gaza and Asia/Hebron end DST on 2016-10-29 at 01:00, not
3182    2016-10-21 at 00:00.  (Thanks to Sharef Mustafa.)  Predict that
3183    future fall transitions will be on the last Saturday of October
3184    at 01:00, which is consistent with predicted spring transitions
3185    on the last Saturday of March.  (Thanks to Tim Parenti.)
3186
3187  Changes to past timestamps
3188
3189    In Turkey, transitions in 1986-1990 were at 01:00 standard time
3190    not at 02:00, and the spring 1994 transition was on March 20, not
3191    March 27.  (Thanks to Kıvanç Yazan.)
3192
3193  Changes to past and future time zone abbreviations
3194
3195    Asia/Colombo now uses numeric time zone abbreviations like "+0530"
3196    instead of alphabetic ones like "IST" and "LKT".  Various
3197    English-language sources use "IST", "LKT" and "SLST", with no
3198    working consensus.  (Usage of "SLST" mentioned by Sadika
3199    Sumanapala.)
3200
3201  Changes to code
3202
3203    zic no longer mishandles relativizing file names when creating
3204    symbolic links like /etc/localtime, when these symbolic links
3205    are outside the usual directory hierarchy.  This fixes a bug
3206    introduced in 2016g.  (Problem reported by Andreas Stieger.)
3207
3208  Changes to build procedure
3209
3210    New rules 'traditional_tarballs' and 'traditional_signatures' for
3211    building just the traditional-format distribution.  (Requested by
3212    Deborah Goldsmith.)
3213
3214    The file 'version' is now put into the tzdata tarball too.
3215    (Requested by Howard Hinnant.)
3216
3217  Changes to documentation and commentary
3218
3219    The 'Theory' file now has a section on interface stability.
3220    (Requested by Paul Koning.)  It also mentions features like
3221    tm_zone and localtime_rz that have long been supported by the
3222    reference code.
3223
3224    tz-link.htm has improved coverage of time zone boundaries suitable
3225    for geolocation.  (Thanks to heads-ups from Evan Siroky and Matt
3226    Johnson.)
3227
3228    The US commentary now mentions Allen and the "day of two noons".
3229
3230    The Fiji commentary mentions the government's 2016-10-03 press
3231    release.  (Thanks to Raymond Kumar.)
3232
3233
3234Release 2016g - 2016-09-13 08:56:38 -0700
3235
3236  Changes to future timestamps
3237
3238    Turkey switched from EET/EEST (+02/+03) to permanent +03,
3239    effective 2016-09-07.  (Thanks to Burak AYDIN.)  Use "+03" rather
3240    than an invented abbreviation for the new time.
3241
3242    New leap second 2016-12-31 23:59:60 UTC as per IERS Bulletin C 52.
3243    (Thanks to Tim Parenti.)
3244
3245  Changes to past timestamps
3246
3247    For America/Los_Angeles, spring-forward transition times have been
3248    corrected from 02:00 to 02:01 in 1948, and from 02:00 to 01:00 in
3249    1950-1966.
3250
3251    For zones using Soviet time on 1919-07-01, transitions to UT-based
3252    time were at 00:00 UT, not at 02:00 local time.  The affected
3253    zones are Europe/Kirov, Europe/Moscow, Europe/Samara, and
3254    Europe/Ulyanovsk.  (Thanks to Alexander Belopolsky.)
3255
3256  Changes to past and future time zone abbreviations
3257
3258    The Factory zone now uses the time zone abbreviation -00 instead
3259    of a long English-language string, as -00 is now the normal way to
3260    represent an undefined time zone.
3261
3262    Several zones in Antarctica and the former Soviet Union, along
3263    with zones intended for ships at sea that cannot use POSIX TZ
3264    strings, now use numeric time zone abbreviations instead of
3265    invented or obsolete alphanumeric abbreviations.  The affected
3266    zones are Antarctica/Casey, Antarctica/Davis,
3267    Antarctica/DumontDUrville, Antarctica/Mawson, Antarctica/Rothera,
3268    Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok,
3269    Asia/Anadyr, Asia/Ashgabat, Asia/Baku, Asia/Bishkek, Asia/Chita,
3270    Asia/Dushanbe, Asia/Irkutsk, Asia/Kamchatka, Asia/Khandyga,
3271    Asia/Krasnoyarsk, Asia/Magadan, Asia/Omsk, Asia/Sakhalin,
3272    Asia/Samarkand, Asia/Srednekolymsk, Asia/Tashkent, Asia/Tbilisi,
3273    Asia/Ust-Nera, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg,
3274    Asia/Yerevan, Etc/GMT-14, Etc/GMT-13, Etc/GMT-12, Etc/GMT-11,
3275    Etc/GMT-10, Etc/GMT-9, Etc/GMT-8, Etc/GMT-7, Etc/GMT-6, Etc/GMT-5,
3276    Etc/GMT-4, Etc/GMT-3, Etc/GMT-2, Etc/GMT-1, Etc/GMT+1, Etc/GMT+2,
3277    Etc/GMT+3, Etc/GMT+4, Etc/GMT+5, Etc/GMT+6, Etc/GMT+7, Etc/GMT+8,
3278    Etc/GMT+9, Etc/GMT+10, Etc/GMT+11, Etc/GMT+12, Europe/Kaliningrad,
3279    Europe/Minsk, Europe/Samara, Europe/Volgograd, and
3280    Indian/Kerguelen.  For Europe/Moscow the invented abbreviation MSM
3281    was replaced by +05, whereas MSK and MSD were kept as they are not
3282    our invention and are widely used.
3283
3284  Changes to zone names
3285
3286    Rename Asia/Rangoon to Asia/Yangon, with a backward compatibility link.
3287    (Thanks to David Massoud.)
3288
3289  Changes to code
3290
3291    zic no longer generates binary files containing POSIX TZ-like
3292    strings that disagree with the local time type after the last
3293    explicit transition in the data.  This fixes a bug with
3294    Africa/Casablanca and Africa/El_Aaiun in some year-2037 timestamps
3295    on the reference platform.  (Thanks to Alexander Belopolsky for
3296    reporting the bug and suggesting a way forward.)
3297
3298    If the installed localtime and/or posixrules files are symbolic
3299    links, zic now keeps them symbolic links when updating them, for
3300    compatibility with platforms like OpenSUSE where other programs
3301    configure these files as symlinks.
3302
3303    zic now avoids hard linking to symbolic links, avoids some
3304    unnecessary mkdir and stat system calls, and uses shorter file
3305    names internally.
3306
3307    zdump has a new -i option to generate transitions in a
3308    smaller but still human-readable format.  This option is
3309    experimental, and the output format may change in future versions.
3310    (Thanks to Jon Skeet for suggesting that an option was needed,
3311    and thanks to Tim Parenti and Chris Rovick for further comments.)
3312
3313  Changes to build procedure
3314
3315    An experimental distribution format is available, in addition
3316    to the traditional format which will continue to be distributed.
3317    The new format is a tarball tzdb-VERSION.tar.lz with signature
3318    file tzdb-VERSION.tar.lz.asc.  It unpacks to a top-level directory
3319    tzdb-VERSION containing the code and data of the traditional
3320    two-tarball format, along with extra data that may be useful.
3321    (Thanks to Antonio Diaz Diaz, Oscar van Vlijmen, and many others
3322    for comments about the experimental format.)
3323
3324    The release version number is now more accurate in the usual case
3325    where releases are built from a Git repository.  For example, if
3326    23 commits and some working-file changes have been made since
3327    release 2016g, the version number is now something like
3328    '2016g-23-g50556e3-dirty' instead of the misleading '2016g'.
3329    Tagged releases use the same version number format as before,
3330    e.g., '2016g'.  To support the more accurate version number, its
3331    specification has moved from a line in the Makefile to a new
3332    source file 'version'.
3333
3334    The experimental distribution contains a file to2050.tzs that
3335    contains what should be the output of 'zdump -i -c 2050' on
3336    primary zones.  If this file is available, 'make check' now checks
3337    that zdump generates this output.
3338
3339    'make check_web' now works on Fedora-like distributions.
3340
3341  Changes to documentation and commentary
3342
3343    tzfile.5 now documents the new restriction on POSIX TZ-like
3344    strings that is now implemented by zic.
3345
3346    Comments now cite URLs for some 1917-1921 Russian DST decrees.
3347    (Thanks to Alexander Belopolsky.)
3348
3349    tz-link.htm mentions JuliaTime (thanks to Curtis Vogt) and Time4J
3350    (thanks to Meno Hochschild) and ThreeTen-Extra, and its
3351    description of Java 8 has been brought up to date (thanks to
3352    Stephen Colebourne).  Its description of local time on Mars has
3353    been updated to match current practice, and URLs have been updated
3354    and some obsolete ones removed.
3355
3356
3357Release 2016f - 2016-07-05 16:26:51 +0200
3358
3359  Changes affecting future timestamps
3360
3361    The Egyptian government changed its mind on short notice, and
3362    Africa/Cairo will not introduce DST starting 2016-07-07 after all.
3363    (Thanks to Mina Samuel.)
3364
3365    Asia/Novosibirsk switches from +06 to +07 on 2016-07-24 at 02:00.
3366    (Thanks to Stepan Golosunov.)
3367
3368  Changes to past and future timestamps
3369
3370    Asia/Novokuznetsk and Asia/Novosibirsk now use numeric time zone
3371    abbreviations instead of invented ones.
3372
3373  Changes affecting past timestamps
3374
3375    Europe/Minsk's 1992-03-29 spring-forward transition was at 02:00 not 00:00.
3376    (Thanks to Stepan Golosunov.)
3377
3378
3379Release 2016e - 2016-06-14 08:46:16 -0700
3380
3381  Changes affecting future timestamps
3382
3383    Africa/Cairo observes DST in 2016 from July 7 to the end of October.
3384    Guess October 27 and 24:00 transitions.  (Thanks to Steffen Thorsen.)
3385    For future years, guess April's last Thursday to October's last
3386    Thursday except for Ramadan.
3387
3388  Changes affecting past timestamps
3389
3390    Locations while uninhabited now use '-00', not 'zzz', as a
3391    placeholder time zone abbreviation.  This is inspired by Internet
3392    RFC 3339 and is more consistent with numeric time zone
3393    abbreviations already used elsewhere.  The change affects several
3394    arctic and antarctic locations, e.g., America/Cambridge_Bay before
3395    1920 and Antarctica/Troll before 2005.
3396
3397    Asia/Baku's 1992-09-27 transition from +04 (DST) to +04 (non-DST) was
3398    at 03:00, not 23:00 the previous day.  (Thanks to Michael Deckers.)
3399
3400  Changes to code
3401
3402    zic now outputs a dummy transition at time 2**31 - 1 in zones
3403    whose POSIX-style TZ strings contain a '<'.  This mostly works
3404    around Qt bug 53071 <https://bugreports.qt.io/browse/QTBUG-53071>.
3405    (Thanks to Zhanibek Adilbekov for reporting the Qt bug.)
3406
3407  Changes affecting documentation and commentary
3408
3409    tz-link.htm says why governments should give plenty of notice for
3410    time zone or DST changes, and refers to Matt Johnson's blog post.
3411
3412    tz-link.htm mentions Tzdata for Elixir.  (Thanks to Matt Johnson.)
3413
3414
3415Release 2016d - 2016-04-17 22:50:29 -0700
3416
3417  Changes affecting future timestamps
3418
3419    America/Caracas switches from -0430 to -04 on 2016-05-01 at 02:30.
3420    (Thanks to Alexander Krivenyshev for the heads-up.)
3421
3422    Asia/Magadan switches from +10 to +11 on 2016-04-24 at 02:00.
3423    (Thanks to Alexander Krivenyshev and Matt Johnson.)
3424
3425    New zone Asia/Tomsk, split off from Asia/Novosibirsk.  It covers
3426    Tomsk Oblast, Russia, which switches from +06 to +07 on 2016-05-29
3427    at 02:00.  (Thanks to Stepan Golosunov.)
3428
3429  Changes affecting past timestamps
3430
3431    New zone Europe/Kirov, split off from Europe/Volgograd.  It covers
3432    Kirov Oblast, Russia, which switched from +04/+05 to +03/+04 on
3433    1989-03-26 at 02:00, roughly a year after Europe/Volgograd made
3434    the same change.  (Thanks to Stepan Golosunov.)
3435
3436    Russia and nearby locations had daylight-saving transitions on
3437    1992-03-29 at 02:00 and 1992-09-27 at 03:00, instead of on
3438    1992-03-28 at 23:00 and 1992-09-26 at 23:00.  (Thanks to Stepan
3439    Golosunov.)
3440
3441    Many corrections to historical time in Kazakhstan from 1991
3442    through 2005.  (Thanks to Stepan Golosunov.)  Replace Kazakhstan's
3443    invented time zone abbreviations with numeric abbreviations.
3444
3445  Changes to commentary
3446
3447    Mention Internet RFCs 7808 (TZDIST) and 7809 (CalDAV time zone references).
3448
3449
3450Release 2016c - 2016-03-23 00:51:27 -0700
3451
3452  Changes affecting future timestamps
3453
3454    Azerbaijan no longer observes DST.  (Thanks to Steffen Thorsen.)
3455
3456    Chile reverts from permanent to seasonal DST.  (Thanks to Juan
3457    Correa for the heads-up, and to Tim Parenti for corrections.)
3458    Guess that future transitions are August's and May's second
3459    Saturdays at 24:00 mainland time.  Also, call the period from
3460    2014-09-07 through 2016-05-14 daylight saving time instead of
3461    standard time, as that seems more appropriate now.
3462
3463  Changes affecting past timestamps
3464
3465    Europe/Kaliningrad and Europe/Vilnius changed from +03/+04 to
3466    +02/+03 on 1989-03-26, not 1991-03-31.  Europe/Volgograd changed
3467    from +04/+05 to +03/+04 on 1988-03-27, not 1989-03-26.
3468    (Thanks to Stepan Golosunov.)
3469
3470  Changes to commentary
3471
3472    Several updates and URLs for historical and proposed Russian changes.
3473    (Thanks to Stepan Golosunov, Matt Johnson, and Alexander Krivenyshev.)
3474
3475
3476Release 2016b - 2016-03-12 17:30:14 -0800
3477
3478  Compatibility note
3479
3480    Starting with release 2016b, some data entries cause zic implementations
3481    derived from tz releases 2005j through 2015e to issue warnings like
3482    "time zone abbreviation differs from POSIX standard (+03)".
3483    These warnings should not otherwise affect zic's output and can safely be
3484    ignored on today's platforms, as the warnings refer to a restriction in
3485    POSIX.1-1988 that was removed in POSIX.1-2001.  One way to suppress the
3486    warnings is to upgrade to zic derived from tz releases 2015f and later.
3487
3488  Changes affecting future timestamps
3489
3490    New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
3491    Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04 on
3492    2016-03-27 at 02:00 local time.  They need distinct zones since their
3493    post-1970 histories disagree.  New zone Asia/Barnaul for Altai Krai and
3494    Altai Republic, Russia, which will switch from +06 to +07 on the same date
3495    and local time.  The Astrakhan change is already official; the others have
3496    passed the first reading in the State Duma and are extremely likely.
3497    Also, Asia/Sakhalin moves from +10 to +11 on 2016-03-27 at 02:00.
3498    (Thanks to Alexander Krivenyshev for the heads-up, and to Matt Johnson
3499    and Stepan Golosunov for followup.)
3500
3501    As a trial of a new system that needs less information to be made up,
3502    the new zones use numeric time zone abbreviations like "+04"
3503    instead of invented abbreviations like "ASTT".
3504
3505    Haiti will not observe DST in 2016.  (Thanks to Jean Antoine via
3506    Steffen Thorsen.)
3507
3508    Palestine's spring-forward transition on 2016-03-26 is at 01:00, not 00:00.
3509    (Thanks to Hannah Kreitem.) Guess future transitions will be March's last
3510    Saturday at 01:00, not March's last Friday at 24:00.
3511
3512  Changes affecting past timestamps
3513
3514    Europe/Chisinau observed DST during 1990, and switched from +04 to
3515    +03 at 1990-05-06 02:00, instead of switching from +03 to +02.
3516    (Thanks to Stepan Golosunov.)
3517
3518    1991 abbreviations in Europe/Samara should be SAMT/SAMST, not
3519    KUYT/KUYST.  (Thanks to Stepan Golosunov.)
3520
3521  Changes to code
3522
3523    tzselect's diagnostics and checking, and checktab.awk's checking,
3524    have been improved.  (Thanks to J William Piggott.)
3525
3526    tzcode now builds under MinGW.  (Thanks to Ian Abbott and Esben Haabendal.)
3527
3528    tzselect now tests Julian-date TZ settings more accurately.
3529    (Thanks to J William Piggott.)
3530
3531  Changes to commentary
3532
3533    Comments in zone tables have been improved.  (Thanks to J William Piggott.)
3534
3535    tzselect again limits its menu comments so that menus fit on a
3536    24×80 alphanumeric display.
3537
3538    A new web page tz-how-to.html.  (Thanks to Bill Seymour.)
3539
3540    In the Theory file, the description of possible time zone abbreviations in
3541    tzdata has been cleaned up, as the old description was unclear and
3542    inconsistent.  (Thanks to Alain Mouette for reporting the problem.)
3543
3544
3545Release 2016a - 2016-01-26 23:28:02 -0800
3546
3547  Changes affecting future timestamps
3548
3549    America/Cayman will not observe daylight saving this year after all.
3550    Revert our guess that it would.  (Thanks to Matt Johnson.)
3551
3552    Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
3553    (Thanks to Alexander Krivenyshev.)
3554
3555    Asia/Tehran now has DST predictions for the year 2038 and later,
3556    to be March 21 00:00 to September 21 00:00.  This is likely better
3557    than predicting no DST, albeit off by a day every now and then.
3558
3559  Changes affecting past and future timestamps
3560
3561    America/Metlakatla switched from PST all year to AKST/AKDT on
3562    2015-11-01 at 02:00.  (Thanks to Steffen Thorsen.)
3563
3564    America/Santa_Isabel has been removed, and replaced with a
3565    backward compatibility link to America/Tijuana.  Its contents were
3566    apparently based on a misreading of Mexican legislation.
3567
3568  Changes affecting past timestamps
3569
3570    Asia/Karachi's two transition times in 2002 were off by a minute.
3571    (Thanks to Matt Johnson.)
3572
3573  Changes affecting build procedure
3574
3575    An installer can now combine leap seconds with use of the backzone file,
3576    e.g., with 'make PACKRATDATA=backzone REDO=posix_right zones'.
3577    The old 'make posix_packrat' rule is now marked as obsolescent.
3578    (Thanks to Ian Abbott for an initial implementation.)
3579
3580  Changes affecting documentation and commentary
3581
3582    A new file LICENSE makes it easier to see that the code and data
3583    are mostly public-domain.  (Thanks to James Knight.)  The three
3584    non-public-domain files now use the current (3-clause) BSD license
3585    instead of older versions of that license.
3586
3587    tz-link.htm mentions the BDE library (thanks to Andrew Paprocki),
3588    CCTZ (thanks to Tim Parenti), TimeJones.com, and has a new section
3589    on editing tz source files (with a mention of Sublime zoneinfo,
3590    thanks to Gilmore Davidson).
3591
3592    The Theory and asia files now mention the 2015 book "The Global
3593    Transformation of Time, 1870-1950", and cite a couple of reviews.
3594
3595    The America/Chicago entry now documents the informal use of US
3596    central time in Fort Pierre, South Dakota.  (Thanks to Rick
3597    McDermid, Matt Johnson, and Steve Jones.)
3598
3599
3600Release 2015g - 2015-10-01 00:39:51 -0700
3601
3602  Changes affecting future timestamps
3603
3604    Turkey's 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.
3605    (Thanks to Fatih.)
3606
3607    Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
3608    (Thanks to Alexander Krivenyshev.)
3609
3610    Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
3611    (Thanks to Ken Rylander.)
3612
3613    Fort Nelson, British Columbia will not fall back on 2015-11-01.  It has
3614    effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
3615    New zone America/Fort_Nelson.  (Thanks to Matt Johnson.)
3616
3617  Changes affecting past timestamps
3618
3619    Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.
3620
3621  Changes affecting code
3622
3623    localtime no longer mishandles America/Anchorage after 2037.
3624    (Thanks to Bradley White for reporting the bug.)
3625
3626    On hosts with signed 32-bit time_t, localtime no longer mishandles
3627    Pacific/Fiji after 2038-01-16 14:00 UTC.
3628
3629    The localtime module allows the variables 'timezone', 'daylight',
3630    and 'altzone' to be in common storage shared with other modules,
3631    and declares them in case the system <time.h> does not.
3632    (Problems reported by Kees Dekker.)
3633
3634    On platforms with tm_zone, strftime.c now assumes it is not NULL.
3635    This simplifies the code and is consistent with zdump.c.
3636    (Problem reported by Christos Zoulas.)
3637
3638  Changes affecting documentation
3639
3640   The tzfile man page now documents that transition times denote the
3641   starts (not the ends) of the corresponding time periods.
3642   (Ambiguity reported by Bill Seymour.)
3643
3644
3645Release 2015f - 2015-08-10 18:06:56 -0700
3646
3647  Changes affecting future timestamps
3648
3649    North Korea switches to +0830 on 2015-08-15.  (Thanks to Steffen Thorsen.)
3650    The abbreviation remains "KST".  (Thanks to Robert Elz.)
3651
3652    Uruguay no longer observes DST.  (Thanks to Steffen Thorsen
3653    and Pablo Camargo.)
3654
3655  Changes affecting past and future timestamps
3656
3657    Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.
3658    (Thanks to Roman Tudos.)
3659
3660  Changes affecting data format and code
3661
3662    zic's '-y YEARISTYPE' option is no longer documented.  The TYPE
3663    field of a Rule line should now be '-'; the old values 'even',
3664    'odd', 'uspres', 'nonpres', 'nonuspres' were already undocumented.
3665    Although the implementation has not changed, these features do not
3666    work in the default installation, they are not used in the data,
3667    and they are now considered obsolescent.
3668
3669    zic now checks that two rules don't take effect at the same time.
3670    (Thanks to Jon Skeet and Arthur David Olson.)  Constraints on
3671    simultaneity are now documented.
3672
3673    The two characters '%z' in a zone format now stand for the UT
3674    offset, e.g., '-07' for seven hours behind UT and '+0530' for
3675    five hours and thirty minutes ahead.  This better supports time
3676    zone abbreviations conforming to POSIX.1-2001 and later.
3677
3678  Changes affecting installed data files
3679
3680    Comments for America/Halifax and America/Glace_Bay have been improved.
3681    (Thanks to Brian Inglis.)
3682
3683    Data entries have been simplified for Atlantic/Canary, Europe/Simferopol,
3684    Europe/Sofia, and Europe/Tallinn.  This yields slightly smaller
3685    installed data files for Europe/Simferopol and Europe/Tallinn.
3686    It does not affect timestamps.  (Thanks to Howard Hinnant.)
3687
3688  Changes affecting code
3689
3690    zdump and zic no longer warn about valid time zone abbreviations
3691    like '-05'.
3692
3693    Some Visual Studio 2013 warnings have been suppressed.
3694    (Thanks to Kees Dekker.)
3695
3696    'date' no longer sets the time of day and its -a, -d, -n and -t
3697    options have been removed.  Long obsolescent, the implementation
3698    of these features had porting problems.  Builders no longer need
3699    to configure HAVE_ADJTIME, HAVE_SETTIMEOFDAY, or HAVE_UTMPX_H.
3700    (Thanks to Kees Dekker for pointing out the problem.)
3701
3702  Changes affecting documentation
3703
3704    The Theory file mentions naming issues earlier, as these seem to be
3705    poorly publicized (thanks to Gilmore Davidson for reporting the problem).
3706
3707    tz-link.htm mentions Time Zone Database Parser (thanks to Howard Hinnant).
3708
3709    Mention that Herbert Samuel introduced the term "Summer Time".
3710
3711
3712Release 2015e - 2015-06-13 10:56:02 -0700
3713
3714  Changes affecting future timestamps
3715
3716    Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
3717    not 06-13 and 07-18 as we had guessed.  (Thanks to Milamber.)
3718
3719    Assume Cayman Islands will observe DST starting next year, using US rules.
3720    Although it isn't guaranteed, it is the most likely.
3721
3722  Changes affecting data format
3723
3724    The file 'iso3166.tab' now uses UTF-8, so that its entries can better
3725    spell the names of Åland Islands, Côte d'Ivoire, and Réunion.
3726
3727  Changes affecting code
3728
3729    When displaying data, tzselect converts it to the current locale's
3730    encoding if the iconv command works.  (Problem reported by random832.)
3731
3732    tzselect no longer mishandles Dominica, fixing a bug introduced
3733    in Release 2014f.  (Problem reported by Owen Leibman.)
3734
3735    zic -l no longer fails when compiled with -DTZDEFAULT=\"/etc/localtime\".
3736    This fixes a bug introduced in Release 2014f.
3737    (Problem reported by Leonardo Chiquitto.)
3738
3739
3740Release 2015d - 2015-04-24 08:09:46 -0700
3741
3742  Changes affecting future timestamps
3743
3744    Egypt will not observe DST in 2015 and will consider canceling it
3745    permanently.  For now, assume no DST indefinitely.
3746    (Thanks to Ahmed Nazmy and Tim Parenti.)
3747
3748  Changes affecting past timestamps
3749
3750    America/Whitehorse switched from UT -09 to -08 on 1967-05-28, not
3751    1966-07-01.  Also, Yukon's time zone history is documented better.
3752    (Thanks to Brian Inglis and Dennis Ferguson.)
3753
3754  Change affecting past and future time zone abbreviations
3755
3756    The abbreviations for Hawaii-Aleutian standard and daylight times
3757    have been changed from HAST/HADT to HST/HDT, as per US Government
3758    Printing Office style.  This affects only America/Adak since 1983,
3759    as America/Honolulu was already using the new style.
3760
3761  Changes affecting code
3762
3763   zic has some minor performance improvements.
3764
3765
3766Release 2015c - 2015-04-11 08:55:55 -0700
3767
3768  Changes affecting future timestamps
3769
3770    Egypt's spring-forward transition is at 24:00 on April's last Thursday,
3771    not 00:00 on April's last Friday.  2015's transition will therefore be on
3772    Thursday, April 30 at 24:00, not Friday, April 24 at 00:00.  Similar fixes
3773    apply to 2026, 2037, 2043, etc.  (Thanks to Steffen Thorsen.)
3774
3775  Changes affecting past timestamps
3776
3777    The following changes affect some pre-1991 Chile-related timestamps
3778    in America/Santiago, Antarctica/Palmer, and Pacific/Easter.
3779
3780      The 1910 transition was January 10, not January 1.
3781
3782      The 1918 transition was September 10, not September 1.
3783
3784      The UT -04 time observed from 1932 to 1942 is now considered to
3785      be standard time, not year-round DST.
3786
3787      Santiago observed DST (UT -03) from 1946-07-15 through
3788      1946-08-31, then reverted to standard time, then switched to -05
3789      on 1947-04-01.
3790
3791      Assume transitions before 1968 were at 00:00, since we have no data
3792      saying otherwise.
3793
3794      The spring 1988 transition was 1988-10-09, not 1988-10-02.
3795      The fall 1990 transition was 1990-03-11, not 1990-03-18.
3796
3797      Assume no UT offset change for Pacific/Easter on 1890-01-01,
3798      and omit all transitions on Pacific/Easter from 1942 through 1946
3799      since we have no data suggesting that they existed.
3800
3801    One more zone has been turned into a link, as it differed
3802    from an existing zone only for older timestamps.  As usual,
3803    this change affects UT offsets in pre-1970 timestamps only.
3804    The zone's old contents have been moved to the 'backzone' file.
3805    The affected zone is America/Montreal.
3806
3807  Changes affecting commentary
3808
3809    Mention the TZUpdater tool.
3810
3811    Mention "The Time Now".  (Thanks to Brandon Ramsey.)
3812
3813
3814Release 2015b - 2015-03-19 23:28:11 -0700
3815
3816  Changes affecting future timestamps
3817
3818    Mongolia will start observing DST again this year, from the last
3819    Saturday in March at 02:00 to the last Saturday in September at 00:00.
3820    (Thanks to Ganbold Tsagaankhuu.)
3821
3822    Palestine will start DST on March 28, not March 27.  Also,
3823    correct the fall 2014 transition from September 26 to October 24.
3824    Adjust future predictions accordingly.  (Thanks to Steffen Thorsen.)
3825
3826  Changes affecting past timestamps
3827
3828    The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a
3829    regression.  (Thanks to Stuart Bishop for reporting the problem.)
3830
3831    Some more zones have been turned into links, when they differed
3832    from existing zones only for older timestamps.  As usual,
3833    these changes affect UT offsets in pre-1970 timestamps only.
3834    Their old contents have been moved to the 'backzone' file.
3835    The affected zones are: America/Antigua, America/Cayman,
3836    Pacific/Midway, and Pacific/Saipan.
3837
3838  Changes affecting time zone abbreviations
3839
3840    Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD".
3841    (Thanks to Hank W.)
3842
3843  Changes affecting code
3844
3845    Fix integer overflow bug in reference 'mktime' implementation.
3846    (Problem reported by Jörg Richter.)
3847
3848    Allow -Dtime_tz=time_t compilations, and allow -Dtime_tz=... libraries
3849    to be used in the same executable as standard-library time_t functions.
3850    (Problems reported by Bradley White.)
3851
3852  Changes affecting commentary
3853
3854    Cite the recent Mexican decree changing Quintana Roo's time zone.
3855    (Thanks to Carlos Raúl Perasso.)
3856
3857    Likewise for the recent Chilean decree.  (Thanks to Eduardo Romero Urra.)
3858
3859    Update info about Mars time.
3860
3861
3862Release 2015a - 2015-01-29 22:35:20 -0800
3863
3864  Changes affecting future timestamps
3865
3866    The Mexican state of Quintana Roo, represented by America/Cancun,
3867    will shift from Central Time with DST to Eastern Time without DST
3868    on 2015-02-01 at 02:00.  (Thanks to Steffen Thorsen and Gwillim Law.)
3869
3870    Chile will not change clocks in April or thereafter; its new standard time
3871    will be its old daylight saving time.  This affects America/Santiago,
3872    Pacific/Easter, and Antarctica/Palmer.  (Thanks to Juan Correa.)
3873
3874    New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
3875    (Thanks to Tim Parenti.)
3876
3877  Changes affecting past timestamps
3878
3879    Iceland observed DST in 1919 and 1921, and its 1939 fallback
3880    transition was Oct. 29, not Nov. 29.  Remove incorrect data from
3881    Shanks about time in Iceland between 1837 and 1908.
3882
3883    Some more zones have been turned into links, when they differed
3884    from existing zones only for older timestamps.  As usual,
3885    these changes affect UT offsets in pre-1970 timestamps only.
3886    Their old contents have been moved to the 'backzone' file.
3887    The affected zones are: Asia/Aden, Asia/Bahrain, Asia/Kuwait,
3888    and Asia/Muscat.
3889
3890  Changes affecting code
3891
3892    tzalloc now scrubs time zone abbreviations compatibly with the way
3893    that tzset always has, by replacing invalid bytes with '_' and by
3894    shortening too-long abbreviations.
3895
3896    tzselect ports to POSIX awk implementations, no longer mishandles
3897    POSIX TZ settings when GNU awk is used, and reports POSIX TZ
3898    settings to the user.  (Thanks to Stefan Kuhn.)
3899
3900  Changes affecting build procedure
3901
3902    'make check' now checks for links to links in the data.
3903    One such link (for Africa/Asmera) has been fixed.
3904    (Thanks to Stephen Colebourne for pointing out the problem.)
3905
3906  Changes affecting commentary
3907
3908    The leapseconds file commentary now mentions the expiration date.
3909    (Problem reported by Martin Burnicki.)
3910
3911    Update Mexican Library of Congress URL.
3912
3913
3914Release 2014j - 2014-11-10 17:37:11 -0800
3915
3916  Changes affecting current and future timestamps
3917
3918    Turks & Caicos' switch from US eastern time to UT -04 year-round
3919    did not occur on 2014-11-02 at 02:00.  It's currently scheduled
3920    for 2015-11-01 at 02:00.  (Thanks to Chris Walton.)
3921
3922  Changes affecting past timestamps
3923
3924    Many pre-1989 timestamps have been corrected for Asia/Seoul and
3925    Asia/Pyongyang, based on sources for the Korean-language Wikipedia
3926    entry for time in Korea.  (Thanks to Sanghyuk Jung.)  Also, no
3927    longer guess that Pyongyang mimicked Seoul time after World War II,
3928    as this is politically implausible.
3929
3930    Some more zones have been turned into links, when they differed
3931    from existing zones only for older timestamps.  As usual,
3932    these changes affect UT offsets in pre-1970 timestamps only.
3933    Their old contents have been moved to the 'backzone' file.
3934    The affected zones are: Africa/Addis_Ababa, Africa/Asmara,
3935    Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Kampala,
3936    Africa/Mogadishu, Indian/Antananarivo, Indian/Comoro, and
3937    Indian/Mayotte.
3938
3939  Changes affecting commentary
3940
3941    The commentary is less enthusiastic about Shanks as a source,
3942    and is more careful to distinguish UT from UTC.
3943
3944
3945Release 2014i - 2014-10-21 22:04:57 -0700
3946
3947  Changes affecting future timestamps
3948
3949    Pacific/Fiji will observe DST from 2014-11-02 02:00 to 2015-01-18 03:00.
3950    (Thanks to Ken Rylander for the heads-up.)  Guess that future
3951    years will use a similar pattern.
3952
3953    A new Zone Pacific/Bougainville, for the part of Papua New Guinea
3954    that plans to switch from UT +10 to +11 on 2014-12-28 at 02:00.
3955    (Thanks to Kiley Walbom for the heads-up.)
3956
3957  Changes affecting time zone abbreviations
3958
3959    Since Belarus is not changing its clocks even though Moscow is,
3960    the time zone abbreviation in Europe/Minsk is changing from FET
3961    to its more traditional value MSK on 2014-10-26 at 01:00.
3962    (Thanks to Alexander Bokovoy for the heads-up about Belarus.)
3963
3964    The new abbreviation IDT stands for the pre-1976 use of UT +08 in
3965    Indochina, to distinguish it better from ICT (+07).
3966
3967  Changes affecting past timestamps
3968
3969    Many timestamps have been corrected for Asia/Ho_Chi_Minh before 1976
3970    (thanks to Trần Ngọc Quân for an indirect pointer to Trần Tiến Bình's
3971    authoritative book).  Asia/Ho_Chi_Minh has been added to
3972    zone1970.tab, to give tzselect users in Vietnam two choices,
3973    since north and south Vietnam disagreed after our 1970 cutoff.
3974
3975    Asia/Phnom_Penh and Asia/Vientiane have been turned into links, as
3976    they differed from existing zones only for older timestamps.  As
3977    usual, these changes affect pre-1970 timestamps only.  Their old
3978    contents have been moved to the 'backzone' file.
3979
3980  Changes affecting code
3981
3982    The time-related library functions now set errno on failure, and
3983    some crashes in the new tzalloc-related library functions have
3984    been fixed.  (Thanks to Christos Zoulas for reporting most of
3985    these problems and for suggesting fixes.)
3986
3987    If USG_COMPAT is defined and the requested timestamp is standard time,
3988    the tz library's localtime and mktime functions now set the extern
3989    variable timezone to a value appropriate for that timestamp; and
3990    similarly for ALTZONE, daylight saving time, and the altzone variable.
3991    This change is a companion to the tzname change in 2014h, and is
3992    designed to make timezone and altzone more compatible with tzname.
3993
3994    The tz library's functions now set errno to EOVERFLOW if they fail
3995    because the result cannot be represented.  ctime and ctime_r now
3996    return NULL and set errno when a timestamp is out of range, rather
3997    than having undefined behavior.
3998
3999    Some bugs associated with the new 2014g functions have been fixed.
4000    This includes a bug that largely incapacitated the new functions
4001    time2posix_z and posix2time_z.  (Thanks to Christos Zoulas.)
4002    It also includes some uses of uninitialized variables after tzalloc.
4003    The new code uses the standard type 'ssize_t', which the Makefile
4004    now gives porting advice about.
4005
4006  Changes affecting commentary
4007
4008    Updated URLs for NRC Canada (thanks to Matt Johnson and Brian Inglis).
4009
4010
4011Release 2014h - 2014-09-25 18:59:03 -0700
4012
4013  Changes affecting past timestamps
4014
4015    America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28.
4016
4017    Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01,
4018    not 1920-01-06.  The old entry was based on a misinterpretation of Shanks.
4019
4020    Some more zones have been turned into links, when they differed
4021    from existing zones only for older timestamps.  As usual,
4022    these changes affect UT offsets in pre-1970 timestamps only.
4023    Their old contents have been moved to the 'backzone' file.
4024    The affected zones are: Africa/Blantyre, Africa/Bujumbura,
4025    Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi,
4026    Africa/Lusaka, Africa/Maseru, and Africa/Mbabane.
4027
4028  Changes affecting code
4029
4030    zdump -V and -v now output gmtoff= values on all platforms,
4031    not merely on platforms defining TM_GMTOFF.
4032
4033    The tz library's localtime and mktime functions now set tzname to a value
4034    appropriate for the requested timestamp, and zdump now uses this
4035    on platforms not defining TM_ZONE, fixing a 2014g regression.
4036    (Thanks to Tim Parenti for reporting the problem.)
4037
4038    The tz library no longer sets tzname if localtime or mktime fails.
4039
4040    zdump -c no longer mishandles transitions near year boundaries.
4041    (Thanks to Tim Parenti for reporting the problem.)
4042
4043    An access to uninitialized data has been fixed.
4044    (Thanks to Jörg Richter for reporting the problem.)
4045
4046    When THREAD_SAFE is defined, the code ports to the C11 memory model.
4047    A memory leak has been fixed if ALL_STATE and THREAD_SAFE are defined
4048    and two threads race to initialize data used by gmtime-like functions.
4049    (Thanks to Andy Heninger for reporting the problems.)
4050
4051  Changes affecting build procedure
4052
4053    'make check' now checks better for properly sorted data.
4054
4055  Changes affecting documentation and commentary
4056
4057    zdump's gmtoff=N output is now documented, and its isdst=D output
4058    is now documented to possibly output D values other than 0 or 1.
4059
4060    zdump -c's treatment of years is now documented to use the
4061    Gregorian calendar and Universal Time without leap seconds,
4062    and its behavior at cutoff boundaries is now documented better.
4063    (Thanks to Arthur David Olson and Tim Parenti for reporting the problems.)
4064
4065    Programs are now documented to use the proleptic Gregorian calendar.
4066    (Thanks to Alan Barrett for the suggestion.)
4067
4068    Fractional-second GMT offsets have been documented for civil time
4069    in 19th-century Chennai, Jakarta, and New York.
4070
4071
4072Release 2014g - 2014-08-28 12:31:23 -0700
4073
4074  Changes affecting future timestamps
4075
4076    Turks & Caicos is switching from US eastern time to UT -04
4077    year-round, modeled as a switch on 2014-11-02 at 02:00.
4078    [As noted in 2014j, this switch was later delayed.]
4079
4080  Changes affecting past timestamps
4081
4082    Time in Russia or the USSR before 1926 or so has been corrected by
4083    a few seconds in the following zones: Asia/Irkutsk,
4084    Asia/Krasnoyarsk, Asia/Omsk, Asia/Samarkand, Asia/Tbilisi,
4085    Asia/Vladivostok, Asia/Yakutsk, Europe/Riga, Europe/Samara.  For
4086    Asia/Yekaterinburg the correction is a few minutes.  (Thanks to
4087    Vladimir Karpinsky.)
4088
4089    The Portuguese decree of 1911-05-26 took effect on 1912-01-01.
4090    This affects 1911 timestamps in Africa/Bissau, Africa/Luanda,
4091    Atlantic/Azores, and Atlantic/Madeira.  Also, Lisbon's pre-1912
4092    GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32.
4093    (Thanks to Stephen Colebourne for pointing to the decree.)
4094
4095    Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.
4096
4097    A new file 'backzone' contains data which may appeal to
4098    connoisseurs of old timestamps, although it is out of scope for
4099    the tz database, is often poorly sourced, and contains some data
4100    that is known to be incorrect.  The new file is not recommended
4101    for ordinary use and its entries are not installed by default.
4102    (Thanks to Lester Caine for the high-quality Jersey, Guernsey, and
4103    Isle of Man entries.)
4104
4105    Some more zones have been turned into links, when they differed
4106    from existing zones only for older timestamps.  As usual,
4107    these changes affect UT offsets in pre-1970 timestamps only.
4108    Their old contents have been moved to the 'backzone' file.
4109    The affected zones are: Africa/Bangui, Africa/Brazzaville,
4110    Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda,
4111    Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo.
4112
4113  Changes affecting code
4114
4115    Unless NETBSD_INSPIRED is defined to 0, the tz library now
4116    supplies functions for creating and using objects that represent
4117    timezones. The new functions are tzalloc, tzfree, localtime_rz,
4118    mktime_z, and (if STD_INSPIRED is also defined) posix2time_z and
4119    time2posix_z.  They are intended for performance: for example,
4120    localtime_rz (unlike localtime_r) is trivially thread-safe without
4121    locking.  (Thanks to Christos Zoulas for proposing NetBSD-inspired
4122    functions, and to Alan Barrett and Jonathan Lennox for helping to
4123    debug the change.)
4124
4125    zdump now builds with the tz library unless USE_LTZ is defined to 0,
4126    This lets zdump use tz features even if the system library lacks them.
4127    To build zdump with the system library, use 'make CFLAGS=-DUSE_LTZ=0
4128    TZDOBJS=zdump.o CHECK_TIME_T_ALTERNATIVES='.
4129
4130    zdump now uses localtime_rz if available, as it's significantly faster,
4131    and it can help zdump better diagnose invalid timezone names.
4132    Define HAVE_LOCALTIME_RZ to 0 to suppress this.  HAVE_LOCALTIME_RZ
4133    defaults to 1 if NETBSD_INSPIRED && USE_LTZ.  When localtime_rz is
4134    not available, zdump now uses localtime_r and tzset if available,
4135    as this is a bit cleaner and faster than plain localtime.  Compile
4136    with -DHAVE_LOCALTIME_R=0 and/or -DHAVE_TZSET=0 if your system
4137    lacks these two functions.
4138
4139    If THREAD_SAFE is defined to 1, the tz library is now thread-safe.
4140    Although not needed for tz's own applications, which are single-threaded,
4141    this supports POSIX better if the tz library is used in multithreaded apps.
4142
4143    Some crashes have been fixed when zdump or the tz library is given
4144    invalid or outlandish input.
4145
4146    The tz library no longer mishandles leap seconds on platforms with
4147    unsigned time_t in timezones that lack ordinary transitions after 1970.
4148
4149    The tz code now attempts to infer TM_GMTOFF and TM_ZONE if not
4150    already defined, to make it easier to configure on common platforms.
4151    Define NO_TM_GMTOFF and NO_TM_ZONE to suppress this.
4152
4153    Unless the new macro UNINIT_TRAP is defined to 1, the tz code now
4154    assumes that reading uninitialized memory yields garbage values
4155    but does not cause other problems such as traps.
4156
4157    If TM_GMTOFF is defined and UNINIT_TRAP is 0, mktime is now
4158    more likely to guess right for ambiguous timestamps near
4159    transitions where tm_isdst does not change.
4160
4161    If HAVE_STRFTIME_L is defined to 1, the tz library now defines
4162    strftime_l for compatibility with recent versions of POSIX.
4163    Only the C locale is supported, though.  HAVE_STRFTIME_L defaults
4164    to 1 on recent POSIX versions, and to 0 otherwise.
4165
4166    tzselect -c now uses a hybrid distance measure that works better
4167    in Africa.  (Thanks to Alan Barrett for noting the problem.)
4168
4169    The C source code now ports to NetBSD when GCC_DEBUG_FLAGS is used,
4170    or when time_tz is defined.
4171
4172    When HAVE_UTMPX_H is set the 'date' command now builds on systems
4173    whose <utmpx.h> file does not define WTMPX_FILE, and when setting
4174    the date it updates the wtmpx file if _PATH_WTMPX is defined.
4175    This affects GNU/Linux and similar systems.
4176
4177    For easier maintenance later, some C code has been simplified,
4178    some lint has been removed, and the code has been tweaked so that
4179    plain 'make' is more likely to work.
4180
4181    The C type 'bool' is now used for boolean values, instead of 'int'.
4182
4183    The long-obsolete LOCALE_HOME code has been removed.
4184
4185    The long-obsolete 'gtime' function has been removed.
4186
4187  Changes affecting build procedure
4188
4189    'zdump' no longer links in ialloc.o, as it's not needed.
4190
4191    'make check_time_t_alternatives' no longer assumes GNU diff.
4192
4193  Changes affecting distribution tarballs
4194
4195    The files checktab.awk and zoneinfo2tdf.pl are now distributed in
4196    the tzdata tarball instead of the tzcode tarball, since they help
4197    maintain the data.  The NEWS and Theory files are now also
4198    distributed in the tzdata tarball, as they're relevant for data.
4199    (Thanks to Alan Barrett for pointing this out.)  Also, the
4200    leapseconds.awk file is no longer distributed in the tzcode
4201    tarball, since it belongs in the tzdata tarball (where 2014f
4202    inadvertently also distributed it).
4203
4204  Changes affecting documentation and commentary
4205
4206    A new file CONTRIBUTING is distributed.  (Thanks to Tim Parenti for
4207    suggesting a CONTRIBUTING file, and to Tony Finch and Walter Harms
4208    for debugging it.)
4209
4210    The man pages have been updated to use function prototypes,
4211    to document thread-safe variants like localtime_r, and to document
4212    the NetBSD-inspired functions tzalloc, tzfree, localtime_rz, and
4213    mktime_z.
4214
4215    The fields in Link lines have been renamed to be more descriptive
4216    and more like the parameters of 'ln'.  LINK-FROM has become TARGET,
4217    and LINK-TO has become LINK-NAME.
4218
4219    tz-link.htm mentions the IETF's tzdist working group; Windows
4220    Runtime etc. (thanks to Matt Johnson); and HP-UX's tztab.
4221
4222    Some broken URLs have been fixed in the commentary.  (Thanks to
4223    Lester Caine.)
4224
4225    Commentary about Philippines DST has been updated, and commentary
4226    on pre-1970 time in India has been added.
4227
4228
4229Release 2014f - 2014-08-05 17:42:36 -0700
4230
4231  Changes affecting future timestamps
4232
4233    Russia will subtract an hour from most of its time zones on 2014-10-26
4234    at 02:00 local time.  (Thanks to Alexander Krivenyshev.)
4235    There are a few exceptions: Magadan Oblast (Asia/Magadan) and Zabaykalsky
4236    Krai are subtracting two hours; conversely, Chukotka Autonomous Okrug
4237    (Asia/Anadyr), Kamchatka Krai (Asia/Kamchatka), Kemerovo Oblast
4238    (Asia/Novokuznetsk), and the Samara Oblast and the Udmurt Republic
4239    (Europe/Samara) are not changing their clocks.  The changed zones are
4240    Europe/Kaliningrad, Europe/Moscow, Europe/Simferopol, Europe/Volgograd,
4241    Asia/Yekaterinburg, Asia/Omsk, Asia/Novosibirsk, Asia/Krasnoyarsk,
4242    Asia/Irkutsk, Asia/Yakutsk, Asia/Vladivostok, Asia/Khandyga,
4243    Asia/Sakhalin, and Asia/Ust-Nera; Asia/Magadan will have two hours
4244    subtracted; and Asia/Novokuznetsk's time zone abbreviation is affected,
4245    but not its UTC offset.  Two zones are added: Asia/Chita (split
4246    from Asia/Yakutsk, and also with two hours subtracted) and
4247    Asia/Srednekolymsk (split from Asia/Magadan, but with only one hour
4248    subtracted).  (Thanks to Tim Parenti for much of the above.)
4249
4250  Changes affecting time zone abbreviations
4251
4252    Australian eastern time zone abbreviations are now AEST/AEDT not EST,
4253    and similarly for the other Australian zones.  That is, for eastern
4254    standard and daylight saving time the abbreviations are AEST and AEDT
4255    instead of the former EST for both; similarly, ACST/ACDT, ACWST/ACWDT,
4256    and AWST/AWDT are now used instead of the former CST, CWST, and WST.
4257    This change does not affect UT offsets, only time zone abbreviations.
4258    (Thanks to Rich Tibbett and many others.)
4259
4260    Asia/Novokuznetsk shifts from NOVT to KRAT (remaining on UT +07)
4261    effective 2014-10-26 at 02:00 local time.
4262
4263    The time zone abbreviation for Xinjiang Time (observed in Ürümqi)
4264    has been changed from URUT to XJT.  (Thanks to Luther Ma.)
4265
4266    Prefer MSK/MSD for Moscow time in Russia, even in other cities.
4267    Similarly, prefer EET/EEST for eastern European time in Russia.
4268
4269    Change time zone abbreviations in (western) Samoa to use "ST" and
4270    "DT" suffixes, as this is more likely to match common practice.
4271    Prefix "W" to (western) Samoa time when its standard-time offset
4272    disagrees with that of American Samoa.
4273
4274    America/Metlakatla now uses PST, not MeST, to abbreviate its time zone.
4275
4276    Time zone abbreviations have been updated for Japan's two time
4277    zones used 1896-1937.  JWST now stands for Western Standard
4278    Time, and JCST for Central Standard Time (formerly this was CJT).
4279    These abbreviations are now used for time in Korea, Taiwan,
4280    and Sakhalin while controlled by Japan.
4281
4282  Changes affecting past timestamps
4283
4284    China's five zones have been simplified to two, since the post-1970
4285    differences in the other three seem to have been imaginary.  The
4286    zones Asia/Harbin, Asia/Chongqing, and Asia/Kashgar have been
4287    removed; backwards-compatibility links still work, albeit with
4288    different behaviors for timestamps before May 1980.  Asia/Urumqi's
4289    1980 transition to UT +08 has been removed, so that it is now at
4290    +06 and not +08.  (Thanks to Luther Ma and to Alois Treindl;
4291    Treindl sent helpful translations of two papers by Guo Qingsheng.)
4292
4293    Some zones have been turned into links, when they differed from existing
4294    zones only for older UT offsets where data entries were likely invented.
4295    These changes affect UT offsets in pre-1970 timestamps only.  This is
4296    similar to the change in release 2013e, except this time for western
4297    Africa.  The affected zones are: Africa/Bamako, Africa/Banjul,
4298    Africa/Conakry, Africa/Dakar, Africa/Freetown, Africa/Lome,
4299    Africa/Nouakchott, Africa/Ouagadougou, Africa/Sao_Tome, and
4300    Atlantic/St_Helena.  This also affects the backwards-compatibility
4301    link Africa/Timbuktu.  (Thanks to Alan Barrett, Stephen Colebourne,
4302    Tim Parenti, and David Patte for reporting problems in earlier
4303    versions of this change.)
4304
4305    Asia/Shanghai's pre-standard-time UT offset has been changed from
4306    8:05:57 to 8:05:43, the location of Xujiahui Observatory.  Its
4307    transition to standard time has been changed from 1928 to 1901.
4308
4309    Asia/Taipei switched to JWST on 1896-01-01, then to JST on 1937-10-01,
4310    then to CST on 1945-09-21 at 01:00, and did not observe DST in 1945.
4311    In 1946 it observed DST from 05-15 through 09-30; in 1947
4312    from 04-15 through 10-31; and in 1979 from 07-01 through 09-30.
4313    (Thanks to Yu-Cheng Chuang.)
4314
4315    Asia/Riyadh's transition to standard time is now 1947-03-14, not 1950.
4316
4317    Europe/Helsinki's 1942 fall-back transition was 10-04 at 01:00, not
4318    10-03 at 00:00.  (Thanks to Konstantin Hyppönen.)
4319
4320    Pacific/Pago_Pago has been changed from UT -11:30 to -11 for the
4321    period from 1911 to 1950.
4322
4323    Pacific/Chatham has been changed to New Zealand standard time plus
4324    45 minutes for the period before 1957, reflecting a 1956 remark in
4325    the New Zealand parliament.
4326
4327    Europe/Budapest has several pre-1946 corrections: in 1918 the transition
4328    out of DST was on 09-16, not 09-29; in 1919 it was on 11-24, not 09-15; in
4329    1945 it was on 11-01, not 11-03; in 1941 the transition to DST was 04-08
4330    not 04-06 at 02:00; and there was no DST in 1920.
4331
4332    Africa/Accra is now assumed to have observed DST from 1920 through 1935.
4333
4334    Time in Russia before 1927 or so has been corrected by a few seconds in
4335    the following zones: Europe/Moscow, Asia/Irkutsk, Asia/Tbilisi,
4336    Asia/Tashkent, Asia/Vladivostok, Asia/Yekaterinburg, Europe/Helsinki, and
4337    Europe/Riga.  Also, Moscow's location has been changed to its Kilometer 0
4338    point.  (Thanks to Vladimir Karpinsky for the Moscow changes.)
4339
4340  Changes affecting data format
4341
4342    A new file 'zone1970.tab' supersedes 'zone.tab' in the installed data.
4343    The new file's extended format allows multiple country codes per zone.
4344    The older file is still installed but is deprecated; its format is
4345    not changing and it will still be distributed for a while, but new
4346    applications should use the new file.
4347
4348    The new file format simplifies maintenance of obscure locations.
4349    To test this, it adds coverage for the Crozet Islands and the
4350    Scattered Islands.  (Thanks to Tobias Conradi and Antoine Leca.)
4351
4352    The file 'iso3166.tab' is planned to switch from ASCII to UTF-8.
4353    It is still ASCII now, but commentary about the switch has been added.
4354    The new file 'zone1970.tab' already uses UTF-8.
4355
4356  Changes affecting code
4357
4358    'localtime', 'mktime', etc. now use much less stack space if ALL_STATE
4359    is defined.  (Thanks to Elliott Hughes for reporting the problem.)
4360
4361    'zic' no longer mishandles input when ignoring case in locales that
4362    are not compatible with English, e.g., unibyte Turkish locales when
4363    compiled with HAVE_GETTEXT.
4364
4365    Error diagnostics of 'zic' and 'yearistype' have been reworded so that
4366    they no longer use ASCII '-' as if it were a dash.
4367
4368    'zic' now rejects output file names that contain '.' or '..' components.
4369    (Thanks to Tim Parenti for reporting the problem.)
4370
4371    'zic -v' now warns about output file names that do not follow
4372    POSIX rules, or that contain a digit or '.'.  (Thanks to Arthur
4373    David Olson for starting the ball rolling on this.)
4374
4375    Some lint has been removed when using GCC_DEBUG_FLAGS with GCC 4.9.0.
4376
4377  Changes affecting build procedure
4378
4379    'zic' no longer links in localtime.o and asctime.o, as they're not needed.
4380    (Thanks to John Cochran.)
4381
4382  Changes affecting documentation and commentary
4383
4384    The 'Theory' file documents legacy names, the longstanding
4385    exceptions to the POSIX-inspired file name rules.
4386
4387    The 'zic' documentation clarifies the role of time types when
4388    interpreting dates.  (Thanks to Arthur David Olson.)
4389
4390    Documentation and commentary now prefer UTF-8 to US-ASCII,
4391    allowing the use of proper accents in foreign words and names.
4392    Code and data have not changed because of this.  (Thanks to
4393    Garrett Wollman, Ian Abbott, and Guy Harris for helping to debug
4394    this.)
4395
4396    Non-HTML documentation and commentary now use plain-text URLs instead of
4397    HTML insertions, and are more consistent about bracketing URLs when they
4398    are not already surrounded by white space.  (Thanks to suggestions by
4399    Steffen Nurpmeso.)
4400
4401    There is new commentary about Xujiahui Observatory, the five time-zone
4402    project in China from 1918 to 1949, timekeeping in Japanese-occupied
4403    Shanghai, and Tibet Time in the 1950s.  The sharp-eyed can spot the
4404    warlord Jin Shuren in the data.
4405
4406    Commentary about the coverage of each Russian zone has been standardized.
4407    (Thanks to Tim Parenti.)
4408
4409    There is new commentary about contemporary timekeeping in Ethiopia.
4410
4411    Obsolete comments about a 2007 proposal for DST in Kuwait has been removed.
4412
4413    There is new commentary about time in Poland in 1919.
4414
4415    Proper credit has been given to DST inventor George Vernon Hudson.
4416
4417    Commentary about time in Metlakatla, AK and Resolute, NU has been
4418    improved, with a new source for the former.
4419
4420    In zone.tab, Pacific/Easter no longer mentions Salas y Gómez, as it
4421    is uninhabited.
4422
4423    Commentary about permanent Antarctic bases has been updated.
4424
4425    Several typos have been corrected.  (Thanks to Tim Parenti for
4426    contributing some of these fixes.)
4427
4428    tz-link.htm now mentions the JavaScript libraries Moment Timezone,
4429    TimezoneJS.Date, Walltime-js, and Timezone.  (Thanks to a heads-up
4430    from Matt Johnson.)  Also, it mentions the Go 'latlong' package.
4431    (Thanks to a heads-up from Dirkjan Ochtman.)
4432
4433    The files usno1988, usno1989, usno1989a, usno1995, usno1997, and usno1998
4434    have been removed.  These obsolescent US Naval Observatory entries were no
4435    longer helpful for maintenance.  (Thanks to Tim Parenti for the suggestion.)
4436
4437
4438Release 2014e - 2014-06-12 21:53:52 -0700
4439
4440  Changes affecting near-future timestamps
4441
4442    Egypt's 2014 Ramadan-based transitions are June 26 and July 31 at 24:00.
4443    (Thanks to Imed Chihi.)  Guess that from 2015 on Egypt will temporarily
4444    switch to standard time at 24:00 the last Thursday before Ramadan, and
4445    back to DST at 00:00 the first Friday after Ramadan.
4446
4447    Similarly, Morocco's are June 28 at 03:00 and August 2 at 02:00.  (Thanks
4448    to Milamber Space Network.)  Guess that from 2015 on Morocco will
4449    temporarily switch to standard time at 03:00 the last Saturday before
4450    Ramadan, and back to DST at 02:00 the first Saturday after Ramadan.
4451
4452  Changes affecting past timestamps
4453
4454    The abbreviation "MSM" (Moscow Midsummer Time) is now used instead of
4455    "MSD" for Moscow's double daylight time in summer 1921.  Also, a typo
4456    "VLASST" has been repaired to be "VLAST" for Vladivostok summer time
4457    in 1991.  (Thanks to Hank W. for reporting the problems.)
4458
4459  Changes affecting commentary
4460
4461    tz-link.htm now cites RFC 7265 for jCal, mentions PTP and the
4462    draft CalDAV extension, updates URLs for TSP, TZInfo, IATA, and
4463    removes stale pointers to World Time Explorer and WORLDTIME.
4464
4465
4466Release 2014d - 2014-05-27 21:34:40 -0700
4467
4468  Changes affecting code
4469
4470    zic no longer generates files containing timestamps before the Big Bang.
4471    This works around GNOME glib bug 878
4472    <https://gitlab.gnome.org/GNOME/glib/issues/878>
4473    (Thanks to Leonardo Chiquitto for reporting the bug, and to
4474    Arthur David Olson and James Cloos for suggesting improvements to the fix.)
4475
4476  Changes affecting documentation
4477
4478    tz-link.htm now mentions GNOME.
4479
4480
4481Release 2014c - 2014-05-13 07:44:13 -0700
4482
4483  Changes affecting near-future timestamps
4484
4485    Egypt observes DST starting 2014-05-15 at 24:00.
4486    (Thanks to Ahmad El-Dardiry and Gunther Vermier.)
4487    Details have not been announced, except that DST will not be observed
4488    during Ramadan.  Guess that DST will stop during the same Ramadan dates as
4489    Morocco, and that Egypt's future spring and fall transitions will be the
4490    same as 2010 when it last observed DST, namely April's last Friday at
4491    00:00 to September's last Thursday at 23:00 standard time.  Also, guess
4492    that Ramadan transitions will be at 00:00 standard time.
4493
4494  Changes affecting code
4495
4496    zic now generates transitions for minimum time values, eliminating guesswork
4497    when handling low-valued timestamps.  (Thanks to Arthur David Olson.)
4498
4499    Port to Cygwin sans glibc.  (Thanks to Arthur David Olson.)
4500
4501  Changes affecting commentary and documentation
4502
4503    Remove now-confusing comment about Jordan.  (Thanks to Oleksii Nochovnyi.)
4504
4505
4506Release 2014b - 2014-03-24 21:28:50 -0700
4507
4508  Changes affecting near-future timestamps
4509
4510    Crimea switches to Moscow time on 2014-03-30 at 02:00 local time.
4511    (Thanks to Alexander Krivenyshev.)  Move its zone.tab entry from UA to RU.
4512
4513    New entry for Troll station, Antarctica.  (Thanks to Paul-Inge Flakstad and
4514    Bengt-Inge Larsson.)  This is currently an approximation; a better version
4515    will require the zic and localtime fixes mentioned below, and the plan is
4516    to wait for a while until at least the zic fixes propagate.
4517
4518  Changes affecting code
4519
4520    'zic' and 'localtime' no longer reject locations needing four transitions
4521    per year for the foreseeable future.  (Thanks to Andrew Main (Zefram).)
4522    Also, 'zic' avoids some unlikely failures due to integer overflow.
4523
4524  Changes affecting build procedure
4525
4526    'make check' now detects Rule lines defined but never used.
4527    The NZAQ rules, an instance of this problem, have been removed.
4528
4529  Changes affecting commentary and documentation
4530
4531    Fix Tuesday/Thursday typo in description of time in Israel.
4532    (Thanks to Bert Katz via Pavel Kharitonov and Mike Frysinger.)
4533
4534    Microsoft Windows 8.1 doesn't support tz database names.  (Thanks
4535    to Donald MacQueen.)  Instead, the Microsoft Windows Store app
4536    library supports them.
4537
4538    Add comments about Johnston Island time in the 1960s.
4539    (Thanks to Lyle McElhaney.)
4540
4541    Morocco's 2014 DST start will be as predicted.
4542    (Thanks to Sebastien Willemijns.)
4543
4544
4545Release 2014a - 2014-03-07 23:30:29 -0800
4546
4547  Changes affecting near-future timestamps
4548
4549    Turkey begins DST on 2014-03-31, not 03-30.  (Thanks to Faruk Pasin for
4550    the heads-up, and to Tim Parenti for simplifying the update.)
4551
4552  Changes affecting past timestamps
4553
4554    Fiji ended DST on 2014-01-19 at 02:00, not the previously scheduled 03:00.
4555    (Thanks to Steffen Thorsen.)
4556
4557    Ukraine switched from Moscow to Eastern European time on 1990-07-01
4558    (not 1992-01-01), and observed DST during the entire next winter.
4559    (Thanks to Vladimir in Moscow via Alois Treindl.)
4560
4561    In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to 09-03.
4562    (Thanks to Avigdor Finkelstein.)
4563
4564  Changes affecting code
4565
4566    A uninitialized-storage bug in 'localtime' has been fixed.
4567    (Thanks to Logan Chien.)
4568
4569  Changes affecting the build procedure
4570
4571    The settings for 'make check_web' now default to Ubuntu 13.10.
4572
4573  Changes affecting commentary and documentation
4574
4575    The boundary of the US Pacific time zone is given more accurately.
4576    (Thanks to Alan Mintz.)
4577
4578    Chile's 2014 DST will be as predicted.  (Thanks to José Miguel Garrido.)
4579
4580    Paraguay's 2014 DST will be as predicted.  (Thanks to Carlos Raúl Perasso.)
4581
4582    Better descriptions of countries with same time zone history as
4583    Trinidad and Tobago since 1970.  (Thanks to Alan Barrett for suggestion.)
4584
4585    Several changes affect tz-link.htm, the main web page.
4586
4587      Mention Time.is (thanks to Even Scharning) and WX-now (thanks to
4588      David Braverman).
4589
4590      Mention xCal (Internet RFC 6321) and jCal.
4591
4592      Microsoft has some support for tz database names.
4593
4594      CLDR data formats include both XML and JSON.
4595
4596      Mention Maggiolo's map of solar vs standard time.
4597      (Thanks to Arthur David Olson.)
4598
4599      Mention TZ4Net.  (Thanks to Matt Johnson.)
4600
4601      Mention the timezone-olson Haskell package.
4602
4603      Mention zeitverschiebung.net.  (Thanks to Martin Jäger.)
4604
4605      Remove moribund links to daylight-savings-time.info and to
4606      Simple Timer + Clocks.
4607
4608      Update two links.  (Thanks to Oscar van Vlijmen.)
4609
4610      Fix some formatting glitches, e.g., remove random newlines from
4611      abbr elements' title attributes.
4612
4613
4614Release 2013i - 2013-12-17 07:25:23 -0800
4615
4616  Changes affecting near-future timestamps:
4617
4618    Jordan switches back to standard time at 00:00 on December 20, 2013.
4619    The 2006-2011 transition schedule is planned to resume in 2014.
4620    (Thanks to Steffen Thorsen.)
4621
4622  Changes affecting past timestamps:
4623
4624    In 2004, Cuba began DST on March 28, not April 4.
4625    (Thanks to Steffen Thorsen.)
4626
4627  Changes affecting code
4628
4629    The compile-time flag NOSOLAR has been removed, as nowadays the
4630    benefit of slightly shrinking runtime table size is outweighed by the
4631    cost of disallowing potential future updates that exceed old limits.
4632
4633  Changes affecting documentation and commentary
4634
4635    The files solar87, solar88, and solar89 are no longer distributed.
4636    They were a negative experiment - that is, a demonstration that
4637    tz data can represent solar time only with some difficulty and error.
4638    Their presence in the distribution caused confusion, as Riyadh
4639    civil time was generally not solar time in those years.
4640
4641    tz-link.htm now mentions Noda Time.  (Thanks to Matt Johnson.)
4642
4643
4644Release 2013h - 2013-10-25 15:32:32 -0700
4645
4646  Changes affecting current and future timestamps:
4647
4648    Libya has switched its UT offset back to +02 without DST, instead
4649    of +01 with DST.  (Thanks to Even Scharning.)
4650
4651    Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.
4652    (Thanks to Gwillim Law.)
4653
4654  Changes affecting future timestamps:
4655
4656    Acre and (we guess) western Amazonas will switch from UT -04 to -05
4657    on 2013-11-10.  This affects America/Rio_Branco and America/Eirunepe.
4658    (Thanks to Steffen Thorsen.)
4659
4660    Add entries for DST transitions in Morocco in the year 2038.
4661    This avoids some year-2038 glitches introduced in 2013g.
4662    (Thanks to Yoshito Umaoka for reporting the problem.)
4663
4664  Changes affecting API
4665
4666    The 'tzselect' command no longer requires the 'select' command,
4667    and should now work with /bin/sh on more platforms.  It also works
4668    around a bug in BusyBox awk before version 1.21.0.  (Thanks to
4669    Patrick 'P. J.' McDermott and Alan Barrett.)
4670
4671  Changes affecting code
4672
4673    Fix localtime overflow bugs with 32-bit unsigned time_t.
4674
4675    zdump no longer assumes sscanf returns maximal values on overflow.
4676
4677  Changes affecting the build procedure
4678
4679    The builder can specify which programs to use, if any, instead of
4680    'ar' and 'ranlib', and libtz.a is now built locally before being
4681    installed.  (Thanks to Michael Forney.)
4682
4683    A dependency typo in the 'zdump' rule has been fixed.
4684    (Thanks to Andrew Paprocki.)
4685
4686    The Makefile has been simplified by assuming that 'mkdir -p' and 'cp -f'
4687    work as specified by POSIX.2-1992 or later; this is portable nowadays.
4688
4689    'make clean' no longer removes 'leapseconds', since it's
4690    host-independent and is part of the distribution.
4691
4692    The unused makefile macros TZCSRCS, TZDSRCS, DATESRCS have been removed.
4693
4694  Changes affecting documentation and commentary
4695
4696    tz-link.htm now mentions TC TIMEZONE's draft time zone service protocol
4697    (thanks to Mike Douglass) and TimezoneJS.Date (thanks to Jim Fehrle).
4698
4699    Update URLs in tz-link page.  Add URLs for Microsoft Windows, since
4700    8.1 introduces tz support.  Remove URLs for Tru64 and UnixWare (no
4701    longer maintained) and for old advisories.  SOFA now does C.
4702
4703Release 2013g - 2013-09-30 21:08:26 -0700
4704
4705  Changes affecting current and near-future timestamps
4706
4707    Morocco now observes DST from the last Sunday in March to the last
4708    Sunday in October, not April to September respectively.  (Thanks
4709    to Steffen Thorsen.)
4710
4711  Changes affecting 'zic'
4712
4713    'zic' now runs on platforms that lack both hard links and symlinks.
4714    (Thanks to Theo Veenker for reporting the problem, for MinGW.)
4715    Also, fix some bugs on platforms that lack hard links but have symlinks.
4716
4717    'zic -v' again warns that Asia/Tehran has no POSIX environment variable
4718    to predict the far future, fixing a bug introduced in 2013e.
4719
4720  Changes affecting the build procedure
4721
4722    The 'leapseconds' file is again put into the tzdata tarball.
4723    Also, 'leapseconds.awk', so tzdata is self-contained.  (Thanks to
4724    Matt Burgess and Ian Abbott.)  The timestamps of these and other
4725    dependent files in tarballs are adjusted more consistently.
4726
4727  Changes affecting documentation and commentary
4728
4729    The README file is now part of the data tarball as well as the code.
4730    It now states that files are public domain unless otherwise specified.
4731    (Thanks to Andrew Main (Zefram) for asking for clarifications.)
4732    Its details about the 1989 release moved to a place of honor near
4733    the end of NEWS.
4734
4735
4736Release 2013f - 2013-09-24 23:37:36 -0700
4737
4738  Changes affecting near-future timestamps
4739
4740    Tocantins will very likely not observe DST starting this spring.
4741    (Thanks to Steffen Thorsen.)
4742
4743    Jordan will likely stay at UT +03 indefinitely, and will not fall
4744    back this fall.
4745
4746    Palestine will fall back at 00:00, not 01:00.  (Thanks to Steffen Thorsen.)
4747
4748  Changes affecting API
4749
4750    The types of the global variables 'timezone' and 'altzone' (if present)
4751    have been changed back to 'long'.  This is required for 'timezone'
4752    by POSIX, and for 'altzone' by common practice, e.g., Solaris 11.
4753    These variables were originally 'long' in the tz code, but were
4754    mistakenly changed to 'time_t' in 1987; nobody reported the
4755    incompatibility until now.  The difference matters on x32, where
4756    'long' is 32 bits and 'time_t' is 64.  (Thanks to Elliott Hughes.)
4757
4758  Changes affecting the build procedure
4759
4760    Avoid long strings in leapseconds.awk to work around a mawk bug.
4761    (Thanks to Cyril Baurand.)
4762
4763  Changes affecting documentation and commentary
4764
4765    New file 'NEWS' that contains release notes like this one.
4766
4767    Paraguay's law does not specify DST transition time; 00:00 is customary.
4768    (Thanks to Waldemar Villamayor-Venialbo.)
4769
4770    Minor capitalization fixes.
4771
4772  Changes affecting version-control only
4773
4774    The experimental GitHub repository now contains annotated and
4775    signed tags for recent releases, e.g., '2013e' for Release 2013e.
4776    Releases are tagged starting with 2012e; earlier releases were
4777    done differently, and tags would either not have a simple name or
4778    not exactly match what was released.
4779
4780    'make set-timestamps' is now simpler and a bit more portable.
4781
4782
4783Release 2013e - 2013-09-19 23:50:04 -0700
4784
4785  Changes affecting near-future timestamps
4786
4787    This year Fiji will start DST on October 27, not October 20.
4788    (Thanks to David Wheeler for the heads-up.)  For now, guess that
4789    Fiji will continue to spring forward the Sunday before the fourth
4790    Monday in October.
4791
4792  Changes affecting current and future time zone abbreviations
4793
4794    Use WIB/WITA/WIT rather than WIT/CIT/EIT for alphabetic Indonesian
4795    time zone abbreviations since 1932.  (Thanks to George Ziegler,
4796    Priyadi Iman Nurcahyo, Zakaria, Jason Grimes, Martin Pitt, and
4797    Benny Lin.)  This affects Asia/Dili, Asia/Jakarta, Asia/Jayapura,
4798    Asia/Makassar, and Asia/Pontianak.
4799
4800    Use ART (UT -03, standard time), rather than WARST (also -03, but
4801    daylight saving time) for San Luis, Argentina since 2009.
4802
4803  Changes affecting Godthåb timestamps after 2037 if version mismatch
4804
4805    Allow POSIX-like TZ strings where the transition time's hour can
4806    range from -167 through 167, instead of the POSIX-required 0
4807    through 24.  E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the
4808    new Fiji rules.  This is a more compact way to represent
4809    far-future timestamps for America/Godthab, America/Santiago,
4810    Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem,
4811    Pacific/Easter, and Pacific/Fiji.  Other zones are unaffected by
4812    this change.  (Derived from a suggestion by Arthur David Olson.)
4813
4814    Allow POSIX-like TZ strings where daylight saving time is in
4815    effect all year.  E.g., TZ='WART4WARST,J1/0,J365/25' for Western
4816    Argentina Summer Time all year.  This supports a more compact way
4817    to represent the 2013d data for America/Argentina/San_Luis.
4818    Because of the change for San Luis noted above this change does not
4819    affect the current data.  (Thanks to Andrew Main (Zefram) for
4820    suggestions that improved this change.)
4821
4822    Where these two TZ changes take effect, there is a minor extension
4823    to the tz file format in that it allows new values for the
4824    embedded TZ-format string, and the tz file format version number
4825    has therefore been increased from 2 to 3 as a precaution.
4826    Version-2-based client code should continue to work as before for
4827    all timestamps before 2038.  Existing version-2-based client code
4828    (tzcode, GNU/Linux, Solaris) has been tested on version-3-format
4829    files, and typically works in practice even for timestamps after
4830    2037; the only known exception is America/Godthab.
4831
4832  Changes affecting timestamps before 1970
4833
4834    Pacific/Johnston is now a link to Pacific/Honolulu.  This corrects
4835    some errors before 1947.
4836
4837    Some zones have been turned into links, when they differ from existing
4838    zones only in older data entries that were likely invented or that
4839    differ only in LMT or transitions from LMT.  These changes affect
4840    only timestamps before 1943.  The affected zones are:
4841    Africa/Juba, America/Anguilla, America/Aruba, America/Dominica,
4842    America/Grenada, America/Guadeloupe, America/Marigot,
4843    America/Montserrat, America/St_Barthelemy, America/St_Kitts,
4844    America/St_Lucia, America/St_Thomas, America/St_Vincent,
4845    America/Tortola, and Europe/Vaduz.  (Thanks to Alois Treindl for
4846    confirming that the old Europe/Vaduz zone was wrong and the new
4847    link is better for WWII-era times.)
4848
4849    Change Kingston Mean Time from -5:07:12 to -5:07:11.  This affects
4850    America/Cayman, America/Jamaica and America/Grand_Turk timestamps
4851    from 1890 to 1912.
4852
4853    Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46.
4854    This affects Europe/Zurich timestamps from 1853 to 1894.  (Thanks
4855    to Alois Treindl.)
4856
4857    Change the date of the circa-1850 Zurich transition from 1849-09-12
4858    to 1853-07-16, overriding Shanks with data from Messerli about
4859    postal and telegraph time in Switzerland.
4860
4861  Changes affecting time zone abbreviations before 1970
4862
4863    For Asia/Jakarta, use BMT (not JMT) for mean time from 1923 to 1932,
4864    as Jakarta was called Batavia back then.
4865
4866  Changes affecting API
4867
4868    The 'zic' command now outputs a dummy transition when far-future
4869    data can't be summarized using a TZ string, and uses a 402-year
4870    window rather than a 400-year window.  For the current data, this
4871    affects only the Asia/Tehran file.  It does not affect any of the
4872    timestamps that this file represents, so zdump outputs the same
4873    information as before.  (Thanks to Andrew Main (Zefram).)
4874
4875    The 'date' command has a new '-r' option, which lets you specify
4876    the integer time to display, a la FreeBSD.
4877
4878    The 'tzselect' command has two new options '-c' and '-n', which lets you
4879    select a zone based on latitude and longitude.
4880
4881    The 'zic' command's '-v' option now warns about constructs that
4882    require the new version-3 binary file format.  (Thanks to Arthur
4883    David Olson for the suggestion.)
4884
4885    Support for floating-point time_t has been removed.
4886    It was always dicey, and POSIX no longer requires it.
4887    (Thanks to Eric Blake for suggesting to the POSIX committee to
4888    remove it, and thanks to Alan Barrett, Clive D.W. Feather, Andy
4889    Heninger, Arthur David Olson, and Alois Treindl, for reporting
4890    bugs and elucidating some of the corners of the old floating-point
4891    implementation.)
4892
4893    The signatures of 'offtime', 'timeoff', and 'gtime' have been
4894    changed back to the old practice of using 'long' to represent UT
4895    offsets.  This had been inadvertently and mistakenly changed to
4896    'int_fast32_t'.  (Thanks to Christos Zoulas.)
4897
4898    The code avoids undefined behavior on integer overflow in some
4899    more places, including gmtime, localtime, mktime and zdump.
4900
4901  Changes affecting the zdump utility
4902
4903    zdump now outputs "UT" when referring to Universal Time, not "UTC".
4904    "UTC" does not make sense for timestamps that predate the introduction
4905    of UTC, whereas "UT", a more generic term, does.  (Thanks to Steve Allen
4906    for clarifying UT vs UTC.)
4907
4908  Data changes affecting behavior of tzselect and similar programs
4909
4910    Country code BQ is now called the more common name "Caribbean Netherlands"
4911    rather than the more official "Bonaire, St Eustatius & Saba".
4912
4913    Remove from zone.tab the names America/Montreal, America/Shiprock,
4914    and Antarctica/South_Pole, as they are equivalent to existing
4915    same-country-code zones for post-1970 timestamps.  The data entries for
4916    these names are unchanged, so the names continue to work as before.
4917
4918  Changes affecting code internals
4919
4920    zic -c now runs way faster on 64-bit hosts when given large numbers.
4921
4922    zic now uses vfprintf to avoid allocating and freeing some memory.
4923
4924    tzselect now computes the list of continents from the data,
4925    rather than have it hard-coded.
4926
4927    Minor changes pacify GCC 4.7.3 and GCC 4.8.1.
4928
4929  Changes affecting the build procedure
4930
4931    The 'leapseconds' file is now generated automatically from a
4932    new file 'leap-seconds.list', which is a copy of
4933    <ftp://ftp.nist.gov/pub/time/leap-seconds.list>
4934    A new source file 'leapseconds.awk' implements this.
4935    The goal is simplification of the future maintenance of 'leapseconds'.
4936
4937    When building the 'posix' or 'right' subdirectories, if the
4938    subdirectory would be a copy of the default subdirectory, it is
4939    now made a symbolic link if that is supported.  This saves about
4940    2 MB of file system space.
4941
4942    The links America/Shiprock and Antarctica/South_Pole have been
4943    moved to the 'backward' file.  This affects only nondefault builds
4944    that omit 'backward'.
4945
4946  Changes affecting version-control only
4947
4948    .gitignore now ignores 'date'.
4949
4950  Changes affecting documentation and commentary
4951
4952    Changes to the 'tzfile' man page
4953
4954      It now mentions that the binary file format may be extended in
4955      future versions by appending data.
4956
4957      It now refers to the 'zdump' and 'zic' man pages.
4958
4959    Changes to the 'zic' man page
4960
4961      It lists conditions that elicit a warning with '-v'.
4962
4963      It says that the behavior is unspecified when duplicate names
4964      are given, or if the source of one link is the target of another.
4965
4966      Its examples are updated to match the latest data.
4967
4968      The definition of white space has been clarified slightly.
4969      (Thanks to Michael Deckers.)
4970
4971    Changes to the 'Theory' file
4972
4973      There is a new section about the accuracy of the tz database,
4974      describing the many ways that errors can creep in, and
4975      explaining why so many of the pre-1970 timestamps are wrong or
4976      misleading (thanks to Steve Allen, Lester Caine, and Garrett
4977      Wollman for discussions that contributed to this).
4978
4979      The 'Theory' file describes LMT better (this follows a
4980      suggestion by Guy Harris).
4981
4982      It refers to the 2013 edition of POSIX rather than the 2004 edition.
4983
4984      It's mentioned that excluding 'backward' should not affect the
4985      other data, and it suggests at least one zone.tab name per
4986      inhabited country (thanks to Stephen Colebourne).
4987
4988      Some longstanding restrictions on names are documented, e.g.,
4989      'America/New_York' precludes 'America/New_York/Bronx'.
4990
4991      It gives more reasons for the 1970 cutoff.
4992
4993      It now mentions which time_t variants are supported, such as
4994      signed integer time_t.  (Thanks to Paul Goyette for reporting
4995      typos in an experimental version of this change.)
4996
4997      (Thanks to Philip Newton for correcting typos in these changes.)
4998
4999    Documentation and commentary is more careful to distinguish UT in
5000    general from UTC in particular.  (Thanks to Steve Allen.)
5001
5002    Add a better source for the Zurich 1894 transition.
5003    (Thanks to Pierre-Yves Berger.)
5004
5005    Update shapefile citations in tz-link.htm.  (Thanks to Guy Harris.)
5006
5007
5008Release 2013d - 2013-07-05 07:38:01 -0700
5009
5010  Changes affecting future timestamps:
5011
5012    Morocco's midsummer transitions this year are July 7 and August 10,
5013    not July 9 and August 8.  (Thanks to Andrew Paprocki.)
5014
5015    Israel now falls back on the last Sunday of October.
5016    (Thanks to Ephraim Silverberg.)
5017
5018  Changes affecting past timestamps:
5019
5020    Specify Jerusalem's location more precisely; this changes the pre-1880
5021    times by 2 s.
5022
5023  Changing affecting metadata only:
5024
5025    Fix typos in the entries for country codes BQ and SX.
5026
5027  Changes affecting code:
5028
5029    Rework the code to fix a bug with handling Australia/Macquarie on
5030    32-bit hosts (thanks to Arthur David Olson).
5031
5032    Port to platforms like NetBSD, where time_t can be wider than long.
5033
5034    Add support for testing time_t types other than the system's.
5035    Run 'make check_time_t_alternatives' to try this out.
5036    Currently, the tests fail for unsigned time_t;
5037    this should get fixed at some point.
5038
5039  Changes affecting documentation and commentary:
5040
5041    Deemphasize the significance of national borders.
5042
5043    Update the zdump man page.
5044
5045    Remove obsolete NOID comment (thanks to Denis Excoffier).
5046
5047    Update several URLs and comments in the web pages.
5048
5049    Spelling fixes (thanks to Kevin Lyda and Jonathan Leffler).
5050
5051    Update URL for CLDR Zone->Tzid table (thanks to Yoshito Umaoka).
5052
5053
5054Release 2013c - 2013-04-19 16:17:40 -0700
5055
5056  Changes affecting current and future timestamps:
5057
5058    Palestine observed DST starting March 29, 2013.  (Thanks to
5059    Steffen Thorsen.)  From 2013 on, Gaza and Hebron both observe DST,
5060    with the predicted rules being the last Thursday in March at 24:00
5061    to the first Friday on or after September 21 at 01:00.
5062
5063    Assume that the recent change to Paraguay's DST rules is permanent,
5064    by moving the end of DST to the 4th Sunday in March every year.
5065    (Thanks to Carlos Raúl Perasso.)
5066
5067  Changes affecting past timestamps:
5068
5069    Fix some historical data for Palestine to agree with that of
5070    timeanddate.com, as follows:
5071
5072	  The spring 2008 change in Gaza and Hebron was on 00:00 Mar 28, not
5073	  00:00 Apr 1.
5074
5075	  The fall 2009 change in Gaza and Hebron on Sep 4 was at 01:00, not
5076	  02:00.
5077
5078	  The spring 2010 change in Hebron was 00:00 Mar 26, not 00:01 Mar 27.
5079
5080	  The spring 2011 change in Gaza was 00:01 Apr 1, not 12:01 Apr 2.
5081
5082	  The spring 2011 change in Hebron on Apr 1 was at 00:01, not 12:01.
5083
5084	  The fall 2011 change in Hebron on Sep 30 was at 00:00, not 03:00.
5085
5086    Fix times of habitation for Macquarie to agree with the Tasmania
5087    Parks & Wildlife Service history, which indicates that permanent
5088    habitation was 1899-1919 and 1948 on.
5089
5090  Changing affecting metadata only:
5091
5092    Macquarie Island is politically part of Australia, not Antarctica.
5093    (Thanks to Tobias Conradi.)
5094
5095    Sort Macquarie more consistently with other parts of Australia.
5096    (Thanks to Tim Parenti.)
5097
5098
5099Release 2013b - 2013-03-10 22:33:40 -0700
5100
5101  Changes affecting current and future timestamps:
5102
5103    Haiti uses US daylight-saving rules this year, and presumably future years.
5104    This changes timestamps starting today.  (Thanks to Steffen Thorsen.)
5105
5106    Paraguay will end DST on March 24 this year.
5107    (Thanks to Steffen Thorsen.)  For now, assume it's just this year.
5108
5109    Morocco does not observe DST during Ramadan;
5110    try to predict Ramadan in Morocco as best we can.
5111    (Thanks to Erik Homoet for the heads-up.)
5112
5113  Changes affecting commentary:
5114
5115    Update URLs in tz-link page.  Add URLs for webOS, BB10, iOS.
5116    Update URL for Solaris.  Mention Internet RFC 6557.
5117    Update Internet RFCs 2445->5545, 2822->5322.
5118    Switch from FTP to HTTP for Internet RFCs.
5119
5120
5121Release 2013a - 2013-02-27 09:20:35 -0800
5122
5123  Change affecting binary data format:
5124
5125    The zone offset at the end of version-2-format zone files is now
5126    allowed to be 24:00, as per POSIX.1-2008.  (Thanks to Arthur David Olson.)
5127
5128  Changes affecting current and future timestamps:
5129
5130    Chile's 2013 rules, and we guess rules for 2014 and later, will be
5131    the same as 2012, namely Apr Sun>=23 03:00 UTC to Sep Sun>=2 04:00 UTC.
5132    (Thanks to Steffen Thorsen and Robert Elz.)
5133
5134    New Zones Asia/Khandyga, Asia/Ust-Nera, Europe/Busingen.
5135    (Thanks to Tobias Conradi and Arthur David Olson.)
5136
5137  Many changes affect historical timestamps before 1940.
5138  These were deduced from: Milne J. Civil time. Geogr J. 1899
5139  Feb;13(2):173-94 <https://www.jstor.org/stable/1774359>.
5140
5141  Changes affecting the code:
5142
5143    Fix zic bug that mishandled Egypt's 2010 changes (this also affected
5144    the data).  (Thanks to Arthur David Olson.)
5145
5146    Fix localtime bug when time_t is unsigned and data files were generated
5147    by a signed time_t system.  (Thanks to Doug Bailey for reporting and
5148    to Arthur David Olson for fixing.)
5149
5150    Allow the email address for bug reports to be set by the packager.
5151    The default is tz@iana.org, as before.  (Thanks to Joseph S. Myers.)
5152
5153    Update HTML checking to be compatible with Ubuntu 12.10.
5154
5155    Check that files are a safe subset of ASCII.  At some point we may
5156    relax this requirement to a safe subset of UTF-8.  Without the
5157    check, some non-UTF-8 encodings were leaking into the distribution.
5158
5159  Commentary changes:
5160
5161    Restore a comment about copyright notices that was inadvertently deleted.
5162    (Thanks to Arthur David Olson.)
5163
5164    Improve the commentary about which districts observe what times
5165    in Russia.  (Thanks to Oscar van Vlijmen and Arthur David Olson.)
5166
5167    Add web page links to tz.js.
5168
5169    Add "Run by the Monkeys" to tz-art.  (Thanks to Arthur David Olson.)
5170
5171
5172Release 2012j - 2012-11-12 18:34:49 -0800
5173
5174  Libya moved to CET this weekend, but with DST planned next year.
5175  (Thanks to Even Scharning, Steffen Thorsen, and Tim Parenti.)
5176
5177  Signatures now have the extension .asc, not .sign, as that's more
5178  standard.  (Thanks to Phil Pennock.)
5179
5180  The output of 'zdump --version', and of 'zic --version', now
5181  uses a format that is more typical for --version.
5182  (Thanks to Joseph S. Myers.)
5183
5184  The output of 'tzselect --help', 'zdump --help', and 'zic --help'
5185  now uses tz@iana.org rather than the old elsie address.
5186
5187  zic -v now complains about abbreviations that are less than 3
5188  or more than 6 characters, as per POSIX.  Formerly, it checked
5189  for abbreviations that were more than 3.
5190
5191  'make public' no longer puts its temporary directory under /tmp,
5192  and uses the just-built zic rather than the system zic.
5193
5194  Various fixes to documentation and commentary.
5195
5196
5197Release 2012i - 2012-11-03 12:57:09 -0700
5198
5199  Cuba switches from DST tomorrow at 01:00.  (Thanks to Steffen Thorsen.)
5200
5201  Linker flags can now be specified via LDFLAGS.
5202  AWK now defaults to 'awk', not 'nawk'.
5203  The shell in tzselect now defaults to /bin/bash, but this can
5204  be overridden by specifying KSHELL.
5205  The main web page now mentions the unofficial GitHub repository.
5206  (Thanks to Mike Frysinger.)
5207
5208  Tarball signatures can now be built by running 'make signatures'.
5209  There are also new makefile rules 'tarballs', 'check_public', and
5210  separate makefile rules for each tarball and signature file.
5211  A few makefile rules are now more portable to strict POSIX.
5212
5213  The main web page now lists the canonical IANA URL.
5214
5215
5216Release 2012h - 2012-10-26 22:49:10 -0700
5217
5218  Bahia no longer has DST.  (Thanks to Kelley Cook.)
5219
5220  Tocantins has DST.  (Thanks to Rodrigo Severo.)
5221
5222  Israel has new DST rules next year.  (Thanks to Ephraim Silverberg.)
5223
5224  Jordan stays on DST this winter.  (Thanks to Steffen Thorsen.)
5225
5226  Web page updates.
5227
5228  More C modernization, except that at Arthur David Olson's suggestion
5229  the instances of 'register' were kept.
5230
5231
5232Release 2012g - 2012-10-17 20:59:45 -0700
5233
5234  Samoa fall 2012 and later.  (Thanks to Nicholas Pereira and Robert Elz.)
5235
5236  Palestine fall 2012.  (Thanks to Steffen Thorsen.)
5237
5238  Assume C89.
5239
5240  To attack the version-number problem, this release ships the file
5241  'Makefile' (which contains the release number) in both the tzcode and
5242  the tzdata tarballs.  The two Makefiles are identical, and should be
5243  identical in any matching pair of tarballs, so it shouldn't matter
5244  which order you extract the tarballs.  Perhaps we can come up with a
5245  better version-number scheme at some point; this scheme does have the
5246  virtue of not adding more files.
5247
5248
5249Release 2012f - 2012-09-12 23:17:03 -0700
5250
5251  * australasia (Pacific/Fiji): Fiji DST is October 21 through January
5252    20 this year.  (Thanks to Steffen Thorsen.)
5253
5254
5255Release 2012e - 2012-08-02 20:44:55 -0700
5256
5257  * australasia (Pacific/Fakaofo): Tokelau is UT +13, not +14.
5258    (Thanks to Steffen Thorsen.)
5259
5260  * Use a single version number for both code and data.
5261
5262  * .gitignore: New file.
5263
5264  * Remove trailing white space.
5265
5266
5267Release code2012c-data2012d - 2012-07-19 16:35:33 -0700
5268
5269  Changes for Morocco's timestamps, which take effect in a couple of
5270  hours, along with infrastructure changes to accommodate how the tz
5271  code and data are released on IANA.
5272
5273
5274Release data2012c - 2012-03-27 12:17:25 -0400
5275
5276  africa
5277	Summer time changes for Morocco (to start late April 2012)
5278
5279  asia
5280	Changes for 2012 for Gaza & the West Bank (Hebron) and Syria
5281
5282  northamerica
5283	Haiti following US/Canada rules for 2012 (and we're assuming,
5284	for now anyway, for the future).
5285
5286
5287Release 2012b - 2012-03-02 12:29:15 +0700
5288
5289  There is just one change to tzcode2012b (compared with 2012a):
5290  the Makefile that was accidentally included with 2012a has been
5291  replaced with the version that should have been there, which is
5292  identical with the previous version (from tzcode2011i).
5293
5294  There are just two changes in tzdata2012b compared with 2012a.
5295
5296  Most significantly, summer time in Cuba has been delayed 3 weeks
5297  (now starts April 1 rather than March 11).   Since Mar 11 (the old start
5298  date, as listed in 2012a) is just a little over a week away, this
5299  change is urgent.
5300
5301  Less importantly, an excess tab in one of the changes in zone.tab
5302  in 2012a has been removed.
5303
5304
5305Release 2012a - 2012-03-01 18:28:10 +0700
5306
5307  The changes in tzcode2012a (compared to the previous version, 2011i)
5308  are entirely to the README and tz-art.htm and tz-link.htm files, if
5309  none of those concern you, you can ignore the code update.  The changes
5310  reflect the changed addresses for the mailing list and the code and
5311  data distribution points & methods (and a link to DateTime::TimeZone::Tzfile
5312  has been added to tz-link.htm).
5313
5314  In tzdata2012a (compared to the previous release, which was 2011n)
5315  the major changes are:
5316	Chile 2011/2012 and 2012/2013 summer time date adjustments.
5317	Falkland Islands onto permanent summer time (we're assuming for the
5318		foreseeable future, though 2012 is all we're fairly certain of.)
5319	Armenia has abolished Summer Time.
5320	Tokelau jumped the International Date Line back last December
5321		(just the same as their near neighbour, Samoa).
5322	America/Creston is a new zone for a small area of British Columbia
5323	There will be a leapsecond 2012-06-30 23:59:60 UTC.
5324
5325  Other minor changes are:
5326	Corrections to 1918 Canadian summer time end dates.
5327	Updated URL for UK time zone history (in comments)
5328	A few typos in Le Corre's list of free French place names (comments)
5329
5330
5331Release data2011n - 2011-10-30 14:57:54 +0700
5332
5333  There are three changes of note - most urgently, Cuba (America/Havana)
5334  has extended summer time by two weeks, now to end on Nov 13, rather than
5335  the (already past) Oct 30.   Second, the Pridnestrovian Moldavian Republic
5336  (Europe/Tiraspol) decided not to split from the rest of Moldova after
5337  all, and consequently that zone has been removed (again) and reinstated
5338  in the "backward" file as a link to Europe/Chisinau.   And third, the
5339  end date for Fiji's summer time this summer was moved forward from the
5340  earlier planned Feb 26, to Jan 22.
5341
5342  Apart from that, Moldova (MD) returns to a single entry in zone.tab
5343  (and the incorrect syntax that was in the 2011m version of that file
5344  is so fixed - it would have been fixed in a different way had this
5345  change not happened - that's the "missing" sccs version id).
5346
5347
5348Release data2011m - 2011-10-24 21:42:16 +0700
5349
5350  In particular, the typos in comments in the data (2011-11-17 should have
5351  been 2011-10-17 as Alan Barrett noted, and spelling of Tiraspol that
5352  Tim Parenti noted) have been fixed, and the change for Ukraine has been
5353  made in all 4 Ukrainian zones, rather than just Europe/Kiev
5354  (again, thanks to Tim Parenti, and also Denys Gavrysh).
5355
5356  In addition, I added Europe/Tiraspol to zone.tab.
5357
5358  This time, all the files have new version numbers...  (including the files
5359  otherwise unchanged in 2011m that were changed in 2011l but didn't get new
5360  version numbers there...)
5361
5362
5363Release data2011l - 2011-10-10 11:15:43 +0700
5364
5365  There are just 2 changes that cause different generated tzdata files from
5366  zic, to Asia/Hebron and Pacific/Fiji - the possible change for Bahia, Brazil
5367  is included, but commented out.  Compared with the diff I sent out last week,
5368  this version also includes attributions for the sources for the changes
5369  (in much the same format as ado used, but the html tags have not been
5370  checked, verified, or used in any way at all, so if there are errors there,
5371  please let me know.)
5372
5373
5374Release data2011k - 2011-09-20 17:54:03 -0400
5375
5376  [not summarized]
5377
5378
5379Release data2011j - 2011-09-12 09:22:49 -0400
5380
5381  (contemporary changes for Samoa; past changes for Kenya, Uganda, and
5382  Tanzania); there are also two spelling corrections to comments in
5383  the australasia file (with thanks to Christos Zoulas).
5384
5385
5386Release 2011i - 2011-08-29 05:56:32 -0400
5387
5388  [not summarized]
5389
5390
5391Release data2011h - 2011-06-15 18:41:48 -0400
5392
5393  Russia and Curaçao changes
5394
5395
5396Release 2011g - 2011-04-25 09:07:22 -0400
5397
5398  update the rules for Egypt to reflect its abandonment of DST this year
5399
5400
5401Release 2011f - 2011-04-06 17:14:53 -0400
5402
5403  [not summarized]
5404
5405
5406Release 2011e - 2011-03-31 16:04:38 -0400
5407
5408  Morocco, Chile, and tz-link changes
5409
5410
5411Release 2011d - 2011-03-14 09:18:01 -0400
5412
5413  changes that impact present-day timestamps in Cuba, Samoa, and Turkey
5414
5415
5416Release 2011c - 2011-03-07 09:30:09 -0500
5417
5418  These do affect current timestamps in Chile and Annette Island, Canada.
5419
5420
5421Release 2011b - 2011-02-07 08:44:50 -0500
5422
5423  [not summarized]
5424
5425
5426Release 2011a - 2011-01-24 10:30:16 -0500
5427
5428  [not summarized]
5429
5430
5431Release data2010o - 2010-11-01 09:18:23 -0400
5432
5433  change to the end of DST in Fiji in 2011
5434
5435
5436Release 2010n - 2010-10-25 08:19:17 -0400
5437
5438  [not summarized]
5439
5440
5441Release 2010m - 2010-09-27 09:24:48 -0400
5442
5443  Hong Kong, Vostok, and zic.c changes
5444
5445
5446Release 2010l - 2010-08-16 06:57:25 -0400
5447
5448  [not summarized]
5449
5450
5451Release 2010k - 2010-07-26 10:42:27 -0400
5452
5453  [not summarized]
5454
5455
5456Release 2010j - 2010-05-10 09:07:48 -0400
5457
5458  changes for Bahía de Banderas and for version naming
5459
5460
5461Release data2010i - 2010-04-16 18:50:45 -0400
5462
5463  the end of DST in Morocco on 2010-08-08
5464
5465
5466Release data2010h - 2010-04-05 09:58:56 -0400
5467
5468  [not summarized]
5469
5470
5471Release data2010g - 2010-03-24 11:14:53 -0400
5472
5473  [not summarized]
5474
5475
5476Release 2010f - 2010-03-22 09:45:46 -0400
5477
5478  [not summarized]
5479
5480
5481Release data2010e - 2010-03-08 14:24:27 -0500
5482
5483  corrects the Dhaka bug found by Danvin Ruangchan
5484
5485
5486Release data2010d - 2010-03-06 07:26:01 -0500
5487
5488  [not summarized]
5489
5490
5491Release 2010c - 2010-03-01 09:20:58 -0500
5492
5493  changes including KRE's suggestion for earlier initialization of
5494  "goahead" and "goback" structure elements
5495
5496
5497Release code2010a - 2010-02-16 10:40:04 -0500
5498
5499  [not summarized]
5500
5501
5502Release data2010b - 2010-01-20 12:37:01 -0500
5503
5504  Mexico changes
5505
5506
5507Release data2010a - 2010-01-18 08:30:04 -0500
5508
5509  changes to Dhaka
5510
5511
5512Release data2009u - 2009-12-26 08:32:28 -0500
5513
5514  changes to DST in Bangladesh
5515
5516
5517Release 2009t - 2009-12-21 13:24:27 -0500
5518
5519  [not summarized]
5520
5521
5522Release data2009s - 2009-11-14 10:26:32 -0500
5523
5524  (cosmetic) Antarctica change and the DST-in-Fiji-in-2009-and-2010 change
5525
5526
5527Release 2009r - 2009-11-09 10:10:31 -0500
5528
5529  "antarctica" and "tz-link.htm" changes
5530
5531
5532Release 2009q - 2009-11-02 09:12:40 -0500
5533
5534  with two corrections as reported by Eric Muller and Philip Newton
5535
5536
5537Release data2009p - 2009-10-23 15:05:27 -0400
5538
5539  Argentina (including San Luis) changes (with the correction from
5540  Mariano Absatz)
5541
5542
5543Release data2009o - 2009-10-14 16:49:38 -0400
5544
5545  Samoa (commentary only), Pakistan, and Bangladesh changes
5546
5547
5548Release data2009n - 2009-09-22 15:13:38 -0400
5549
5550  added commentary for Argentina and a change to the end of DST in
5551  2009 in Pakistan
5552
5553
5554Release data2009m - 2009-09-03 10:23:43 -0400
5555
5556  Samoa and Palestine changes
5557
5558
5559Release data2009l - 2009-08-14 09:13:07 -0400
5560
5561  Samoa (comments only) and Egypt
5562
5563
5564Release 2009k - 2009-07-20 09:46:08 -0400
5565
5566  [not summarized]
5567
5568
5569Release data2009j - 2009-06-15 06:43:59 -0400
5570
5571  Bangladesh change (with a short turnaround since the DST change is
5572  impending)
5573
5574
5575Release 2009i - 2009-06-08 09:21:22 -0400
5576
5577  updating for DST in Bangladesh this year
5578
5579
5580Release 2009h - 2009-05-26 09:19:14 -0400
5581
5582  [not summarized]
5583
5584
5585Release data2009g - 2009-04-20 16:34:07 -0400
5586
5587  Cairo
5588
5589
5590Release data2009f - 2009-04-10 11:00:52 -0400
5591
5592  correct DST in Pakistan
5593
5594
5595Release 2009e - 2009-04-06 09:08:11 -0400
5596
5597  [not summarized]
5598
5599
5600Release 2009d - 2009-03-23 09:38:12 -0400
5601
5602  Morocco, Tunisia, Argentina, and American Astronomical Society changes
5603
5604
5605Release data2009c - 2009-03-16 09:47:51 -0400
5606
5607  change to the start of Cuban DST
5608
5609
5610Release 2009b - 2009-02-09 11:15:22 -0500
5611
5612  [not summarized]
5613
5614
5615Release 2009a - 2009-01-21 10:09:39 -0500
5616
5617  [not summarized]
5618
5619
5620Release data2008i - 2008-10-21 12:10:25 -0400
5621
5622  southamerica and zone.tab files, with Argentina DST rule changes and
5623  United States zone reordering and recommenting
5624
5625
5626Release 2008h - 2008-10-13 07:33:56 -0400
5627
5628  [not summarized]
5629
5630
5631Release 2008g - 2008-10-06 09:03:18 -0400
5632
5633  Fix a broken HTML anchor and update Brazil's DST transitions;
5634  there's also a slight reordering of information in tz-art.htm.
5635
5636
5637Release data2008f - 2008-09-09 22:33:26 -0400
5638
5639  [not summarized]
5640
5641
5642Release 2008e - 2008-07-28 14:11:17 -0400
5643
5644  changes by Arthur David Olson and Jesper Nørgaard Welen
5645
5646
5647Release data2008d - 2008-07-07 09:51:38 -0400
5648
5649  changes by Arthur David Olson, Paul Eggert, and Rodrigo Severo
5650
5651
5652Release data2008c - 2008-05-19 17:48:03 -0400
5653
5654  Pakistan, Morocco, and Mongolia
5655
5656
5657Release data2008b - 2008-03-24 08:30:59 -0400
5658
5659  including renaming Asia/Calcutta to Asia/Kolkata, with a backward
5660  link provided
5661
5662
5663Release 2008a - 2008-03-08 05:42:16 -0500
5664
5665  [not summarized]
5666
5667
5668Release 2007k - 2007-12-31 10:25:22 -0500
5669
5670  most importantly, changes to the "southamerica" file based on
5671  Argentina's readoption of daylight saving time
5672
5673
5674Release 2007j - 2007-12-03 09:51:01 -0500
5675
5676  1. eliminate the "P" (parameter) macro;
5677
5678  2. the "noncontroversial" changes circulated on the time zone
5679  mailing list (less the changes to "logwtmp.c");
5680
5681  3. eliminate "too many transition" errors when "min" is used in time
5682  zone rules;
5683
5684  4. changes by Paul Eggert (including updated information for Venezuela).
5685
5686
5687Release data2007i - 2007-10-30 10:28:11 -0400
5688
5689  changes for Cuba and Syria
5690
5691
5692Release 2007h - 2007-10-01 10:05:51 -0400
5693
5694  changes by Paul Eggert, as well as an updated link to the ICU
5695  project in tz-link.htm
5696
5697
5698Release 2007g - 2007-08-20 10:47:59 -0400
5699
5700  changes by Paul Eggert
5701
5702  The "leapseconds" file has been updated to incorporate the most
5703  recent International Earth Rotation and Reference Systems Service
5704  (IERS) bulletin.
5705
5706  There's an addition to tz-art.htm regarding the television show "Medium".
5707
5708
5709Release 2007f - 2007-05-07 10:46:46 -0400
5710
5711  changes by Paul Eggert (including Haiti, Turks and Caicos, and New
5712  Zealand)
5713
5714  changes to zic.c to allow hour values greater than 24 (along with
5715  Paul's improved time value overflow checking)
5716
5717
5718Release 2007e - 2007-04-02 10:11:52 -0400
5719
5720  Syria and Honduras changes by Paul Eggert
5721
5722  zic.c variable renaming changes by Arthur David Olson
5723
5724
5725Release 2007d - 2007-03-20 08:48:30 -0400
5726
5727  changes by Paul Eggert
5728
5729  the elimination of white space at the ends of lines
5730
5731
5732Release 2007c - 2007-02-26 09:09:37 -0500
5733
5734  changes by Paul Eggert
5735
5736
5737Release 2007b - 2007-02-12 09:34:20 -0500
5738
5739  Paul Eggert's proposed change to the quotation handling logic in zic.c.
5740
5741  changes to the commentary in "leapseconds" reflecting the IERS
5742  announcement that there is to be no positive leap second at the end
5743  of June 2007.
5744
5745
5746Release 2007a - 2007-01-08 12:28:29 -0500
5747
5748  changes by Paul Eggert
5749
5750  Derick Rethans's Asmara change
5751
5752  Oscar van Vlijmen's Easter Island local mean time change
5753
5754  symbolic link changes
5755
5756
5757Release 2006p - 2006-11-27 08:54:27 -0500
5758
5759  changes by Paul Eggert
5760
5761
5762Release 2006o - 2006-11-06 09:18:07 -0500
5763
5764  changes by Paul Eggert
5765
5766
5767Release 2006n - 2006-10-10 11:32:06 -0400
5768
5769  changes by Paul Eggert
5770
5771
5772Release 2006m - 2006-10-02 15:32:35 -0400
5773
5774  changes for Uruguay, Palestine, and Egypt by Paul Eggert
5775
5776  (minimalist) changes to zic.8 to clarify "until" information
5777
5778
5779Release data2006l - 2006-09-18 12:58:11 -0400
5780
5781  Paul's best-effort work on this coming weekend's Egypt time change
5782
5783
5784Release 2006k - 2006-08-28 12:19:09 -0400
5785
5786  changes by Paul Eggert
5787
5788
5789Release 2006j - 2006-08-21 09:56:32 -0400
5790
5791  changes by Paul Eggert
5792
5793
5794Release code2006i - 2006-08-07 12:30:55 -0400
5795
5796  localtime.c fixes
5797
5798  Ken Pizzini's conversion script
5799
5800
5801Release code2006h - 2006-07-24 09:19:37 -0400
5802
5803  adds public domain notices to four files
5804
5805  includes a fix for transition times being off by a second
5806
5807  adds a new recording to the "arts" file (information courtesy Colin Bowern)
5808
5809
5810Release 2006g - 2006-05-08 17:18:09 -0400
5811
5812  northamerica changes by Paul Eggert
5813
5814
5815Release 2006f - 2006-05-01 11:46:00 -0400
5816
5817  a missing version number problem is fixed (with thanks to Bradley
5818  White for catching the problem)
5819
5820
5821Release 2006d - 2006-04-17 14:33:43 -0400
5822
5823  changes by Paul Eggert
5824
5825  added new items to tz-arts.htm that were found by Paul
5826
5827
5828Release 2006c - 2006-04-03 10:09:32 -0400
5829
5830  two sets of data changes by Paul Eggert
5831
5832  a fencepost error fix in zic.c
5833
5834  changes to zic.c and the "europe" file to minimize differences
5835  between output produced by the old 32-bit zic and the new 64-bit
5836  version
5837
5838
5839Release 2006b - 2006-02-20 10:08:18 -0500
5840  [tz32code2006b + tz64code2006b + tzdata2006b]
5841
5842  64-bit code
5843
5844  All SCCS IDs were bumped to "8.1" for this release.
5845
5846
5847Release 2006a - 2006-01-30 08:59:31 -0500
5848
5849  changes by Paul Eggert (in particular, Indiana time zone moves)
5850
5851  an addition to the zic manual page to describe how special-case
5852  transitions are handled
5853
5854
5855Release 2005r - 2005-12-27 09:27:13 -0500
5856
5857  Canadian changes by Paul Eggert
5858
5859  They also add "<pre>" directives to time zone data files and reflect
5860  changes to warning message logic in "zdump.c" (but with calls to
5861  "gettext" kept unbundled at the suggestion of Ken Pizzini).
5862
5863
5864Release 2005q - 2005-12-13 09:17:09 -0500
5865
5866  Nothing earth-shaking here:
5867	1.  Electronic mail addresses have been removed.
5868	2.  Casts of the return value of exit have been removed.
5869	3.  Casts of the argument of is.* macros have been added.
5870	4.  Indentation in one section of zic.c has been fixed.
5871	5.  References to dead URLs in the data files have been dealt with.
5872
5873
5874Release 2005p - 2005-12-05 10:30:53 -0500
5875
5876  "systemv", "tz-link.htm", and "zdump.c" changes
5877  (less the casts of arguments to the is* macros)
5878
5879
5880Release 2005o - 2005-11-28 10:55:26 -0500
5881
5882  Georgia, Cuba, Nicaragua, and Jordan changes by Paul Eggert
5883
5884  zdump.c lint fixes by Arthur David Olson
5885
5886
5887Release 2005n - 2005-10-03 09:44:09 -0400
5888
5889  changes by Paul Eggert (both the Uruguay changes and the Kyrgyzstan
5890  et al. changes)
5891
5892
5893Release 2005m - 2005-08-29 12:15:40 -0400
5894
5895  changes by Paul Eggert (with a small tweak to the tz-art change)
5896
5897  a declaration of an unused variable has been removed from zdump.c
5898
5899
5900Release 2005l - 2005-08-22 12:06:39 -0400
5901
5902  changes by Paul Eggert
5903
5904  overflow/underflow checks by Arthur David Olson, minus changes to
5905  the "Theory" file about the pending addition of 64-bit data (I grow
5906  less confident of the changes being accepted with each passing day,
5907  and the changes no longer increase the data files nine-fold--there's
5908  less than a doubling in size by my local Sun's reckoning)
5909
5910
5911Release 2005k - 2005-07-14 14:14:24 -0400
5912
5913  The "leapseconds" file has been edited to reflect the recently
5914  announced leap second at the end of 2005.
5915
5916  I've also deleted electronic mail addresses from the files as an
5917  anti-spam measure.
5918
5919
5920Release 2005j - 2005-06-13 14:34:13 -0400
5921
5922  These reflect changes to limit the length of time zone abbreviations
5923  and the characters used in those abbreviations.
5924
5925  There are also changes to handle POSIX-style "quoted" timezone
5926  environment variables.
5927
5928  The changes were circulated on the time zone mailing list; the only
5929  change since then was the removal of a couple of minimum-length of
5930  abbreviation checks.
5931
5932
5933Release data2005i - 2005-04-21 15:04:16 -0400
5934
5935  changes (most importantly to Nicaragua and Haiti) by Paul Eggert
5936
5937
5938Release 2005h - 2005-04-04 11:24:47 -0400
5939
5940  changes by Paul Eggert
5941
5942  minor changes to Makefile and zdump.c to produce more useful output
5943  when doing a "make typecheck"
5944
5945
5946Release 2005g - 2005-03-14 10:11:21 -0500
5947
5948  changes by Paul Eggert (a change to current DST rules in Uruguay and
5949  an update to a link to time zone software)
5950
5951
5952Release 2005f - 2005-03-01 08:45:32 -0500
5953
5954  data and documentation changes by Paul Eggert
5955
5956
5957Release 2005e - 2005-02-10 15:59:44 -0500
5958
5959  [not summarized]
5960
5961
5962Release code2005d - 2005-01-31 09:21:47 -0500
5963
5964  make zic complain about links to links if the -v flag is used
5965
5966  have "make public" do more code checking
5967
5968  add an include to "localtime.c" for the benefit of gcc systems
5969
5970
5971Release 2005c - 2005-01-17 18:36:29 -0500
5972
5973  get better results when mktime runs on a system where time_t is double
5974
5975  changes to the data files (most importantly to Paraguay)
5976
5977
5978Release 2005b - 2005-01-10 09:19:54 -0500
5979
5980  Get localtime and gmtime working on systems with exotic time_t types.
5981
5982  Update the leap second commentary in the "leapseconds" file.
5983
5984
5985Release 2005a - 2005-01-01 13:13:44 -0500
5986
5987  [not summarized]
5988
5989
5990Release code2004i - 2004-12-14 13:42:58 -0500
5991
5992  Deal with systems where time_t is unsigned.
5993
5994
5995Release code2004h - 2004-12-07 11:40:18 -0500
5996
5997  64-bit-time_t changes
5998
5999
6000Release 2004g - 2004-11-02 09:06:01 -0500
6001
6002  update to Cuba (taking effect this weekend)
6003
6004  other changes by Paul Eggert
6005
6006  correction of the spelling of Oslo
6007
6008  changed versions of difftime.c and private.h
6009
6010
6011Release code2004f - 2004-10-21 10:25:22 -0400
6012
6013  Cope with wide-ranging tm_year values.
6014
6015
6016Release 2004e - 2004-10-11 14:47:21 -0400
6017
6018  Brazil/Argentina/Israel changes by Paul Eggert
6019
6020  changes to tz-link.htm by Paul
6021
6022  one small fix to Makefile
6023
6024
6025Release 2004d - 2004-09-22 08:27:29 -0400
6026
6027  Avoid overflow problems when TM_YEAR_BASE is added to an integer.
6028
6029
6030Release 2004c - 2004-08-11 12:06:26 -0400
6031
6032  asctime-related changes
6033
6034  (variants of) some of the documentation changes suggested by Paul Eggert
6035
6036
6037Release 2004b - 2004-07-19 14:33:35 -0400
6038
6039  data changes by Paul Eggert - most importantly, updates for Argentina
6040
6041
6042Release 2004a - 2004-05-27 12:00:47 -0400
6043
6044  changes by Paul Eggert
6045
6046  Handle DST transitions that occur at the end of a month in some
6047  years but at the start of the following month in other years.
6048
6049  Add a copy of the correspondence that's the basis for claims about
6050  DST in the Navajo Nation.
6051
6052
6053Release 2003e - 2003-12-15 09:36:47 -0500
6054
6055  changes by Arthur David Olson (primarily code changes)
6056
6057  changes by Paul Eggert (primarily data changes)
6058
6059  minor changes to "Makefile" and "northamerica" (in the latter case,
6060  optimization of the "Toronto" rules)
6061
6062
6063Release 2003d - 2003-10-06 09:34:44 -0400
6064
6065  changes by Paul Eggert
6066
6067
6068Release 2003c - 2003-09-16 10:47:05 -0400
6069
6070  Fix bad returns in zic.c's inleap function.
6071  Thanks to Bradley White for catching the problem!
6072
6073
6074Release 2003b - 2003-09-16 07:13:44 -0400
6075
6076  Add a "--version" option (and documentation) to the zic and zdump commands.
6077
6078  changes to overflow/underflow checking in zic
6079
6080  a localtime typo fix.
6081
6082  Update the leapseconds and tz-art.htm files.
6083
6084
6085Release 2003a - 2003-03-24 09:30:54 -0500
6086
6087  changes by Paul Eggert
6088
6089  a few additions and modifications to the tz-art.htm file
6090
6091
6092Release 2002d - 2002-10-15 13:12:42 -0400
6093
6094  changes by Paul Eggert, less the "Britain (UK)" change in iso3166.tab
6095
6096  There's also a new time zone quote in "tz-art.htm".
6097
6098
6099Release 2002c - 2002-04-04 11:55:20 -0500
6100
6101  changes by Paul Eggert
6102
6103  Change zic.c to avoid creating symlinks to files that don't exist.
6104
6105
6106Release 2002b - 2002-01-28 12:56:03 -0500
6107
6108  [These change notes are for Release 2002a, which was corrupted.
6109  2002b was a corrected version of 2002a.]
6110
6111  changes by Paul Eggert
6112
6113  Update the "leapseconds" file to note that there'll be no leap
6114  second at the end of June, 2002.
6115
6116  Change "zic.c" to deal with a problem in handling the "Asia/Bishkek" zone.
6117
6118  Change to "difftime.c" to avoid sizeof problems.
6119
6120
6121Release 2001d - 2001-10-09 13:31:32 -0400
6122
6123  changes by Paul Eggert
6124
6125
6126Release 2001c - 2001-06-05 13:59:55 -0400
6127
6128  changes by Paul Eggert and Andrew Brown
6129
6130
6131Release 2001b - 2001-04-05 16:44:38 -0400
6132
6133  changes by Paul Eggert (modulo jnorgard's typo fix)
6134
6135  tz-art.htm has been HTMLified.
6136
6137
6138Release 2001a - 2001-03-13 12:57:44 -0500
6139
6140  changes by Paul Eggert
6141
6142  An addition to the "leapseconds" file: comments with the text of the
6143  latest IERS leap second notice.
6144
6145  Trailing white space has been removed from data file lines, and
6146  repeated spaces in "Rule Jordan" lines in the "asia" file have been
6147  converted to tabs.
6148
6149
6150Release 2000h - 2000-12-14 15:33:38 -0500
6151
6152  changes by Paul Eggert
6153
6154  one typo fix in the "art" file
6155
6156  With providence, this is the last update of the millennium.
6157
6158
6159Release 2000g - 2000-10-10 11:35:22 -0400
6160
6161  changes by Paul Eggert
6162
6163  correction of John Mackin's name submitted by Robert Elz
6164
6165  Garry Shandling's Daylight Saving Time joke (!?!) from the recent
6166  Emmy Awards broadcast.
6167
6168
6169Release 2000f - 2000-08-10 09:31:58 -0400
6170
6171  changes by Paul Eggert
6172
6173  Added information in "tz-art.htm" on a Seinfeld reference to DST.
6174
6175  Error checking and messages in the "yearistype" script have been
6176  improved.
6177
6178
6179Release 2000e - 2000-07-31 09:27:54 -0400
6180
6181  data changes by Paul Eggert
6182
6183  a change to the default value of the defined constant HAVE_STRERROR
6184
6185  the addition of a Dave Barry quote on DST to the tz-arts file
6186
6187
6188Release 2000d - 2000-04-20 15:43:04 -0400
6189
6190  changes to the documentation and code of strftime for C99 conformance
6191
6192  a bug fix for date.c
6193
6194  These are based on (though modified from) changes by Paul Eggert.
6195
6196
6197Release 2000c - 2000-03-04 10:31:43 -0500
6198
6199  changes by Paul Eggert
6200
6201
6202Release 2000b - 2000-02-21 12:16:29 -0500
6203
6204  changes by Paul Eggert and Joseph Myers
6205
6206  modest tweaks to the tz-art.htm and tz-link.htm files
6207
6208
6209Release 2000a - 2000-01-18 09:21:26 -0500
6210
6211  changes by Paul Eggert
6212
6213  The two hypertext documents have also been renamed.
6214
6215
6216Release code1999i-data1999j - 1999-11-15 18:43:22 -0500
6217
6218  Paul Eggert's changes
6219
6220  additions to the "zic" manual page and the "Arts.htm" file
6221
6222
6223Release code1999h-data1999i - 1999-11-08 14:55:21 -0500
6224
6225  [not summarized]
6226
6227
6228Release data1999h - 1999-10-07 03:50:29 -0400
6229
6230  changes by Paul Eggert to "europe" (most importantly, fixing
6231  Lithuania and Estonia)
6232
6233
6234Release 1999g - 1999-09-28 11:06:18 -0400
6235
6236  data changes by Paul Eggert (most importantly, the change for
6237  Lebanon that buys correctness for this coming Sunday)
6238
6239  The "code" file contains changes to "Makefile" and "checktab.awk" to
6240  allow better checking of time zone files before they are published.
6241
6242
6243Release 1999f - 1999-09-23 09:48:14 -0400
6244
6245  changes by Arthur David Olson and Paul Eggert
6246
6247
6248Release 1999e - 1999-08-17 15:20:54 -0400
6249
6250  changes circulated by Paul Eggert, although the change to handling
6251  of DST-specifying timezone names has been commented out for now
6252  (search for "XXX" in "localtime.c" for details).  These files also
6253  do not make any changes to the start of DST in Brazil.
6254
6255  In addition to Paul's changes, there are updates to "Arts.htm" and
6256  cleanups of URLs.
6257
6258
6259Release 1999d - 1999-03-30 11:31:07 -0500
6260
6261  changes by Paul Eggert
6262
6263  The Makefile's "make public" rule has also been changed to do a test
6264  compile of each individual time zone data file (which should help
6265  avoid problems such as the one we had with Nicosia).
6266
6267
6268Release 1999c - 1999-03-25 09:47:47 -0500
6269
6270  changes by Paul Eggert, most importantly the change for Chile.
6271
6272
6273Release 1999b - 1999-02-01 17:51:44 -0500
6274
6275  changes by Paul Eggert
6276
6277  code changes (suggested by Mani Varadarajan, mani at be.com) for
6278  correct handling of symbolic links when building using a relative directory
6279
6280  code changes to generate correct messages for failed links
6281
6282  updates to the URLs in Arts.htm
6283
6284
6285Release 1999a - 1999-01-19 16:20:29 -0500
6286
6287  error message internationalizations and corrections in zic.c and
6288  zdump.c (as suggested by Vladimir Michl, vladimir.michl at upol.cz,
6289  to whom thanks!)
6290
6291
6292Release code1998h-data1998i - 1998-10-01 09:56:10 -0400
6293
6294  changes for Brazil, Chile, and Germany
6295
6296  support for use of "24:00" in the input files for the time zone compiler
6297
6298
6299Release code1998g-data1998h - 1998-09-24 10:50:28 -0400
6300
6301  changes by Paul Eggert
6302
6303  correction to a define in the "private.h" file
6304
6305
6306Release data1998g - 1998-08-11 03:28:35 -0000
6307  [tzdata1998g.tar.gz is missing!]
6308
6309  Lithuanian change provided by mgedmin at pub.osf.it
6310
6311  Move creation of the GMT link with Etc/GMT to "etcetera" (from
6312  "backward") to ensure that the GMT file is created even where folks
6313  don't want the "backward" links (as suggested by Paul Eggert).
6314
6315
6316Release data1998f - 1998-07-20 13:50:00 -0000
6317  [tzdata1998f.tar.gz is missing!]
6318
6319  Update the "leapseconds" file to include the newly announced
6320  insertion at the end of 1998.
6321
6322
6323Release code1998f - 1998-06-01 10:18:31 -0400
6324
6325  addition to localtime.c by Guy Harris
6326
6327
6328Release 1998e - 1998-05-28 09:56:26 -0400
6329
6330  The Makefile is changed to produce zoneinfo-posix rather than
6331  zoneinfo/posix, and to produce zoneinfo-leaps rather than
6332  zoneinfo/right.
6333
6334  data changes by Paul Eggert
6335
6336  changes from Guy Harris to provide asctime_r and ctime_r
6337
6338  A usno1998 file (substantially identical to usno1997) has been added.
6339
6340
6341Release 1998d - 1998-05-14 11:58:34 -0400
6342
6343  changes to comments (in particular, elimination of references to CIA maps).
6344  "Arts.htm", "WWW.htm", "asia", and "australasia" are the only places
6345  where changes occur.
6346
6347
6348Release 1998c - 1998-02-28 12:32:26 -0500
6349
6350  changes by Paul Eggert (save the "French correction," on which I'll
6351  wait for the dust to settle)
6352
6353  symlink changes
6354
6355  changes and additions to Arts.htm
6356
6357
6358Release 1998b - 1998-01-17 14:31:51 -0500
6359
6360  URL cleanups and additions
6361
6362
6363Release 1998a - 1998-01-13 12:37:35 -0500
6364
6365  changes by Paul Eggert
6366
6367
6368Release code1997i-data1997k - 1997-12-29 09:53:41 -0500
6369
6370  changes by Paul Eggert, with minor modifications from Arthur David
6371  Olson to make the files more browser friendly
6372
6373
6374Release code1997h-data1997j - 1997-12-18 17:47:35 -0500
6375
6376  minor changes to put "TZif" at the start of each timezone information file
6377
6378  a rule has also been added to the Makefile so you can
6379	make zones
6380  to just recompile the zone information files (rather than doing a
6381  full "make install" with its other effects).
6382
6383
6384Release data1997i - 1997-10-07 08:45:38 -0400
6385
6386  changes to Africa by Paul Eggert
6387
6388
6389Release code1997g-data1997h - 1997-09-04 16:56:54 -0400
6390
6391  corrections for Uruguay (and other locations)
6392
6393  Arthur David Olson's simple-minded fix allowing mktime to both
6394  correctly handle leap seconds and correctly handle tm_sec values
6395  upon which arithmetic has been performed.
6396
6397
6398Release code1997f-data1997g - 1997-07-19 13:15:02 -0400
6399
6400  Paul Eggert's updates
6401
6402  a small change to a function prototype;
6403
6404  "Music" has been renamed "Arts.htm", HTMLified, and augmented to
6405  include information on Around the World in Eighty Days.
6406
6407
6408Release code1997e-data1997f - 1997-05-03 18:52:34 -0400
6409
6410  fixes to zic's error handling
6411
6412  changes inspired by the item circulated on Slovenia
6413
6414  The description of Web resources has been HTMLified for browsing
6415  convenience.
6416
6417  A new piece of tz-related music has been added to the "Music" file.
6418
6419
6420Release code1997d-data1997e - 1997-03-29 12:48:52 -0500
6421
6422  Paul Eggert's latest suggestions
6423
6424
6425Release code1997c-data1997d - 1997-03-07 20:37:54 -0500
6426
6427  changes to "zic.c" to correct performance of the "-s" option
6428
6429  a new file "usno1997"
6430
6431
6432Release data1997c - 1997-03-04 09:58:18 -0500
6433
6434  changes in Israel
6435
6436
6437Release 1997b - 1997-02-27 18:34:19 -0500
6438
6439  The data file incorporates the 1997 leap second.
6440
6441  The code file incorporates Arthur David Olson's take on the
6442  zic/multiprocessor/directory-creation situation.
6443
6444
6445Release 1997a - 1997-01-21 09:11:10 -0500
6446
6447  Paul Eggert's Antarctica (and other changes)
6448
6449  Arthur David Olson finessed the "getopt" issue by checking against
6450  both -1 and EOF (regardless of POSIX, SunOS 4.1.1's manual says -1
6451  is returned while SunOS 5.5's manual says EOF is returned).
6452
6453
6454Release code1996o-data1996n - 1996-12-27 21:42:05 -0500
6455
6456  Paul Eggert's latest changes
6457
6458
6459Release code1996n - 1996-12-16 09:42:02 -0500
6460
6461  link snapping fix from Bruce Evans (via Garrett Wollman)
6462
6463
6464Release data1996m - 1996-11-24 02:37:34 -0000
6465  [tzdata1996m.tar.gz is missing!]
6466
6467  Paul Eggert's batch of changes
6468
6469
6470Release code1996m-data1996l - 1996-11-05 14:00:12 -0500
6471
6472  No functional changes here; the files have simply been changed to
6473  make more use of ISO style dates in comments. The names of the above
6474  files now include the year in full.
6475
6476
6477Release code96l - 1996-09-08 17:12:20 -0400
6478
6479  tzcode96k was missing a couple of pieces.
6480
6481
6482Release 96k - 1996-09-08 16:06:22 -0400
6483
6484  the latest round of changes from Paul Eggert
6485
6486  the recent Year 2000 material
6487
6488
6489Release code96j - 1996-07-30 13:18:53 -0400
6490
6491  Set sp->typecnt as suggested by Timothy Patrick Murphy.
6492
6493
6494Release code96i - 1996-07-27 20:11:35 -0400
6495
6496  Paul's suggested patch for strftime %V week numbers
6497
6498
6499Release data96i - 1996-07-01 18:13:04 -0400
6500
6501  "northamerica" and "europe" changes by Paul Eggert
6502
6503
6504Release code96h - 1996-06-05 08:02:21 -0400
6505
6506  fix for handling transitions specified in Universal Time
6507
6508  Some "public domain" notices have also been added.
6509
6510
6511Release code96g - 1996-05-16 14:00:26 -0400
6512
6513  fix for the simultaneous-DST-and-zone-change challenge
6514
6515
6516Release data96h - 1996-05-09 17:40:51 -0400
6517
6518  changes by Paul Eggert
6519
6520
6521Release code96f-data96g - 1996-05-03 03:09:59 -0000
6522  [tzcode96f.tar.gz + tzdata96g.tar.gz are both missing!]
6523
6524  The changes get us some of the way to fixing the problems noted in Paul
6525  Eggert's letter yesterday (in addition to a few others).  The approach
6526  has been to make zic a bit smarter about figuring out what time zone
6527  abbreviations apply just after the time specified in the "UNTIL" part
6528  of a zone line.  Putting the smarts in zic means avoiding having
6529  transition times show up in both "Zone" lines and "Rule" lines, which
6530  in turn avoids multiple transition time entries in time zone files.
6531  (This also makes the zic input files such as "europe" a bit shorter and
6532  should ease maintenance.)
6533
6534
6535Release data96f - 1996-04-19 19:20:03 -0000
6536  [tzdata96f.tar.gz is missing!]
6537
6538  The only changes are to the "northamerica" file; the time zone
6539  abbreviation for Denver is corrected to MST (and MDT), and the
6540  comments for Mexico have been updated.
6541
6542
6543Release data96e - 1996-03-19 17:37:26 -0500
6544
6545  Proposals by Paul Eggert, in particular the Portugal change that
6546  comes into play at the end of this month.
6547
6548
6549Release data96d - 1996-03-18 20:49:39 -0500
6550
6551  [not summarized]
6552
6553
6554Release code96e - 1996-02-29 15:43:27 -0000
6555  [tzcode96e.tar.gz is missing!]
6556
6557  internationalization changes and the fix to the documentation for strftime
6558
6559
6560Release code96d-data96c - 1996-02-12 11:05:27 -0500
6561
6562  The "code" file simply updates Bob Kridle's electronic address.
6563
6564  The "data" file updates rules for Mexico.
6565
6566
6567Release data96b - 1996-01-27 15:44:42 -0500
6568
6569  Kiribati change
6570
6571
6572Release code96c - 1996-01-16 16:58:15 -0500
6573
6574  leap-year streamlining and binary-search changes
6575
6576  fix to newctime.3
6577
6578
6579Release code96b - 1996-01-10 20:42:39 -0500
6580
6581  fixes and enhancements from Paul Eggert, including code that
6582  emulates the behavior of recent versions of the SunOS "date"
6583  command.
6584
6585
6586Release 96a - 1996-01-06 09:08:24 -0500
6587
6588  Israel updates
6589
6590  fixes to strftime.c for correct ISO 8601 week number generation,
6591  plus support for two new formats ('G' and 'g') to give ISO 8601 year
6592  numbers (which are not necessarily the same as calendar year numbers)
6593
6594
6595Release code95i-data95m - 1995-12-21 12:46:47 -0500
6596
6597  The latest revisions from Paul Eggert are included, the usno1995
6598  file has been updated, and a new file ("WWW") covering useful URLs
6599  has been added.
6600
6601
6602Release code95h-data95l - 1995-12-19 18:10:12 -0500
6603
6604  A simplification of a macro definition, a change to data for Sudan,
6605  and (for last minute shoppers) notes in the "Music" file on the CD
6606  "Old Man Time".
6607
6608
6609Release code95g-data95k - 1995-10-30 10:32:47 -0500
6610
6611  (slightly reformatted) 8-bit-clean proposed patch
6612
6613  minor patch: US/Eastern -> America/New_York
6614
6615  snapshot of the USNO's latest data ("usno1995")
6616
6617  some other minor cleanups
6618
6619
6620Release code95f-data95j - 1995-10-28 21:01:34 -0000
6621  [tzcode95f.tar.gz + tzdata95j.tar.gz are both missing!]
6622
6623  European cleanups
6624
6625  support for 64-bit time_t's
6626
6627  optimization in localtime.c
6628
6629
6630Release code95e - 1995-10-13 13:23:57 -0400
6631
6632  the mktime change to scan from future to past when trying to find time zone
6633  offsets
6634
6635
6636Release data95i - 1995-09-26 10:43:26 -0400
6637
6638  For Canada/Central, guess that the Sun customer's "one week too
6639  early" was just a approximation, and the true error is one month
6640  too early.  This is consistent with the rest of Canada.
6641
6642
6643Release data95h - 1995-09-21 11:26:48 -0400
6644
6645  latest changes from Paul Eggert
6646
6647
6648Release code95d - 1995-09-14 11:14:45 -0400
6649
6650  the addition of a "Music" file, which documents four recorded
6651  versions of the tune "Save That Time".
6652
6653
6654Release data95g - 1995-09-01 17:21:36 -0400
6655
6656  "yearistype" correction
6657
6658
6659Release data95f - 1995-08-28 20:46:56 -0400
6660
6661  Paul Eggert's change to the australasia file
6662
6663
6664Release data95e - 1995-07-08 18:02:34 -0400
6665
6666  The only change is a leap second at the end of this year.
6667  Thanks to Bradley White for forwarding news on the leap second.
6668
6669
6670Release data95d - 1995-07-03 13:26:22 -0400
6671
6672  Paul Eggert's changes
6673
6674
6675Release data95c - 1995-07-02 19:19:28 -0400
6676
6677  changes to "asia", "backward", "europe", and "southamerica"
6678  (read: northamericacentrics need not apply)
6679
6680
6681Release code95c - 1995-03-13 14:00:46 -0500
6682
6683  one-line fix for sign extension problems in detzcode
6684
6685
6686Release 95b - 1995-03-04 11:22:38 -0500
6687
6688  Minor changes in both:
6689
6690  The "code" file contains a workaround for the lack of "unistd.h" in
6691  Microsoft C++ version 7.
6692
6693  The "data" file contains a fixed "Link" for America/Shiprock.
6694
6695
6696Release 94h - 1994-12-10 12:51:14 -0500
6697
6698  The files:
6699
6700  *	incorporate the changes to "zdump" and "date" to make changes to
6701	the "TZ" environment variable permanent;
6702
6703  *	incorporate the table changes by Paul Eggert;
6704
6705  *	include (and document) support for universal time specifications in
6706	data files - but do not (yet) include use of this feature in the
6707	data files.
6708
6709  Think of this as "TZ Classic" - the software has been set up not to break if
6710  universal time shows up in its input, and data entries have been
6711  left as is so as not to break existing implementations.
6712
6713
6714Release data94f - 1994-08-20 12:56:09 -0400
6715
6716  (with thanks!) the latest data updates from Paul Eggert
6717
6718
6719Release data94e - 1994-06-04 13:13:53 -0400
6720
6721  [not summarized]
6722
6723
6724Release code94g - 1994-05-05 12:14:07 -0400
6725
6726  fix missing "optind.c" and a reference to it in the Makefile
6727
6728
6729Release code94f - 1994-05-05 13:00:33 -0000
6730  [tzcode94f.tar.gz is missing!]
6731
6732  changes to avoid overflow in difftime, as well as changes to cope
6733  with the 52/53 challenge in strftime
6734
6735
6736Release code94e - 1994-03-30 23:32:59 -0500
6737
6738  change for the benefit of PCTS
6739
6740
6741Release 94d - 1994-02-24 15:42:25 -0500
6742
6743  Avoid clashes with POSIX semantics for zones such as GMT+4.
6744
6745  Some other very minor housekeeping is also present.
6746
6747
6748Release code94c - 1994-02-10 08:52:40 -0500
6749
6750  Fix bug where mkdirs was broken unless you compile with
6751  -fwritable-strings (which is generally losing to do).
6752
6753
6754Release 94b - 1994-02-07 10:04:33 -0500
6755
6756  work by Paul Eggert who notes:
6757
6758  I found another book of time zone histories by E W Whitman; it's not
6759  as extensive as Shanks but has a few goodies of its own.  I used it
6760  to update the tables.  I also fixed some more as a result of
6761  correspondence with Adam David and Peter Ilieve, and move some stray
6762  links from 'europe' to 'backward'.  I corrected some scanning errors
6763  in usno1989.
6764
6765  As far as the code goes, I fixed zic to allow years in the range
6766  INT_MIN to INT_MAX; this fixed a few boundary conditions around 1900.
6767  And I cleaned up the zic documentation a little bit.
6768
6769
6770Release data94a - 1994-02-03 08:58:54 -0500
6771
6772  It simply incorporates the recently announced leap second into the
6773  "leapseconds" file.
6774
6775
6776Release 93g - 1993-11-22 17:28:27 -0500
6777
6778  Paul Eggert has provided a good deal of historic information (based
6779  on Shanks), and there are some code changes to deal with the buglets
6780  that crawled out in dealing with the new information.
6781
6782
6783Release 93f - 1993-10-15 12:27:46 -0400
6784
6785  Paul Eggert's changes
6786
6787
6788Release 93e - 1993-09-05 21:21:44 -0400
6789
6790  This has updated data for Israel, England, and Kwajalein.  There's
6791  also an update to "zdump" to cope with Kwajalein's 24-hour jump.
6792  Thanks to Paul Eggert and Peter Ilieve for the changes.
6793
6794
6795Release 93d - 1993-06-17 23:34:17 -0400
6796
6797  new fix and new data on Israel
6798
6799
6800Release 93c - 1993-06-06 19:31:55 -0400
6801
6802  [not summarized]
6803
6804
6805Release 93b - 1993-02-02 14:53:58 -0500
6806
6807  updated "leapseconds" file
6808
6809
6810Release 93 - 1993-01-08 07:01:06 -0500
6811
6812  At kre's suggestion, the package has been split in two - a code piece
6813  (which also includes documentation) that's only of use to folks who
6814  want to recompile things and a data piece useful to anyone who can
6815  run "zic".
6816
6817  The new version has a few changes to the data files, a few
6818  portability changes, and an off-by-one fix (with thanks to
6819  Tom Karzes at deshaw.com for providing a description and a
6820  solution).
6821
6822
6823Release 92c - 1992-11-21 17:35:36 -0000
6824  [tz92c.tar.Z is missing!]
6825
6826  The fallout from the latest round of DST transitions.
6827
6828  There are changes for Portugal, Saskatchewan, and "Pacific-New";
6829  there's also a change to "zic.c" that makes it portable to more systems.
6830
6831
6832Release 92 - 1992-04-25 18:17:03 -0000
6833  [tz92.tar.Z is missing!]
6834
6835  By popular demand (well, at any rate, following a request by kre at munnari)
6836
6837
6838The 1989 update of the time zone package featured:
6839
6840  *	POSIXization (including interpretation of POSIX-style TZ environment
6841	variables, provided by Guy Harris),
6842  *	ANSIfication (including versions of "mktime" and "difftime"),
6843  *	SVIDulation (an "altzone" variable)
6844  *	MACHination (the "gtime" function)
6845  *	corrections to some time zone data (including corrections to the rules
6846	for Great Britain and New Zealand)
6847  *	reference data from the United States Naval Observatory for folks who
6848	want to do additional time zones
6849  *	and the 1989 data for Saudi Arabia.
6850
6851  (Since this code will be treated as "part of the implementation" in some
6852  places and as "part of the application" in others, there's no good way to
6853  name functions, such as timegm, that are not part of the proposed ANSI C
6854  standard; such functions have kept their old, underscore-free names in this
6855  update.)
6856
6857  And the "dysize" function has disappeared; it was present to allow
6858  compilation of the "date" command on old BSD systems, and a version of "date"
6859  is now provided in the package.  The "date" command is not created when you
6860  "make all" since it may lack options provided by the version distributed with
6861  your operating system, or may not interact with the system in the same way
6862  the native version does.
6863
6864  Since POSIX frowns on correct leap second handling, the default behavior of
6865  the "zic" command (in the absence of a "-L" option) has been changed to omit
6866  leap second information from its output files.
6867
6868
6869-----
6870Notes
6871
6872This file contains copies of the part of each release announcement
6873that talks about the changes in that release.  The text has been
6874adapted and reformatted for the purposes of this file.
6875
6876Traditionally a release R consists of a pair of tarball files,
6877tzcodeR.tar.gz and tzdataR.tar.gz.  However, some releases (e.g.,
6878code2010a, data2012c) consist of just one or the other tarball, and a
6879few (e.g., code2012c-data2012d) have tarballs with mixed version
6880numbers.  Recent releases also come in an experimental format
6881consisting of a single tarball tzdb-R.tar.lz with extra data.
6882
6883A release’s timestamp is taken from the release’s commit (for newer,
6884Git-based releases), from the newest file in the tarball (for older
6885releases, where this info is available) or from the email announcing
6886the release (if all else fails; these are marked with a time zone
6887abbreviation of -0000 and an "is missing!" comment).
6888
6889Earlier versions of the code and data were not announced on the tz
6890list and are not summarized here.
6891
6892This file is in the public domain.
6893
6894Local Variables:
6895coding: utf-8
6896End:
6897