Release icon indicating copy to clipboard operation
Release copied to clipboard

Imminent issue for chilean users (tzdata2022b)

Open Manizuca opened this issue 2 years ago • 2 comments

The Chilean Government decided to delay the DST start from September 4 to September 11, in order to "avoid problems in election day" (we do held a plebiscite on September 4th).

Because of that, tzdata2022b was released (and now 2022c, that fixes a build-time issue). This update is critical for users that depend on having the correct time at the moment.

As I see with #576, the last couple of times this have happened, it was handled with relative quick, getting the updated the data from the icu-data repo (there is even a PR to do it automatically at nodejs/node#43988). As of now, icu-data has an open PR to update this at unicode-org/icu-data#28, and right now the data can be copied from the PR, but it should be accepted soon anyway.

Sadly, I see that the last LTS update was released just today (16.17.0). As i think this could be a critical issue, would it be possible to do a point-release in the following weeks to handle this, so it can be picked by downstream-distributions (AWS Lambda in my case)

Thanks.

Manizuca avatar Aug 16 '22 14:08 Manizuca

I'm looking forward for this!!!!

ljoui2 avatar Aug 17 '22 22:08 ljoui2

A workaround for existing versions of Node.js: You can set ICU4C's ICU_TIMEZONE_FILES_DIR environment variable to point to a directory containing the updated .res files. Create a local directory and download into them the *.res files from https://github.com/unicode-org/icu-data/ matching the tzdata version and endianness and set ICU_TIMEZONE_FILES_DIR to point to that directory.

  • https://github.com/unicode-org/icu-data/tree/main/tzdata/icunew/2022b/44/le
  • https://github.com/unicode-org/icu-data/tree/main/tzdata/icunew/2022b/44/be

e.g.

$ ls /tmp/rlau/tz
metaZones.res  timezoneTypes.res  windowsZones.res  zoneinfo64.res
$ nvm run 16 -p "new Intl.DateTimeFormat('en-US', { hour12: false, timeZone: 'America/Santiago', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'short' }).format(new Date('2022-09-05T00:00:00Z'))"
Running node v16.17.0 (npm v8.15.0)
09/04/2022, 21:00:00 GMT-3
$ ICU_TIMEZONE_FILES_DIR=/tmp/rlau/tz nvm run 16 -p "new Intl.DateTimeFormat('en-US', { hour12: false, timeZone: 'America/Santiago', year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'short' }).format(new Date('2022-09-05T00:00:00Z'))"
Running node v16.17.0 (npm v8.15.0)
09/04/2022, 20:00:00 GMT-4
$

Refs: https://unicode-org.github.io/icu/userguide/datetime/timezone/#icu4c-tz-update-with-drop-in-res-files-icu-54-and-newer

richardlau avatar Aug 26 '22 23:08 richardlau

@richardlau I believe we can close this issue now?

ruyadorno avatar Jun 28 '23 19:06 ruyadorno

I think we still haven't updated 16.x.

richardlau avatar Jun 28 '23 21:06 richardlau