head 1.11; access; symbols pkgsrc-2023Q4:1.10.0.6 pkgsrc-2023Q4-base:1.10 pkgsrc-2023Q3:1.10.0.4 pkgsrc-2023Q3-base:1.10 pkgsrc-2023Q2:1.10.0.2 pkgsrc-2023Q2-base:1.10 pkgsrc-2023Q1:1.7.0.2 pkgsrc-2023Q1-base:1.7 pkgsrc-2022Q4:1.6.0.2 pkgsrc-2022Q4-base:1.6 pkgsrc-2022Q3:1.5.0.4 pkgsrc-2022Q3-base:1.5 pkgsrc-2022Q2:1.5.0.2 pkgsrc-2022Q2-base:1.5 pkgsrc-2022Q1:1.4.0.8 pkgsrc-2022Q1-base:1.4 pkgsrc-2021Q4:1.4.0.6 pkgsrc-2021Q4-base:1.4 pkgsrc-2021Q3:1.4.0.4 pkgsrc-2021Q3-base:1.4 pkgsrc-2021Q2:1.4.0.2 pkgsrc-2021Q2-base:1.4 pkgsrc-2021Q1:1.3.0.6 pkgsrc-2021Q1-base:1.3 pkgsrc-2020Q4:1.3.0.4 pkgsrc-2020Q4-base:1.3 pkgsrc-2020Q3:1.3.0.2 pkgsrc-2020Q3-base:1.3 pkgsrc-2020Q2:1.2.0.8 pkgsrc-2020Q2-base:1.2 pkgsrc-2020Q1:1.2.0.4 pkgsrc-2020Q1-base:1.2 pkgsrc-2019Q4:1.2.0.6 pkgsrc-2019Q4-base:1.2 pkgsrc-2019Q3:1.2.0.2 pkgsrc-2019Q3-base:1.2; locks; strict; comment @# @; 1.11 date 2024.01.21.07.51.09; author mef; state Exp; branches; next 1.10; commitid lqBTYkt88nZKZhVE; 1.10 date 2023.06.17.12.45.23; author mef; state Exp; branches; next 1.9; commitid qBQOGtM4Hw39DitE; 1.9 date 2023.06.01.15.13.26; author mef; state Exp; branches; next 1.8; commitid Grq7yGwlr7USXfrE; 1.8 date 2023.06.01.13.04.33; author mef; state Exp; branches; next 1.7; commitid 0Sid3E369ZbpffrE; 1.7 date 2023.02.12.04.44.54; author mef; state Exp; branches; next 1.6; commitid WIfZ68Ce226oZbdE; 1.6 date 2022.12.18.13.36.41; author mef; state Exp; branches; next 1.5; commitid NJsVG3j7h7CsJ26E; 1.5 date 2022.05.05.02.09.10; author mef; state Exp; branches; next 1.4; commitid meSgUxQ3HcM0eOCD; 1.4 date 2021.05.30.13.18.59; author mef; state Exp; branches; next 1.3; commitid ziw69Gee7dplRaVC; 1.3 date 2020.07.31.20.17.39; author brook; state Exp; branches; next 1.2; commitid LI5tylhipzsMUgiC; 1.2 date 2019.08.08.19.53.54; author brook; state Exp; branches; next 1.1; commitid K2VPfA0XCw7xfgyB; 1.1 date 2019.07.31.13.33.31; author brook; state Exp; branches; next ; commitid urzKmZ4aVCPBrcxB; desc @@ 1.11 log @(math/R-vctrs) Updated 0.6.3 to 0.6.5 # vctrs 0.6.5 * Internal changes requested by CRAN around C level format strings (#1896). * Fixed tests related to changes to `dim<-()` in R-devel (#1889). # vctrs 0.6.4 * Fixed a performance issue with `vec_c()` and ALTREP vectors (in particular, the new ALTREP list vectors in R-devel) (#1884). * Fixed an issue with complex vector tests related to changes in R-devel (#1883). * Added a class to the `vec_locate_matches()` error that is thrown when an overflow would otherwise occur (#1845). * Fixed an issue with `vec_rank()` and 0-column data frames (#1863). @ text @# $NetBSD: Makefile,v 1.10 2023/06/17 12:45:23 mef Exp $ R_PKGNAME= vctrs R_PKGVER= 0.6.5 MAINTAINER= pkgsrc-users@@NetBSD.org COMMENT= Vector helpers LICENSE= gnu-gpl-v3 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-zeallot>=0.1.0:../../math/R-zeallot 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-pkgdown-[0-9]*:../../www/R-pkgdown 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 TEST_DEPENDS+= tex-ec-[0-9]*:../../fonts/tex-ec TEST_DEPENDS+= tex-inconsolata-[0-9]*:../../fonts/tex-inconsolata TEST_DEPENDS+= tex-latex-bin-[0-9]*:../../print/tex-latex-bin TEST_DEPENDS+= tex-url-[0-9]*:../../print/tex-url TEST_DEPENDS+= tex-xkeyval-[0-9]*:../../print/tex-xkeyval USE_LANGUAGES= c c++ .include "../../math/R/Makefile.extension" .include "../../mk/bsd.pkg.mk" @ 1.10 log @(math/R-vctrs) Updated 0.6.2 to 0.6.3 # vctrs 0.6.3 * Fixed an issue where certain ALTREP row names were being materialized when passed to `new_data_frame()`. We've fixed this by removing a safeguard in `new_data_frame()` that performed a compatibility check when both `n` and `row.names` were provided. Because this is a low level function designed for performance, it is up to the caller to ensure these inputs are compatible (tidyverse/dplyr#6596). * Fixed an issue where `vec_set_*()` used with data frames could accidentally return an object with the type of the proxy rather than the type of the original inputs (#1837). * Fixed a rare `vec_locate_matches()` bug that could occur when using a max/min `filter` (tidyverse/dplyr#6835). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.9 2023/06/01 15:13:26 mef Exp $ d4 1 a4 1 R_PKGVER= 0.6.3 a18 1 #Packages suggested but not available: 'pkgdown' d30 6 @ 1.9 log @(math/R-vctrs) Update for DEPENDS+= R-rlang version @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.8 2023/06/01 13:04:33 mef Exp $ d4 1 a4 1 R_PKGVER= 0.6.2 @ 1.8 log @(math/R-vctrs) Updated 0.5.2 to 0.6.2 # vctrs 0.6.2 * Fixed conditional S3 registration to avoid a CRAN check NOTE that appears in R >=4.3.0 (#1832). * Fixed tests to maintain compatibility with the next version of waldo (#1829). # vctrs 0.6.1 * Fixed a test related to `c.sfc()` changes in sf 1.0-10 (#1817). # vctrs 0.6.0 * New `vec_run_sizes()` for computing the size of each run within a vector. It is identical to the `times` column from `vec_unrep()`, but is faster if you don't need the run key (#1210). * New `sizes` argument to `vec_chop()` which allows you to partition a vector using an integer vector describing the size of each expected slice. It is particularly useful in combination with `vec_run_sizes()` and `list_sizes()` (#1210, #1598). * New `obj_is_vector()`, `obj_check_vector()`, and `vec_check_size()` validation helpers. We believe these are a better approach to vector validation than `vec_assert()` and `vec_is()`, which have been marked as questioning because the semantics of their `ptype` arguments are hard to define and can often be replaced by `vec_cast()` or a type predicate function like `rlang::is_logical()` (#1784). * `vec_is_list()` and `vec_check_list()` have been renamed to `obj_is_list()` and `obj_check_list()`, in line with the new `obj_is_vector()` helper. The old functions have been silently deprecated, but an official deprecation process will start in the next vctrs release (#1803). * `vec_locate_matches()` gains a new `relationship` argument that holistically handles multiple matches between `needles` and `haystack`. In particular, `relationship = "many-to-one"` replaces `multiple = "error"` and `multiple = "warning"`, which have been removed from the documentation and silently soft-deprecated. Official deprecation for those options will start in a future release (#1791). * `vec_locate_matches()` has changed its default `needles_arg` and `haystack_arg` values from `""` to `"needles"` and `"haystack"`, respectively. This generally generates more informative error messages (#1792). * `vec_chop()` has gained empty `...` between `x` and the optional `indices` argument. For backwards compatibility, supplying `vec_chop(x, indices)` without naming `indices` still silently works, but will be deprecated in a future release (#1813). * `vec_slice()` has gained an `error_call` argument (#1785). * The `numeric_version` type from base R is now better supported in equality, comparison, and order based operations (tidyverse/dplyr#6680). * R >=3.5.0 is now explicitly required. This is in line with the tidyverse policy of supporting the [5 most recent versions of R](https://www.tidyverse.org/blog/2019/04/r-version-support/). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.7 2023/02/12 04:44:54 mef Exp $ d16 1 a16 1 DEPENDS+= R-rlang>=0.4.10:../../devel/R-rlang @ 1.7 log @(math/R-vctrs) Updated 0.5.1 to 0.5.2 # vctrs 0.5.2 * New `vec_expand_grid()`, which is a lower level helper that is similar to `tidyr::expand_grid()` (#1325). * New `vec_set_intersect()`, `vec_set_difference()`, `vec_set_union()`, and `vec_set_symmetric_difference()` which compute set operations like `intersect()`, `setdiff()`, and `union()`, but the vctrs variants don't strip attributes and work with data frames (#1755, #1765). * `vec_identify_runs()` is now faster when used with data frames (#1684). * The maximum load factor of the internal dictionary was reduced from 77% to 50%, which improves performance of functions like `vec_match()`, `vec_set_intersect()`, and `vec_unique()` in some cases (#1760). * Fixed a bug with the internal `vec_order_radix()` function related to matrix columns (#1753). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.6 2022/12/18 13:36:41 mef Exp $ d4 1 a4 1 R_PKGVER= 0.5.2 @ 1.6 log @(math/R-vctrs) Updated 0.4.1 to 0.5.1 # vctrs 0.5.1 * Fix for CRAN checks. # vctrs 0.5.0 * vctrs is now compliant with `-Wstrict-prototypes` as requested by CRAN (#1729). * `vec_ptype2()` now consistently falls back to bare data frame in case of incompatible data frame subclasses. This is part of a general move towards relaxed coercion rules. * Common type and cast errors now inherit from `"vctrs_error_ptype2"` and `"vctrs_error_cast"` respectively. They are still both subclasses from `"vctrs_error_incompatible_type"` (which used to be their most specific class and is now a parent class). * New `list_all_size()` and `list_check_all_size()` to quickly determine if a list contains elements of a particular `size` (#1582). * `list_unchop()` has gained empty `...` to force optional arguments to be named (#1715). * `vec_rep_each(times = 0)` now works correctly with logical vectors that are considered unspecified and with named vectors (#1673). * `list_of()` was relaxed to make it easier to combine. It is now coercible with `list()` (#1161). When incompatible `list_of()` types are combined, the result is now a bare `list()`. Following this change, the role of `list_of()` is mainly to carry type information for potential optimisations, rather than to guarantee a certain type throughout an analysis. * `validate_list_of()` has been removed. It hasn't proven to be practically useful, and isn't used by any packages on CRAN (#1697). * Directed calls to `vec_c()`, like `vec_c(.ptype = )`, now mention the position of the problematic argument when there are cast errors (#1690). * `list_unchop()` no longer drops names in some cases when `indices` were supplied (#1689). * `"unique_quiet"` and `"universal_quiet"` are newly accepted by `vec_as_names(repair =)` and `vec_names2(repair =)`. These options exist to help users who call these functions indirectly, via another function which only exposes `repair` but not `quiet`. Specifying `repair = "unique_quiet"` is like specifying `repair = "unique", quiet = TRUE`. When the `"*_quiet"` options are used, any setting of `quiet` is silently overridden (@@jennybc, #1629). `"unique_quiet"` and `"universal_quiet"` are also newly accepted for the name repair argument of several other functions that do not expose a `quiet` argument: `data_frame()`, `df_list()`, `vec_c()`, `list_unchop()`, `vec_interleave()`, `vec_rbind()`, and `vec_cbind()` (@@jennybc, #1716). * `list_unchop()` has gained `error_call` and `error_arg` arguments (#1641, #1692). * `vec_c()` has gained `.error_call` and `.error_arg` arguments (#1641, #1692). * Improved the performance of list-of common type methods (#1686, #875). * The list-of method for `as_list_of()` now places the optional `.ptype` argument after the `...` (#1686). * `vec_rbind()` now applies `base::c()` fallback recursively within packed df-cols (#1331, #1462, #1640). * `vec_c()`, `vec_unchop()`, and `vec_rbind()` now proxy and restore recursively (#1107). This prevents `vec_restore()` from being called with partially filled vectors and improves performance (#1217, #1496). * New `vec_any_missing()` for quickly determining if a vector has any missing values (#1672). * `vec_equal_na()` has been renamed to `vec_detect_missing()` to align better with vctrs naming conventions. `vec_equal_na()` will stick around for a few minor versions, but has been formally soft-deprecated (#1672). * `vec_c(outer = c(inner = 1))` now produces correct error messages (#522). * If a data frame is returned as the proxy from `vec_proxy_equal()`, `vec_proxy_compare()`, or `vec_proxy_order()`, then the corresponding proxy function is now automatically applied recursively along all of the columns. Additionally, packed data frame columns will be unpacked, and 1 column data frames will be unwrapped. This ensures that the simplest possible types are provided to the native C algorithms, improving both correctness and performance (#1664). * When used with record vectors, `vec_proxy_compare()` and `vec_proxy_order()` now call the correct proxy function while recursing over the fields (#1664). * The experimental function `vec_list_cast()` has been removed from the package (#1382). * Native classes like dates and datetimes now accept dimensions (#1290, #1329). * `vec_compare()` now throws a more informative error when attempting to compare complex vectors (#1655). * `vec_rep()` and friends gain `error_call`, `x_arg`, and `times_arg` arguments so they can be embedded in frontends (#1303). * Record vectors now fail as expected when indexed along dimensions greater than 1 (#1295). * `vec_order()` and `vec_sort()` now have `...` between the required and optional arguments to make them easier to extend (#1647). * S3 vignette was extended to show how to make the polynomial class atomic instead of a list (#1030). * The experimental `n` argument of `vec_restore()` has been removed. It was only used to inform on the size of data frames in case a bare list is restored. It is now expected that bare lists be initialised to data frame so that the size is carried through row attributes. This makes the generic simpler and fixes some performance issues (#650). * The `anyNA()` method for `vctrs_vctr` (and thus `vctrs_list_of`) now supports the `recursive` argument (#1278). * `vec_as_location()` and `num_as_location()` have gained a `missing = "remove"` option (#1595). * `vec_as_location()` no longer matches `NA_character_` and `""` indices if those invalid names appear in `names` (#1489). * `vec_unchop()` has been renamed to `list_unchop()` to better indicate that it requires list input. `vec_unchop()` will stick around for a few minor versions, but has been formally soft-deprecated (#1209). * Lossy cast errors during scalar subscript validation now have the correct message (#1606). * Fixed confusing error message with logical `[[` subscripts (#1608). * New `vec_rank()` to compute various types of sample ranks (#1600). * `num_as_location()` now throws the right error when there are out-of-bounds negative values and `oob = "extend"` and `negative = "ignore"` are set (#1614, #1630). * `num_as_location()` now works correctly when a combination of `zero = "error"` and `negative = "invert"` are used (#1612). * `data_frame()` and `df_list()` have gained `.error_call` arguments (#1610). * `vec_locate_matches()` has gained an `error_call` argument (#1611). * `"select"` and `"relocate"` have been added as valid subscript actions to support tidyselect and dplyr (#1596). * `num_as_location()` has a new `oob = "remove"` argument to remove out-of-bounds locations (#1595). * `vec_rbind()` and `vec_cbind()` now have `.error_call` arguments (#1597). * `df_list()` has gained a new `.unpack` argument to optionally disable data frame unpacking (#1616). * `vec_check_list(arg = "")` now throws the correct error (#1604). * The `difftime` to `difftime` `vec_cast()` method now standardizes the internal storage type to double, catching potentially corrupt integer storage `difftime` vectors (#1602). * `vec_as_location2()` and `vec_as_subscript2()` more correctly utilize their `call` arguments (#1605). * `vec_count(sort = "count")` now uses a stable sorting method. This ensures that different keys with the same count are sorted in the order that they originally appeared in (#1588). * Lossy cast error conditions now show the correct message when `conditionMessage()` is called on them (#1592). * Fixed inconsistent reporting of conflicting inputs in `vec_ptype_common()` (#1570). * `vec_ptype_abbr()` and `vec_ptype_full()` now suffix 1d arrays with `[1d]`. * `vec_ptype_abbr()` and `vec_ptype_full()` methods are no longer inherited (#1549). * `vec_cast()` now throws the correct error when attempting to cast a subclassed data frame to a non-data frame type (#1568). * `vec_locate_matches()` now uses a more conservative heuristic when taking the joint ordering proxy. This allows it to work correctly with sf's sfc vectors and the classes from the bignum package (#1558). * An sfc method for `vec_proxy_order()` was added to better support the sf package. These vectors are generally treated like list-columns even though they don't explicitly have a `"list"` class, and the `vec_proxy_order()` method now forwards to the list method to reflect that (#1558). * `vec_proxy_compare()` now works correctly for raw vectors wrapped in `I()`. `vec_proxy_order()` now works correctly for raw and list vectors wrapped in `I()` (#1557). # vctrs 0.4.2 * HTML documentation fixes for CRAN checks. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.5 2022/05/05 02:09:10 mef Exp $ d4 1 a4 1 R_PKGVER= 0.5.1 @ 1.5 log @(math/R-vctrs) Update 0.3.8 to 0.4.1 # 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). @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.4 2021/05/30 13:18:59 mef Exp $ d4 1 a4 1 R_PKGVER= 0.4.1 d15 1 d26 1 a26 1 #EST_DEPENDS+= R-pkgdown-[0-9]*:../../devel/R-pkgdown @ 1.4 log @(math/R-vctrs) Updated 0.3.2 to 0.3.8 (pkgsrc changes) - Add TEST_DEPENDS+, but still one missing is there (upstream changes) # vctrs 0.3.8 * Compatibility with next version of rlang. # vctrs 0.3.7 * `vec_ptype_abbr()` gains arguments to control whether to indicate named vectors with a prefix (`prefix_named`) and indicate shaped vectors with a suffix (`suffix_shape`) (#781, @@krlmlr). * `vec_ptype()` is now an optional _performance_ generic. It is not necessary to implement, but if your class has a static prototype, you might consider implementing a custom `vec_ptype()` method that returns a constant to improve performance in some cases (such as common type imputation). * New `vec_detect_complete()`, inspired by `stats::complete.cases()`. For most vectors, this is identical to `!vec_equal_na()`. For data frames and matrices, this detects rows that only contain non-missing values. * `vec_order()` can now order complex vectors (#1330). * Removed dependency on digest in favor of `rlang::hash()`. * Fixed an issue where `vctrs_rcrd` objects were not being proxied correctly when used as a data frame column (#1318). * `register_s3()` is now licensed with the "unlicense" which makes it very clear that it's fine to copy and paste into your own package (@@maxheld83, #1254). # vctrs 0.3.6 * Fixed an issue with tibble 3.0.0 where removing column names with `names(x) <- NULL` is now deprecated (#1298). * Fixed a GCC 11 issue revealed by CRAN checks. # vctrs 0.3.5 * New experimental `vec_fill_missing()` for filling in missing values with the previous or following value. It is similar to `tidyr::fill()`, but also works with data frames and has an additional `max_fill` argument to limit the number of sequential missing values to fill. * New `vec_unrep()` to compress a vector with repeated values. It is very similar to run length encoding, and works nicely alongside `vec_rep_each()` as a way to invert the compression. * `vec_cbind()` with only empty data frames now preserves the common size of the inputs in the result (#1281). * `vec_c()` now correctly returns a named result with named empty inputs (#1263). * vctrs has been relicensed as MIT (#1259). * Functions that make comparisons within a single vector, such as `vec_unique()`, or between two vectors, such as `vec_match()`, now convert all character input to UTF-8 before making comparisons (#1246). * New `vec_identify_runs()` which returns a vector of identifiers for the elements of `x` that indicate which run of repeated values they fall in (#1081). * Fixed an encoding translation bug with lists containing data frames which have columns where `vec_size()` is different from the low level `Rf_length()` (#1233). # vctrs 0.3.4 * Fixed a GCC sanitiser error revealed by CRAN checks. # vctrs 0.3.3 * The `table` class is now implemented as a wrapper type that delegates its coercion methods. It used to be restricted to integer tables (#1190). * Named one-dimensional arrays now behave consistently with simple vectors in `vec_names()` and `vec_rbind()`. * `new_rcrd()` now uses `df_list()` to validate the fields. This makes it more flexible as the fields can now be of any type supported by vctrs, including data frames. * Thanks to the previous change the `[[` method of records now preserves list fields (#1205). * `vec_data()` now preserves data frames. This is consistent with the notion that data frames are a primitive vector type in vctrs. This shouldn't affect code that uses `[[` and `length()` to manipulate the data. On the other hand, the vctrs primitives like `vec_slice()` will now operate rowwise when `vec_data()` returns a data frame. * `outer` is now passed unrecycled to name specifications. Instead, the return value is recycled (#1099). * Name specifications can now return `NULL`. The names vector will only be allocated if the spec function returns non-`NULL` during the concatenation. This makes it possible to ignore outer names without having to create an empty names vector when there are no inner names: ``` zap_outer_spec <- function(outer, inner) if (is_character(inner)) inner # `NULL` names rather than a vector of "" names(vec_c(a = 1:2, .name_spec = zap_outer_spec)) #> NULL # Names are allocated when inner names exist names(vec_c(a = 1:2, c(b = 3L), .name_spec = zap_outer_spec)) #> [1] "" "" "b" ``` * Fixed several performance issues in `vec_c()` and `vec_unchop()` with named vectors. * The restriction that S3 lists must have a list-based proxy to be considered lists by `vec_is_list()` has been removed (#1208). * New performant `data_frame()` constructor for creating data frames in a way that follows tidyverse semantics. Among other things, inputs are recycled using tidyverse recycling rules, strings are never converted to factors, list-columns are easier to create, and unnamed data frame input is automatically spliced. * New `df_list()` for safely and consistently constructing the data structure underlying a data frame, a named list of equal-length vectors. It is useful in combination with `new_data_frame()` for creating user-friendly constructors for data frame subclasses that use the tidyverse rules for recycling and determining types. * Fixed performance issue with `vec_order()` on classed vectors which affected `dplyr::group_by()` (tidyverse/dplyr#5423). * `vec_set_names()` no longer alters the input in-place (#1194). * New `vec_proxy_order()` that provides an ordering proxy for use in `vec_order()` and `vec_sort()`. The default method falls through to `vec_proxy_compare()`. Lists are special cased, and return an integer vector proxy that orders by first appearance. * List columns in data frames are no longer comparable through `vec_compare()`. * The experimental `relax` argument has been removed from `vec_proxy_compare()`. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.3 2020/07/31 20:17:39 brook Exp $ d4 1 a4 1 R_PKGVER= 0.3.8 d10 4 a15 2 DEPENDS+= R-backports>=1.1.4:../../math/R-backports DEPENDS+= R-ellipsis>=0.2.0:../../math/R-ellipsis a16 1 DEPENDS+= R-digest>=0.6.25:../../security/R-digest d18 6 a23 2 #Packages suggested but not available: 'pkgdown', 'rmarkdown', 'xml2' TEST_DEPENDS+= R-testthat-[0-9]*:../../devel/R-testthat d25 1 d27 1 a27 5 #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 d30 1 a30 1 USE_LANGUAGES= c @ 1.3 log @R-vctrs: update to 0.3.2. @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.2 2019/08/08 19:53:54 brook Exp $ d4 1 a4 1 R_PKGVER= 0.3.2 d11 1 a11 1 DEPENDS+= R-rlang>=0.4.7:../../devel/R-rlang d17 11 @ 1.2 log @Update all R packages to canonical form. The canonical form [1] of an R package Makefile includes the following: - The first stanza includes R_PKGNAME, R_PKGVER, PKGREVISION (as needed), and CATEGORIES. - HOMEPAGE is not present but defined in math/R/Makefile.extension to refer to the CRAN web page describing the package. Other relevant web pages are often linked from there via the URL field. This updates all current R packages to this form, which will make regular updates _much_ easier, especially using pkgtools/R2pkg. [1] http://mail-index.netbsd.org/tech-pkg/2019/08/02/msg021711.html @ text @d1 1 a1 1 # $NetBSD: Makefile,v 1.1 2019/07/31 13:33:31 brook Exp $ d4 1 a4 2 R_PKGVER= 0.2.0 CATEGORIES= math d10 2 a11 2 DEPENDS+= R-glue>=1.3.1:../../devel/R-glue DEPENDS+= R-rlang>=0.4.0:../../devel/R-rlang d15 1 a15 1 DEPENDS+= R-digest>=0.6.20:../../security/R-digest @ 1.1 log @R-vctrs: initial commit. Defines new notions of prototype and size that are used to provide tools for consistent and well-founded type-coercion and size-recycling, and are in turn connected to ideas of type- and size-stability useful for analyzing function interfaces. @ text @d1 1 a1 1 # $NetBSD$ d3 3 a5 1 CATEGORIES= math R a7 1 HOMEPAGE= ${R_HOMEPAGE_BASE}/vctrs/ a10 3 R_PKGNAME= vctrs R_PKGVER= 0.2.0 @