Release Notes -- Apache Jackrabbit Oak -- Version 1.52.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.52.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. While Oak 1.52.0 compiles and tests successfully on Java 17, Javadocs generation fails on Java 17 (but works as expected on Java 11). 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.52.0 --------------------- Technical task [OAK-7541] - SegmentCompactionIT's use of com.google.common.util.concurrent.Futures.dereference [OAK-9989] - introduce oak-shaded-guava project [OAK-10164] - oak-commons: prepare for switch to shaded guava [OAK-10169] - improve output of test-assertions [OAK-10170] - simplify usage of authorizableiterator [OAK-10175] - Reduce currently supported Guava range to 15 - 19 [OAK-10176] - oak-shaded-guava: switch to latest Guava version [OAK-10177] - adjust OSGi ITs and size limits for shaded guava inclusion [OAK-10179] - switch oak-commons to shaded guava [OAK-10180] - switch oak-core-spi to shaded guava [OAK-10185] - oak-blob-cloud-azure - relax Guava import range [OAK-10186] - switch oak-store-spi to shaded guava [OAK-10192] - switch oak-query-spi to shaded guava [OAK-10194] - switch oak-security-spi to shaded guava [OAK-10195] - switch oak-store-composite to shaded guava [OAK-10196] - switch oak-store-document to shaded guava [OAK-10198] - switch oak-core to shaded guava [OAK-10205] - switch oak-http to shaded guava [OAK-10208] - switch oak-run-commons to shaded guava [OAK-10215] - switch oak-run to shaded guava [OAK-10216] - switch oak-jcr to shaded guava [OAK-10218] - oak-it-osgi: avoid Guava dependency [OAK-10219] - switch oak-pojosr to shaded guava [OAK-10221] - switch oak-auth-external to shaded guava [OAK-10227] - switch oak-auth-ldap to shaded guava [OAK-10229] - switch oak-authorization-cug to shaded guava [OAK-10230] - switch oak-authorization-principalbased to shaded guava [OAK-10231] - switch oak-exercise to shaded guava [OAK-10234] - Update oak-segment-tar with shaded guava Bug [OAK-10146] - oak-search-elastic: similarity search does not work for some nodes [OAK-10151] - oak-auth-external tests fail with Guava 20 [OAK-10162] - Fix Version copier with preserveOnTarget to ignore diverged history [OAK-10182] - datastore-copy cmd: checksum option does not write the file entirely [OAK-10190] - Reusing Azure segment container hangs when primary location is not available [OAK-10191] - Reusing Azure blob container hangs when primary location is not available New Feature [OAK-10130] - Add API to retrieve effective policies for a set of principals for a given path Improvement [OAK-10050] - Enable access to the secondary Azure blobstore service endpoint in Oak segment node store [OAK-10135] - JackrabbitAccessControlManager.getEffectivePolicies(Set principals) should include ReadPolicy [OAK-10141] - oak-search-elastic: relevance on queries involving dynamic boost sometimes differ from lucene [OAK-10149] - Rebase may be expensive with many siblings [OAK-10167] - Elastic bulk processor should fail when intermediate bulks fail [OAK-10168] - Bump and align testcontainers dependency to v1.17.6 [OAK-10171] - datastore-copy cmd: add checksum validation [OAK-10183] - large Bulk size for BulkProcessor sometimes lead to SocketTimeoutException [OAK-10200] - CompositeAccessControlManager.getEffectivePolicies(String) should filter duplicate policies [OAK-10210] - Prefetch breaks Fast Result Size [OAK-10212] - Binary references file in the newly created archive might be missing [OAK-10214] - Expose node counter value as a metric in Oak [OAK-10223] - Introduce constant for the 'do-create-token' marker value [OAK-10225] - Utility to rate limit writes in case async indexing is delayed Task [OAK-10106] - Guava deprecations: set minimal logging level to 'warn' [OAK-10150] - Add a test for index purge command where the latest OOB index is disabled and the queries are served by a lower versioned index [OAK-10156] - update Tomcat JDBC dependency to 8.5.87 [OAK-10157] - examples: update Tomcat dependency to 8.5.87 [OAK-10159] - Upgrade jackson-databind dependency to 2.13.5 [OAK-10160] - Update commons-codec dependency to 1.15 [OAK-10163] - Benchmark performance gains by using query with projection [OAK-10187] - oak-search-elastic: update Java Client independently of HLRC [OAK-10201] - oak-blub-plugins: exported packages need to be marked @internal [OAK-10202] - oak-search-elastic: change default fetch size to match lucene behaviour [OAK-10207] - oak-jcr: remove unused test dependency zip4j [OAK-10220] - Update Oak trunk and Oak 1.22 to Jackrabbit 2.20.10 Documentation [OAK-10188] - Document OAK-10130 JackrabbitAccessControlManager.getEffectivePolicies(Set,String...) 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/