← Back to all sparks
T

tsibble

ANALYTICS
Velocity0.0

Tidy temporal data frames and tools for wrangling time series in R

tsibble shipped one release in five and a half years - the data structure is finished

time-seriesdata-structuresvctrstidyvertsstability
Current state
tsibble defines the tidy time-series data structure that fable and feasts are built on. The design churned heavily through 2018 and 2019, settled with the 0.9.0 move onto vctrs in mid-2020, and then went quiet: the next release, 1.2.0, arrived in February 2026 with a summary() method and some tidyselect helpers.
Where it's heading
This is a package that reached its final shape and stopped. The early releases are a rapid sequence of breaking changes to the key and interval metadata, each one warning that previously stored objects are corrupt; once the interval became a formal vctrs record type there was nothing structural left to change. The five-year gap is the trajectory, not a lapse.
Prediction
Expect further releases to be small compatibility and convenience additions at long intervals; with the type system settled and windowing delegated to slider, there is no visible pressure for another breaking change.

Recent moves

  1. 6mo ago

    summary() for time classes; sequential column construction

    The first release in over five years, and it is small by design: a summary() method for time classes, tidyselect helpers for the index and key accessors, and tsibble() building columns sequentially so later columns can reference earlier ones. Convenience on a structure that is no longer moving.

    View source ↗
  2. 6y ago

    Interval becomes a vctrs record type; windowing moves to slider

    ⚡ SPARK

    The release that ended the design churn. Defining the interval as a formal vctrs record type is what made tsibble's types compose with the rest of the tidyverse, and it is the last breaking change the package has made - everything before it is iteration toward this, and the six years after it contain one small release.

    View source ↗
  3. 7y ago

    Lifecycle badges and yearweek string parsing

    Small additions during the pre-1.0 churn: lambda expressions in index_by(), and yearweek() accepting strings written with W or Week. The defunct gather argument continues the long march of renames in this period.

    View source ↗
  4. 7y ago

    Patch fixes for renaming, single-row and duplicate-index cases

    A same-day patch after 0.8.1 fixing four edge cases, including losing the ordered attribute when renaming. Characteristic of how fast this package was moving in 2019.

    View source ↗
  5. 7y ago

    index_by() groups the index; unnest_tsibble() added

    A breaking change to how index_by() treats grouping, plus unnest_tsibble() added specifically to absorb the impact of upcoming tidyr::unnest() changes. Two more renames become defunct - part of the same sustained deprecation run.

    View source ↗
  6. 7y ago

    Metadata overhaul folds regular into interval, ordered into index

    A structural cleanup of the object's own metadata that again invalidates stored objects, and stops re-exporting dplyr and tidyr generics in favor of registering them on load. The interval vocabulary widens to quarters, months and weeks for difftime and to sub-second units for hms.

    View source ↗