forked from ThreeTen/threeten
-
Notifications
You must be signed in to change notification settings - Fork 0
/
RELEASE-NOTES.txt
203 lines (197 loc) · 9.23 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
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
/*
* Copyright (c) 2007-2011, Stephen Colebourne & Michael Nascimento Santos
*
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* * Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
*
* * Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* * Neither the name of JSR-310 nor the names of its contributors
* may be used to endorse or promote products derived from this software
* without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
* A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
* CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
* EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
* PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
* PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
* LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
* NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
0.7
===============================================================================
- Add OffsetDate.toInstant()
- OffsetDate.isAfter/Before takes into account offset
- OffsetTime.isAfter/isBefore calculation
- OffsetTime.compareTo fixed
- OffsetDateTime.compareTo doesn't handle nanos
- Add OffsetDate.atTime(OffsetTime)
- Ensure date-time plus/minus uses long not int
- Fix Period.of(Duration)
- Add LocalTime/OffsetTime/LocalDateTime/OffsetDateTime/ZonedDateTime.plus/minus(Duration)
- Remove CopticDate/HistoricDate.isLeapDay()
- Add CopticDate.plusWeeks()
- Change factories on I18N dates to take Calendrical, not DateProvider
- Rename ZoneOffsetTransition.getDateTime() to getDateTimeBefore()
- Rename TimeZone to ZoneId (avoids annoying clash with JDK)
- Fix clock hour of day and of am-pm
- Fix/Weaken contract of CalendricalRule comparator
- Change period units to be standalone class for ISO
- Remove generics from DateTimeFieldRule
- Rework DateTimeFields, adding DateTimeField
- Move units and rules from ISOChronology to their own classes as field constants
- Rename DateTimeFieldRule to DateTimeRule
- Add A and N formatting letter
- Change formatting letter x to Y
- Change formatting letters E and Q to work like M
- Add narrow style to formatting
- Add X formatting letter to match current Java, with more power
- Change formatting letter Z to match current Java, with more power
- Rename DateTimeParseContext.setParsed to avoid invalid overload
- Always hold parsed date-time data as DateTimeField
- Remove DateTimePrinter.isPrintDataAvailable()
- Change DateTimePrinter to take StringBuilder not Appendable
- Remove CalendricalPrintFieldException
- Use ArithmeticException in date classes
- Add DateTimePrintContext
- Rename DateTimeFormatterProvider to DateTimeFormatStyleProvider
- Obtain text from DateTimeTextProvider (remove code from DateTimeRule)
- Alter/simplify getText() methods in enums
- Refactor DateTimeFormatSymbols and integrate
- Add DateTimeRuleRange to replace DateTimeRule min/max methods
- Add WeekRules
- Add PeriodUnit.field(long)
- Add with methods to UTCInstant/TAIInstant
- Rename ModifiedJulianDays/EpochDays/EpochSeconds/EpochMillis/EpochNanos to remove plural
- Remove weekend code from main build (currently in extras)
- Add ofInstantUTC factories to ZDT, ODT, OD, OT
- Remove Comparable, PeriodUnit, PeriodRange, ID and Chronology from CalendricalRule
- Remove isXxx() methods from enums
- Rename CalendricalRule.getReifiedType() to getType()
- Combine ZoneId.getName() and getShortName() into getText()
- Rename WeekOfMonth to AlignedWeekOfMonth, similarly for WeekOfYear
- Remove getChronology() in most places, Use get(Chronology.rule()) instead
- Rewrite merging
- Factories from Calendrical varargs
- LocalDate constants for MIN_DATE/MAX_DATE (using Year.MIN_VALUE Jan 1/MAX_VALUE Dec 31)
- LocalTime constants for MIN_TIME/MAX_TIME (using MIN = MIDNIGHT, and MAX = 23:59:59.999999999)
- LocalDateTime constants for MIN_DATE_TIME/MAX_DATE_TIME (combining min and max from LocalDate/LocalTime)
- Year.parse(String), Year.parse(String,DateTimeFormatter) and toString(DateTimeFormatter)
- SystemUTCRules now load leap second data from binary JAR entry
- TZDBZoneRulesCompiler now also compiles leap second information from TZDB files
- Parse methods use CharSequence
- Remove DateProvider, TimeProvider, DateTimeProvider, as they created unreliable APIs
- Refactor PeriodUnit
- Rename getEstimatedDuration() to getDurationEstimate()
- ZoneResolver refactored
- Remove LocalTime.Overflow, embedding code in LocalDateTime
- Rename DateTimeFormatter methods for clarity
- Move TimeDefinition to rule class from builder
- Remove DateAdjuster/TimeAdjuster from Offset* classes and clarify with methods
- Add parseBest to handle optional parsing
- Moved packages
- Merged Clock and TimeSource
- Removed UTC/TAI
0.6.3
===============================================================================
- nanoOfDay rule / epochDays rule
- Use public factories for ZOT and ZOTR rather than protected methods in ZRules
- Make CalendricalRule.compare less lenient
- Add TAIInstant.parse()
- Print/parse two digit years
- Add Period.toEstimatedDuration()
- Rename PeriodFields.normalize() to normalizeTo()
- Add PeriodFields.normalize()
- Add Period.of(Duration)
- Make LocalDate.plus(PeriodProvider)/minus(PeriodProvider) strict
- Remove DatePeriod, adding methods to Period
- Add Period.withDateFieldsOnly()/withTimeFieldsOnly()
- Add Period.ofDateFields()/ofTimeFields()
- Rename Period.ofYearsMonthsDays() to ofDateFields()
- Rename Period.ofHoursMinutesSeconds() to ofTimeFields()
- LocalDateTime/LocalTime/Year/YearMonth.plus(PeriodProvider) have correct algorithm
- ZoneOffset period factory
- ZDT int factories
- YearMonth.with(Year)
- LocalTime plus/minus shouldn't throw ArithmeticException
- Remove InstantProvider from UTC/TAI
- OffsetTime.withOffset/adjustLocalTime method names changed
- Add isLeapYear() to other principal date classes
- Fix bug in Offset* now(Clock)
- Rename nowSystemClock() to now()
- MonthOfYear - start/end of month as DOY
- Add Chronology CalendricalRule
- Change ISO year range to -999,999,999 to 999,999,999
- Add OffsetDateTime.of(DateProvider,OffsetTime)
- Add LocalDate.atTime(OffsetTime)
- Remove toYear() from principal classes
0.6.2
===============================================================================
- PeriodFields.toTotal(Unit)
- PeriodFields.normalize(Unit...)
- Rename/add methods on PeriodUnit
- Add Year/YearMonth/MonthDay.now(Clock)
- Add LocalDate.isLeapYear()
- Rework time-scales
- less public classes
- simplified UTC should always have 86400 seconds per day
- TAI and UTC
- pluggable leap seconds
- ZoneRulesGroup loads rules, whereas it should just load keys initially
- Specialised data format for zone-rules
- SPI and zone providers
- TimeZone special factory to create unavailable instances
0.61
===============================================================================
- getYearMonth(), getMonthDay()
- withXxx() taking Year, MonthOfYear - with(Adjuster)
- zone prev/next transition
- parse API is too complex to parse Date/Time due to merge
- Date/Time parse factories
- DateTimeMatcher -> CalendricalMatcher
- test separable comparators for providers -> CalendricalRule implements Comparator
- isJanuary() ?
- isMonday() ?
- Period rules?
- period units in chronologies?
- Year.of() Duration.of() plus big static class?
- parse optional needs to store and drop back Calendrical properly
- withDayOfYear() tests and everywhere
- toDays() etc, if we keep those classes
- Year.atDay()
- LocalDate.atTime(int...)
- review in line with changes to Duration
- ZonedDateTime plusDurationSeconds() etc
- public access to transitions and transition rules
- OffsetInfo, discontinuity rename to transition
- parse zone
EDR
===============================================================================
- OffsetDate.atTime(int...)
- zone rule where time of day is 24:00
- versions of zone data files
- convert time zone rules to fixed rules when possible
- simpler way to setup pattern - DateTimeFormatters.forPattern()
- Factory now(Clock)
- optimise Clock methods to Local* avoiding Offset* object creation
- better error when zone jar file missing
- setup list of deprecated time zone ids
- ZonedDateTime toEpochSeconds()
- OffsetDateTime.fromEpochSeconds()
- ZonedDateTime.fromEpochSeconds()
- Duration/Instant rename millis() to ofMillis() etc
- Duration/Instant integrate TimeUnit
- Rename factory methods to start with 'of'
- LocalDate.plus(PeriodProvider) needs correct algorithm
- Period.ofXxx factory rename