1 News for the tz database
3 Release 2022d - 2022-09-23 12:02:57 -0700
6 Palestine transitions are now Saturdays at 02:00.
7 Simplify three Ukraine zones into one.
9 Changes to future timestamps
11 Palestine now springs forward and falls back at 02:00 on the
12 first Saturday on or after March 24 and October 24, respectively.
13 This means 2022 falls back 10-29 at 02:00, not 10-28 at 01:00.
14 (Thanks to Heba Hamad.)
16 Changes to past timestamps
18 Simplify three Ukraine zones to one, since the post-1970
19 differences seem to have been imaginary. Move Europe/Uzhgorod and
20 Europe/Zaporozhye to 'backzone'; backward-compatibility links
21 still work, albeit with different timestamps before October 1991.
24 Release 2022c - 2022-08-15 17:47:18 -0700
27 Work around awk bug in FreeBSD, macOS, etc.
28 Improve tzselect on intercontinental Zones.
32 Work around a bug in onetrueawk that broke commands like
33 'make traditional_tarballs' on FreeBSD, macOS, etc.
34 (Problem reported by Deborah Goldsmith.)
36 Add code to tzselect that uses experimental structured comments in
37 zone1970.tab to clarify whether Zones like Africa/Abidjan and
38 Europe/Istanbul cross continent or ocean boundaries.
39 (Inspired by a problem reported by Peter Krefting.)
41 Fix bug with 'zic -d /a/b/c' when /a is unwritable but the
42 directory /a/b already exists.
44 Remove zoneinfo2tdf.pl, as it was unused and triggered false
45 malware alarms on some email servers.
48 Release 2022b - 2022-08-10 15:38:32 -0700
51 Chile's DST is delayed by a week in September 2022.
52 Iran no longer observes DST after 2022.
53 Rename Europe/Kiev to Europe/Kyiv.
55 Vanguard form now uses %z.
56 Finish moving duplicate-since-1970 zones to 'backzone'.
57 New build option PACKRATLIST
58 New tailored_tarballs target, replacing rearguard_tarballs
60 Changes to future timestamps
62 Chile's 2022 DST start is delayed from September 4 to September 11.
63 (Thanks to Juan Correa.)
65 Iran plans to stop observing DST permanently, after it falls back
66 on 2022-09-21. (Thanks to Ali Mirjamali.)
68 Changes to past timestamps
70 Finish moving to 'backzone' the location-based zones whose
71 timestamps since 1970 are duplicates; adjust links accordingly.
72 This change ordinarily affects only pre-1970 timestamps, and with
73 the new PACKRATLIST option it does not affect any timestamps.
74 In this round the affected zones are Antarctica/Vostok,
75 Asia/Brunei, Asia/Kuala_Lumpur, Atlantic/Reykjavik,
76 Europe/Amsterdam, Europe/Copenhagen, Europe/Luxembourg,
77 Europe/Monaco, Europe/Oslo, Europe/Stockholm, Indian/Christmas,
78 Indian/Cocos, Indian/Kerguelen, Indian/Mahe, Indian/Reunion,
79 Pacific/Chuuk, Pacific/Funafuti, Pacific/Majuro, Pacific/Pohnpei,
80 Pacific/Wake and Pacific/Wallis, and the affected links are
81 Arctic/Longyearbyen, Atlantic/Jan_Mayen, Iceland, Pacific/Ponape,
82 Pacific/Truk, and Pacific/Yap.
84 From fall 1994 through fall 1995, Shanks wrote that Crimea's
85 DST transitions were at 02:00 standard time, not at 00:00.
86 (Thanks to Michael Deckers.)
88 Iran adopted standard time in 1935, not 1946. In 1977 it observed
89 DST from 03-21 23:00 to 10-20 24:00; its 1978 transitions were on
90 03-24 and 08-05, not 03-20 and 10-20; and its spring 1979
91 transition was on 05-27, not 03-21.
92 (Thanks to Roozbeh Pournader and Francis Santoni.)
94 Chile's observance of -04 from 1946-08-29 through 1947-03-31 was
95 considered DST, not standard time. Santiago and environs had moved
96 their clocks back to rejoin the rest of mainland Chile; put this
97 change at the end of 1946-08-28. (Thanks to Michael Deckers.)
99 Some old, small clock transitions have been removed, as people at
100 the time did not change their clocks. This affects Asia/Hong_Kong
101 in 1904, Asia/Ho_Chi_Minh in 1906, and Europe/Dublin in 1880.
105 Rename Europe/Kiev to Europe/Kyiv, as "Kyiv" is more common in
106 English now. Spelling of other names in Ukraine has not yet
107 demonstrably changed in common English practice so for now these
108 names retain old spellings, as in other countries (e.g.,
109 Europe/Prague not "Praha", and Europe/Sofia not "Sofiya").
113 zic has a new option '-R @N' to output explicit transitions < N.
114 (Need suggested by Almaz Mingaleev.)
116 'zic -r @N' no longer outputs bad data when N < first transition.
117 (Problem introduced in 2021d and reported by Peter Krefting.)
119 zic now checks its input for NUL bytes and unterminated lines, and
120 now supports input line lengths up to 2048 (not 512) bytes.
122 gmtime and related code now use the abbreviation "UTC" not "GMT".
123 POSIX is being revised to require this.
125 When tzset and related functions set vestigial static variables
126 like tzname, they now prefer specified timestamps to unspecified ones.
127 (Problem reported by Almaz Mingaleev.)
129 zic no longer complains "can't determine time zone abbreviation to
130 use just after until time" when a transition to a new standard
131 time occurs simultaneously with the first DST fallback transition.
133 Changes to build procedure
135 Source data in vanguard form now uses the %z notation, introduced
136 in release 2015f. For example, for America/Sao_Paulo vanguard
137 form contains the zone continuation line "-3:00 Brazil %z", which
138 is simpler and more reliable than the line "-3:00 Brazil -03/-02"
139 used in main and rearguard forms. The plan is for the main form
140 to use %z eventually; in the meantime maintainers of zi parsers
141 are encouraged to test the parsers on vanguard.zi.
143 The Makefile has a new PACKRATLIST option to select a subset of
144 'backzone'. For example, 'make PACKRATDATA=backzone
145 PACKRATLIST=zone.tab' now generates TZif files identical to those
146 of the global-tz project.
148 The Makefile has a new tailored_tarballs target for generating
149 special-purpose tarballs. It generalizes and replaces the
150 rearguard_tarballs target and related targets and macros, which
153 'make install' now defaults LOCALTIME to Factory not GMT,
154 which means the default abbreviation is now "-00" not "GMT".
156 Remove the posix_packrat target, marked obsolescent in 2016a.
159 Release 2022a - 2022-03-15 23:02:01 -0700
162 Palestine will spring forward on 2022-03-27, not -03-26.
163 zdump -v now outputs better failure indications.
164 Bug fixes for code that reads corrupted TZif data.
166 Changes to future timestamps
168 Palestine will spring forward on 2022-03-27, not 2022-03-26.
169 (Thanks to Heba Hamad.) Predict future transitions for first
170 Sunday >= March 25. Additionally, predict fallbacks to be the first
171 Friday on or after October 23, not October's last Friday, to be more
172 consistent with recent practice. The first differing fallback
173 prediction is on 2025-10-24, not 2025-10-31.
175 Changes to past timestamps
177 From 1992 through spring 1996, Ukraine's DST transitions were at
178 02:00 standard time, not at 01:00 UTC. (Thanks to Alois Treindl.)
180 Chile's Santiago Mean Time and its LMT precursor have been adjusted
181 eastward by 1 second to align with past and present law.
183 Changes to commentary
185 Add several references for Chile's 1946/1947 transitions, some of
186 which only affected portions of the country.
190 Fix bug when mktime gets confused by truncated TZif files with
191 unspecified local time. (Problem reported by Almaz Mingaleev.)
193 Fix bug when 32-bit time_t code reads malformed 64-bit TZif data.
194 (Problem reported by Christos Zoulas.)
196 When reading a version 2 or later TZif file, the TZif reader now
197 validates the version 1 header and data block only enough to skip
198 over them, as recommended by RFC 8536 section 4. Also, the TZif
199 reader no longer mistakenly attempts to parse a version 1 TZIf
200 file header as a TZ string.
202 zdump -v now outputs "(localtime failed)" and "(gmtime failed)"
203 when local time and UT cannot be determined for a timestamp.
205 Changes to build procedure
207 Distribution tarballs now use standard POSIX.1-1988 ustar format
208 instead of GNU format. Although the formats are almost identical
209 for these tarballs, ustar headers' magic fields contain "ustar"
210 instead of "ustar ", and their version fields contain "00" instead
211 of " ". The two formats are planned to diverge more significantly
212 for tzdb releases after 2242-03-16 12:56:31 UTC, when the ustar
213 format becomes obsolete and the tarballs switch to pax format, an
214 extension of ustar. For details about these formats, please see
215 "pax - portable archive interchange", IEEE Std 1003.1-2017,
216 <https://pubs.opengroup.org/onlinepubs/9699919799/utilities/pax.html#tag_20_92_13>.
219 Release 2021e - 2021-10-21 18:41:00 -0700
221 Changes to future timestamps
223 Palestine will fall back 10-29 (not 10-30) at 01:00.
224 (Thanks to P Chan and Heba Hemad.)
227 Release 2021d - 2021-10-15 13:48:18 -0700
230 Fiji suspends DST for the 2021/2022 season.
231 'zic -r' marks unspecified timestamps with "-00".
233 Changes to future timestamps
235 Fiji will suspend observance of DST for the 2021/2022 season.
236 Assume for now that it will return next year. (Thanks to Jashneel
241 'zic -r' now uses "-00" time zone abbreviations for intervals
242 with UT offsets that are unspecified due to -r truncation.
243 This implements a change in draft Internet RFC 8536bis.
246 Release 2021c - 2021-10-01 14:21:49 -0700
249 Revert most 2021b changes to 'backward'.
250 Fix 'zic -b fat' bug in pre-1970 32-bit data.
251 Fix two Link line typos.
252 Distribute SECURITY file.
254 This release is intended as a bugfix release, to fix compatibility
255 problems and typos reported since 2021b was released.
257 Changes to Link directives
259 Revert almost all of 2021b's changes to the 'backward' file,
260 by moving Link directives back to where they were in 2021a.
261 Although 'zic' doesn't care which source file contains a Link
262 directive, some downstream uses ran into trouble with the move.
263 (Problem reported by Stephen Colebourne for Joda-Time.)
265 Fix typo that linked Atlantic/Jan_Mayen to the wrong location
266 (problem reported by Chris Walton).
268 Fix 'backzone' typo that linked America/Virgin to the wrong
269 location (problem reported by Michael Deckers).
273 Fix a bug in 'zic -b fat' that caused old timestamps to be
274 mishandled in 32-bit-only readers (problem reported by Daniel
277 Changes to documentation
279 Distribute the SECURITY file (problem reported by Andreas Radke).
282 Release 2021b - 2021-09-24 16:23:00 -0700
285 Jordan now starts DST on February's last Thursday.
286 Samoa no longer observes DST.
287 Merge more location-based Zones whose timestamps agree since 1970.
288 Move some backward-compatibility links to 'backward'.
289 Rename Pacific/Enderbury to Pacific/Kanton.
290 Correct many pre-1993 transitions in Malawi, Portugal, etc.
291 zic now creates each output file or link atomically.
292 zic -L no longer omits the POSIX TZ string in its output.
293 zic fixes for truncation and leap second table expiration.
294 zic now follows POSIX for TZ strings using all-year DST.
295 Fix some localtime crashes and bugs in obscure cases.
296 zdump -v now outputs more-useful boundary cases.
297 tzfile.5 better matches a draft successor to RFC 8536.
300 This release is prompted by recent announcements by Jordan and Samoa.
301 It incorporates many other changes that had accumulated since 2021a.
302 However, it omits most proposed changes that merged all Zones
303 agreeing since 1970, as concerns were raised about doing too many of
304 these changes at once. It does keeps some of these changes in the
305 interest of making tzdb more equitable one step at a time; see
306 "Merge more location-based Zones" below.
308 Changes to future timestamps
310 Jordan now starts DST on February's last Thursday.
311 (Thanks to Steffen Thorsen.)
313 Samoa no longer observes DST. (Thanks to Geoffrey D. Bennett.)
317 Rename Pacific/Enderbury to Pacific/Kanton. When we added
318 Enderbury in 1993, we did not know that it is uninhabited and that
319 Kanton (population two dozen) is the only inhabited location in
320 that timezone. The old name is now a backward-compatibility link.
322 Changes to past timestamps
324 Correct many pre-1993 transitions, fixing entries originally
325 derived from Shanks, Whitman, and Mundell. The fixes include:
326 - Barbados: standard time was introduced in 1911, not 1932; and
327 DST was observed in 1942-1944
328 - Cook Islands: In 1899 they switched from east to west of GMT,
329 celebrating Christmas for two days. They (and Niue) switched
330 to standard time in 1952, not 1901.
331 - Guyana: corrected LMT for Georgetown; the introduction of
332 standard time in 1911, not 1915; and corrections to 1975 and
334 - Kanton: uninhabited before 1937-08-31
335 - Niue: only observed -11:20 from 1952 through 1964, then went to
336 -11 instead of -11:30
337 - Portugal: DST was observed in 1950
338 - Tonga: corrected LMT; the introduction of standard time in 1945,
339 not 1901; and corrections to the transition from +12:20 to +13
341 Additional fixes to entries in the 'backzone' file include:
342 - Enderbury: inhabited only 1860/1885 and 1938-03-06/1942-02-09
343 - The Gambia: 1933 and 1942 transitions
344 - Malawi: several 1911 through 1925 transitions
345 - Sierra Leone: several 1913 through 1941 transitions, and DST
346 was NOT observed in 1957 through 1962
347 (Thanks to P Chan, Michael Deckers, Alexander Krivenyshev and
350 Merge more location-based Zones whose timestamps agree since 1970,
351 as pre-1970 timestamps are out of scope. This is part of a
352 process that has been ongoing since 2013. This does not affect
353 post-1970 timestamps, and timezone historians who build with 'make
354 PACKRATDATA=backzone' should see no changes to pre-1970 timestamps.
355 When merging, keep the most-populous location's data, and move
356 data for other locations to 'backzone' with a backward
357 link in 'backward'. For example, move America/Creston data to
358 'backzone' with a link in 'backward' from America/Phoenix because
359 the two timezones' timestamps agree since 1970; this change
360 affects some pre-1968 timestamps in America/Creston because
361 Creston and Phoenix disagreed before 1968. The affected Zones
362 are Africa/Accra, America/Atikokan, America/Blanc-Sablon,
363 America/Creston, America/Curacao, America/Nassau,
364 America/Port_of_Spain, Antarctica/DumontDUrville, and
367 Changes to maintenance procedure
369 The new file SECURITY covers how to report security-related bugs.
371 Several backward-compatibility links have been moved to the
372 'backward' file. These links, which range from Africa/Addis_Ababa
373 to Pacific/Saipan, are only for compatibility with now-obsolete
374 guidelines suggesting an entry for every ISO 3166 code.
375 The intercontinental convenience links Asia/Istanbul and
376 Europe/Nicosia have also been moved to 'backward'.
380 zic now creates each output file or link atomically,
381 possibly by creating a temporary file and then renaming it.
382 This avoids races where a TZ setting would temporarily stop
383 working while zic was installing a replacement file or link.
385 zic -L no longer omits the POSIX TZ string in its output.
386 Starting with 2020a, zic -L truncated its output according to the
387 "Expires" directive or "#expires" comment in the leapseconds file.
388 The resulting TZif files omitted daylight saving transitions after
389 the leap second table expired, which led to far less-accurate
390 predictions of times after the expiry. Although future timestamps
391 cannot be converted accurately in the presence of leap seconds, it
392 is more accurate to convert near-future timestamps with a few
393 seconds error than with an hour error, so zic -L no longer
394 truncates output in this way.
396 Instead, when zic -L is given the "Expires" directive, it now
397 outputs the expiration by appending a no-change entry to the leap
398 second table. Although this should work well with most TZif
399 readers, it does not conform to Internet RFC 8536 and some pickier
400 clients (including tzdb 2017c through 2021a) reject it, so
401 "Expires" directives are currently disabled by default. To enable
402 them, set the EXPIRES_LINE Makefile variable. If a TZif file uses
403 this new feature it is marked with a new TZif version number 4,
404 a format intended to be documented in a successor to RFC 8536.
406 zic -L LEAPFILE -r @LO no longer generates an invalid TZif file
407 that omits leap second information for the range LO..B when LO
408 falls between two leap seconds A and B. Instead, it generates a
409 TZif version 4 file that represents the previously-missing
412 The TZif reader now allows the leap second table to begin with a
413 correction other than -1 or +1, and to contain adjacent
414 transitions with equal corrections. This supports TZif version 4.
416 The TZif reader now lets leap seconds occur less than 28 days
417 apart. This supports possible future TZif extensions.
419 Fix bug that caused 'localtime' etc. to crash when TZ was
420 set to a all-year DST string like "EST5EDT4,0/0,J365/25" that does
421 not conform to POSIX but does conform to Internet RFC 8536.
423 Fix another bug that caused 'localtime' etc. to crash when TZ was
424 set to a POSIX-conforming but unusual TZ string like
425 "EST5EDT4,0/0,J365/0", where almost all the year is DST.
427 Fix yet another bug that caused 'localtime' etc. to mishandle slim
428 TZif files containing leap seconds after the last explicit
429 transition in the table, or when handling far-future timestamps
430 in slim TZif files lacking leap seconds.
432 Fix localtime misbehavior involving positive leap seconds.
433 This change affects only behavior for "right" system time,
434 which contains leap seconds, and only if the UT offset is
435 not a multiple of 60 seconds when a positive leap second occurs.
436 (No such timezone exists in tzdb, luckily.) Without the fix,
437 the timestamp was ambiguous during a positive leap second.
438 With the fix, any seconds occurring after a positive leap second
439 and within the same localtime minute are counted through 60, not
440 through 59; their UT offset (tm_gmtoff) is the same as before.
441 Here is how the fix affects timestamps in a timezone with UT
442 offset +01:23:45 (5025 seconds) and with a positive leap second at
443 1972-06-30 23:59:60 UTC (78796800):
445 time_t without the fix with the fix
446 78796800 1972-07-01 01:23:45 1972-07-01 01:23:45 (leap second)
447 78796801 1972-07-01 01:23:45 1972-07-01 01:23:46
449 78796815 1972-07-01 01:23:59 1972-07-01 01:23:60
450 78796816 1972-07-01 01:24:00 1972-07-01 01:24:00
452 Fix an unlikely bug that caused 'localtime' etc. to misbehave if
453 civil time changes a few seconds before time_t wraps around, when
454 leap seconds are enabled.
456 Fix bug in zic -r; in some cases, the dummy time type after the
457 last time transition disagreed with the TZ string, contrary to
458 Internet RFC 8563 section 3.3.
460 Fix a bug with 'zic -r @X' when X is a negative leap second that
461 has a nonnegative correction. Without the fix, the output file
462 was truncated so that X appeared to be a positive leap second.
463 Fix a similar, even-less-likely bug when truncating at a positive
464 leap second that has a nonpositive correction.
466 zic -r now reports an error if given rolling leap seconds, as this
467 usage has never generally worked and is evidently unused.
469 zic now generates a POSIX-conforming TZ string for TZif files
470 where all-year DST is predicted for the indefinite future.
471 For example, for all-year Eastern Daylight Time, zic now generates
472 "XXX3EDT4,0/0,J365/23" where it previously generated
473 "EST5EDT,0/0,J365/25" or "". (Thanks to Michael Deckers for
474 noting the possibility of POSIX conformance.)
476 zic.c no longer requires sys/wait.h (thanks to spazmodius for
477 noting it wasn't needed).
479 When reading slim TZif files, zdump no longer mishandles leap
480 seconds on the rare platforms where time_t counts leap seconds,
481 fixing a bug introduced in 2014g.
483 zdump -v now outputs timestamps at boundaries of what localtime
484 and gmtime can represent, instead of the less-useful timestamps
485 one day after the minimum and one day before the maximum.
486 (Thanks to Arthur David Olson for prototype code, and to Manuela
487 Friedrich for debugging help.)
489 zdump's -c and -t options are now consistently inclusive for the
490 lower time bound and exclusive for the upper. Formerly they were
491 inconsistent. (Confusion noted by Martin Burnicki.)
493 Changes to build procedure
495 You can now compile with -DHAVE_MALLOC_ERRNO=0 to port to
496 non-POSIX hosts where malloc doesn't set errno.
497 (Problem reported by Jan Engelhardt.)
499 Changes to documentation
501 tzfile.5 better matches a draft successor to RFC 8536
502 <https://datatracker.ietf.org/doc/draft-murchison-rfc8536bis/01/>.
505 Release 2021a - 2021-01-24 10:54:57 -0800
507 Changes to future timestamps
509 South Sudan changes from +03 to +02 on 2021-02-01 at 00:00.
510 (Thanks to Steffen Thorsen.)
513 Release 2020f - 2020-12-29 00:17:46 -0800
515 Change to build procedure
517 'make rearguard_tarballs' no longer generates a bad rearguard.zi,
518 fixing a 2020e bug. (Problem reported by Deborah Goldsmith.)
521 Release 2020e - 2020-12-22 15:14:34 -0800
524 Volgograd switches to Moscow time on 2020-12-27 at 02:00.
526 Changes to future timestamps
528 Volgograd changes time zone from +04 to +03 on 2020-12-27 at 02:00.
529 (Thanks to Alexander Krivenyshev and Stepan Golosunov.)
531 Changes to past timestamps
533 Correct many pre-1986 transitions, fixing entries originally
534 derived from Shanks. The fixes include:
535 - Australia: several 1917 through 1971 transitions
536 - The Bahamas: several 1941 through 1945 transitions
537 - Bermuda: several 1917 through 1956 transitions
538 - Belize: several 1942 through 1968 transitions
539 - Ghana: several 1915 through 1956 transitions
540 - Israel and Palestine: several 1940 through 1985 transitions
541 - Kenya and adjacent: several 1908 through 1960 transitions
542 - Nigeria and adjacent: correcting LMT in Lagos, and several 1905
543 through 1919 transitions
544 - Seychelles: the introduction of standard time in 1907, not 1906
545 - Vanuatu: DST in 1973-1974, and a corrected 1984 transition
548 Because of the Australia change, Australia/Currie (King Island) is
549 no longer needed, as it is identical to Australia/Hobart for all
550 timestamps since 1970 and was therefore created by mistake.
551 Australia/Currie has been moved to the 'backward' file and its
552 corrected data moved to the 'backzone' file.
554 Changes to past time zone abbreviations and DST flags
556 To better match legislation in Turks and Caicos, the 2015 shift to
557 year-round observance of -04 is now modeled as AST throughout before
558 returning to Eastern Time with US DST in 2018, rather than as
559 maintaining EDT until 2015-11-01. (Thanks to P Chan.)
561 Changes to documentation
563 The zic man page now documents zic's coalescing of transitions
564 when a zone falls back just before DST springs forward.
567 Release 2020d - 2020-10-21 11:24:13 -0700
570 Palestine ends DST earlier than predicted, on 2020-10-24.
572 Changes to past and future timestamps
574 Palestine ends DST on 2020-10-24 at 01:00, instead of 2020-10-31
575 as previously predicted (thanks to Sharef Mustafa.) Its
576 2019-10-26 fall-back was at 00:00, not 01:00 (thanks to Steffen
577 Thorsen.) Its 2015-10-23 transition was at 01:00 not 00:00, and
578 its spring 2020 transition was on March 28 at 00:00, not March 27
579 (thanks to Pierre Cashon.) This affects Asia/Gaza and
580 Asia/Hebron. Assume future spring and fall transitions will be on
581 the Saturday preceding the last Sunday of March and October,
585 Release 2020c - 2020-10-16 11:15:53 -0700
588 Fiji starts DST later than usual, on 2020-12-20.
590 Changes to future timestamps
592 Fiji will start DST on 2020-12-20, instead of 2020-11-08 as
593 previously predicted. DST will still end on 2021-01-17.
594 (Thanks to Raymond Kumar and Alan Mintz.) Assume for now that
595 the later-than-usual start date is a one-time departure from the
598 Changes to build procedure
600 Rearguard tarballs now contain an empty file pacificnew.
601 Some older downstream software expects this file to exist.
602 (Problem reported by Mike Cullinan.)
605 Release 2020b - 2020-10-06 18:35:04 -0700
608 Revised predictions for Morocco's changes starting in 2023.
609 Canada's Yukon changes to -07 on 2020-11-01, not 2020-03-08.
610 Macquarie Island has stayed in sync with Tasmania since 2011.
611 Casey, Antarctica is at +08 in winter and +11 in summer.
612 zic no longer supports -y, nor the TYPE field of Rules.
614 Changes to future timestamps
616 Morocco's spring-forward after Ramadan is now predicted to occur
617 no sooner than two days after Ramadan, instead of one day.
618 (Thanks to Milamber.) The first altered prediction is for 2023,
619 now predicted to spring-forward on April 30 instead of April 23.
621 Changes to past and future timestamps
623 Casey Station, Antarctica has been using +08 in winter and +11 in
624 summer since 2018. The most recent transition from +08 to +11 was
625 2020-10-04 00:01. Also, Macquarie Island has been staying in
626 sync with Tasmania since 2011. (Thanks to Steffen Thorsen.)
628 Changes to past and future time zone abbreviations and DST flags
630 Canada's Yukon, represented by America/Whitehorse and
631 America/Dawson, changes its time zone rules from -08/-07 to
632 permanent -07 on 2020-11-01, not on 2020-03-08 as 2020a had it.
633 This change affects only the time zone abbreviation (MST vs PDT)
634 and daylight saving flag for the period between the two dates.
635 (Thanks to Andrew G. Smith.)
637 Changes to past timestamps
639 Correct several transitions for Hungary for 1918/1983.
640 For example, the 1983-09-25 fall-back was at 01:00, not 03:00.
641 (Thanks to Géza Nyáry.) Also, the 1890 transition to standard
642 time was on 11-01, not 10-01 (thanks to Michael Deckers).
644 The 1891 French transition was on March 16, not March 15. The
645 1911-03-11 French transition was at midnight, not a minute later.
646 Monaco's transitions were on 1892-06-01 and 1911-03-29, not
647 1891-03-15 and 1911-03-11. (Thanks to Michael Deckers.)
651 Support for zic's long-obsolete '-y YEARISTYPE' option has been
652 removed and, with it, so has support for the TYPE field in Rule
653 lines, which is now reserved for compatibility with earlier zic.
654 These features were previously deprecated in release 2015f.
655 (Thanks to Tim Parenti.)
657 zic now defaults to '-b slim' instead of to '-b fat'.
659 zic's new '-l -' and '-p -' options uninstall any existing
660 localtime and posixrules files, respectively.
662 The undocumented and ineffective tzsetwall function has been
665 Changes to build procedure
667 The Makefile now defaults POSIXRULES to '-', so the posixrules
668 feature (obsolete as of 2019b) is no longer installed by default.
670 Changes to documentation and commentary
672 The long-obsolete files pacificnew, systemv, and yearistype.sh have
673 been removed from the distribution. (Thanks to Tim Parenti.)
676 Release 2020a - 2020-04-23 16:03:47 -0700
679 Morocco springs forward on 2020-05-31, not 2020-05-24.
680 Canada's Yukon advanced to -07 year-round on 2020-03-08.
681 America/Nuuk renamed from America/Godthab.
682 zic now supports expiration dates for leap second lists.
684 Changes to future timestamps
686 Morocco's second spring-forward transition in 2020 will be May 31,
687 not May 24 as predicted earlier. (Thanks to Semlali Naoufal.)
688 Adjust future-year predictions to use the first Sunday after the
689 day after Ramadan, not the first Sunday after Ramadan.
691 Canada's Yukon, represented by America/Whitehorse and
692 America/Dawson, advanced to -07 year-round, beginning with its
693 spring-forward transition on 2020-03-08, and will not fall back on
694 2020-11-01. Although a government press release calls this
695 "permanent Pacific Daylight Saving Time", we prefer MST for
696 consistency with nearby Dawson Creek, Creston, and Fort Nelson.
697 (Thanks to Tim Parenti.)
699 Changes to past timestamps
701 Shanghai observed DST in 1919. (Thanks to Phake Nick.)
703 Changes to timezone identifiers
705 To reflect current usage in English better, America/Godthab has
706 been renamed to America/Nuuk. A backwards-compatibility link
707 remains for the old name.
711 localtime.c no longer mishandles timestamps after the last
712 transition in a TZif file with leap seconds and with daylight
713 saving time transitions projected into the indefinite future.
714 For example, with TZ='America/Los_Angeles' with leap seconds,
715 zdump formerly reported a DST transition on 2038-03-14
716 from 01:59:32.999... to 02:59:33 instead of the correct transition
717 from 01:59:59.999... to 03:00:00.
719 zic -L now supports an Expires line in the leapseconds file, and
720 truncates the TZif output accordingly. This propagates leap
721 second expiration information into the TZif file, and avoids the
722 abovementioned localtime.c bug as well as similar bugs present in
723 many client implementations. If no Expires line is present, zic
724 -L instead truncates the TZif output based on the #expires comment
725 present in leapseconds files distributed by tzdb 2018f and later;
726 however, this usage is obsolescent. For now, the distributed
727 leapseconds file has an Expires line that is commented out, so
728 that the file can be fed to older versions of zic which ignore the
729 commented-out line. Future tzdb distributions are planned to
730 contain a leapseconds file with an Expires line.
732 The configuration macros HAVE_TZNAME and USG_COMPAT should now be
733 set to 1 if the system library supports the feature, and 2 if not.
734 As before, these macros are nonzero if tzcode should support the
735 feature, zero otherwise.
737 The configuration macro ALTZONE now has the same values with the
738 same meaning as HAVE_TZNAME and USG_COMPAT.
740 The code's defense against CRLF in leap-seconds.list is now
741 portable to POSIX awk. (Problem reported by Deborah Goldsmith.)
743 Although the undocumented tzsetwall function is not changed in
744 this release, it is now deprecated in preparation for removal in
745 future releases. Due to POSIX requirements, tzsetwall has not
746 worked for some time. Any code that uses it should instead use
747 tzalloc(NULL) or, if portability trumps thread-safety, should
748 unset the TZ environment variable.
750 Changes to commentary
752 The Îles-de-la-Madeleine and the Listuguj reserve are noted as
753 following America/Halifax, and comments about Yukon's "south" and
754 "north" have been corrected to say "east" and "west". (Thanks to
758 Release 2019c - 2019-09-11 08:59:48 -0700
761 Fiji observes DST from 2019-11-10 to 2020-01-12.
762 Norfolk Island starts observing Australian-style DST.
764 Changes to future timestamps
766 Fiji's next DST transitions will be 2019-11-10 and 2020-01-12
767 instead of 2019-11-03 and 2020-01-19. (Thanks to Raymond Kumar.)
768 Adjust future guesses accordingly.
770 Norfolk Island will observe Australian-style DST starting in
771 spring 2019. The first transition is on 2019-10-06. (Thanks to
772 Kyle Czech and Michael Deckers.)
774 Changes to past timestamps
776 Many corrections to time in Turkey from 1940 through 1985.
777 (Thanks to Oya Vulaş via Alois Treindl, and to Kıvanç Yazan.)
779 The Norfolk Island 1975-03-02 transition was at 02:00 standard
780 time, not 02:00 DST. (Thanks to Michael Deckers.)
782 South Korea observed DST from 1948 through 1951. Although this
783 info was supposed to appear in release 2014j, a typo inadvertently
784 suppressed the change. (Thanks to Alois Treindl.)
786 Detroit observed DST in 1967 and 1968 following the US DST rules,
787 except that its 1967 DST began on June 14 at 00:01. (Thanks to
788 Alois Treindl for pointing out that the old data entries were
791 Fix several errors in pre-1970 transitions in Perry County, IN.
792 (Thanks to Alois Treindl for pointing out the 1967/9 errors.)
794 Edmonton did not observe DST in 1967 or 1969. In 1946 Vancouver
795 ended DST on 09-29 not 10-13, and Vienna ended DST on 10-07 not
796 10-06. In 1945 Königsberg (now Kaliningrad) switched from +01/+02
797 to +02/+03 on 04-10 not 01-01, and its +02/+03 is abbreviated
798 EET/EEST, not CET/CEST. (Thanks to Alois Treindl.) In 1946
799 Königsberg switched to +03 on 04-07 not 01-01.
801 In 1946 Louisville switched from CST to CDT on 04-28 at 00:01, not
802 01-01 at 00:00. (Thanks to Alois Treindl and Michael Deckers.)
803 Also, it switched from CST to CDT on 1950-04-30, not 1947-04-27.
805 The 1892-05-01 transition in Brussels was at 00:17:30, not at noon.
806 (Thanks to Michael Deckers.)
808 Changes to past time zone abbreviations and DST flags
810 Hong Kong Winter Time, observed from 1941-10-01 to 1941-12-25,
811 is now flagged as DST and is abbreviated HKWT not HKT.
815 leapseconds.awk now relies only on its input data, rather than
816 also relying on its comments. (Inspired by code from Dennis
817 Ferguson and Chris Woodbury.)
819 The code now defends against CRLFs in leap-seconds.list.
820 (Thanks to Brian Inglis and Chris Woodbury.)
822 Changes to documentation and commentary
824 theory.html discusses leap seconds. (Thanks to Steve Summit.)
826 Nashville's newspapers dueled about the time of day in the 1950s.
827 (Thanks to John Seigenthaler.)
829 Liechtenstein observed Swiss DST in 1941/2.
830 (Thanks to Alois Treindl.)
833 Release 2019b - 2019-07-01 00:09:53 -0700
836 Brazil no longer observes DST.
837 'zic -b slim' outputs smaller TZif files; please try it out.
838 Palestine's 2019 spring-forward transition was on 03-29, not 03-30.
840 Changes to future timestamps
842 Brazil has canceled DST and will stay on standard time indefinitely.
843 (Thanks to Steffen Thorsen, Marcus Diniz, and Daniel Soares de
846 Predictions for Morocco now go through 2087 instead of 2037, to
847 work around a problem on newlib when using TZif files output by
848 zic 2019a or earlier. (Problem reported by David Gauchard.)
850 Changes to past and future timestamps
852 Palestine's 2019 spring transition was 03-29 at 00:00, not 03-30
853 at 01:00. (Thanks to Sharef Mustafa and Even Scharning.) Guess
854 future transitions to be March's last Friday at 00:00.
856 Changes to past timestamps
858 Hong Kong's 1941-06-15 spring-forward transition was at 03:00, not
859 03:30. Its 1945 transition from JST to HKT was on 11-18 at 02:00,
860 not 09-15 at 00:00. In 1946 its spring-forward transition was on
861 04-21 at 00:00, not the previous day at 03:30. From 1946 through
862 1952 its fall-back transitions occurred at 04:30, not at 03:30.
863 In 1947 its fall-back transition was on 11-30, not 12-30.
866 Changes to past time zone abbreviations
868 Italy's 1866 transition to Rome Mean Time was on December 12, not
869 September 22. This affects only the time zone abbreviation for
870 Europe/Rome between those dates. (Thanks to Stephen Trainor and
873 Changes affecting metadata only
875 Add info about the Crimea situation in zone1970.tab and zone.tab.
876 (Problem reported by Serhii Demediuk.)
880 zic's new -b option supports a way to control data bloat and to
881 test for year-2038 bugs in software that reads TZif files.
882 'zic -b fat' and 'zic -b slim' generate larger and smaller output;
883 for example, changing from fat to slim shrinks the Europe/London
884 file from 3648 to 1599 bytes, saving about 56%. Fat and slim
885 files represent the same set of timestamps and use the same TZif
886 format as documented in tzfile(5) and in Internet RFC 8536.
887 Fat format attempts to work around bugs or incompatibilities in
888 older software, notably software that mishandles 64-bit TZif data
889 or uses obsolete TZ strings like "EET-2EEST" that lack DST rules.
890 Slim format is more efficient and does not work around 64-bit bugs
891 or obsolete TZ strings. Currently zic defaults to fat format
892 unless you compile with -DZIC_BLOAT_DEFAULT=\"slim\"; this
893 out-of-the-box default is intended to change in future releases
894 as the buggy software often mishandles timestamps anyway.
896 zic no longer treats a set of rules ending in 2037 specially.
897 Previously, zic assumed that such a ruleset meant that future
898 timestamps could not be predicted, and therefore omitted a
899 POSIX-like TZ string in the TZif output. The old behavior is no
900 longer needed for current tzdata, and caused problems with newlib
901 when used with older tzdata (reported by David Gauchard).
903 zic no longer generates some artifact transitions. For example,
904 Europe/London no longer has a no-op transition in January 1996.
906 Changes to build procedure
908 tzdata.zi now assumes zic 2017c or later. This shrinks tzdata.zi
911 Changes to documentation and commentary
913 The Makefile now documents the POSIXRULES macro as being obsolete,
914 and similarly, zic's -p POSIXRULES option is now documented as
915 being obsolete. Although the POSIXRULES feature still exists and
916 works as before, in practice it is rarely used for its intended
917 purpose, and it does not work either in the default reference
918 implementation (for timestamps after 2037) or in common
919 implementations such as GNU/Linux (for contemporary timestamps).
920 Since POSIXRULES was designed primarily as a temporary transition
921 facility for System V platforms that died off decades ago, it is
922 being decommissioned rather than institutionalized.
924 New info on Bonin Islands and Marcus (thanks to Wakaba and Phake Nick).
927 Release 2019a - 2019-03-25 22:01:33 -0700
930 Palestine "springs forward" on 2019-03-30 instead of 2019-03-23.
931 Metlakatla "fell back" to rejoin Alaska Time on 2019-01-20 at 02:00.
933 Changes to past and future timestamps
935 Palestine will not start DST until 2019-03-30, instead of 2019-03-23 as
936 previously predicted. Adjust our prediction by guessing that spring
937 transitions will be between 24 and 30 March, which matches recent practice
938 since 2016. (Thanks to Even Scharning and Tim Parenti.)
940 Metlakatla ended its observance of Pacific standard time,
941 rejoining Alaska Time, on 2019-01-20 at 02:00. (Thanks to Ryan
942 Stanley and Tim Parenti.)
944 Changes to past timestamps
946 Israel observed DST in 1980 (08-02/09-13) and 1984 (05-05/08-25).
947 (Thanks to Alois Treindl and Isaac Starkman.)
949 Changes to time zone abbreviations
951 Etc/UCT is now a backward-compatibility link to Etc/UTC, instead
952 of being a separate zone that generates the abbreviation "UCT",
953 which nowadays is typically a typo. (Problem reported by Isiah
958 zic now has an -r option to limit the time range of output data.
959 For example, 'zic -r @1000000000' limits the output data to
960 timestamps starting 1000000000 seconds after the Epoch.
961 This helps shrink output size and can be useful for applications
962 not needing the full timestamp history, such as TZDIST truncation;
963 see Internet RFC 8536 section 5.1. (Inspired by a feature request
964 from Christopher Wong, helped along by bug reports from Wong and
967 Changes to documentation
969 Mention Internet RFC 8536 (February 2019), which documents TZif.
971 tz-link.html now cites tzdata-meta
972 <https://tzdata-meta.timtimeonline.com/>.
975 Release 2018i - 2018-12-30 11:05:43 -0800
978 São Tomé and Príncipe switches from +01 to +00 on 2019-01-01.
980 Changes to future timestamps
982 Due to a change in government, São Tomé and Príncipe switches back
983 from +01 to +00 on 2019-01-01 at 02:00. (Thanks to Vadim
984 Nasardinov and Michael Deckers.)
987 Release 2018h - 2018-12-23 17:59:32 -0800
990 Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
991 New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
992 Metlakatla, Alaska observes PST this winter only.
993 Guess Morocco will continue to adjust clocks around Ramadan.
994 Add predictions for Iran from 2038 through 2090.
996 Changes to future timestamps
998 Guess that Morocco will continue to fall back just before and
999 spring forward just after Ramadan, the practice since 2012.
1000 (Thanks to Maamar Abdelkader.) This means Morocco will observe
1001 negative DST during Ramadan in main and vanguard formats, and in
1002 rearguard format it stays in the +00 timezone and observes
1003 ordinary DST in all months other than Ramadan. As before, extend
1004 this guesswork to the year 2037. As a consequence, Morocco is
1005 scheduled to observe three DST transitions in some Gregorian years
1006 (e.g., 2033) due to the mismatch between the Gregorian and Islamic
1009 The table of exact transitions for Iranian DST has been extended.
1010 It formerly cut off before the year 2038 in a nod to 32-bit time_t.
1011 It now cuts off before 2091 as there is doubt about how the Persian
1012 calendar will treat 2091. This change predicts DST transitions in
1013 2038-9, 2042-3, and 2046-7 to occur one day later than previously
1014 predicted. As before, post-cutoff transitions are approximated.
1016 Changes to past and future timestamps
1018 Qyzylorda (aka Kyzylorda) oblast in Kazakhstan moved from +06 to
1019 +05 on 2018-12-21. This is a zone split as Qostanay (aka
1020 Kostanay) did not switch, so create a zone Asia/Qostanay.
1022 Metlakatla moved from Alaska to Pacific standard time on 2018-11-04.
1023 It did not change clocks that day and remains on -08 this winter.
1024 (Thanks to Ryan Stanley.) It will revert to the usual Alaska
1025 rules next spring, so this change affects only timestamps
1026 from 2018-11-04 through 2019-03-10.
1028 Change to past timestamps
1030 Kwajalein's 1993-08-20 transition from -12 to +12 was at 24:00,
1031 not 00:00. I transcribed the time incorrectly from Shanks.
1032 (Thanks to Phake Nick.)
1034 Nauru's 1979 transition was on 02-10 at 02:00, not 05-01 at 00:00.
1035 (Thanks to Phake Nick.)
1037 Guam observed DST irregularly from 1959 through 1977.
1038 (Thanks to Phake Nick.)
1040 Hong Kong observed DST in 1941 starting 06-15 (not 04-01), then on
1041 10-01 changed standard time to +08:30 (not +08). Its transition
1042 back to +08 after WWII was on 1945-09-15, not the previous day.
1043 Its 1904-10-30 change took effect at 01:00 +08 (not 00:00 LMT).
1044 (Thanks to Phake Nick, Steve Allen, and Joseph Myers.) Also,
1045 its 1952 fallback was on 11-02 (not 10-25).
1047 This release contains many changes to timestamps before 1946 due
1048 to Japanese possession or occupation of Pacific/Chuuk,
1049 Pacific/Guam, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro,
1050 Pacific/Nauru, Pacific/Palau, and Pacific/Pohnpei.
1051 (Thanks to Phake Nick.)
1053 Assume that the Spanish East Indies was like the Philippines and
1054 observed American time until the end of 1844. This affects
1055 Pacific/Chuuk, Pacific/Kosrae, Pacific/Palau, and Pacific/Pohnpei.
1057 Changes to past tm_isdst flags
1059 For the recent Morocco change, the tm_isdst flag should be 1 from
1060 2018-10-27 00:00 to 2018-10-28 03:00. (Thanks to Michael Deckers.)
1061 Give a URL to the official decree. (Thanks to Matt Johnson.)
1064 Release 2018g - 2018-10-26 22:22:45 -0700
1067 Morocco switches to permanent +01 on 2018-10-28.
1069 Changes to future timestamps
1071 Morocco switches from +00/+01 to permanent +01 effective 2018-10-28,
1072 so its clocks will not fall back as previously scheduled.
1073 (Thanks to Mohamed Essedik Najd and Brian Inglis.)
1077 When generating TZif files with leap seconds, zic no longer uses a
1078 format that trips up older 32-bit clients, fixing a bug introduced
1079 in 2018f. (Reported by Daniel Fischer.) Also, the zic workaround
1080 for QTBUG-53071 now also works for TZif files with leap seconds.
1082 The translator to rearguard format now rewrites the line
1083 "Rule Japan 1948 1951 - Sep Sat>=8 25:00 0 S" to
1084 "Rule Japan 1948 1951 - Sep Sun>=9 1:00 0 S".
1085 This caters to zic before 2007 and to Oracle TZUpdater 2.2.0
1086 and earlier. (Reported by Christos Zoulas.)
1088 Changes to past time zone abbreviations
1090 Change HDT to HWT/HPT for WWII-era abbreviations in Hawaii.
1091 This reverts to 2011h, as the abbreviation change in 2011i was
1094 Changes to documentation
1096 tzfile.5 has new sections on interoperability issues.
1099 Release 2018f - 2018-10-18 00:14:18 -0700
1102 Volgograd moves from +03 to +04 on 2018-10-28.
1103 Fiji ends DST 2019-01-13, not 2019-01-20.
1104 Most of Chile changes DST dates, effective 2019-04-06.
1106 Changes to future timestamps
1108 Volgograd moves from +03 to +04 on 2018-10-28 at 02:00.
1109 (Thanks to Alexander Fetisov and Stepan Golosunov.)
1111 Fiji ends DST 2019-01-13 instead of the 2019-01-20 previously
1112 predicted. (Thanks to Raymond Kumar.) Adjust future predictions
1115 Most of Chile will end DST on the first Saturday in April at 24:00 mainland
1116 time, and resume DST on the first Saturday in September at 24:00 mainland
1117 time. The changes are effective from 2019-04-06, and do not affect the
1118 Magallanes region modeled by America/Punta_Arenas. (Thanks to Juan Correa
1119 and Tim Parenti.) Adjust future predictions accordingly.
1121 Changes to past timestamps
1123 The 2018-05-05 North Korea 30-minute time zone change took place
1124 at 23:30 the previous day, not at 00:00 that day.
1126 China's 1988 spring-forward transition was on April 17, not
1127 April 10. Its DST transitions in 1986/91 were at 02:00, not 00:00.
1130 Fix several issues for Macau before 1992. Macau's pre-1904 LMT
1131 was off by 10 s. Macau switched to +08 in 1904 not 1912, and
1132 temporarily switched to +09/+10 during World War II. Macau
1133 observed DST in 1942/79, not 1961/80, and there were several
1134 errors for transition times and dates. (Thanks to P Chan.)
1136 The 1948-1951 fallback transitions in Japan were at 25:00 on
1137 September's second Saturday, not at 24:00. (Thanks to Phake Nick.)
1138 zic turns this into 01:00 on the day after September's second
1139 Saturday, which is the best that POSIX or C platforms can do.
1141 Incorporate 1940-1949 Asia/Shanghai DST transitions from a 2014
1142 paper by Li Yu, replacing more-questionable data from Shanks.
1144 Changes to time zone abbreviations
1146 Use "PST" and "PDT" for Philippine time. (Thanks to Paul Goyette.)
1150 zic now always generates TZif files where time type 0 is used for
1151 timestamps before the first transition. This simplifies the
1152 reading of TZif files and should not affect behavior of existing
1153 TZif readers because the same set of time types is used; only
1154 their internal indexes may have changed. This affects only the
1155 legacy zones EST5EDT, CST6CDT, MST7MDT, PST8PDT, CET, MET, and
1156 EET, which previously used nonzero types for these timestamps.
1158 Because of the type 0 change, zic no longer outputs a dummy
1159 transition at time -2**59 (before the Big Bang), as clients should
1160 no longer need this to handle historical timestamps correctly.
1161 This reverts a change introduced in 2013d and shrinks most TZif
1162 files by a few bytes.
1164 zic now supports negative time-of-day in Rule and Leap lines, e.g.,
1165 "Rule X min max - Apr lastSun -6:00 1:00 -" means the transition
1166 occurs at 18:00 on the Saturday before the last Sunday in April.
1167 This behavior was documented in 2018a but the code did not
1168 entirely match the documentation.
1170 localtime.c no longer requires at least one time type in TZif
1171 files that lack transitions or have a POSIX-style TZ string. This
1172 future-proofs the code against possible future extensions to the
1173 format that would allow TZif files with POSIX-style TZ strings and
1174 without transitions or time types.
1176 A read-access subscript error in localtime.c has been fixed.
1177 It could occur only in TZif files with timecnt == 0, something that
1178 does not happen in practice now but could happen in future versions.
1180 localtime.c no longer ignores TZif POSIX-style TZ strings that
1181 specify only standard time. Instead, these TZ strings now
1182 override the default time type for timestamps after the last
1183 transition (or for all timestamps if there are no transitions),
1184 just as DST strings specifying DST have always done.
1186 leapseconds.awk now outputs "#updated" and "#expires" comments,
1187 and supports leap seconds at the ends of months other than June
1188 and December. (Inspired by suggestions from Chris Woodbury.)
1190 Changes to documentation
1192 New restrictions: A Rule name must start with a character that
1193 is neither an ASCII digit nor "-" nor "+", and an unquoted name
1194 should not use characters in the set "!$%&'()*,/:;<=>?@[\]^`{|}~".
1195 The latter restriction makes room for future extensions (a
1196 possibility noted by Tom Lane).
1198 tzfile.5 now documents what time types apply before the first and
1199 after the last transition, if any.
1201 Documentation now uses the spelling "timezone" for a TZ setting
1202 that determines timestamp history, and "time zone" for a
1203 geographic region currently sharing the same standard time.
1205 The name "TZif" is now used for the tz binary data format.
1207 tz-link.htm now mentions the A0 TimeZone Migration utilities.
1208 (Thanks to Aldrin Martoq for the link.)
1210 Changes to build procedure
1212 New 'make' target 'rearguard_tarballs' to build the rearguard
1213 tarball only. This is a convenience on platforms that lack lzip
1214 if you want to build the rearguard tarball. (Problem reported by
1217 tzdata.zi is now more stable from release to release. (Problem
1218 noted by Tom Lane.) It is also a bit shorter.
1220 tzdata.zi now can contain comment lines documenting configuration
1221 information, such as which data format was selected, which input
1222 files were used, and how leap seconds are treated. (Problems
1223 noted by Lester Caine and Brian Inglis.) If the Makefile defaults
1224 are used these comment lines are absent, for backward
1225 compatibility. A redistributor intending to alter its copy of the
1226 files should also append "-LABEL" to the 'version' file's first
1227 line, where "LABEL" identifies the redistributor's change.
1230 Release 2018e - 2018-05-01 23:42:51 -0700
1234 North Korea switches back to +09 on 2018-05-05.
1235 The main format uses negative DST again, for Ireland etc.
1236 'make tarballs' now also builds a rearguard tarball.
1237 New 's' and 'd' suffixes in SAVE columns of Rule and Zone lines.
1239 Changes to past and future timestamps
1241 North Korea switches back from +0830 to +09 on 2018-05-05.
1242 (Thanks to Kang Seonghoon, Arthur David Olson, Seo Sanghyeon,
1245 Bring back the negative-DST changes of 2018a, except be more
1246 compatible with data parsers that do not support negative DST.
1247 Also, this now affects historical timestamps in Namibia and the
1248 former Czechoslovakia, not just Ireland. The main format now uses
1249 negative DST to model timestamps in Europe/Dublin (from 1971 on),
1250 Europe/Prague (1946/7), and Africa/Windhoek (1994/2017). This
1251 does not affect UT offsets, only time zone abbreviations and the
1252 tm_isdst flag. Also, this does not affect rearguard or vanguard
1253 formats; effectively the main format now uses vanguard instead of
1254 rearguard format. Data parsers that do not support negative DST
1255 can still use data from the rearguard tarball described below.
1257 Changes to build procedure
1259 The command 'make tarballs' now also builds the tarball
1260 tzdataVERSION-rearguard.tar.gz, which is like tzdataVERSION.tar.gz
1261 except that it uses rearguard format intended for trailing-edge
1264 Changes to data format and to code
1266 The SAVE column of Rule and Zone lines can now have an 's' or 'd'
1267 suffix, which specifies whether the adjusted time is standard time
1268 or daylight saving time. If no suffix is given, daylight saving
1269 time is used if and only if the SAVE column is nonzero; this is
1270 the longstanding behavior. Although this new feature is not used
1271 in tzdata, it could be used to specify the legal time in Namibia
1272 1994-2017, as opposed to the popular time (see below).
1274 Changes to past timestamps
1276 From 1994 through 2017 Namibia observed DST in winter, not summer.
1277 That is, it used negative DST, as Ireland still does. This change
1278 does not affect UTC offsets; it affects only the tm_isdst flag and
1279 the abbreviation used during summer, which is now CAT, not WAST.
1280 Although (as noted by Michael Deckers) summer and winter time were
1281 both simply called "standard time" in Namibian law, in common
1282 practice winter time was considered to be DST (as noted by Stephen
1283 Colebourne). The full effect of this change is only in vanguard
1284 and main format; in rearguard format, the tm_isdst flag is still
1285 zero in winter and nonzero in summer.
1287 In 1946/7 Czechoslovakia also observed negative DST in winter.
1288 The full effect of this change is only in vanguard and main
1289 formats; in rearguard format, it is modeled as plain GMT without
1290 daylight saving. Also, the dates of some 1944/5 DST transitions
1291 in Czechoslovakia have been changed.
1294 Release 2018d - 2018-03-22 07:05:46 -0700
1298 Palestine starts DST a week earlier in 2018.
1299 Add support for vanguard and rearguard data consumers.
1300 Add subsecond precision to source data format, though not to data.
1302 Changes to future timestamps
1304 In 2018, Palestine starts DST on March 24, not March 31.
1305 Adjust future predictions accordingly. (Thanks to Sharef Mustafa.)
1307 Changes to past and future timestamps
1309 Casey Station in Antarctica changed from +11 to +08 on 2018-03-11
1310 at 04:00. (Thanks to Steffen Thorsen.)
1312 Changes to past timestamps
1314 Historical transitions for Uruguay, represented by
1315 America/Montevideo, have been updated per official legal documents,
1316 replacing previous data mainly originating from the inventions of
1317 Shanks & Pottenger. This has resulted in adjustments ranging from
1318 30 to 90 minutes in either direction over at least two dozen
1319 distinct periods ranging from one day to several years in length.
1320 A mere handful of pre-1991 transitions are unaffected; data since
1321 then has come from more reliable contemporaneous reporting. These
1322 changes affect various timestamps in 1920-1923, 1936, 1939,
1323 1942-1943, 1959, 1966-1970, 1972, 1974-1980, and 1988-1990.
1324 Additionally, Uruguay's pre-standard-time UT offset has been
1325 adjusted westward by 7 seconds, from UT-03:44:44 to UT-03:44:51, to
1326 match the location of the Observatory of the National Meteorological
1327 Institute in Montevideo.
1328 (Thanks to Jeremie Bonjour, Tim Parenti, and Michael Deckers.)
1330 East Kiribati skipped New Year's Eve 1994, not New Year's Day 1995.
1331 (Thanks to Kerry Shetline.)
1333 Fix the 1912-01-01 transition for Portugal and its colonies.
1334 This transition was at 00:00 according to the new UT offset, not
1335 according to the old one. Also assume that Cape Verde switched on
1336 the same date as the rest, not in 1907. This affects
1337 Africa/Bissau, Africa/Sao_Tome, Asia/Macau, Atlantic/Azores,
1338 Atlantic/Cape_Verde, Atlantic/Madeira, and Europe/Lisbon.
1339 (Thanks to Michael Deckers.)
1341 Fix an off-by-1 error for pre-1913 timestamps in Jamaica and in
1344 Changes to past time zone abbreviations
1346 MMT took effect in Uruguay from 1908-06-10, not 1898-06-28. There
1347 is no clock change associated with the transition.
1349 Changes to build procedure
1351 The new DATAFORM macro in the Makefile lets the installer choose
1352 among three source data formats. The idea is to lessen downstream
1353 disruption when data formats are improved.
1355 * DATAFORM=vanguard installs from the latest, bleeding-edge
1356 format. DATAFORM=main (the default) installs from the format
1357 used in the 'africa' etc. files. DATAFORM=rearguard installs
1358 from a trailing-edge format. Eventually, elements of today's
1359 vanguard format should move to the main format, and similarly
1360 the main format's features should eventually move to the
1363 * In the current version, the main and rearguard formats are
1364 identical and match that of 2018c, so this change does not
1365 affect default behavior. The vanguard format currently contains
1366 one feature not in the main format: negative SAVE values. This
1367 improves support for Ireland, which uses Irish Standard Time
1368 (IST, UTC+01) in summer and GMT (UTC) in winter. tzcode has
1369 supported negative SAVE values for decades, and this feature
1370 should move to the main format soon. However, it will not move
1371 to the rearguard format for quite some time because some
1372 downstream parsers do not support it.
1374 * The build procedure constructs three files vanguard.zi, main.zi,
1375 and rearguard.zi, one for each format. Although the files
1376 represent essentially the same data, they may have minor
1377 discrepancies that users are not likely to notice. The files
1378 are intended for downstream data consumers and are not
1379 installed. Zoneinfo parsers that do not support negative SAVE values
1380 should start using rearguard.zi, so that they will be unaffected
1381 when the negative-DST feature moves from vanguard to main.
1382 Bleeding-edge Zoneinfo parsers that support the new features
1383 already can use vanguard.zi; in this respect, current tzcode is
1386 The Makefile should now be safe for parallelized builds, and 'make
1387 -j to2050new.tzs' is now much faster on a multiprocessor host
1390 When built with -DSUPPRESS_TZDIR, the tzcode library no longer
1391 prepends TZDIR/ to file names that do not begin with '/'. This is
1392 not recommended for general use, due to its security implications.
1393 (From a suggestion by Manuela Friedrich.)
1397 zic now accepts subsecond precision in expressions like
1398 00:19:32.13, which is approximately the legal time of the
1399 Netherlands from 1835 to 1937. However, because it is
1400 questionable whether the few recorded uses of non-integer offsets
1401 had subsecond precision in practice, there are no plans for tzdata
1402 to use this feature. (Thanks to Steve Allen for pointing out
1403 the limitations of historical data in this area.)
1405 The code is a bit more portable to MS-Windows. Installers can
1406 compile with -DRESERVE_STD_EXT_IDS on MS-Windows platforms that
1407 reserve identifiers like 'localtime'. (Thanks to Manuela
1410 Changes to documentation and commentary
1412 theory.html now outlines tzdb's extensions to POSIX's model for
1413 civil time, and has a section "POSIX features no longer needed"
1414 that lists POSIX API components that are now vestigial.
1415 (From suggestions by Steve Summit.) It also better distinguishes
1416 time zones from tz regions. (From a suggestion by Guy Harris.)
1418 Commentary is now more consistent about using the phrase "daylight
1419 saving time", to match the C name tm_isdst. Daylight saving time
1420 need not occur in summer, and need not have a positive offset from
1423 Commentary about historical transitions in Uruguay has been expanded
1424 with links to many relevant legal documents.
1425 (Thanks to Tim Parenti.)
1427 Commentary now uses some non-ASCII characters with Unicode value
1428 less than U+0100, as they can be useful and should work even with
1429 older editors such as XEmacs.
1432 Release 2018c - 2018-01-22 23:00:44 -0800
1435 Revert Irish changes that relied on negative SAVE values.
1439 Revert the 2018a change to Europe/Dublin. As before, this change
1440 does not affect UT offsets or abbreviations; it affects only
1441 whether timestamps are considered to be standard time or
1442 daylight-saving time, as expressed in the tm_isdst flag of C's
1443 struct tm type. This reversion is intended to be a temporary
1444 workaround for problems discovered with downstream uses of
1445 releases 2018a and 2018b, which implemented Irish time by using
1446 negative SAVE values in the Eire rules of the 'europe' file.
1447 Although negative SAVE values have been part of tzcode for many
1448 years and are supported by many platforms, they were not
1449 documented before 2018a and ICU and OpenJDK do not currently
1450 support them. A mechanism to export data to platforms lacking
1451 support for negative DST is planned to be developed before the
1452 change is reapplied. (Problems reported by Deborah Goldsmith and
1453 Stephen Colebourne.)
1455 Changes to past timestamps
1457 Japanese DST transitions (1948-1951) were Sundays at 00:00, not
1458 Saturdays or Sundays at 02:00. (Thanks to Takayuki Nikai.)
1460 Changes to build procedure
1462 The build procedure now works around mawk 1.3.3's lack of support
1463 for character class expressions. (Problem reported by Ohyama.)
1466 Release 2018b - 2018-01-17 23:24:48 -0800
1469 Fix a packaging problem in tz2018a, which was missing 'pacificnew'.
1471 Changes to build procedure
1473 The distribution now contains the file 'pacificnew' again.
1474 This file was inadvertently omitted in the 2018a distribution.
1475 (Problem reported by Matias Fonzo.)
1478 Release 2018a - 2018-01-12 22:29:21 -0800
1481 São Tomé and Príncipe switched from +00 to +01.
1482 Brazil's DST will now start on November's first Sunday.
1483 Ireland's standard time is now in the summer, not the winter.
1484 Use Debian-style installation locations, instead of 4.3BSD-style.
1487 Changes to past and future timestamps
1489 São Tomé and Príncipe switched from +00 to +01 on 2018-01-01 at
1490 01:00. (Thanks to Steffen Thorsen and Michael Deckers.)
1492 Changes to future timestamps
1494 Starting in 2018 southern Brazil will begin DST on November's
1495 first Sunday instead of October's third Sunday. (Thanks to
1498 Changes to past timestamps
1500 A discrepancy of 4 s in timestamps before 1931 in South Sudan has
1501 been corrected. The 'backzone' and 'zone.tab' files did not agree
1502 with the 'africa' and 'zone1970.tab' files. (Problem reported by
1505 The abbreviation invented for Bolivia Summer Time (1931-2) is now
1506 BST instead of BOST, to be more consistent with the convention
1507 used for Latvian Summer Time (1918-9) and for British Summer Time.
1511 Change Europe/Dublin so that it observes Irish Standard Time (UT
1512 +01) in summer and GMT (as negative daylight-saving) in winter,
1513 instead of observing standard time (GMT) in winter and Irish
1514 Summer Time (UT +01) in summer. This change does not affect UT
1515 offsets or abbreviations; it affects only whether timestamps are
1516 considered to be standard time or daylight-saving time, as
1517 expressed in the tm_isdst flag of C's struct tm type.
1518 (Discrepancy noted by Derick Rethans.)
1520 Changes to build procedure
1522 The default installation locations have been changed to mostly
1523 match Debian circa 2017, instead of being designed as an add-on to
1524 4.3BSD circa 1986. This affects the Makefile macros TOPDIR,
1525 TZDIR, MANDIR, and LIBDIR. New Makefile macros TZDEFAULT, USRDIR,
1526 USRSHAREDIR, BINDIR, ZDUMPDIR, and ZICDIR let installers tailor
1527 locations more precisely. (This responds to suggestions from
1528 Brian Inglis and from Steve Summit.)
1530 The default installation procedure no longer creates the
1531 backward-compatibility link US/Pacific-New, which causes
1532 confusion during user setup (e.g., see Debian bug 815200).
1533 Use 'make BACKWARD="backward pacificnew"' to create the link
1534 anyway, for now. Eventually we plan to remove the link entirely.
1536 tzdata.zi now contains a version-number comment.
1537 (Suggested by Tom Lane.)
1539 The Makefile now quotes values like BACKWARD more carefully when
1540 passing them to the shell. (Problem reported by Zefram.)
1542 Builders no longer need to specify -DHAVE_SNPRINTF on platforms
1543 that have snprintf and use pre-C99 compilers. (Problem reported
1548 zic has a new option -t FILE that specifies the location of the
1549 file that determines local time when TZ is unset. The default for
1550 this location can be configured via the new TZDEFAULT makefile
1551 macro, which defaults to /etc/localtime.
1553 Diagnostics and commentary now distinguish UT from UTC more
1554 carefully; see theory.html for more information about UT vs UTC.
1556 zic has been ported to GCC 8's -Wstringop-truncation option.
1557 (Problem reported by Martin Sebor.)
1559 Changes to documentation and commentary
1561 The zic man page now documents the longstanding behavior that
1562 times and years can be out of the usual range, with negative times
1563 counting backwards from midnight and with year 0 preceding year 1.
1564 (Problem reported by Michael Deckers.)
1566 The theory.html file now mentions the POSIX limit of six chars
1567 per abbreviation, and lists alphabetic abbreviations used.
1569 The files tz-art.htm and tz-link.htm have been renamed to
1570 tz-art.html and tz-link.html, respectively, for consistency with
1571 other file names and to simplify web server configuration.
1574 Release 2017c - 2017-10-20 14:49:34 -0700
1577 Northern Cyprus switches from +03 to +02/+03 on 2017-10-29.
1578 Fiji ends DST 2018-01-14, not 2018-01-21.
1579 Namibia switches from +01/+02 to +02 on 2018-04-01.
1580 Sudan switches from +03 to +02 on 2017-11-01.
1581 Tonga likely switches from +13/+14 to +13 on 2017-11-05.
1582 Turks & Caicos switches from -04 to -05/-04 on 2018-11-04.
1583 A new file tzdata.zi now holds a small text copy of all data.
1584 The zic input format has been regularized slightly.
1586 Changes to future timestamps
1588 Northern Cyprus has decided to resume EU rules starting
1589 2017-10-29, thus reinstituting winter time.
1591 Fiji ends DST 2018-01-14 instead of the 2018-01-21 previously
1592 predicted. (Thanks to Dominic Fok.) Adjust future predictions
1595 Namibia will switch from +01 with DST to +02 all year on
1596 2017-09-03 at 02:00. This affects UT offsets starting 2018-04-01
1597 at 02:00. (Thanks to Steffen Thorsen.)
1599 Sudan will switch from +03 to +02 on 2017-11-01. (Thanks to Ahmed
1600 Atyya and Yahia Abdalla.) South Sudan is not switching, so
1601 Africa/Juba is no longer a link to Africa/Khartoum.
1603 Tonga has likely ended its experiment with DST, and will not
1604 adjust its clocks on 2017-11-05. Although Tonga has not announced
1605 whether it will continue to observe DST, the IATA is assuming that
1606 it will not. (Thanks to David Wade.)
1608 Turks & Caicos will switch from -04 all year to -05 with US DST on
1609 2018-03-11 at 03:00. This affects UT offsets starting 2018-11-04
1610 at 02:00. (Thanks to Steffen Thorsen.)
1612 Changes to past timestamps
1614 Namibia switched from +02 to +01 on 1994-03-21, not 1994-04-03.
1615 (Thanks to Arthur David Olson.)
1617 Detroit did not observe DST in 1967.
1619 Use railway time for Asia/Kolkata before 1941, by switching to
1620 Madras local time (UT +052110) in 1870, then to IST (UT +0530) in
1621 1906. Also, treat 1941-2's +0630 as DST, like 1942-5.
1623 Europe/Dublin's 1946 and 1947 fallback transitions occurred at
1624 02:00 standard time, not 02:00 DST. (Thanks to Michael Deckers.)
1626 Pacific/Apia and Pacific/Pago_Pago switched from Antipodean to
1627 American time in 1892, not 1879. (Thanks to Michael Deckers.)
1629 Adjust the 1867 transition in Alaska to better reflect the
1630 historical record, by changing it to occur on 1867-10-18 at 15:30
1631 Sitka time rather than at the start of 1867-10-17 local time.
1632 Although strictly speaking this is accurate only for Sitka,
1633 the rest of Alaska's blanks need to be filled in somehow.
1635 Fix off-by-one errors in UT offsets for Adak and Nome before 1867.
1636 (Thanks to Michael Deckers.)
1638 Add 7 s to the UT offset in Asia/Yangon before 1920.
1640 Changes to zone names
1642 Remove Canada/East-Saskatchewan from the 'backward' file, as it
1643 exceeded the 14-character limit and was an unused misnomer anyway.
1645 Changes to build procedure
1647 To support applications that prefer to read time zone data in text
1648 form, two zic input files tzdata.zi and leapseconds are now
1649 installed by default. The commands 'zic tzdata.zi' and 'zic -L
1650 leapseconds tzdata.zi' can reproduce the tzdata binary files
1651 without and with leap seconds, respectively. To prevent these two
1652 new files from being installed, use 'make TZDATA_TEXT=', and to
1653 suppress leap seconds from the tzdata text installation, use 'make
1654 TZDATA_TEXT=tzdata.zi'.
1656 'make BACKWARD=' now suppresses backward-compatibility names
1657 like 'US/Pacific' that are defined in the 'backward' and
1660 'make check' now works on systems that lack a UTF-8 locale,
1661 or that lack the nsgmls program. Set UTF8_LOCALE to configure
1662 the name of a UTF-8 locale, if you have one.
1664 Y2K runtime checks are no longer enabled by default. Add
1665 -DDEPRECATE_TWO_DIGIT_YEARS to CFLAGS to enable them, instead of
1666 adding -DNO_RUN_TIME_WARNINGS_ABOUT_YEAR_2000_PROBLEMS_THANK_YOU
1667 to disable them. (New name suggested by Brian Inglis.)
1669 The build procedure for zdump now works on AIX 7.1.
1670 (Problem reported by Kees Dekker.)
1674 zic and the reference runtime now reject multiple leap seconds
1675 within 28 days of each other, or leap seconds before the Epoch.
1676 As a result, support for double leap seconds, which was
1677 obsolescent and undocumented, has been removed. Double leap
1678 seconds were an error in the C89 standard; they have never existed
1679 in civil timekeeping. (Thanks to Robert Elz and Bradley White for
1680 noticing glitches in the code that uncovered this problem.)
1682 zic now warns about use of the obsolescent and undocumented -y
1683 option, and about use of the obsolescent TYPE field of Rule lines.
1685 zic now allows unambiguous abbreviations like "Sa" and "Su" for
1686 weekdays; formerly it rejected them due to a bug. Conversely, zic
1687 no longer considers non-prefixes to be abbreviations; for example,
1688 it no longer accepts "lF" as an abbreviation for "lastFriday".
1689 Also, zic warns about the undocumented usage with a "last-"
1690 prefix, e.g., "last-Fri".
1692 Similarly, zic now accepts the unambiguous abbreviation "L" for
1693 "Link" in ordinary context and for "Leap" in leap-second context.
1694 Conversely, zic no longer accepts non-prefixes such as "La" as
1695 abbreviations for words like "Leap".
1697 zic no longer accepts leap second lines in ordinary input, or
1698 ordinary lines in leap second input. Formerly, zic sometimes
1699 warned about this undocumented usage and handled it incorrectly.
1701 The new macro HAVE_TZNAME governs whether the tzname external
1702 variable is exported, instead of USG_COMPAT. USG_COMPAT now
1703 governs only the external variables "timezone" and "daylight".
1704 This change is needed because the three variables are not in the
1705 same category: although POSIX requires tzname, it specifies the
1706 other two variables as optional. Also, USG_COMPAT is now 1 or 0:
1707 if not defined, the code attempts to guess it from other macros.
1709 localtime.c and difftime.c no longer require stdio.h, and .c files
1710 other than zic.c no longer require sys/wait.h.
1712 zdump.c no longer assumes snprintf. (Reported by Jonathan Leffler.)
1714 Calculation of time_t extrema works around a bug in GCC 4.8.4
1715 (Reported by Stan Shebs and Joseph Myers.)
1717 zic.c no longer mistranslates formats of line numbers in non-English
1718 locales. (Problem reported by Benno Schulenberg.)
1720 Several minor changes have been made to the code to make it a
1721 bit easier to port to MS-Windows and Solaris. (Thanks to Kees
1722 Dekker for reporting the problems.)
1724 Changes to documentation and commentary
1726 The two new files 'theory.html' and 'calendars' contain the
1727 contents of the removed file 'Theory'. The goal is to document
1728 tzdb theory more accessibly.
1730 The zic man page now documents abbreviation rules.
1732 tz-link.htm now covers how to apply tzdata changes to clients.
1733 (Thanks to Jorge Fábregas for the AIX link.) It also mentions MySQL.
1735 The leap-seconds.list URL has been updated to something that is
1736 more reliable for tzdb. (Thanks to Tim Parenti and Brian Inglis.)
1738 Release 2017b - 2017-03-17 07:30:38 -0700
1740 Briefly: Haiti has resumed DST.
1742 Changes to past and future timestamps
1744 Haiti resumed observance of DST in 2017. (Thanks to Steffen Thorsen.)
1746 Changes to past timestamps
1748 Liberia changed from -004430 to +00 on 1972-01-07, not 1972-05-01.
1750 Use "MMT" to abbreviate Liberia's time zone before 1972, as "-004430"
1751 is one byte over the POSIX limit. (Problem reported by Derick Rethans.)
1755 The reference localtime implementation now falls back on the
1756 current US daylight-saving transition rules rather than the
1757 1987-2006 rules. This fallback occurs only when (1) the TZ
1758 environment variable has a value like "AST4ADT" that asks
1759 for daylight saving time but does not specify the rules, (2) there
1760 is no file by that name, and (3) the TZDEFRULES file cannot be
1761 loaded. (Thanks to Tom Lane.)
1764 Release 2017a - 2017-02-28 00:05:36 -0800
1766 Briefly: Southern Chile moves from -04/-03 to -03, and Mongolia
1769 Changes to future timestamps
1771 Mongolia no longer observes DST. (Thanks to Ganbold Tsagaankhuu.)
1773 Chile's Region of Magallanes moves from -04/-03 to -03 year-round.
1774 Its clocks diverge from America/Santiago starting 2017-05-13 at
1775 23:00, hiving off a new zone America/Punta_Arenas. Although the
1776 Chilean government says this change expires in May 2019, for now
1777 assume it's permanent. (Thanks to Juan Correa and Deborah
1778 Goldsmith.) This also affects Antarctica/Palmer.
1780 Changes to past timestamps
1782 Fix many entries for historical timestamps for Europe/Madrid
1783 before 1979, to agree with tables compiled by Pere Planesas of the
1784 National Astronomical Observatory of Spain. As a side effect,
1785 this changes some timestamps for Africa/Ceuta before 1929, which
1786 are probably guesswork anyway. (Thanks to Steve Allen and
1787 Pierpaolo Bernardi for the heads-ups, and to Michael Deckers for
1788 correcting the 1901 transition.)
1790 Ecuador observed DST from 1992-11-28 to 1993-02-05.
1791 (Thanks to Alois Treindl.)
1793 Asia/Atyrau and Asia/Oral were at +03 (not +04) before 1930-06-21.
1794 (Thanks to Stepan Golosunov.)
1796 Changes to past and future time zone abbreviations
1798 Switch to numeric time zone abbreviations for South America, as
1799 part of the ongoing project of removing invented abbreviations.
1800 This avoids the need to invent an abbreviation for the new Chilean
1801 new zone. Similarly, switch from invented to numeric time zone
1802 abbreviations for Afghanistan, American Samoa, the Azores,
1803 Bangladesh, Bhutan, the British Indian Ocean Territory, Brunei,
1804 Cape Verde, Chatham Is, Christmas I, Cocos (Keeling) Is, Cook Is,
1805 Dubai, East Timor, Eucla, Fiji, French Polynesia, Greenland,
1806 Indochina, Iran, Iraq, Kiribati, Lord Howe, Macquarie, Malaysia,
1807 the Maldives, Marshall Is, Mauritius, Micronesia, Mongolia,
1808 Myanmar, Nauru, Nepal, New Caledonia, Niue, Norfolk I, Palau,
1809 Papua New Guinea, the Philippines, Pitcairn, Qatar, Réunion, St
1810 Pierre & Miquelon, Samoa, Saudi Arabia, Seychelles, Singapore,
1811 Solomon Is, Tokelau, Tuvalu, Wake, Vanuatu, Wallis & Futuna, and
1812 Xinjiang; for 20-minute daylight saving time in Ghana before 1943;
1813 for half-hour daylight saving time in Belize before 1944 and in
1814 the Dominican Republic before 1975; and for Canary Islands before
1815 1946, for Guinea-Bissau before 1975, for Iceland before 1969, for
1816 Indian Summer Time before 1942, for Indonesia before around 1964,
1817 for Kenya before 1960, for Liberia before 1973, for Madeira before
1818 1967, for Namibia before 1943, for the Netherlands in 1937-9, for
1819 Pakistan before 1971, for Western Sahara before 1977, and for
1820 Zaporozhye in 1880-1924.
1822 For Alaska time from 1900 through 1967, instead of "CAT" use the
1823 abbreviation "AST", the abbreviation commonly used at the time
1824 (Atlantic Standard Time had not been standardized yet). Use "AWT"
1825 and "APT" instead of the invented abbreviations "CAWT" and "CAPT".
1827 Use "CST" and "CDT" instead of invented abbreviations for Macau
1828 before 1999 and Taiwan before 1938, and use "JST" instead of the
1829 invented abbreviation "JCST" for Japan and Korea before 1938.
1831 Change to database entry category
1833 Move the Pacific/Johnston link from 'australasia' to 'backward',
1834 since Johnston is now uninhabited.
1838 zic no longer mishandles some transitions in January 2038 when it
1839 attempts to work around Qt bug 53071. This fixes a bug affecting
1840 Pacific/Tongatapu that was introduced in zic 2016e. localtime.c
1841 now contains a workaround, useful when loading a file generated by
1842 a buggy zic. (Problem and localtime.c fix reported by Bradley
1845 zdump -i now outputs non-hour numeric time zone abbreviations
1846 without a colon, e.g., "+0530" rather than "+05:30". This agrees
1847 with zic %z and with common practice, and simplifies auditing of
1850 zdump is now buildable again with -DUSE_LTZ=0.
1851 (Problem reported by Joseph Myers.)
1853 zdump.c now always includes private.h, to avoid code duplication
1854 with private.h. (Problem reported by Kees Dekker.)
1856 localtime.c no longer mishandles early or late timestamps
1857 when TZ is set to a POSIX-style string that specifies DST.
1858 (Problem reported by Kees Dekker.)
1860 date and strftime now cause %z to generate "-0000" instead of
1861 "+0000" when the UT offset is zero and the time zone abbreviation
1864 Changes to documentation and commentary
1866 The 'Theory' file now better documents choice of historical time
1867 zone abbreviations. (Problems reported by Michael Deckers.)
1869 tz-link.htm now covers leap smearing, which is popular in clouds.
1872 Release 2016j - 2016-11-22 23:17:13 -0800
1874 Briefly: Saratov, Russia moves from +03 to +04 on 2016-12-04.
1876 Changes to future timestamps
1878 Saratov, Russia switches from +03 to +04 on 2016-12-04 at 02:00.
1879 This hives off a new zone Europe/Saratov from Europe/Volgograd.
1880 (Thanks to Yuri Konotopov and Stepan Golosunov.)
1882 Changes to past timestamps
1884 The new zone Asia/Atyrau for Atyraū Region, Kazakhstan, is like
1885 Asia/Aqtau except it switched from +05/+06 to +04/+05 in spring
1886 1999, not fall 1994. (Thanks to Stepan Golosunov.)
1888 Changes to past time zone abbreviations
1890 Asia/Gaza and Asia/Hebron now use "EEST", not "EET", to denote
1891 summer time before 1948. The old use of "EET" was a typo.
1895 zic no longer mishandles file systems that lack hard links, fixing
1896 bugs introduced in 2016g. (Problems reported by Tom Lane.)
1897 Also, when the destination already contains symbolic links, zic
1898 should now work better on systems where the 'link' system call
1899 does not follow symbolic links.
1901 Changes to documentation and commentary
1903 tz-link.htm now documents the relationship between release version
1904 numbers and development-repository commit tags. (Suggested by
1907 The 'Theory' file now documents UT.
1909 iso3166.tab now accents "Curaçao", and commentary now mentions
1910 the names "Cabo Verde" and "Czechia". (Thanks to Jiří Boháč.)
1913 Release 2016i - 2016-11-01 23:19:52 -0700
1915 Briefly: Cyprus split into two time zones on 2016-10-30, and Tonga
1916 reintroduces DST on 2016-11-06.
1918 Changes to future timestamps
1920 Pacific/Tongatapu begins DST on 2016-11-06 at 02:00, ending on
1921 2017-01-15 at 03:00. Assume future observances in Tonga will be
1922 from the first Sunday in November through the third Sunday in
1923 January, like Fiji. (Thanks to Pulu ʻAnau.) Switch to numeric
1924 time zone abbreviations for this zone.
1926 Changes to past and future timestamps
1928 Northern Cyprus is now +03 year round, causing a split in Cyprus
1929 time zones starting 2016-10-30 at 04:00. This creates a zone
1930 Asia/Famagusta. (Thanks to Even Scharning and Matt Johnson.)
1932 Antarctica/Casey switched from +08 to +11 on 2016-10-22.
1933 (Thanks to Steffen Thorsen.)
1935 Changes to past timestamps
1937 Several corrections were made for pre-1975 timestamps in Italy.
1938 These affect Europe/Malta, Europe/Rome, Europe/San_Marino, and
1941 First, the 1893-11-01 00:00 transition in Italy used the new UT
1942 offset (+01), not the old (+00:49:56). (Thanks to Michael
1945 Second, rules for daylight saving in Italy were changed to agree
1946 with Italy's National Institute of Metrological Research (INRiM)
1947 except for 1944, as follows (thanks to Pierpaolo Bernardi, Brian
1948 Inglis, and Michael Deckers):
1950 The 1916-06-03 transition was at 24:00, not 00:00.
1952 The 1916-10-01, 1919-10-05, and 1920-09-19 transitions were at
1955 The 1917-09-30 and 1918-10-06 transitions were at 24:00, not
1958 The 1944-09-17 transition was at 03:00, not 01:00. This
1959 particular change is taken from Italian law as INRiM's table,
1960 (which says 02:00) appears to have a typo here. Also, keep the
1961 1944-04-03 transition for Europe/Rome, as Rome was controlled by
1964 The 1967-1970 and 1972-1974 fallback transitions were at 01:00,
1969 The code should now be buildable on AmigaOS merely by setting the
1970 appropriate Makefile variables. (From a patch by Carsten Larsen.)
1973 Release 2016h - 2016-10-19 23:17:57 -0700
1975 Changes to future timestamps
1977 Asia/Gaza and Asia/Hebron end DST on 2016-10-29 at 01:00, not
1978 2016-10-21 at 00:00. (Thanks to Sharef Mustafa.) Predict that
1979 future fall transitions will be on the last Saturday of October
1980 at 01:00, which is consistent with predicted spring transitions
1981 on the last Saturday of March. (Thanks to Tim Parenti.)
1983 Changes to past timestamps
1985 In Turkey, transitions in 1986-1990 were at 01:00 standard time
1986 not at 02:00, and the spring 1994 transition was on March 20, not
1987 March 27. (Thanks to Kıvanç Yazan.)
1989 Changes to past and future time zone abbreviations
1991 Asia/Colombo now uses numeric time zone abbreviations like "+0530"
1992 instead of alphabetic ones like "IST" and "LKT". Various
1993 English-language sources use "IST", "LKT" and "SLST", with no
1994 working consensus. (Usage of "SLST" mentioned by Sadika
1999 zic no longer mishandles relativizing file names when creating
2000 symbolic links like /etc/localtime, when these symbolic links
2001 are outside the usual directory hierarchy. This fixes a bug
2002 introduced in 2016g. (Problem reported by Andreas Stieger.)
2004 Changes to build procedure
2006 New rules 'traditional_tarballs' and 'traditional_signatures' for
2007 building just the traditional-format distribution. (Requested by
2010 The file 'version' is now put into the tzdata tarball too.
2011 (Requested by Howard Hinnant.)
2013 Changes to documentation and commentary
2015 The 'Theory' file now has a section on interface stability.
2016 (Requested by Paul Koning.) It also mentions features like
2017 tm_zone and localtime_rz that have long been supported by the
2020 tz-link.htm has improved coverage of time zone boundaries suitable
2021 for geolocation. (Thanks to heads-ups from Evan Siroky and Matt
2024 The US commentary now mentions Allen and the "day of two noons".
2026 The Fiji commentary mentions the government's 2016-10-03 press
2027 release. (Thanks to Raymond Kumar.)
2030 Release 2016g - 2016-09-13 08:56:38 -0700
2032 Changes to future timestamps
2034 Turkey switched from EET/EEST (+02/+03) to permanent +03,
2035 effective 2016-09-07. (Thanks to Burak AYDIN.) Use "+03" rather
2036 than an invented abbreviation for the new time.
2038 New leap second 2016-12-31 23:59:60 UTC as per IERS Bulletin C 52.
2039 (Thanks to Tim Parenti.)
2041 Changes to past timestamps
2043 For America/Los_Angeles, spring-forward transition times have been
2044 corrected from 02:00 to 02:01 in 1948, and from 02:00 to 01:00 in
2047 For zones using Soviet time on 1919-07-01, transitions to UT-based
2048 time were at 00:00 UT, not at 02:00 local time. The affected
2049 zones are Europe/Kirov, Europe/Moscow, Europe/Samara, and
2050 Europe/Ulyanovsk. (Thanks to Alexander Belopolsky.)
2052 Changes to past and future time zone abbreviations
2054 The Factory zone now uses the time zone abbreviation -00 instead
2055 of a long English-language string, as -00 is now the normal way to
2056 represent an undefined time zone.
2058 Several zones in Antarctica and the former Soviet Union, along
2059 with zones intended for ships at sea that cannot use POSIX TZ
2060 strings, now use numeric time zone abbreviations instead of
2061 invented or obsolete alphanumeric abbreviations. The affected
2062 zones are Antarctica/Casey, Antarctica/Davis,
2063 Antarctica/DumontDUrville, Antarctica/Mawson, Antarctica/Rothera,
2064 Antarctica/Syowa, Antarctica/Troll, Antarctica/Vostok,
2065 Asia/Anadyr, Asia/Ashgabat, Asia/Baku, Asia/Bishkek, Asia/Chita,
2066 Asia/Dushanbe, Asia/Irkutsk, Asia/Kamchatka, Asia/Khandyga,
2067 Asia/Krasnoyarsk, Asia/Magadan, Asia/Omsk, Asia/Sakhalin,
2068 Asia/Samarkand, Asia/Srednekolymsk, Asia/Tashkent, Asia/Tbilisi,
2069 Asia/Ust-Nera, Asia/Vladivostok, Asia/Yakutsk, Asia/Yekaterinburg,
2070 Asia/Yerevan, Etc/GMT-14, Etc/GMT-13, Etc/GMT-12, Etc/GMT-11,
2071 Etc/GMT-10, Etc/GMT-9, Etc/GMT-8, Etc/GMT-7, Etc/GMT-6, Etc/GMT-5,
2072 Etc/GMT-4, Etc/GMT-3, Etc/GMT-2, Etc/GMT-1, Etc/GMT+1, Etc/GMT+2,
2073 Etc/GMT+3, Etc/GMT+4, Etc/GMT+5, Etc/GMT+6, Etc/GMT+7, Etc/GMT+8,
2074 Etc/GMT+9, Etc/GMT+10, Etc/GMT+11, Etc/GMT+12, Europe/Kaliningrad,
2075 Europe/Minsk, Europe/Samara, Europe/Volgograd, and
2076 Indian/Kerguelen. For Europe/Moscow the invented abbreviation MSM
2077 was replaced by +05, whereas MSK and MSD were kept as they are not
2078 our invention and are widely used.
2080 Changes to zone names
2082 Rename Asia/Rangoon to Asia/Yangon, with a backward compatibility link.
2083 (Thanks to David Massoud.)
2087 zic no longer generates binary files containing POSIX TZ-like
2088 strings that disagree with the local time type after the last
2089 explicit transition in the data. This fixes a bug with
2090 Africa/Casablanca and Africa/El_Aaiun in some year-2037 timestamps
2091 on the reference platform. (Thanks to Alexander Belopolsky for
2092 reporting the bug and suggesting a way forward.)
2094 If the installed localtime and/or posixrules files are symbolic
2095 links, zic now keeps them symbolic links when updating them, for
2096 compatibility with platforms like OpenSUSE where other programs
2097 configure these files as symlinks.
2099 zic now avoids hard linking to symbolic links, avoids some
2100 unnecessary mkdir and stat system calls, and uses shorter file
2103 zdump has a new -i option to generate transitions in a
2104 more-compact but still human-readable format. This option is
2105 experimental, and the output format may change in future versions.
2106 (Thanks to Jon Skeet for suggesting that an option was needed,
2107 and thanks to Tim Parenti and Chris Rovick for further comments.)
2109 Changes to build procedure
2111 An experimental distribution format is available, in addition
2112 to the traditional format which will continue to be distributed.
2113 The new format is a tarball tzdb-VERSION.tar.lz with signature
2114 file tzdb-VERSION.tar.lz.asc. It unpacks to a top-level directory
2115 tzdb-VERSION containing the code and data of the traditional
2116 two-tarball format, along with extra data that may be useful.
2117 (Thanks to Antonio Diaz Diaz, Oscar van Vlijmen, and many others
2118 for comments about the experimental format.)
2120 The release version number is now more accurate in the usual case
2121 where releases are built from a Git repository. For example, if
2122 23 commits and some working-file changes have been made since
2123 release 2016g, the version number is now something like
2124 '2016g-23-g50556e3-dirty' instead of the misleading '2016g'.
2125 Tagged releases use the same version number format as before,
2126 e.g., '2016g'. To support the more-accurate version number, its
2127 specification has moved from a line in the Makefile to a new
2128 source file 'version'.
2130 The experimental distribution contains a file to2050.tzs that
2131 contains what should be the output of 'zdump -i -c 2050' on
2132 primary zones. If this file is available, 'make check' now checks
2133 that zdump generates this output.
2135 'make check_web' now works on Fedora-like distributions.
2137 Changes to documentation and commentary
2139 tzfile.5 now documents the new restriction on POSIX TZ-like
2140 strings that is now implemented by zic.
2142 Comments now cite URLs for some 1917-1921 Russian DST decrees.
2143 (Thanks to Alexander Belopolsky.)
2145 tz-link.htm mentions JuliaTime (thanks to Curtis Vogt) and Time4J
2146 (thanks to Meno Hochschild) and ThreeTen-Extra, and its
2147 description of Java 8 has been brought up to date (thanks to
2148 Stephen Colebourne). Its description of local time on Mars has
2149 been updated to match current practice, and URLs have been updated
2150 and some obsolete ones removed.
2153 Release 2016f - 2016-07-05 16:26:51 +0200
2155 Changes affecting future timestamps
2157 The Egyptian government changed its mind on short notice, and
2158 Africa/Cairo will not introduce DST starting 2016-07-07 after all.
2159 (Thanks to Mina Samuel.)
2161 Asia/Novosibirsk switches from +06 to +07 on 2016-07-24 at 02:00.
2162 (Thanks to Stepan Golosunov.)
2164 Changes to past and future timestamps
2166 Asia/Novokuznetsk and Asia/Novosibirsk now use numeric time zone
2167 abbreviations instead of invented ones.
2169 Changes affecting past timestamps
2171 Europe/Minsk's 1992-03-29 spring-forward transition was at 02:00 not 00:00.
2172 (Thanks to Stepan Golosunov.)
2175 Release 2016e - 2016-06-14 08:46:16 -0700
2177 Changes affecting future timestamps
2179 Africa/Cairo observes DST in 2016 from July 7 to the end of October.
2180 Guess October 27 and 24:00 transitions. (Thanks to Steffen Thorsen.)
2181 For future years, guess April's last Thursday to October's last
2182 Thursday except for Ramadan.
2184 Changes affecting past timestamps
2186 Locations while uninhabited now use '-00', not 'zzz', as a
2187 placeholder time zone abbreviation. This is inspired by Internet
2188 RFC 3339 and is more consistent with numeric time zone
2189 abbreviations already used elsewhere. The change affects several
2190 arctic and antarctic locations, e.g., America/Cambridge_Bay before
2191 1920 and Antarctica/Troll before 2005.
2193 Asia/Baku's 1992-09-27 transition from +04 (DST) to +04 (non-DST) was
2194 at 03:00, not 23:00 the previous day. (Thanks to Michael Deckers.)
2198 zic now outputs a dummy transition at time 2**31 - 1 in zones
2199 whose POSIX-style TZ strings contain a '<'. This mostly works
2200 around Qt bug 53071 <https://bugreports.qt.io/browse/QTBUG-53071>.
2201 (Thanks to Zhanibek Adilbekov for reporting the Qt bug.)
2203 Changes affecting documentation and commentary
2205 tz-link.htm says why governments should give plenty of notice for
2206 time zone or DST changes, and refers to Matt Johnson's blog post.
2208 tz-link.htm mentions Tzdata for Elixir. (Thanks to Matt Johnson.)
2211 Release 2016d - 2016-04-17 22:50:29 -0700
2213 Changes affecting future timestamps
2215 America/Caracas switches from -0430 to -04 on 2016-05-01 at 02:30.
2216 (Thanks to Alexander Krivenyshev for the heads-up.)
2218 Asia/Magadan switches from +10 to +11 on 2016-04-24 at 02:00.
2219 (Thanks to Alexander Krivenyshev and Matt Johnson.)
2221 New zone Asia/Tomsk, split off from Asia/Novosibirsk. It covers
2222 Tomsk Oblast, Russia, which switches from +06 to +07 on 2016-05-29
2223 at 02:00. (Thanks to Stepan Golosunov.)
2225 Changes affecting past timestamps
2227 New zone Europe/Kirov, split off from Europe/Volgograd. It covers
2228 Kirov Oblast, Russia, which switched from +04/+05 to +03/+04 on
2229 1989-03-26 at 02:00, roughly a year after Europe/Volgograd made
2230 the same change. (Thanks to Stepan Golosunov.)
2232 Russia and nearby locations had daylight-saving transitions on
2233 1992-03-29 at 02:00 and 1992-09-27 at 03:00, instead of on
2234 1992-03-28 at 23:00 and 1992-09-26 at 23:00. (Thanks to Stepan
2237 Many corrections to historical time in Kazakhstan from 1991
2238 through 2005. (Thanks to Stepan Golosunov.) Replace Kazakhstan's
2239 invented time zone abbreviations with numeric abbreviations.
2241 Changes to commentary
2243 Mention Internet RFCs 7808 (TZDIST) and 7809 (CalDAV time zone references).
2246 Release 2016c - 2016-03-23 00:51:27 -0700
2248 Changes affecting future timestamps
2250 Azerbaijan no longer observes DST. (Thanks to Steffen Thorsen.)
2252 Chile reverts from permanent to seasonal DST. (Thanks to Juan
2253 Correa for the heads-up, and to Tim Parenti for corrections.)
2254 Guess that future transitions are August's and May's second
2255 Saturdays at 24:00 mainland time. Also, call the period from
2256 2014-09-07 through 2016-05-14 daylight saving time instead of
2257 standard time, as that seems more appropriate now.
2259 Changes affecting past timestamps
2261 Europe/Kaliningrad and Europe/Vilnius changed from +03/+04 to
2262 +02/+03 on 1989-03-26, not 1991-03-31. Europe/Volgograd changed
2263 from +04/+05 to +03/+04 on 1988-03-27, not 1989-03-26.
2264 (Thanks to Stepan Golosunov.)
2266 Changes to commentary
2268 Several updates and URLs for historical and proposed Russian changes.
2269 (Thanks to Stepan Golosunov, Matt Johnson, and Alexander Krivenyshev.)
2272 Release 2016b - 2016-03-12 17:30:14 -0800
2276 Starting with release 2016b, some data entries cause zic implementations
2277 derived from tz releases 2005j through 2015e to issue warnings like
2278 "time zone abbreviation differs from POSIX standard (+03)".
2279 These warnings should not otherwise affect zic's output and can safely be
2280 ignored on today's platforms, as the warnings refer to a restriction in
2281 POSIX.1-1988 that was removed in POSIX.1-2001. One way to suppress the
2282 warnings is to upgrade to zic derived from tz releases 2015f and later.
2284 Changes affecting future timestamps
2286 New zones Europe/Astrakhan and Europe/Ulyanovsk for Astrakhan and
2287 Ulyanovsk Oblasts, Russia, both of which will switch from +03 to +04 on
2288 2016-03-27 at 02:00 local time. They need distinct zones since their
2289 post-1970 histories disagree. New zone Asia/Barnaul for Altai Krai and
2290 Altai Republic, Russia, which will switch from +06 to +07 on the same date
2291 and local time. The Astrakhan change is already official; the others have
2292 passed the first reading in the State Duma and are extremely likely.
2293 Also, Asia/Sakhalin moves from +10 to +11 on 2016-03-27 at 02:00.
2294 (Thanks to Alexander Krivenyshev for the heads-up, and to Matt Johnson
2295 and Stepan Golosunov for followup.)
2297 As a trial of a new system that needs less information to be made up,
2298 the new zones use numeric time zone abbreviations like "+04"
2299 instead of invented abbreviations like "ASTT".
2301 Haiti will not observe DST in 2016. (Thanks to Jean Antoine via
2304 Palestine's spring-forward transition on 2016-03-26 is at 01:00, not 00:00.
2305 (Thanks to Hannah Kreitem.) Guess future transitions will be March's last
2306 Saturday at 01:00, not March's last Friday at 24:00.
2308 Changes affecting past timestamps
2310 Europe/Chisinau observed DST during 1990, and switched from +04 to
2311 +03 at 1990-05-06 02:00, instead of switching from +03 to +02.
2312 (Thanks to Stepan Golosunov.)
2314 1991 abbreviations in Europe/Samara should be SAMT/SAMST, not
2315 KUYT/KUYST. (Thanks to Stepan Golosunov.)
2319 tzselect's diagnostics and checking, and checktab.awk's checking,
2320 have been improved. (Thanks to J William Piggott.)
2322 tzcode now builds under MinGW. (Thanks to Ian Abbott and Esben Haabendal.)
2324 tzselect now tests Julian-date TZ settings more accurately.
2325 (Thanks to J William Piggott.)
2327 Changes to commentary
2329 Comments in zone tables have been improved. (Thanks to J William Piggott.)
2331 tzselect again limits its menu comments so that menus fit on a
2332 24×80 alphanumeric display.
2334 A new web page tz-how-to.html. (Thanks to Bill Seymour.)
2336 In the Theory file, the description of possible time zone abbreviations in
2337 tzdata has been cleaned up, as the old description was unclear and
2338 inconsistent. (Thanks to Alain Mouette for reporting the problem.)
2341 Release 2016a - 2016-01-26 23:28:02 -0800
2343 Changes affecting future timestamps
2345 America/Cayman will not observe daylight saving this year after all.
2346 Revert our guess that it would. (Thanks to Matt Johnson.)
2348 Asia/Chita switches from +0800 to +0900 on 2016-03-27 at 02:00.
2349 (Thanks to Alexander Krivenyshev.)
2351 Asia/Tehran now has DST predictions for the year 2038 and later,
2352 to be March 21 00:00 to September 21 00:00. This is likely better
2353 than predicting no DST, albeit off by a day every now and then.
2355 Changes affecting past and future timestamps
2357 America/Metlakatla switched from PST all year to AKST/AKDT on
2358 2015-11-01 at 02:00. (Thanks to Steffen Thorsen.)
2360 America/Santa_Isabel has been removed, and replaced with a
2361 backward compatibility link to America/Tijuana. Its contents were
2362 apparently based on a misreading of Mexican legislation.
2364 Changes affecting past timestamps
2366 Asia/Karachi's two transition times in 2002 were off by a minute.
2367 (Thanks to Matt Johnson.)
2369 Changes affecting build procedure
2371 An installer can now combine leap seconds with use of the backzone file,
2372 e.g., with 'make PACKRATDATA=backzone REDO=posix_right zones'.
2373 The old 'make posix_packrat' rule is now marked as obsolescent.
2374 (Thanks to Ian Abbott for an initial implementation.)
2376 Changes affecting documentation and commentary
2378 A new file LICENSE makes it easier to see that the code and data
2379 are mostly public-domain. (Thanks to James Knight.) The three
2380 non-public-domain files now use the current (3-clause) BSD license
2381 instead of older versions of that license.
2383 tz-link.htm mentions the BDE library (thanks to Andrew Paprocki),
2384 CCTZ (thanks to Tim Parenti), TimeJones.com, and has a new section
2385 on editing tz source files (with a mention of Sublime zoneinfo,
2386 thanks to Gilmore Davidson).
2388 The Theory and asia files now mention the 2015 book "The Global
2389 Transformation of Time, 1870-1950", and cite a couple of reviews.
2391 The America/Chicago entry now documents the informal use of US
2392 central time in Fort Pierre, South Dakota. (Thanks to Rick
2393 McDermid, Matt Johnson, and Steve Jones.)
2396 Release 2015g - 2015-10-01 00:39:51 -0700
2398 Changes affecting future timestamps
2400 Turkey's 2015 fall-back transition is scheduled for Nov. 8, not Oct. 25.
2403 Norfolk moves from +1130 to +1100 on 2015-10-04 at 02:00 local time.
2404 (Thanks to Alexander Krivenyshev.)
2406 Fiji's 2016 fall-back transition is scheduled for January 17, not 24.
2407 (Thanks to Ken Rylander.)
2409 Fort Nelson, British Columbia will not fall back on 2015-11-01. It has
2410 effectively been on MST (-0700) since it advanced its clocks on 2015-03-08.
2411 New zone America/Fort_Nelson. (Thanks to Matt Johnson.)
2413 Changes affecting past timestamps
2415 Norfolk observed DST from 1974-10-27 02:00 to 1975-03-02 02:00.
2417 Changes affecting code
2419 localtime no longer mishandles America/Anchorage after 2037.
2420 (Thanks to Bradley White for reporting the bug.)
2422 On hosts with signed 32-bit time_t, localtime no longer mishandles
2423 Pacific/Fiji after 2038-01-16 14:00 UTC.
2425 The localtime module allows the variables 'timezone', 'daylight',
2426 and 'altzone' to be in common storage shared with other modules,
2427 and declares them in case the system <time.h> does not.
2428 (Problems reported by Kees Dekker.)
2430 On platforms with tm_zone, strftime.c now assumes it is not NULL.
2431 This simplifies the code and is consistent with zdump.c.
2432 (Problem reported by Christos Zoulas.)
2434 Changes affecting documentation
2436 The tzfile man page now documents that transition times denote the
2437 starts (not the ends) of the corresponding time periods.
2438 (Ambiguity reported by Bill Seymour.)
2441 Release 2015f - 2015-08-10 18:06:56 -0700
2443 Changes affecting future timestamps
2445 North Korea switches to +0830 on 2015-08-15. (Thanks to Steffen Thorsen.)
2446 The abbreviation remains "KST". (Thanks to Robert Elz.)
2448 Uruguay no longer observes DST. (Thanks to Steffen Thorsen
2451 Changes affecting past and future timestamps
2453 Moldova starts and ends DST at 00:00 UTC, not at 01:00 UTC.
2454 (Thanks to Roman Tudos.)
2456 Changes affecting data format and code
2458 zic's '-y YEARISTYPE' option is no longer documented. The TYPE
2459 field of a Rule line should now be '-'; the old values 'even',
2460 'odd', 'uspres', 'nonpres', 'nonuspres' were already undocumented.
2461 Although the implementation has not changed, these features do not
2462 work in the default installation, they are not used in the data,
2463 and they are now considered obsolescent.
2465 zic now checks that two rules don't take effect at the same time.
2466 (Thanks to Jon Skeet and Arthur David Olson.) Constraints on
2467 simultaneity are now documented.
2469 The two characters '%z' in a zone format now stand for the UT
2470 offset, e.g., '-07' for seven hours behind UT and '+0530' for
2471 five hours and thirty minutes ahead. This better supports time
2472 zone abbreviations conforming to POSIX.1-2001 and later.
2474 Changes affecting installed data files
2476 Comments for America/Halifax and America/Glace_Bay have been improved.
2477 (Thanks to Brian Inglis.)
2479 Data entries have been simplified for Atlantic/Canary, Europe/Simferopol,
2480 Europe/Sofia, and Europe/Tallinn. This yields slightly smaller
2481 installed data files for Europe/Simferopol and Europe/Tallinn.
2482 It does not affect timestamps. (Thanks to Howard Hinnant.)
2484 Changes affecting code
2486 zdump and zic no longer warn about valid time zone abbreviations
2489 Some Visual Studio 2013 warnings have been suppressed.
2490 (Thanks to Kees Dekker.)
2492 'date' no longer sets the time of day and its -a, -d, -n and -t
2493 options have been removed. Long obsolescent, the implementation
2494 of these features had porting problems. Builders no longer need
2495 to configure HAVE_ADJTIME, HAVE_SETTIMEOFDAY, or HAVE_UTMPX_H.
2496 (Thanks to Kees Dekker for pointing out the problem.)
2498 Changes affecting documentation
2500 The Theory file mentions naming issues earlier, as these seem to be
2501 poorly publicized (thanks to Gilmore Davidson for reporting the problem).
2503 tz-link.htm mentions Time Zone Database Parser (thanks to Howard Hinnant).
2505 Mention that Herbert Samuel introduced the term "Summer Time".
2508 Release 2015e - 2015-06-13 10:56:02 -0700
2510 Changes affecting future timestamps
2512 Morocco will suspend DST from 2015-06-14 03:00 through 2015-07-19 02:00,
2513 not 06-13 and 07-18 as we had guessed. (Thanks to Milamber.)
2515 Assume Cayman Islands will observe DST starting next year, using US rules.
2516 Although it isn't guaranteed, it is the most likely.
2518 Changes affecting data format
2520 The file 'iso3166.tab' now uses UTF-8, so that its entries can better
2521 spell the names of Åland Islands, Côte d'Ivoire, and Réunion.
2523 Changes affecting code
2525 When displaying data, tzselect converts it to the current locale's
2526 encoding if the iconv command works. (Problem reported by random832.)
2528 tzselect no longer mishandles Dominica, fixing a bug introduced
2529 in Release 2014f. (Problem reported by Owen Leibman.)
2531 zic -l no longer fails when compiled with -DTZDEFAULT=\"/etc/localtime\".
2532 This fixes a bug introduced in Release 2014f.
2533 (Problem reported by Leonardo Chiquitto.)
2536 Release 2015d - 2015-04-24 08:09:46 -0700
2538 Changes affecting future timestamps
2540 Egypt will not observe DST in 2015 and will consider canceling it
2541 permanently. For now, assume no DST indefinitely.
2542 (Thanks to Ahmed Nazmy and Tim Parenti.)
2544 Changes affecting past timestamps
2546 America/Whitehorse switched from UT -09 to -08 on 1967-05-28, not
2547 1966-07-01. Also, Yukon's time zone history is documented better.
2548 (Thanks to Brian Inglis and Dennis Ferguson.)
2550 Change affecting past and future time zone abbreviations
2552 The abbreviations for Hawaii-Aleutian standard and daylight times
2553 have been changed from HAST/HADT to HST/HDT, as per US Government
2554 Printing Office style. This affects only America/Adak since 1983,
2555 as America/Honolulu was already using the new style.
2557 Changes affecting code
2559 zic has some minor performance improvements.
2562 Release 2015c - 2015-04-11 08:55:55 -0700
2564 Changes affecting future timestamps
2566 Egypt's spring-forward transition is at 24:00 on April's last Thursday,
2567 not 00:00 on April's last Friday. 2015's transition will therefore be on
2568 Thursday, April 30 at 24:00, not Friday, April 24 at 00:00. Similar fixes
2569 apply to 2026, 2037, 2043, etc. (Thanks to Steffen Thorsen.)
2571 Changes affecting past timestamps
2573 The following changes affect some pre-1991 Chile-related timestamps
2574 in America/Santiago, Antarctica/Palmer, and Pacific/Easter.
2576 The 1910 transition was January 10, not January 1.
2578 The 1918 transition was September 10, not September 1.
2580 The UT -04 time observed from 1932 to 1942 is now considered to
2581 be standard time, not year-round DST.
2583 Santiago observed DST (UT -03) from 1946-07-15 through
2584 1946-08-31, then reverted to standard time, then switched to -05
2587 Assume transitions before 1968 were at 00:00, since we have no data
2590 The spring 1988 transition was 1988-10-09, not 1988-10-02.
2591 The fall 1990 transition was 1990-03-11, not 1990-03-18.
2593 Assume no UT offset change for Pacific/Easter on 1890-01-01,
2594 and omit all transitions on Pacific/Easter from 1942 through 1946
2595 since we have no data suggesting that they existed.
2597 One more zone has been turned into a link, as it differed
2598 from an existing zone only for older timestamps. As usual,
2599 this change affects UT offsets in pre-1970 timestamps only.
2600 The zone's old contents have been moved to the 'backzone' file.
2601 The affected zone is America/Montreal.
2603 Changes affecting commentary
2605 Mention the TZUpdater tool.
2607 Mention "The Time Now". (Thanks to Brandon Ramsey.)
2610 Release 2015b - 2015-03-19 23:28:11 -0700
2612 Changes affecting future timestamps
2614 Mongolia will start observing DST again this year, from the last
2615 Saturday in March at 02:00 to the last Saturday in September at 00:00.
2616 (Thanks to Ganbold Tsagaankhuu.)
2618 Palestine will start DST on March 28, not March 27. Also,
2619 correct the fall 2014 transition from September 26 to October 24.
2620 Adjust future predictions accordingly. (Thanks to Steffen Thorsen.)
2622 Changes affecting past timestamps
2624 The 1982 zone shift in Pacific/Easter has been corrected, fixing a 2015a
2625 regression. (Thanks to Stuart Bishop for reporting the problem.)
2627 Some more zones have been turned into links, when they differed
2628 from existing zones only for older timestamps. As usual,
2629 these changes affect UT offsets in pre-1970 timestamps only.
2630 Their old contents have been moved to the 'backzone' file.
2631 The affected zones are: America/Antigua, America/Cayman,
2632 Pacific/Midway, and Pacific/Saipan.
2634 Changes affecting time zone abbreviations
2636 Correct the 1992-2010 DST abbreviation in Volgograd from "MSK" to "MSD".
2639 Changes affecting code
2641 Fix integer overflow bug in reference 'mktime' implementation.
2642 (Problem reported by Jörg Richter.)
2644 Allow -Dtime_tz=time_t compilations, and allow -Dtime_tz=... libraries
2645 to be used in the same executable as standard-library time_t functions.
2646 (Problems reported by Bradley White.)
2648 Changes affecting commentary
2650 Cite the recent Mexican decree changing Quintana Roo's time zone.
2651 (Thanks to Carlos Raúl Perasso.)
2653 Likewise for the recent Chilean decree. (Thanks to Eduardo Romero Urra.)
2655 Update info about Mars time.
2658 Release 2015a - 2015-01-29 22:35:20 -0800
2660 Changes affecting future timestamps
2662 The Mexican state of Quintana Roo, represented by America/Cancun,
2663 will shift from Central Time with DST to Eastern Time without DST
2664 on 2015-02-01 at 02:00. (Thanks to Steffen Thorsen and Gwillim Law.)
2666 Chile will not change clocks in April or thereafter; its new standard time
2667 will be its old daylight saving time. This affects America/Santiago,
2668 Pacific/Easter, and Antarctica/Palmer. (Thanks to Juan Correa.)
2670 New leap second 2015-06-30 23:59:60 UTC as per IERS Bulletin C 49.
2671 (Thanks to Tim Parenti.)
2673 Changes affecting past timestamps
2675 Iceland observed DST in 1919 and 1921, and its 1939 fallback
2676 transition was Oct. 29, not Nov. 29. Remove incorrect data from
2677 Shanks about time in Iceland between 1837 and 1908.
2679 Some more zones have been turned into links, when they differed
2680 from existing zones only for older timestamps. As usual,
2681 these changes affect UT offsets in pre-1970 timestamps only.
2682 Their old contents have been moved to the 'backzone' file.
2683 The affected zones are: Asia/Aden, Asia/Bahrain, Asia/Kuwait,
2686 Changes affecting code
2688 tzalloc now scrubs time zone abbreviations compatibly with the way
2689 that tzset always has, by replacing invalid bytes with '_' and by
2690 shortening too-long abbreviations.
2692 tzselect ports to POSIX awk implementations, no longer mishandles
2693 POSIX TZ settings when GNU awk is used, and reports POSIX TZ
2694 settings to the user. (Thanks to Stefan Kuhn.)
2696 Changes affecting build procedure
2698 'make check' now checks for links to links in the data.
2699 One such link (for Africa/Asmera) has been fixed.
2700 (Thanks to Stephen Colebourne for pointing out the problem.)
2702 Changes affecting commentary
2704 The leapseconds file commentary now mentions the expiration date.
2705 (Problem reported by Martin Burnicki.)
2707 Update Mexican Library of Congress URL.
2710 Release 2014j - 2014-11-10 17:37:11 -0800
2712 Changes affecting current and future timestamps
2714 Turks & Caicos' switch from US eastern time to UT -04 year-round
2715 did not occur on 2014-11-02 at 02:00. It's currently scheduled
2716 for 2015-11-01 at 02:00. (Thanks to Chris Walton.)
2718 Changes affecting past timestamps
2720 Many pre-1989 timestamps have been corrected for Asia/Seoul and
2721 Asia/Pyongyang, based on sources for the Korean-language Wikipedia
2722 entry for time in Korea. (Thanks to Sanghyuk Jung.) Also, no
2723 longer guess that Pyongyang mimicked Seoul time after World War II,
2724 as this is politically implausible.
2726 Some more zones have been turned into links, when they differed
2727 from existing zones only for older timestamps. As usual,
2728 these changes affect UT offsets in pre-1970 timestamps only.
2729 Their old contents have been moved to the 'backzone' file.
2730 The affected zones are: Africa/Addis_Ababa, Africa/Asmara,
2731 Africa/Dar_es_Salaam, Africa/Djibouti, Africa/Kampala,
2732 Africa/Mogadishu, Indian/Antananarivo, Indian/Comoro, and
2735 Changes affecting commentary
2737 The commentary is less enthusiastic about Shanks as a source,
2738 and is more careful to distinguish UT from UTC.
2741 Release 2014i - 2014-10-21 22:04:57 -0700
2743 Changes affecting future timestamps
2745 Pacific/Fiji will observe DST from 2014-11-02 02:00 to 2015-01-18 03:00.
2746 (Thanks to Ken Rylander for the heads-up.) Guess that future
2747 years will use a similar pattern.
2749 A new Zone Pacific/Bougainville, for the part of Papua New Guinea
2750 that plans to switch from UT +10 to +11 on 2014-12-28 at 02:00.
2751 (Thanks to Kiley Walbom for the heads-up.)
2753 Changes affecting time zone abbreviations
2755 Since Belarus is not changing its clocks even though Moscow is,
2756 the time zone abbreviation in Europe/Minsk is changing from FET
2757 to its more-traditional value MSK on 2014-10-26 at 01:00.
2758 (Thanks to Alexander Bokovoy for the heads-up about Belarus.)
2760 The new abbreviation IDT stands for the pre-1976 use of UT +08 in
2761 Indochina, to distinguish it better from ICT (+07).
2763 Changes affecting past timestamps
2765 Many timestamps have been corrected for Asia/Ho_Chi_Minh before 1976
2766 (thanks to Trần Ngọc Quân for an indirect pointer to Trần Tiến Bình's
2767 authoritative book). Asia/Ho_Chi_Minh has been added to
2768 zone1970.tab, to give tzselect users in Vietnam two choices,
2769 since north and south Vietnam disagreed after our 1970 cutoff.
2771 Asia/Phnom_Penh and Asia/Vientiane have been turned into links, as
2772 they differed from existing zones only for older timestamps. As
2773 usual, these changes affect pre-1970 timestamps only. Their old
2774 contents have been moved to the 'backzone' file.
2776 Changes affecting code
2778 The time-related library functions now set errno on failure, and
2779 some crashes in the new tzalloc-related library functions have
2780 been fixed. (Thanks to Christos Zoulas for reporting most of
2781 these problems and for suggesting fixes.)
2783 If USG_COMPAT is defined and the requested timestamp is standard time,
2784 the tz library's localtime and mktime functions now set the extern
2785 variable timezone to a value appropriate for that timestamp; and
2786 similarly for ALTZONE, daylight saving time, and the altzone variable.
2787 This change is a companion to the tzname change in 2014h, and is
2788 designed to make timezone and altzone more compatible with tzname.
2790 The tz library's functions now set errno to EOVERFLOW if they fail
2791 because the result cannot be represented. ctime and ctime_r now
2792 return NULL and set errno when a timestamp is out of range, rather
2793 than having undefined behavior.
2795 Some bugs associated with the new 2014g functions have been fixed.
2796 This includes a bug that largely incapacitated the new functions
2797 time2posix_z and posix2time_z. (Thanks to Christos Zoulas.)
2798 It also includes some uses of uninitialized variables after tzalloc.
2799 The new code uses the standard type 'ssize_t', which the Makefile
2800 now gives porting advice about.
2802 Changes affecting commentary
2804 Updated URLs for NRC Canada (thanks to Matt Johnson and Brian Inglis).
2807 Release 2014h - 2014-09-25 18:59:03 -0700
2809 Changes affecting past timestamps
2811 America/Jamaica's 1974 spring-forward transition was Jan. 6, not Apr. 28.
2813 Shanks says Asia/Novokuznetsk switched from LMT (not "NMT") on 1924-05-01,
2814 not 1920-01-06. The old entry was based on a misinterpretation of Shanks.
2816 Some more zones have been turned into links, when they differed
2817 from existing zones only for older timestamps. As usual,
2818 these changes affect UT offsets in pre-1970 timestamps only.
2819 Their old contents have been moved to the 'backzone' file.
2820 The affected zones are: Africa/Blantyre, Africa/Bujumbura,
2821 Africa/Gaborone, Africa/Harare, Africa/Kigali, Africa/Lubumbashi,
2822 Africa/Lusaka, Africa/Maseru, and Africa/Mbabane.
2824 Changes affecting code
2826 zdump -V and -v now output gmtoff= values on all platforms,
2827 not merely on platforms defining TM_GMTOFF.
2829 The tz library's localtime and mktime functions now set tzname to a value
2830 appropriate for the requested timestamp, and zdump now uses this
2831 on platforms not defining TM_ZONE, fixing a 2014g regression.
2832 (Thanks to Tim Parenti for reporting the problem.)
2834 The tz library no longer sets tzname if localtime or mktime fails.
2836 zdump -c no longer mishandles transitions near year boundaries.
2837 (Thanks to Tim Parenti for reporting the problem.)
2839 An access to uninitialized data has been fixed.
2840 (Thanks to Jörg Richter for reporting the problem.)
2842 When THREAD_SAFE is defined, the code ports to the C11 memory model.
2843 A memory leak has been fixed if ALL_STATE and THREAD_SAFE are defined
2844 and two threads race to initialize data used by gmtime-like functions.
2845 (Thanks to Andy Heninger for reporting the problems.)
2847 Changes affecting build procedure
2849 'make check' now checks better for properly-sorted data.
2851 Changes affecting documentation and commentary
2853 zdump's gmtoff=N output is now documented, and its isdst=D output
2854 is now documented to possibly output D values other than 0 or 1.
2856 zdump -c's treatment of years is now documented to use the
2857 Gregorian calendar and Universal Time without leap seconds,
2858 and its behavior at cutoff boundaries is now documented better.
2859 (Thanks to Arthur David Olson and Tim Parenti for reporting the problems.)
2861 Programs are now documented to use the proleptic Gregorian calendar.
2862 (Thanks to Alan Barrett for the suggestion.)
2864 Fractional-second GMT offsets have been documented for civil time
2865 in 19th-century Chennai, Jakarta, and New York.
2868 Release 2014g - 2014-08-28 12:31:23 -0700
2870 Changes affecting future timestamps
2872 Turks & Caicos is switching from US eastern time to UT -04
2873 year-round, modeled as a switch on 2014-11-02 at 02:00.
2874 [As noted in 2014j, this switch was later delayed.]
2876 Changes affecting past timestamps
2878 Time in Russia or the USSR before 1926 or so has been corrected by
2879 a few seconds in the following zones: Asia/Irkutsk,
2880 Asia/Krasnoyarsk, Asia/Omsk, Asia/Samarkand, Asia/Tbilisi,
2881 Asia/Vladivostok, Asia/Yakutsk, Europe/Riga, Europe/Samara. For
2882 Asia/Yekaterinburg the correction is a few minutes. (Thanks to
2883 Vladimir Karpinsky.)
2885 The Portuguese decree of 1911-05-26 took effect on 1912-01-01.
2886 This affects 1911 timestamps in Africa/Bissau, Africa/Luanda,
2887 Atlantic/Azores, and Atlantic/Madeira. Also, Lisbon's pre-1912
2888 GMT offset was -0:36:45 (rounded from -0:36:44.68), not -0:36:32.
2889 (Thanks to Stephen Colebourne for pointing to the decree.)
2891 Asia/Dhaka ended DST on 2009-12-31 at 24:00, not 23:59.
2893 A new file 'backzone' contains data which may appeal to
2894 connoisseurs of old timestamps, although it is out of scope for
2895 the tz database, is often poorly sourced, and contains some data
2896 that is known to be incorrect. The new file is not recommended
2897 for ordinary use and its entries are not installed by default.
2898 (Thanks to Lester Caine for the high-quality Jersey, Guernsey, and
2899 Isle of Man entries.)
2901 Some more zones have been turned into links, when they differed
2902 from existing zones only for older timestamps. As usual,
2903 these changes affect UT offsets in pre-1970 timestamps only.
2904 Their old contents have been moved to the 'backzone' file.
2905 The affected zones are: Africa/Bangui, Africa/Brazzaville,
2906 Africa/Douala, Africa/Kinshasa, Africa/Libreville, Africa/Luanda,
2907 Africa/Malabo, Africa/Niamey, and Africa/Porto-Novo.
2909 Changes affecting code
2911 Unless NETBSD_INSPIRED is defined to 0, the tz library now
2912 supplies functions for creating and using objects that represent
2913 timezones. The new functions are tzalloc, tzfree, localtime_rz,
2914 mktime_z, and (if STD_INSPIRED is also defined) posix2time_z and
2915 time2posix_z. They are intended for performance: for example,
2916 localtime_rz (unlike localtime_r) is trivially thread-safe without
2917 locking. (Thanks to Christos Zoulas for proposing NetBSD-inspired
2918 functions, and to Alan Barrett and Jonathan Lennox for helping to
2921 zdump now builds with the tz library unless USE_LTZ is defined to 0,
2922 This lets zdump use tz features even if the system library lacks them.
2923 To build zdump with the system library, use 'make CFLAGS=-DUSE_LTZ=0
2924 TZDOBJS=zdump.o CHECK_TIME_T_ALTERNATIVES='.
2926 zdump now uses localtime_rz if available, as it's significantly faster,
2927 and it can help zdump better diagnose invalid timezone names.
2928 Define HAVE_LOCALTIME_RZ to 0 to suppress this. HAVE_LOCALTIME_RZ
2929 defaults to 1 if NETBSD_INSPIRED && USE_LTZ. When localtime_rz is
2930 not available, zdump now uses localtime_r and tzset if available,
2931 as this is a bit cleaner and faster than plain localtime. Compile
2932 with -DHAVE_LOCALTIME_R=0 and/or -DHAVE_TZSET=0 if your system
2933 lacks these two functions.
2935 If THREAD_SAFE is defined to 1, the tz library is now thread-safe.
2936 Although not needed for tz's own applications, which are single-threaded,
2937 this supports POSIX better if the tz library is used in multithreaded apps.
2939 Some crashes have been fixed when zdump or the tz library is given
2940 invalid or outlandish input.
2942 The tz library no longer mishandles leap seconds on platforms with
2943 unsigned time_t in timezones that lack ordinary transitions after 1970.
2945 The tz code now attempts to infer TM_GMTOFF and TM_ZONE if not
2946 already defined, to make it easier to configure on common platforms.
2947 Define NO_TM_GMTOFF and NO_TM_ZONE to suppress this.
2949 Unless the new macro UNINIT_TRAP is defined to 1, the tz code now
2950 assumes that reading uninitialized memory yields garbage values
2951 but does not cause other problems such as traps.
2953 If TM_GMTOFF is defined and UNINIT_TRAP is 0, mktime is now
2954 more likely to guess right for ambiguous timestamps near
2955 transitions where tm_isdst does not change.
2957 If HAVE_STRFTIME_L is defined to 1, the tz library now defines
2958 strftime_l for compatibility with recent versions of POSIX.
2959 Only the C locale is supported, though. HAVE_STRFTIME_L defaults
2960 to 1 on recent POSIX versions, and to 0 otherwise.
2962 tzselect -c now uses a hybrid distance measure that works better
2963 in Africa. (Thanks to Alan Barrett for noting the problem.)
2965 The C source code now ports to NetBSD when GCC_DEBUG_FLAGS is used,
2966 or when time_tz is defined.
2968 When HAVE_UTMPX_H is set the 'date' command now builds on systems
2969 whose <utmpx.h> file does not define WTMPX_FILE, and when setting
2970 the date it updates the wtmpx file if _PATH_WTMPX is defined.
2971 This affects GNU/Linux and similar systems.
2973 For easier maintenance later, some C code has been simplified,
2974 some lint has been removed, and the code has been tweaked so that
2975 plain 'make' is more likely to work.
2977 The C type 'bool' is now used for boolean values, instead of 'int'.
2979 The long-obsolete LOCALE_HOME code has been removed.
2981 The long-obsolete 'gtime' function has been removed.
2983 Changes affecting build procedure
2985 'zdump' no longer links in ialloc.o, as it's not needed.
2987 'make check_time_t_alternatives' no longer assumes GNU diff.
2989 Changes affecting distribution tarballs
2991 The files checktab.awk and zoneinfo2tdf.pl are now distributed in
2992 the tzdata tarball instead of the tzcode tarball, since they help
2993 maintain the data. The NEWS and Theory files are now also
2994 distributed in the tzdata tarball, as they're relevant for data.
2995 (Thanks to Alan Barrett for pointing this out.) Also, the
2996 leapseconds.awk file is no longer distributed in the tzcode
2997 tarball, since it belongs in the tzdata tarball (where 2014f
2998 inadvertently also distributed it).
3000 Changes affecting documentation and commentary
3002 A new file CONTRIBUTING is distributed. (Thanks to Tim Parenti for
3003 suggesting a CONTRIBUTING file, and to Tony Finch and Walter Harms
3006 The man pages have been updated to use function prototypes,
3007 to document thread-safe variants like localtime_r, and to document
3008 the NetBSD-inspired functions tzalloc, tzfree, localtime_rz, and
3011 The fields in Link lines have been renamed to be more descriptive
3012 and more like the parameters of 'ln'. LINK-FROM has become TARGET,
3013 and LINK-TO has become LINK-NAME.
3015 tz-link.htm mentions the IETF's tzdist working group; Windows
3016 Runtime etc. (thanks to Matt Johnson); and HP-UX's tztab.
3018 Some broken URLs have been fixed in the commentary. (Thanks to
3021 Commentary about Philippines DST has been updated, and commentary
3022 on pre-1970 time in India has been added.
3025 Release 2014f - 2014-08-05 17:42:36 -0700
3027 Changes affecting future timestamps
3029 Russia will subtract an hour from most of its time zones on 2014-10-26
3030 at 02:00 local time. (Thanks to Alexander Krivenyshev.)
3031 There are a few exceptions: Magadan Oblast (Asia/Magadan) and Zabaykalsky
3032 Krai are subtracting two hours; conversely, Chukotka Autonomous Okrug
3033 (Asia/Anadyr), Kamchatka Krai (Asia/Kamchatka), Kemerovo Oblast
3034 (Asia/Novokuznetsk), and the Samara Oblast and the Udmurt Republic
3035 (Europe/Samara) are not changing their clocks. The changed zones are
3036 Europe/Kaliningrad, Europe/Moscow, Europe/Simferopol, Europe/Volgograd,
3037 Asia/Yekaterinburg, Asia/Omsk, Asia/Novosibirsk, Asia/Krasnoyarsk,
3038 Asia/Irkutsk, Asia/Yakutsk, Asia/Vladivostok, Asia/Khandyga,
3039 Asia/Sakhalin, and Asia/Ust-Nera; Asia/Magadan will have two hours
3040 subtracted; and Asia/Novokuznetsk's time zone abbreviation is affected,
3041 but not its UTC offset. Two zones are added: Asia/Chita (split
3042 from Asia/Yakutsk, and also with two hours subtracted) and
3043 Asia/Srednekolymsk (split from Asia/Magadan, but with only one hour
3044 subtracted). (Thanks to Tim Parenti for much of the above.)
3046 Changes affecting time zone abbreviations
3048 Australian eastern time zone abbreviations are now AEST/AEDT not EST,
3049 and similarly for the other Australian zones. That is, for eastern
3050 standard and daylight saving time the abbreviations are AEST and AEDT
3051 instead of the former EST for both; similarly, ACST/ACDT, ACWST/ACWDT,
3052 and AWST/AWDT are now used instead of the former CST, CWST, and WST.
3053 This change does not affect UT offsets, only time zone abbreviations.
3054 (Thanks to Rich Tibbett and many others.)
3056 Asia/Novokuznetsk shifts from NOVT to KRAT (remaining on UT +07)
3057 effective 2014-10-26 at 02:00 local time.
3059 The time zone abbreviation for Xinjiang Time (observed in Ürümqi)
3060 has been changed from URUT to XJT. (Thanks to Luther Ma.)
3062 Prefer MSK/MSD for Moscow time in Russia, even in other cities.
3063 Similarly, prefer EET/EEST for eastern European time in Russia.
3065 Change time zone abbreviations in (western) Samoa to use "ST" and
3066 "DT" suffixes, as this is more likely to match common practice.
3067 Prefix "W" to (western) Samoa time when its standard-time offset
3068 disagrees with that of American Samoa.
3070 America/Metlakatla now uses PST, not MeST, to abbreviate its time zone.
3072 Time zone abbreviations have been updated for Japan's two time
3073 zones used 1896-1937. JWST now stands for Western Standard
3074 Time, and JCST for Central Standard Time (formerly this was CJT).
3075 These abbreviations are now used for time in Korea, Taiwan,
3076 and Sakhalin while controlled by Japan.
3078 Changes affecting past timestamps
3080 China's five zones have been simplified to two, since the post-1970
3081 differences in the other three seem to have been imaginary. The
3082 zones Asia/Harbin, Asia/Chongqing, and Asia/Kashgar have been
3083 removed; backwards-compatibility links still work, albeit with
3084 different behaviors for timestamps before May 1980. Asia/Urumqi's
3085 1980 transition to UT +08 has been removed, so that it is now at
3086 +06 and not +08. (Thanks to Luther Ma and to Alois Treindl;
3087 Treindl sent helpful translations of two papers by Guo Qingsheng.)
3089 Some zones have been turned into links, when they differed from existing
3090 zones only for older UT offsets where data entries were likely invented.
3091 These changes affect UT offsets in pre-1970 timestamps only. This is
3092 similar to the change in release 2013e, except this time for western
3093 Africa. The affected zones are: Africa/Bamako, Africa/Banjul,
3094 Africa/Conakry, Africa/Dakar, Africa/Freetown, Africa/Lome,
3095 Africa/Nouakchott, Africa/Ouagadougou, Africa/Sao_Tome, and
3096 Atlantic/St_Helena. This also affects the backwards-compatibility
3097 link Africa/Timbuktu. (Thanks to Alan Barrett, Stephen Colebourne,
3098 Tim Parenti, and David Patte for reporting problems in earlier
3099 versions of this change.)
3101 Asia/Shanghai's pre-standard-time UT offset has been changed from
3102 8:05:57 to 8:05:43, the location of Xujiahui Observatory. Its
3103 transition to standard time has been changed from 1928 to 1901.
3105 Asia/Taipei switched to JWST on 1896-01-01, then to JST on 1937-10-01,
3106 then to CST on 1945-09-21 at 01:00, and did not observe DST in 1945.
3107 In 1946 it observed DST from 05-15 through 09-30; in 1947
3108 from 04-15 through 10-31; and in 1979 from 07-01 through 09-30.
3109 (Thanks to Yu-Cheng Chuang.)
3111 Asia/Riyadh's transition to standard time is now 1947-03-14, not 1950.
3113 Europe/Helsinki's 1942 fall-back transition was 10-04 at 01:00, not
3114 10-03 at 00:00. (Thanks to Konstantin Hyppönen.)
3116 Pacific/Pago_Pago has been changed from UT -11:30 to -11 for the
3117 period from 1911 to 1950.
3119 Pacific/Chatham has been changed to New Zealand standard time plus
3120 45 minutes for the period before 1957, reflecting a 1956 remark in
3121 the New Zealand parliament.
3123 Europe/Budapest has several pre-1946 corrections: in 1918 the transition
3124 out of DST was on 09-16, not 09-29; in 1919 it was on 11-24, not 09-15; in
3125 1945 it was on 11-01, not 11-03; in 1941 the transition to DST was 04-08
3126 not 04-06 at 02:00; and there was no DST in 1920.
3128 Africa/Accra is now assumed to have observed DST from 1920 through 1935.
3130 Time in Russia before 1927 or so has been corrected by a few seconds in
3131 the following zones: Europe/Moscow, Asia/Irkutsk, Asia/Tbilisi,
3132 Asia/Tashkent, Asia/Vladivostok, Asia/Yekaterinburg, Europe/Helsinki, and
3133 Europe/Riga. Also, Moscow's location has been changed to its Kilometer 0
3134 point. (Thanks to Vladimir Karpinsky for the Moscow changes.)
3136 Changes affecting data format
3138 A new file 'zone1970.tab' supersedes 'zone.tab' in the installed data.
3139 The new file's extended format allows multiple country codes per zone.
3140 The older file is still installed but is deprecated; its format is
3141 not changing and it will still be distributed for a while, but new
3142 applications should use the new file.
3144 The new file format simplifies maintenance of obscure locations.
3145 To test this, it adds coverage for the Crozet Islands and the
3146 Scattered Islands. (Thanks to Tobias Conradi and Antoine Leca.)
3148 The file 'iso3166.tab' is planned to switch from ASCII to UTF-8.
3149 It is still ASCII now, but commentary about the switch has been added.
3150 The new file 'zone1970.tab' already uses UTF-8.
3152 Changes affecting code
3154 'localtime', 'mktime', etc. now use much less stack space if ALL_STATE
3155 is defined. (Thanks to Elliott Hughes for reporting the problem.)
3157 'zic' no longer mishandles input when ignoring case in locales that
3158 are not compatible with English, e.g., unibyte Turkish locales when
3159 compiled with HAVE_GETTEXT.
3161 Error diagnostics of 'zic' and 'yearistype' have been reworded so that
3162 they no longer use ASCII '-' as if it were a dash.
3164 'zic' now rejects output file names that contain '.' or '..' components.
3165 (Thanks to Tim Parenti for reporting the problem.)
3167 'zic -v' now warns about output file names that do not follow
3168 POSIX rules, or that contain a digit or '.'. (Thanks to Arthur
3169 David Olson for starting the ball rolling on this.)
3171 Some lint has been removed when using GCC_DEBUG_FLAGS with GCC 4.9.0.
3173 Changes affecting build procedure
3175 'zic' no longer links in localtime.o and asctime.o, as they're not needed.
3176 (Thanks to John Cochran.)
3178 Changes affecting documentation and commentary
3180 The 'Theory' file documents legacy names, the longstanding
3181 exceptions to the POSIX-inspired file name rules.
3183 The 'zic' documentation clarifies the role of time types when
3184 interpreting dates. (Thanks to Arthur David Olson.)
3186 Documentation and commentary now prefer UTF-8 to US-ASCII,
3187 allowing the use of proper accents in foreign words and names.
3188 Code and data have not changed because of this. (Thanks to
3189 Garrett Wollman, Ian Abbott, and Guy Harris for helping to debug
3192 Non-HTML documentation and commentary now use plain-text URLs instead of
3193 HTML insertions, and are more consistent about bracketing URLs when they
3194 are not already surrounded by white space. (Thanks to suggestions by
3197 There is new commentary about Xujiahui Observatory, the five time-zone
3198 project in China from 1918 to 1949, timekeeping in Japanese-occupied
3199 Shanghai, and Tibet Time in the 1950s. The sharp-eyed can spot the
3200 warlord Jin Shuren in the data.
3202 Commentary about the coverage of each Russian zone has been standardized.
3203 (Thanks to Tim Parenti.)
3205 There is new commentary about contemporary timekeeping in Ethiopia.
3207 Obsolete comments about a 2007 proposal for DST in Kuwait has been removed.
3209 There is new commentary about time in Poland in 1919.
3211 Proper credit has been given to DST inventor George Vernon Hudson.
3213 Commentary about time in Metlakatla, AK and Resolute, NU has been
3214 improved, with a new source for the former.
3216 In zone.tab, Pacific/Easter no longer mentions Salas y Gómez, as it
3219 Commentary about permanent Antarctic bases has been updated.
3221 Several typos have been corrected. (Thanks to Tim Parenti for
3222 contributing some of these fixes.)
3224 tz-link.htm now mentions the JavaScript libraries Moment Timezone,
3225 TimezoneJS.Date, Walltime-js, and Timezone. (Thanks to a heads-up
3226 from Matt Johnson.) Also, it mentions the Go 'latlong' package.
3227 (Thanks to a heads-up from Dirkjan Ochtman.)
3229 The files usno1988, usno1989, usno1989a, usno1995, usno1997, and usno1998
3230 have been removed. These obsolescent US Naval Observatory entries were no
3231 longer helpful for maintenance. (Thanks to Tim Parenti for the suggestion.)
3234 Release 2014e - 2014-06-12 21:53:52 -0700
3236 Changes affecting near-future timestamps
3238 Egypt's 2014 Ramadan-based transitions are June 26 and July 31 at 24:00.
3239 (Thanks to Imed Chihi.) Guess that from 2015 on Egypt will temporarily
3240 switch to standard time at 24:00 the last Thursday before Ramadan, and
3241 back to DST at 00:00 the first Friday after Ramadan.
3243 Similarly, Morocco's are June 28 at 03:00 and August 2 at 02:00. (Thanks
3244 to Milamber Space Network.) Guess that from 2015 on Morocco will
3245 temporarily switch to standard time at 03:00 the last Saturday before
3246 Ramadan, and back to DST at 02:00 the first Saturday after Ramadan.
3248 Changes affecting past timestamps
3250 The abbreviation "MSM" (Moscow Midsummer Time) is now used instead of
3251 "MSD" for Moscow's double daylight time in summer 1921. Also, a typo
3252 "VLASST" has been repaired to be "VLAST" for Vladivostok summer time
3253 in 1991. (Thanks to Hank W. for reporting the problems.)
3255 Changes affecting commentary
3257 tz-link.htm now cites RFC 7265 for jCal, mentions PTP and the
3258 draft CalDAV extension, updates URLs for TSP, TZInfo, IATA, and
3259 removes stale pointers to World Time Explorer and WORLDTIME.
3262 Release 2014d - 2014-05-27 21:34:40 -0700
3264 Changes affecting code
3266 zic no longer generates files containing timestamps before the Big Bang.
3267 This works around GNOME glib bug 878
3268 <https://gitlab.gnome.org/GNOME/glib/issues/878>
3269 (Thanks to Leonardo Chiquitto for reporting the bug, and to
3270 Arthur David Olson and James Cloos for suggesting improvements to the fix.)
3272 Changes affecting documentation
3274 tz-link.htm now mentions GNOME.
3277 Release 2014c - 2014-05-13 07:44:13 -0700
3279 Changes affecting near-future timestamps
3281 Egypt observes DST starting 2014-05-15 at 24:00.
3282 (Thanks to Ahmad El-Dardiry and Gunther Vermier.)
3283 Details have not been announced, except that DST will not be observed
3284 during Ramadan. Guess that DST will stop during the same Ramadan dates as
3285 Morocco, and that Egypt's future spring and fall transitions will be the
3286 same as 2010 when it last observed DST, namely April's last Friday at
3287 00:00 to September's last Thursday at 23:00 standard time. Also, guess
3288 that Ramadan transitions will be at 00:00 standard time.
3290 Changes affecting code
3292 zic now generates transitions for minimum time values, eliminating guesswork
3293 when handling low-valued timestamps. (Thanks to Arthur David Olson.)
3295 Port to Cygwin sans glibc. (Thanks to Arthur David Olson.)
3297 Changes affecting commentary and documentation
3299 Remove now-confusing comment about Jordan. (Thanks to Oleksii Nochovnyi.)
3302 Release 2014b - 2014-03-24 21:28:50 -0700
3304 Changes affecting near-future timestamps
3306 Crimea switches to Moscow time on 2014-03-30 at 02:00 local time.
3307 (Thanks to Alexander Krivenyshev.) Move its zone.tab entry from UA to RU.
3309 New entry for Troll station, Antarctica. (Thanks to Paul-Inge Flakstad and
3310 Bengt-Inge Larsson.) This is currently an approximation; a better version
3311 will require the zic and localtime fixes mentioned below, and the plan is
3312 to wait for a while until at least the zic fixes propagate.
3314 Changes affecting code
3316 'zic' and 'localtime' no longer reject locations needing four transitions
3317 per year for the foreseeable future. (Thanks to Andrew Main (Zefram).)
3318 Also, 'zic' avoids some unlikely failures due to integer overflow.
3320 Changes affecting build procedure
3322 'make check' now detects Rule lines defined but never used.
3323 The NZAQ rules, an instance of this problem, have been removed.
3325 Changes affecting commentary and documentation
3327 Fix Tuesday/Thursday typo in description of time in Israel.
3328 (Thanks to Bert Katz via Pavel Kharitonov and Mike Frysinger.)
3330 Microsoft Windows 8.1 doesn't support tz database names. (Thanks
3331 to Donald MacQueen.) Instead, the Microsoft Windows Store app
3332 library supports them.
3334 Add comments about Johnston Island time in the 1960s.
3335 (Thanks to Lyle McElhaney.)
3337 Morocco's 2014 DST start will be as predicted.
3338 (Thanks to Sebastien Willemijns.)
3341 Release 2014a - 2014-03-07 23:30:29 -0800
3343 Changes affecting near-future timestamps
3345 Turkey begins DST on 2014-03-31, not 03-30. (Thanks to Faruk Pasin for
3346 the heads-up, and to Tim Parenti for simplifying the update.)
3348 Changes affecting past timestamps
3350 Fiji ended DST on 2014-01-19 at 02:00, not the previously-scheduled 03:00.
3351 (Thanks to Steffen Thorsen.)
3353 Ukraine switched from Moscow to Eastern European time on 1990-07-01
3354 (not 1992-01-01), and observed DST during the entire next winter.
3355 (Thanks to Vladimir in Moscow via Alois Treindl.)
3357 In 1988 Israel observed DST from 04-10 to 09-04, not 04-09 to 09-03.
3358 (Thanks to Avigdor Finkelstein.)
3360 Changes affecting code
3362 A uninitialized-storage bug in 'localtime' has been fixed.
3363 (Thanks to Logan Chien.)
3365 Changes affecting the build procedure
3367 The settings for 'make check_web' now default to Ubuntu 13.10.
3369 Changes affecting commentary and documentation
3371 The boundary of the US Pacific time zone is given more accurately.
3372 (Thanks to Alan Mintz.)
3374 Chile's 2014 DST will be as predicted. (Thanks to José Miguel Garrido.)
3376 Paraguay's 2014 DST will be as predicted. (Thanks to Carlos Raúl Perasso.)
3378 Better descriptions of countries with same time zone history as
3379 Trinidad and Tobago since 1970. (Thanks to Alan Barrett for suggestion.)
3381 Several changes affect tz-link.htm, the main web page.
3383 Mention Time.is (thanks to Even Scharning) and WX-now (thanks to
3386 Mention xCal (Internet RFC 6321) and jCal.
3388 Microsoft has some support for tz database names.
3390 CLDR data formats include both XML and JSON.
3392 Mention Maggiolo's map of solar vs standard time.
3393 (Thanks to Arthur David Olson.)
3395 Mention TZ4Net. (Thanks to Matt Johnson.)
3397 Mention the timezone-olson Haskell package.
3399 Mention zeitverschiebung.net. (Thanks to Martin Jäger.)
3401 Remove moribund links to daylight-savings-time.info and to
3402 Simple Timer + Clocks.
3404 Update two links. (Thanks to Oscar van Vlijmen.)
3406 Fix some formatting glitches, e.g., remove random newlines from
3407 abbr elements' title attributes.
3410 Release 2013i - 2013-12-17 07:25:23 -0800
3412 Changes affecting near-future timestamps:
3414 Jordan switches back to standard time at 00:00 on December 20, 2013.
3415 The 2006-2011 transition schedule is planned to resume in 2014.
3416 (Thanks to Steffen Thorsen.)
3418 Changes affecting past timestamps:
3420 In 2004, Cuba began DST on March 28, not April 4.
3421 (Thanks to Steffen Thorsen.)
3423 Changes affecting code
3425 The compile-time flag NOSOLAR has been removed, as nowadays the
3426 benefit of slightly shrinking runtime table size is outweighed by the
3427 cost of disallowing potential future updates that exceed old limits.
3429 Changes affecting documentation and commentary
3431 The files solar87, solar88, and solar89 are no longer distributed.
3432 They were a negative experiment - that is, a demonstration that
3433 tz data can represent solar time only with some difficulty and error.
3434 Their presence in the distribution caused confusion, as Riyadh
3435 civil time was generally not solar time in those years.
3437 tz-link.htm now mentions Noda Time. (Thanks to Matt Johnson.)
3440 Release 2013h - 2013-10-25 15:32:32 -0700
3442 Changes affecting current and future timestamps:
3444 Libya has switched its UT offset back to +02 without DST, instead
3445 of +01 with DST. (Thanks to Even Scharning.)
3447 Western Sahara (Africa/El_Aaiun) uses Morocco's DST rules.
3448 (Thanks to Gwillim Law.)
3450 Changes affecting future timestamps:
3452 Acre and (we guess) western Amazonas will switch from UT -04 to -05
3453 on 2013-11-10. This affects America/Rio_Branco and America/Eirunepe.
3454 (Thanks to Steffen Thorsen.)
3456 Add entries for DST transitions in Morocco in the year 2038.
3457 This avoids some year-2038 glitches introduced in 2013g.
3458 (Thanks to Yoshito Umaoka for reporting the problem.)
3460 Changes affecting API
3462 The 'tzselect' command no longer requires the 'select' command,
3463 and should now work with /bin/sh on more platforms. It also works
3464 around a bug in BusyBox awk before version 1.21.0. (Thanks to
3465 Patrick 'P. J.' McDermott and Alan Barrett.)
3467 Changes affecting code
3469 Fix localtime overflow bugs with 32-bit unsigned time_t.
3471 zdump no longer assumes sscanf returns maximal values on overflow.
3473 Changes affecting the build procedure
3475 The builder can specify which programs to use, if any, instead of
3476 'ar' and 'ranlib', and libtz.a is now built locally before being
3477 installed. (Thanks to Michael Forney.)
3479 A dependency typo in the 'zdump' rule has been fixed.
3480 (Thanks to Andrew Paprocki.)
3482 The Makefile has been simplified by assuming that 'mkdir -p' and 'cp -f'
3483 work as specified by POSIX.2-1992 or later; this is portable nowadays.
3485 'make clean' no longer removes 'leapseconds', since it's
3486 host-independent and is part of the distribution.
3488 The unused makefile macros TZCSRCS, TZDSRCS, DATESRCS have been removed.
3490 Changes affecting documentation and commentary
3492 tz-link.htm now mentions TC TIMEZONE's draft time zone service protocol
3493 (thanks to Mike Douglass) and TimezoneJS.Date (thanks to Jim Fehrle).
3495 Update URLs in tz-link page. Add URLs for Microsoft Windows, since
3496 8.1 introduces tz support. Remove URLs for Tru64 and UnixWare (no
3497 longer maintained) and for old advisories. SOFA now does C.
3499 Release 2013g - 2013-09-30 21:08:26 -0700
3501 Changes affecting current and near-future timestamps
3503 Morocco now observes DST from the last Sunday in March to the last
3504 Sunday in October, not April to September respectively. (Thanks
3505 to Steffen Thorsen.)
3507 Changes affecting 'zic'
3509 'zic' now runs on platforms that lack both hard links and symlinks.
3510 (Thanks to Theo Veenker for reporting the problem, for MinGW.)
3511 Also, fix some bugs on platforms that lack hard links but have symlinks.
3513 'zic -v' again warns that Asia/Tehran has no POSIX environment variable
3514 to predict the far future, fixing a bug introduced in 2013e.
3516 Changes affecting the build procedure
3518 The 'leapseconds' file is again put into the tzdata tarball.
3519 Also, 'leapseconds.awk', so tzdata is self-contained. (Thanks to
3520 Matt Burgess and Ian Abbott.) The timestamps of these and other
3521 dependent files in tarballs are adjusted more consistently.
3523 Changes affecting documentation and commentary
3525 The README file is now part of the data tarball as well as the code.
3526 It now states that files are public domain unless otherwise specified.
3527 (Thanks to Andrew Main (Zefram) for asking for clarifications.)
3528 Its details about the 1989 release moved to a place of honor near
3532 Release 2013f - 2013-09-24 23:37:36 -0700
3534 Changes affecting near-future timestamps
3536 Tocantins will very likely not observe DST starting this spring.
3537 (Thanks to Steffen Thorsen.)
3539 Jordan will likely stay at UT +03 indefinitely, and will not fall
3542 Palestine will fall back at 00:00, not 01:00. (Thanks to Steffen Thorsen.)
3544 Changes affecting API
3546 The types of the global variables 'timezone' and 'altzone' (if present)
3547 have been changed back to 'long'. This is required for 'timezone'
3548 by POSIX, and for 'altzone' by common practice, e.g., Solaris 11.
3549 These variables were originally 'long' in the tz code, but were
3550 mistakenly changed to 'time_t' in 1987; nobody reported the
3551 incompatibility until now. The difference matters on x32, where
3552 'long' is 32 bits and 'time_t' is 64. (Thanks to Elliott Hughes.)
3554 Changes affecting the build procedure
3556 Avoid long strings in leapseconds.awk to work around a mawk bug.
3557 (Thanks to Cyril Baurand.)
3559 Changes affecting documentation and commentary
3561 New file 'NEWS' that contains release notes like this one.
3563 Paraguay's law does not specify DST transition time; 00:00 is customary.
3564 (Thanks to Waldemar Villamayor-Venialbo.)
3566 Minor capitalization fixes.
3568 Changes affecting version-control only
3570 The experimental GitHub repository now contains annotated and
3571 signed tags for recent releases, e.g., '2013e' for Release 2013e.
3572 Releases are tagged starting with 2012e; earlier releases were
3573 done differently, and tags would either not have a simple name or
3574 not exactly match what was released.
3576 'make set-timestamps' is now simpler and a bit more portable.
3579 Release 2013e - 2013-09-19 23:50:04 -0700
3581 Changes affecting near-future timestamps
3583 This year Fiji will start DST on October 27, not October 20.
3584 (Thanks to David Wheeler for the heads-up.) For now, guess that
3585 Fiji will continue to spring forward the Sunday before the fourth
3588 Changes affecting current and future time zone abbreviations
3590 Use WIB/WITA/WIT rather than WIT/CIT/EIT for alphabetic Indonesian
3591 time zone abbreviations since 1932. (Thanks to George Ziegler,
3592 Priyadi Iman Nurcahyo, Zakaria, Jason Grimes, Martin Pitt, and
3593 Benny Lin.) This affects Asia/Dili, Asia/Jakarta, Asia/Jayapura,
3594 Asia/Makassar, and Asia/Pontianak.
3596 Use ART (UT -03, standard time), rather than WARST (also -03, but
3597 daylight saving time) for San Luis, Argentina since 2009.
3599 Changes affecting Godthåb timestamps after 2037 if version mismatch
3601 Allow POSIX-like TZ strings where the transition time's hour can
3602 range from -167 through 167, instead of the POSIX-required 0
3603 through 24. E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the
3604 new Fiji rules. This is a more-compact way to represent
3605 far-future timestamps for America/Godthab, America/Santiago,
3606 Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem,
3607 Pacific/Easter, and Pacific/Fiji. Other zones are unaffected by
3608 this change. (Derived from a suggestion by Arthur David Olson.)
3610 Allow POSIX-like TZ strings where daylight saving time is in
3611 effect all year. E.g., TZ='WART4WARST,J1/0,J365/25' for Western
3612 Argentina Summer Time all year. This supports a more-compact way
3613 to represent the 2013d data for America/Argentina/San_Luis.
3614 Because of the change for San Luis noted above this change does not
3615 affect the current data. (Thanks to Andrew Main (Zefram) for
3616 suggestions that improved this change.)
3618 Where these two TZ changes take effect, there is a minor extension
3619 to the tz file format in that it allows new values for the
3620 embedded TZ-format string, and the tz file format version number
3621 has therefore been increased from 2 to 3 as a precaution.
3622 Version-2-based client code should continue to work as before for
3623 all timestamps before 2038. Existing version-2-based client code
3624 (tzcode, GNU/Linux, Solaris) has been tested on version-3-format
3625 files, and typically works in practice even for timestamps after
3626 2037; the only known exception is America/Godthab.
3628 Changes affecting timestamps before 1970
3630 Pacific/Johnston is now a link to Pacific/Honolulu. This corrects
3631 some errors before 1947.
3633 Some zones have been turned into links, when they differ from existing
3634 zones only in older data entries that were likely invented or that
3635 differ only in LMT or transitions from LMT. These changes affect
3636 only timestamps before 1943. The affected zones are:
3637 Africa/Juba, America/Anguilla, America/Aruba, America/Dominica,
3638 America/Grenada, America/Guadeloupe, America/Marigot,
3639 America/Montserrat, America/St_Barthelemy, America/St_Kitts,
3640 America/St_Lucia, America/St_Thomas, America/St_Vincent,
3641 America/Tortola, and Europe/Vaduz. (Thanks to Alois Treindl for
3642 confirming that the old Europe/Vaduz zone was wrong and the new
3643 link is better for WWII-era times.)
3645 Change Kingston Mean Time from -5:07:12 to -5:07:11. This affects
3646 America/Cayman, America/Jamaica and America/Grand_Turk timestamps
3649 Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46.
3650 This affects Europe/Zurich timestamps from 1853 to 1894. (Thanks
3653 Change the date of the circa-1850 Zurich transition from 1849-09-12
3654 to 1853-07-16, overriding Shanks with data from Messerli about
3655 postal and telegraph time in Switzerland.
3657 Changes affecting time zone abbreviations before 1970
3659 For Asia/Jakarta, use BMT (not JMT) for mean time from 1923 to 1932,
3660 as Jakarta was called Batavia back then.
3662 Changes affecting API
3664 The 'zic' command now outputs a dummy transition when far-future
3665 data can't be summarized using a TZ string, and uses a 402-year
3666 window rather than a 400-year window. For the current data, this
3667 affects only the Asia/Tehran file. It does not affect any of the
3668 timestamps that this file represents, so zdump outputs the same
3669 information as before. (Thanks to Andrew Main (Zefram).)
3671 The 'date' command has a new '-r' option, which lets you specify
3672 the integer time to display, a la FreeBSD.
3674 The 'tzselect' command has two new options '-c' and '-n', which lets you
3675 select a zone based on latitude and longitude.
3677 The 'zic' command's '-v' option now warns about constructs that
3678 require the new version-3 binary file format. (Thanks to Arthur
3679 David Olson for the suggestion.)
3681 Support for floating-point time_t has been removed.
3682 It was always dicey, and POSIX no longer requires it.
3683 (Thanks to Eric Blake for suggesting to the POSIX committee to
3684 remove it, and thanks to Alan Barrett, Clive D.W. Feather, Andy
3685 Heninger, Arthur David Olson, and Alois Treindl, for reporting
3686 bugs and elucidating some of the corners of the old floating-point
3689 The signatures of 'offtime', 'timeoff', and 'gtime' have been
3690 changed back to the old practice of using 'long' to represent UT
3691 offsets. This had been inadvertently and mistakenly changed to
3692 'int_fast32_t'. (Thanks to Christos Zoulas.)
3694 The code avoids undefined behavior on integer overflow in some
3695 more places, including gmtime, localtime, mktime and zdump.
3697 Changes affecting the zdump utility
3699 zdump now outputs "UT" when referring to Universal Time, not "UTC".
3700 "UTC" does not make sense for timestamps that predate the introduction
3701 of UTC, whereas "UT", a more-generic term, does. (Thanks to Steve Allen
3702 for clarifying UT vs UTC.)
3704 Data changes affecting behavior of tzselect and similar programs
3706 Country code BQ is now called the more-common name "Caribbean Netherlands"
3707 rather than the more-official "Bonaire, St Eustatius & Saba".
3709 Remove from zone.tab the names America/Montreal, America/Shiprock,
3710 and Antarctica/South_Pole, as they are equivalent to existing
3711 same-country-code zones for post-1970 timestamps. The data entries for
3712 these names are unchanged, so the names continue to work as before.
3714 Changes affecting code internals
3716 zic -c now runs way faster on 64-bit hosts when given large numbers.
3718 zic now uses vfprintf to avoid allocating and freeing some memory.
3720 tzselect now computes the list of continents from the data,
3721 rather than have it hard-coded.
3723 Minor changes pacify GCC 4.7.3 and GCC 4.8.1.
3725 Changes affecting the build procedure
3727 The 'leapseconds' file is now generated automatically from a
3728 new file 'leap-seconds.list', which is a copy of
3729 <ftp://ftp.nist.gov/pub/time/leap-seconds.list>
3730 A new source file 'leapseconds.awk' implements this.
3731 The goal is simplification of the future maintenance of 'leapseconds'.
3733 When building the 'posix' or 'right' subdirectories, if the
3734 subdirectory would be a copy of the default subdirectory, it is
3735 now made a symbolic link if that is supported. This saves about
3736 2 MB of file system space.
3738 The links America/Shiprock and Antarctica/South_Pole have been
3739 moved to the 'backward' file. This affects only nondefault builds
3740 that omit 'backward'.
3742 Changes affecting version-control only
3744 .gitignore now ignores 'date'.
3746 Changes affecting documentation and commentary
3748 Changes to the 'tzfile' man page
3750 It now mentions that the binary file format may be extended in
3751 future versions by appending data.
3753 It now refers to the 'zdump' and 'zic' man pages.
3755 Changes to the 'zic' man page
3757 It lists conditions that elicit a warning with '-v'.
3759 It says that the behavior is unspecified when duplicate names
3760 are given, or if the source of one link is the target of another.
3762 Its examples are updated to match the latest data.
3764 The definition of white space has been clarified slightly.
3765 (Thanks to Michael Deckers.)
3767 Changes to the 'Theory' file
3769 There is a new section about the accuracy of the tz database,
3770 describing the many ways that errors can creep in, and
3771 explaining why so many of the pre-1970 timestamps are wrong or
3772 misleading (thanks to Steve Allen, Lester Caine, and Garrett
3773 Wollman for discussions that contributed to this).
3775 The 'Theory' file describes LMT better (this follows a
3776 suggestion by Guy Harris).
3778 It refers to the 2013 edition of POSIX rather than the 2004 edition.
3780 It's mentioned that excluding 'backward' should not affect the
3781 other data, and it suggests at least one zone.tab name per
3782 inhabited country (thanks to Stephen Colebourne).
3784 Some longstanding restrictions on names are documented, e.g.,
3785 'America/New_York' precludes 'America/New_York/Bronx'.
3787 It gives more reasons for the 1970 cutoff.
3789 It now mentions which time_t variants are supported, such as
3790 signed integer time_t. (Thanks to Paul Goyette for reporting
3791 typos in an experimental version of this change.)
3793 (Thanks to Philip Newton for correcting typos in these changes.)
3795 Documentation and commentary is more careful to distinguish UT in
3796 general from UTC in particular. (Thanks to Steve Allen.)
3798 Add a better source for the Zurich 1894 transition.
3799 (Thanks to Pierre-Yves Berger.)
3801 Update shapefile citations in tz-link.htm. (Thanks to Guy Harris.)
3804 Release 2013d - 2013-07-05 07:38:01 -0700
3806 Changes affecting future timestamps:
3808 Morocco's midsummer transitions this year are July 7 and August 10,
3809 not July 9 and August 8. (Thanks to Andrew Paprocki.)
3811 Israel now falls back on the last Sunday of October.
3812 (Thanks to Ephraim Silverberg.)
3814 Changes affecting past timestamps:
3816 Specify Jerusalem's location more precisely; this changes the pre-1880
3819 Changing affecting metadata only:
3821 Fix typos in the entries for country codes BQ and SX.
3823 Changes affecting code:
3825 Rework the code to fix a bug with handling Australia/Macquarie on
3826 32-bit hosts (thanks to Arthur David Olson).
3828 Port to platforms like NetBSD, where time_t can be wider than long.
3830 Add support for testing time_t types other than the system's.
3831 Run 'make check_time_t_alternatives' to try this out.
3832 Currently, the tests fail for unsigned time_t;
3833 this should get fixed at some point.
3835 Changes affecting documentation and commentary:
3837 Deemphasize the significance of national borders.
3839 Update the zdump man page.
3841 Remove obsolete NOID comment (thanks to Denis Excoffier).
3843 Update several URLs and comments in the web pages.
3845 Spelling fixes (thanks to Kevin Lyda and Jonathan Leffler).
3847 Update URL for CLDR Zone->Tzid table (thanks to Yoshito Umaoka).
3850 Release 2013c - 2013-04-19 16:17:40 -0700
3852 Changes affecting current and future timestamps:
3854 Palestine observed DST starting March 29, 2013. (Thanks to
3855 Steffen Thorsen.) From 2013 on, Gaza and Hebron both observe DST,
3856 with the predicted rules being the last Thursday in March at 24:00
3857 to the first Friday on or after September 21 at 01:00.
3859 Assume that the recent change to Paraguay's DST rules is permanent,
3860 by moving the end of DST to the 4th Sunday in March every year.
3861 (Thanks to Carlos Raúl Perasso.)
3863 Changes affecting past timestamps:
3865 Fix some historical data for Palestine to agree with that of
3866 timeanddate.com, as follows:
3868 The spring 2008 change in Gaza and Hebron was on 00:00 Mar 28, not
3871 The fall 2009 change in Gaza and Hebron on Sep 4 was at 01:00, not
3874 The spring 2010 change in Hebron was 00:00 Mar 26, not 00:01 Mar 27.
3876 The spring 2011 change in Gaza was 00:01 Apr 1, not 12:01 Apr 2.
3878 The spring 2011 change in Hebron on Apr 1 was at 00:01, not 12:01.
3880 The fall 2011 change in Hebron on Sep 30 was at 00:00, not 03:00.
3882 Fix times of habitation for Macquarie to agree with the Tasmania
3883 Parks & Wildlife Service history, which indicates that permanent
3884 habitation was 1899-1919 and 1948 on.
3886 Changing affecting metadata only:
3888 Macquarie Island is politically part of Australia, not Antarctica.
3889 (Thanks to Tobias Conradi.)
3891 Sort Macquarie more-consistently with other parts of Australia.
3892 (Thanks to Tim Parenti.)
3895 Release 2013b - 2013-03-10 22:33:40 -0700
3897 Changes affecting current and future timestamps:
3899 Haiti uses US daylight-saving rules this year, and presumably future years.
3900 This changes timestamps starting today. (Thanks to Steffen Thorsen.)
3902 Paraguay will end DST on March 24 this year.
3903 (Thanks to Steffen Thorsen.) For now, assume it's just this year.
3905 Morocco does not observe DST during Ramadan;
3906 try to predict Ramadan in Morocco as best we can.
3907 (Thanks to Erik Homoet for the heads-up.)
3909 Changes affecting commentary:
3911 Update URLs in tz-link page. Add URLs for webOS, BB10, iOS.
3912 Update URL for Solaris. Mention Internet RFC 6557.
3913 Update Internet RFCs 2445->5545, 2822->5322.
3914 Switch from FTP to HTTP for Internet RFCs.
3917 Release 2013a - 2013-02-27 09:20:35 -0800
3919 Change affecting binary data format:
3921 The zone offset at the end of version-2-format zone files is now
3922 allowed to be 24:00, as per POSIX.1-2008. (Thanks to Arthur David Olson.)
3924 Changes affecting current and future timestamps:
3926 Chile's 2013 rules, and we guess rules for 2014 and later, will be
3927 the same as 2012, namely Apr Sun>=23 03:00 UTC to Sep Sun>=2 04:00 UTC.
3928 (Thanks to Steffen Thorsen and Robert Elz.)
3930 New Zones Asia/Khandyga, Asia/Ust-Nera, Europe/Busingen.
3931 (Thanks to Tobias Conradi and Arthur David Olson.)
3933 Many changes affect historical timestamps before 1940.
3934 These were deduced from: Milne J. Civil time. Geogr J. 1899
3935 Feb;13(2):173-94 <https://www.jstor.org/stable/1774359>.
3937 Changes affecting the code:
3939 Fix zic bug that mishandled Egypt's 2010 changes (this also affected
3940 the data). (Thanks to Arthur David Olson.)
3942 Fix localtime bug when time_t is unsigned and data files were generated
3943 by a signed time_t system. (Thanks to Doug Bailey for reporting and
3944 to Arthur David Olson for fixing.)
3946 Allow the email address for bug reports to be set by the packager.
3947 The default is tz@iana.org, as before. (Thanks to Joseph S. Myers.)
3949 Update HTML checking to be compatible with Ubuntu 12.10.
3951 Check that files are a safe subset of ASCII. At some point we may
3952 relax this requirement to a safe subset of UTF-8. Without the
3953 check, some non-UTF-8 encodings were leaking into the distribution.
3957 Restore a comment about copyright notices that was inadvertently deleted.
3958 (Thanks to Arthur David Olson.)
3960 Improve the commentary about which districts observe what times
3961 in Russia. (Thanks to Oscar van Vlijmen and Arthur David Olson.)
3963 Add web page links to tz.js.
3965 Add "Run by the Monkeys" to tz-art. (Thanks to Arthur David Olson.)
3968 Release 2012j - 2012-11-12 18:34:49 -0800
3970 Libya moved to CET this weekend, but with DST planned next year.
3971 (Thanks to Even Scharning, Steffen Thorsen, and Tim Parenti.)
3973 Signatures now have the extension .asc, not .sign, as that's more
3974 standard. (Thanks to Phil Pennock.)
3976 The output of 'zdump --version', and of 'zic --version', now
3977 uses a format that is more typical for --version.
3978 (Thanks to Joseph S. Myers.)
3980 The output of 'tzselect --help', 'zdump --help', and 'zic --help'
3981 now uses tz@iana.org rather than the old elsie address.
3983 zic -v now complains about abbreviations that are less than 3
3984 or more than 6 characters, as per Posix. Formerly, it checked
3985 for abbreviations that were more than 3.
3987 'make public' no longer puts its temporary directory under /tmp,
3988 and uses the just-built zic rather than the system zic.
3990 Various fixes to documentation and commentary.
3993 Release 2012i - 2012-11-03 12:57:09 -0700
3995 Cuba switches from DST tomorrow at 01:00. (Thanks to Steffen Thorsen.)
3997 Linker flags can now be specified via LDFLAGS.
3998 AWK now defaults to 'awk', not 'nawk'.
3999 The shell in tzselect now defaults to /bin/bash, but this can
4000 be overridden by specifying KSHELL.
4001 The main web page now mentions the unofficial GitHub repository.
4002 (Thanks to Mike Frysinger.)
4004 Tarball signatures can now be built by running 'make signatures'.
4005 There are also new makefile rules 'tarballs', 'check_public', and
4006 separate makefile rules for each tarball and signature file.
4007 A few makefile rules are now more portable to strict POSIX.
4009 The main web page now lists the canonical IANA URL.
4012 Release 2012h - 2012-10-26 22:49:10 -0700
4014 Bahia no longer has DST. (Thanks to Kelley Cook.)
4016 Tocantins has DST. (Thanks to Rodrigo Severo.)
4018 Israel has new DST rules next year. (Thanks to Ephraim Silverberg.)
4020 Jordan stays on DST this winter. (Thanks to Steffen Thorsen.)
4024 More C modernization, except that at Arthur David Olson's suggestion
4025 the instances of 'register' were kept.
4028 Release 2012g - 2012-10-17 20:59:45 -0700
4030 Samoa fall 2012 and later. (Thanks to Nicholas Pereira and Robert Elz.)
4032 Palestine fall 2012. (Thanks to Steffen Thorsen.)
4036 To attack the version-number problem, this release ships the file
4037 'Makefile' (which contains the release number) in both the tzcode and
4038 the tzdata tarballs. The two Makefiles are identical, and should be
4039 identical in any matching pair of tarballs, so it shouldn't matter
4040 which order you extract the tarballs. Perhaps we can come up with a
4041 better version-number scheme at some point; this scheme does have the
4042 virtue of not adding more files.
4045 Release 2012f - 2012-09-12 23:17:03 -0700
4047 * australasia (Pacific/Fiji): Fiji DST is October 21 through January
4048 20 this year. (Thanks to Steffen Thorsen.)
4051 Release 2012e - 2012-08-02 20:44:55 -0700
4053 * australasia (Pacific/Fakaofo): Tokelau is UT +13, not +14.
4054 (Thanks to Steffen Thorsen.)
4056 * Use a single version number for both code and data.
4058 * .gitignore: New file.
4060 * Remove trailing white space.
4063 Release code2012c-data2012d - 2012-07-19 16:35:33 -0700
4065 Changes for Morocco's timestamps, which take effect in a couple of
4066 hours, along with infrastructure changes to accommodate how the tz
4067 code and data are released on IANA.
4070 Release data2012c - 2012-03-27 12:17:25 -0400
4073 Summer time changes for Morocco (to start late April 2012)
4076 Changes for 2012 for Gaza & the West Bank (Hebron) and Syria
4079 Haiti following US/Canada rules for 2012 (and we're assuming,
4080 for now anyway, for the future).
4083 Release 2012b - 2012-03-02 12:29:15 +0700
4085 There is just one change to tzcode2012b (compared with 2012a):
4086 the Makefile that was accidentally included with 2012a has been
4087 replaced with the version that should have been there, which is
4088 identical with the previous version (from tzcode2011i).
4090 There are just two changes in tzdata2012b compared with 2012a.
4092 Most significantly, summer time in Cuba has been delayed 3 weeks
4093 (now starts April 1 rather than March 11). Since Mar 11 (the old start
4094 date, as listed in 2012a) is just a little over a week away, this
4097 Less importantly, an excess tab in one of the changes in zone.tab
4098 in 2012a has been removed.
4101 Release 2012a - 2012-03-01 18:28:10 +0700
4103 The changes in tzcode2012a (compared to the previous version, 2011i)
4104 are entirely to the README and tz-art.htm and tz-link.htm files, if
4105 none of those concern you, you can ignore the code update. The changes
4106 reflect the changed addresses for the mailing list and the code and
4107 data distribution points & methods (and a link to DateTime::TimeZone::Tzfile
4108 has been added to tz-link.htm).
4110 In tzdata2012a (compared to the previous release, which was 2011n)
4111 the major changes are:
4112 Chile 2011/2012 and 2012/2013 summer time date adjustments.
4113 Falkland Islands onto permanent summer time (we're assuming for the
4114 foreseeable future, though 2012 is all we're fairly certain of.)
4115 Armenia has abolished Summer Time.
4116 Tokelau jumped the International Date Line back last December
4117 (just the same as their near neighbour, Samoa).
4118 America/Creston is a new zone for a small area of British Columbia
4119 There will be a leapsecond 2012-06-30 23:59:60 UTC.
4121 Other minor changes are:
4122 Corrections to 1918 Canadian summer time end dates.
4123 Updated URL for UK time zone history (in comments)
4124 A few typos in Le Corre's list of free French place names (comments)
4127 Release data2011n - 2011-10-30 14:57:54 +0700
4129 There are three changes of note - most urgently, Cuba (America/Havana)
4130 has extended summer time by two weeks, now to end on Nov 13, rather than
4131 the (already past) Oct 30. Second, the Pridnestrovian Moldavian Republic
4132 (Europe/Tiraspol) decided not to split from the rest of Moldova after
4133 all, and consequently that zone has been removed (again) and reinstated
4134 in the "backward" file as a link to Europe/Chisinau. And third, the
4135 end date for Fiji's summer time this summer was moved forward from the
4136 earlier planned Feb 26, to Jan 22.
4138 Apart from that, Moldova (MD) returns to a single entry in zone.tab
4139 (and the incorrect syntax that was in the 2011m version of that file
4140 is so fixed - it would have been fixed in a different way had this
4141 change not happened - that's the "missing" sccs version id).
4144 Release data2011m - 2011-10-24 21:42:16 +0700
4146 In particular, the typos in comments in the data (2011-11-17 should have
4147 been 2011-10-17 as Alan Barrett noted, and spelling of Tiraspol that
4148 Tim Parenti noted) have been fixed, and the change for Ukraine has been
4149 made in all 4 Ukrainian zones, rather than just Kiev (again, thanks to
4150 Tim Parenti, and also Denys Gavrysh)
4152 In addition, I added Europe/Tiraspol to zone.tab.
4154 This time, all the files have new version numbers... (including the files
4155 otherwise unchanged in 2011m that were changed in 2011l but didn't get new
4156 version numbers there...)
4159 Release data2011l - 2011-10-10 11:15:43 +0700
4161 There are just 2 changes that cause different generated tzdata files from
4162 zic, to Asia/Hebron and Pacific/Fiji - the possible change for Bahia, Brazil
4163 is included, but commented out. Compared with the diff I sent out last week,
4164 this version also includes attributions for the sources for the changes
4165 (in much the same format as ado used, but the html tags have not been
4166 checked, verified, or used in any way at all, so if there are errors there,
4167 please let me know.)
4170 Release data2011k - 2011-09-20 17:54:03 -0400
4175 Release data2011j - 2011-09-12 09:22:49 -0400
4177 (contemporary changes for Samoa; past changes for Kenya, Uganda, and
4178 Tanzania); there are also two spelling corrections to comments in
4179 the australasia file (with thanks to Christos Zoulas).
4182 Release 2011i - 2011-08-29 05:56:32 -0400
4187 Release data2011h - 2011-06-15 18:41:48 -0400
4189 Russia and Curaçao changes
4192 Release 2011g - 2011-04-25 09:07:22 -0400
4194 update the rules for Egypt to reflect its abandonment of DST this year
4197 Release 2011f - 2011-04-06 17:14:53 -0400
4202 Release 2011e - 2011-03-31 16:04:38 -0400
4204 Morocco, Chile, and tz-link changes
4207 Release 2011d - 2011-03-14 09:18:01 -0400
4209 changes that impact present-day timestamps in Cuba, Samoa, and Turkey
4212 Release 2011c - 2011-03-07 09:30:09 -0500
4214 These do affect current timestamps in Chile and Annette Island, Canada.
4217 Release 2011b - 2011-02-07 08:44:50 -0500
4222 Release 2011a - 2011-01-24 10:30:16 -0500
4227 Release data2010o - 2010-11-01 09:18:23 -0400
4229 change to the end of DST in Fiji in 2011
4232 Release 2010n - 2010-10-25 08:19:17 -0400
4237 Release 2010m - 2010-09-27 09:24:48 -0400
4239 Hong Kong, Vostok, and zic.c changes
4242 Release 2010l - 2010-08-16 06:57:25 -0400
4247 Release 2010k - 2010-07-26 10:42:27 -0400
4252 Release 2010j - 2010-05-10 09:07:48 -0400
4254 changes for Bahía de Banderas and for version naming
4257 Release data2010i - 2010-04-16 18:50:45 -0400
4259 the end of DST in Morocco on 2010-08-08
4262 Release data2010h - 2010-04-05 09:58:56 -0400
4267 Release data2010g - 2010-03-24 11:14:53 -0400
4272 Release 2010f - 2010-03-22 09:45:46 -0400
4277 Release data2010e - 2010-03-08 14:24:27 -0500
4279 corrects the Dhaka bug found by Danvin Ruangchan
4282 Release data2010d - 2010-03-06 07:26:01 -0500
4287 Release 2010c - 2010-03-01 09:20:58 -0500
4289 changes including KRE's suggestion for earlier initialization of
4290 "goahead" and "goback" structure elements
4293 Release code2010a - 2010-02-16 10:40:04 -0500
4298 Release data2010b - 2010-01-20 12:37:01 -0500
4303 Release data2010a - 2010-01-18 08:30:04 -0500
4308 Release data2009u - 2009-12-26 08:32:28 -0500
4310 changes to DST in Bangladesh
4313 Release 2009t - 2009-12-21 13:24:27 -0500
4318 Release data2009s - 2009-11-14 10:26:32 -0500
4320 (cosmetic) Antarctica change and the DST-in-Fiji-in-2009-and-2010 change
4323 Release 2009r - 2009-11-09 10:10:31 -0500
4325 "antarctica" and "tz-link.htm" changes
4328 Release 2009q - 2009-11-02 09:12:40 -0500
4330 with two corrections as reported by Eric Muller and Philip Newton
4333 Release data2009p - 2009-10-23 15:05:27 -0400
4335 Argentina (including San Luis) changes (with the correction from
4339 Release data2009o - 2009-10-14 16:49:38 -0400
4341 Samoa (commentary only), Pakistan, and Bangladesh changes
4344 Release data2009n - 2009-09-22 15:13:38 -0400
4346 added commentary for Argentina and a change to the end of DST in
4350 Release data2009m - 2009-09-03 10:23:43 -0400
4352 Samoa and Palestine changes
4355 Release data2009l - 2009-08-14 09:13:07 -0400
4357 Samoa (comments only) and Egypt
4360 Release 2009k - 2009-07-20 09:46:08 -0400
4365 Release data2009j - 2009-06-15 06:43:59 -0400
4367 Bangladesh change (with a short turnaround since the DST change is
4371 Release 2009i - 2009-06-08 09:21:22 -0400
4373 updating for DST in Bangladesh this year
4376 Release 2009h - 2009-05-26 09:19:14 -0400
4381 Release data2009g - 2009-04-20 16:34:07 -0400
4386 Release data2009f - 2009-04-10 11:00:52 -0400
4388 correct DST in Pakistan
4391 Release 2009e - 2009-04-06 09:08:11 -0400
4396 Release 2009d - 2009-03-23 09:38:12 -0400
4398 Morocco, Tunisia, Argentina, and American Astronomical Society changes
4401 Release data2009c - 2009-03-16 09:47:51 -0400
4403 change to the start of Cuban DST
4406 Release 2009b - 2009-02-09 11:15:22 -0500
4411 Release 2009a - 2009-01-21 10:09:39 -0500
4416 Release data2008i - 2008-10-21 12:10:25 -0400
4418 southamerica and zone.tab files, with Argentina DST rule changes and
4419 United States zone reordering and recommenting
4422 Release 2008h - 2008-10-13 07:33:56 -0400
4427 Release 2008g - 2008-10-06 09:03:18 -0400
4429 Fix a broken HTML anchor and update Brazil's DST transitions;
4430 there's also a slight reordering of information in tz-art.htm.
4433 Release data2008f - 2008-09-09 22:33:26 -0400
4438 Release 2008e - 2008-07-28 14:11:17 -0400
4440 changes by Arthur David Olson and Jesper Nørgaard Welen
4443 Release data2008d - 2008-07-07 09:51:38 -0400
4445 changes by Arthur David Olson, Paul Eggert, and Rodrigo Severo
4448 Release data2008c - 2008-05-19 17:48:03 -0400
4450 Pakistan, Morocco, and Mongolia
4453 Release data2008b - 2008-03-24 08:30:59 -0400
4455 including renaming Asia/Calcutta to Asia/Kolkata, with a backward
4459 Release 2008a - 2008-03-08 05:42:16 -0500
4464 Release 2007k - 2007-12-31 10:25:22 -0500
4466 most importantly, changes to the "southamerica" file based on
4467 Argentina's readoption of daylight saving time
4470 Release 2007j - 2007-12-03 09:51:01 -0500
4472 1. eliminate the "P" (parameter) macro;
4474 2. the "noncontroversial" changes circulated on the time zone
4475 mailing list (less the changes to "logwtmp.c");
4477 3. eliminate "too many transition" errors when "min" is used in time
4480 4. changes by Paul Eggert (including updated information for Venezuela).
4483 Release data2007i - 2007-10-30 10:28:11 -0400
4485 changes for Cuba and Syria
4488 Release 2007h - 2007-10-01 10:05:51 -0400
4490 changes by Paul Eggert, as well as an updated link to the ICU
4491 project in tz-link.htm
4494 Release 2007g - 2007-08-20 10:47:59 -0400
4496 changes by Paul Eggert
4498 The "leapseconds" file has been updated to incorporate the most
4499 recent International Earth Rotation and Reference Systems Service
4502 There's an addition to tz-art.htm regarding the television show "Medium".
4505 Release 2007f - 2007-05-07 10:46:46 -0400
4507 changes by Paul Eggert (including Haiti, Turks and Caicos, and New
4510 changes to zic.c to allow hour values greater than 24 (along with
4511 Paul's improved time value overflow checking)
4514 Release 2007e - 2007-04-02 10:11:52 -0400
4516 Syria and Honduras changes by Paul Eggert
4518 zic.c variable renaming changes by Arthur David Olson
4521 Release 2007d - 2007-03-20 08:48:30 -0400
4523 changes by Paul Eggert
4525 the elimination of white space at the ends of lines
4528 Release 2007c - 2007-02-26 09:09:37 -0500
4530 changes by Paul Eggert
4533 Release 2007b - 2007-02-12 09:34:20 -0500
4535 Paul Eggert's proposed change to the quotation handling logic in zic.c.
4537 changes to the commentary in "leapseconds" reflecting the IERS
4538 announcement that there is to be no positive leap second at the end
4542 Release 2007a - 2007-01-08 12:28:29 -0500
4544 changes by Paul Eggert
4546 Derick Rethans's Asmara change
4548 Oscar van Vlijmen's Easter Island local mean time change
4550 symbolic link changes
4553 Release 2006p - 2006-11-27 08:54:27 -0500
4555 changes by Paul Eggert
4558 Release 2006o - 2006-11-06 09:18:07 -0500
4560 changes by Paul Eggert
4563 Release 2006n - 2006-10-10 11:32:06 -0400
4565 changes by Paul Eggert
4568 Release 2006m - 2006-10-02 15:32:35 -0400
4570 changes for Uruguay, Palestine, and Egypt by Paul Eggert
4572 (minimalist) changes to zic.8 to clarify "until" information
4575 Release data2006l - 2006-09-18 12:58:11 -0400
4577 Paul's best-effort work on this coming weekend's Egypt time change
4580 Release 2006k - 2006-08-28 12:19:09 -0400
4582 changes by Paul Eggert
4585 Release 2006j - 2006-08-21 09:56:32 -0400
4587 changes by Paul Eggert
4590 Release code2006i - 2006-08-07 12:30:55 -0400
4594 Ken Pizzini's conversion script
4597 Release code2006h - 2006-07-24 09:19:37 -0400
4599 adds public domain notices to four files
4601 includes a fix for transition times being off by a second
4603 adds a new recording to the "arts" file (information courtesy Colin Bowern)
4606 Release 2006g - 2006-05-08 17:18:09 -0400
4608 northamerica changes by Paul Eggert
4611 Release 2006f - 2006-05-01 11:46:00 -0400
4613 a missing version number problem is fixed (with thanks to Bradley
4614 White for catching the problem)
4617 Release 2006d - 2006-04-17 14:33:43 -0400
4619 changes by Paul Eggert
4621 added new items to tz-arts.htm that were found by Paul
4624 Release 2006c - 2006-04-03 10:09:32 -0400
4626 two sets of data changes by Paul Eggert
4628 a fencepost error fix in zic.c
4630 changes to zic.c and the "europe" file to minimize differences
4631 between output produced by the old 32-bit zic and the new 64-bit
4635 Release 2006b - 2006-02-20 10:08:18 -0500
4636 [tz32code2006b + tz64code2006b + tzdata2006b]
4640 All SCCS IDs were bumped to "8.1" for this release.
4643 Release 2006a - 2006-01-30 08:59:31 -0500
4645 changes by Paul Eggert (in particular, Indiana time zone moves)
4647 an addition to the zic manual page to describe how special-case
4648 transitions are handled
4651 Release 2005r - 2005-12-27 09:27:13 -0500
4653 Canadian changes by Paul Eggert
4655 They also add "<pre>" directives to time zone data files and reflect
4656 changes to warning message logic in "zdump.c" (but with calls to
4657 "gettext" kept unbundled at the suggestion of Ken Pizzini).
4660 Release 2005q - 2005-12-13 09:17:09 -0500
4662 Nothing earth-shaking here:
4663 1. Electronic mail addresses have been removed.
4664 2. Casts of the return value of exit have been removed.
4665 3. Casts of the argument of is.* macros have been added.
4666 4. Indentation in one section of zic.c has been fixed.
4667 5. References to dead URLs in the data files have been dealt with.
4670 Release 2005p - 2005-12-05 10:30:53 -0500
4672 "systemv", "tz-link.htm", and "zdump.c" changes
4673 (less the casts of arguments to the is* macros)
4676 Release 2005o - 2005-11-28 10:55:26 -0500
4678 Georgia, Cuba, Nicaragua, and Jordan changes by Paul Eggert
4680 zdump.c lint fixes by Arthur David Olson
4683 Release 2005n - 2005-10-03 09:44:09 -0400
4685 changes by Paul Eggert (both the Uruguay changes and the Kyrgyzstan
4689 Release 2005m - 2005-08-29 12:15:40 -0400
4691 changes by Paul Eggert (with a small tweak to the tz-art change)
4693 a declaration of an unused variable has been removed from zdump.c
4696 Release 2005l - 2005-08-22 12:06:39 -0400
4698 changes by Paul Eggert
4700 overflow/underflow checks by Arthur David Olson, minus changes to
4701 the "Theory" file about the pending addition of 64-bit data (I grow
4702 less confident of the changes being accepted with each passing day,
4703 and the changes no longer increase the data files nine-fold--there's
4704 less than a doubling in size by my local Sun's reckoning)
4707 Release 2005k - 2005-07-14 14:14:24 -0400
4709 The "leapseconds" file has been edited to reflect the recently
4710 announced leap second at the end of 2005.
4712 I've also deleted electronic mail addresses from the files as an
4716 Release 2005j - 2005-06-13 14:34:13 -0400
4718 These reflect changes to limit the length of time zone abbreviations
4719 and the characters used in those abbreviations.
4721 There are also changes to handle POSIX-style "quoted" timezone
4722 environment variables.
4724 The changes were circulated on the time zone mailing list; the only
4725 change since then was the removal of a couple of minimum-length of
4726 abbreviation checks.
4729 Release data2005i - 2005-04-21 15:04:16 -0400
4731 changes (most importantly to Nicaragua and Haiti) by Paul Eggert
4734 Release 2005h - 2005-04-04 11:24:47 -0400
4736 changes by Paul Eggert
4738 minor changes to Makefile and zdump.c to produce more useful output
4739 when doing a "make typecheck"
4742 Release 2005g - 2005-03-14 10:11:21 -0500
4744 changes by Paul Eggert (a change to current DST rules in Uruguay and
4745 an update to a link to time zone software)
4748 Release 2005f - 2005-03-01 08:45:32 -0500
4750 data and documentation changes by Paul Eggert
4753 Release 2005e - 2005-02-10 15:59:44 -0500
4758 Release code2005d - 2005-01-31 09:21:47 -0500
4760 make zic complain about links to links if the -v flag is used
4762 have "make public" do more code checking
4764 add an include to "localtime.c" for the benefit of gcc systems
4767 Release 2005c - 2005-01-17 18:36:29 -0500
4769 get better results when mktime runs on a system where time_t is double
4771 changes to the data files (most importantly to Paraguay)
4774 Release 2005b - 2005-01-10 09:19:54 -0500
4776 Get localtime and gmtime working on systems with exotic time_t types.
4778 Update the leap second commentary in the "leapseconds" file.
4781 Release 2005a - 2005-01-01 13:13:44 -0500
4786 Release code2004i - 2004-12-14 13:42:58 -0500
4788 Deal with systems where time_t is unsigned.
4791 Release code2004h - 2004-12-07 11:40:18 -0500
4793 64-bit-time_t changes
4796 Release 2004g - 2004-11-02 09:06:01 -0500
4798 update to Cuba (taking effect this weekend)
4800 other changes by Paul Eggert
4802 correction of the spelling of Oslo
4804 changed versions of difftime.c and private.h
4807 Release code2004f - 2004-10-21 10:25:22 -0400
4809 Cope with wide-ranging tm_year values.
4812 Release 2004e - 2004-10-11 14:47:21 -0400
4814 Brazil/Argentina/Israel changes by Paul Eggert
4816 changes to tz-link.htm by Paul
4818 one small fix to Makefile
4821 Release 2004d - 2004-09-22 08:27:29 -0400
4823 Avoid overflow problems when TM_YEAR_BASE is added to an integer.
4826 Release 2004c - 2004-08-11 12:06:26 -0400
4828 asctime-related changes
4830 (variants of) some of the documentation changes suggested by Paul Eggert
4833 Release 2004b - 2004-07-19 14:33:35 -0400
4835 data changes by Paul Eggert - most importantly, updates for Argentina
4838 Release 2004a - 2004-05-27 12:00:47 -0400
4840 changes by Paul Eggert
4842 Handle DST transitions that occur at the end of a month in some
4843 years but at the start of the following month in other years.
4845 Add a copy of the correspondence that's the basis for claims about
4846 DST in the Navajo Nation.
4849 Release 2003e - 2003-12-15 09:36:47 -0500
4851 changes by Arthur David Olson (primarily code changes)
4853 changes by Paul Eggert (primarily data changes)
4855 minor changes to "Makefile" and "northamerica" (in the latter case,
4856 optimization of the "Toronto" rules)
4859 Release 2003d - 2003-10-06 09:34:44 -0400
4861 changes by Paul Eggert
4864 Release 2003c - 2003-09-16 10:47:05 -0400
4866 Fix bad returns in zic.c's inleap function.
4867 Thanks to Bradley White for catching the problem!
4870 Release 2003b - 2003-09-16 07:13:44 -0400
4872 Add a "--version" option (and documentation) to the zic and zdump commands.
4874 changes to overflow/underflow checking in zic
4876 a localtime typo fix.
4878 Update the leapseconds and tz-art.htm files.
4881 Release 2003a - 2003-03-24 09:30:54 -0500
4883 changes by Paul Eggert
4885 a few additions and modifications to the tz-art.htm file
4888 Release 2002d - 2002-10-15 13:12:42 -0400
4890 changes by Paul Eggert, less the "Britain (UK)" change in iso3166.tab
4892 There's also a new time zone quote in "tz-art.htm".
4895 Release 2002c - 2002-04-04 11:55:20 -0500
4897 changes by Paul Eggert
4899 Change zic.c to avoid creating symlinks to files that don't exist.
4902 Release 2002b - 2002-01-28 12:56:03 -0500
4904 [These change notes are for Release 2002a, which was corrupted.
4905 2002b was a corrected version of 2002a.]
4907 changes by Paul Eggert
4909 Update the "leapseconds" file to note that there'll be no leap
4910 second at the end of June, 2002.
4912 Change "zic.c" to deal with a problem in handling the "Asia/Bishkek" zone.
4914 Change to "difftime.c" to avoid sizeof problems.
4917 Release 2001d - 2001-10-09 13:31:32 -0400
4919 changes by Paul Eggert
4922 Release 2001c - 2001-06-05 13:59:55 -0400
4924 changes by Paul Eggert and Andrew Brown
4927 Release 2001b - 2001-04-05 16:44:38 -0400
4929 changes by Paul Eggert (modulo jnorgard's typo fix)
4931 tz-art.htm has been HTMLified.
4934 Release 2001a - 2001-03-13 12:57:44 -0500
4936 changes by Paul Eggert
4938 An addition to the "leapseconds" file: comments with the text of the
4939 latest IERS leap second notice.
4941 Trailing white space has been removed from data file lines, and
4942 repeated spaces in "Rule Jordan" lines in the "asia" file have been
4946 Release 2000h - 2000-12-14 15:33:38 -0500
4948 changes by Paul Eggert
4950 one typo fix in the "art" file
4952 With providence, this is the last update of the millennium.
4955 Release 2000g - 2000-10-10 11:35:22 -0400
4957 changes by Paul Eggert
4959 correction of John Mackin's name submitted by Robert Elz
4961 Garry Shandling's Daylight Saving Time joke (!?!) from the recent
4962 Emmy Awards broadcast.
4965 Release 2000f - 2000-08-10 09:31:58 -0400
4967 changes by Paul Eggert
4969 Added information in "tz-art.htm" on a Seinfeld reference to DST.
4971 Error checking and messages in the "yearistype" script have been
4975 Release 2000e - 2000-07-31 09:27:54 -0400
4977 data changes by Paul Eggert
4979 a change to the default value of the defined constant HAVE_STRERROR
4981 the addition of a Dave Barry quote on DST to the tz-arts file
4984 Release 2000d - 2000-04-20 15:43:04 -0400
4986 changes to the documentation and code of strftime for C99 conformance
4988 a bug fix for date.c
4990 These are based on (though modified from) changes by Paul Eggert.
4993 Release 2000c - 2000-03-04 10:31:43 -0500
4995 changes by Paul Eggert
4998 Release 2000b - 2000-02-21 12:16:29 -0500
5000 changes by Paul Eggert and Joseph Myers
5002 modest tweaks to the tz-art.htm and tz-link.htm files
5005 Release 2000a - 2000-01-18 09:21:26 -0500
5007 changes by Paul Eggert
5009 The two hypertext documents have also been renamed.
5012 Release code1999i-data1999j - 1999-11-15 18:43:22 -0500
5014 Paul Eggert's changes
5016 additions to the "zic" manual page and the "Arts.htm" file
5019 Release code1999h-data1999i - 1999-11-08 14:55:21 -0500
5024 Release data1999h - 1999-10-07 03:50:29 -0400
5026 changes by Paul Eggert to "europe" (most importantly, fixing
5027 Lithuania and Estonia)
5030 Release 1999g - 1999-09-28 11:06:18 -0400
5032 data changes by Paul Eggert (most importantly, the change for
5033 Lebanon that buys correctness for this coming Sunday)
5035 The "code" file contains changes to "Makefile" and "checktab.awk" to
5036 allow better checking of time zone files before they are published.
5039 Release 1999f - 1999-09-23 09:48:14 -0400
5041 changes by Arthur David Olson and Paul Eggert
5044 Release 1999e - 1999-08-17 15:20:54 -0400
5046 changes circulated by Paul Eggert, although the change to handling
5047 of DST-specifying timezone names has been commented out for now
5048 (search for "XXX" in "localtime.c" for details). These files also
5049 do not make any changes to the start of DST in Brazil.
5051 In addition to Paul's changes, there are updates to "Arts.htm" and
5055 Release 1999d - 1999-03-30 11:31:07 -0500
5057 changes by Paul Eggert
5059 The Makefile's "make public" rule has also been changed to do a test
5060 compile of each individual time zone data file (which should help
5061 avoid problems such as the one we had with Nicosia).
5064 Release 1999c - 1999-03-25 09:47:47 -0500
5066 changes by Paul Eggert, most importantly the change for Chile.
5069 Release 1999b - 1999-02-01 17:51:44 -0500
5071 changes by Paul Eggert
5073 code changes (suggested by Mani Varadarajan, mani at be.com) for
5074 correct handling of symbolic links when building using a relative directory
5076 code changes to generate correct messages for failed links
5078 updates to the URLs in Arts.htm
5081 Release 1999a - 1999-01-19 16:20:29 -0500
5083 error message internationalizations and corrections in zic.c and
5084 zdump.c (as suggested by Vladimir Michl, vladimir.michl at upol.cz,
5088 Release code1998h-data1998i - 1998-10-01 09:56:10 -0400
5090 changes for Brazil, Chile, and Germany
5092 support for use of "24:00" in the input files for the time zone compiler
5095 Release code1998g-data1998h - 1998-09-24 10:50:28 -0400
5097 changes by Paul Eggert
5099 correction to a define in the "private.h" file
5102 Release data1998g - 1998-08-11 03:28:35 -0000
5103 [tzdata1998g.tar.gz is missing!]
5105 Lithuanian change provided by mgedmin at pub.osf.it
5107 Move creation of the GMT link with Etc/GMT to "etcetera" (from
5108 "backward") to ensure that the GMT file is created even where folks
5109 don't want the "backward" links (as suggested by Paul Eggert).
5112 Release data1998f - 1998-07-20 13:50:00 -0000
5113 [tzdata1998f.tar.gz is missing!]
5115 Update the "leapseconds" file to include the newly-announced
5116 insertion at the end of 1998.
5119 Release code1998f - 1998-06-01 10:18:31 -0400
5121 addition to localtime.c by Guy Harris
5124 Release 1998e - 1998-05-28 09:56:26 -0400
5126 The Makefile is changed to produce zoneinfo-posix rather than
5127 zoneinfo/posix, and to produce zoneinfo-leaps rather than
5130 data changes by Paul Eggert
5132 changes from Guy Harris to provide asctime_r and ctime_r
5134 A usno1998 file (substantially identical to usno1997) has been added.
5137 Release 1998d - 1998-05-14 11:58:34 -0400
5139 changes to comments (in particular, elimination of references to CIA maps).
5140 "Arts.htm", "WWW.htm", "asia", and "australasia" are the only places
5141 where changes occur.
5144 Release 1998c - 1998-02-28 12:32:26 -0500
5146 changes by Paul Eggert (save the "French correction," on which I'll
5147 wait for the dust to settle)
5151 changes and additions to Arts.htm
5154 Release 1998b - 1998-01-17 14:31:51 -0500
5156 URL cleanups and additions
5159 Release 1998a - 1998-01-13 12:37:35 -0500
5161 changes by Paul Eggert
5164 Release code1997i-data1997k - 1997-12-29 09:53:41 -0500
5166 changes by Paul Eggert, with minor modifications from Arthur David
5167 Olson to make the files more browser friendly
5170 Release code1997h-data1997j - 1997-12-18 17:47:35 -0500
5172 minor changes to put "TZif" at the start of each timezone information file
5174 a rule has also been added to the Makefile so you can
5176 to just recompile the zone information files (rather than doing a
5177 full "make install" with its other effects).
5180 Release data1997i - 1997-10-07 08:45:38 -0400
5182 changes to Africa by Paul Eggert
5185 Release code1997g-data1997h - 1997-09-04 16:56:54 -0400
5187 corrections for Uruguay (and other locations)
5189 Arthur David Olson's simple-minded fix allowing mktime to both
5190 correctly handle leap seconds and correctly handle tm_sec values
5191 upon which arithmetic has been performed.
5194 Release code1997f-data1997g - 1997-07-19 13:15:02 -0400
5196 Paul Eggert's updates
5198 a small change to a function prototype;
5200 "Music" has been renamed "Arts.htm", HTMLified, and augmented to
5201 include information on Around the World in Eighty Days.
5204 Release code1997e-data1997f - 1997-05-03 18:52:34 -0400
5206 fixes to zic's error handling
5208 changes inspired by the item circulated on Slovenia
5210 The description of Web resources has been HTMLified for browsing
5213 A new piece of tz-related music has been added to the "Music" file.
5216 Release code1997d-data1997e - 1997-03-29 12:48:52 -0500
5218 Paul Eggert's latest suggestions
5221 Release code1997c-data1997d - 1997-03-07 20:37:54 -0500
5223 changes to "zic.c" to correct performance of the "-s" option
5225 a new file "usno1997"
5228 Release data1997c - 1997-03-04 09:58:18 -0500
5233 Release 1997b - 1997-02-27 18:34:19 -0500
5235 The data file incorporates the 1997 leap second.
5237 The code file incorporates Arthur David Olson's take on the
5238 zic/multiprocessor/directory-creation situation.
5241 Release 1997a - 1997-01-21 09:11:10 -0500
5243 Paul Eggert's Antarctica (and other changes)
5245 Arthur David Olson finessed the "getopt" issue by checking against
5246 both -1 and EOF (regardless of POSIX, SunOS 4.1.1's manual says -1
5247 is returned while SunOS 5.5's manual says EOF is returned).
5250 Release code1996o-data1996n - 1996-12-27 21:42:05 -0500
5252 Paul Eggert's latest changes
5255 Release code1996n - 1996-12-16 09:42:02 -0500
5257 link snapping fix from Bruce Evans (via Garrett Wollman)
5260 Release data1996m - 1996-11-24 02:37:34 -0000
5261 [tzdata1996m.tar.gz is missing!]
5263 Paul Eggert's batch of changes
5266 Release code1996m-data1996l - 1996-11-05 14:00:12 -0500
5268 No functional changes here; the files have simply been changed to
5269 make more use of ISO style dates in comments. The names of the above
5270 files now include the year in full.
5273 Release code96l - 1996-09-08 17:12:20 -0400
5275 tzcode96k was missing a couple of pieces.
5278 Release 96k - 1996-09-08 16:06:22 -0400
5280 the latest round of changes from Paul Eggert
5282 the recent Year 2000 material
5285 Release code96j - 1996-07-30 13:18:53 -0400
5287 Set sp->typecnt as suggested by Timothy Patrick Murphy.
5290 Release code96i - 1996-07-27 20:11:35 -0400
5292 Paul's suggested patch for strftime %V week numbers
5295 Release data96i - 1996-07-01 18:13:04 -0400
5297 "northamerica" and "europe" changes by Paul Eggert
5300 Release code96h - 1996-06-05 08:02:21 -0400
5302 fix for handling transitions specified in Universal Time
5304 Some "public domain" notices have also been added.
5307 Release code96g - 1996-05-16 14:00:26 -0400
5309 fix for the simultaneous-DST-and-zone-change challenge
5312 Release data96h - 1996-05-09 17:40:51 -0400
5314 changes by Paul Eggert
5317 Release code96f-data96g - 1996-05-03 03:09:59 -0000
5318 [tzcode96f.tar.gz + tzdata96g.tar.gz are both missing!]
5320 The changes get us some of the way to fixing the problems noted in Paul
5321 Eggert's letter yesterday (in addition to a few others). The approach
5322 has been to make zic a bit smarter about figuring out what time zone
5323 abbreviations apply just after the time specified in the "UNTIL" part
5324 of a zone line. Putting the smarts in zic means avoiding having
5325 transition times show up in both "Zone" lines and "Rule" lines, which
5326 in turn avoids multiple transition time entries in time zone files.
5327 (This also makes the zic input files such as "europe" a bit shorter and
5328 should ease maintenance.)
5331 Release data96f - 1996-04-19 19:20:03 -0000
5332 [tzdata96f.tar.gz is missing!]
5334 The only changes are to the "northamerica" file; the time zone
5335 abbreviation for Denver is corrected to MST (and MDT), and the
5336 comments for Mexico have been updated.
5339 Release data96e - 1996-03-19 17:37:26 -0500
5341 Proposals by Paul Eggert, in particular the Portugal change that
5342 comes into play at the end of this month.
5345 Release data96d - 1996-03-18 20:49:39 -0500
5350 Release code96e - 1996-02-29 15:43:27 -0000
5351 [tzcode96e.tar.gz is missing!]
5353 internationalization changes and the fix to the documentation for strftime
5356 Release code96d-data96c - 1996-02-12 11:05:27 -0500
5358 The "code" file simply updates Bob Kridle's electronic address.
5360 The "data" file updates rules for Mexico.
5363 Release data96b - 1996-01-27 15:44:42 -0500
5368 Release code96c - 1996-01-16 16:58:15 -0500
5370 leap-year streamlining and binary-search changes
5375 Release code96b - 1996-01-10 20:42:39 -0500
5377 fixes and enhancements from Paul Eggert, including code that
5378 emulates the behavior of recent versions of the SunOS "date"
5382 Release 96a - 1996-01-06 09:08:24 -0500
5386 fixes to strftime.c for correct ISO 8601 week number generation,
5387 plus support for two new formats ('G' and 'g') to give ISO 8601 year
5388 numbers (which are not necessarily the same as calendar year numbers)
5391 Release code95i-data95m - 1995-12-21 12:46:47 -0500
5393 The latest revisions from Paul Eggert are included, the usno1995
5394 file has been updated, and a new file ("WWW") covering useful URLs
5398 Release code95h-data95l - 1995-12-19 18:10:12 -0500
5400 A simplification of a macro definition, a change to data for Sudan,
5401 and (for last minute shoppers) notes in the "Music" file on the CD
5405 Release code95g-data95k - 1995-10-30 10:32:47 -0500
5407 (slightly reformatted) 8-bit-clean proposed patch
5409 minor patch: US/Eastern -> America/New_York
5411 snapshot of the USNO's latest data ("usno1995")
5413 some other minor cleanups
5416 Release code95f-data95j - 1995-10-28 21:01:34 -0000
5417 [tzcode95f.tar.gz + tzdata95j.tar.gz are both missing!]
5421 support for 64-bit time_t's
5423 optimization in localtime.c
5426 Release code95e - 1995-10-13 13:23:57 -0400
5428 the mktime change to scan from future to past when trying to find time zone
5432 Release data95i - 1995-09-26 10:43:26 -0400
5434 For Canada/Central, guess that the Sun customer's "one week too
5435 early" was just a approximation, and the true error is one month
5436 too early. This is consistent with the rest of Canada.
5439 Release data95h - 1995-09-21 11:26:48 -0400
5441 latest changes from Paul Eggert
5444 Release code95d - 1995-09-14 11:14:45 -0400
5446 the addition of a "Music" file, which documents four recorded
5447 versions of the tune "Save That Time".
5450 Release data95g - 1995-09-01 17:21:36 -0400
5452 "yearistype" correction
5455 Release data95f - 1995-08-28 20:46:56 -0400
5457 Paul Eggert's change to the australasia file
5460 Release data95e - 1995-07-08 18:02:34 -0400
5462 The only change is a leap second at the end of this year.
5463 Thanks to Bradley White for forwarding news on the leap second.
5466 Release data95d - 1995-07-03 13:26:22 -0400
5468 Paul Eggert's changes
5471 Release data95c - 1995-07-02 19:19:28 -0400
5473 changes to "asia", "backward", "europe", and "southamerica"
5474 (read: northamericacentrics need not apply)
5477 Release code95c - 1995-03-13 14:00:46 -0500
5479 one-line fix for sign extension problems in detzcode
5482 Release 95b - 1995-03-04 11:22:38 -0500
5484 Minor changes in both:
5486 The "code" file contains a workaround for the lack of "unistd.h" in
5487 Microsoft C++ version 7.
5489 The "data" file contains a fixed "Link" for America/Shiprock.
5492 Release 94h - 1994-12-10 12:51:14 -0500
5496 * incorporate the changes to "zdump" and "date" to make changes to
5497 the "TZ" environment variable permanent;
5499 * incorporate the table changes by Paul Eggert;
5501 * include (and document) support for universal time specifications in
5502 data files - but do not (yet) include use of this feature in the
5505 Think of this as "TZ Classic" - the software has been set up not to break if
5506 universal time shows up in its input, and data entries have been
5507 left as is so as not to break existing implementations.
5510 Release data94f - 1994-08-20 12:56:09 -0400
5512 (with thanks!) the latest data updates from Paul Eggert
5515 Release data94e - 1994-06-04 13:13:53 -0400
5520 Release code94g - 1994-05-05 12:14:07 -0400
5522 fix missing "optind.c" and a reference to it in the Makefile
5525 Release code94f - 1994-05-05 13:00:33 -0000
5526 [tzcode94f.tar.gz is missing!]
5528 changes to avoid overflow in difftime, as well as changes to cope
5529 with the 52/53 challenge in strftime
5532 Release code94e - 1994-03-30 23:32:59 -0500
5534 change for the benefit of PCTS
5537 Release 94d - 1994-02-24 15:42:25 -0500
5539 Avoid clashes with POSIX semantics for zones such as GMT+4.
5541 Some other very minor housekeeping is also present.
5544 Release code94c - 1994-02-10 08:52:40 -0500
5546 Fix bug where mkdirs was broken unless you compile with
5547 -fwritable-strings (which is generally losing to do).
5550 Release 94b - 1994-02-07 10:04:33 -0500
5552 work by Paul Eggert who notes:
5554 I found another book of time zone histories by E W Whitman; it's not
5555 as extensive as Shanks but has a few goodies of its own. I used it
5556 to update the tables. I also fixed some more as a result of
5557 correspondence with Adam David and Peter Ilieve, and move some stray
5558 links from 'europe' to 'backward'. I corrected some scanning errors
5561 As far as the code goes, I fixed zic to allow years in the range
5562 INT_MIN to INT_MAX; this fixed a few boundary conditions around 1900.
5563 And I cleaned up the zic documentation a little bit.
5566 Release data94a - 1994-02-03 08:58:54 -0500
5568 It simply incorporates the recently announced leap second into the
5572 Release 93g - 1993-11-22 17:28:27 -0500
5574 Paul Eggert has provided a good deal of historic information (based
5575 on Shanks), and there are some code changes to deal with the buglets
5576 that crawled out in dealing with the new information.
5579 Release 93f - 1993-10-15 12:27:46 -0400
5581 Paul Eggert's changes
5584 Release 93e - 1993-09-05 21:21:44 -0400
5586 This has updated data for Israel, England, and Kwajalein. There's
5587 also an update to "zdump" to cope with Kwajalein's 24-hour jump.
5588 Thanks to Paul Eggert and Peter Ilieve for the changes.
5591 Release 93d - 1993-06-17 23:34:17 -0400
5593 new fix and new data on Israel
5596 Release 93c - 1993-06-06 19:31:55 -0400
5601 Release 93b - 1993-02-02 14:53:58 -0500
5603 updated "leapseconds" file
5606 Release 93 - 1993-01-08 07:01:06 -0500
5608 At kre's suggestion, the package has been split in two - a code piece
5609 (which also includes documentation) that's only of use to folks who
5610 want to recompile things and a data piece useful to anyone who can
5613 The new version has a few changes to the data files, a few
5614 portability changes, and an off-by-one fix (with thanks to
5615 Tom Karzes at deshaw.com for providing a description and a
5619 Release 92c - 1992-11-21 17:35:36 -0000
5620 [tz92c.tar.Z is missing!]
5622 The fallout from the latest round of DST transitions.
5624 There are changes for Portugal, Saskatchewan, and "Pacific-New";
5625 there's also a change to "zic.c" that makes it portable to more systems.
5628 Release 92 - 1992-04-25 18:17:03 -0000
5629 [tz92.tar.Z is missing!]
5631 By popular demand (well, at any rate, following a request by kre at munnari)
5634 The 1989 update of the time zone package featured:
5636 * POSIXization (including interpretation of POSIX-style TZ environment
5637 variables, provided by Guy Harris),
5638 * ANSIfication (including versions of "mktime" and "difftime"),
5639 * SVIDulation (an "altzone" variable)
5640 * MACHination (the "gtime" function)
5641 * corrections to some time zone data (including corrections to the rules
5642 for Great Britain and New Zealand)
5643 * reference data from the United States Naval Observatory for folks who
5644 want to do additional time zones
5645 * and the 1989 data for Saudi Arabia.
5647 (Since this code will be treated as "part of the implementation" in some
5648 places and as "part of the application" in others, there's no good way to
5649 name functions, such as timegm, that are not part of the proposed ANSI C
5650 standard; such functions have kept their old, underscore-free names in this
5653 And the "dysize" function has disappeared; it was present to allow
5654 compilation of the "date" command on old BSD systems, and a version of "date"
5655 is now provided in the package. The "date" command is not created when you
5656 "make all" since it may lack options provided by the version distributed with
5657 your operating system, or may not interact with the system in the same way
5658 the native version does.
5660 Since POSIX frowns on correct leap second handling, the default behavior of
5661 the "zic" command (in the absence of a "-L" option) has been changed to omit
5662 leap second information from its output files.
5668 This file contains copies of the part of each release announcement
5669 that talks about the changes in that release. The text has been
5670 adapted and reformatted for the purposes of this file.
5672 Traditionally a release R consists of a pair of tarball files,
5673 tzcodeR.tar.gz and tzdataR.tar.gz. However, some releases (e.g.,
5674 code2010a, data2012c) consist of just one or the other tarball, and a
5675 few (e.g., code2012c-data2012d) have tarballs with mixed version
5676 numbers. Recent releases also come in an experimental format
5677 consisting of a single tarball tzdb-R.tar.lz with extra data.
5679 Release timestamps are taken from the release's commit (for newer,
5680 Git-based releases), from the newest file in the tarball (for older
5681 releases, where this info is available) or from the email announcing
5682 the release (if all else fails; these are marked with a time zone
5683 abbreviation of -0000 and an "is missing!" comment).
5685 Earlier versions of the code and data were not announced on the tz
5686 list and are not summarized here.
5688 This file is in the public domain.