Skip to contents

zarr (development version)

zarr 0.5.0

  • AWS S3 store access added for reading and, with appropriate authentication, writing. The function s3_list_dir() can be used to walk the directory listing of an S3 bucket to locate Zarr stores.
  • New zarr_array::resize() method with which arrays can be resized, growing or shrinking across all dimensions simultaneously, including on the lower end of the dimensions. When changing the “low” side of the dimensions, which is always by full chunks, the indexing of all data changes to use the new origin.
  • New zarr_array::promote() method which adds a dimension to the array.
  • New zarr_object base class for name and attribute management.
  • dirty field can be explicitly set on any node to force writing of the metadata to the store.
  • chunk_key_encoding is automatically set in array metadata.
  • New optimal_chunking() function to determine optimal chunking for an array, optionally applying different weights to dimensions or groups of dimensions.
  • Better support for scalar arrays. Scalar arrays can now be constructed by the array_builder class and written to like regular arrays.
  • Testing expanded.
  • Documentation expanded and updated.

zarr 0.4.2

CRAN release: 2026-07-11

  • zarr_node$post_open() method allows for processing that requires the Zarr hierarchy to be in place.
  • Dynamically set a node in a Zarr hierarchy.
  • zarr_node$relative_path() method retrieves the relative path from the node to another node or a path string. zarr_node$absolute_path() turns a relative path starting from the current node into an absolute path. walk_path() traverses the Zarr hierarchy from the current node to a target node using relative node names, returning the requested node.
  • Set metadata on a node in a memory store.
  • Convention classes are now coded as attribute factories.
  • Zarr package options can now be retrieved and modified with the zarr_options() function.
  • Compute optimal chunking sizes from array shape when not set explicitly.
  • In as_zarr(), small arrays are not compressed. This is controlled by the Zarr.options$min_compress setting.
  • Fix key listing in memory stores.

zarr 0.4.1

CRAN release: 2026-06-14

  • Hierarchy can now also be printed from any group. Zarr arrays from domain packages may use alternative glyphs.
  • New attribute() method for zarr_group and zarr_array instances.
  • Attributes can be nested by specifying a compound path when adding. JSON array attributes can be appended. JSON arrays can be deleted over compound paths, including JSON arrays.
  • Attributes article updated.

zarr 0.4.0

CRAN release: 2026-05-28

  • Reading of sharded Zarr stores is now supported.
  • The Zarr-registered “string” data type, an extension to the core specification, is now supported. This uses the “vlen-utf8” codec, also a registered extension to the core specification. For Zarr v.2 stores, this corresponds to the “|O” data type; the “<U*” data type is also supported, using a mocked-up “ucs-4” codec (it is not a true codec or Zarr v.2 filter) to provide the mandatory “array -> bytes” codec. This means that you can now read Zarr arrays that have character data. You can also create new Zarr arrays with character data.
  • Nested attributes print better to the console.
  • zarr_conventions() function returns data.frame of supported conventions.
  • Ref convention code updated.
  • Malformed “NaN”, “Infinity” and “-Infinity” in metadata solved.
  • Better testing of fill values.
  • Fixed deeply nested consolidated metadata.
  • Fixed handling of scalar arrays.
  • R dependency bumped to 4.2
  • Using Rcpp for performance bottlenecks, using future for optional parallel processing of chunks and shards.

zarr 0.3.0

CRAN release: 2026-04-18

  • Extensible domain and convention mechanisms added, following ZEP0004. This enables developers to extend this Zarr implementation with domain-specific interfaces.
  • Metadata is now writable as a complete object - expert use only.
  • Fixed listing of keys in memory stores.
  • Expanded documentation.

zarr 0.2.0

CRAN release: 2026-02-11

  • Zarr version 2 stores can be read. Data types supported are those also included in the v.3 core specification. The compression codec has to be one of those supported by the v.3 core specification or zstd. Filters are not yet supported.
  • HTTP stores can be read but only for Zarr v.3 and v.2 single-array stores and Zarr v.2 stores with consolidated metadata present in the root group of the Zarr store.
  • Chunk key encoding from v.2 and “default” and “v2” from v.3 supported.
  • The blosc package is now imported as it is the default compression codec.
  • zstd compression codec added.
  • Fixed reading integer64 data.

zarr 0.1.1

CRAN release: 2025-12-06

  • Initial code base. This release contains a fairly complete implementation of the Zarr core v.3 specification. As such, it will not be able to access Zarr v.2 stores.
  • Support for adding and deleting attributes to groups and arrays.