Skip to content

chore(main): release 0.2.0 - #171

Merged
d-v-b merged 1 commit into
mainfrom
release-please--branches--main--components--refkv
Oct 31, 2026
Merged

d-v-b merged 1 commit into
mainfrom
release-please--branches--main--components--refkv

Conversation

@github-actions

@github-actions github-actions Bot commented Oct 30, 2026 •

Copy link
Copy Markdown
Contributor

🤖 I have created a release beep boop

0.2.0 (2026-10-31)

⚠ BREAKING CHANGES

  • zarr: archives name numcodecs.zlib for zlib streams and refkv.tiff_lzw for QPTIFF LZW tiles; refkv no longer registers zlib, imagecodecs_lzw, imagecodecs_jpeg, imagecodecs_jpeg2k or imagecodecs_jpegxr (the last three come from imagecodecs-zarr, in the images extra).
  • say zarrify for virtualize, in the code, the CLI, the spec and the docs (#112)
  • mp4: cut video chunks at keyframes and decode a chunk's planes once, as a stream (#107)
  • ir: add the refkv.stream codec, port MP3 onto it, and virtualize MP4 files as the MP4 profile (§18) (#99)
  • reader: read http(s) archives with refkv's own HTTP client, and make obstore an extra (#72)
  • python: make python/ a self-contained package versioned from git tags (#71)

Features

  • cli: add vzip convert, a Rust port of the converter that writes identical archives (#78) (a6fb670)
  • demo: add a QuickTime .mov from DANDI 001538 to the MP4 examples (#154) (3fabeb2)
  • demo: add examples of LIF, QPTIFF, HDF5, NumPy, MP3 and FLAC files (#160) (099d5b2)
  • demo: add NOAA HRRR and GFS forecasts as GRIB examples (#170) (4b3d193)
  • demo: link a hosted .vzip archive as a plain vzip: Neuroglancer source (#126) (1f5ffbc)
  • demo: make a DANDI behavior video the MP4 example (#152) (2fa1ea1)
  • demo: show a Python script that builds the same Zarr hierarchy (#169) (cbe7ad0)
  • demo: show an MP4 file's video in Neuroglancer, with a SLEAP example (#108) (463c316)
  • dicom: zarrify JPEG Lossless frames as imagecodecs_ljpeg chunks (#163) (97c4ef0)
  • flac: zarrify FLAC files as virtual shards of frames, with a shared shard pass (#121) (df14a47)
  • grib: zarrify GRIB2 files, each message a chunk decoded by refkv.grib (#166) (0dd9063)
  • hdf5: zarrify HDF5 files, NWB first among them, in hdmf-zarr's Zarr v3 form (#143) (8a56953)
  • ir: add the refkv.stream codec, port MP3 onto it, and virtualize MP4 files as the MP4 profile (§18) (#99) (8f79104)
  • ir: virtualize MP3 files through the Rust IR, as the MP3 profile (§16) (#91) (0b127f3)
  • ir: virtualize MRC2014 files through the Rust IR, as the MRC profile (revision 28) (#83) (5b43073)
  • ir: virtualize Olympus VSI slides through the Rust IR, as the VSI profile (revision 29) (#87) (8ab760f)
  • js: build refkv_embed.js, the virtualizer and FITS tile decoder for a host that reads the input itself (#109) (62af0f1)
  • lif: zarrify Leica LIF files, as the LIF profile (#118) (4a14bec)
  • mp4: cut video chunks at keyframes and decode a chunk's planes once, as a stream (#107) (fd78ebe)
  • mp4: zarrify H.264 tracks whose pictures are presented before their sync sample (#110) (8fec438)
  • mp4: zarrify HEVC video tracks, 8- and 10-bit 4:2:0 (#151) (99eda76)
  • ndpi: zarrify JPEG XR levels, with the pixels their streams hold (#125) (3e3cdc1)
  • npy: present the deflated members of .npz archives, as np.savez_compressed writes them (#158) (9d409d9)
  • npy: zarrify NumPy .npy files and the stored arrays of .npz archives (#156) (2780e2e)
  • nrrd: zarrify NRRD files, attached or detached, raw or gzip, as the NRRD profile (#119) (465d575)
  • phkv: add the perfect-hash binding (Part 3, draft), standalone and hybrid with vzip (#79) (6e7776e)
  • python: build free-threaded wheels for CPython 3.14t and 3.15t (#174) (1f5b7d1)
  • reader: read http(s) archives with refkv's own HTTP client, and make obstore an extra (#72) (a165682)
  • tiff: zarrify images in strips and LZW, as the QPTIFF profile does (#137) (3b4cbd8)
  • tiff: zarrify images with a horizontal predictor through imagecodecs_delta (#139) (242ae27)
  • types: type-check the repository with pyrefly's strict preset (#116) (eefa6bd)
  • virtualize: add an omero block to TIFF and NDPI images, with channel labels and colors (#95) (7d051e3)
  • virtualize: add the QPTIFF profile, with LZW tiles and strips (#84) (850969d)
  • virtualize: sample the omero windows of TIFF and QPTIFF images from the coarsest level (#98) (01c4200)
  • vsi: zarrify lossless JPEG tiles, and ETS headers that list no dimension sizes (#162) (52304c5)
  • zarr: expose refkv's codecs to zarr through entry points, and rename the clashing ones (#136) (1bdab30)
  • zarrify: add zarrify_async and zarrify_store_async, which keep the event loop free (#175) (ca01733)
  • zarrify: name an input's profile with a source or store class, and choose its layouts (#114) (db24287)
  • zarrify: pad NIfTI, MRC and FITS edge chunks with one shared zero data source (#120) (b5f0eda)

Bug fixes

  • demo: make two-finger scroll step along the data's first non-x/y axis (#168) (2ff14a3)
  • demo: point the N5 example at an OpenOrganelle store that still exists (#129) (5aeb5a3)
  • js: say that a failed fetch in a browser may be a server that does not allow cross-origin reads (#111) (4bf3955)
  • mp4: read a version 0 ctts box's offsets as signed (#153) (7ad0409)
  • mp4: reject an avcC SPS whose RBSP is too short for its profile and level (#133) (7d13d85)
  • mp4: reject an ftyp box too short for its fields instead of panicking (#132) (513f947)
  • ndpi: give a strip's frame header its level's size when the two differ (#101) (4a7b754)
  • ndpi: read ASCII values out of line, and add no McuStartsHighBytes to an in-line McuStarts (#130) (2aa5b20)
  • nightly: report inputs their server did not serve as unavailable, and compare mutants as their fixtures (#159) (7a7e572)
  • reader: send a User-Agent with every range request (#92) (dc35c76)
  • sections: leave CHANGELOG.md's section references as release-please writes them (#173) (af8f923)
  • uri: percent-encode a local path when it names a source (#124) (a944426), closes #122
  • uri: support Windows paths in file: URIs, and run CI on Linux, macOS and Windows (#70) (8ba6323)
  • vsi: probe a stack's frame_t_0.ets only when its frame_t.ets is absent (#161) (6f33355)
  • zarr: decode zarrified HDF5 files' float attributes, so NWBZarrIO reads a rate of NaN (#149) (782ec27)

Documentation

  • add a guide and a project skill for adding a file format (#155) (276ebad)
  • demo: move the demo site to d-v-b.github.io/refkv-demo (#164) (89beb0f)
  • design: center PITCH.md on refkv as the model and vzip as its ZIP binding (#76) (994a08d)
  • design: drop the process history from COMPARISON.md and PITCH.md (#75) (0f7b66d)
  • design: frame vzip as an experiment and point readers to Icechunk and kerchunk (#74) (de1e1c5)
  • design: measure third-party readers against the Rust parsers, and keep the parsers (#135) (65b5131)
  • design: plan the FITS profile, a single-file virtualizer with a tile codec (#88) (5b56a47)
  • give each format a runnable example that zarrifies public data and plots it (#113) (94e473f)
  • readme: present refkv as the model and vzip as its ZIP binding (#77) (c00546b)
  • spec: state the format documents' shared paragraphs once, and check every CMO copy (#104) (44054be)
  • spec: tabulate every zarrification profile and reconcile the specs with refkv (#131) (209b0ef)

Refactoring

  • say zarrify for virtualize, in the code, the CLI, the spec and the docs (#112) (adb44e9)

Build

  • python: make python/ a self-contained package versioned from git tags (#71) (1d02f13)

This PR was generated with Release Please. See documentation.

@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--refkv branch 3 times, most recently from 9afb656 to ec15da4 Compare October 31, 2026 10:04
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--refkv branch from ec15da4 to c022013 Compare October 31, 2026 10:28
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--refkv branch from c022013 to 6c0bb7c Compare October 31, 2026 13:03
@github-actions
github-actions Bot force-pushed the release-please--branches--main--components--refkv branch from 6c0bb7c to e5a734f Compare October 31, 2026 14:20
@d-v-b
d-v-b merged commit 10afa20 into main Oct 31, 2026
23 checks passed
@d-v-b
d-v-b deleted the release-please--branches--main--components--refkv branch October 31, 2026 15:29
@github-actions

Copy link
Copy Markdown
Contributor Author

🤖 Created releases:

🌻

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Bug: unable to save or read when target local path (directories or files) has spaces

1 participant