← Back to all sparks
L

lubridate

ANALYTICS
Velocity0.0

Makes working with dates and date-times in R straightforward and consistent

lubridate ships parsing fixes, timezone-data churn, and a long-overdue MIT relicense.

rdate-timeparsingtimezonesmaintenance
Current state
lubridate is R's standard package for date-time manipulation. Recent releases are dominated by parsing correctness — partial datetimes, multiple format strings, month names colliding with the %a format — and by adapting to timezone database changes in R-devel. Version 1.9.5 also relicensed the package to MIT.
Where it's heading
The feature surface has been stable since 1.9.0 deprecated the roll argument for roll_dst and added integer coercion for Duration, Period and Interval. What continues is a steady stream of parsing edge cases and tzdata churn the package absorbs on its users' behalf, which is most of what a date-time library's maintenance actually is.
Prediction
Expect further releases driven by tzdata and R-devel changes, with parsing fixes arriving as locale and format edge cases get reported.

Recent moves

  1. 6mo ago

    lubridate 1.9.5 relicenses to MIT and fixes timestamp order

    lubridate moves to an MIT licence, alongside a timestamp ordering fix. The relicense carries no technical weight but removes a licensing consideration for anyone embedding the package in commercial or differently-licensed work.

    View source ↗
  2. 6mo ago

    lubridate 1.9.4 parses partial datetimes like as.POSIXct()

    Drops CET and EST as example timezones to accommodate R-devel's tzdata upgrade, and makes as_datetime() parse partial datetimes the way as.POSIXct() already did. The second closes a genuine inconsistency between two functions users treat as interchangeable.

    View source ↗
  3. 3y ago

    lubridate 1.9.2 fixes month parsing when %a is present

    Fixes incorrect month parsing when the %a format is present, plus adaptation to internal name changes in R-devel. A narrow parsing bug and routine upstream tracking.

    View source ↗
  4. 3y ago

    lubridate 1.9.1 accepts multiple formats in as_datetime()

    as_datetime() accepts multiple formats like as_date() does, and a cluster of parsing regressions is repaired — numeric inputs to parse_date_time, ymd_hm in locales without a defined p format, as_date() with extra characters in the format. Consistency work across the parsing family.

    View source ↗
  5. 3y ago

    lubridate 1.9.0 replaces roll with an explicit roll_dst argument

    The last release to change the API meaningfully: roll is deprecated in favour of roll_dst, making daylight-saving intent explicit, as_date() takes multiple character formats parsed via parse_date_time, and as.integer() methods arrive for Duration, Period and Interval.

    View source ↗
  6. 5y ago

    lubridate 1.7.10 fixes interval division across leap years

    fast_strptime() and parse_date_time2() accept multiple formats and try them in turn, and interval division by months is fixed for cases involving leap years. The leap-year fix is the sort of silent arithmetic error that corrupts results without raising anything.

    View source ↗