docs: plugin filters and the filter registry
CHANGELOG (Unreleased): LZF, bitshuffle, bzip2 and Blosc read and write in pure Rust, their features, the ChunkOptions::plugin field (breaking for struct-literal construction), the filter registry, the named UnsupportedFilter message, and Blosc2/ZFP still unimplemented. README: the clawhdf5-format feature table gains lzf (default), bitshuffle, bzip2, blosc and plugin-filters, with how to write them and what is not implemented; no speed claims. docs/known-issues.md: the audit's filter gap is marked fixed 2026-09-26 for LZF/bitshuffle/bzip2/Blosc, Blosc2 and ZFP still open. CLAUDE.md: the clawhdf5-filters row no longer says "No Blosc". clawhdf5-format's crate docs list the new features. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]>
This commit is contained in:
@@ -133,7 +133,14 @@ fill-value item that did is fixed).
|
||||
- x87 long double and binary128 are refused.
|
||||
- N-Bit on 64-bit scale-offset data and some N-Bit parameter layouts fail.
|
||||
- **Filters:** blosc, blosc2, bitshuffle, bzip2, LZF and zfp are not
|
||||
implemented.
|
||||
implemented. **Fixed 2026-09-26** for LZF (default-on `lzf` feature),
|
||||
bitshuffle, bzip2 and Blosc 1 (`bitshuffle`, `bzip2`, `blosc`, or
|
||||
`plugin-filters` for all), read and write, pure Rust; h5ex_d_lzf,
|
||||
h5ex_d_bshuf, h5ex_d_bzip2 and h5ex_d_blosc now read (conformance 573 of
|
||||
697 ok). **Still open:** Blosc2 (32026 — hdf5plugin stores each chunk as a
|
||||
Blosc2 super-chunk frame, and n-D chunks as B2ND arrays) and ZFP (32013);
|
||||
both fail with an `UnsupportedFilter` error that names the filter, and
|
||||
either can be plugged in with `filter_registry::register_filter`.
|
||||
- **Header checks:** on 12 CVE datasets libhdf5 rejects a corrupt header and
|
||||
we read data anyway. We need stricter header checks.
|
||||
- **Writer:**
|
||||
|
||||
Reference in New Issue
Block a user