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