zarrs

A rust library for the Zarr storage format for multidimensional arrays and metadata

APACHE-2.0 License

Downloads
34.8K
Stars
101
Committers
1
zarrs - v0.12.3

Published by LDeakin 8 months ago

Added

  • Implement Deserialize for DataType
    • A convenience for zarrs consumers. ArrayMetadata continues to use Metadata to parse unknown data types.
  • Add {Array,Group}::{async_}erase_metadata() and storage::{async_}erase_metadata()

Fixed

  • Fixed various errors in storage docs
  • Blosc codec config allow deserialization with missing typesize/shuffle
  • Blosc codec encoding with typesize of 0 with shuffling

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.12.2...v0.12.3

zarrs - v0.12.2

Published by LDeakin 8 months ago

Added

  • Added "Getting Started" in root documentation

Changed

  • Disabled blosc codec partial decoding pending a faster implementation

Fixed

  • Remove an unnecessary allocation in IndicesIterator

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.12.1...v0.12.2

zarrs - v0.12.1

Published by LDeakin 8 months ago

Added

  • Add byte_range::extract_byte_ranges_concat()
  • Add {Async}BytesPartialDecoderTraits::partial_decode_concat() with default implementation
  • Add ArrayCodecTraits::partial_decode_granularity() with default implementation

Changed

  • Cleanup "Implementation Status" and "Crate Features" in root documentation
  • Minor changes to docs

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.12.0...v0.12.1

zarrs - v0.12.0

Published by LDeakin 8 months ago

Highlights

  • This release targeted:
    • Improving performance and reducing memory usage
    • Increasing test coverage (82% from 66% in v0.11.6)
  • There are a number of significant breaking changes, see CHANGELOG.md

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.11.6...v0.12.0

zarrs - v0.11.6

Published by LDeakin 9 months ago

Added

  • Add a global configuration config::Config accessible via config::{get_config,get_config_mut}
    • Currently it exposes a single configuration option: validate_checksums (default: true)
  • Document correctness issues with past versions and how to correct errant arrays in crate root

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.11.5...v0.11.6

zarrs - v0.11.5

Published by LDeakin 9 months ago

Fixed

  • Major bug Fixed the crc32c codec so it uses CRC32C rather than CRC32
    • All arrays written prior to this release that use the crc32c codec are not correct
  • Fixed the crc32c codec reserving more memory than necessary

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.11.4...v0.11.5

zarrs - v0.11.4

Published by LDeakin 9 months ago

Added

  • Add codecov support to CI

Fixed

  • Fixed a regression introduced in v0.11.2 (89fc63f) where codecs with an empty configuration would serialise as a string rather than a struct with a name field, which goes against the zarr spec
    • Fixes the codec_bytes_configuration_none test and adds codec_crc32c_configuration_none test

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.11.3...v0.11.4

zarrs - v0.11.3

Published by LDeakin 9 months ago

Added

  • Added support for miri testing and accompanying notes in BUILD.md

Changed

  • Make IDENTIFIER public for codecs, chunk key encodings, and chunk grids

Fixed

  • Fix formatting of pcodec feature in lib.rs docs
  • Remove println! in PcodecCodec
  • Fixed FillValue::equals_all with unaligned inputs

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.11.2...v0.11.3

zarrs - v0.11.2

Published by LDeakin 9 months ago

Added

  • Added experimental bz2 (bzip2) codec behind bz2 feature
  • Added experimental pcodec codec behind pcodec feature

Changed

  • docs: clarify that bitround and zfp codec configurations are draft

Fixed

  • Do not serialise configuration in Metadata if is empty
  • Do not serialise endian in BytesCodecConfigurationV1 if it is none

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.11.1...v0.11.2

zarrs - v0.11.1

Published by LDeakin 9 months ago

Fixed

  • Fixed build with bitround or zfp features without async feature

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.11.0...v0.11.1

zarrs - v0.11.0

Published by LDeakin 9 months ago

Highlights

  • This release targeted
    • Improving documentation
    • Increasing coverage and correctness (line coverage increased from 70.66% to 78.46% since 0.10.0)
    • Consolidating and improving errors and their messages
  • Major breaking changes
    • Array retrieve_ methods now return Vec<u8>/Vec<T> instead of Box<[u8]>/Box<[T]>
    • Added ChunkShape (which wraps Vec<NonZeroU64>) and added ChunkRepresentation
      • Chunks can no longer have any zero dimensions
      • Creating an array now requires specifying a chunk shape like vec![1, 2, 3].try_into()? instead of vec![1, 2, 3].into()

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.10.0...v0.11.0

zarrs - v0.10.0

Published by LDeakin 9 months ago

Changed

  • Bump opendal to 0.44
  • Bump object_store to 0.9
  • Breaking async_store_chunk and AsyncWritableStorageTraits::set now take bytes::Bytes
    • bytes::Bytes are used by both supported async stores (object_store and opendal), and this avoids a copy

Fixed

  • Various clippy warnings

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.9.0...v0.10.0

zarrs - v0.9.0

Published by LDeakin 10 months ago

Highlights

  • New Array methods to store/retrieve/erase multiple chunks
  • Many Array internal revisions and removal of some unnecessary methods

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.8.0...v0.9.0

zarrs - v0.8.0

Published by LDeakin 10 months ago

Highlights

  • Feature changes:
    • Added: object_store and opendal with generalised support for stores from these crates
    • Removed: s3, gcp, and azure (use object_store or opendal instead)
    • Changed: http and zip are no longer default features
  • ReadableStorageTraits is no longer a supertrait of WritableStorageTraits
  • Moved chunk locking from Array into stores
  • Improved documentation and code coverage

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.7.3...v0.8.0

zarrs - v0.7.3

Published by LDeakin 10 months ago

Added

  • Add From<ChunkKeyEncodingTraits> for ChunkKeyEncoding
  • Add chunk key encoding tests

Changed

  • Revise code coverage section in BUILD.md to use cargo-llvm-cov
  • Increased code coverage in some modules
  • Add --all-features to clippy usage in BUILD.md and ci.yml

Fixed

  • Fixed chunk key encoding for 0 dimensional arrays with default and v2 encoding
  • Fixed various clippy warnings

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.7.2...v0.7.3

zarrs - v0.7.2

Published by LDeakin 10 months ago

Added

  • ArraySubset::{extract_elements/extract_elements_unchecked} and ArrayExtractElementsError

Changed

  • Add ArraySubset::{overlap,overlap_unchecked} and ArraySubset::{relative_to,relative_to_unchecked}
    • These replace ArraySubset::{in_subset,in_subset_unchecked}, which are now deprecated

Fixed

  • Fix cargo test with async crate feature disabled

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.7.1...v0.7.2

zarrs - v0.7.1

Published by LDeakin 11 months ago

Highlights

  • Fix use of impl_trait_projections in {Array/Bytes}PartialDecoderCache, which was only stabilised in Rust 1.74

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.7.0...v0.7.1

zarrs - v0.7.0

Published by LDeakin 11 months ago

Highlights

  • Experimental async feature: Support async stores and array/group operations
    • See async_array_write_read and async_http_array_read examples
  • Experimental s3/gcp/azure features for experimental async Amazon S3/Google Cloud Storage/Microsoft Azure Blob Storage stores

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.6.0...v0.7.0

zarrs - v0.6.0

Published by LDeakin 11 months ago

Highlights

  • Revisions for recent updates to the Zarr V3 specification (e.g. sharding index_location and removal of "order": "C"/"F" from transpose codec)
  • API changes to improve usability
  • Performance improvements and a few bug fixes
  • Experimental zfp and bitround codecs

CHANGELOG.md

Full Changelog: https://github.com/LDeakin/zarrs/compare/v0.5.1...v0.6.0