forked from JodaOrg/joda-time
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE-NOTES.txt
99 lines (71 loc) · 3.6 KB
/
RELEASE-NOTES.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
Joda-Time version 2.5
---------------------
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.4
----------------------
- Add regex based Period formatting [#166]
Regex based formatting allows for languages with more complex rules, such as Polish
- Add time-zone database version to manifest [#176, #183]
The version is available as key 'Time-Zone-Database-Version'
Compatibility with 2.4
----------------------
Build system - Yes
Binary compatible - Yes
Source compatible - Yes, except
- The constant DateTimeZone.UTC has changed implementation type
It used to be a FixedDateTimeZone, now it is a UTCDateTimeZone
This avoids a potential deadlock scenario
Serialization is unaffected
This change will only be observable if you cast the UTC constant to FixedDateTimeZone
Serialization compatible - Yes
Data compatible - Yes, except
- DateTimeZone data updated to version 2014h
- Bug in time zone compilation fixed
Semantic compatible - Yes, except
- LocalDate.toDateTime(LocalTime) and LocalDate.toDateTime(LocalTime, DateTimeZone)
If you pass a null LocalTime to the method, no changes have been made
If you pass a non-null LocalTime then behaviour during daylight saving gap and overlap has changed
During a daylight saving gap the exception has changed from IllegalFieldValueException to IllegalInstantException
During a daylight saving overlap the earlier offset is selected
Previously, the earlier offset was chosen east of Greenwich and the later offset west of Greenwich
Deprecations since 2.4
----------------------
Bug fixes since 2.4
-------------------
- Time zone compiler failed to correctly process 24:00 [#173, #182]
This caused reported time to be wrong in Africa/Cairo (and possibly others)
- Additional overflow check for Duration constructor [#159]
Handle MIN/MAX value better.
- Handle complex prefix/suffix combinations [#154, #169]
For example, 'm' for minutes and 'ms' for milliseconds
which both start with 'm'
- Fix deadlock [#171]
Referencing DateTimeZone and FixedDateTimeZone from two threads at startup could deadlock
Add package scoped UTCDateTimeZone class to avoid this
- Use of current time when converting from LocalDate [#177]
LocalDate.toDateTime(LocalTime) and LocalDate.toDateTime(LocalTime, DateTimeZone)
These methods used DateTimeUtils.currentTimeMillis() in all cases, rather than just when LocalTime was null
Behaviour when LocalTiem is null has been left unchanged
When LocalTime is non-null, it no longer uses DateTimeUtils.currentTimeMillis()
This change resulted in the semantic change detailed above
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.
Feedback
--------
Feedback is best received using GitHub issues and Pull Requests.
https://github.com/JodaOrg/joda-time/
Feedback is also welcomed via the joda-interest mailing list.
The Joda team
http://www.joda.org/joda-time/