The Apache Jackrabbit community is pleased to announce the release of
Apache Jackrabbit Oak 1.54.0. The release is available for download at:
http://jackrabbit.apache.org/downloads.html
See the full release notes below for details about this release:
Release Notes -- Apache Jackrabbit Oak -- Version 1.54.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.54.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.54.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.54.0
---------------------
Technical task
[OAK-10197] - switch oak-blob-plugins to shaded guava
[OAK-10204] - switch oak-blob to shaded guava
[OAK-10236] - Update oak-segment-remote modules with shaded guava
[OAK-10237] - Update oak-blob* modules with shaded guava
[OAK-10238] - switch oak-search to shaded guava
[OAK-10239] - Update oak-lucene with shaded guava
[OAK-10240] - switch oak-solr to shaded guava
[OAK-10242] - switch oak-search-elastic to shaded guava
[OAK-10244] - oak-solr-osgi: remove Guava import decl
[OAK-10245] - Document OAK-10173
[OAK-10246] - Minor cleanup of unused imports, indention and whitespace
[OAK-10247] - oak-commons: remove Guava from public API
[OAK-10270] - Document limitation
[OAK-10276] - switch oak-upgrade to shaded guava
[OAK-10278] - switch oak-run-elastic to shaded guava
[OAK-10282] - switch oak-it to shaded guava
[OAK-10283] - switch oak-examples to shaded guava
[OAK-10284] - switch oak-benchmarks to shaded guava
[OAK-10287] - switch oak-benchmarks-lucene to shaded guava
[OAK-10290] - switch oak-benchmarks-elastic to shaded guava
[OAK-10292] - switch oak-benchmarks-solr to shaded guava
[OAK-10307] - oak-shaded-guava leaks original guava as transitive
dependency
[OAK-10330] - oak-it-osgi: temporarily introduce Guava dependency again
Bug
[OAK-9660] - NullPointerException When Moving Transient node
[OAK-10226] - Elasticsearch custom analyzers fail when the files
contain comments
[OAK-10241] - NPE while trying to get the BinaryDownload URI
[OAK-10243] - Flaky test in oak-blob-cloud-azure and oak-run
[OAK-10257] - NodeCounterMetricTest does not release resources
[OAK-10259] - oak-core tests running out of memory
[OAK-10263] - Inconsistent state in TarWriter when close() fails to
write to Azure
[OAK-10268] - oak-search-elastic: propertyIndex=false fields cannot
be used for sorting
[OAK-10280] - Occasional failure to start docker container
[OAK-10305] - oak-core should changes scope of annotation
dependencies to provided
[OAK-10306] - Incorrect dependency scope for commons-math3
[OAK-10308] - Tests using MongoUtils may skip even if Docker is
available
[OAK-10324] - oak-search-elastic: IN queries on boolean fields
should not fail when one of the value cannot be parsed
[OAK-10338] - PipelinedMergeSortTaskTest is failing on Windows due
to line end issues
[OAK-10340] - Child order not updated on source after move
New Feature
[OAK-10093] - Oak Blob Store support for SSE-C for AWS
Story
[OAK-10173] - Allow configured principals to impersonate any user
Improvement
[OAK-10211] - Rectify documentation for hybrid indexes
[OAK-10213] - Add new api in DocumentStore to handle bulk
findAndUpdate operations
[OAK-10250] - Configurable suspend timeout
[OAK-10252] - Distinguish in oak-jackrabbit-api between provider
and consumer type interfaces
[OAK-10253] - Option to only collect references when calling
checkConsistency
[OAK-10256] - Principal documentation does not mention GroupPrincipal
[OAK-10261] - Query with OR clause with COALESCE function
incorrectly interpreted
[OAK-10262] - Document ASCIIFolder and OakAnalyzer
[OAK-10267] - oak-search-elastic: index should be more lenient when
a field cannot be converted to the mapped type
[OAK-10273] - Index-definition json created during oak-run reindex
should not serialise index data
[OAK-10285] - MembershipProvider change log level to ERROR for
cyclic membership
[OAK-10286] - AutoMembershipPrincipals.isInheritedMember add check
for cyclic membership
[OAK-10294] - Indexing job: add new Pipelined Strategy for dumping
Mongo contents in preparation for reindexing
[OAK-10303] - oak-search-elastic: remove
propertyIndex/nodeScopeIndex from dynamicBoost tests
[OAK-10310] - Bump testcontainers dependency to v1.18.3
[OAK-10315] - Counter for DocumentStore check
[OAK-10327] - Embedded dependencies should have "provided" scope
[OAK-10328] - jackrabbit-jcr-tests should have scope "tests"
[OAK-10332] - Ease using
o.a.j.o.spi.security.authorization.principalbased.impl.FilterProviderImpl
outside OSGi containers
[OAK-10345] - Add debug logger for bytewise comparison of big blobs
[OAK-10356] - Adjust lower and upper bounds of auto-detected memory
limits in PipelinedStrategy
Test
[OAK-10291] - oak-segment-remote: PersistentRedisCacheTest may fail
on Windows due to insufficient pagefile size
[OAK-10317] - Additional tests for dynamic automembership
Task
[OAK-10127] - Log warn message when MongoDB document is big
[OAK-10147] - Many move operations may consume a lot of memory
[OAK-10154] - Guava deprecations: set minimal logging level to 'error'
[OAK-10249] - Reduce logging in the datastore check and gc process
[OAK-10254] - Test cases to reproduce late write inconsistencies
[OAK-10265] - Oak-run offline reindex - async lane revert not
taking place for stored index def after index import
[OAK-10271] - Fix dependencies on oak-exercise
[OAK-10275] - oak-upgrade: remove workaround for Java 1.6
[OAK-10297] - Update (shaded) Guava to 32.0.1
[OAK-10300] - update groovy dependency to 2.5.22
[OAK-10301] - Update Mockito dependency to 4.11.0
[OAK-10304] - log registration of invalid namespace names
[OAK-10313] - Identify revisions created by late-write scenario
[OAK-10316] - Importer exception always should mention path
[OAK-10326] - temporarily set baseline version explicitly (and
remove before release of 1.54.0)
[OAK-10331] - Log calling method when a query does not use an index
[OAK-10337] - mvn jetty:run fails to start oak-webapp
[OAK-10349] - Update Tomcat dependency to 9.0.78
[OAK-10350] - Update spring-boot dependency to version 2.7.13
[OAK-10352] - Update (shaded) Guava to 32.1.1
[OAK-10361] - Exclude dependency-reduced-pom.xml from the source
package during release
Documentation
[OAK-10228] - Explain effect of policies for unknown principals and
non-existing paths
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/