Skip to content

Commit fbcac9e

Browse files
dfa1claude
andcommitted
docs: condense changelog to one line per change, linked to its commit
Each entry is now a title linking directly to the commit; full detail lives in the commit/PR rather than inline. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
1 parent 45b29d4 commit fbcac9e

1 file changed

Lines changed: 12 additions & 52 deletions

File tree

CHANGELOG.md

Lines changed: 12 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,24 @@
11
# Changelog
22

3-
All notable changes to this project are documented here. Format loosely follows
4-
[Keep a Changelog](https://keepachangelog.com/); versions are released as `v*`
5-
git tags, which trigger publication to Maven Central.
3+
Notable changes, one line each — follow the link to the commit for detail.
4+
Versions are `v*` git tags, which trigger publication to Maven Central.
65

76
## [0.3]
87

9-
### Changed
10-
- `zstd-platform` is now an ordinary (empty) jar instead of a `pom` aggregator:
11-
depend on it like any other artifact — drop the `<type>pom</type>` you needed
12-
before. It still transitively pulls the bindings plus all six native libraries.
13-
14-
### Security
15-
- Native loading is bundled-only. Removed the `-Dzstd.lib.path` override —
16-
loading a caller-supplied native library is arbitrary native code execution in
17-
the JVM, so the loader now trusts only the artifact bundled on the classpath.
18-
The bundled library is extracted into a private, owner-only temp directory
19-
(closing a swap/symlink window in the shared temp root). To run a self-built
20-
`libzstd`, rebuild it into the native resource jar (see `docs/how-to.md`).
21-
22-
### Fixed
23-
- `ZstdSkippableContent` now compares by content: `equals` / `hashCode` /
24-
`toString` consider the payload bytes instead of array identity.
8+
- [`zstd-platform` is now an empty convenience jar (not a `pom`)][9]
9+
- [Bundled-only native loader; fix Sonar vulnerability + bug][8]
10+
- [`ByteBuffer` interop + pledged-size zero-copy decode][6]
2511

2612
## [0.2]
2713

28-
### Added
29-
- `zstd-platform` aggregator artifact: one dependency pulls the bindings plus
30-
every platform's native library, so a build runs on any OS/arch without
31-
choosing a classifier.
32-
- `MemorySegment` constructors on `ZstdCompressDict` / `ZstdDecompressDict` to
33-
digest a dictionary straight from off-heap memory (e.g. an mmap slice) with no
34-
heap `byte[]` copy.
14+
- [`zstd-platform` aggregator; off-heap `MemorySegment` dictionary constructors][v0.2]
3515

3616
## [0.1]
3717

38-
First release. Java 25 Foreign Function & Memory (FFM) bindings for
39-
[Zstandard](https://github.com/facebook/zstd) 1.5.7, built hermetically from
40-
vendored source with `zig cc` (no JNI, no prebuilt binaries). 68 of the public
41-
zstd symbols are bound; see `docs/supported.md`.
42-
43-
### Added
44-
- One-shot compression/decompression over `byte[]` and zero-copy `MemorySegment`
45-
(`Zstd`, `ZstdCompressCtx`, `ZstdDecompressCtx`).
46-
- Dictionaries: training (`ZDICT_trainFromBuffer`, COVER / fast-COVER optimisers,
47-
`finalizeDictionary`), digested `ZstdCompressDict` / `ZstdDecompressDict`,
48-
dictionary ids and header size.
49-
- Streaming: `ZstdOutputStream` / `ZstdInputStream` (java.io) and a zero-copy
50-
`MemorySegment` driver (`ZstdCompressStream` / `ZstdDecompressStream`), with
51-
dictionaries, `pledgedSrcSize`, and live `progress()`.
52-
- All advanced parameters (`ZstdCompressParameter` / `ZstdDecompressParameter`)
53-
with bounds queries; checksum, long-distance matching, window log, etc.
54-
- Frame inspection (`ZstdFrame`): header, content/compressed size, dictionary id,
55-
skippable frames.
56-
- Typed errors (`ZstdException.code()` / `ZstdErrorCode`) and memory accounting
57-
(`sizeOf()`, `Zstd.estimate*Size`).
58-
- Native artifacts for macOS, Linux and Windows on x86_64 and aarch64,
59-
cross-compiled from a single host with `zig cc`.
60-
- Format-compatibility tests against the reference zstd-jni binding.
18+
- [First release: JDK 25 FFM bindings for Zstandard 1.5.7, built with `zig cc`][v0.1]
6119

62-
[0.3]: https://github.com/dfa1/zstd-java/releases/tag/v0.3
63-
[0.2]: https://github.com/dfa1/zstd-java/releases/tag/v0.2
64-
[0.1]: https://github.com/dfa1/zstd-java/releases/tag/v0.1
20+
[9]: https://github.com/dfa1/zstd-java/commit/ba5593a
21+
[8]: https://github.com/dfa1/zstd-java/commit/8d0ea6a
22+
[6]: https://github.com/dfa1/zstd-java/commit/8bfe272
23+
[v0.2]: https://github.com/dfa1/zstd-java/releases/tag/v0.2
24+
[v0.1]: https://github.com/dfa1/zstd-java/releases/tag/v0.1

0 commit comments

Comments
 (0)