pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/math/R-vctrs



Module Name:    pkgsrc
Committed By:   mef
Date:           Tue Jun  9 03:20:36 UTC 2026

Modified Files:
        pkgsrc/math/R-vctrs: Makefile distinfo

Log Message:
(math/R-vctrs) Updated 0.6.5 to 0.7.3

# vctrs 0.7.3

* Experimentally turned `KeepSource: true` on in `DESCRIPTION`.

* Fixed an accidental usage of non-API `PRVALUE()` (#2165).

# vctrs 0.7.2

* `vec_restore()`'s default method now consistently clears
  unrecognized attributes from `x`.

  Previously:

  ```r
  x <- structure(1, foo = "bar")
  to <- 2
  vec_restore(x, to)
  #> structure(1, foo = "bar")

  x <- structure(1, foo = "bar")
  to <- structure(2, a = "b")
  vec_restore(x, to)
  #> structure(1, a = "b")
  ```

  Now both `vec_restore()` calls consistently clear the unrecognized
  `foo` attribute (#2157).

* `vec_equal()` now considers two objects with the same attribute
  names and values equivalent even if the attribute ordering is
  different. This reflects the fact that attributes are generally
  viewed as a map rather than an ordered list (#2156).

* Pairlist tags and attribute names are now incorporated during object
  hashing. In practice this can come up when list elements are hashed
  inside functions like `vec_unique()` (#2154).

  ```r
  # Only difference is the attribute name
  x <- list(
    structure(1, foo = 2),
    structure(1, bar = 2)
  )
  # Used to return `x[1]`, now returns `x`
  vec_unique(x)
  ```

* vctrs is now fully compliant with the R C API.

# vctrs 0.7.1

* Fixed some protection issues discovered by rchk.

# vctrs 0.7.0

## Features

* New `vec_if_else()` for performing a vectorized if-else. It is
  exactly the same as `dplyr::if_else()`, but much faster and more
  memory efficient (#2030).

* New `vec_case_when()` and `vec_replace_when()` for recoding and
  replacing using logical conditions (#2024).

* New `vec_recode_values()` and `vec_replace_values()` for recoding
  and replacing values. In particular, this makes it easy to recode a
  vector using a lookup table (#2027).

* New `list_combine()` for combining a list of vectors together
  according to a set of `indices`. We now recommend using:

  * `list_combine(x, indices = indices, size = size)` over
    `list_unchop(x, indices = indices)`
  * `vec_c(!!!x)` over `list_unchop(x)`

  `list_unchop()` is not being deprecated, we just no longer feel like
  it has the best name or the most correct API, and all future work
  will be put into improving `list_combine()`. `list_combine()` is
  already much more powerful than `list_unchop()`, with new
  `unmatched`, `multiple`, and `slice_x` (like `slice_value` of
  `vec_assign()`) arguments and the ability to provide logical
  `indices`.

  `list_combine()` is the engine that powers `vec_case_when()`,
  `vec_replace_when()`, `vec_recode_values()`, `vec_replace_values()`,
  and parts of `vec_if_else()`.

* New `vec_pany()` and `vec_pall()`, parallel variants of `any()` and
  `all()` (in the same way that `pmin()` and `pmax()` are parallel
  variants of `min()` and `max()`).

* New `list_of_transpose()` for transposing a `<list_of>` (#2059).

* New `list_of_ptype()` and `list_of_size()` accessors.

* New `vec_check_recyclable()`, `list_all_recyclable()`, and `list_check_all_recyclable()`.

* New `slice_value` argument for `vec_assign()` to optionally slice
  `value` by `i` before performing the assignment. It is an optimized
  form of `vec_slice(x, i) <- vec_slice(value, i)` that avoids
  materializing `vec_slice(value, i)` (#2009).

* New `.size` argument for `list_of()` that can restrict the element
  size in addition to the element type. For example:

  ``` r
  # Restricts the element type, but not the size (default behavior)
  list_of(1:2, 3:4, .ptype = integer(), .size = zap())

  # Restricts the element size, but not the type
  list_of(1:2, 3:4, .ptype = zap(), .size = 2)

  # Restricts the element type and size
  list_of(1:2, 3:4, .ptype = integer(), .size = 2)
  ```

* New `.name_spec = "inner"` option for `vec_c()`, `list_unchop()`,
  and `vec_rbind()`. This efficiently ignores all outer names, while
  retaining any inner names (#1988).

* New `allow_null` argument for `list_all_vectors()`,
  `list_all_size()`, `list_check_all_vectors()`, and
  `list_check_all_size()`, which skips over `NULL` when performing
  their respective check (#1762).

* New `.size` and `.error_call` arguments for `vec_interleave()`.

* New `.finalise` argument for `vec_ptype_common()` that defaults to
  `TRUE`. Setting this to `FALSE` lets you opt out of prototype
  finalisation, which allows `vec_ptype_common()` to act like
  `vec_ptype()` and `vec_ptype2()`, which don't finalise. This can be
  useful in some advanced common type determination cases (#2100).

* The following functions are no longer experimental:
  * `vec_fill_missing()`
  * `vec_group_id()`
  * `vec_group_loc()`
  * `vec_group_rle()`
  * `vec_locate_matches()`

## Bug fixes

* data.table's `IDate` class now has `vec_proxy()` and `vec_restore()`
  methods, fixing a number of issues with that class (#1549, #1961,
  #1972, #1781).

* `vec_detect_complete(NULL)` now returns `logical()`, consistent with
  `vec_detect_missing(NULL)` (#1916).

* `vec_assign()` no longer modifies `POSIXlt` and `vctrs_rcrd` types
  in place (#1951).

* `vec_interleave()` now reports the correct index in errors when
  `NULL`s are present.

* `list_unchop()` now assigns names correctly when overlapping
  `indices` are involved (#2019).

* `list_unchop()` now works in an edge case with a single `NA`
  recycled to size 0 (#1989).

* `list_unchop()` now correctly respects `indices` when combining
  fallback data frame columns (#1975).

* `vec_locate_sorted_groups()` and `vec_order_radix()` no longer crash
  on columns of type complex (tidyverse/dplyr#7708).

* Hashing is now supported for lists containing complex or raw
  vectors, enabling functions like `vec_unique_loc()` to work on these
  objects (#1992, #2046).

* `obj_check_vector()` now throws a clearer error message. In
  particular, special info bullets have been added that link out to
  FAQ pages and explain common issues around incompatible S3 lists and
  data frames (#2061).

* `vec_rank()` now throws an improved error on non-vector types, like
  `NULL` (#1967).

* `vec_ptype_common()` now reports more accurate error argument names (#2048).

* Fixed the C level signature for the `exp_short_init_compact_seq()` callable.

* Methods for the deprecated testthat function
  `is_informative_error()` have been removed (#2089).

## Performance

* `vec_c()`, `list_unchop()`, `vec_size_common()`,
  `vec_recycle_common()`, `vec_ptype_common()`, `list_sizes()`,
  `list_check_all_vectors()`, and other vctrs functions that take a
  list of objects are now more performant, particularly when many
  small objects are provided (#2034, #2035, #2041, #2042, #2043,
  #2044, #2070).

* `vec_match()`, `vec_in()`, `vec_group_loc()`, `vec_count()`,
  `vec_unique()` and other functions backed by a dictionary based
  implementation are often significantly faster, depending on the
  exact inputs used (#1976).

* `vec_equal()` now efficiently internally recycles `x` and `y`
  elements of size 1 (#2028).

* `list_unchop()` now efficiently internally recycles `x` elements of size 1 (#2013).

* `vec_assign()` and `vec_slice<-()` now efficiently internally recycle `value` of size 1.

* `vec_assign()` and `vec_slice<-()` are now more efficient with logical `i` (#2009).

* `vec_cast()` with arrays no longer clones when no casting is required (#2006).

## Breaking changes

* R >=4.0.0 is now required. This is still more permissive than the
  general tidyverse policy of supporting the [5 most recent versions
  of R](https://tidyverse.org/blog/2019/04/r-version-support/).

* `obj_is_list()` now returns `FALSE` for list arrays. Functions such
  as `list_drop_empty()` and `list_combine()` validate their input
  using `obj_is_list()`, but aren't well defined on list arrays.

* Assigning `NULL` into a `<list_of>` via `x[[i]] <- NULL` now
  shortens the list to better align with base R and the existing `$<-`
  and `[<-` methods (#2112).

* `as_list_of()` on an existing `<list_of>` no longer has a `.ptype`
  argument for changing the type on the fly, as this feels
  incompatible with the new system that allows restricting both the
  type and size. If you really need this, coerce to a bare list with
  `as.list()` first, then coerce back to a `<list_of>` using the
  `<list>` method of `as_list_of()`.

* Experimental "partial" type support has been removed. This idea
  never panned out and was not widely used. The following functions
  have been removed (#2101):
  * `is_partial()`
  * `new_partial()`
  * `partial_factor()`
  * `partial_frame()`

* The deprecated C callable for `vec_is_vector()` has been removed.


To generate a diff of this commit:
cvs rdiff -u -r1.11 -r1.12 pkgsrc/math/R-vctrs/Makefile \
    pkgsrc/math/R-vctrs/distinfo

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/math/R-vctrs/Makefile
diff -u pkgsrc/math/R-vctrs/Makefile:1.11 pkgsrc/math/R-vctrs/Makefile:1.12
--- pkgsrc/math/R-vctrs/Makefile:1.11   Sun Jan 21 07:51:09 2024
+++ pkgsrc/math/R-vctrs/Makefile        Tue Jun  9 03:20:35 2026
@@ -1,19 +1,20 @@
-# $NetBSD: Makefile,v 1.11 2024/01/21 07:51:09 mef Exp $
+# $NetBSD: Makefile,v 1.12 2026/06/09 03:20:35 mef Exp $
 
 R_PKGNAME=     vctrs
-R_PKGVER=      0.6.5
+R_PKGVER=      0.7.3
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
 COMMENT=       Vector helpers
 LICENSE=       gnu-gpl-v3
 
+DEPENDS+=      R-assertthat-[0-9]*:../../devel/R-assertthat
 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-lifecycle-[0-9]*:../../devel/R-lifecycle
-DEPENDS+=      R-rlang>=1.0.11:../../devel/R-rlang
+DEPENDS+=      R-rlang>=1.1.7:../../devel/R-rlang
 DEPENDS+=      R-zeallot>=0.1.0:../../math/R-zeallot
 
 TEST_DEPENDS+= R-bit64-[0-9]*:../../devel/R-bit64
Index: pkgsrc/math/R-vctrs/distinfo
diff -u pkgsrc/math/R-vctrs/distinfo:1.11 pkgsrc/math/R-vctrs/distinfo:1.12
--- pkgsrc/math/R-vctrs/distinfo:1.11   Sun Jan 21 07:51:09 2024
+++ pkgsrc/math/R-vctrs/distinfo        Tue Jun  9 03:20:36 2026
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.11 2024/01/21 07:51:09 mef Exp $
+$NetBSD: distinfo,v 1.12 2026/06/09 03:20:36 mef Exp $
 
-BLAKE2s (R/vctrs_0.6.5.tar.gz) = badab9af48aa420b6367a3eb476bb05d5291c3e24c4bb7104453bdace9547f16
-SHA512 (R/vctrs_0.6.5.tar.gz) = 20e95b6daf0bfde689030b18b4d97a87bfeced92e961649b9e6858462f51a76e7d8c424a360289060ec9d8a7d5265a4e5a9b91ea6c3bfc50a31795609e02d11f
-Size (R/vctrs_0.6.5.tar.gz) = 969066 bytes
+BLAKE2s (R/vctrs_0.7.3.tar.gz) = ade8abecad063e8c3b25ebcdf7925a6e9a77afcc024e3ef33b4fe2dd48dd9c6b
+SHA512 (R/vctrs_0.7.3.tar.gz) = feb9adeb5f21aa392d5bcf46da3c59add19812e3faa1af9575cd590bb78d886ed1f9232d276a59289ca5afe3bf86dbd657282d39f4c08768d70946d7a1cb63d2
+Size (R/vctrs_0.7.3.tar.gz) = 1083213 bytes



Home | Main Index | Thread Index | Old Index