{"ecosystem":"cran","package":"purrr","from_version":null,"to_version":null,"changes":[{"from_version":"v1.1.0","to_version":"v1.2.0","change_type":"breaking","description":"All functions and arguments deprecated in purrr 0.3.0 have now been removed. This includes `%@%`, `accumulate_right()`, `at_depth()`, `cross_d()`, `cross_n()`, `reduce2_right()`, and `reduce_right()`.","migration_hint":null},{"from_version":"v1.1.0","to_version":"v1.2.0","change_type":"breaking","description":"All functions that were soft-deprecated in purrr 1.0.0 are now fully deprecated. They will be removed in a future release. This includes: `invoke_*()`, `lift_*()`, `cross*()`, `prepend()`, `splice()`, `rbernoulli()`, `rdunif()`, `when()`, `update_list()`, `*_raw()`, `vec_depth()`.","migration_hint":null},{"from_version":"v1.1.0","to_version":"v1.2.0","change_type":"breaking","description":"`map_chr()` no longer coereces from logical, integer, or double to strings.","migration_hint":null},{"from_version":"v1.1.0","to_version":"v1.2.0","change_type":"breaking","description":"`every()`, `some()`, and `none()` now require that `.p` return logical scalar `TRUE`, `FALSE`, or `NA`. Previously, `NA` was allowed to be a non-logical `NA`, and would be coerced to a logical `NA`.","migration_hint":null},{"from_version":"v0.2.5","to_version":"v0.3.0","change_type":"breaking","description":"`modify()` and variants are now wrapping `[[<-` instead of `[<-`. This change increases the genericity of these functions but might cause different behaviour in some cases. For instance, the `[[<-` for data frames is stricter than the `[<-` method and might throw errors instead of warnings. This is the case when assigning a longer vector than the number of rows. `[<-` truncates the vector with a warning, `[[<-` fails with an error (as is appropriate).","migration_hint":null},{"from_version":"v0.2.5","to_version":"v0.3.0","change_type":"breaking","description":"`modify()` and variants now return the same type as the input when the input is an atomic vector.","migration_hint":null},{"from_version":"v0.2.5","to_version":"v0.3.0","change_type":"breaking","description":"All functionals taking predicate functions (like `keep()`, `detect()`, `some()`) got stricter. Predicate functions must now return a single `TRUE` or `FALSE`. This change is meant to detect problems early with a more meaningful error message.","migration_hint":null},{"from_version":"v0.2.2","to_version":"v0.2.3","change_type":"breaking","description":"If `reduce()` fails with this message: ``` Error: `.x` is empty, and no `.init` supplied ``` this is because `reduce()` now returns `.init` when `.x` is empty. Fix the problem by supplying an appropriate argument to `.init`, or by providing special behaviour when `.x` has length 0.","migration_hint":null},{"from_version":"v0.2.2","to_version":"v0.2.3","change_type":"breaking","description":"The type predicates have been migrated to rlang. Consequently the `bare-type-predicates` documentation topic is no longer in purrr, which might cause a warning if you cross-reference it.","migration_hint":null}],"total":9,"note":"Curated major-version breaking changes. Always verify against the package's official changelog before migrating.","_cache":"hit"}