Skip to content

Releases: manzt/zarrita.js

zarrita@0.5.0

10 Mar 22:53
ebc35d6
Compare
Choose a tag to compare

Minor Changes

  • Replace default gzip/zlib codecs with dependency-less decode-only versions (#275)

    This is a breaking change since by default zarrita no longer supports encoding with these codecs by default. The new implementation is based on the DecompressionStream API, preferring a built-in (i.e., dependency-free) solution for the majority use case (read-only) with zarrita.

    Encoding remains supported but must be explicitly enabled with a custom codec from numcodecs:

    import * as zarr from "zarrita";
    
    import GZip from "numcodecs/gzip";
    import Zlib from "numcodecs/zlib";
    
    zarr.registry.set("gzip", () => GZip);
    zarr.registry.set("zlib", () => Zlib);

@zarrita/ndarray@0.1.1

10 Mar 22:53
ebc35d6
Compare
Choose a tag to compare

Patch Changes

  • Updated dependencies [b318ba1]:
    • zarrita@0.5.0

zarrita@0.4.0

01 Mar 23:37
02bffb4
Compare
Choose a tag to compare

Minor Changes

  • Remove explicit order from GetOptions. (#274)

  • feat: Add tryWithConsolidated store helper (#141)

    Provides a convenient way to open a store that may or may not have consolidated
    metadata. Ideal for usage senarios with known access paths, since store with
    consolidated metadata do not incur additional network requests when accessing
    underlying groups and arrays.

    import * as zarr from "zarrita";
    
    let store = await zarr.tryWithConsolidated(
      new zarr.FetchStore("https://localhost:8080/data.zarr");
    );
    
    // The following do not read from the store
    // (make network requests) if it is consolidated.
    let grp = await zarr.open(store, { kind: "group" });
    let foo = await zarr.open(grp.resolve("foo"), { kind: "array" });
  • Support float16 in environments with Float16Array typed array. Since Float16Array is a new standard and not yet widely supported, some JavaScript runtimes may not support it. If unavailable, you can still use float16 with zarrita by adding a polyfill. (#250)

    Support is provided at both the type level (depending on the TypeScript config) and at runtime by checking globalThis. TypeScript users should ensure their target environment aligns with the expected types.

  • feat: Add withConsolidated store utility (#119)

    BREAKING: Replaces openConsolidated
    to provide a consistent interface for accessing consolidated and non-consolidated stores.

    import * as zarr from "zarrita";
    
    // non-consolidated
    let store = new zarr.FetchStore("https://localhost:8080/data.zarr");
    let grp = await zarr.open(store); // network request for .zgroup/.zattrs
    let foo = await zarr.open(grp.resolve("/foo"), { kind: array }); // network request for .zarray/.zattrs
    
    // consolidated
    let store = new zarr.FetchStore("https://localhost:8080/data.zarr");
    let consolidatedStore = await zarr.withConsolidated(store); // opens ./zmetadata
    let contents = consolidatedStore.contents(); // [ {path: "/", kind: "group" }, { path: "/foo", kind: "array" }, ...]
    let grp = await zarr.open(consolidatedStore); // no network request
    let foo = await zarr.open(grp.resolve(contents[1].path), {
      kind: contents[1].kind,
    }); // no network request
  • feat: Remove .indices methods from Slice interface (#121)

    By making Slice a more minimal interface, it is easy to allow compatability with ZarrJS slice
    (or slices not generated by the slice helper function).

Patch Changes

  • Export Slice type from @zarrita/indexing (#258)

  • Fix TypedArray types for TypeScript < 5.7 (#239)

    TypeScript changed the typing behavior of all TypedArray objects to now be generic over the underlying ArrayBufferLike type. In order to have our types be consistent with these changes, we needed to specify the ArrayBuffer explicitly, but that breaks for older versions of TypeScript. This PR fixes the version of TypeScript to 5.6. We will need to bump again when we want to support 5.7.

  • Support read-only bitround codec (#234)

    Introduces BitroundCodec with a no-op for decoding because bit-rounding is lossy, and precision cannot be restored. Encoding is not yet implemented, reflecting zarrita's current focus on read-heavy contexts. Open an issue if encoding support is needed.

  • feat: generalize chunk-indexing/slicing operations (#103)

    Refactors the internals of get/set to operate on the raw 1D "bytes" for decompressed chunks.

  • fix: Use blanket storage export to avoid including @zarrita/storage in bundle (dad2e4e)

  • Conslidate @zarrita/indexing package into @zarrita/core (#262)

    Now @zarrita/indexing re-exports from zarrita. End users should prefer to import from zarrita.

  • Fix codec mapping (#180)

  • Remove `@zarrita/typedarray` package (now included in zarrita) (cbf160a)

  • Remove import from node:assert (#263)

  • Use a counter to prioritize v2/v3 when opening. (#109)

  • Add deprecation notice to @zarrita/indexing (59e8cbb)

  • Export Listable type (#176)

  • Remove use of public any from API in favor of unknown (#173)

  • Support transpose wiht explicit permutation (#256)

  • Add json2 codec. (#153)

  • Export BoolArray, UnicodeStringArray, and ByteStringArrary (cbf160a)

  • Consolidate @zarrita/core into zarrita (#269)

  • Fix: Handle missing v3 chunk_key_encoding.configuration (#188)

  • Enable creation of ReferenceStore via non-async functions. (#203)

  • fix: correctly export types from package.json (#98)

  • Deprecate package and move into zarrita (cbf160a)

  • Propagate getRange support in Listable when available (#252)

  • fix: Allow omitting codec configuration (#199)

  • Add licenses and READMES to packages (#107)

  • feat: Make unicode string array data view private (#123)

  • Add support for passing fetch options to ZipFileStore.fromUrl. (#156)

  • Re-export all @zarrita/storage types in zarrita (#248)

  • Updated dependencies [7756cdc, 3ec6538, cf7524c, 97210f6, 6080fb9, 29ef4b5, 361a7aa, 511dbdc]:

    • @zarrita/storage@0.1.0

@zarrita/storage@0.1.0

01 Mar 23:37
02bffb4
Compare
Choose a tag to compare

Minor Changes

  • fix(storage): Rename storage type Writeable to Writable (#114)

Patch Changes

  • Fix TypedArray types for TypeScript < 5.7 (#239)

    TypeScript changed the typing behavior of all TypedArray objects to now be generic over the underlying ArrayBufferLike type. In order to have our types be consistent with these changes, we needed to specify the ArrayBuffer explicitly, but that breaks for older versions of TypeScript. This PR fixes the version of TypeScript to 5.6. We will need to bump again when we want to support 5.7.

  • Use a counter to prioritize v2/v3 when opening. (#109)

  • Remove use of public any from API in favor of unknown (#173)

  • Consolidate @zarrita/core into zarrita (#269)

  • Add default generic paramter to ZipFileStore (#248)

  • FetchStore throws an error for 403 (forbidden) responses. This is a breaking change because previously 404 and 403 responses were treated the same way. Now, only 404 responses signify a "missing" key from the store. (#212)

  • Add support for passing fetch options to ReferenceStore. (#155)

@zarrita/ndarray@0.1.0

01 Mar 23:37
02bffb4
Compare
Choose a tag to compare

Minor Changes

  • Remove explicit order from GetOptions. (#274)

  • feat: Remove .indices methods from Slice interface (#121)

    By making Slice a more minimal interface, it is easy to allow compatability with ZarrJS slice
    (or slices not generated by the slice helper function).

Patch Changes

zarrita@0.4.0-next.27

01 Mar 23:06
7fcff54
Compare
Choose a tag to compare
zarrita@0.4.0-next.27 Pre-release
Pre-release

Patch Changes

  • Consolidate @zarrita/core into zarrita (#269)

  • Updated dependencies [97210f6]:

    • @zarrita/storage@0.1.0-next.10

zarrita@0.4.0-next.26

01 Mar 21:51
95c6f74
Compare
Choose a tag to compare
zarrita@0.4.0-next.26 Pre-release
Pre-release

Patch Changes

  • Conslidate @zarrita/indexing package into @zarrita/core (#262)

    Now @zarrita/indexing re-exports from zarrita. End users should prefer to import from zarrita.

  • Updated dependencies [574b809, cef0c89]:

    • @zarrita/core@0.1.0-next.23

zarrita@0.4.0-next.25

01 Mar 18:59
2686192
Compare
Choose a tag to compare
zarrita@0.4.0-next.25 Pre-release
Pre-release

Patch Changes

  • Updated dependencies [918267a]:
    • @zarrita/core@0.1.0-next.22
    • @zarrita/indexing@0.1.0-next.24

@zarrita/typedarray@0.1.0-next.9

01 Mar 21:51
95c6f74
Compare
Choose a tag to compare
Pre-release

Patch Changes

  • Updated dependencies [574b809]:
    • zarrita@0.4.0-next.26

@zarrita/typedarray@0.1.0-next.8

01 Mar 18:58
2686192
Compare
Choose a tag to compare
Pre-release

Patch Changes

  • Updated dependencies []:
    • zarrita@0.4.0-next.25