Skip to content

Releases: Huber-group-EMBL/Rarr

Rarr 1.10 (Bioconductor 3.22)

31 Oct 08:20

Choose a tag to compare

New features

  • New functions to work with Zarr attributes have been added:
    • read_zarr_attributes() reads Zarr v2 and v3 attributes
    • write_zarr_attributes() only supports writing Zarr v2 attributes for now.
  • This package now has a pkgdown website, available at
    https://huber-group-embl.github.io/Rarr/.
  • Zarr v3 arrays are now supported for reading metadata via zarr_overview().

Breaking changes

  • zarr_overview(as_data_frame = TRUE) now returns information more in line with the
    output of zarr_overview(as_data_frame = FALSE). In particular:
    • a new endianness column has been added to indicate the byte order of the
      array data.
    • the nchunks column is now a list column specifying the number of chunks in
      each dimension, rather than a single integer giving the total number of
      chunks.

Minor improvements

  • An explicit error message is now given when attempting to read a Zarr array
    version 3. This version will be supported in a future release of Rarr.

Bug fixes

  • .url_parse_other() now accounts for port numbers in host name and colons in
    S3 buckets.
  • writeZarrArray() now allows writing character arrays, and no longer errors
    complaining about null 'nchar' argument value. Default of 'nchar' is now
    NULL.
  • writeZarrArray() no longer silently and incorrectly fills the last
    rows/columns when dim is not divisible by chunk_dim.
  • The object name is no longer repeated (e.g., name.zarrname.zarr) when
    writing a Zarr array to a file in the current working directory.
  • Invalid URLs for examples with S3 storage in read_zarr_array() and
    zarr_overview() have been updated.
  • read_zarr_array() no longer errors on arrays with numeric values other than
    float, int, uint and complex.
  • zarr_overview() now returns an explicit error message when the .zarray file
    is absent

Internal changes

  • Coding style throughout the package has been harmonized using the air tool.
    Contributors using RStudio, Positron or VS Code should have their code styled
    automatically on save.
  • Continuous integration checks have been made stricter by setting biocCheck()
    error level to "error" rather than "never", and R CMD check error level to
    "warning" rather than "error".
  • Static analysis via the lintr package is now performed on each push and PR.
    It should mostly be invisible to users but might result in slightly increased
    performance in some cases.
  • The superseded httr dependency has been replaced with the lighter curl
    package, thus reducing the total number of dependencies for the package from
    42 to 40.
  • The unused stringr dependency has been removed, reducing the total number of
    dependencies for the package from 40 to 38.
  • A minor PROTECT()/UNPROTECT() imbalance in the C code, exposed by rchk, has
    been fixed. It is not likely to cause problems in real-world situations but
    it could theoretically lead to crashes in some cases.
  • Argument path in internal function read_array_metadata() has been renamed
    to zarr_path for consistency with other internal functions
  • Some internal functions have been renamed with a leading dot, in line with
    the officially recommended style for Bioconductor packages.
  • This package now uses testthat instead of tinytest as a testing framework.
    This comes with more utilities to handle snapshot tests and mocked tests.
  • Function calls are now counted in tests to ensure we don't repeatedly perform
    a task (in particular, an expensive I/O task) more often than necessary.