These are the release notes and advice for upgrading Joda-Time from version 2.8 to version 2.9.6.

Joda-Time version 2.9.6

Joda-Time is a date and time handling library that seeks to replace the JDK
Date and Calendar classes. For Java SE 8 and later, please use java.time instead.

This release contains some bug fixes, a time-zone update and some minor internal changes.
The release runs on JDK 5 or later.

Joda-Time is licensed under the business-friendly Apache License Version 2.
This is the same license as all of Apache, plus other open source projects such as Spring.

**  Please also check out our related projects   **
** https://www.joda.org/joda-time/related.html **

Changes in 2.9.6
 - Support conversion of old TimeZone where name has digits other than ASCII [#381]

Changes in 2.9.5
 - Add Norwegian period translations [#378]

 - Add Duration.dividedBy(long,RoundingMode) [#69, #379]

 - DateTimeZone data updated to version 2016i

 - Fixed bug where clock read twice when comparing two nulls in DateTimeComparator [#404]

 - Fixed minor issues with historic time-zone data [#373]

 - 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.

 - Update tests for JDK 9 [#394]

 - Close buffered reader correctly in zone info compiler [#396]

 - Handle locale correctly zone info compiler [#397]

Changes in 2.9.4
 - DateTimeZone data updated to version 2016d

 - Loading time-zone provider now occurs in a privileged block [#327, #375]

Changes in 2.9.3
 - DateTimeZone data updated to version 2016c

 - Make DateTimeUtils.SYSTEM_MILLIS_PROVIDER public [#357]

 - Fix bug when adding months at the maximum limits of integer [#361]

 - Add Turkish period translations [#364]

Changes in 2.9.2
 - DateTimeZone data updated to version 2016a (version 2.9 had time-zone data 2015g)

 - Fix bug in time-zone binary search [#332]

 - Minor fixes to code internals [#339, #326, #344, #350, #343]

 - Better document behaviour [#325]

Changes in 2.9.1
- Fix bug introduced by Long.MIN_VALUE and Long.MAX_VALUE changes [#328]

Enhancements in 2.9
- Faster parsing of time-zone identifiers [#282]

- Added Interval.parseWithOffset(String) [#299, #296]
  Provides a way to parse the fixed offset in an interval string

- Add DateTimeFormatter methods for StringBuilder [#298]

- Add Russian period translations [#320]

- Add Italian period translations [#312]

- Add Czech period translations [#313]

- Clarify that PeriodFormatterBuilder is in an invalid state once built [#309]

- 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

- Better error message for malformed tzdb files [#319]

- Better error message for interval constructor [#321]

Compatibility between 2.8 and 2.9
Build system - Yes

Binary compatible - Yes

Source compatible - Yes

Serialization compatible - Yes

Data compatible - Yes
 - DateTimeZone data updated to version 2015g

Semantic compatible - Yes

Bug fixes in 2.9
- 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

- 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.

- Fix overflow bug in intervals [#315]

Joda-Time uses annotations from Joda-Convert.
In the Java programming language, this dependency is optional, however in Scala it is not.
Scala users must manually add the Joda-Convert v1.2 dependency.

Back to top

Version: 2.12.7. Last Published: 2024-02-04.

Reflow Maven skin.