<?xml version="1.0" encoding="ISO-8859-1"?>

<document>
  <properties>
    <title>Changes</title>
    <author>Stephen Colebourne</author>
  </properties>
  <body>

    <!-- types are add, fix, remove, update -->
    <release version="2.14.1" date="2026-03-07" description="v2.14.1">
      <action dev="jodastephen" type="fix">
        Ensure the time zone name key does not return '%z'.
      </action>
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2026agtz.
      </action>
    </release>
    <release version="2.14.0" date="2025-03-30" description="v2.14.0">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2025bgtz.
      </action>
    </release>
    <release version="2.13.1" date="2025-02-03" description="v2.13.1">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2025agtz.
      </action>
    </release>
    <release version="2.13.0" date="2024-09-15" description="v2.13.0">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2024bgtz.
        This release retires the American short zone IDs - EST, MST, HST, EST5EDT, CST6CDT, MST7MDT and PST8PDT.
        Creating a zone with one of these IDs will return the modern alternative, for example 'MST' is mapped to 'America/Phoenix'.
        The European zone IDs - WET, CET and EET - are retained.
        The non-standard European zone ID 'MET' is mapped to the standard form of 'CET'.
        Note that these changes have no impact to current or future timestamps.
      </action>
      <action dev="jodastephen" type="fix">
        Enhance the parser to better match specification of zic.
        Fixes #785.
      </action>
      <action dev="klopfdreh" type="add">
        Enhanced support for native image building.
        Fixes #784.
      </action>
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2024bgtz.
      </action>
    </release>
    <release version="2.12.7" date="2024-02-04" description="v2.12.7">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2024agtz.
      </action>
    </release>
    <release version="2.12.6" date="2024-01-06" description="v2.12.6">
      <action dev="jodastephen" type="update">
        Enhance DateTimeZone.forID() to better match java.time.
        Fixes #733, #717.
      </action>
      <action dev="cyrilou242" type="update">
        Better error message in DateTimeFormat.
        Fixes #731.
      </action>
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2023dgtz.
      </action>
    </release>
    <release version="2.12.5" date="2023-03-30" description="v2.12.5">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2023cgtz.
      </action>
    </release>
    <release version="2.12.4" date="2023-03-24" description="v2.12.4">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2023bgtz.
      </action>
    </release>
    <release version="2.12.3" date="2023-03-23" description="v2.12.3">
      <action dev="antoniohernan" type="update">
        Add translation for ga.
      </action>
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2023agtz.
      </action>
    </release>
    <release version="2.12.2" date="2022-12-01" description="v2.12.2">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2022ggtz.
      </action>
    </release>
    <release version="2.12.1" date="2022-10-29" description="v2.12.1">
      <action dev="various" type="add">
        Add/fix translations for iw, sq.
      </action>
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2022fgtz.
      </action>
    </release>
    <release version="2.12.0" date="2022-10-13" description="v2.12.0">
      <action dev="various" type="add">
        Add translations for ca, el, eu, fi, hi, hu, in, iw, ms, nn, ro, sk, sv, zh.
      </action>
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2022egtz.
      </action>
    </release>
    <release version="2.11.2" date="2022-09-25" description="v2.11.2">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2022dgtz.
      </action>
      <action dev="jodastephen" type="update">
        Switch LGTM to CodeQL.
      </action>
    </release>
    <release version="2.11.1" date="2022-08-25" description="v2.11.1">
      <action dev="jodastephen" type="update">
        Update build scripts and fix static analysis warnings.
      </action>
      <action dev="jodastephen" type="update">
        Switch master to main.
      </action>
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2022cgtz.
      </action>
    </release>
    <release version="2.11.0" date="2022-08-12" description="v2.11.0">
      <action dev="jodastephen" type="fix">
        Change DateTimeZone to use 'org.joda.time.DateTimeZone.Timezone' instead of 'user.timezone'.
        This change causes Joda-Time to query 'TimeZone.getDefault()' in most cases.
        In most cases this change will have no effect on application code, as 'user.timezone' will be picked up by 'TimeZone.getDefault()' instead.
        If you specifically need to stop Joda-Time calling 'TimeZone.getDefault()' then you will need to change
        to use the new system property 'org.joda.time.DateTimeZone.Timezone'.
        Fixes #587.
      </action>
      <action dev="jodastephen" type="fix">
        Avoid using == on objects.
        Fixes #581.
      </action>
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2022bgtz.
        This uses the new global-tz project that reinstates all the data removed by IANA's TZDB.
        See https://github.com/JodaOrg/joda-time/issues/566
      </action>
    </release>
    <release version="2.10.14" date="2022-03-20" description="v2.10.14">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2022agtz.
        This uses the new global-tz project that reinstates all the data removed by IANA's TZDB.
        See https://github.com/JodaOrg/joda-time/issues/566
      </action>
    </release>
    <release version="2.10.13" date="2021-10-26" description="v2.10.13">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2021efork.
        See https://github.com/JodaOrg/joda-time/issues/566
      </action>
    </release>
    <release version="2.10.12" date="2021-09-29" description="v2.10.12">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2021bfork3.
        See https://github.com/JodaOrg/joda-time/issues/566
      </action>
    </release>
    <release version="2.10.11" date="2021-09-23" description="v2.10.11">
      <action dev="jodastephen" type="update">
        Defend against possible release of hugely damaging timezone data.
        See https://github.com/JodaOrg/joda-time/issues/566
      </action>
    </release>
    <release version="2.10.10" date="2021-02-05" description="v2.10.10">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2021a.
      </action>
    </release>
    <release version="2.10.9" date="2020-12-29" description="v2.10.9">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2020e.
        Fix to time-zone compiler.
      </action>
    </release>
    <release version="2.10.8" date="2020-10-23" description="v2.10.8">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2020d.
        Remove systemv and pacificnew time zones as per TZDB changes.
      </action>
    </release>
    <release version="2.10.7" date="2020-10-21" description="v2.10.7">
      <action dev="jodastephen" type="fix">
        DateTimeZone data updated to version 2020c.
        Remove systemv and pacificnew time zones as per TZDB changes.
      </action>
      <action dev="jodastephen" type="add">
        Better error message for year-month-day.
        Fixes #540.
      </action>
      <action dev="AlexMe951" type="fix">
        Fix localization for Russia.
        Fixes #533.
      </action>
	</release>
    <release version="2.10.6" date="2020-04-24" description="v2.10.6">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2020a.
      </action>
      <action dev="stari4ek" type="add">
        Add localization for Ukraine.
        Fixes #523.
      </action>
    </release>
    <release version="2.10.5" date="2019-10-24" description="v2.10.5">
      <action dev="jodastephen" type="update">
        Updated Joda-Convert version.
      </action>
    </release>
    <release version="2.10.4" date="2019-09-20" description="v2.10.4">
      <action dev="bradarndt" type="update">
        DateTimeZone data updated to version 2019c.
      </action>
    </release>
    <release version="2.10.3" date="2019-07-04" description="v2.10.3">
      <action dev="bradarndt" type="update">
        DateTimeZone data updated to version 2019b.
      </action>
    </release>
    <release version="2.10.2" date="2019-05-09" description="v2.10.2">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2019a.
      </action>
      <action dev="jodastephen" type="fix">
        Fix calculation of DateTime.withTimeAtStartOfDay() when DST is at midnight.
        Fixes #488.
      </action>
      <action dev="antonqiu" type="fix">
        Fix Period.years() factory method internal implementation.
        Fixes #487.
      </action>
      <action dev="alshopov" type="add">
        Add Bulgarian translation of periods.
        Fixes #496.
      </action>
      <action dev="niklasf" type="fix">
        Fix Czech translation of periods.
        Fixes #504.
      </action>
      <action dev="jodastephen" type="add">
        Add Tidelift commercial support and security policy.
      </action>
    </release>
    <release version="2.10.1" date="2018-10-27" description="v2.10.1">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2018g.
      </action>
      <action dev="jodastephen" type="fix">
        Fix time-zone compiler for Namibia. Oh I do love tzdb.
        Fixes #485.
      </action>
      <action dev="jodastephen" type="fix">
        Fix time-zone compiler for Tokyo. Oh I do love tzdb.
      </action>
    </release>
    <release version="2.10" date="2018-05-30" description="v2.10">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2018e.
      </action>
      <action dev="jodastephen" type="add">
        Handle negative SAVE values in tzdb.
        Once again, tzdb is the source of problems, with their inability to provide stability.
        A hack has been added that reverses their latest decision to have negative SAVE values.
        The hack works so long as a rule set does not mix positive and negative save values.
      </action>
      <action dev="jodastephen" type="add">
        Add Instant.EPOCH.
        See #472.
      </action>
      <action dev="jodastephen" type="add">
        Clarify negative durations.
        See #465.
      </action>
      <action dev="kluever" type="add">
        Add Instant.ofEpochMilli(). Add Instant.ofEpochSecond().
        Fixes #458.
      </action>
      <action dev="jodastephen" type="add">
        Add automatic module name for Java SE 9.
      </action>
      <action dev="jodastephen" type="add">
        Add Kazakh language translations.
        Fixes #446
      </action>
      <action dev="jodastephen" type="fix">
        Avoid double addition when using lenient chronology.
        Fixes #432.
      </action>
      <action dev="jodastephen" type="fix">
        Clarify Period.fieldDifference() Javadoc.
      </action>
      <action dev="jodastephen" type="fix">
        Clarify Instant.withMillis() Javadoc.
        Fixes jodaorg.github.io#5
      </action>
      <action dev="mikey-austin" type="update">
        Add ZoneInfoProvider() constructor.
      </action>
    </release>
    <release version="2.9.9" date="2017-03-23" description="v2.9.9">
      <action dev="jodastephen" type="update">
        Optimise release process.
      </action>
    </release>
    <release version="2.9.8" date="2017-03-22" description="v2.9.9">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2017b.
      </action>
      <action dev="jodastephen" type="fix">
        Handle plus/minus of Integer.MIN_VALUE/MAX_VALUE months correctly.
        Fixes #418.
      </action>
      <action dev="sebkur" type="fix">
        Clarify time fields are based on the local time-line.
        Fixes #415.
      </action>
      <action dev="sebkur" type="fix">
        Fix spelling mistakes.
        Fixes #412.
      </action>
      <action dev="jodastephen" type="fix">
        Fix DateTimePrinterInternalPinter that outputs data twice.
        Fixes #409.
      </action>
    </release>

    <release version="2.9.7" date="2016-12-19" description="v2.9.7">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2016j.
      </action>
    </release>

    <release version="2.9.6" date="2016-11-10" description="v2.9.6">
      <action dev="jodastephen" type="fix">
        Support conversion of old TimeZone where name has digits other than ASCII [#381]
      </action>
    </release>

    <release version="2.9.5" date="2016-11-03" description="v2.9.5">
      <action dev="jodastephen" type="add">
        Add Norwegian period translations [#378]
      </action>
      <action dev="jodastephen" type="add">
        Add Duration.dividedBy(long,RoundingMode) [#69, #379]
      </action>
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2016i
      </action>
      <action dev="jodastephen" type="fix">
        Fixed bug where clock read twice when comparing two nulls in DateTimeComparator [#404]
      </action>
      <action dev="jodastephen" type="fix">
        Fixed minor issues with historic time-zone data [#373]
      </action>
      <action dev="jodastephen" type="fix">
        Fix bug in time-zone binary search [#332, #386]
        The fix in v2.9.2 caused problems when the time-zone being parsed
        was not the last element in the input string. New approach uses a
        different approach to the problem.
      </action>
      <action dev="jodastephen" type="fix">
        Update tests for JDK 9 [#394]
      </action>
      <action dev="jodastephen" type="fix">
        Close buffered reader correctly in zone info compiler [#396]
      </action>
      <action dev="jodastephen" type="fix">
        Handle locale correctly zone info compiler [#397]
      </action>
    </release>

    <release version="2.9.4" date="2016-05-27" description="v2.9.4">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2016d
      </action>
      <action dev="jodastephen" type="fix">
        Loading time-zone provider now occurs in a privileged block [#327, #375]
      </action>
    </release>

    <release version="2.9.3" date="2016-03-27" description="v2.9.3">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2016c
      </action>
      <action dev="jodastephen" type="add">
        Make DateTimeUtils.SYSTEM_MILLIS_PROVIDER public [#357]
      </action>
      <action dev="jodastephen" type="fix">
        Fix bug when adding months at the maximum limits of integer [#361]
      </action>
      <action dev="jodastephen" type="add">
        Add Turkish period translations [#364]      
      </action>
    </release>

    <release version="2.9.2" date="2016-01-28" description="v2.9.2">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2016a (version 2.9 had time-zone data 2015g)
      </action>
      <action dev="jodastephen" type="fix">
        Fix bug in time-zone binary search [#332]
      </action>
      <action dev="jodastephen" type="fix">
        Minor fixes to code internals [#339, #326, #344, #350, #343]
      </action>
      <action dev="jodastephen" type="add">
        Better document behaviour [#325]
      </action>
    </release>

    <release version="2.9.1" date="2015-11-12" description="v2.9.1">
      <action dev="jodastephen" type="fix">
        Fix bug introduced by Long.MIN_VALUE and Long.MAX_VALUE changes [#328]
      </action>
    </release>

    <release version="2.9" date="2016-10-24" description="v2.9">
      <action dev="jodastephen" type="update">
        DateTimeZone data updated to version 2015g
      </action>
      <action dev="jodastephen" type="add">
        Faster parsing of time-zone identifiers [#282]
      </action>
      <action dev="jodastephen" type="add">
        Added Interval.parseWithOffset(String) [#299, #296]
        Provides a way to parse the fixed offset in an interval string
      </action>
      <action dev="jodastephen" type="add">
        Add DateTimeFormatter methods for StringBuilder [#298]
      </action>
      <action dev="jodastephen" type="add">
        Add Russian period translations [#320]
      </action>
      <action dev="jodastephen" type="add">
        Add Italian period translations [#312]
      </action>
      <action dev="jodastephen" type="add">
        Add Czech period translations [#313]
      </action>
      <action dev="jodastephen" type="add">
        Clarify that PeriodFormatterBuilder is in an invalid state once built [#309]
      </action>
      <action dev="jodastephen" type="add">
        Allow DateTime and Interval to refer to values at Long.MIN_VALUE and Long.MAX_VALUE [#297, #190]
        A DateTime may be created with any millisecond value, however at the very edges there may be
        some undesirable effects, for example always using UTC instead of the time-zone
      </action>
      <action dev="jodastephen" type="fix">
        Better error message for malformed tzdb files [#319]
      </action>
      <action dev="jodastephen" type="fix">
        Better error message for interval constructor [#321]
      </action>
      <action dev="jodastephen" type="fix">
        Fixed to handle JDK 8u60 [#288, #291]
        Without this fix, formatting a time-zone will print "+00:00" instead of "GMT" for the GMT time-zone
      </action>
      <action dev="jodastephen" type="fix">
        Fix parsing of basic form ISO style where year has unnecessary plus sign [#86]
        For example, +20151030 will now be correctly parsed as year 2015.
      </action>
      <action dev="jodastephen" type="fix">
        Fix overflow bug in intervals [#315]
      </action>
     
    </release>

  </body>
</document>
