| History log of /src/lib/libc/time/tz-art.html | 
    | Revision |  | Date | Author | Comments | 
| 1.14 |  | 11-Sep-2024 | christos | Merge tzcode-2024b 
 Release 2024b - 2024-09-04 12:27:47 -0700
 
 Changes to code
 
 localtime.c now always uses a TZif file's time type 0 to handle
 timestamps before the file's first transition.  Formerly,
 localtime.c sometimes inferred a different time type, in order to
 handle problematic data generated by zic 2018e or earlier.  As it
 is now safe to assume more recent versions of zic, there is no
 longer a pressing need to fail to conform RFC 8536 section 3.2,
 which requires using time type 0 in this situation.  This change
 does not affect behavior when reading TZif files generated by zic
 2018f and later.
 
 POSIX.1-2024 removes asctime_r and ctime_r and does not let
 libraries define them, so remove them except when needed to
 conform to earlier POSIX.  These functions are dangerous as they
 can overrun user buffers.  If you still need them, add
 -DSUPPORT_POSIX2008 to CFLAGS.
 
 The SUPPORT_C89 option now defaults to 1 instead of 0, fixing a
 POSIX-conformance bug introduced in 2023a.
 
 tzselect now supports POSIX.1-2024 proleptic TZ strings.  Also, it
 assumes POSIX.2-1992 or later, as practical porting targets now
 all support that, and it uses some features from POSIX.1-2024 if
 available.
 
 Changes to build procedure
 
 'make check' no longer requires curl and Internet access.
 
 The build procedure now assumes POSIX.2-1992 or later, to simplify
 maintenance.  To build on Solaris 10, the only extant system still
 defaulting to pre-POSIX, prepend /usr/xpg4/bin to PATH.
 
 Changes to documentation
 
 The documentation now reflects POSIX.1-2024.
 
 Changes to commentary
 
 Commentary about historical transitions in Portugal and her former
 colonies has been expanded with links to many relevant legislation.
 (Thanks to Tim Parenti.)
 
 | 
| 1.13 |  | 17-Feb-2024 | christos | branches:  1.13.2; Sync with tzcode2024a:
 Release 2024a - 2024-02-01 09:28:56 -0800
 
 Changes to code
 
 The FROM and TO columns of Rule lines can no longer be "minimum"
 or an abbreviation of "minimum", because TZif files do not support
 DST rules that extend into the indefinite past - although these
 rules were supported when TZif files had only 32-bit data, this
 stopped working when 64-bit TZif files were introduced in 1995.
 This should not be a problem for realistic data, since DST was
 first used in the 20th century.  As a transition aid, FROM columns
 like "minimum" are now diagnosed and then treated as if they were
 the year 1900; this should suffice for TZif files on old systems
 with only 32-bit time_t, and it is more compatible with bugs in
 2023c-and-earlier localtime.c.  (Problem reported by Yoshito
 Umaoka.)
 
 localtime and related functions no longer mishandle some
 timestamps that occur about 400 years after a switch to a time
 zone with a DST schedule.  In 2023d data this problem was visible
 for some timestamps in November 2422, November 2822, etc. in
 America/Ciudad_Juarez.  (Problem reported by Gilmore Davidson.)
 
 strftime %s now uses tm_gmtoff if available.  (Problem and draft
 patch reported by Dag-Erling Smørgrav.)
 
 Changes to build procedure
 
 The leap-seconds.list file is now copied from the IERS instead of
 from its downstream counterpart at NIST, as the IERS version is
 now in the public domain too and tends to be more up-to-date.
 (Thanks to Martin Burnicki for liaisoning with the IERS.)
 
 Changes to documentation
 
 The strftime man page documents which struct tm members affect
 which conversion specs, and that tzset is called.  (Problems
 reported by Robert Elz and Steve Summit.)
 
 | 
| 1.12 |  | 23-Dec-2023 | christos | Import tzcode 2023d: 
 localtime.c no longer mishandles TZif files that contain a single
 transition into a DST regime.  Previously, it incorrectly assumed
 DST was in effect before the transition too.  (Thanks to Alois
 Treindl for debugging help.)
 
 localtime.c's timeoff no longer collides with OpenBSD 7.4.
 
 The C code now uses _Generic only if __STDC_VERSION__ says the
 compiler is C11 or later.
 
 tzselect now optionally reads zonenow.tab, to simplify when
 configuring only for timestamps dated from now on.
 
 tzselect no longer creates temporary files.
 
 tzselect no longer mishandles the following:
 
 Spaces and most other special characters in BUGEMAIL, PACKAGE,
 TZDIR, and VERSION.
 
 TZ strings when using mawk 1.4.3, which mishandles regular
 expressions of the form /X{2,}/.
 
 ISO 6709 coordinates when using an awk that lacks the GNU
 extension of newlines in -v option-arguments.
 
 Non UTF-8 locales when using an iconv command that lacks the GNU
 //TRANSLIT extension.
 
 zic no longer mishandles data for Palestine after the year 2075.
 Previously, it incorrectly omitted post-2075 transitions that are
 predicted for just before and just after Ramadan.  (Thanks to Ken
 Murchison for debugging help.)
 
 zic now works again on Linux 2.6.16 and 2.6.17 (2006).
 
 | 
| 1.11 |  | 16-Sep-2023 | christos | Update tzcode from 2022g to 2023c: 
 Release 2023c - 2023-03-28 12:42:14 -0700
 
 Release 2023b - 2023-03-23 19:50:38 -0700
 
 Release 2023a - 2023-03-22 12:39:33 -0700
 
 Changes to code
 
 You can now tell tzselect local time, to simplify later choices.
 Select the 'time' option in its first prompt.
 
 You can now compile with -DTZNAME_MAXIMUM=N to limit time zone
 abbreviations to N bytes (default 255).  The reference runtime
 library now rejects POSIX-style TZ strings that contain longer
 abbreviations, treating them as UTC.  Previously the limit was
 platform dependent and abbreviations were silently truncated to
 16 bytes even when the limit was greater than 16.
 
 The code by default is now designed for C99 or later.  To build in
 a C89 environment, compile with -DPORT_TO_C89.  To support C89
 callers of the tzcode library, compile with -DSUPPORT_C89.  The
 two new macros are transitional aids planned to be removed in a
 future version, when C99 or later will be required.
 
 The code now builds again on pre-C99 platforms, if you compile
 with -DPORT_TO_C89.  This fixes a bug introduced in 2022f.
 
 On C23-compatible platforms tzcode no longer uses syntax like
 'static [[noreturn]] void usage(void);'.  Instead, it uses
 '[[noreturn]] static void usage(void);' as strict C23 requires.
 (Problem reported by Houge Langley.)
 
 The code's functions now constrain their arguments with the C
 'restrict' keyword consistently with their documentation.
 This may allow future optimizations.
 
 zdump again builds standalone with ckdadd and without setenv,
 fixing a bug introduced in 2022g.  (Problem reported by panic.)
 
 leapseconds.awk can now process a leap seconds file that never
 expires; this might be useful if leap seconds are discontinued.
 
 Changes to commentary
 
 tz-link.html has a new section "Coordinating with governments and
 distributors".  (Thanks to Neil Fuller for some of the text.)
 
 To improve tzselect diagnostics, zone1970.tab's comments column is
 now limited to countries that have multiple timezones.
 
 Note that leap seconds are planned to be discontinued by 2035.
 
 | 
| 1.10 |  | 16-Aug-2022 | christos | Welcome to tzcode-2022c 
 Work around a bug in onetrueawk that broke commands like
 'make traditional_tarballs' on FreeBSD, macOS, etc.
 (Problem reported by Deborah Goldsmith.)
 
 Add code to tzselect that uses experimental structured comments in
 zone1970.tab to clarify whether Zones like Africa/Abidjan and
 Europe/Istanbul cross continent or ocean boundaries.
 (Inspired by a problem reported by Peter Krefting.)
 
 Fix bug with 'zic -d /a/b/c' when /a is unwritable but the
 directory /a/b already exists.
 
 Remove zoneinfo2tdf.pl, as it was unused and triggered false
 malware alarms on some email servers.
 
 | 
| 1.9 |  | 22-Oct-2021 | christos | Change to code and documentation from 2021a -> 2021e 
 Release 2021e - 2021-10-21 18:41:00 -0700
 
 Changes to code
 
 none
 
 
 Release 2021d - 2021-10-15 13:48:18 -0700
 
 Changes to code
 
 'zic -r' now uses "-00" time zone abbreviations for intervals
 with UT offsets that are unspecified due to -r truncation.
 This implements a change in draft Internet RFC 8536bis.
 
 
 Release 2021c - 2021-10-01 14:21:49 -0700
 
 Changes to code
 
 Fix a bug in 'zic -b fat' that caused old timestamps to be
 mishandled in 32-bit-only readers (problem reported by Daniel
 Fischer).
 
 Changes to documentation
 
 Distribute the SECURITY file (problem reported by Andreas Radke).
 
 
 Release 2021b - 2021-09-24 16:23:00 -0700
 
 Changes to maintenance procedure
 
 The new file SECURITY covers how to report security-related bugs.
 
 Several backward-compatibility links have been moved to the
 'backward' file.  These links, which range from Africa/Addis_Ababa
 to Pacific/Saipan, are only for compatibility with now-obsolete
 guidelines suggesting an entry for every ISO 3166 code.
 The intercontinental convenience links Asia/Istanbul and
 Europe/Nicosia have also been moved to 'backward'.
 
 Changes to code
 
 zic now creates each output file or link atomically,
 possibly by creating a temporary file and then renaming it.
 This avoids races where a TZ setting would temporarily stop
 working while zic was installing a replacement file or link.
 
 zic -L no longer omits the POSIX TZ string in its output.
 Starting with 2020a, zic -L truncated its output according to the
 "Expires" directive or "#expires" comment in the leapseconds file.
 The resulting TZif files omitted daylight saving transitions after
 the leap second table expired, which led to far less-accurate
 predictions of times after the expiry.  Although future timestamps
 cannot be converted accurately in the presence of leap seconds, it
 is more accurate to convert near-future timestamps with a few
 seconds error than with an hour error, so zic -L no longer
 truncates output in this way.
 
 Instead, when zic -L is given the "Expires" directive, it now
 outputs the expiration by appending a no-change entry to the leap
 second table.  Although this should work well with most TZif
 readers, it does not conform to Internet RFC 8536 and some pickier
 clients (including tzdb 2017c through 2021a) reject it, so
 "Expires" directives are currently disabled by default.  To enable
 them, set the EXPIRES_LINE Makefile variable.  If a TZif file uses
 this new feature it is marked with a new TZif version number 4,
 a format intended to be documented in a successor to RFC 8536.
 
 zic -L LEAPFILE -r @LO no longer generates an invalid TZif file
 that omits leap second information for the range LO..B when LO
 falls between two leap seconds A and B.  Instead, it generates a
 TZif version 4 file that represents the previously-missing
 information.
 
 The TZif reader now allows the leap second table to begin with a
 correction other than -1 or +1, and to contain adjacent
 transitions with equal corrections.  This supports TZif version 4.
 
 The TZif reader now lets leap seconds occur less than 28 days
 apart.  This supports possible future TZif extensions.
 
 Fix bug that caused 'localtime' etc. to crash when TZ was
 set to a all-year DST string like "EST5EDT4,0/0,J365/25" that does
 not conform to POSIX but does conform to Internet RFC 8536.
 
 Fix another bug that caused 'localtime' etc. to crash when TZ was
 set to a POSIX-conforming but unusual TZ string like
 "EST5EDT4,0/0,J365/0", where almost all the year is DST.
 
 Fix yet another bug that caused 'localtime' etc. to mishandle slim
 TZif files containing leap seconds after the last explicit
 transition in the table, or when handling far-future timestamps
 in slim TZif files lacking leap seconds.
 
 Fix localtime misbehavior involving positive leap seconds.
 This change affects only behavior for "right" system time,
 which contains leap seconds, and only if the UT offset is
 not a multiple of 60 seconds when a positive leap second occurs.
 (No such timezone exists in tzdb, luckily.)  Without the fix,
 the timestamp was ambiguous during a positive leap second.
 With the fix, any seconds occurring after a positive leap second
 and within the same localtime minute are counted through 60, not
 through 59; their UT offset (tm_gmtoff) is the same as before.
 Here is how the fix affects timestamps in a timezone with UT
 offset +01:23:45 (5025 seconds) and with a positive leap second at
 1972-06-30 23:59:60 UTC (78796800):
 
 time_t    without the fix      with the fix
 78796800  1972-07-01 01:23:45  1972-07-01 01:23:45 (leap second)
 78796801  1972-07-01 01:23:45  1972-07-01 01:23:46
 ...
 78796815  1972-07-01 01:23:59  1972-07-01 01:23:60
 78796816  1972-07-01 01:24:00  1972-07-01 01:24:00
 
 Fix an unlikely bug that caused 'localtime' etc. to misbehave if
 civil time changes a few seconds before time_t wraps around, when
 leap seconds are enabled.
 
 Fix bug in zic -r; in some cases, the dummy time type after the
 last time transition disagreed with the TZ string, contrary to
 Internet RFC 8563 section 3.3.
 
 Fix a bug with 'zic -r @X' when X is a negative leap second that
 has a nonnegative correction.  Without the fix, the output file
 was truncated so that X appeared to be a positive leap second.
 Fix a similar, even-less-likely bug when truncating at a positive
 leap second that has a nonpositive correction.
 
 zic -r now reports an error if given rolling leap seconds, as this
 usage has never generally worked and is evidently unused.
 
 zic now generates a POSIX-conforming TZ string for TZif files
 where all-year DST is predicted for the indefinite future.
 For example, for all-year Eastern Daylight Time, zic now generates
 "XXX3EDT4,0/0,J365/23" where it previously generated
 "EST5EDT,0/0,J365/25" or "".  (Thanks to Michael Deckers for
 noting the possibility of POSIX conformance.)
 
 zic.c no longer requires sys/wait.h (thanks to spazmodius for
 noting it wasn't needed).
 
 When reading slim TZif files, zdump no longer mishandles leap
 seconds on the rare platforms where time_t counts leap seconds,
 fixing a bug introduced in 2014g.
 
 zdump -v now outputs timestamps at boundaries of what localtime
 and gmtime can represent, instead of the less-useful timestamps
 one day after the minimum and one day before the maximum.
 (Thanks to Arthur David Olson for prototype code, and to Manuela
 Friedrich for debugging help.)
 
 zdump's -c and -t options are now consistently inclusive for the
 lower time bound and exclusive for the upper.  Formerly they were
 inconsistent.  (Confusion noted by Martin Burnicki.)
 
 Changes to build procedure
 
 You can now compile with -DHAVE_MALLOC_ERRNO=0 to port to
 non-POSIX hosts where malloc doesn't set errno.
 (Problem reported by Jan Engelhardt.)
 
 Changes to documentation
 
 tzfile.5 better matches a draft successor to RFC 8536
 <https://datatracker.ietf.org/doc/draft-murchison-rfc8536bis/01/>.
 
 | 
| 1.8 |  | 01-Mar-2021 | christos | Merge tzcode-2021a - No comments in the changelog about the code changes.
 
 | 
| 1.7 |  | 09-Oct-2020 | christos | Merge tzcode2020b (except we keep tzsetwall(3) for now for compatibility, and we were "slim" already)
 
 Support for zic's long-obsolete '-y YEARISTYPE' option has been
 removed and, with it, so has support for the TYPE field in Rule
 lines, which is now reserved for compatibility with earlier zic.
 These features were previously deprecated in release 2015f.
 (Thanks to Tim Parenti.)
 
 zic now defaults to '-b slim' instead of to '-b fat'.
 
 zic's new '-l -' and '-p -' options uninstall any existing
 localtime and posixrules files, respectively.
 
 The undocumented and ineffective tzsetwall function has been
 removed.
 
 | 
| 1.6 |  | 25-May-2020 | christos | Bring in 2020a 
 | 
| 1.5 |  | 03-Jul-2019 | christos | Sync with 2019b: 
 zic's new -b option supports a way to control data bloat and to
 test for year-2038 bugs in software that reads TZif files.
 'zic -b fat' and 'zic -b slim' generate larger and smaller output;
 for example, changing from fat to slim shrinks the Europe/London
 file from 3648 to 1599 bytes, saving about 56%.  Fat and slim
 files represent the same set of timestamps and use the same TZif
 format as documented in tzfile(5) and in Internet RFC 8536.
 Fat format attempts to work around bugs or incompatibilities in
 older software, notably software that mishandles 64-bit TZif data
 or uses obsolete TZ strings like "EET-2EEST" that lack DST rules.
 Slim format is more efficient and does not work around 64-bit bugs
 or obsolete TZ strings.  Currently zic defaults to fat format
 unless you compile with -DZIC_BLOAT_DEFAULT=\"slim\"; this
 out-of-the-box default is intended to change in future releases
 as the buggy software often mishandles timestamps anyway.
 
 zic no longer treats a set of rules ending in 2037 specially.
 Previously, zic assumed that such a ruleset meant that future
 timestamps could not be predicted, and therefore omitted a
 POSIX-like TZ string in the TZif output.  The old behavior is no
 longer needed for current tzdata, and caused problems with newlib
 when used with older tzdata (reported by David Gauchard).
 
 zic no longer generates some artifact transitions.  For example,
 Europe/London no longer has a no-op transition in January 1996.
 
 | 
| 1.4 |  | 04-Apr-2019 | christos | merge 2019a 
 Changes to code
 
 zic now has an -r option to limit the time range of output data.
 For example, 'zic -r @1000000000' limits the output data to
 timestamps starting 1000000000 seconds after the Epoch.
 This helps shrink output size and can be useful for applications
 not needing the full timestamp history, such as TZDIST truncation;
 see Internet RFC 8536 section 5.1.  (Inspired by a feature request
 from Christopher Wong, helped along by bug reports from Wong and
 from Tim Parenti.)
 
 Changes to documentation
 
 Mention Internet RFC 8536 (February 2019), which documents TZif.
 
 tz-link.html now cites tzdata-meta
 <https://tzdata-meta.timtimeonline.com/>.
 
 | 
| 1.3 |  | 01-Jan-2019 | christos | Release 2018i - 2018-12-30 11:05:43 -0800 
 Briefly:
 São Tomé and Príncipe switches from +01 to +00 on 2019-01-01.
 
 Changes to future timestamps
 
 Due to a change in government, São Tomé and Príncipe switches back
 from +01 to +00 on 2019-01-01 at 02:00.  (Thanks to Vadim
 Nasardinov and Michael Deckers.)
 
 
 Release 2018h - 2018-12-23 17:59:32 -0800
 
 Briefly:
 Qyzylorda, Kazakhstan moved from +06 to +05 on 2018-12-21.
 New zone Asia/Qostanay because Qostanay, Kazakhstan didn't move.
 Metlakatla, Alaska observes PST this winter only.
 Guess Morocco will continue to adjust clocks around Ramadan.
 Add predictions for Iran from 2038 through 2090.
 
 Changes to future timestamps
 
 Guess that Morocco will continue to fall back just before and
 spring forward just after Ramadan, the practice since 2012.
 (Thanks to Maamar Abdelkader.)  This means Morocco will observe
 negative DST during Ramadan in main and vanguard formats, and in
 rearguard format it stays in the +00 timezone and observes
 ordinary DST in all months other than Ramadan.  As before, extend
 this guesswork to the year 2037.  As a consequence, Morocco is
 scheduled to observe three DST transitions in some Gregorian years
 (e.g., 2033) due to the mismatch between the Gregorian and Islamic
 calendars.
 
 The table of exact transitions for Iranian DST has been extended.
 It formerly cut off before the year 2038 in a nod to 32-bit time_t.
 It now cuts off before 2091 as there is doubt about how the Persian
 calendar will treat 2091.  This change predicts DST transitions in
 2038-9, 2042-3, and 2046-7 to occur one day later than previously
 predicted.  As before, post-cutoff transitions are approximated.
 
 Changes to past and future timestamps
 
 Qyzylorda (aka Kyzylorda) oblast in Kazakhstan moved from +06 to
 +05 on 2018-12-21.  This is a zone split as Qostanay (aka
 Kostanay) did not switch, so create a zone Asia/Qostanay.
 
 Metlakatla moved from Alaska to Pacific standard time on 2018-11-04.
 It did not change clocks that day and remains on -08 this winter.
 (Thanks to Ryan Stanley.)  It will revert to the usual Alaska
 rules next spring, so this change affects only timestamps
 from 2018-11-04 through 2019-03-10.
 
 Change to past timestamps
 
 Kwajalein's 1993-08-20 transition from -12 to +12 was at 24:00,
 not 00:00.  I transcribed the time incorrectly from Shanks.
 (Thanks to Phake Nick.)
 
 Nauru's 1979 transition was on 02-10 at 02:00, not 05-01 at 00:00.
 (Thanks to Phake Nick.)
 
 Guam observed DST irregularly from 1959 through 1977.
 (Thanks to Phake Nick.)
 
 Hong Kong observed DST in 1941 starting 06-15 (not 04-01), then on
 10-01 changed standard time to +08:30 (not +08).  Its transition
 back to +08 after WWII was on 1945-09-15, not the previous day.
 Its 1904-10-30 change took effect at 01:00 +08 (not 00:00 LMT).
 (Thanks to Phake Nick, Steve Allen, and Joseph Myers.)  Also,
 its 1952 fallback was on 11-02 (not 10-25).
 
 This release contains many changes to timestamps before 1946 due
 to Japanese possession or occupation of Pacific/Chuuk,
 Pacific/Guam, Pacific/Kosrae, Pacific/Kwajalein, Pacific/Majuro,
 Pacific/Nauru, Pacific/Palau, and Pacific/Pohnpei.
 (Thanks to Phake Nick.)
 
 Assume that the Spanish East Indies was like the Philippines and
 observed American time until the end of 1844.  This affects
 Pacific/Chuuk, Pacific/Kosrae, Pacific/Palau, and Pacific/Pohnpei.
 
 Changes to past tm_isdst flags
 
 For the recent Morocco change, the tm_isdst flag should be 1 from
 2018-10-27 00:00 to 2018-10-28 03:00.  (Thanks to Michael Deckers.)
 Give a URL to the official decree.  (Thanks to Matt Johnson.)
 
 | 
| 1.2 |  | 19-Oct-2018 | christos | Update to 2018f: 
 Changes to code
 
 zic now always generates TZif files where time type 0 is used for
 timestamps before the first transition.  This simplifies the
 reading of TZif files and should not affect behavior of existing
 TZif readers because the same set of time types is used; only
 their internal indexes may have changed.  This affects only the
 legacy zones EST5EDT, CST6CDT, MST7MDT, PST8PDT, CET, MET, and
 EET, which previously used nonzero types for these timestamps.
 
 Because of the type 0 change, zic no longer outputs a dummy
 transition at time -2**59 (before the Big Bang), as clients should
 no longer need this to handle historical timestamps correctly.
 This reverts a change introduced in 2013d and shrinks most TZif
 files by a few bytes.
 
 zic now supports negative time-of-day in Rule and Leap lines, e.g.,
 "Rule X min max - Apr lastSun -6:00 1:00 -" means the transition
 occurs at 18:00 on the Saturday before the last Sunday in April.
 This behavior was documented in 2018a but the code did not
 entirely match the documentation.
 
 localtime.c no longer requires at least one time type in TZif
 files that lack transitions or have a POSIX-style TZ string.  This
 future-proofs the code against possible future extensions to the
 format that would allow TZif files with POSIX-style TZ strings and
 without transitions or time types.
 
 A read-access subscript error in localtime.c has been fixed.
 It could occur only in TZif files with timecnt == 0, something that
 does not happen in practice now but could happen in future versions.
 
 localtime.c no longer ignores TZif POSIX-style TZ strings that
 specify only standard time.  Instead, these TZ strings now
 override the default time type for timestamps after the last
 transition (or for all time stamps if there are no transitions),
 just as DST strings specifying DST have always done.
 
 leapseconds.awk now outputs "#updated" and "#expires" comments,
 and supports leap seconds at the ends of months other than June
 and December.  (Inspired by suggestions from Chris Woodbury.)
 
 Changes to documentation
 
 New restrictions: A Rule name must start with a character that
 is neither an ASCII digit nor "-" nor "+", and an unquoted name
 should not use characters in the set "!$%&'()*,/:;<=>?@[\]^`{|}~".
 The latter restriction makes room for future extensions (a
 possibility noted by Tom Lane).
 
 tzfile.5 now documents what time types apply before the first and
 after the last transition, if any.
 
 Documentation now uses the spelling "timezone" for a TZ setting
 that determines timestamp history, and "time zone" for a
 geographic region currently sharing the same standard time.
 
 The name "TZif" is now used for the tz binary data format.
 
 tz-link.htm now mentions the A0 TimeZone Migration utilities.
 (Thanks to Aldrin Martoq for the link.)
 
 | 
| 1.1 |  | 04-May-2018 | christos | branches:  1.1.2;  1.1.4; Merge 2018e
 
 Changes to code
 
 zic now accepts subsecond precision in expressions like
 00:19:32.13, which is approximately the legal time of the
 Netherlands from 1835 to 1937.  However, because it is
 questionable whether the few recorded uses of non-integer offsets
 had subsecond precision in practice, there are no plans for tzdata
 to use this feature.  (Thanks to Steve Allen for pointing out
 the limitations of historical data in this area.)
 
 The code is a bit more portable to MS-Windows.  Installers can
 compile with -DRESERVE_STD_EXT_IDS on MS-Windows platforms that
 reserve identifiers like 'localtime'.  (Thanks to Manuela
 Friedrich).
 
 Changes to documentation and commentary
 
 theory.html now outlines tzdb's extensions to POSIX's model for
 civil time, and has a section "POSIX features no longer needed"
 that lists POSIX API components that are now vestigial.
 (From suggestions by Steve Summit.)  It also better distinguishes
 time zones from tz regions.  (From a suggestion by Guy Harris.)
 
 Commentary is now more consistent about using the phrase "daylight
 saving time", to match the C name tm_isdst.  Daylight saving time
 need not occur in summer, and need not have a positive offset from
 standard time.
 
 Commentary about historical transitions in Uruguay has been expanded
 with links to many relevant legal documents.
 (Thanks to Tim Parenti.)
 
 Commentary now uses some non-ASCII characters with Unicode value
 less than U+0100, as they can be useful and should work even with
 older editors such as XEmacs.
 
 | 
| 1.1.4.2 |  | 13-Apr-2020 | martin | Mostly merge changes from HEAD upto 20200411 
 | 
| 1.1.4.1 |  | 10-Jun-2019 | christos | Sync with HEAD 
 | 
| 1.1.2.4 |  | 18-Jan-2019 | pgoyette | Synch with HEAD 
 | 
| 1.1.2.3 |  | 20-Oct-2018 | pgoyette | Sync with head 
 | 
| 1.1.2.2 |  | 21-May-2018 | pgoyette | Sync with HEAD 
 | 
| 1.1.2.1 |  | 04-May-2018 | pgoyette | file tz-art.html was added on branch pgoyette-compat on 2018-05-21 04:35:55 +0000 
 | 
| 1.13.2.1 |  | 02-Aug-2025 | perseant | Sync with HEAD 
 |