The Time Zone Database (often called tz, tzdb, or zoneinfo) contains
data that represents the history of local time for many locations around
the world, and supports conversion of UTC time to local time at those
locations to allow display of those local times.
It is updated periodically to reflect changes made by political bodies to
summer daylight saving time rules, UTC offsets, and time zone boundaries.

Three data packages are available: base 'tzdata' is always installed;
optional 'tzdata-right' provides TAI-10s time in the 'right' subtree;
and optional 'tzdata-posix' provides the same zones and times as base
data in the 'posix' subtree, as an explicit distinction from 'right'.

To enable newlib CLOCK_TAI support, the base tzdata package now installs:

        /usr/share/zoneinfo/leap-seconds.list

with a symbolic link from the standard location:

        /etc/leap-seconds.list.

The tzcode package provides the tzselect, zdump, and zic utilities.

For more information, see the project home page:

        https://www.iana.org/time-zones

The following packages have been upgraded in the Cygwin distribution:

- tzcode        2026a   utilities
- tzdata        2026a   base zones tree
- tzdata-posix  2026a   posix zones subtree
- tzdata-right  2026a   TAI-10s right zones subtree

For more details on changes, see the announcement or below:

        https://lists.iana.org/hyperkitty/list/[email protected]/2026/03/


2026-03-01      2026a

Briefly:

    Moldova has used EU transition times since 2022.
    The "right" TZif files are no longer installed by default.
    -DTZ_RUNTIME_LEAPS=0 disables runtime support for leap seconds.
    TZif files are no longer limited to 50 bytes of abbreviations.
    zic is no longer limited to 50 leap seconds.
    Several integer overflow bugs have been fixed.

Changes to past and future timestamps

    Since 2022 Moldova has observed EU transition times, that is, it has
    sprung forward at 03:00, not 02:00, and has fallen back at 04:00,
    not 03:00.

Changes to data

    Remove Europe/Chisinau from zonenow.tab, as it now agrees with
    Europe/Athens for future timestamps.

Changes to code

    Compiling with the new option -DTZ_RUNTIME_LEAPS=0 disables runtime
    support for leap seconds.
    Although this conforms to POSIX, shrinks tzcode's attack surface,
    and is more efficient, it fails to support Internet RFC 9636's leap
    seconds.

    zic now can generate, and localtime.c can now use, TZif files that
    hold up to 256 bytes of abbreviations, counting trailing NULs.
    The previous limit was 50 bytes, and some tzdata TZif files were
    already consuming 40 bytes.
    zic -v warns if it generates a file that exceeds the old 50-byte
    limit.

    zic -L can now generate TZif files with more than 50 leap seconds.
    This helps test TZif readers not limited to 50 leap seconds, as
    tzcode's localtime.c is; it has little immediate need for practical
    timekeeping as there have been only 27 leap seconds and possibly
    there will be no more, due to planned changes to UTC.
    zic -v warns if its output exceeds the old 50-second limit.

    localtime.c no longer accesses the posixrules file generated by zic -p.
    Hence for obsolete and nonconforming settings like TZ="AST4ADT" it
    now typically falls back on US DST rules, rather than attempting to
    override this fallback with the contents of the posixrules file.
    This removes library support that was declared obsolete in release
    2019b, and fixes some undefined behavior.

    The posix2time, posix2time_z, time2posix, and time2posix_z functions
    now set errno=EOVERFLOW and return ((time_t) -1) if the result is
    not representable.
    Formerly they had undefined behavior that could in practice result
    in crashing, looping indefinitely, or returning an incorrect result.
    As before, these functions are defined only when localtime.c is
    compiled with the -DSTD_INSPIRED option.

    Some other undefined behavior, triggered by TZif files containing
    outlandish but conforming UT offsets or leap second corrections, has
    also been fixed.

    localtime.c no longer rejects TZif files that exactly fit in its
    internal structures, fixing off-by-one typos introduced in 2014g.

    zic no longer generates a no-op transition when simultaneous Rule
    and Zone changes cancel each other out.
    This occurs in tzdata only in Asia/Tbilisi on 1997-03-30.

    zic no longer assumes you can fflush a read-only stream.

    zic no longer generates UT offsets equal to -2**31 and localtime.c
    no longer accepts them, as they can cause trouble in both
    localtime.c and its callers.
    RFC 9636 prohibits such offsets.

    zic -p now warns that the -p option is obsolete and likely
    ineffective.

Changes to build procedure

    The Makefile no longer by default installs an alternate set of TZif
    files for system clocks that count leap seconds.
    Install with 'make REDO=posix_right' to get the old default, which
    is rarely used in major downstream distributions.
    If your system clock counts leap seconds (contrary to POSIX), it is
    better to install with 'make REDO=right_only'.
    This change does not affect the leapseconds file, which is still
    installed as before.

    The Makefile's POSIXRULES option, which was declared obsolete in
    release 2019b, has been removed.
    The Makefile's build procedure thus no longer optionally installs
    the obsolete posixrules file.

-- 
              *** CYGWIN-ANNOUNCE UNSUBSCRIBE INFO ***

The easiest way to unsubscribe is to visit 
<https://cygwin.com/mailman/options/cygwin-announce>, and click 'Unsubscribe'.

If you need more information on unsubscribing, start reading here: 
<https://sourceware.org/lists.html#unsubscribe>.

Reply via email to