{"ecosystem":"cran","package":"tidyr","from_version":null,"to_version":null,"changes":[{"from_version":"v1.2.1","to_version":"v1.3.0","change_type":"breaking","description":"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","migration_hint":null},{"from_version":"v0.8.3","to_version":"v1.0.0","change_type":"breaking","description":"`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 ```","migration_hint":null},{"from_version":"v0.8.3","to_version":"v1.0.0","change_type":"breaking","description":"`nest()` now preserves grouping, which has implications for downstream calls to group-aware functions, such as `dplyr::mutate()` and `filter()`.","migration_hint":null},{"from_version":"v0.8.3","to_version":"v1.0.0","change_type":"breaking","description":"The first argument of `nest()` has changed from `data` to `.data`.","migration_hint":null},{"from_version":"v0.8.3","to_version":"v1.0.0","change_type":"breaking","description":"`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.","migration_hint":null},{"from_version":"v0.8.3","to_version":"v1.0.0","change_type":"breaking","description":"`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","migration_hint":null},{"from_version":"v0.7.2","to_version":"v0.8.0","change_type":"breaking","description":"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.","migration_hint":null},{"from_version":"v0.7.2","to_version":"v0.8.0","change_type":"breaking","description":"`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\"`","migration_hint":null},{"from_version":"0.6.3","to_version":"v0.7.0","change_type":"breaking","description":"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","migration_hint":null},{"from_version":"0.6.3","to_version":"v0.7.0","change_type":"breaking","description":"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())`.","migration_hint":null},{"from_version":"0.6.3","to_version":"v0.7.0","change_type":"breaking","description":"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.","migration_hint":null}],"total":11,"note":"Curated major-version breaking changes. Always verify against the package's official changelog before migrating.","_cache":"hit"}