Skip to content

Imminent issue for Morocco users (tzdata2020a) #576

Closed

Description

@apaprocki

ICU 66.1 only includes IANA time zone data tzdata2019c:
https://github.com/unicode-org/icu/blob/maint/maint-66/icu4c/source/data/misc/zoneinfo64.txt#L8

Upstream tzdata2020a was released to address the prior incorrect assumed temporary reversion of DST in Morocco due to Ramadan (eggert/tz@f9aacaf).

ICU merged unicode-org/icu@a951ab5 and released updated .res files for 2020a about 9 days ago. Unless the data files are manually updated and a new release is cut, users in Morocco and Intl API usage with zone Africa/Casablanca will see the time off by an hour between May 24th and May 31st.

Activity

  1. apaprocki commented on May 4, 2020

    @apaprocki
    Author

    The tz-announce mailing list announces new releases, so is a good source to monitor: https://mm.icann.org/mailman/listinfo/tz-announce

    Those then have to be packaged up and released as ICU binaries:
    https://unicode-org.atlassian.net/browse/ICU-21094
    unicode-org/icu-data#11
    https://github.com/unicode-org/icu-data/tree/master/tzdata/icunew/2020a/44

    There's usually a day (or few) lag between the two.

  2. srl295 commented on May 11, 2020

    @srl295
    Member

    ICU won't re-release 67 including this. For this we need… actually, we need to follow the process in your PR nodejs/node#30364 :)

    but that won't help full-icu: for that we probably need some kind of side-load timezone process, which I mentioned in nodejs/node#32466

  3. apaprocki commented on May 11, 2020

    @apaprocki
    Author

    actually, we need to follow the process in your PR

    Yeah, I pinged @MylesBorins with this and let him know it would require that same patching approach to get it out in time.

    but that won't help full-icu: for that we probably need some kind of side-load timezone process

    FWIW I do that with our build of Node, using the out-of-band .res files on disk and the environment variable support to override the directory if necessary.

  4. codebytere commented on May 12, 2020

    @codebytere
    Member

    I have a patch locally which applies changes for this issue as specified in @apaprocki's doc PR - shall i go ahead and open that?

  5. srl295 commented on May 12, 2020

    @srl295
    Member
  6. self-assigned this
    on May 12, 2020
  7. srl295 commented on May 19, 2020

    @srl295
    Member

    PR LGTM.
    Edit The pull request nodejs/node#33362 looks good. Since this is an imminent issue, I wanted to give watchers here a headsup.

  8. BethGriggs commented on May 21, 2020

    @BethGriggs
    Member

    We discussed this in the release meeting today (#580).

    nodejs/node#33362 has now landed on master. The PR has also been cherry-picked on to v14.x-staging, ready to go out in the next v14.x release. Unfortunately, that is unlikely to happen before the 24th May (based on our current release schedule).

  9. srl295 commented on May 21, 2020

    @srl295
    Member

    @BethGriggs Thanks for the update. It's most critical right at that time of course, but can affect historical calculations also.

  10. richardlau commented on Nov 15, 2021

    @richardlau
    Member

    The updated timezone went out in 14.15.0. Node.js 12 hasn't been updated and is currently on timezone data 2019c (ICU 67). A manual backport is required as Node.js 12 is still built with small-icu by default while later release lines are built with full-icu.

  11. richardlau commented on Nov 15, 2021

    @richardlau
    Member

    Given that Node.js 12 is in maintenance, does anyone have an opinion on updating the timezone information vs leaving it as-is?

  12. albertyw commented on Jan 12, 2022

    @albertyw

    We're running up to a repeat of this issue with Jordanian users (among other locales). tzdata 2021b (aka 2021a1) updates Jordan's DST taking effect on February 24, 2022 (https://mm.icann.org/pipermail/tz/2021-September/030760.html). It looks like the security releases yesterday didn't update node's ICU files on the LTS versions even though nodejs/node@de6399c and Node v17 are up-to-date.

    Would it be possible to get Node v12, v14, and v16 released with updated versions of tzdata as soon as possible, else we would need to follow the env var override mentioned above.

  13. richardlau commented on Jan 14, 2022

    @richardlau
    Member

    We're running up to a repeat of this issue with Jordanian users (among other locales). tzdata 2021b (aka 2021a1) updates Jordan's DST taking effect on February 24, 2022 (https://mm.icann.org/pipermail/tz/2021-September/030760.html). It looks like the security releases yesterday didn't update node's ICU files on the LTS versions even though nodejs/node@de6399c and Node v17 are up-to-date.

    Would it be possible to get Node v12, v14, and v16 released with updated versions of tzdata as soon as possible, else we would need to follow the env var override mentioned above.

    We discussed this in yesterday's Release meeting and the plan is to try landing the ICU 70.1 update (containing the updated tz db) on Node.js 16 and 14. Node.js 12 needs a PR to update the timezone db (following https://github.com/nodejs/node/blob/master/doc/guides/maintaining-icu.md#time-zone-data) because Node.js 12 is built with small-icu so we cannot cherry-pick the ICU updates to it.

  14. albertyw commented on Jan 14, 2022

    @albertyw

    Would nodejs/node#41443 be the PR needed for Node.js 12?

  15. richardlau commented on Jan 14, 2022

    @richardlau
    Member

    Would nodejs/node#41443 be the PR needed for Node.js 12?

    Yes, thanks! I'd missed this -- probably because it was closed (presumably accidentally) until you reopened it just now.

  16. added a commit that references this issue on Jan 16, 2022
  17. added a commit that references this issue on Jan 26, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions