API Snapshots: Java Core, C++ Core, Python, Memory, Pig, Hive,

Downloads

Signing Keys

It is essential that you verify the integrity of release downloads. See instructions here.

Latest Source Zip Files

Component Release ZIP ASC SHA512 Date-Time UTC SVN ID Committer
Java Core 5.0.2 Download Signature Hash 2024-03-26T22:18:00Z 68148 jmalkin
C++ Core 5.0.2 Download Signature Hash 2024-01-13T07:14:37Z 66583 jmalkin
Python Core 5.0.1 Download Signature Hash 2024-02-13T08:45:46Z 67318 jmalkin
Java Memory 2.2.0 Download Signature Hash 2022-08-15T12:10:22Z 56289 dcromberge
Java Hive Adaptor 1.2.0 Download Signature Hash 2022-03-07T23:30:20Z 52909 alsay
Java Pig Adaptor 1.1.0 Download Signature Hash 2022-02-17T19:42:16Z 52612 alsay
C++ PostgreSQL Adaptor 1.7.0 Download Signature Hash 2023-12-14T22:46:35Z 66062 alsay

Download Java Jar Files

From Maven Central.

Use with Maven

If you are developing using Maven and want to use, for example, datasketches-java, add the following dependencies to your pom.xml file:

<dependency>
  <groupId>org.apache.datasketches</groupId>
  <artifactId>datasketches-java</artifactId>
  <version>3.1.0</version>
</dependency>

Enabling Python

Download Earlier Versions

Version Numbers

Apache DataSketches uses semantic versioning. Version numbers use the form major.minor.incremental and are updated as follows:

  • major version for major new functionality and/or major API changes. For major API changes users should expect that there may be some API-incompatible changes. This should be made clear in the release comments.
  • minor version for new functionality and scheduled bug fixes. These should be API compatible with prior versions.
  • incremental version for unscheduled bug fixes only.

All download files include a version number in the name, as in apache-datasketches-java-1.1.0-src.zip. This same number is also in the top section of the pom.xml file and is the same number in the GitHub Tag associated with the GitHub-ID that the release was generated from.

Version History and Release Notes

Please use GitHub version history on the respective component repositories. There are several ways to access the release notes:

  • In the right-hand column click on Releases.

From the tags button on the GitHub page

  • Click on tags
  • Select Releases

From the Branches (master) button

  • Click on the branch icon [master]
  • Click on [Tags]
  • At the bottom of the pop-up click on [View all tags]
  • Click on [Releases]

Or, you can go directly by apending /releases to the URL as in

  • https://github.com/apache/datasketches-java/releases

Release Philosophy

These are fully tested, production quality releases, and hopefully as bug-free as humanly possible. However, the code is continuously evolving and improvements in performance, documentation, additions to the API, and bug fixes do occur. When enough of these build up, especially for bug fixes or performance improvements, a new release will be issued and the minor version digit will be incremented. The incremental digit will only be used for unscheduled bug fixes as stated above.

As stated above, the major digit is being reserved for major refactorings of the library where backward API compatibility may not be guaranteed.

For the repositories that depend on java core, such as datasketches-hive and datasketches-pig, the version number may be incremented just to be in sync with the java core repository, and may not reflect any actual code changes other than a change in the pom.xml to reflect the new dependency. Please refer to the release notes for that version.

Binary Compatibilty

We try as much as possible to maintain forward binary compatibility of serialized (stored) sketch images. For example, a Java Theta Sketch stored as a binary image using version 0.1.0 (Aug, 2015) can be read and merged into a C++ Theta Union version 1.2.0 (Jan, 2020). The languages can be swapped in this scenario, but the versions cannot be.