tidyr breaking changes
cran11 curated breaking changes across major versions of tidyr. Use this as a migration checklist before bumping dependencies.
- v1.2.1 \u2192 v1.3.0breaking
The `...` argument of both `pivot_longer()` and `pivot_wider()` has been moved to the front of the function signature, after the required arguments but before the optional ones. Additionally, `pivot_longer_spec()`, `pivot_wider_spec()`, `build_longer_spec()`, and `build_wider_spec()` have all gained `...` arguments in a similar location. This change allows us to more easily add new features to the pivoting functions without breaking existing CRAN packages and user scripts. `pivot_wider()` provid
- v0.8.3 \u2192 v1.0.0breaking
`nest()` and `unnest()` have new syntax. The majority of existing usage should be automatically translated to the new syntax with a warning. If that doesn't work, put this in your script to use the old versions until you can take a closer look and update your code: ```r library(tidyr) nest <- nest_legacy unnest <- unnest_legacy ```
- v0.8.3 \u2192 v1.0.0breaking
`nest()` now preserves grouping, which has implications for downstream calls to group-aware functions, such as `dplyr::mutate()` and `filter()`.
- v0.8.3 \u2192 v1.0.0breaking
The first argument of `nest()` has changed from `data` to `.data`.
- v0.8.3 \u2192 v1.0.0breaking
`unnest()` uses the [emerging tidyverse standard](https://www.tidyverse.org/articles/2019/01/tibble-2.0.1/#name-repair) to disambiguate unique names. Use `names_repair = tidyr_legacy` to request the previous approach.
- v0.8.3 \u2192 v1.0.0breaking
`unnest_()`/`nest_()` and the lazyeval methods for `unnest()`/`nest()` are now defunct. They have been deprecated for some time, and, since the interface has changed, package authors will need to update to avoid deprecation warnings. I think one clean break should be less work for everyone. All other lazyeval functions have been formally deprecated, and will be made defunct in the next major release. (See [lifecycle vignette](https://lifecycle.r-lib.org/articles/lifecycle.html) for details on de
- v0.7.2 \u2192 v0.8.0breaking
There are no deliberate breaking changes in this release. However, a number of packages are failing with errors related to numbers of elements in columns, and row names. It is possible that these are accidental API changes or new bugs. If you see such an error in your package, I would sincerely appreciate a minimal reprex.
- v0.7.2 \u2192 v0.8.0breaking
`separate()` now correctly uses -1 to refer to the far right position, instead of -2. If you depended on this behaviour, you'll need to switch on `packageVersion("tidyr") > "0.7.2"`
- 0.6.3 \u2192 v0.7.0breaking
If you see error messages about objects or functions not found, it is likely because the selecting functions are now stricter in their arguments An example of selecting function is `gather()` and its `...` argument. This change makes the code more robust by disallowing ambiguous scoping. Consider the following code: ``` x <- 3 df <- tibble(w = 1, x = 2, y = 3) gather(df, "variable", "value", 1:x) ``` Does it select the first three columns (using the `x` defined in the global environment), or doe
- 0.6.3 \u2192 v0.7.0breaking
Following the switch to tidy evaluation, you might see warnings about the "variable context not set". This is most likely caused by supplyng helpers like `everything()` to underscored versions of tidyr verbs. Helpers should be always be evaluated lazily. To fix this, just quote the helper with a formula: `drop_na(df, ~everything())`.
- 0.6.3 \u2192 v0.7.0breaking
The selecting functions are now stricter when you supply integer positions. If you see an error along the lines of ``` `-0.949999999999999`, `-0.940000000000001`, ... must resolve to integer column positions, not a double vector ``` please round the positions before supplying them to tidyr. Double vectors are fine as long as they are rounded.
Get this data programmatically \u2014 free, no authentication.
curl https://depscope.dev/api/breaking/cran/tidyr