https://github.com/hadley/dplyr
Branch name Release name Target Message Date
refs/tags/v0.7.8 v0.7.8 ebdf223 /dev/stdin 10 November 2018, 09:16:20 UTC
refs/tags/v0.7.6 v0.7.6 89e111f dplyr 0.7.6 * `exprs()` is no longer exported to avoid conflicts with `Biobase::exprs()` (#3638). * The MASS package is explicitly suggested to fix CRAN warnings on R-devel (#3657). * Set operations like `intersect()` and `setdiff()` reconstruct groups metadata (#3587). * Using namespaced calls to `base::sort()` and `base::unique()` from C++ code to avoid ambiguities when these functions are overridden (#3644). * Fix rchk errors (#3693). 30 June 2018, 06:36:33 UTC
refs/tags/v0.7.5 v0.7.5 e47f9c9 dplyr 0.7.5 ## Breaking changes for package developers * The major change in this version is that dplyr now depends on the selecting backend of the tidyselect package. If you have been linking to `dplyr::select_helpers` documentation topic, you should update the link to point to `tidyselect::select_helpers`. * Another change that causes warnings in packages is that dplyr now exports the `exprs()` function. This causes a collision with `Biobase::exprs()`. Either import functions from dplyr selectively rather than in bulk, or do not import `Biobase::exprs()` and refer to it with a namespace qualifier. ## Bug fixes * Reindexing grouped data frames never updates the `"class"` attribute. This also avoids unintended updates to the original object (#3438). * `do()` operations with more than one named argument can access `.` (#2998). * Summaries of summaries (such as `summarise(b = sum(a), c = sum(b))`) are now computed using standard evaluation for simplicity and correctness, but slightly slower (#3233). * Fixed rare column name clash in joins with non-join columns of the same name in both tables (#3266). * Fix `summarise()` for empty data frames with zero columns (#3071). * Fix `row_number()` and `ntile()` ordering to use the locale-dependent ordering functions in R when dealing with character vectors, rather than always using the C-locale ordering function in C (#2792, @foo-bar-baz-qux). * `distinct(data, "string")` now returns a one-row data frame again. (The previous behavior was to return the data unchanged.) ## Changes * `sym()`, `syms()`, `expr()`, `exprs()` and `enexpr()` are now exported. `sym()` and `syms()` construct symbols from strings or character vectors. The `expr()` variants are equivalent to `quo()`, `quos()` and `enquo()` but return simple expressions rather than quosures. They support quasiquotation. * dplyr now depends on the new tidyselect package to power `select()`, `rename()`, `pull()` and their variants (#2896). Consequently `select_vars()`, `select_var()` and `rename_vars()` are soft-deprecated and will start issuing warnings in a future version. Following the switch to tidyselect, `select()` and `rename()` fully support character vectors. You can now unquote variables like this: ``` vars <- c("disp", "cyl") select(mtcars, !! vars) select(mtcars, -(!! vars)) ``` Note that this only works in selecting functions because in other contexts strings and character vectors are ambiguous. For instance strings are a valid input in mutating operations and `mutate(df, "foo")` creates a new column by recycling "foo" to the number of rows. * Support for raw vector columns in `mutate`, `summarise`, `arrange`, `group_by` and joins (minimal `raw` x `raw` support initially) (#1803). * Hybrid evaluation simplifies `dplyr::foo` to `foo` (#3309). Hybrid functions can now be masked by regular R functions to turn off hybrid evaluation (#3255). The hybrid evaluator finds functions from dplyr even if dplyr is not attached (#3456). * Scoped select and rename functions (`select_all()`, `rename_if()` etc.) now work with grouped data frames, adapting the grouping as necessary (#2947, #3410). `group_by_at` can group by an existing grouping variable (#3351). `arrange_at` can use grouping variables (#3332). * `row_number()` works on empty subsets (#3454). * `bind_cols()` handles unnamed list (#3402). * `select()` and `vars()` now treat `NULL` as empty inputs (#3023). * Support `!!!` in `recode_factor()` (#3390). * `distinct()` now supports renaming columns (#3234). * It is now illegal to use `data.frame` in the rhs of `mutate()` (#3298). * `combine()` returns `logical()` when all inputs are `NULL` (or when there are no inputs) (#3365, @zeehio). * `bind_rows()` works around corrupt columns that have the object bit set while having no class attribute (#3349). * `slice()` no longer enforce tibble classes when input is a simple `data.frame`, and ignores 0 (#3297, #3313). * `transmute()` no longer prints a message when including a group variable. ## Documentation * Improved documentation for set operations (#3238, @edublancas). * Improved documentation for `funs()` (#3094). ## Error messages * Dedicated error message when trying to use columns of the `Interval` or `Period` classes (#2568). * Show clear error message for bad arguments to `funs()` (#3368). * Add warning with explanation to `distinct()` if any of the selected columns are of type `list` (#3088, @foo-bar-baz-qux). * Better error message if dbplyr is not installed when accessing database backends (#3225). * Corrected error message when calling `cbind()` with an object of wrong length (#3085). * Better error message when joining data frames with duplicate or `NA` column names. Joining such data frames with a semi- or anti-join now gives a warning, which may be converted to an error in future versions (#3243, #3417). * `distinct()` now gives a warning when used on unknown columns (#2867, @foo-bar-baz-qux). * `arrange()` fails gracefully on `data.frame` columns (#3153). * Added an `.onDetach()` hook that allows for plyr to be loaded and attached without the warning message that says functions in dplyr will be masked, since dplyr is no longer attached (#3359, @jwnorman). ## Performance * `sample_n()` and `sample_frac()` on grouped data frame are now faster especially for those with large number of groups (#3193, @saurfang). ## Internal * Compute variable names for joins in R (#3430). * Bumped Rcpp dependency to 0.12.15 to avoid imperfect detection of `NA` values in hybrid evaluation fixed in RcppCore/Rcpp#790 (#2919). * Avoid cleaning the data mask, a temporary environment used to evaluate expressions. If the environment, in which e.g. a `mutate()` expression is evaluated, is preserved until after the operation, accessing variables from that environment now gives a warning but still returns `NULL` (#3318). 21 May 2018, 19:19:47 UTC
refs/tags/v0.7.4.9005 v0.7.4.9005 97fb286 dplyr 0.7.4.9005 ## Breaking changes for package developers * The major change in this version is that dplyr now depends on the selecting backend of the tidyselect package. If you have been linking to `dplyr::select_helpers` documentation topic, you should update the link to point to `tidyselect::select_helpers`. * Another change that causes warnings in packages is that dplyr now exports the `exprs()` function. This causes a collision with `Biobase::exprs()`. Either import functions from dplyr selectively rather than in bulk, or do not import `Biobase::exprs()` and refer to it with a namespace qualifier. ## Bug fixes * Reindexing grouped data frames never updates the `"class"` attribute. This also avoids unintended updates to the original object (#3438). * `do()` operations with more than one named argument can access `.` (#2998). * Summaries of summaries (such as `summarise(b = sum(a), c = sum(b))`) are now computed using standard evaluation for simplicity and correctness, but slightly slower (#3233). * Fixed rare column name clash in joins with non-join columns of the same name in both tables (#3266). * Fix `summarise()` for empty data frames with zero columns (#3071). * Fix `row_number()` and `ntile()` ordering to use the locale-dependent ordering functions in R when dealing with character vectors, rather than always using the C-locale ordering function in C (#2792, @foo-bar-baz-qux). ## Changes * `sym()`, `syms()`, `expr()`, `exprs()` and `enexpr()` are now exported. `sym()` and `syms()` construct symbols from strings or character vectors. The `expr()` variants are equivalent to `quo()`, `quos()` and `enquo()` but return simple expressions rather than quosures. They support quasiquotation. * dplyr now depends on the new tidyselect package to power `select()`, `rename()`, `pull()` and their variants (#2896). Consequently `select_vars()`, `select_var()` and `rename_vars()` are soft-deprecated and will start issuing warnings in a future version. Following the switch to tidyselect, `select()` and `rename()` fully support character vectors. You can now unquote variables like this: ``` vars <- c("disp", "cyl") select(mtcars, !! vars) select(mtcars, -(!! vars)) ``` Note that this only works in selecting functions because in other contexts strings and character vectors are ambiguous. For instance strings are a valid input in mutating operations and `mutate(df, "foo")` creates a new column by recycling "foo" to the number of rows. * Support for raw vector columns in `mutate`, `summarise`, `arrange`, `group_by` and joins (minimal `raw` x `raw` support initially) (#1803). * Hybrid evaluation simplifies `dplyr::foo` to `foo` (#3309). Hybrid functions can now be masked by regular R functions to turn off hybrid evaluation (#3255). The hybrid evaluator finds functions from dplyr even if dplyr is not attached (#3456). * Scoped select and rename functions (`select_all()`, `rename_if()` etc.) now work with grouped data frames, adapting the grouping as necessary (#2947, #3410). `group_by_at` can group by an existing grouping variable (#3351). `arrange_at` can use grouping variables (#3332). * `row_number()` works on empty subsets (#3454). * `bind_cols()` handles unnamed list (#3402). * `select()` and `vars()` now treat `NULL` as empty inputs (#3023). * Support `!!!` in `recode_factor()` (#3390). * `distinct()` now supports renaming columns (#3234). * It is now illegal to use `data.frame` in the rhs of `mutate()` (#3298). * `combine()` returns `logical()` when all inputs are `NULL` (or when there are no inputs) (#3365, @zeehio). * `bind_rows()` works around corrupt columns that have the object bit set while having no class attribute (#3349). * `slice()` no longer enforce tibble classes when input is a simple `data.frame`, and ignores 0 (#3297, #3313). ## Documentation * Improved documentation for set operations (#3238, @edublancas). * Improved documentation for `funs()` (#3094). ## Error messages * Dedicated error message when trying to use columns of the `Interval` or `Period` classes (#2568). * Show clear error message for bad arguments to `funs()` (#3368). * Add warning with explanation to `distinct()` if any of the selected columns are of type `list` (#3088, @foo-bar-baz-qux). * Better error message if dbplyr is not installed when accessing database backends (#3225). * Corrected error message when calling `cbind()` with an object of wrong length (#3085). * Better error message when joining data frames with duplicate or `NA` column names. Joining such data frames with a semi- or anti-join now gives a warning, which may be converted to an error in future versions (#3243, #3417). * `distinct()` now gives a warning when used on unknown columns (#2867, @foo-bar-baz-qux). * `arrange()` fails gracefully on `data.frame` columns (#3153). * Added an `.onDetach()` hook that allows for plyr to be loaded and attached without the warning message that says functions in dplyr will be masked, since dplyr is no longer attached (#3359, @jwnorman). ## Performance * `sample_n()` and `sample_frac()` on grouped data frame are now faster especially for those with large number of groups (#3193, @saurfang). ## Internal * Compute variable names for joins in R (#3430). * Bumped Rcpp dependency to 0.12.15 to avoid imperfect detection of `NA` values in hybrid evaluation fixed in RcppCore/Rcpp#790 (#2919). * Avoid cleaning the data mask, a temporary environment used to evaluate expressions. If the environment, in which e.g. a `mutate()` expression is evaluated, is preserved until after the operation, accessing variables from that environment now gives a warning but still returns `NULL` (#3318). 12 April 2018, 23:36:59 UTC
refs/tags/v0.7.4.9004 v0.7.4.9004 be21805 dplyr 0.7.4.9004 * The hybrid evaluator finds functions from dplyr even if dplyr is not attached (#3456). * Dedicated error message when trying to use columns of the `Interval` or `Period` classes (#2568). * Improved documentation for set operations (#3238, @edublancas). 10 April 2018, 01:48:37 UTC
refs/tags/v0.7.4.9003 v0.7.4.9003 d1016a3 dplyr 0.7.4.9003 * `row_number()` works on empty subsets (#3454). * Support `!!!` in `recode_factor()` (#3390). * Specify `[`-type base subsetting in filter docs. * Hybrid functions can now be masked by regular R functions to turn off hybrid evaluation (#3255). * Reindexing grouped data frames never updates the `"class"` attribute. This also avoids unintended updates to the original object (#3438). * Avoid cleaning the data mask, a temporary environment used to evaluate expressions. If the environment, in which e.g. a `mutate()` expression is evaluated, is preserved until after the operation, accessing variables from that environment now gives a warning but still returns `NULL` (#3318). * `do()` operations with more than one named argument can access `.` (#2998). * Improve column name compatibility for `mutate_each()` and `summarize_each()` with dplyr 0.5.0 and earlier in an edge case (#3020). 29 March 2018, 21:44:04 UTC
refs/tags/v0.7.4.9002 v0.7.4.9002 4a944a8 * Show clear error message for bad arguments to `funs()` (#3368). * Improved documentation for `funs()` (#3094). * Compute variable names for joins in R (#3430). * Hybrid evaluation simplifies `dplyr::foo` to `foo` (#3309) * `bind_cols()` handles unnamed list (#3402). 16 March 2018, 21:43:33 UTC
refs/tags/v0.7.4.9001 v0.7.4.9001 8a18247 * `slice()` no longer enforce tibble classes when input is a simple `data.frame`, and ignores 0 (#3297, #3313). 13 March 2018, 20:12:36 UTC
refs/tags/v0.2 v0.2 f0a55d6 - Functions related to `tbl` and `src` stay in `dplyr` (#26). Remove unused `make_tbl()`. - Non-scalar input to `frame_data()` and `tibble()` (including lists) creates list-valued columns (#7). - Use C++ implementation for `as_data_frame.matrix()` (#14). Also add former `matrixToDataFrame()` tests, and fix unwanted conversion to factor. - `as_data_frame(NULL)` is 0-row 0-column data frame (#17, @jennybc). `frame_data()` and `tibble()` create empty `data_frame` if no rows are given (#20). - `data_frame(NULL)` raises error "must be a 1d atomic vector or list". - `lst(NULL)` doesn't raise an error anymore (#17, @jennybc), but always uses deparsed expression as name (even for `NULL`). - `trunc_mat()` and `print()` use `width` argument also for zero-row and zero-column data frames (#18). - `glimpse()` now (invisibly) returns `x`, so it can be used within a chain of `dplyr` verbs (@edwindj). - `base::getElement()` now works with tibbles (#9). - Remove spurious usage of "dplyr" in documentation (#3). - Almost full test coverage. 02 March 2016, 12:41:47 UTC
refs/tags/v0.1.2-cran-rc v0.1.2-cran-rc c105a01 Cran RC 21 February 2014, 20:57:13 UTC
refs/tags/v0.1-6 v0.1-6 ed5ccb8 - `frame_data()` forces list-mode columns if length-one lists are given as input. - Add tests for `matrixToDataFrame()`. - `glimpse()` now (invisibly) returns `x`, so it can be used within a chain of `dplyr` verbs (@edwindj). 02 March 2016, 11:33:56 UTC
refs/tags/v0.1-5 v0.1-5 b6a8cbf - Functions related to `tbl` and `src` stay in `dplyr` (#26). - `data_frame(NULL)` raises error "must be a 1d atomic vector or list". 01 March 2016, 07:38:00 UTC
refs/tags/v0.1-4 v0.1-4 681a3b3 - Non-scalar input to `frame_data()` and `tibble()` creates list-valued columns (#7). - `frame_data()` and `tibble()` create empty `data_frame` if no rows are given (#20). - `as_data_frame(NULL)` is 0-row 0-column data frame (#17, @jennybc). - `lst(NULL)` doesn't raise an error anymore (#17, @jennybc), but always uses deparsed expression as name (even for `NULL`). - `trunc_mat()` and `print()` use `width` argument also for zero-row and zero-column data frames (#18). 07 January 2016, 09:45:38 UTC
refs/tags/v0.1-3 v0.1-3 a987a10 - Use C++ implementation for `as_data_frame.matrix()` (#14) - `as_data_frame(NULL)` returns `NULL` (#16, @jennybc) 05 January 2016, 09:43:38 UTC
refs/tags/v0.1-2 v0.1-2 865ec07 - Add former `matrixToDataFrame()` tests, and fix unwanted conversion to factor. - `base::getElement()` now works with tibbles (#9). 30 December 2015, 21:21:10 UTC
refs/tags/v0.1-1 v0.1-1 6777a97 - Remove spurious usage of "dplyr" in documentation (#3). - Remove unused `make_tbl()`. - Almost full test coverage. 30 December 2015, 21:06:42 UTC
back to top