From bgilbert+openslide at cs.cmu.edu Sun May 5 12:16:22 2024 From: bgilbert+openslide at cs.cmu.edu (Benjamin Gilbert) Date: Sun, 5 May 2024 11:16:22 -0500 Subject: OpenSlide Java 0.13.0 released Message-ID: I'm pleased to announce the release of OpenSlide Java 0.13.0. OpenSlide Java is the official Java-language binding to OpenSlide, but does not yet have a stable API. Starting with this release, OpenSlide Java loads OpenSlide via Java's new Foreign Function and Memory API instead of the legacy Java Native Interface. This eliminates the need for a platform-specific glue library, allowing OpenSlide Java to be shipped as a single platform-independent JAR. With this change, OpenSlide Java uses any copy of OpenSlide already loaded into the JVM with System.load() or System.loadLibrary(), and otherwise loads OpenSlide from the operating system's library search path. This release also adds support for OpenSlide 4.0.0's cache management and ICC color profile APIs. In addition, it removes the Autotools+Ant and Meson build systems in favor of Maven. OpenSlide Java 0.13.0 requires Java ? 22 and OpenSlide ? 4.0.0. Users with older versions of these dependencies should continue using OpenSlide Java 0.12.4 until they can upgrade. Alongside this release, OpenSlide binary build 4.0.0.3 removes OpenSlide Java, since platform-specific Java builds are no longer necessary. A prebuilt JAR is available as part of the OpenSlide Java release. The new releases are available at: https://openslide.org/download/ The full changelog is below. Thanks, --Benjamin Gilbert ## Breaking changes * Require Java ? 22 * Require OpenSlide ? 4.0.0 * Switch from JNI to FFM, making OpenSlide Java builds platform-independent * Build with Maven * Remove Autotools+Ant and Meson build systems * Stop shipping source tarball, in favor of GitHub source archive * Rename JAR to openslide-java-$version.jar ## New features * Support OpenSlide cache management API * Support reading ICC color profiles from slides and associated images * Add OpenSlide.readRegion() method returning a BufferedImage * Add OpenSlide.PROPERTY_NAME_ICC_SIZE * Automatically close unreferenced OpenSlide and OpenSlideCache objects * Add one-argument OpenSlideDisposedException constructor * Ship JAR as release artifact ## Deprecations * Deprecate OpenSlide.dispose() in favor of OpenSlide.close() * Deprecate zero-argument OpenSlideDisposedException constructor