From def911f93ca3d3b0b04c6b28fe6e390aa2caf29e Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Sun, 28 Jun 2026 12:32:20 +0000 Subject: [PATCH 1/2] build(deps): Bump zstd.version from 0.6 to 0.7 Bumps `zstd.version` from 0.6 to 0.7. Updates `io.github.dfa1.zstd:zstd` from 0.6 to 0.7 - [Release notes](https://github.com/dfa1/zstd-java/releases) - [Changelog](https://github.com/dfa1/zstd-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/dfa1/zstd-java/compare/v0.6...v0.7) Updates `io.github.dfa1.zstd:zstd-platform` from 0.6 to 0.7 - [Release notes](https://github.com/dfa1/zstd-java/releases) - [Changelog](https://github.com/dfa1/zstd-java/blob/main/CHANGELOG.md) - [Commits](https://github.com/dfa1/zstd-java/compare/v0.6...v0.7) --- updated-dependencies: - dependency-name: io.github.dfa1.zstd:zstd dependency-version: '0.7' dependency-type: direct:production update-type: version-update:semver-minor - dependency-name: io.github.dfa1.zstd:zstd-platform dependency-version: '0.7' dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index e70d537a..2fd3e17b 100644 --- a/pom.xml +++ b/pom.xml @@ -58,7 +58,7 @@ 25 UTF-8 - 0.6 + 0.7 4.3.0 From 463c240c16e4eee181e076960708459292b373cf Mon Sep 17 00:00:00 2001 From: Davide Angelocola Date: Sun, 28 Jun 2026 14:38:35 +0200 Subject: [PATCH 2/2] fix(zstd): adopt renamed context/dictionary classes for zstd 0.7 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit zstd 0.7 renamed the FFM binding classes: ZstdCompressCtx → ZstdCompressContext, ZstdDecompressCtx → ZstdDecompressContext, ZstdDecompressDict → ZstdDecompressDictionary. Method signatures are unchanged, so the encoder/decoder just track the new names. Co-Authored-By: Claude Opus 4.8 --- .../vortex/reader/decode/ZstdEncodingDecoder.java | 12 ++++++------ .../vortex/writer/encode/ZstdEncodingEncoder.java | 4 ++-- .../writer/encode/ZstdEncodingEncoderTest.java | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZstdEncodingDecoder.java b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZstdEncodingDecoder.java index 007c42b5..97227a8d 100644 --- a/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZstdEncodingDecoder.java +++ b/reader/src/main/java/io/github/dfa1/vortex/reader/decode/ZstdEncodingDecoder.java @@ -19,8 +19,8 @@ import io.github.dfa1.vortex.reader.array.MaterializedShortArray; import io.github.dfa1.vortex.reader.array.VarBinArray; -import io.github.dfa1.zstd.ZstdDecompressCtx; -import io.github.dfa1.zstd.ZstdDecompressDict; +import io.github.dfa1.zstd.ZstdDecompressContext; +import io.github.dfa1.zstd.ZstdDecompressDictionary; import java.io.IOException; import java.lang.foreign.Arena; @@ -168,9 +168,9 @@ private static MemorySegment decompressFrames( boolean hasDictionary = meta.dictionary_size() != 0; int frameBufferBase = hasDictionary ? 1 : 0; MemorySegment out = ctx.arena().allocate(totalUncompressed); - try (ZstdDecompressCtx dctx = new ZstdDecompressCtx(); + try (ZstdDecompressContext dctx = new ZstdDecompressContext(); Arena scratch = Arena.ofConfined()) { - ZstdDecompressDict dictionary = hasDictionary + ZstdDecompressDictionary dictionary = hasDictionary ? digestDictionary(asNative(ctx.buffer(0), scratch), meta.dictionary_size()) : null; try { @@ -207,13 +207,13 @@ private static MemorySegment decompressFrames( /// `declaredSize` is the metadata's `dictionary_size`; it must match the dictionary buffer's /// byte size (the Rust reference enforces the same invariant), otherwise the segment is /// malformed and we fail fast rather than digest a truncated dictionary. - private static ZstdDecompressDict digestDictionary(MemorySegment dictBuffer, long declaredSize) { + private static ZstdDecompressDictionary digestDictionary(MemorySegment dictBuffer, long declaredSize) { if (dictBuffer.byteSize() != declaredSize) { throw new VortexException(EncodingId.VORTEX_ZSTD, "dictionary size metadata " + declaredSize + " does not match buffer size " + dictBuffer.byteSize()); } - return new ZstdDecompressDict(dictBuffer); + return new ZstdDecompressDictionary(dictBuffer); } /// Returns `seg` unchanged when it is already native (the production mmap path); otherwise diff --git a/writer/src/main/java/io/github/dfa1/vortex/writer/encode/ZstdEncodingEncoder.java b/writer/src/main/java/io/github/dfa1/vortex/writer/encode/ZstdEncodingEncoder.java index 8307a8f2..aef2996d 100644 --- a/writer/src/main/java/io/github/dfa1/vortex/writer/encode/ZstdEncodingEncoder.java +++ b/writer/src/main/java/io/github/dfa1/vortex/writer/encode/ZstdEncodingEncoder.java @@ -1,6 +1,6 @@ package io.github.dfa1.vortex.writer.encode; -import io.github.dfa1.zstd.ZstdCompressCtx; +import io.github.dfa1.zstd.ZstdCompressContext; import io.github.dfa1.vortex.core.model.DType; import io.github.dfa1.vortex.core.model.PType; import io.github.dfa1.vortex.core.error.VortexException; @@ -241,7 +241,7 @@ private static Frames compressFrames(MemorySegment raw, FrameLayout layout, Aren List compressed = new ArrayList<>(frameCount); List metas = new ArrayList<>(frameCount); long offset = 0; - try (ZstdCompressCtx cctx = new ZstdCompressCtx()) { + try (ZstdCompressContext cctx = new ZstdCompressContext()) { for (int f = 0; f < frameCount; f++) { long len = layout.byteLengths()[f]; compressed.add(cctx.compress(arena, raw.asSlice(offset, len))); diff --git a/writer/src/test/java/io/github/dfa1/vortex/writer/encode/ZstdEncodingEncoderTest.java b/writer/src/test/java/io/github/dfa1/vortex/writer/encode/ZstdEncodingEncoderTest.java index af141032..d4fd08a5 100644 --- a/writer/src/test/java/io/github/dfa1/vortex/writer/encode/ZstdEncodingEncoderTest.java +++ b/writer/src/test/java/io/github/dfa1/vortex/writer/encode/ZstdEncodingEncoderTest.java @@ -1,7 +1,7 @@ package io.github.dfa1.vortex.writer.encode; import io.github.dfa1.zstd.Zstd; -import io.github.dfa1.zstd.ZstdCompressCtx; +import io.github.dfa1.zstd.ZstdCompressContext; import io.github.dfa1.zstd.ZstdDictionary; import io.github.dfa1.vortex.core.model.DType; import io.github.dfa1.vortex.core.model.PType; @@ -261,7 +261,7 @@ private static byte[] compress(byte[] input) { } private static byte[] compressWithDict(byte[] input, byte[] dict) { - try (ZstdCompressCtx cctx = new ZstdCompressCtx()) { + try (ZstdCompressContext cctx = new ZstdCompressContext()) { return cctx.compress(input, ZstdDictionary.of(dict)); } }