<div dir="ltr">Hi Dmytro - The IANA Time Zone Database <a href="https://github.com/eggert/tz/blob/d1ce7788d47a00c2c0f233f96c3106d95883be0e/NEWS#L413">switched</a> to use Europe/Kyiv in Release Release 2022b in August 2022. The deprecated name for this time zone, Europe/Kiev, remains in TZDB only as a <a href="https://github.com/eggert/tz/blob/d1ce7788d47a00c2c0f233f96c3106d95883be0e/backward#L314">Link</a> to the new name.<div><br></div><div>However, as you've observed, changes in TZDB are sometimes slow to arrive in different OSs and programming platforms. In particular, many platforms consume TZDB indirectly via  the Unicode ICU native library, which in turn uses data in <a href="https://github.com/unicode-org/cldr/blob/dace6c6b5672cbc70d6135f9ad82107b59142a61/common/bcp47/timezone.xml#L398">Unicode CLDR</a> to determine which IANA time zone identifiers are valid. Specifically, they typically use the <a href="https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1TimeZone.html#a7ec9cea4e406bd625e0fe1b058134b5c">TimeZone::getCanonicalID</a> in C++ (or its Java equivalent) to resolve deprecated IDs (like Asia/Ulan_Bator) to their corresponding primary ID like Asia/Ulaanbaatar. This ICU API always returns the first ID listed in CLDR. For example, see the line below from the <a href="https://github.com/unicode-org/cldr/blob/dace6c6b5672cbc70d6135f9ad82107b59142a61/common/bcp47/timezone.xml#L270C88-L270C104">latest CLDR timezone.xml</a>: </div><div><br></div><div><font face="monospace"><type name="mnuln" description="Ulaanbaatar (Ulan Bator), Mongolia" alias="Asia/Ulaanbaatar Asia/Ulan_Bator"/></font><br></div><div><br></div><div>ICU and CLDR, for sensible reasons to avoid breaking existing applications, never change the ID returned by <a href="https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1TimeZone.html#a7ec9cea4e406bd625e0fe1b058134b5c">TimeZone::getCanonicalID</a>. So even though some deprecations happened long ago in TZDB, like Asia/Calcutta => Asia/Kolkata, ICU still reports the old ID (like Asia/Calcutta) in <a href="https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1TimeZone.html#a7ec9cea4e406bd625e0fe1b058134b5c">TimeZone::getCanonicalID</a> because CLDR lists it first in the list:<br></div><div><br></div><div><font face="monospace"><type name="inccu" description="Kolkata, India" alias="Asia/Calcutta Asia/Kolkata" iana="Asia/Kolkata"/></font><br></div><div><br></div><div>You'll notice that this line has an <span style="font-family:monospace">iana</span> attribute, which (as you'd guess from its name) communicates the ID that is the current ID in TZDB, even if Asia/Calcutta is still first in the list of IDs in the <span style="font-family:monospace">alias</span> attribute. This <span style="font-family:monospace">iana</span> attribute is new, introduced in <a href="https://cldr.unicode.org/index/downloads/cldr-44">CLDR 44</a> that was only released a few weeks ago. This new attribute powers the new <a href="https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1TimeZone.html#a7e182f60aa75c78a623065ad8470d290">ICU TimeZone::getIanaID</a> API which was released in <a href="https://icu.unicode.org/download/74">ICU 74.1</a> (see <a href="https://unicode-org.atlassian.net/browse/ICU-22452">this JIRA ticket</a>) which was also released a few weeks ago on 31-10-2023. This new API finally provides the ability for ICU client apps (like Google Chrome, Apple Safari, and Node.js) to be able to return the most up-to-date IANA IDs.<br></div><div><br></div><div><div>As you'd expect, the same iana attribute has been <a href="https://github.com/unicode-org/cldr/blob/dace6c6b5672cbc70d6135f9ad82107b59142a61/common/bcp47/timezone.xml#L398C13-L398C146">added</a> for Kyiv's time zone:</div><div><br></div><div><font face="monospace"><type name="uaiev" description="Kyiv, Ukraine" alias="Europe/Kiev Europe/Kyiv Europe/Zaporozhye Europe/Uzhgorod" iana="Europe/Kyiv"/></font><br></div><div><br></div>As soon as ICU clients switch over to use the new <a href="https://unicode-org.github.io/icu-docs/apidoc/released/icu4c/classicu_1_1TimeZone.html#a7e182f60aa75c78a623065ad8470d290">TimeZone::getIanaID</a> API, you will see Europe/Kyiv being returned as you'd expect. </div><div><br></div><div>That said, I'm not sure when Chrome and Safari (or, more specifically, their ECMAScript engines V8 and JavaScriptCore) will switch over to the new API. But I'd expect it to happen sometime in 2024.</div><div><br></div><div>Thanks for asking about this important issue!</div><div><br></div><div>Justin Grant</div><div>(I'm part of the team defining ECMAScript's <a href="https://github.com/tc39/proposal-temporal">Temporal</a> date/time API and I've been working with CLDR and ICU to fix this problem you reported)</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Nov 10, 2023 at 9:17 PM Dmytro Shynkarenko via tz <<a href="mailto:tz@iana.org">tz@iana.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div>Dear IANA Team,</div><div><br></div><div>I'm reaching out on behalf of our team at Tutorpeers (Tutorpeers.com)</div><div><br><div>I'm reaching out to address a significant concern related to the naming of Ukraine's capital in time zone databases. At present, there are two spellings in use: "Kiev" and "Kyiv." The latter, "Kyiv," is the correct Ukrainian spelling and pronunciation, which honors the country's sovereignty and the preferences of its people.<br><br><div>The use of "Kiev," which is derived from the Russian language, has become increasingly problematic, especially considering Russia's ongoing aggression against Ukraine. This issue hits close to home for me, not only because of my Ukrainian roots but also due to the feedback we've received from our Ukrainian user base. Numerous customers have reached out to us, expressing discomfort and disapproval of the "Kiev" spelling, given the current circumstances.</div><div><br></div><div>Our platform has taken a clear stance on this issue, and we urge IANA to consider the implications of language and to update its time zone databases accordingly. By standardizing the "Kyiv" spelling, we can collectively show support for the Ukrainian community and respect their cultural and national identity.<br><br>After speaking to your colleague Candice Montoya I was pleased to learn that the spelling change to "Europe/Kyiv" has already been implemented in the Time Zone Database as of August 2022. This update is much appreciated and reflects a positive and respectful acknowledgment of the correct naming convention.<br></div><div><br></div><div>However, I've noticed that the previous spelling, "Kiev" still appears in some instances. Please confirm if this is intended for backward compatibility with existing systems. And if so, is there a planned timeline for its eventual deprecation in favor of the updated "Kyiv" spelling?</div><div><br></div><div>Understanding the strategy for phasing out the old spelling would be incredibly helpful for our team and user community as we navigate these changes and ensure we provide the most current and accurate information.</div><div><br></div><div>Thank you once again for your attention to this matter.</div></div></div><div><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><br></div>Regards, Dmytro<br></div><div dir="ltr">Project Coordinator at Tutorpeers<br></div></div></div></div></div></div></div></div></div>
</blockquote></div>