Skip to content

build(deps): Bump zstd.version from 0.10 to 0.11 - #312

Closed
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/maven/zstd.version-0.11
Closed

build(deps): Bump zstd.version from 0.10 to 0.11#312
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/maven/zstd.version-0.11

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jul 25, 2026

Copy link
Copy Markdown
Contributor

Bumps zstd.version from 0.10 to 0.11.
Updates io.github.dfa1.zstd:zstd from 0.10 to 0.11

Release notes

Sourced from io.github.dfa1.zstd:zstd's releases.

v0.11

Changed

  • Breaking: every public API that took or returned a naked int/long byte size or count now takes/returns a ZstdByteSize value type, which rejects negative values at construction (throwing IllegalArgumentException) — once you hold a ZstdByteSize it is guaranteed valid, no more wondering whether a raw long from the library still needs checking. Sizes that must fit a byte[] narrow via ZstdByteSize.toIntExact() (throwing ArithmeticException above Integer.MAX_VALUE), matching the JDK's own Math.toIntExact; native and streaming totals pass through as long. A frame-declared content size that is a zstd sentinel, or otherwise invalid (including the unsigned range above Long.MAX_VALUE, read as a negative long), fails fast with ZstdException via ZstdByteSize.fromFrameContentSize(long) rather than reaching the constructor's generic negative-value guard; ZstdFrameHeader.contentSize() is now Optional<ZstdByteSize> (was OptionalLong) via the sibling ZstdByteSize.fromFrameHeaderContentSize(long), which treats any negative reading — not just the sentinel — as absent, since it can only mean an unrepresentable declared size. Affects Zstd.decompress(byte[], …), Zstd.compressBound, Zstd.estimateCompressContextSize/estimateDecompressContextSize/ estimateCompressDictSize/estimateDecompressDictSize, Zstd.decompressedSize(MemorySegment), ZstdDictionary.train/trainCover/trainFastCover/finalizeFrom, ZstdOutputStream.withPledgedSize, ZstdFrame.decompressedSize/ decompressedBound, ZstdFrameHeader.contentSize, and sizeOf() on ZstdCompressContext/ZstdDecompressContext/ZstdCompressStream/ ZstdDecompressStream/ZstdCompressDictionary/ZstdDecompressDictionary. Use new ZstdByteSize(n), or ZstdByteSize.ofKiB(n)/ofMiB(n) for a size expressed in KiB/MiB. (#96)
  • Breaking: every public API that took a raw int compression level now takes a ZstdCompressionLevel value type, which validates the level against the linked libzstd's accepted range at construction (throwing IllegalArgumentException) rather than deferring to native clamping/errors. Affects Zstd.compress(byte[], …), Zstd.estimateCompressContextSize, Zstd.estimateCompressDictSize, ZstdCompressContext.level, ZstdCompressStream, ZstdOutputStream, ZstdCompressDictionary, ZstdDictionary.compressDict/trainCover/trainFastCover/finalizeFrom. Use new ZstdCompressionLevel(19) or the DEFAULT/FASTEST/MAX constants. The Zstd.min/max/defaultCompressionLevel() bound queries still return int. (#93)
Changelog

Sourced from io.github.dfa1.zstd:zstd's changelog.

[0.11] - 2026-07-24

Changed

  • Breaking: every public API that took or returned a naked int/long byte size or count now takes/returns a ZstdByteSize value type, which rejects negative values at construction (throwing IllegalArgumentException) — once you hold a ZstdByteSize it is guaranteed valid, no more wondering whether a raw long from the library still needs checking. Sizes that must fit a byte[] narrow via ZstdByteSize.toIntExact() (throwing ArithmeticException above Integer.MAX_VALUE), matching the JDK's own Math.toIntExact; native and streaming totals pass through as long. A frame-declared content size that is a zstd sentinel, or otherwise invalid (including the unsigned range above Long.MAX_VALUE, read as a negative long), fails fast with ZstdException via ZstdByteSize.fromFrameContentSize(long) rather than reaching the constructor's generic negative-value guard; ZstdFrameHeader.contentSize() is now Optional<ZstdByteSize> (was OptionalLong) via the sibling ZstdByteSize.fromFrameHeaderContentSize(long), which treats any negative reading — not just the sentinel — as absent, since it can only mean an unrepresentable declared size. Affects Zstd.decompress(byte[], …), Zstd.compressBound, Zstd.estimateCompressContextSize/estimateDecompressContextSize/ estimateCompressDictSize/estimateDecompressDictSize, Zstd.decompressedSize(MemorySegment), ZstdDictionary.train/trainCover/trainFastCover/finalizeFrom, ZstdOutputStream.withPledgedSize, ZstdFrame.decompressedSize/ decompressedBound, ZstdFrameHeader.contentSize, and sizeOf() on ZstdCompressContext/ZstdDecompressContext/ZstdCompressStream/ ZstdDecompressStream/ZstdCompressDictionary/ZstdDecompressDictionary. Use new ZstdByteSize(n), or ZstdByteSize.ofKiB(n)/ofMiB(n) for a size expressed in KiB/MiB. (#96)
  • Breaking: every public API that took a raw int compression level now takes a ZstdCompressionLevel value type, which validates the level against the linked libzstd's accepted range at construction (throwing IllegalArgumentException) rather than deferring to native clamping/errors. Affects Zstd.compress(byte[], …), Zstd.estimateCompressContextSize, Zstd.estimateCompressDictSize, ZstdCompressContext.level, ZstdCompressStream, ZstdOutputStream, ZstdCompressDictionary, ZstdDictionary.compressDict/trainCover/trainFastCover/finalizeFrom. Use new ZstdCompressionLevel(19) or the DEFAULT/FASTEST/MAX constants. The Zstd.min/max/defaultCompressionLevel() bound queries still return int. (#93)
Commits
  • f54693b release: 0.11
  • f6e2c5c docs: zero-copy mmap-vs-jni story, JMH-backed (#101)
  • f0581ca feat: replace naked int/long byte sizes with ZstdByteSize (#98)
  • 4a86470 feat: replace raw int compression level with ZstdCompressionLevel (#97)
  • 77bea85 build(deps): Bump io.airlift:aircompressor-v3 (#90)
  • 07ac5cd docs: add ADR 0016 - RFC 9842 module split and naming
  • 54fe46a ci: release-smoke - run smoke checks as real JUnit @​Test methods (#89)
  • 742ba66 ci: release-smoke - every leg gates, results table cleanup (#88)
  • 9aa510f ci: release-smoke - run a real Maven build instead of jbang/javac+java (#87)
  • See full diff in compare view

Updates io.github.dfa1.zstd:zstd-platform from 0.10 to 0.11

Release notes

Sourced from io.github.dfa1.zstd:zstd-platform's releases.

v0.11

Changed

  • Breaking: every public API that took or returned a naked int/long byte size or count now takes/returns a ZstdByteSize value type, which rejects negative values at construction (throwing IllegalArgumentException) — once you hold a ZstdByteSize it is guaranteed valid, no more wondering whether a raw long from the library still needs checking. Sizes that must fit a byte[] narrow via ZstdByteSize.toIntExact() (throwing ArithmeticException above Integer.MAX_VALUE), matching the JDK's own Math.toIntExact; native and streaming totals pass through as long. A frame-declared content size that is a zstd sentinel, or otherwise invalid (including the unsigned range above Long.MAX_VALUE, read as a negative long), fails fast with ZstdException via ZstdByteSize.fromFrameContentSize(long) rather than reaching the constructor's generic negative-value guard; ZstdFrameHeader.contentSize() is now Optional<ZstdByteSize> (was OptionalLong) via the sibling ZstdByteSize.fromFrameHeaderContentSize(long), which treats any negative reading — not just the sentinel — as absent, since it can only mean an unrepresentable declared size. Affects Zstd.decompress(byte[], …), Zstd.compressBound, Zstd.estimateCompressContextSize/estimateDecompressContextSize/ estimateCompressDictSize/estimateDecompressDictSize, Zstd.decompressedSize(MemorySegment), ZstdDictionary.train/trainCover/trainFastCover/finalizeFrom, ZstdOutputStream.withPledgedSize, ZstdFrame.decompressedSize/ decompressedBound, ZstdFrameHeader.contentSize, and sizeOf() on ZstdCompressContext/ZstdDecompressContext/ZstdCompressStream/ ZstdDecompressStream/ZstdCompressDictionary/ZstdDecompressDictionary. Use new ZstdByteSize(n), or ZstdByteSize.ofKiB(n)/ofMiB(n) for a size expressed in KiB/MiB. (#96)
  • Breaking: every public API that took a raw int compression level now takes a ZstdCompressionLevel value type, which validates the level against the linked libzstd's accepted range at construction (throwing IllegalArgumentException) rather than deferring to native clamping/errors. Affects Zstd.compress(byte[], …), Zstd.estimateCompressContextSize, Zstd.estimateCompressDictSize, ZstdCompressContext.level, ZstdCompressStream, ZstdOutputStream, ZstdCompressDictionary, ZstdDictionary.compressDict/trainCover/trainFastCover/finalizeFrom. Use new ZstdCompressionLevel(19) or the DEFAULT/FASTEST/MAX constants. The Zstd.min/max/defaultCompressionLevel() bound queries still return int. (#93)
Changelog

Sourced from io.github.dfa1.zstd:zstd-platform's changelog.

[0.11] - 2026-07-24

Changed

  • Breaking: every public API that took or returned a naked int/long byte size or count now takes/returns a ZstdByteSize value type, which rejects negative values at construction (throwing IllegalArgumentException) — once you hold a ZstdByteSize it is guaranteed valid, no more wondering whether a raw long from the library still needs checking. Sizes that must fit a byte[] narrow via ZstdByteSize.toIntExact() (throwing ArithmeticException above Integer.MAX_VALUE), matching the JDK's own Math.toIntExact; native and streaming totals pass through as long. A frame-declared content size that is a zstd sentinel, or otherwise invalid (including the unsigned range above Long.MAX_VALUE, read as a negative long), fails fast with ZstdException via ZstdByteSize.fromFrameContentSize(long) rather than reaching the constructor's generic negative-value guard; ZstdFrameHeader.contentSize() is now Optional<ZstdByteSize> (was OptionalLong) via the sibling ZstdByteSize.fromFrameHeaderContentSize(long), which treats any negative reading — not just the sentinel — as absent, since it can only mean an unrepresentable declared size. Affects Zstd.decompress(byte[], …), Zstd.compressBound, Zstd.estimateCompressContextSize/estimateDecompressContextSize/ estimateCompressDictSize/estimateDecompressDictSize, Zstd.decompressedSize(MemorySegment), ZstdDictionary.train/trainCover/trainFastCover/finalizeFrom, ZstdOutputStream.withPledgedSize, ZstdFrame.decompressedSize/ decompressedBound, ZstdFrameHeader.contentSize, and sizeOf() on ZstdCompressContext/ZstdDecompressContext/ZstdCompressStream/ ZstdDecompressStream/ZstdCompressDictionary/ZstdDecompressDictionary. Use new ZstdByteSize(n), or ZstdByteSize.ofKiB(n)/ofMiB(n) for a size expressed in KiB/MiB. (#96)
  • Breaking: every public API that took a raw int compression level now takes a ZstdCompressionLevel value type, which validates the level against the linked libzstd's accepted range at construction (throwing IllegalArgumentException) rather than deferring to native clamping/errors. Affects Zstd.compress(byte[], …), Zstd.estimateCompressContextSize, Zstd.estimateCompressDictSize, ZstdCompressContext.level, ZstdCompressStream, ZstdOutputStream, ZstdCompressDictionary, ZstdDictionary.compressDict/trainCover/trainFastCover/finalizeFrom. Use new ZstdCompressionLevel(19) or the DEFAULT/FASTEST/MAX constants. The Zstd.min/max/defaultCompressionLevel() bound queries still return int. (#93)
Commits
  • f54693b release: 0.11
  • f6e2c5c docs: zero-copy mmap-vs-jni story, JMH-backed (#101)
  • f0581ca feat: replace naked int/long byte sizes with ZstdByteSize (#98)
  • 4a86470 feat: replace raw int compression level with ZstdCompressionLevel (#97)
  • 77bea85 build(deps): Bump io.airlift:aircompressor-v3 (#90)
  • 07ac5cd docs: add ADR 0016 - RFC 9842 module split and naming
  • 54fe46a ci: release-smoke - run smoke checks as real JUnit @​Test methods (#89)
  • 742ba66 ci: release-smoke - every leg gates, results table cleanup (#88)
  • 9aa510f ci: release-smoke - run a real Maven build instead of jbang/javac+java (#87)
  • See full diff in compare view

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps `zstd.version` from 0.10 to 0.11.

Updates `io.github.dfa1.zstd:zstd` from 0.10 to 0.11
- [Release notes](https://github.com/dfa1/zstd-java/releases)
- [Changelog](https://github.com/dfa1/zstd-java/blob/main/CHANGELOG.md)
- [Commits](dfa1/zstd-java@v0.10...v0.11)

Updates `io.github.dfa1.zstd:zstd-platform` from 0.10 to 0.11
- [Release notes](https://github.com/dfa1/zstd-java/releases)
- [Changelog](https://github.com/dfa1/zstd-java/blob/main/CHANGELOG.md)
- [Commits](dfa1/zstd-java@v0.10...v0.11)

---
updated-dependencies:
- dependency-name: io.github.dfa1.zstd:zstd
  dependency-version: '0.11'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.github.dfa1.zstd:zstd-platform
  dependency-version: '0.11'
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file java Pull requests that update java code labels Jul 25, 2026
@dfa1

dfa1 commented Jul 26, 2026

Copy link
Copy Markdown
Owner

Superseded by #318, which bumps straight to the latest stable (0.12) instead of 0.11.

@dfa1 dfa1 closed this Jul 26, 2026
@dependabot @github

dependabot Bot commented on behalf of github Jul 26, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. You can also ignore all major, minor, or patch releases for a dependency by adding an ignore condition with the desired update_types to your config file.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/maven/zstd.version-0.11 branch July 26, 2026 13:38
dfa1 added a commit that referenced this pull request Jul 26, 2026
Latest stable io.github.dfa1.zstd:zstd/zstd-platform. v0.11 and v0.12
migrated several public APIs (compression level, byte sizes, window
log, frame header fields, Zstd.version()) from naked int/long/String
to validated value types (ZstdByteSize, ZstdCompressionLevel,
ZstdWindowLog, ZstdVersion, ...), but every API vortex-java actually
calls - the zero-copy MemorySegment compress/decompress overloads,
Zstd.compress(byte[]), ZstdDictionary.of(byte[]) - kept its signature
unchanged across both releases, so no source changes are needed here.

Verified: full reactor build, full unit test suite (including the
zstd encoder/decoder/binding-guard tests), and the Rust-interop
javaWriter_rustReader_zstd_* integration tests (real libzstd 0.12
native binding) all pass unmodified.

Supersedes dependabot PR #312 (0.10 -> 0.11).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file java Pull requests that update java code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant