Release Notes -- Apache Jackrabbit Oak -- Version 1.86.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.86.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.86.0
---------------------

Sub-task

    [OAK-11856] - oak-run-commons: remove usage of "old" Oak bloom filter, use oak-commons instead
    [OAK-11858] - Remove remains of Oak bloom filter in oak-run-commons
    [OAK-11881] - Remove usage of Guava Maps.map()
    [OAK-11883] - Remove usage of Guava collect.Range
    [OAK-11885] - Remove usage of Guava collect.ListMultiMap
    [OAK-11887] - oak-it: exclude *db artefacts
    [OAK-11888] - Remove usage of Guava ThreadBuilderFactory

Technical task

    [OAK-11656] - Remove usage of Guava Suppliers.memoize
    [OAK-11832] - Remove usage of Guava's Tree Traverser
    [OAK-11833] - Remove usage of Guava's Traverser
    [OAK-11836] - Remove usage of Guava's AbstractIterator
    [OAK-11842] - Copy Bloom Filter implementation from oak-run-commons to oak-commons for re-use
    [OAK-11852] - Use new Bloom filter implementation in document store
    [OAK-11855] - update oak-blob to use oak-commons bloom filter
    [OAK-11869] - Remove usage of Guava's Hashing
    [OAK-11886] - Remove usage of Guava's Futures.immediateFuture()
    [OAK-11889] - Remove usage of Guava's Futures.successfulAsList()
    [OAK-11890] - Remove usage of Guava's Futures.allAsList [Part 1]
    [OAK-11893] - Remove usage of Guava's ListenableFuture [Part 1]
    [OAK-11896] - Remove usage of Guava's SettableFuture [Part 1] [Test cases only]
    [OAK-11903] - Remove usage of Guava's SettableFuture [Part 2] [Prod + Test]
    [OAK-11906] - Remove usage of Guava's ListenableFutureTask [Part 1] [Test cases]
    [OAK-11907] - Remove usage of Guava's MoreExecutors.directExecutor()
    [OAK-11909] - Remove usage of Guava's MoreExecutors.newDirectExecutorService [Part 1] [Test cases]

Bug

    [OAK-9586] - SysViewImportHandler does not support expanded names in sv:name attributes
    [OAK-9897] - SplitPersistence: FileReaper cannot finish cleanup
    [OAK-11808] - Segment graph may need to be recomputed
    [OAK-11846] - oak-segment-azure - recovery will recover from .bak
    [OAK-11862] - oak-search-elastic: missing facets for multi-valued fields
    [OAK-11864] - Create a new FullGC mode ALL_ORPHANS without empty properties
    [OAK-11875] - FullGC.EMPTY_PROPS should not delete if there are previous documents with that property
    [OAK-11884] - AzureArchiveManage.listArchives() should delete segments only if write acces is allowed
    [OAK-11891] - Add metrics for documents Skipped due to FullGC.EMPTY_PROPS not deleting if there are previous documents with that property
    [OAK-11905] - Update Mockito dependency to 5.19.0

Improvement

    [OAK-11841] - Optimizations and additional logging of performance metrics to statistical facets
    [OAK-11849] - Make timeout for querying facets with Elasticsearch configurable
    [OAK-11850] - Use MutableInt to compute facets to avoid boxing/unboxing between Int and Integer
    [OAK-11851] - Log performance metrics of statistical facets and simplify logic
    [OAK-11857] - Improve path handling in oak-segment-azure
    [OAK-11861] - segment store initialization should run in parallel
    [OAK-11866] - Support for datastore files without length
    [OAK-11878] - ClusterNodeStoreLock LOCK_TIMEOUT is too large
    [OAK-11894] - DocViewImport: Resolve the IdentifierManager lazily

Task

    [OAK-10674] - use Oak's Bloom filter instead Guava's
    [OAK-11859] - update Tomcat dependency to 9.0.108
    [OAK-11870] - Allow passing fullGCGeneration parameter to RevisionsCommand
    [OAK-11897] - Remove exports from oak-segment-azure
    [OAK-11900] - SplitPersistenceTest: disable three tests on Windows platform
    [OAK-11908] - Update Easymock dependency to 5.6.0


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/

