Skip to content

Commit

Permalink
Release v2.3
Browse files Browse the repository at this point in the history
  • Loading branch information
jodastephen committed Aug 16, 2013
1 parent bbb38a0 commit b0fcbb9
Show file tree
Hide file tree
Showing 6 changed files with 158 additions and 18 deletions.
4 changes: 2 additions & 2 deletions README.md
Expand Up @@ -47,11 +47,11 @@ Various documentation is available:


### Releases
[Release 2.2](http://www.joda.org/joda-time/download.html) is the current latest release.
[Release 2.3](http://www.joda.org/joda-time/download.html) is the current latest release.
This release is considered stable and worthy of the 1.x tag.
It depends on JDK 1.5 or later.

Available in the [Maven Central repository](http://search.maven.org/#artifactdetails|joda-time|joda-time|2.2|jar)
Available in the [Maven Central repository](http://search.maven.org/#artifactdetails|joda-time|joda-time|2.3|jar)


### Related projects
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Expand Up @@ -9,7 +9,7 @@
<artifactId>joda-time</artifactId>
<packaging>jar</packaging>
<name>Joda-Time</name>
<version>2.3-SNAPSHOT</version>
<version>2.3</version>
<description>Date and time library to replace JDK date handling</description>
<url>http://www.joda.org/joda-time/</url>

Expand Down
20 changes: 10 additions & 10 deletions src/conf/MANIFEST.MF
Expand Up @@ -2,22 +2,22 @@ Package: org.joda.time
Extension-Name: joda-time
Specification-Title: Joda-Time
Specification-Vendor: Joda.org
Specification-Version: 2.2
Specification-Version: 2.3
Implementation-Vendor: Joda.org
Implementation-Title: org.joda.time
Implementation-Version: 2.2
Implementation-Version: 2.3
Implementation-Vendor-Id: org.joda
Bundle-ManifestVersion: 2
Bundle-Vendor: Joda.org
Bundle-Name: Joda-Time
Bundle-SymbolicName: joda-time
Bundle-Version: 2.2
Export-Package: org.joda.time;version=2.2,
org.joda.time.base;version=2.2,
org.joda.time.chrono;version=2.2,
org.joda.time.convert;version=2.2,
org.joda.time.field;version=2.2,
org.joda.time.format;version=2.2,
org.joda.time.tz;version=2.2
Bundle-Version: 2.3
Export-Package: org.joda.time;version=2.3,
org.joda.time.base;version=2.3,
org.joda.time.chrono;version=2.3,
org.joda.time.convert;version=2.3,
org.joda.time.field;version=2.3,
org.joda.time.format;version=2.3,
org.joda.time.tz;version=2.3
Bundle-License: Apache 2.0
Bundle-DocURL: http://www.joda.org/joda-time/
10 changes: 5 additions & 5 deletions src/site/xdoc/index.xml
Expand Up @@ -54,7 +54,7 @@ public boolean isJoinedInLastThreeMonths(<a href="apidocs/org/joda/time/DateTime
return last3Months.contains(datetimeJoined);
}
-->
Version 2.2 was released on 2013-03-08 -
Version 2.3 was released on 2013-08-16 -
<a href="download.html">Download now</a>
</p>
</section>
Expand Down Expand Up @@ -140,14 +140,14 @@ Various documentation is available:

<section name="Releases">
<p>
<a href="download.html">Release 2.2</a>
<a href="download.html">Release 2.3</a>
is the current latest release.
This release is an evolution of the 1.x codebase, not a major rewrite.
It is considered stable and worthy of the 2.x tag.
</p>
<p>
Version 2.2 is a bugfix release compatible with version 2.1.
See the <a href="upgradeto220.html">upgrade notes</a> for full details.
Version 2.3 is a bugfix release compatible with version 2.2.
See the <a href="upgradeto230.html">upgrade notes</a> for full details.
</p>
<p>
Version 2.x is almost completely source and binary compatible with version 1.x.
Expand All @@ -161,7 +161,7 @@ The main public API will remain backwards compatible for both source and binary
The version number will change to 3.0 to indicate a significant change in compatibility.
</p>
<p>
Available in <a href="http://search.maven.org/#artifactdetails|joda-time|joda-time|2.2|jar">Maven Central</a>.
Available in <a href="http://search.maven.org/#artifactdetails|joda-time|joda-time|2.3|jar">Maven Central</a>.
</p>

<p>
Expand Down
1 change: 1 addition & 0 deletions src/site/xdoc/installation.xml
Expand Up @@ -22,6 +22,7 @@ of the source code suitable for linking to the jar file in IDEs such as Eclipse.
<p>
The release notes for upgraders can be found here:
<ul>
<li><a href="upgradeto230.html">Version 2.3</a> - upgrade from Version 2.2</li>
<li><a href="upgradeto220.html">Version 2.2</a> - upgrade from Version 2.1</li>
<li><a href="upgradeto210.html">Version 2.1</a> - upgrade from Version 2.0</li>
<li><a href="upgradeto200.html">Version 2.0</a> - upgrade from Version 1.6</li>
Expand Down
139 changes: 139 additions & 0 deletions src/site/xdoc/upgradeto230.xml
@@ -0,0 +1,139 @@
<?xml version="1.0" encoding="ISO-8859-1"?>

<document>
<properties>
<title>Java date and time API - Upgrade from 2.2 to 2.3</title>
<author>Stephen Colebourne</author>
</properties>

<body>

<section name="Upgrade">
<p>
These are the release notes and advice for upgrading Joda-Time from version 2.2 to version 2.3.
<source>
Joda-Time version 2.3
---------------------

Joda-Time is a date and time handling library that seeks to replace the JDK
Date and Calendar classes.

This release contains enhancements, bug fixes and a time zone update.
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.
The intent is to make the code available to the Java community with the minimum
of restrictions. If the license causes you problems please contact the mailing list.

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


Enhancements since 2.2
----------------------
- Interval/MutableInterval .isEqual() [#20]
Add method to compare intervals ignoring the chronology
https://github.com/JodaOrg/joda-time/issues/20

- Chronology classes now define equals methods [#36]
Previously, the Chronology classes relied on caching in factory methods
to guarantee instances were singletons
Now, there are dedicated, normal, equals methods
This will aid weird cases where deserialization or similar avoids the caches
It will make no difference to most users

- Maximum size for pattern cache [#49]
Sets a maximum size for the cache to avoid memory issues

- Add LocalDateTime.toDate(TimeZone) [#48]
Provides an alternate way to create a java.util.Date that avoids some synchronization

- Home page moved
http://www.joda.org/joda-time


Compatibility with 2.2
----------------------
Build system - Yes

Binary compatible - Yes

Source compatible - Yes

Serialization compatible - Yes

Data compatible - Yes, except
- DateTimeZone data updated to version 2013d

Semantic compatible - Yes, except
- DateTimeZone is now limited to offsets from -23:59:59.999 to +23:59:59.999

- BasicChronology now defines an equals method
This which would affect you if you subclassed it (unlikely)

- GJChronology now has a minimum cutover instant of 0001-01-01 (Gregorian)
Its unlikely you have it set earlier than this
If you did your code was broken anyway


Deprecations since 2.2
----------------------
- DateMidnight [#41]
This class is flawed in concept
The time of midnight occasionally does not occur in some time-zones
This is a result of a daylight savings time from 00:00 to 01:00
DateMidnight is essentially a DateTime with a time locked to midnight
Such a concept is more generally a poor one to use, given LocalDate
Replace DateMidnight with LocalDate
Or replace it with DateTime, perhaps using the withTimeAtStartOfDay() method


Bug fixes since 2.2
-------------------
- ZoneInfoCompiler and DateTimeZoneBuilder multi-threading [#18]
A thread local variable was previously only initialised in one thread causing NPE
https://github.com/JodaOrg/joda-time/issues/18

- Short time-zone name parsing failed to match the longest name
This affected two short names where one is a short form of the second such as "UT" and "UTC"

- Days.daysBetween fails for MonthDay [#22]
Incorrect calculation around leap years

- DateTimeZone failed to validate offsets [#43]
Previously, there was little validation, resulting in the ability to create large offsets
Those offsets could fail in other parts of the library
Now, it is limited to -23:59:59.999 to +23:59:59.999

- DateTimeZone.forOffsetHoursMinutes failed to allow offsets from -00:01 to -00:59 [#42]
The forOffsetHoursMinutes() method could not create an offset from -00:01 to -00:59
This was due to an inappropriate design
A backwards compatible change to the input handling has been made
forOffsetHoursMinutes(0, -15) now creates -00:15

- DateTimeFormatter.parseInto [#21]
Fix parseInto() where it obtains the default year for parsing from the ReadWritableInstant
Previously, the wrong year could be obtained at the start or end of the year in non UTC zones
Now obtains the year from the ReadWritableInstant using the chronology of the ReadWritableInstant

- Better thread-safety in ISODateTimeFormat [#45]

- Fix GJChronology.plus/minus across cutover and year zero [#28]
When subtracting a number of years from a date in the GJChronology there are two considerations
The cutover date might be crossed, and year zero might be crossed (there is no year zero in GJ)
Previously, each were handled separately, but not together. Now it is fixed
As part of this change, the minimum cutover instant was set to 0001-01-01 (Gregorian)


Scala
--------
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.
</source>
</p>
</section>

</body>
</document>

0 comments on commit b0fcbb9

Please sign in to comment.