Release Notes -- Apache Jackrabbit Oak -- Version 1.90.0 Introduction ------------ Jackrabbit Oak is a scalable, high-performance hierarchical content repository designed for use as the foundation of modern world-class web sites and other demanding content applications. Apache Jackrabbit Oak 1.90.0 is an incremental feature release based on and compatible with earlier stable Jackrabbit Oak 1.x releases. This release is considered stable and targeted for production use. The Oak effort is a part of the Apache Jackrabbit project. Apache Jackrabbit is a project of the Apache Software Foundation. Changes in Oak 1.90.0 --------------------- ** Technical task * [OAK-11916] - Create getExitingExecutorService API in ExecutorUtils * [OAK-11917] - Create a new getExitingScheduledExecutorService API * [OAK-11918] - Remove usage of Guava's ListeningExecutorService * [OAK-11919] - Remove usage of Guava's ListenableFutureTask [Part 2] [Prod files] * [OAK-11920] - Remove usage of Guava's MoreExecutors.newDirectExecutorService [Part 2] * [OAK-11921] - Remove usage of Guava's AbstractListeningExecutorService * [OAK-11922] - Remove usage of Guava's MoreExecutors.listeningDecorator * [OAK-11923] - Remove usage of Guava's ForwardingListenableFuture * [OAK-11924] - Remove usage of Guava's ForwardingListeningExecutorService * [OAK-11925] - Remove usage of Guava's Futures.allAsList [Part 2] * [OAK-12018] - Remove usage of DirectExecutor.INSTANCE with ExecutorUtils * [OAK-12019] - Remove usage of Guava's MoreExecutors.getExitingExecutorService * [OAK-12020] - Remove usage of Guava's MoreExecutors.getExitingScheduledExecutorService * [OAK-12023] - Remove usage of Guava's FutureCallback * [OAK-12024] - Remove usage of Guava's Futures.addCallback * [OAK-12025] - Remove usage of Guava's SameThreadExecutorService * [OAK-12029] - Remove usage of Guava's SettableFuture from ExpectationListener * [OAK-12032] - Remove usage of Guava's UncheckedExecutionException * [OAK-12033] - Remove usage of Guava's Monitor [unit cases only] ** Bug * [OAK-10618] - ArrayIndexOutOfBoundsException in TikaExtractionOsgiIT * [OAK-12030] - CWE-125: Out-of-bounds Read in LZ4 * [OAK-12034] - CachingSegmentArchiveReader#containsSegment should not check the persistence cache for the segment ** Improvement * [OAK-10662] - improve Reproducible Builds * [OAK-11731] - expose NodeCounter (getEstimatedChildNodeCounts) in JackrabbitNode * [OAK-12001] - run CI on branch 1.22 as well * [OAK-12004] - Datastore: speedup datastore copy / download * [OAK-12005] - segment preloading graph-cache uses too much heap * [OAK-12007] - XPath with "or" conditions should not always be converted to "union" * [OAK-12012] - Sporadic SessionSaveDelayerConfigTest failure * [OAK-12015] - Improve diagnostics on property related constraint violations * [OAK-12036] - Expose persistence disk cache statistics in FileStore * [OAK-12038] - Fix flaky ElasticFacetTest * [OAK-12040] - segment-azure: reduce HTTP requests for writes * [OAK-12043] - Avoid object allocation in SegmentId.compareTo * [OAK-12044] - Optimize PathUtils.concat ** Test * [OAK-12011] - backgroundPurge interferes with fullgc tests ** Task * [OAK-11617] - Provide oak-run commands to analyze and fix inconsistencies in the namespace registry * [OAK-11830] - Update pax-exam test dependency to 4.14.0 * [OAK-11910] - Create ExecutorUtils in oak-commons * [OAK-11991] - Optimize the oak-segment recovery process * [OAK-12003] - Refactor code in AzurePersistenceManager * [OAK-12008] - Embed Aws Sdk 2.x dependencies in oak-blob-cloud * [OAK-12009] - Support GCP with oak-blob-cloud with aws sdk 2.x * [OAK-12021] - cleanup oak-blob-plugins pom (oak-commons dependency) * [OAK-12027] - Create a method in oak-mongo.js to remove nodes under a path starting from leaf * [OAK-12031] - Add jackrabbit-jcr-commons dependency to oak-upgrade * [OAK-12041] - bump testcontainers to v1.21.4 In addition to the above-mentioned changes, this release contains all changes up to the previous release. For more detailed information about all the changes in this and other Oak releases, please see the Oak issue tracker at https://issues.apache.org/jira/browse/OAK Release Contents ---------------- This release consists of a single source archive packaged as a zip file. The archive can be unpacked with the jar tool from your JDK installation. See the README.md file for instructions on how to build this release. The source archive is accompanied by SHA512 checksums and a PGP signature that you can use to verify the authenticity of your download. The public key used for the PGP signature can be found at https://www.apache.org/dist/jackrabbit/KEYS. About Apache Jackrabbit Oak --------------------------- Jackrabbit Oak is a scalable, high-performance hierarchical content repository designed for use as the foundation of modern world-class web sites and other demanding content applications. The Oak effort is a part of the Apache Jackrabbit project. Apache Jackrabbit is a project of the Apache Software Foundation. For more information, visit http://jackrabbit.apache.org/oak About The Apache Software Foundation ------------------------------------ Established in 1999, The Apache Software Foundation provides organizational, legal, and financial support for more than 140 freely-available, collaboratively-developed Open Source projects. The pragmatic Apache License enables individual and commercial users to easily deploy Apache software; the Foundation's intellectual property framework limits the legal exposure of its 3,800+ contributors. For more information, visit http://www.apache.org/