Skip to content

Commit

Permalink
(math/R-vctrs) Update 0.3.8 to 0.4.1
Browse files Browse the repository at this point in the history
# vctrs 0.4.1

* OOB errors with `character()` indexes use "that don't exist" instead
  of "past the end" (#1543).

* Fixed memory protection issues related to common type
  determination (#1551, tidyverse/tidyr#1348).


# vctrs 0.4.0

* New experimental `vec_locate_sorted_groups()` for returning the locations of
  groups in sorted order. This is equivalent to, but faster than, calling
  `vec_group_loc()` and then sorting by the `key` column of the result.

* New experimental `vec_locate_matches()` for locating where each observation
  in one vector matches one or more observations in another vector. It is
  similar to `vec_match()`, but returns all matches by default (rather than just
  the first), and can match on binary conditions other than equality. The
  algorithm is inspired by data.table's very fast binary merge procedure.

* The `vec_proxy_equal()`, `vec_proxy_compare()`, and `vec_proxy_order()`
  methods for `vctrs_rcrd` are now applied recursively over the fields (#1503).

* Lossy cast errors now inherit from incompatible type errors.

* `vec_is_list()` now returns `TRUE` for `AsIs` lists (#1463).

* `vec_assert()`, `vec_ptype2()`, `vec_cast()`, and `vec_as_location()`
  now use `caller_arg()` to infer a default `arg` value from the
  caller.

  This may result in unhelpful arguments being mentioned in error
  messages. In general, you should consider snapshotting vctrs error
  messages thrown in your package and supply `arg` and `call`
  arguments if the error context is not adequately reported to your
  users.

* `vec_ptype_common()`, `vec_cast_common()`, `vec_size_common()`, and
  `vec_recycle_common()` gain `call` and `arg` arguments for
  specifying an error context.

* `vec_compare()` can now compare zero column data frames (#1500).

* `new_data_frame()` now errors on negative and missing `n` values (#1477).

* `vec_order()` now correctly orders zero column data frames (#1499).

* vctrs now depends on cli to help with error message generation.

* New `vec_check_list()` and `list_check_all_vectors()` input
  checkers, and an accompanying `list_all_vectors()` predicate.

* New `vec_interleave()` for combining multiple vectors together, interleaving
  their elements in the process (#1396).

* `vec_equal_na(NULL)` now returns `logical(0)` rather than erroring (#1494).

* `vec_as_location(missing = "error")` now fails with `NA` and `NA_character_`
  in addition to `NA_integer_` (#1420, @krlmlr).

* Starting with rlang 1.0.0, errors are displayed with the contextual
  function call. Several vctrs operations gain a `call` argument that
  makes it possible to report the correct context in error messages.
  This concerns:

  - `vec_cast()` and `vec_ptype2()`
  - `vec_default_cast()` and `vec_default_ptype2()`
  - `vec_assert()`
  - `vec_as_names()`
  - `stop_` constructors like `stop_incompatible_type()`

  Note that default `vec_cast()` and `vec_ptype2()` methods
  automatically support this if they pass `...` to the corresponding
  `vec_default_` functions. If you throw a non-internal error from a
  non-default method, add a `call = caller_env()` argument in the
  method and pass it to `rlang::abort()`.

* If `NA_character_` is specified as a name for `vctrs_vctr` objects, it is
  now automatically repaired to `""` (#780).

* `""` is now an allowed name for `vctrs_vctr` objects and all its
  subclasses (`vctrs_list_of` in particular) (#780).

* `list_of()` is now much faster when many values are provided.

* `vec_as_location()` evaluates `arg` only in case of error, for performance
  (#1150, @krlmlr).

* `levels.vctrs_vctr()` now returns `NULL` instead of failing (#1186, @krlmlr).

* `vec_assert()` produces a more informative error when `size` is invalid
  (#1470).

* `vec_duplicate_detect()` is a bit faster when there are many unique values.

* `vec_proxy_order()` is described in `vignette("s3-vectors")` (#1373, @krlmlr).

* `vec_chop()` now materializes ALTREP vectors before chopping, which is more
  efficient than creating many small ALTREP pieces (#1450).

* New `list_drop_empty()` for removing empty elements from a list (#1395).

* `list_sizes()` now propagates the names of the list onto the result.

* Name repair messages are now signaled by `rlang::names_inform_repair()`. This
  means that the messages are now sent to stdout by default rather than to
  stderr, resulting in prettier messages. Additionally, name repair messages can
  now be silenced through the global option `rlib_name_repair_verbosity`, which
  is useful for testing purposes. See `?names_inform_repair` for more
  information (#1429).

* `vctrs_vctr` methods for `na.omit()`, `na.exclude()`, and `na.fail()` have
  been added (#1413).

* `vec_init()` is now slightly faster (#1423).

* `vec_set_names()` no longer corrupts `vctrs_rcrd` types (#1419).

* `vec_detect_complete()` now computes completeness for `vctrs_rcrd` types in
  the same way as data frames, which means that if any field is missing, the
  entire record is considered incomplete (#1386).

* The `na_value` argument of `vec_order()` and `vec_sort()` now correctly
  respect missing values in lists (#1401).

* `vec_rep()` and `vec_rep_each()` are much faster for `times = 0` and
  `times = 1` (@mgirlich, #1392).

* `vec_equal_na()` and `vec_fill_missing()` now work with integer64 vectors
  (#1304).

* The `xtfrm()` method for vctrs_vctr objects no longer accidentally breaks
  ties (#1354).

* `min()`, `max()` and `range()` no longer throw an error if `na.rm = TRUE` is
  set and all values are `NA` (@gorcha, #1357). In this case, and where an empty
  input is given, it will return `Inf`/`-Inf`, or `NA` if `Inf` can't be cast
  to the input type.

* `vec_group_loc()`, used for grouping in dplyr, now correctly handles
  vectors with billions of elements (up to `.Machine$integer.max`) (#1133).
  • Loading branch information
mef committed May 5, 2022
1 parent 4c72745 commit 7214d89
Show file tree
Hide file tree
Showing 2 changed files with 19 additions and 17 deletions.
28 changes: 15 additions & 13 deletions math/R-vctrs/Makefile
Original file line number Diff line number Diff line change
@@ -1,31 +1,33 @@
# $NetBSD: Makefile,v 1.4 2021/05/30 13:18:59 mef Exp $
# $NetBSD: Makefile,v 1.5 2022/05/05 02:09:10 mef Exp $

R_PKGNAME= vctrs
R_PKGVER= 0.3.8
R_PKGVER= 0.4.1

MAINTAINER= pkgsrc-users@NetBSD.org
COMMENT= Vector helpers
LICENSE= gnu-gpl-v3

DEPENDS+= R-glue>=1.4.1:../../devel/R-glue
DEPENDS+= R-rlang>=0.4.10:../../devel/R-rlang
DEPENDS+= R-backports>=1.1.4:../../math/R-backports
DEPENDS+= R-cli-[0-9]*:../../devel/R-cli
DEPENDS+= R-digest>=0.6.25:../../security/R-digest
DEPENDS+= R-ellipsis>=0.2.0:../../math/R-ellipsis
DEPENDS+= R-glue>=1.4.1:../../devel/R-glue
DEPENDS+= R-rlang>=0.4.10:../../devel/R-rlang
DEPENDS+= R-zeallot>=0.1.0:../../math/R-zeallot
DEPENDS+= R-digest>=0.6.25:../../security/R-digest

#Packages suggested but not available: 'pkgdown', 'rmarkdown', 'xml2'
TEST_DEPENDS+= R-testthat-[0-9]*:../../devel/R-testthat
#Packages suggested but not available: 'pkgdown'
TEST_DEPENDS+= R-bit64-[0-9]*:../../devel/R-bit64
TEST_DEPENDS+= R-covr-[0-9]*:../../devel/R-covr
TEST_DEPENDS+= R-dplyr-[0-9]*:../../math/R-dplyr
TEST_DEPENDS+= R-generics-[0-9]*:../../math/R-generics
TEST_DEPENDS+= R-knitr-[0-9]*:../../print/R-knitr
TEST_DEPENDS+= R-markdown-[0-9]*:../../textproc/R-markdown
TEST_DEPENDS+= R-rmarkdown-[0-9]*:../../textproc/R-rmarkdown
#EST_DEPENDS+= R-pkgdown-[0-9]*:../../devel/R-pkgdown
TEST_DEPENDS+= R-knitr-[0-9]*:../../print/R-knitr
TEST_DEPENDS+= R-generics-[0-9]*:../../math/R-generics
TEST_DEPENDS+= R-dplyr-[0-9]*:../../math/R-dplyr
TEST_DEPENDS+= R-bit64-[0-9]*:../../devel/R-bit64
TEST_DEPENDS+= R-rmarkdown-[0-9]*:../../textproc/R-rmarkdown
TEST_DEPENDS+= R-testthat-[0-9]*:../../devel/R-testthat
TEST_DEPENDS+= R-xml2-[0-9]*:../../textproc/R-xml2

USE_LANGUAGES= c
USE_LANGUAGES= c c++

.include "../../math/R/Makefile.extension"
.include "../../mk/bsd.pkg.mk"
8 changes: 4 additions & 4 deletions math/R-vctrs/distinfo
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
$NetBSD: distinfo,v 1.5 2021/10/26 10:55:34 nia Exp $
$NetBSD: distinfo,v 1.6 2022/05/05 02:09:10 mef Exp $

BLAKE2s (R/vctrs_0.3.8.tar.gz) = e5fe67785e1a52a0538d802d7ab419efd7c7fb5ea5395090631b13c0b3d60dd1
SHA512 (R/vctrs_0.3.8.tar.gz) = f5162fa4641779fc7cd0f77efb1d83efc01af0ba13d910337531980e2fa93abe6ce03f23a9a51db4f506faf716cc3fac820b91abac3e3282bc9cb73038fc5787
Size (R/vctrs_0.3.8.tar.gz) = 782608 bytes
BLAKE2s (R/vctrs_0.4.1.tar.gz) = 18e00a3a10ac4089d68a89c212acb96e3e7c3fe6cd1d5c73c607258b668c042d
SHA512 (R/vctrs_0.4.1.tar.gz) = 3b135106ac641774a08840f0487546d12ffba660ddc3c2ee3d3197e941bcab1c2b165d7babd8d31b60f954d4966352029776de77aa22f7e2f25f5e33f4024bc5
Size (R/vctrs_0.4.1.tar.gz) = 916782 bytes

0 comments on commit 7214d89

Please sign in to comment.