Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 400 lines (256 sloc) 14.108 kb
eee3e05 @jiho Allow to parse dates from long numbers
jiho authored
1
2 BUG FIXES
3
4 * allow to parse long numbers such as 20140911000000 as date+time (@jiho, #302)
5
d8597f6 @garrettgman Version 1.3.3 news and description file
garrettgman authored
6 Version 1.3.3
7 -------------------------------------------------------------------------
8
9 DEVELOPMENT
10
5b95083 @vspinu adjust NEWS
vspinu authored
11 * New low level C parser for numeric formats and two new front-end R functions
12 parse_date_time2 and fast_strptime. The achieved speed up is 50-100x as
13 compared to standard as.POSIXct and strptime functions.
14
15 The user level parser functions of ymd_hms family drop to these C routines
16 whenever plain numeric formats are detected.
d8597f6 @garrettgman Version 1.3.3 news and description file
garrettgman authored
17
18 BUG FIXES
19
20 * olson_time_zones now supports Solaris OS
5b95083 @vspinu adjust NEWS
vspinu authored
21 * infinite recursion on parsing non-existing leap times was fixed
d8597f6 @garrettgman Version 1.3.3 news and description file
garrettgman authored
22
23 Version 1.3.2
24 -------------------------------------------------------------------------
25
26 DEVELOPMENT
27
28 * Lubridate's s4 methods no longer use the representation argument, which has been deprecated in R 3.0.0 (see ?setClass). As a result, lubridate is no longer backwards compatible with R <3.0.0.
29
30
31
32 Version 1.3.1
33 -------------------------------------------------------------------------
34
35
4b6ea04 @garrettgman updated NEWS file
garrettgman authored
36 Version 1.3.0
37 -------------------------------------------------------------------------
38
39 DEVELOPMENT
40
41 * v1.3.0. treats math with month and year Periods more consistently. If adding
42 or subtracting n months would result in a non-existent date, lubridate will
43 return an NA instead of a day in the following month or year. For example,
44 `ymd("2013-01-31") + months(1)` will return `NA` instead of `2013-03-04`
45 as in v1.2.0. `ymd("2012-02-29") + years(1)` will also return an `NA`. This
46 rule change helps ensure that date + timespan - timespan = date (or NA). If
47 you'd prefer that such arithmetic just returns the last day of the resulting
48 month, see `%m+%` and `%m-%`.
49
50 * update.POSIXct and update.POSIXlt have been rewritten to be 7x faster than
51 their versions in v1.2.0. The speed gain is felt in `force_tz`, `with_tz`,
52 `floor_date`, `ceiling_date`, `second<-`, `minute<-`, `hour<-`, `day<-`,
53 `month<-`, `year<-`, and other functions that rely on update (such as math with
54 Periods).
55
56 * lubridate includes a Korean translation provided by
57 http://korea.gnu.org/gnustats/
58
59
60 NEW FEATURES
61
62 * lubridate parser and stamp functions now handle ISO8601 date format (e.g.,
63 2013-01-24 19:39:07.880-06:00, 2013-01-24 19:39:07.880Z)
64
65 * lubridate v1.3.0 comes with a new R vignette. see
66 `browseVignettes("lubridate")` to view it.
67
68 * The accessors `second`, `minute`, `hour`, `day`, `month`, `year` and the
69 settors `second<-`, `minute<-`, `hour<-`, `day<-`, `month<-`, `year<-` now
70 work on Period class objects
71
72 * users can control which messages lubridate returns when parsing and estimating
73 with the global option lubridate.verbose. Run
74 `options(lubridate.verbose = TRUE)` to turn parsing messages on. Run
75 `options(lubridate.verbose = FALSE)` to turn estimation and coercion messages
76 off.
77
78 * lubridate parser functions now propagate NA's just as as.POSIXct, strptime and
79 other functions do. Previously lubridate's parse functions would only return an
80 error.
81
82 * added [[ and [[<- methods for INterval, Period and Duration class objects
83
84 * added `%m+%` and `%m-%` methods for Interval and Duration class objects that
85 throw useful errors.
86
87 * `olson_time_zones` retreives a character vector is Olson-style time zone names
88 to use in lubridate
89
90 * summary methods for Interval, Period, and Duration classes
91
92 * date_decimal converts a date written as a decimal of a year into a POSIXct
93 date-time
94
95 BUG FIXES
96
97 * fixed bug in way update.POSIXct and update.POSIXlt handle dates that occur in
98 the fall daylight savings overlap. update will choose the date-time closest to
99 the original date time (on the timeline) when two identical clock times exist
100 due to the DST overlap.
101
102 * fixed bugs that created unintuitive results for `as.interval`, `int_overlaps`, `%within%` and the interval methods of `c`, `intersect`, `union`, `setdiff`, and `summary`.
103
104 * parse functions, `as.interval`, `as.period` and `as.duration` now handle
105 vectors of NA's without returning errors.
106
107 * parsers better handle vectors of input that have more than 100 elements and
108 many NAs
109
110 * data frames that contain timespan objects with NAs in thme no longer fail to
111 print
112
113 * `round_date`, `ceiling_date` and `update` now correctly handle input of length
114 zero
115
116 * `decimal_date` no longer returns NaN for first second of the year
117
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
118
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
119 Version 1.2.0
120 -------------------------------------------------------------------------
121 DEVELOPMENT
122
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
123 * lubridate 1.2.0 is significantly faster than lubridate 1.1.0. This is
124 largely thanks to a parser rewrite submitted by Vitalie Spinu. Thank you,
125 Vitalie. Some metrics:
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
126 - parser speed up - 60x faster
127 - `with_tz` speed up - 15x faster
128 - `force_tz` speed up - 3x faster
129
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
130 * Development for 1.2.0 has also focused on improving the way we work with
131 months. `rollback` rolls dates back to the last day of the previous month.
132 provides more options for working with months. `days_in_month` finds the
133 number of days in a date's month. And, `%m+%` and `%m-%` provide a new way to
134 handle unequal month lengths while doing arithmetic. See NEW FEATURES for more
135 details
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
136
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
137 * date parsing can now parse multiple date formats within the same vector of
138 date-times. Parsing can also recognize a greater variety of date-time formats
139 as well as incomplete (truncated) date-times. Contributed by Vitalie Spinu.
140 Thank you, Vitalie.
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
141
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
142 * 1.2.0 introduces a new display format for periods. The display is more math
143 and international friendly.
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
144
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
145 * 1.2.0 transforms negative intervals into periods much more gracefully (e.g, -
146 3 days instead of -1 years, 11 months, and 27 days)
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
147
148 * S3 update methods are now exported
149
150 NEW FEATURES
151
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
152 * `stamp` allows users to print dates in whatever form they like. Contributed
153 by Vitalie Spinu. Thank you, Vitalie.
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
154
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
155 * periods now handle fractional seconds. Contributed by Vitalie Spinu. Thank
156 you, Vitalie.
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
157
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
158 * date parsing can now parse multiple date formats within the same vector of
159 date-times. Parsing can also recognize a greater variety of date-time formats
160 as well as incomplete (truncated) date-times. Contributed by Vitalie Spinu.
161 Thank you, Vitalie.
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
162
163 * `sort`, `order`, `rank` and `xtfrm` now work with periods
164
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
165 * `as.period.Interval` accepts a unit argument. `as.period` will convert
166 intervals into periods no larger than the supplied unit.
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
167
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
168 * `days_in_month` takes a date, returns the number of days in the date's month.
169 Contributed by Richard Cotton. Thank you, Richard.
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
170
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
171 * `%m+%` and `%m-%` perform addition and subtraction with months (and years)
172 without rollover at the end of a month. These can be used in place of + and -.
173 These can't be used with periods smaller than a month, which should be handled
174 separately. An example of the new behavior:
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
175
176 ymd("2010-01-31") %m+% months(1)
177 # "2010-02-28 UTC"
178
179 ymd("2010-01-31") + months(1)
180 # "2010-03-03 UTC"
181
182 ymd("2010-03-31") %m-% months(1)
183 # "2010-02-28 UTC"
184
185 ymd("2010-01-31") - months(1)
186 # "2010-03-03 UTC"
187
188 * `rollback` rolls a date back to the last day of the previous month.
189
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
190 * `quarter` returns the fiscal quarter that a date occurs in. Like `quartes`
191 in base R, but returns a numeric instead of a character string.
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
192
193 BUG FIXES
194
195 * date parsers now handle NAs
196
197 * periods now handle NAs
198
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
199 * `[<-` now correctly updates all elements of a period inside a vector, list,
200 or data.frame
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
201
202 * `period()` now works with unit = "weeks"
203
204 * `ceiling_date` no longer rounds up if a date is already at a ceiling
205
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
206 * the redundant (i.e, repeated) hour of fall daylight savings time now
207 displays with the correct time zone
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
208
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
209 * `update.POSIXct` and `update.POSIXlt` handle vectors that sum to zero in the
210 days argument
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
211
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
212 * the format method for periods, intervals and duration now accurately
213 displays objects of length 0.
123d4db @garrettgman Updated NEWS for 1.2.0
garrettgman authored
214
215
216
217
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
218 Version 1.1.0
219 -------------------------------------------------------------------------
220 DEVELOPMENT
221
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
222 * lubridate no longer overwrites base R methods for +, - , *, /, %%, and %/%.
223 To recreate the previous experience of subtracting two date times to create an
224 interval, we've added the interval creation function %--%.
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
225
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
226 * lubridate has moved to an S4 object system. Timespans, Intervals, Durations,
227 and Periods have each been redefined as an S4 class with its own methods.
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
228
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
229 * arithmetic operations will no longer perform implicit class changes between
230 timespans. Users must explicitly state how and when they wish class changes to
231 occur with as.period(), as.duration(), and as.interval(). This makes code
232 written with lubridate more robust, as such implicit changes often did not
233 produce consistent behavior across a variety of operations. It also allows
234 lubridate to be less chatty with fewer console messages. lubridate does not
235 need to explain what it is doing, because it no longer attempts to do things
236 whose outcome would not be clear. On the other hand, arithmetic between
237 multiple time classes will produce informative error messages.
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
238
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
239 * the internal structure of lubridate R code has been reorganized at
240 https://github.com/hadley/lubridate to make lubridate more development friendly.
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
241
242
243 NEW FEATURES
244
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
245 * intervals are now more useful and lubridate has more ways to manipulate them.
246 Intervals can be created with %--%; modified with int_shift(), int_flip(), and
247 int_standardize(); manipulated with intersect(), union(), and setdiff(); and
248 used in logical tests with int_aligns(), int_overlaps(), and %within%.
249 lubridate will no longer perform arithmetic between two intervals because the
250 correct results of such operations is no more obvious than the correct result
251 of adding two dates. Instead users are encouraged to use the new set
252 operations or to directly modify intervals with int_start() and int_end(),
253 which can also be used as settors. lubridate now supports negative intervals
254 as well as positive intervals. Intervals also now display with a time zone.
255
256 * Modulo methods for timespans have been changed to return a timespan. this
257 allows modulo methods to be used with integer division in an intuitive manner,
258 e.g.
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
259
260 a = a %/% b * b + a %% b
261
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
262 Users can still acheive a numerical result by using as.numeric() on input
263 before performing modulo.
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
264
265 * Periods, durations, and intervals can now all be put into a data frame.
266
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
267 * Periods, durations, and intervals can be intuitively subset with $ and [].
268 These operations also can be used as settors with <-.
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
269
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
270 * The parsing functions and the as.period method for intervals are now
271 slightly faster.
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
272
078e9ca @garrettgman Added to news and updated examples
garrettgman authored
273 * month<- and wday<- settors accept names as well as numbers
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
274
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
275 * parsing functions now have a quiet argument to parse without messages and a
276 tz argument to directly parse times into the desired time zone.
078e9ca @garrettgman Added to news and updated examples
garrettgman authored
277
278 * logical comparison methods now work for period objects.
98339f8 @garrettgman Updated the NEWS file to reflect changes in the S4 version
garrettgman authored
279
f5eb392 @hadley Version bump
authored
280 Version 0.2.6
281 -------------------------------------------------------------------------
282
5f9fe05 @hadley Update testing harness
authored
283 * use `test_package` to avoid incompatibility with current version of
284 `testthat`
f5eb392 @hadley Version bump
authored
285
286 * other minor fixes to pass `R CMD check`
5f9fe05 @hadley Update testing harness
authored
287
395a3a2 @garrettgman updating NEWS file
garrettgman authored
288 Version 0.2.5
289 -------------------------------------------------------------------------
290
291 * added ymdThms() for parsing ISO 8061 formatted combned dates and times
292
293 BUG FIXES
294
295 * removed bug in parsing dates with "T" in them
296
297 * modified as.period.interval() to display periods in positive units
298
4b9af1b @hadley Add JSS citation
authored
299 Version 0.2.4
300 -------------------------------------------------------------------------
301
302 * Add citations to JSS article
303
ad496bb @garrettgman updated version number and described updates
garrettgman authored
304 Version 0.2.3
305 -------------------------------------------------------------------------
306 NEW FEATURES
307
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
308 * ymd_hms(), hms(), and ms() functions can now parse dates that include
309 decimal values in the seconds element.
ad496bb @garrettgman updated version number and described updates
garrettgman authored
310
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
311 * milliseconds(), microseconds(), nanoseconds(), and picoseconds() create
312 period objects of the specified lengths. dmilliseconds(), dmicroseconds(),
313 dnanoseconds(), and dpicoseconds() make duration objects of the specified
314 lengths.
ad496bb @garrettgman updated version number and described updates
garrettgman authored
315
316
317 BUG FIXES
318
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
319 * lubridate no longer overwrites months(), start(), and end() from base R.
320 Start and end have been replaced with int_start() and int_end().
ad496bb @garrettgman updated version number and described updates
garrettgman authored
321
322 * lubridate imports plyr and stringr packages, instead of depending on them.
323
324 Version 0.2.2
325 -------------------------------------------------------------------------
326 NEW FEATURES
327
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
328 * made division, modulo, and integer division operations compatible with
329 difftimes
ad496bb @garrettgman updated version number and described updates
garrettgman authored
330
331 * created c() methods for periods and durations
332
333
334 BUG FIXES
335
336 * fixed bug in division, modulo, and integer operations with timespans
337
338
0ec2121 @garrettgman created more ymd_hms() type parsing functions for different orders or…
garrettgman authored
339 Version 0.2.1
340 -------------------------------------------------------------------------
341
342 NEW FEATURES
343
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
344 * created parsing functions ymd_hm ymd_h dmy_hms dmy_hm dmy_h mdy_hms mdy_hm
345 mdy_h ydm_hms ydm_hm ydm_h, which operate in the same way as ymd_hms().
0ec2121 @garrettgman created more ymd_hms() type parsing functions for different orders or…
garrettgman authored
346
347 BUG FIXES
348
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
349 * fixed bug in add_dates(). duration objects can now be successfully added to
350 numeric objects.
0ec2121 @garrettgman created more ymd_hms() type parsing functions for different orders or…
garrettgman authored
351
352
5f2d1e1 @garrettgman wrote NEWS file
garrettgman authored
353 Version 0.2
354 -------------------------------------------------------------------------
355
356 NEW FEATURES
357
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
358 * division between timespans: each timespan class (durations, periods,
359 intervals) can be divided by other timespans. For example, how many weeks are
360 there between Halloween and Christmas?: (christmas - halloween) / weeks(1)
5f2d1e1 @garrettgman wrote NEWS file
garrettgman authored
361
362 * modulo operations between timespans
363
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
364 * duration objects now have their own class and display format separate from
365 difftimes
5f2d1e1 @garrettgman wrote NEWS file
garrettgman authored
366
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
367 * interval objects now use an improved data structure and have a cleaner
368 display format
5f2d1e1 @garrettgman wrote NEWS file
garrettgman authored
369
370 * lubridate now loads its own namespace
371
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
372 * math operations now automatically coerce interval objects to duration objects.
373 Allows intervals to be used "right out of the box" without error messages.
5f2d1e1 @garrettgman wrote NEWS file
garrettgman authored
374
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
375 * created start() and end() functions for accessing and changing the boundary
376 date-times of an interval
5f2d1e1 @garrettgman wrote NEWS file
garrettgman authored
377
378
379 * rep() methods for periods, intervals, and durations
380
381
382
383 MINOR CHANGES
384
385 * added a package help page with functions listed by purpose
386
19d4a64 @garrettgman Hard wrapped NEWS file to 80 characters
garrettgman authored
387 * eseconds(), eminutes(), etc. are aliased to dseconds(), dminutes(), etc. to
388 make it easier to remember they are duration objects.
5f2d1e1 @garrettgman wrote NEWS file
garrettgman authored
389
390 * changed leap.years() to leap_years() to maintain consistent naming scheme
391
392
393
394 BUG FIXES
395
396 * rewrote as.period() to create only positive periods.
397
398 * fixed rollover bug in update.POSIXct()
399
400 * edited make_diff() to display in days when approporiate, not weeks
Something went wrong with that request. Please try again.