<div dir="ltr">Can I suggest that we split this into two updates, the first containing only the Fiji change, and the second with everything else?<div><br></div><div>The Fiji change will need to roll into our production systems quickly. The raft of other changes have a non-negligible chance of causing a glitch or two as they moves through our internal tooling, so it would be nice to decouple the two.</div>
<div><br></div><div>Thanks,</div><div><br></div><div> -- Andy Heninger</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Sep 17, 2013 at 2:38 PM, Paul Eggert <span dir="ltr"><<a href="mailto:eggert@cs.ucla.edu" target="_blank">eggert@cs.ucla.edu</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 09/12/13 08:39, Tim Parenti wrote:<br>
<br>
> it would be quite prudent to summarize specifically what changes<br>
> are (and are not) made by this changeset<br>
<br>
Yes, although I normally write a change summary when preparing a<br>
release and publish it as part of the release announcement, the<br>
proposed change is large enough that it'd be helpful to circulate<br>
a draft of the change summary now. Here is a draft for the<br>
current set of proposed changes, which is:<br>
<br>
<a href="https://github.com/eggert/tz/compare/8f10e5c...738ad89" target="_blank">https://github.com/eggert/tz/compare/8f10e5c...738ad89</a><br>
<br>
Changes affecting near-future time stamps<br>
<br>
This year Fiji will start DST on October 27, not October 20.<br>
(Thanks to David Wheeler for the heads-up.) For now, guess that<br>
Fiji will continue to spring forward the Sunday before the fourth<br>
Monday in October.<br>
<br>
Changes affecting current and future time zone abbreviations<br>
<br>
Use WIB/WITA/WIT rather than WIT/CIT/EIT for alphabetic Indonesian<br>
time zone abbreviations since 1932. (Thanks to George Ziegler,<br>
Priyadi Iman Nurcahyo, Zakaria, Jason Grimes, Martin Pitt, and<br>
Benny Lin.) This affects Asia/Dili, Asia/Jakarta, Asia/Jayapura,<br>
Asia/Makassar, and Asia/Pontianak.<br>
<br>
Use ART (UTC-3, standard time), rather than WARST (also UTC-3, but<br>
daylight saving time) for San Luis, Argentina since 2009.<br>
<br>
Changes affecting Godthab time stamps after 2037 if version mismatch<br>
<br>
Allow POSIX-like TZ strings where the transition time's hour can<br>
range from -167 through 167, instead of the POSIX-required 0<br>
through 24. E.g., TZ='FJT-12FJST,M10.3.1/146,M1.3.4/75' for the<br>
new Fiji rules. This is a more-compact way to represent<br>
far-future time stamps for America/Godthab, America/Santiago,<br>
Antarctica/Palmer, Asia/Gaza, Asia/Hebron, Asia/Jerusalem,<br>
Pacific/Easter, and Pacific/Fiji. Other zones are unaffected by<br>
this change. (Derived from a suggestion by Arthur David Olson.)<br>
<br>
Allow POSIX-like TZ strings where daylight saving time is in<br>
effect all year. E.g., TZ='WART4WARST,J1/0,J365/25' for Western<br>
Argentina Summer Time all year. This supports a more-compact way<br>
to represent the 2013d data for America/Argentina/San_Luis.<br>
Because of the change for San Luis noted above this change does not<br>
affect the current data. (Thanks to Andrew Main (Zefram) for<br>
suggestions that improved this change.)<br>
<br>
Where these two TZ changes take effect, there is a minor extension<br>
to the tz file format in that it allows new values for the<br>
embedded TZ-format string, and the tz file format version number<br>
has therefore been increased from 2 to 3 as a precaution.<br>
Version-2-based client code should continue to work as before for<br>
all time stamps before 2038. Existing version-2-based client code<br>
(tzcode, GNU/Linux, Solaris) has been tested on version-3-format<br>
files, and typically works in practice even for time stamps after<br>
2037; the only known exception is America/Godthab.<br>
<br>
Changes affecting time stamps before 1970<br>
<br>
Pacific/Johnston is now a link to Pacific/Honolulu. This corrects<br>
some errors before 1947.<br>
<br>
Some zones have been turned into links, when they differ from<br>
existing zones only in older data that was likely invented or that<br>
differs only in LMT or transition from LMT. These changes affect<br>
only time stamps before 1943. The affected zones are:<br>
Africa/Juba, America/Anguilla, America/Aruba, America/Dominica,<br>
America/Grenada, America/Guadeloupe, America/Marigot,<br>
America/Montserrat, America/St_Barthelemy, America/St_Kitts,<br>
America/St_Lucia, America/St_Thomas, America/St_Vincent,<br>
America/Tortola, and Europe/Vaduz.<br>
<br>
Change Kingston Mean Time from -5:07:12 to -5:07:11. This affects<br>
America/Cayman, America/Jamaica and America/Grand_Turk time stamps<br>
from 1890 to 1912.<br>
<br>
Change the UT offset of Bern Mean Time from 0:29:44 to 0:29:46.<br>
This affects Europe/Zurich time stamps from 1853 to 1894. (Thanks<br>
to Alois Treindl).<br>
<br>
Change the date of the circa-1850 Zurich transition from 1849-09-12<br>
to 1853-07-16, overriding Shanks with data from Messerli about<br>
postal and telegraph time in Switzerland.<br>
<br>
Changes affecting time zone abbreviations before 1970<br>
<br>
For Asia/Jakarta, use BMT (not JMT) for mean time from 1923 to 1932,<br>
as Jakarta was called Batavia back then.<br>
<br>
Changes affecting API<br>
<br>
The 'zic' command now outputs a dummy transition when far-future<br>
data can't be summarized using a TZ string, and uses a 402-year<br>
window rather than a 400-year window. For the current data, this<br>
affects only the Asia/Tehran file. It does not affect any of the<br>
time stamps that this file represents, so zdump outputs the same<br>
information as before. (Thanks to Andrew Main (Zefram).)<br>
<br>
The 'date' command has a new '-r' option, which lets you specify<br>
the integer time to display, a la FreeBSD.<br>
<br>
The 'tzselect' command has two new options '-c' and '-n', which lets you<br>
select a zone based on latitude and longitude.<br>
<br>
The 'zic' command's '-v' option now warns about constructs that<br>
require the new version-3 binary file format. (Thanks to Arthur<br>
David Olson for the suggestion.)<br>
<br>
Support for floating-point time_t has been removed.<br>
It was always dicey, and POSIX no longer requires it.<br>
(Thanks to Eric Blake for suggesting to the POSIX committee to<br>
remove it, and thanks to Alan Barrett, Clive D.W. Feather, Andy<br>
Heninger, Arthur David Olson, and Alois Treindl, for reporting<br>
bugs and elucidating some of the corners of the old floating-point<br>
implementation.)<br>
<br>
The signatures of 'offtime', 'timeoff', and 'gtime' have been<br>
changed back to the old practice of using 'long' to represent UT<br>
offsets. This had been inadvertently and mistakenly changed to<br>
'int_fast32_t'. (Thanks to Christos Zoulos.)<br>
<br>
The code avoids undefined behavior on integer overflow in some<br>
more places, including gmtime, localtime, mktime and zdump.<br>
<br>
Changes affecting the zdump utility<br>
<br>
zdump now outputs "UT" when referring to Universal Time, not "UTC".<br>
"UTC" does not make sense for time stamps that predate the introduction<br>
of UTC, whereas "UT", a more-generic term, does. (Thanks to Steve Allen<br>
for clarifying UT vs UTC.)<br>
<br>
Data changes affecting behavior of tzselect and similar programs<br>
<br>
Country code BQ is now called the more-common name "Caribbean<br>
Netherlands"<br>
rather than the more-official "Bonaire, St Eustatius & Saba".<br>
<br>
Remove from zone.tab the names America/Montreal, America/Shiprock,<br>
and Antarctica/South_Pole, as they are equivalent to existing<br>
same-country-code zones for post-1970 time stamps. The data for<br>
these names are unchanged, so the names continue to work as before.<br>
<br>
Changes affecting code internals<br>
<br>
zic -c now runs way faster on 64-bit hosts when given large numbers.<br>
<br>
zic now uses vfprintf to allocating and freeing some memory.<br>
<br>
tzselect now computes the list of continents from the data,<br>
rather than have it hard-coded.<br>
<br>
Minor changes pacify GCC 4.7.3 and GCC 4.8.1.<br>
<br>
Changes affecting the build procedure<br>
<br>
The 'leapseconds' file is now generated automatically from a<br>
new file 'leap-seconds.list', which is a copy of<br>
<<a href="ftp://time.nist.gov/pub/leap-seconds.list" target="_blank">ftp://time.nist.gov/pub/leap-seconds.list</a>>.<br>
A new source file 'leapseconds.awk' implements this.<br>
The goal is simplification of the future maintenance of 'leapseconds'.<br>
<br>
When building the 'posix' or 'right' subdirectories, if the<br>
subdirectory would be a copy of the default subdirectory, it is<br>
now made a symbolic link if that is supported. This saves about<br>
2 MB of file system space.<br>
<br>
The links America/Shiprock and Antarctica/South_Pole have been<br>
moved to the 'backward' file. This affects only nondefault builds<br>
that omit 'backward'.<br>
<br>
Changes affecting version-control only<br>
<br>
.gitignore now ignores 'date'.<br>
<br>
Changes affecting documentation and commentary<br>
<br>
Changes to the 'tzfile' man page<br>
<br>
It now mentions that the binary file format may be extended in<br>
future versions by appending data.<br>
<br>
It now refers to the 'zdump' and 'zic' man pages.<br>
<br>
Changes to the 'zic' man page<br>
<br>
It lists conditions that elicit a warning with '-v'.<br>
<br>
It says that the behavior is unspecified when duplicate names<br>
are given, or if the source of one link is the target of another.<br>
<br>
Its examples are updated to match the latest data.<br>
<br>
The definition of white space has been clarified slightly.<br>
(Thanks to Michael Deckers.)<br>
<br>
Changes to the 'Theory' file<br>
<br>
There is a new section about the accuracy of the tz database,<br>
describing the many ways that errors can creep in, and<br>
explaining why so many of the pre-1970 time stamps are wrong or<br>
misleading (thanks to Steve Allen, Lester Caine, and Garrett<br>
Wollman for discussions that contributed to this).<br>
<br>
The 'Theory' file describes LMT better (this follows a<br>
suggestion by Guy Harris).<br>
<br>
It refers to the 2013 edition of POSIX rather than the 2004 edition.<br>
<br>
It's mentioned that excluding 'backward' should not affect the<br>
other data, and it suggests at least one zone.tab name per<br>
inhabited country (thanks to Stephen Colebourne).<br>
<br>
Some longstanding restrictions on names are documented, e.g.,<br>
'America/New_York' precludes 'America/New_York/Bronx'.<br>
<br>
It gives more reasons for the 1970 cutoff.<br>
<br>
It now mentions which time_t variants are supported, such as<br>
signed integer time_t. (Thanks to Paul Goyette for reporting<br>
typos in an experimental version of this change.)<br>
<br>
(Thanks to Philip Newton for correcting typos in these changes.)<br>
<br>
Documentation and commentary is more careful to distinguish UT in<br>
general from UTC in particular. (Thanks to Steve Allen.)<br>
<br>
Add a better source for the Zurich 1894 transition.<br>
(Thanks to Pierre-Yves Berger.)<br>
<br>
Update shapefile citations in tz-link.htm. (Thanks to Guy Harris.)<br>
<br>
</blockquote></div><br></div>