Release Notes -- Apache Jackrabbit Oak -- Version 1.64.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.64.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.64.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.64.0
---------------------

Technical task

    [OAK-6768] - Convert oak-remote to OSGi R7 annotations
    [OAK-6774] - Convert oak-upgrade to OSGi R7 annotations
    [OAK-10786] - oak-lucene: use copy of lucene-core 4.7.2 source code
    [OAK-10787] - oak-lucene: backport fix for lucene-core vulnerability

Bug

    [OAK-10647] - DocumentNodeStore: journal update needs success check
    [OAK-10719] - oak-lucene uses Lucene version that can throw a StackOverflowException
    [OAK-10756] - OrderableNodesTest.childOrderCleanupFeatureToggleTest fails with -Dnsfixtures=DOCUMENT_NS
    [OAK-10767] - oak-it-osgi unnecessarily deploys commons-collections to the test environment
    [OAK-10775] - LeaseUpdateSocketTimeoutIT still wants a mongo:4.2 image
    [OAK-10782] - oak-search-elastic: query getSize() can lock writes when is called before an update
    [OAK-10788] - Indexing job downloader: shutdown gracefully all threads in case of failure
    [OAK-10800] - DictionaryCompoundWordTokenFilter not supported in Elastic
    [OAK-10814] - Tar file recovery still fails with SNFE in some cases.

Improvement

    [OAK-10760] - oak-core should check namespace registry consistency on startup
    [OAK-10762] - oak-search-elastic: similarity queries produce not relevant results when uses similarTags
    [OAK-10771] - Add disk cache size stats and issue warning if evicted segment has zero length
    [OAK-10778] - Indexing job: support parallel download from MongoDB with two connections in Pipelined strategy
    [OAK-10783] - VersionableEditor: misleading WARN message when creating version history
    [OAK-10784] - o.a.j.o.plugins.migration.version.VersionableEditor should create the version storage node, if needed
    [OAK-10795] - Indexing job: eliminate unnecessary intermediate object creation in transform stage
    [OAK-10796] - Avoid creation of intermediate StringBuilder in JsopBuilder
    [OAK-10804] - Indexing job: optimize check for hidden nodes
    [OAK-10808] - PipelinedMongoConnectionFailureIT should not fail if Mongo is not available
    [OAK-10810] - Remove redundant call to StringCache.get in Path.fromString()
    [OAK-10813] - Improve performance of Oak-mongo.js function to remove/list nodes

Task

    [OAK-10579] - Bump elasticsearch version to 8.11.3
    [OAK-10596] - Improve the test coverage of o.a.j.o.namepath.JcrPathParser
    [OAK-10694] - Remove oak-search-mt
    [OAK-10730] - Log MongoException previously swallowed
    [OAK-10752] - update Tomcat JDBC dependency to 9.0.87
    [OAK-10754] - webapp: update Tomcat dependency to 9.0.87
    [OAK-10755] - commons: deprecate use of slf4j.event.Level in SystemPropertySupplier API (and make it 'internal')
    [OAK-10757] - DocumentRdbFixture does not support the Feature Toggle FT_NOCOCLEANUP_OAK-10660
    [OAK-10766] - Make lease timeout configurable for specific async lanes in indexing
    [OAK-10768] - query-spi: deprecate use of slf4j.event.Level in QueryIndex.IndexPlan
    [OAK-10769] - Bump elasticsearch version to 8.13.2 / lucene 9.10.0
    [OAK-10770] - Azure identity runtime dependency resolution in oak-segment-azure
    [OAK-10773] - LuceneIndexLookupUtil opens up index node when it's actually not needed
    [OAK-10774] - Remove oak-search-mt module from Jenkinsfile
    [OAK-10776] - Incremental FFS should filter out changes under paths excluded by pipelinedMongoCustomExcludedPaths
    [OAK-10777] - oak-lucene: add test coverage for stack overflow based on very long and complex regexp using JCR lucene native query
    [OAK-10785] - update maven-shade-plugin version to 3.5.3
    [OAK-10793] - Update Logback version to 1.2.13
    [OAK-10797] - Update Oak trunk and Oak 1.22 to Jackrabbit 2.20.16
    [OAK-10799] - Update (shaded) Guava to 33.2.0
    [OAK-10815] - Update jacoco plugin to 0.8.12
    [OAK-10816] - Update spotbugs plugin to 4.8.5.0
    [OAK-10819] - examples: update jetty-maven-plugin to 11.0.21
    [OAK-10820] - webapp: update Tomcat dependency to 9.0.89

Documentation

    [OAK-10772] - Broken links in authentication documentation



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/

