Skip to content

v0.5

Choose a tag to compare

@github-actions github-actions released this 27 Jun 07:07
· 47 commits to main since this release

Added

  • ZstdCompressCtx.reset(ZstdResetDirective) / ZstdDecompressCtx.reset(...)
    recycle a context's native state between frames without freeing and recreating
    it. SESSION_ONLY keeps the level, parameters, and dictionary; PARAMETERS /
    SESSION_AND_PARAMETERS restore the defaults. Binds ZSTD_CCtx_reset /
    ZSTD_DCtx_reset.
    (3dfd5b8)
  • ZstdCompressCtx.loadDictionary(...) / ZstdDecompressCtx.loadDictionary(...)
    (a ZstdDictionary or a native MemorySegment) and refDictionary(...) (a
    pre-digested ZstdCompressDict / ZstdDecompressDict, attached by reference,
    no copy). A sticky dictionary on the context lets compression combine a
    dictionary with the advanced parameters (checksum, window log, long-distance
    matching) — impossible through the per-call compress(src, dict) overloads,
    which route the legacy dictionary path. A parameter reset(...) clears it.
    Binds ZSTD_CCtx_loadDictionary / ZSTD_DCtx_loadDictionary (now on contexts,
    not just streams), ZSTD_CCtx_refCDict, ZSTD_DCtx_refDDict.
    (3dfd5b8)

Changed

  • NativeLibrary.classifier() now throws a clear UnsatisfiedLinkError naming
    the unsupported CPU arch instead of silently mapping it to x86_64 (which
    deferred failure to a cryptic dlopen error). Added an explicit amd64
    branch so Linux JVMs (which report os.arch=amd64) still resolve x86_64.
    (ea1ac84)

Fixed

  • Native JARs are much smaller. The ELF shared library is now stripped at link
    time (-s), dropping debug info (libzstd.so 4.0M -> ~650K), and the
    multi-MB .pdb debug database and .lib import library that lld emits next
    to the Windows .dll are no longer bundled (neither is needed at runtime).
    Net: linux-x86_64 native jar 1.2M -> 285K, windows-x86_64 1.2M -> 372K.
    (ea1ac84)