Skip to content

Implementer feedback about waiting period for renamed identifiers like Europe/Kiev=>Europe/Kyiv #17

@justingrant

Description

@justingrant

In the May 2023 TC39 meeting, @dminor (Mozilla) brought up a concern around the proposed waiting period for renames.

The issue is that if there's a waiting period for renames, it introduces extra work for implementers because it turns renames from a one-release change (turn the old ID into a non-primary identifier, and add the new ID as primary) into a two-release change:

  1. Add the new ID as non-primary
  2. 2 years later, swap the primary status of the old and new IDs

Dan, did I represent your concern correctly?

One caveat is that renames are rare: once per year from 2020-2022, and no renames for 4 years before that. So there would be extra work here, but not a lot of extra work.

I'm not sure there's a compromise answer here: either evergreen ECMAScript implementations will give out IDs that remote systems may not recognize (because clients are usually updated faster than servers), or implementations would need to do some extra work to delay making newly-renamed IDs canonical.

For context, here's the spec text in question:

Although the IANA Time Zone Database maintainers strive for stability, in rare cases identifiers will be renamed.
For example, the IANA Time Zone Database's 2022b release added "Europe/Kyiv" as a new Zone and demoted "Europe/Kiev" to be a Link to the new Zone.
To reduce disruption from these renaming changes, ECMAScript implementations are encouraged to initially add the new name as a non-primary time zone identifier that resolves to the old primary identifier.
Then, after a waiting period, implementations are recommended to promote the new Zone to a primary time zone identifier while simultaneously demoting the deprecated name to non-primary.
The recommended waiting period is two years (TODO: may change) after the IANA Time Zone Database release containing the changes.
This is long enough to allow most other systems that ECMAScript programs may interact with to "catch up" with the change so that the new zone is recognized.
Note that this waiting period should only apply to cases where an existing Zone is replaced by a new Zone name.
If an existing Zone and Link are swapped, then no waiting period is recommended.

Metadata

Metadata

Assignees

No one assigned

    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