Skip to content

build(deps): Bump zstd.version from 0.5 to 0.6#188

Merged
dfa1 merged 1 commit into
mainfrom
dependabot/maven/zstd.version-0.6
Jun 28, 2026
Merged

build(deps): Bump zstd.version from 0.5 to 0.6#188
dfa1 merged 1 commit into
mainfrom
dependabot/maven/zstd.version-0.6

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Jun 27, 2026

Copy link
Copy Markdown
Contributor

Bumps zstd.version from 0.5 to 0.6.
Updates io.github.dfa1.zstd:zstd from 0.5 to 0.6

Release notes

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

v0.6

Added

  • ZstdCompressCtx.refPrefix(MemorySegment) / ZstdDecompressCtx.refPrefix(...) — reference native content as a single-use prefix (raw-content dictionary) for the next frame only: the building block for delta compression (compress a new version against a similar previous one). The prefix is referenced, not copied or digested, and writes no dictionary ID; the decompressor must reference the same prefix to decode. Binds ZSTD_CCtx_refPrefix / ZSTD_DCtx_refPrefix. Segment-only by design — heap callers that need a copy should use loadDictionary instead.
  • Zstd.dictId(byte[]) / Zstd.dictId(MemorySegment) — read the dictionary id stamped in raw dictionary bytes without wrapping them in a ZstdDictionary. Binds ZSTD_getDictID_fromDict.
  • ZstdDictionaryId value type — a record wrapping the 32-bit dictionary id with an unsigned value(), isPresent(), and the NONE sentinel for "no id".
  • ZstdFrame.decompressedSize(byte[]) / ZstdFrame.decompressedSize(MemorySegment) — the exact combined decompressed size of all concatenated frames, summed from each frame header (throws if any frame does not record its size). Complements decompressedBound (upper bound). Binds ZSTD_findDecompressedSize.
  • ZstdFrame.headerSize(byte[]) / ZstdFrame.headerSize(MemorySegment) — the size of a frame's header computed from just its leading bytes (as few as 5), without a full parse. Binds ZSTD_frameHeaderSize.
  • ZstdFrame.decompressionMargin(byte[]) / ZstdFrame.decompressionMargin(MemorySegment) — the extra room needed to decompress a frame in place (output buffer overlaps the compressed input at its tail), sized decompressedSize + margin. Binds ZSTD_decompressionMargin.
  • ZstdDictionary.compressDict(int) / compressDict() / decompressDict() — factories for digested dictionaries, e.g. dict.compressDict(19) instead of new ZstdCompressDict(dict, 19). They signal that the result is AutoCloseable and are for sharing one digest across contexts via refDictionary; a single context should prefer the context-owned loadDictionary.

Changed

  • Every dictionary-id accessor now returns ZstdDictionaryId instead of int: ZstdDictionary.id(), ZstdCompressDict.id(), ZstdDecompressDict.id(), ZstdFrame.dictId(...), and ZstdFrameHeader.dictId(). The 0 sentinel is now ZstdDictionaryId.NONE, and the id reads as unsigned via value().
  • Zstd.decompress(byte[]) now throws ZstdException (instead of letting a raw ArithmeticException escape) when a frame declares a content size larger than a Java array can hold. The size comes from the untrusted frame header; use decompress(byte[], int) to bound output for untrusted input.
Changelog

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

[0.6] - 2026-06-27

Added

  • ZstdCompressCtx.refPrefix(MemorySegment) / ZstdDecompressCtx.refPrefix(...) — reference native content as a single-use prefix (raw-content dictionary) for the next frame only: the building block for delta compression (compress a new version against a similar previous one). The prefix is referenced, not copied or digested, and writes no dictionary ID; the decompressor must reference the same prefix to decode. Binds ZSTD_CCtx_refPrefix / ZSTD_DCtx_refPrefix. Segment-only by design — heap callers that need a copy should use loadDictionary instead.
  • Zstd.dictId(byte[]) / Zstd.dictId(MemorySegment) — read the dictionary id stamped in raw dictionary bytes without wrapping them in a ZstdDictionary. Binds ZSTD_getDictID_fromDict.
  • ZstdDictionaryId value type — a record wrapping the 32-bit dictionary id with an unsigned value(), isPresent(), and the NONE sentinel for "no id".
  • ZstdFrame.decompressedSize(byte[]) / ZstdFrame.decompressedSize(MemorySegment) — the exact combined decompressed size of all concatenated frames, summed from each frame header (throws if any frame does not record its size). Complements decompressedBound (upper bound). Binds ZSTD_findDecompressedSize.
  • ZstdFrame.headerSize(byte[]) / ZstdFrame.headerSize(MemorySegment) — the size of a frame's header computed from just its leading bytes (as few as 5), without a full parse. Binds ZSTD_frameHeaderSize.
  • ZstdFrame.decompressionMargin(byte[]) / ZstdFrame.decompressionMargin(MemorySegment) — the extra room needed to decompress a frame in place (output buffer overlaps the compressed input at its tail), sized decompressedSize + margin. Binds ZSTD_decompressionMargin.
  • ZstdDictionary.compressDict(int) / compressDict() / decompressDict() — factories for digested dictionaries, e.g. dict.compressDict(19) instead of new ZstdCompressDict(dict, 19). They signal that the result is AutoCloseable and are for sharing one digest across contexts via refDictionary; a single context should prefer the context-owned loadDictionary.

Changed

  • Every dictionary-id accessor now returns ZstdDictionaryId instead of int: ZstdDictionary.id(), ZstdCompressDict.id(), ZstdDecompressDict.id(), ZstdFrame.dictId(...), and ZstdFrameHeader.dictId(). The 0 sentinel is now ZstdDictionaryId.NONE, and the id reads as unsigned via value().
  • Zstd.decompress(byte[]) now throws ZstdException (instead of letting a raw ArithmeticException escape) when a frame declares a content size larger than a Java array can hold. The size comes from the untrusted frame header; use decompress(byte[], int) to bound output for untrusted input.
Commits
  • 99e7dd6 release: 0.6 (#36)
  • 33eb302 harden: ZstdException on oversized declared size + decompression-bomb tests (...
  • 101cecb feat: bind ZSTD_decompressionMargin for in-place decompression (#34)
  • 367556e feat: add digested-dictionary factories; clarify dictionary lifetime in docs ...
  • c71387e refactor: use Markdown reference links in Javadoc, ban {@​link} via checkstyle...
  • 751ead5 test: cover NativeObject lifecycle via a test subclass (#31)
  • 25737ae feat: bind findDecompressedSize + frameHeaderSize; dedup content-size checks ...
  • 4cf8559 feat: bind ZSTD_getDictID_fromDict and add ZstdDictionaryId value type (#29)
  • 77dc09f chore: name the parent POM zstd-java (#28)
  • 04602ae feat: prefix dictionaries (refPrefix) for delta compression (#27)
  • Additional commits viewable in compare view

Updates io.github.dfa1.zstd:zstd-platform from 0.5 to 0.6

Release notes

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

v0.6

Added

  • ZstdCompressCtx.refPrefix(MemorySegment) / ZstdDecompressCtx.refPrefix(...) — reference native content as a single-use prefix (raw-content dictionary) for the next frame only: the building block for delta compression (compress a new version against a similar previous one). The prefix is referenced, not copied or digested, and writes no dictionary ID; the decompressor must reference the same prefix to decode. Binds ZSTD_CCtx_refPrefix / ZSTD_DCtx_refPrefix. Segment-only by design — heap callers that need a copy should use loadDictionary instead.
  • Zstd.dictId(byte[]) / Zstd.dictId(MemorySegment) — read the dictionary id stamped in raw dictionary bytes without wrapping them in a ZstdDictionary. Binds ZSTD_getDictID_fromDict.
  • ZstdDictionaryId value type — a record wrapping the 32-bit dictionary id with an unsigned value(), isPresent(), and the NONE sentinel for "no id".
  • ZstdFrame.decompressedSize(byte[]) / ZstdFrame.decompressedSize(MemorySegment) — the exact combined decompressed size of all concatenated frames, summed from each frame header (throws if any frame does not record its size). Complements decompressedBound (upper bound). Binds ZSTD_findDecompressedSize.
  • ZstdFrame.headerSize(byte[]) / ZstdFrame.headerSize(MemorySegment) — the size of a frame's header computed from just its leading bytes (as few as 5), without a full parse. Binds ZSTD_frameHeaderSize.
  • ZstdFrame.decompressionMargin(byte[]) / ZstdFrame.decompressionMargin(MemorySegment) — the extra room needed to decompress a frame in place (output buffer overlaps the compressed input at its tail), sized decompressedSize + margin. Binds ZSTD_decompressionMargin.
  • ZstdDictionary.compressDict(int) / compressDict() / decompressDict() — factories for digested dictionaries, e.g. dict.compressDict(19) instead of new ZstdCompressDict(dict, 19). They signal that the result is AutoCloseable and are for sharing one digest across contexts via refDictionary; a single context should prefer the context-owned loadDictionary.

Changed

  • Every dictionary-id accessor now returns ZstdDictionaryId instead of int: ZstdDictionary.id(), ZstdCompressDict.id(), ZstdDecompressDict.id(), ZstdFrame.dictId(...), and ZstdFrameHeader.dictId(). The 0 sentinel is now ZstdDictionaryId.NONE, and the id reads as unsigned via value().
  • Zstd.decompress(byte[]) now throws ZstdException (instead of letting a raw ArithmeticException escape) when a frame declares a content size larger than a Java array can hold. The size comes from the untrusted frame header; use decompress(byte[], int) to bound output for untrusted input.
Changelog

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

[0.6] - 2026-06-27

Added

  • ZstdCompressCtx.refPrefix(MemorySegment) / ZstdDecompressCtx.refPrefix(...) — reference native content as a single-use prefix (raw-content dictionary) for the next frame only: the building block for delta compression (compress a new version against a similar previous one). The prefix is referenced, not copied or digested, and writes no dictionary ID; the decompressor must reference the same prefix to decode. Binds ZSTD_CCtx_refPrefix / ZSTD_DCtx_refPrefix. Segment-only by design — heap callers that need a copy should use loadDictionary instead.
  • Zstd.dictId(byte[]) / Zstd.dictId(MemorySegment) — read the dictionary id stamped in raw dictionary bytes without wrapping them in a ZstdDictionary. Binds ZSTD_getDictID_fromDict.
  • ZstdDictionaryId value type — a record wrapping the 32-bit dictionary id with an unsigned value(), isPresent(), and the NONE sentinel for "no id".
  • ZstdFrame.decompressedSize(byte[]) / ZstdFrame.decompressedSize(MemorySegment) — the exact combined decompressed size of all concatenated frames, summed from each frame header (throws if any frame does not record its size). Complements decompressedBound (upper bound). Binds ZSTD_findDecompressedSize.
  • ZstdFrame.headerSize(byte[]) / ZstdFrame.headerSize(MemorySegment) — the size of a frame's header computed from just its leading bytes (as few as 5), without a full parse. Binds ZSTD_frameHeaderSize.
  • ZstdFrame.decompressionMargin(byte[]) / ZstdFrame.decompressionMargin(MemorySegment) — the extra room needed to decompress a frame in place (output buffer overlaps the compressed input at its tail), sized decompressedSize + margin. Binds ZSTD_decompressionMargin.
  • ZstdDictionary.compressDict(int) / compressDict() / decompressDict() — factories for digested dictionaries, e.g. dict.compressDict(19) instead of new ZstdCompressDict(dict, 19). They signal that the result is AutoCloseable and are for sharing one digest across contexts via refDictionary; a single context should prefer the context-owned loadDictionary.

Changed

  • Every dictionary-id accessor now returns ZstdDictionaryId instead of int: ZstdDictionary.id(), ZstdCompressDict.id(), ZstdDecompressDict.id(), ZstdFrame.dictId(...), and ZstdFrameHeader.dictId(). The 0 sentinel is now ZstdDictionaryId.NONE, and the id reads as unsigned via value().
  • Zstd.decompress(byte[]) now throws ZstdException (instead of letting a raw ArithmeticException escape) when a frame declares a content size larger than a Java array can hold. The size comes from the untrusted frame header; use decompress(byte[], int) to bound output for untrusted input.
Commits
  • 99e7dd6 release: 0.6 (#36)
  • 33eb302 harden: ZstdException on oversized declared size + decompression-bomb tests (...
  • 101cecb feat: bind ZSTD_decompressionMargin for in-place decompression (#34)
  • 367556e feat: add digested-dictionary factories; clarify dictionary lifetime in docs ...
  • c71387e refactor: use Markdown reference links in Javadoc, ban {@​link} via checkstyle...
  • 751ead5 test: cover NativeObject lifecycle via a test subclass (#31)
  • 25737ae feat: bind findDecompressedSize + frameHeaderSize; dedup content-size checks ...
  • 4cf8559 feat: bind ZSTD_getDictID_fromDict and add ZstdDictionaryId value type (#29)
  • 77dc09f chore: name the parent POM zstd-java (#28)
  • 04602ae feat: prefix dictionaries (refPrefix) for delta compression (#27)
  • Additional commits viewable 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.5 to 0.6.

Updates `io.github.dfa1.zstd:zstd` from 0.5 to 0.6
- [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.5...v0.6)

Updates `io.github.dfa1.zstd:zstd-platform` from 0.5 to 0.6
- [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.5...v0.6)

---
updated-dependencies:
- dependency-name: io.github.dfa1.zstd:zstd
  dependency-version: '0.6'
  dependency-type: direct:production
  update-type: version-update:semver-minor
- dependency-name: io.github.dfa1.zstd:zstd-platform
  dependency-version: '0.6'
  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 Jun 27, 2026
@dfa1 dfa1 merged commit fec0a0d into main Jun 28, 2026
6 checks passed
@dependabot dependabot Bot deleted the dependabot/maven/zstd.version-0.6 branch June 28, 2026 10:42
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