Skip to content

v0.1

Choose a tag to compare

@github-actions github-actions released this 26 Jun 13:03
· 91 commits to main since this release

First release. Java 25 Foreign Function & Memory (FFM) bindings for
Zstandard 1.5.7, built hermetically from
vendored source with zig cc (no JNI, no prebuilt binaries). 68 of the public
zstd symbols are bound; see docs/supported.md.

Added

  • One-shot compression/decompression over byte[] and zero-copy MemorySegment
    (Zstd, ZstdCompressCtx, ZstdDecompressCtx).
  • Dictionaries: training (ZDICT_trainFromBuffer, COVER / fast-COVER optimisers,
    finalizeDictionary), digested ZstdCompressDict / ZstdDecompressDict,
    dictionary ids and header size.
  • Streaming: ZstdOutputStream / ZstdInputStream (java.io) and a zero-copy
    MemorySegment driver (ZstdCompressStream / ZstdDecompressStream), with
    dictionaries, pledgedSrcSize, and live progress().
  • All advanced parameters (ZstdCompressParameter / ZstdDecompressParameter)
    with bounds queries; checksum, long-distance matching, window log, etc.
  • Frame inspection (ZstdFrame): header, content/compressed size, dictionary id,
    skippable frames.
  • Typed errors (ZstdException.code() / ZstdErrorCode) and memory accounting
    (sizeOf(), Zstd.estimate*Size).
  • Native artifacts for macOS, Linux and Windows on x86_64 and aarch64,
    cross-compiled from a single host with zig cc.
  • Format-compatibility tests against the reference zstd-jni binding.