Skip to content

Releases: apache/datasketches-java

Apache Release: DataSketches-Java 8.0.0 (for Java 21)

15 Apr 18:14
9c486a5
Compare
Choose a tag to compare
  • This is a release of the DataSketches-Java library compatible with Java 21.
  • This release uses the Java Foreign Function & Memory (FFM) features that are in "preview" in Java 21. As a result, you will need to set the JVM flag "--enable-preview" at runtime, or if compiling using the OpenJDK compatible Java compilers.
  • Note that the Eclipse Compiler for Java (ECJ) used in both the Eclipse JDT IDE and the VScode IDE will not allow compilation of preview code for Java version 21.
  • Please read the more detailed notes on build and runtime dependencies in the README file.

What's Changed

Full Changelog: 6.0.0...8.0.0

Apache Release: DataSketches-Java 7.0.1 (for Java 17)

22 Jan 00:33
Compare
Choose a tag to compare

What's Changed

  • This is a release to fix a bug found in the Theta Sketch compression algorithm in release 7.0.0.
  • Otherwise, please refer to the release notes for DataSketches-Java 7.0.0.

Apache Release DataSketches-java 6.2.0 (for Java 8,11)

16 Jan 01:37
Compare
Choose a tag to compare

This release:

  • This is a retrograde release to fix a bug that was found in the Theta compression algorithm.
  • Includes new methods: getCDF(...) and getPMF(...) for the Tdigest sketch.
  • Includes other minor improvements.

Full Changelog: 6.1.1...6.2.0

Apache Release DataSketches-Java 7.0.0 (for Java 17)

09 Jan 18:36
e37a4a7
Compare
Choose a tag to compare

What's Changed

  • This release runs on Java 17.

  • This release leverages the new Java Foreign Function & Memory (FFM) API capability (JEP 412), which is in incubation in Java 17. This means that Java 17 is required to compile this code and at runtime. The location of the FFM code was moved from jdk.incubator.foreign in Java 17 to its position for preview in Java 21 at java.base/java.lang.foreign. As a result, code compiled with Java 17 FFM will not run with Java 21, the next LTS. Java does not provide backward compatibility for older incubation code.

  • There are some changes in the DataSketches-Java API, due to the switch to leveraging the new FFM code, especially for methods that must deal with off-heap memory. These changes are a result of the DataSketches-Java-7.0.0 dependency on DataSketches-Memory-4.1.0, which manages all the direct memory.

For example, to allocate direct (off-heap) memory:

DataSketches-Java 6.1.1 using DataSketches-Memory 3.0.2 (Java 8, 11)

    try (WritableMemory wmem = WritableMemory.allocateDirect(4096)) {
      ...
    } //wmem is closed

where WritableMemory is a class of DataSketches-Memory.

In DataSketches-Java 7.0.0 using DataSketches-Memory 4.1.0 (Java 17)

    try (ResourceScope scope = (wmem = WritableMemory.allocateDirect(4096).scope()) {
      ...
    } //wmem is closed

where ResourceScope is an FFM class.


Full Changelog: 6.0.0...7.0.0

Apache Release DataSketches Java 6.1.1

11 Oct 19:28
6724a39
Compare
Choose a tag to compare

Update dependency DataSketches-Memory version to 3.0.2

See DataSketches-Memory 3.0.2

Apache Release 6.1.0

15 Sep 00:24
ba47011
Compare
Choose a tag to compare

What's Changed since 6.0.0

  • Added new KLL Longs Sketch
  • Optimized HLL Union for merge HLL to HLL
  • Change Memory dependency to version 3.0.1
  • Added one exclusion to FindBugsExcludeFilter.xml
  • Fixed bug in Memory that was preventing limited runtime operation with Java 17, see Memory PR#209. (Java 17 is not formally supported by Memory. See datasketches-memory README).

New Contributors

Full Changelog: 6.0.0...6.1.0

6.1.0-RC1

14 Sep 21:49
Compare
Choose a tag to compare
6.1.0-RC1 Pre-release
Pre-release
Release Process: change POM to 6.1.0

Apache Release 6.0.0

27 Apr 01:41
Compare
Choose a tag to compare
  • New: quantiles T-Digest sketch
  • New: BloomFilter
  • New: Exact and Bounded Sampling Proportional to Size (EB-PPS) sketch
  • Added Weighted Inputs to quantiles KllFloatsSketch, KllDoublesSketch and KllItemsSketch
  • Added Vector Inputs to quantiles KLLFloatsSketch and KllDoublesSketch
  • Enhanced quantiles Sorted Views for KLL and Classic quantiles sketches.
  • Enhanced Partitioning API.

5.0.2

26 Mar 22:21
ba29502
Compare
Choose a tag to compare

This is a PATCH release. No new functionality has been introduced. There are a number of changes stemming from two issues:

  • Issue 527: Properly use the comparator for sorting level 0 in the KllItemsSketch
  • A new version of SpotBugs created a number of potential security warnings around Finalizer Attacks. Having done our best to look into the matter, we do not believe sketches are meaningfully vulnerable -- any data in the sketches is already available via reflection and there are no methods with special conditional access. Regardless, we felt that good code hygiene meant that we should prioritize fixing any issues found.

Apache Release 5.0.1

03 Jan 00:37
Compare
Choose a tag to compare

5.01 fixed two issues:

PR 482: The HLL Union :: toString(), which prints out a simple diagnostic summary of the sketch, might change the internal state of the union. This was not intended.
PR 485: The KllItemsSketch<Boolean> was not serializing and deserializing the min and max values properly. It only affects this specific generic case of <Boolean>. This is a rather bizarre use case for quantiles -- but nonetheless it is fixed! :)