Releases: apache/datasketches-memory
Apache Release DataSketches-Memory 4.0.0
This Release of DataSketches Memory is for Java 17.
- It will only compile on Java 17, but the class files should run on Java versions higher than 17.
- It uses the new jdk.incubator.foreign (Panama) instead of relying on JVM internals.
- Please refer to the formal Java documentation.
- This version of Memory has eliminated a great deal of extra baggage due to the previous reliance on JVM internals. As a result the code is much smaller and simpler than its predecessor.
Apache Release DataSketches Memory 3.0.2
Key Changes From Last Release
- RC1: Removed a Java version check that prevented running with Java 21 in limited mode. Java 21 is not supported, but if the user is not using off-heap memory it is still possible to use this memory component with Java 21. One cannot compile with Java 21, but running with Java 21 in this limited mode should work OK.
- RC2: Found 2 places where this was being checked. Removed the duplicate check.
- RC1: Renamed the artifact of the root project from "datasketches-memory-root" to "datasketches-memory". This was preventing some environments in obtaining the correct jar files from Maven Central.
- RC1: Removed a thrown exception in the case where the user attempts to close a non-AutoCloseable memory object. With the current object hierarchy, some static code analyzers may issue a false-positive Potential Resource Leak Warning on some
instances of non-AutoClosable memory objects. Examples include Memory objects that are explicitly on-heap (i.e., arrays) or wrapped ByteBuffers. These warnings can be suppressed with a@SuppressWarnings("resource")
annotation or disabled within the static code analyzer. - RC1: Improved the code comments and printed output for the
ExampleMemoryRequestServerTest
class. - RC2: Cleaned up confusing references to release versions in the README.
Full Changelog: 3.0.1...3.0.2
Apache Release DataSketches-Memory 3.0.1
Summary
- Fixed bug that prevented running with Java 17 in limited mode. Java 17 is not supported, but if the user is not using off-heap memory it is still possible to use this memory component with Java 17. One cannot compile with Java 17, but running with Java 17 in this limited mode is OK.
- Updated the README.md to reflect that testing with -P strict is no longer supported.
Details of selected PRs
- Removed references to -P strict in Readme, which is deprecated for Java > 8. by @leerho in #204
- Fix check java version() in 3.0.x by @leerho in #209
Full Changelog: 3.0.0...3.0.1
Apache Release DataSketches-Memory 3.0.0
Summary
- The purpose of this release is to align the API as close as possible to what it will be in the 4.0.0 release for Java 17. The Java 17 release will take advantage of the incubator Panama, which will eliminate the need to use JVM internals such as unsafe, VM, bits, etc. It will be faster too.
- UDF-8 encoding is no longer supported. The prior UDF-code was out-of-date and Java already supports UDF-8 encoding directly.
- Protobuf is no longer a dependency as it was only used to help test the UDF-8 encoding.
- The Handles hierarchy has been removed as it will no longer be needed with Java 17.
- Direct encoding of Primitive boolean arrays into bytes is no longer supported. The Java Language Specification does not specify a binary encoding of boolean arrays, and for that reason, Panama does not support them either.
- This release, like the 2.X.X releases, is restricted to compile and run on Java 8 and 11. Based on other users experiences, it will run (but not compile) on Java 17 as long as one doesn't attempt to allocate off-heap memory using the allocateDirect(...) call. But we don't officially support this limited configuration.
Details of selected PRs
- Prepare for java 8,11 3.0.0 by @leerho in #190
- Changes to bring 2.2.0, 3.0.0 and 4.0.0 into alignment. by @leerho in #192
- Update Readme to accommodate changes from 2.X to 3.0.0. by @leerho in #196
- Release Process - update Master Version to 3.1.0-SNAPSHOT by @leerho in #199
- Added groupID, artifactId to maven-gpg-plugin parameters. by @leerho in #201
- Update SpotBugs Filter. by @leerho in #202
Full Changelog: 2.2.1...3.0.0
Apache Release 2.2.1
What's Changed
- Fixed issue #178: By @leerho in #181
- Updated spotbugs and fixed all the warnings. By @leerho in #182
- Fixed some checkstyle configuration errors. By @leerho in #183
- The pom file in the ds-memory-java11 branch used indents of 4 instead of 2. By @leerho in #185
- updates to POM files. By @leerho in #184
- Fix Java 11 build/compile problem. By @leerho in #187
This release is restricted to compile and run on Java 8 and 11. Based on other users experiences, it will run (but not compile) on Java 17 as long as one doesn't attempt to allocate off-heap memory using the allocateDirect(...) call. But we don't officially support this limited configuration.
Full Changelog: 2.2.0...2.2.1
Apache Release 2.2.0
This is a maintenance release and simplifies the Maven project structure.
This release is restricted to compile and run on Java 8 and 11. Based on other users experiences, it will run (but not compile) on Java 17 as long as one doesn't attempt to allocate off-heap memory using the allocateDirect(...) call. But we don't officially support this limited configuration.
Apache Release 2.1.0
This is a minor release and includes the following:
- Removes Java 9 and Java 10 support from Datasketches-Memory. Since these versions are no longer receiving security patches, developers no longer need to install these versions on their own environments in order to work with Datasketches-Memory.
See #160.
This release is restricted to compile and run on Java 8 and 11. Based on other users experiences, it will run (but not compile) on Java 17 as long as one doesn't attempt to allocate off-heap memory using the allocateDirect(...) call. But we don't officially support this limited configuration.
Apache Release 2.0.0
This is a major release and includes the following:
- Significant refactoring in PR #129 that refines the public API and restricts access to the package internals using the JPMS in Java9+.
- PR #131 maintains existing support for Java 8 and adds support for Java 9 up to Java 13. In Java9+, the library can now be declared as a JPMS module dependency in user applications.
- Includes changes to how the RequestMemoryServer is managed in #136, #138 and #139
- Improved documentation for developers and the end user including usage in Java9+ applications.
This release is restricted to compile and run on Java 8 and 11. Based on other users experiences, it will run (but not compile) on Java 17 as long as one doesn't attempt to allocate off-heap memory using the allocateDirect(...) call. But we don't officially support this limited configuration.
Apache Release 1.3.0
This is the first release of Memory as a Top Level Project.
Apache Release 1.2.0-incubating
Removes a check that required the runtime JDK to be JDK-8. This does not change the requirement that JDK-8 is required for full runtime operation. However in environments that do not use the advanced off-heap (direct) capabilities of Memory this module may still work in JDK versions later than JDK-8. However, there is no guarantee of this as this code has not been fully refactored and tested to operate in these later versions. Caveat Emptor.
This release was created for the convenience of some major users that need to do testing in versions later than JDK-8, and do not use the advanced features of Memory.
There are no other significant changes in this version compared to the previous 1.1.0-incubating release.