Updated: tzcode, tzdata 2023a

Cygwin tzcode/tzdata Maintainer Brian.Inglis@Shaw.ca
Sun Mar 26 03:02:17 GMT 2023


The following packages have been upgraded in the Cygwin distribution:

* tzcode	2023a
* tzdata	2023a

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.
The tzcode package provides the tzselect, zdump, and zic utilities.

For more information, see the project home page:

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

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

	https://mm.icann.org/pipermail/tz-announce/2023-March/000077.html


Release 2023a	2023-03-22

Briefly:

* Egypt now uses DST again, from April through October.
* This year Morocco springs forward April 23, not April 30.
* Palestine delays the start of DST this year.
* Much of Greenland still uses DST from 2024 on.
* America/Yellowknife now links to America/Edmonton.
* tzselect can now use current time to help infer timezone.
* The code now defaults to C99 or later.
* Fix use of C23 attributes.

Changes to future timestamps

* Starting in 2023, Egypt will observe DST from April's last Friday
  through October's last Thursday. Assume the transition times are 00:00
  and 24:00, respectively.

* In 2023 Morocco's spring-forward transition after Ramadan
  will occur April 23, not April 30. Adjust predictions for future years
  accordingly. This affects predictions for 2023, 2031, 2038, and later
  years.

* This year Palestine will delay its spring forward from
  March 25 to April 29 due to Ramadan. Make guesses for future Ramadans
  too.

* Much of Greenland, represented by America/Nuuk, will continue to
  observe DST using European Union rules. When combined with Greenland's
  decision not to change the clocks in fall 2023, America/Nuuk therefore
  changes from -03/-02 to -02/-01 effective 2023-10-29 at 01:00 UTC.
  This change from 2022g doesn't affect timestamps until 2024-03-30, and
  doesn't affect tm_isdst until 2023-03-25.

Changes to past timestamps

* America/Yellowknife has changed from a Zone to a backward
  compatibility Link, as it no longer differs from America/Edmonton
  since 1970. This affects some pre-1948 timestamps. The old data are
  now in 'backzone'.

Changes to past time zone abbreviations

* When observing Moscow time, Europe/Kirov and Europe/Volgograd now
  use the abbreviations MSK/MSD instead of numeric abbreviations,
  for consistency with other timezones observing Moscow time.

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.

* 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.

* 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".

* 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.



More information about the Cygwin-announce mailing list