The Apache Jackrabbit community is pleased to announce the release of
Apache Jackrabbit Oak 1.72.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.72.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.72.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.72.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.72.0
---------------------
Technical task
[OAK-11023] - Remove usage of Guava newArrayList
[OAK-11078] - Remove usage of Guava checkArgument
[OAK-11104] - Remove usage of Guava Preconditions.checkState
[OAK-11116] - Remove usage of Guava Sets.newHashSetWithExpectedSize()
[OAK-11117] - Remove usage of Guava Sets.newLinkedHashSet
[OAK-11118] - Remove usage of Guava Sets.newTreeSet
[OAK-11148] - Remove usage of Guava Atomics.newReference
[OAK-11153] - Create utils in oak-commons to convert iterables
set/linkedHashSet and to support HashSet/LinkedHashSet with known capacity
[OAK-11171] - Create benchmark
[OAK-11188] - Create utils in oak-commons to convert iterables to
TreeSet
[OAK-11189] - Remove usage of Guava Maps.newConcurrentMap
[OAK-11191] - Remove usage of Guava Lists.newLinkedList
[OAK-11192] - Remove usage of Guava Maps.newLinkedHashMap
[OAK-11193] - Remove usage of Guava Sets.newIdentityHashSet
[OAK-11195] - Create utils in oak-commons to convert iterables to
LinkedList and create IdentityHashSet
[OAK-11205] - Remove usage of Guava Maps.newTreeMap
[OAK-11206] - Removal of Guava Queues.newArrayDeque
[OAK-11207] - Remove usage of Guava Lists.partition
[OAK-11208] - Create utils in oak-commons to partition lists
[OAK-11210] - Create utils in oak-commons to convert iterables to
ArrayDeque
[OAK-11211] - Removal of Guava Queues.newArrayBlockingQueue
[OAK-11213] - Remove usage of Guava Queues.newConcurrentLinkedQueue
[OAK-11222] - Remove usage of Guava newArrayList (no param variant)
[OAK-11228] - remove usage of newArrayListWithExpectedSize
[OAK-11229] - remove usage of newArrayList(Iterable/Iterator)
[OAK-11239] - Remove usage of Guava newArrayList(vargargs) in test
classes
Bug
[OAK-10957] - oak-run datastorecheck broken for AWS since 1.22.14
[OAK-11111] - CachedPrincipalMembershipReader could return empty
principal under concurrency
[OAK-11131] - indexing-job: AOT Blob downloader may download blobs
that are not needed for the indexes
[OAK-11145] - indexing-job: indexer statistics show wrong value for
makeDocument time
[OAK-11146] - RDBDocumentStore should handle queries with '>'
condition on 0x00
[OAK-11156] - VersionGarbageCollectorIT fails to dispose some
DocumentStore instances
[OAK-11157] - indexing-job/parallel download: if one of the
download tasks fails, the download is interrupted but considered as
successful
[OAK-11161] - Fix cases where checkArgument is used with the
incorrect template syntax
[OAK-11169] - MongoVersionGCSupport (oak-document-store) uses
incorrect syntax for sort mongodb function
[OAK-11186] - Failure in RDBConnectionHandlerTest
[OAK-11204] - Incorrect order with more than 2^16 segments in
remote archive
[OAK-11218] - FullGC Exclude list parsing should ignore an Array of
empty String
[OAK-11231] - FullGC iterates same documents on certain cases
[OAK-11242] - AzureRepositoryLock: Thread should not die silently
on any kind of error
[OAK-11243] - oak-segment-azure tests have broken package names
[OAK-11245] - fix java.net.http wiring in oak-search-elastic
[OAK-11249] - Lease refresh thread in AzureRepositoryLock should
catch and log Throwable
Improvement
[OAK-11026] - ExternalGroupPrincipalProvider needs to cache results
of local group resolution
[OAK-11062] - document-store: refine skipping of MongoDB tests
[OAK-11139] - Allow downloading only recently changed nodes from
MongoDB
[OAK-11142] - org.apache.jackrabbit.oak.plugins.memory is for
internal use only and should be marked as such
[OAK-11151] - rdbmk: when wrapping into DocumentStoreException, add
message for causing exception to new message
[OAK-11174] - VersionGCSupportTest should use standard fixtures
[OAK-11175] - rdbmk: use StandardCharsets.UTF_8 where applicable
[OAK-11176] - rdbmk json support: use LongUtils.tryParse()
[OAK-11178] - rdbmk: address Java warnings
[OAK-11179] - RDB*: remove 'throws' clause from connection handler
'close', tune exception messages
[OAK-11181] - SystemPropertySupplier: add feature to avoid logging
of values (for instance, passwords)
[OAK-11183] - rdb: refactor system test property handling and
availability checks
[OAK-11187] - Implement NodeImpl.getParentOrNull
[OAK-11197] - oak-search-elastic: pre-compute and store random
values to improve statistical facets performance
[OAK-11200] - Make JackrabbitSession.getParentOrNull() use
JackrabbitNode.getParentOrNull
[OAK-11214] - Support "IN" restrictions for functions
[OAK-11230] - CollectionUtils: relax generics constraints on
iterator-consuming methods
[OAK-11232] - indexing-job - Simplify download from Mongo logic by
traversing only by _modified instead of (_modified, _id)
[OAK-11233] - Don't apply MongoDockerRule if the Mongo Docker image
isn't actually used.
[OAK-11234] - Use virtual clock to generate test content on Mongo
document store in Pipelined strategy IT tests
[OAK-11235] - Tree store path iterator filter: nextIncludedPath bugfix
[OAK-11238] - indexing-job - de-duplicate entries in sorted batches
when saving them to disk
Test
[OAK-11250] - flaky RDBConnectionHandlerTest
[OAK-11254] - backgroundPurge interferes with fullgc tests
Task
[OAK-10745] - Osgi Config for a delayFactor & batch-size while
removing fullGC
[OAK-10953] - Migrate from elastiknn to ES native vector search
[OAK-11063] - oak-search-elastic: integrate inference api as
experimental feature
[OAK-11113] - Perform cleanup after
CompressedDocumentPropertyStateTest runs for RDB-H2
[OAK-11138] - add test coverage for changing a persisted namespace
mapping when node exists that uses the prefix
[OAK-11147] - RDBMK: update PostgreSQL driver/database
[OAK-11150] - add documentation about how to run DBs in Docker
(here: PostgreSQL)
[OAK-11152] - Segment copy - avoid instantiation of source
persistence if it is not null
[OAK-11158] - indexing-job/downloader - Move the conversion of
Mongo responses to NodeDocument from the download to the transform threads
[OAK-11168] - update mongo-driver version to 3.12.14
[OAK-11172] - add documentation about how to run DB2 in Docker
[OAK-11173] - Update (shaded) Guava to 33.3.1
[OAK-11177] - Update commons-io dependency to 2.17.0
[OAK-11196] - oak-auth-ldap: update mina dependency to 2.1.8
[OAK-11198] - commons: add helper class for argument checking
[OAK-11203] - Add delayFactor and progress/batchSize for fullGC in
Oak-Run Command
[OAK-11209] - commons: add helper class for state checking
[OAK-11226] - Create Sets.newConcurrentHashSet api in oak-commons
Documentation
[OAK-10759] - JavaDoc of o.a.j.o.namepath.PathMapper is inaccurate
[OAK-11237] - Document external membership caching properties
[OAK-11241] - Document mechanism for registering MBeans
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/