This should help forestall flame wars among competing camps of physicists.
(Thanks to James Cloos.)
* NEWS, zic.8 (NOTES): Document this.
* zic.c (BIG_BANG): Use - 2**59 rather than a more-precise estimate.
* zic.c (inleap): Reject leap seconds preceding big_bang_time.
(Thanks to Arthur David Olson.) Also, remove redundant test and cast.
* NEWS: Document this.
This works around Gnome bug 730332
<https://bugzilla.gnome.org/show_bug.cgi?id=730332>.
zic 2014c introduced the idea of generating a transition at the
minimum time value -2**63, to avoid ambiguities about what to do
before the first real transition. Through Glib release 2.40, the
interval_end function of Glib's gtimezone.c subtracts one from
this, to find the end time of the zeroth interval (i.e., the
interval containing all the "early" time stamps); this subtraction
typically overflows and wraps around to 2**63 - 1, which causes
Glib to go off the rails and assume that all time stamps are
"early". For example, Glib computes Sao Paulo time stamps as if
Brazil's circa-1913 rules were still in effect.
(Thanks to Leonardo Chiquitto for reporting the bug.)
Work around the bug by not generating time stamps equal to -2**63.
Come to think of it, time stamps before the Big Bang are physically
suspect anyway, so don't generate time stamps before the Big Bang.
* Makefile (GCC_DEBUG_FLAGS): Add comment re BIG_BANG.
* NEWS, zic.8 (NOTES): Document this.
* zic.c (BIG_BANG): New macro.
(big_bang_time): New constant.
(writezone, outzone, addtt): Compare to big_bang_time, not to
min_time, when deciding whether to output a time stamp.
(Thanks to Ahmad El-Dardiry.)
* NEWS: Document this.
* africa (Egypt): Add rules for 2014 through 2038. They all
involve some guesswork, unfortunately.
* antarctica (Antarctica/Troll), NEWS: Uncomment, but with an
approximation that uses only UTC and CEST. (Thanks to Bengt-Inge
Larsson.)
* zone.tab (Antarctica/Troll): New entry.
This lets zic handle the time rules of Troll station,
Antarctica. Adapted from a fix by Zefram in:
http://mm.icann.org/pipermail/tz/2014-March/020759.html
* zic.c (timecnt_alloc): New static var.
(attypes): Now a pointer to an array, not a fixed size array.
(writezone, addtt): Don't assume the number of times is less than
TZ_MAX_TIMES.
* NEWS: Document this.
* europe (Europe/Simferopol), NEWS:
Crimea switches to MSK on 2014-03-30 at 02:00 local time.
(Thanks to Alexander Krivenyshev.)
* zone.tab: Move its zone.tab entry from UA to RU.
* tz-link.htm, NEWS: Fix misstatement about which part of the
Microsoft Windows software universe supports tz database names.
(Thanks to Donald MacQueen.)
* tz-link.htm, NEWS: Add Time.is (thanks to Even Scharning), WX-now
(thanks to David Braverman), TZ4Net (thanks to Matt Johnson).
Remove Simple Timer + Clocks.
* tz-link.htm: Mention zeitverschiebung.net (thanks to Martin
Jaeger) and the timezone-olson Haskell package. Remove moribund
link to daylight-savings-time.info.
* NEWS: Document this.
* tz-link.htm: Mention xCal and jCal.
Mention Microsoft Windows 8.1 support for tz names.
CLDR data is available in both XML and JSON form.
Update two links (thanks to Oscar van Vlijmen).
Fix some formatting glitches, e.g., remove random newlines from
abbr elements' title attributes.
* NEWS: Document this.
* localtime.c (tzload) [ALL_STATE]: Initialize sp->goback
and sp->goahead even if memory allocation fails.
(tzload, tzsetwall, tzset, gmtsub) [ALL_STATE]:
Use malloc, not calloc, since the !ALL_STATE code has to
work with reused storage anyway.
* NEWS: Document Logan Chien's fix.
* asia (Jordan, Asia/Amman): Jordan switches back to standard time
on 2013-12-20. (Thanks to Steffen Thorsen.) Assume this is at
00:00s, and that the previous schedule resumes next year.
* NEWS: Document this.
The current tzdata now goes to 17, which is uncomfortably close to
the NOSOLAR limit of 20.
* Makefile (CFLAGS): Remove NOSOLAR comment.
* tzfile.h (TZ_MAX_TYPES): Ignore NOSOLAR; always default to 256.
* NEWS: Document this.