Release Notes -- Apache Jackrabbit Oak -- Version 2.2.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 2.2.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 2.2.0
--------------------

** Sub-task
    * [OAK-12161] - Verify OSGi bundle isolation — no consumer imports Caffeine or Guava cache packages

** Technical task
    * [OAK-12185] - CacheFactory SPI interface [oak-core-spi]
    * [OAK-12186] - CacheFactory wiring and CacheBuilder decoupling [oak-core-spi]

** Bug
    * [OAK-12189] - integration tests in oak-it-osgi fail due to misconfiguration of the assembly plugin
    * [OAK-12199] - fix the removal of persistent cache from oak-store-document
    * [OAK-12200] - Preserve repository-not-reachable exception handling after Caffeine migration
    * [OAK-12201] - Missing import for IterableUtils.limit() in CdCommand
    * [OAK-12203] - Oak-auth-ldap uses vulnerable org.apache.mina.mina-core
    * [OAK-12204] - FullGC: prevent NPE in recommendations when fullGC is enabled and collect limit is exceeded
    * [OAK-12206] - oak-search-elastic: Fix subtree deletion not cascading to child documents in Elastic index
    * [OAK-12212] - Drifts in PersistentDiskCache.cacheSize counter

** Improvement
    * [OAK-12190] - Add createUserWithAbsolutePath and createGroupWithAbsolutePath to UserManager API
    * [OAK-12193] - Large numbers of deleted Lucene documents cause incremental indexing to consume too much memory
    * [OAK-12196] - Improve logging for diff.index
    * [OAK-12202] - Add DistinctBinarySize.add(String blobId)
    * [OAK-12209] - oak-upgrade: remove unused code (LengthCachingDataStore)
    * [OAK-12213] - Tree store: child node list maybe be incorrect if an intermediate node is missing
    * [OAK-12220] - Flaky test: ElasticFacetTest.statisticalFacets
    * [OAK-12226] - oak-jackrabbit-api should (still) target Java 11

** Test
    * [OAK-12197] - DocumentBundlingTest.hasChildren_BundledRoot_NonBundledChild flaky
    * [OAK-12198] - test that findAndUpdate does not return stale document

** Task
    * [OAK-12166] - RDBVersionGC MODE 1 (old method) should leverage SD columns when available
    * [OAK-12187] - MongoDocumentStore: improve diagnostics for too large docs in findAndModify
    * [OAK-12214] - SegmentCache: L1 hits should notify L2 (caffeine) to keep frequency/recency accurate
    * [OAK-12217] - reset ClusterNodeInfo clock in DocumentNodeStoreIT tearDown to prevent cross-test leakage
    * [OAK-12218] - reset ClusterNodeInfo clock in UnrecoveredRevisionTest tearDown to avoid CI flakiness
    * [OAK-12223] - bump netty versions to 4.1.133.Final
    * [OAK-12225] - bump aws sdk to 2.34.9

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/

