This is an automated email from the ASF dual-hosted git repository.
reschke pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/jackrabbit-oak.git
The following commit(s) were added to refs/heads/trunk by this push:
new 5ffc8a6bc6 OAK-11144: Release Oak 1.70.0 - Candidate Release Notes
5ffc8a6bc6 is described below
commit 5ffc8a6bc6781919b37899453816b8be8273da81
Author: Julian Reschke <[email protected]>
AuthorDate: Tue Sep 24 15:55:47 2024 +0100
OAK-11144: Release Oak 1.70.0 - Candidate Release Notes
---
RELEASE-NOTES.txt | 166 +++++++++++++++++++++++++++++++-----------------------
1 file changed, 95 insertions(+), 71 deletions(-)
diff --git a/RELEASE-NOTES.txt b/RELEASE-NOTES.txt
index e2f9659cc1..1943309506 100644
--- a/RELEASE-NOTES.txt
+++ b/RELEASE-NOTES.txt
@@ -1,4 +1,4 @@
-Release Notes -- Apache Jackrabbit Oak -- Version 1.68.0
+Release Notes -- Apache Jackrabbit Oak -- Version 1.70.0
Introduction
------------
@@ -7,98 +7,122 @@ 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.68.0 is an incremental feature release based
+Apache Jackrabbit Oak 1.70.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.68.0 compiles and tests successfully on Java 17, Javadocs
+While Oak 1.70.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.68.0
+Changes in Oak 1.70.0
---------------------
Technical task
- [OAK-6762] - Convert oak-blob to OSGi R7 annotations
- [OAK-6773] - Convert oak-store-composite to OSGi R7 annotations
- [OAK-10941] - oak-run: avoid use of Guava's ClassToInstanceMap
- [OAK-10945] - Remove usage of Guava Function interface
- [OAK-10955] - remove unused import of java.io.UnsupportedEncodingException
- [OAK-10961] - Remove usage of Guava Predicate interface
- [OAK-11004] - Remove usage of Guava Supplier interface
- [OAK-11010] - Remove usage of Guava newHashMap
- [OAK-11012] - Remove usage of Guava Objects.equal()
- [OAK-11013] - Remove usage of Guava Optional
+ [OAK-10711] - remove use of Guava Preconditions.checkNotNull()
+ [OAK-11020] - Remove usage of Guava StandardSystemProperty
+ [OAK-11024] - Remove usage of Guava newHashSet
+ [OAK-11033] - Remove usage of Guava Objects class
+ [OAK-11035] - Remove usage of Guava Strings.nullToEmpty
+ [OAK-11046] - Update Easymock dependency to 5.4
+ [OAK-11048] - update groovy dependency to 3.0.22
+ [OAK-11049] - Remove usage of Guava Strings.isNullToEmpty
+ [OAK-11050] - Remove usage of Guava Strings.repeat
+ [OAK-11059] - Remove usage of Guava BiMap
+ [OAK-11073] - Create utils in oak-commons to convert iterables/iterators
to set/list/stream, and to support HashMaps with known capacity
+ [OAK-11087] - Remove usage of Guava Predicates.in()
+ [OAK-11095] - Remove usage of Guava Predicates.not()
+ [OAK-11097] - remove remaining use of Guava predicates
+ [OAK-11101] - Remove usage of Guava ImmutableSet.of()
+ [OAK-11103] - Remove usage of Guava Lists.newArrayListWithCapacity
+ [OAK-11110] - Remove usage of Guava Iterables.any()
+ [OAK-11112] - Remove usage of Guava Maps.newHashMapWithExpectedSize()
Bug
- [OAK-10985] - Index defintion with a property rule having
valueExcludedPrefixes not getting considered for like condition on that property
- [OAK-10994] - Update Mockito dependency to 5.12.0
- [OAK-10998] - OrderableNodesTest#orderableAddManyChildrenWithSave() does
not call save()
- [OAK-11002] - VersionGCWithSplitTest.gcWithConcurrentSplit[MongoFixture:
MongoDB] - teardown fails with NPE
-
-Story
-
- [OAK-10978] - Skip Azure compaction when there's not enough garbage in the
repository
-
-New Feature
-
- [OAK-10991] - document-store: allow to skip tests for MongoDB
+ [OAK-10812] - DocumentNodeStore#diffManyChildren(...) may produce
incorrect results in readonly mode
+ [OAK-11056] - o.a.j.o.plugins.document.ClusterTest fails if neither
MongoDB nor Docker are available
+ [OAK-11069] - AzureRepositoryLock: Thread should not die silently on
exceptions other than StorageException
+ [OAK-11070] - WriteAccessController: avoid race condition
+ [OAK-11072] - flaky test: ElasticReliabilityTest.connectionCutOnQuery
+ [OAK-11076] - oak-it-osgi fails with '-Prdb-derby' due to Derby-related
import dependencies
+ [OAK-11077] - Resource leak in tests
+ [OAK-11083] - Update Mockito dependency to 5.13.0
+ [OAK-11132] - AOT blob downloader: may download a blob for a node that has
already been indexed
+ [OAK-11133] - oak-search-elastic: type filter is not supported
Improvement
- [OAK-10803] - Compress in-memory property values
- [OAK-10904] - Use daemon thread for token refresh executor
- [OAK-10905] - Create a configurable job to create checkpoints at a defined
interval of time
- [OAK-10913] - SQL-2 grammar: remove documentation for "distinct"
- [OAK-10951] - Make cache size in PersistedLinkedList class configurable
- [OAK-10965] - indexing job: Sporadic failure at the end of the dump phase
- [OAK-10966] - Indexing job: create optimized version of PersistedLinkedList
- [OAK-10968] - Avoid creating auxiliary string in PathUtils.isAncestor
- [OAK-10971] - Add a method PathUtils.isDirectAncestor
- [OAK-10972] - JsonDeserializer: do not rely on NumberFormatExceptions in
the common case when parsing doubles
- [OAK-10976] - Avoid unnecessary call to PathUtils.getName in
IndexDefinition
- [OAK-10977] - Cleanup IndexDefinition class
- [OAK-10984] - Improve invocations of logging API to follow best practices
for parameter passing in search/indexing modules
- [OAK-10988] - Minor performance improvements to NodeStateEntryReader/Writer
- [OAK-10989] - Performance improvements to JSON parsing
- [OAK-10990] - In calls to Precondition.checkState() always use string
templates instead of concatenation to avoid creating a string when the
condition passes
- [OAK-10995] - indexing-job: when accessing the backing array of a
ByteBuffer, use buffer.arrayOffset() in index calculations of array
- [OAK-10996] - indexing-job: cache interned strings in a local hashmap to
avoid calling String.intern too frequently
- [OAK-10999] - indexing-job: report nodes that take the longest to index
- [OAK-11006] - indexing-job: better logging of text extraction statistics
- [OAK-11007] - Reformat FulltextBinaryTextExtractor
- [OAK-11008] - AzureBlobStore: do not create a new CloudBlobContainer
instance for every request to the backend
+ [OAK-10341] - Indexing: replace FlatFileStore+PersistedLinkedList with a
tree store
+ [OAK-10532] - Cost estimation for "not(@x)" calculates cost for
"@x='value'" instead
+ [OAK-10741] - Improve logging for detailedGC
+ [OAK-10792] - Rename DetailedGC to FullGC
+ [OAK-11025] - Silence more warnings for ordered properties
+ [OAK-11031] - Improve logging of indexer statistics
+ [OAK-11034] - DataStore caches: log configuration at construction time and
fix resource leak
+ [OAK-11043] - Azure compaction should persist gc.log to allow skipping
compaction
+ [OAK-11051] - indexing-job: parallel download: when one of the download
threads finish, stop the other thread
+ [OAK-11053] - RDB utils/fixtures: silence stack traces, slightly refactor
+ [OAK-11054] - Oak AsyncCheckpointCreatorTest sometimes fails
+ [OAK-11055] - Warnings "falling back to classic diff" fill the log
+ [OAK-11060] - Avoid String allocation in ListRecord constructor
+ [OAK-11061] - Indexing job: during indexing phase, download blobs ahead of
time in separate thread pool
+ [OAK-11064] - Bump testcontainers to v1.20.1 / toxiproxy 2.9.0
+ [OAK-11075] - Add a Buffer#getShort() API
+ [OAK-11079] - Indexing-job: reduce object allocation when parsing lines
from the FlatFileStore
+ [OAK-11081] - PersistedLinkedListV2: do not log duplicate messages when
max buffer size and capacity increase at the same time
+ [OAK-11082] - indexing-job: improve interning of strings for sort phase
+ [OAK-11084] - Improve error handling and logging while iterating over
FlatFileStore
+ [OAK-11085] - Constant MAX_SEGMENT_SIZE is duplicated in
Segment/SegmentDataUtils
+ [OAK-11086] - Do not log stack traces of exceptions caused by reconnection
attempts to Mongo
+ [OAK-11088] - Create default implementations of
readLength/readString/readRecordId in SegmentData
+ [OAK-11090] - Move the code that creates instances of
RecordNumbers/SegmentReferences from SegmentData out of Segment
+ [OAK-11091] - Make Segment#readByte/readBytes public
+ [OAK-11092] - Make the constructors of RecordIdData/StringData public
+ [OAK-11094] - Allow the creation of Segment instances with a provided
SegmentData instance
+ [OAK-11099] - Tree Store: support indexing from a pack file (without
unpacking)
+ [OAK-11107] - Index statistics support for multi-threaded indexing
+ [OAK-11108] - Tree store: support parallel indexing
+ [OAK-11109] - indexing-job: download might fail when parallel download
threads terminate at approximately the same time
+ [OAK-11114] - Indexing job: add support for filtering Mongo documents in
the downloader based on path prefix and suffix
+ [OAK-11121] - indexing-job: print thread CPU, GC and memory usage
statistics periodically during indexing download
+ [OAK-11129] - Improve Lucene documentation
+ [OAK-11130] - indexing-job: Improvements to logging of AOT Blob downloader
+ [OAK-11134] - Remove SegmentReader from Segment
+
+Test
+
+ [OAK-11052] - AbstractDocumentStore: log when NODES not empty before/after
test
Task
- [OAK-10705] - oak-standalone: update dependencies
- [OAK-10748] - Improve statistics to collect which type of garbage is
present/deleted
- [OAK-10821] - webapp: bump htmlunit to 4.4.0
- [OAK-10848] - commons: remove use of slf4j.event.Level in
SystemPropertySupplier API and implementation
- [OAK-10921] - Fix race condition while resetting fullGC variables from
oak-run
- [OAK-10938] - oak-doc: update branch history in roadmap
- [OAK-10940] - oak-jcr: improve error message when mongo test fixture fails
- [OAK-10944] - oak-auth-ldap: update commons-pool2 dependency to 2.12.0
- [OAK-10949] - blob-cloud, segment-aws: update aws SDK to 1.12.761
(dependencies reference vulnerable amazon ion-java version)
- [OAK-10954] - Update spotbugs plugin to 4.8.6.2
- [OAK-10959] - webapp: update Tomcat dependency to 9.0.90
- [OAK-10960] - blob-cloud, segment: update netty version to 4.1.111
- [OAK-10962] - oak-solr-osgi: update zookeeper dependency to 3.9.2
- [OAK-10964] - Update com.nimbusds:nimbus-jose-jwt from 9.30.2 to 9.37.2
- [OAK-10979] - document-store, jcr, run: use consistent Derby version
- [OAK-10983] - DocumentNodeStore: improve documentation about testing
- [OAK-10993] - commons: add better diagnostics to 'FixturesHelper'
- [OAK-10997] - jcr: OrderableNodeTest with many children may fail with RDB
(Derby) due to OOM
- [OAK-11003] - Update commons-codec dependency to 1.17.1
- [OAK-11014] - Write test case to prove fullGC working correctly with
bundled property nodes
- [OAK-11015] - Create fullGC Mode for empty properties only
- [OAK-11019] - Flaky VersionGCSupportTest with RDB
- [OAK-11021] - Remove unused instance in VersionGCRecommendations
+ [OAK-10690] - Update docs and test config for recommended MongoDB version
(5.0)
+ [OAK-10836] - Improve message 'Another copy of the index update is already
running'
+ [OAK-10849] - query-spi: remove deprecated slf4j.event.Level based method
+ [OAK-10992] - rdbmk: update to Derby 15.x
+ [OAK-11029] - oak-search-elastic: index alias should include the internal
version
+ [OAK-11042] - Bump elasticsearch version to 8.15.0 / lucene 9.11.1
+ [OAK-11058] - Update (shaded) Guava to 33.3.0
+ [OAK-11068] - oak-run revisions fullGC should set (and have an option for)
fullGCMode
+ [OAK-11080] - use consistent commons-collections4 version from
oak-parent/pom.xml throughout
+ [OAK-11096] - Upgrade jackson-databind dependency to 2.17.2
+ [OAK-11113] - MissingLastRevSeekerTest occasionally fails for RDB-H2
+ [OAK-11119] - oak-search-elastic: increase test container startup timeout
+ [OAK-11120] - update maven-shade-plugin version to 3.6.0
+ [OAK-11123] - Update checkstyle-plugin dependency to version 3.5.0
+ [OAK-11125] - Update spotbugs plugin to 4.8.6.3
+ [OAK-11126] - Upgrade maven-versions-plugin to 2.17.1
+ [OAK-11128] - examples: update jetty-maven-plugin to 11.0.24
+ [OAK-11136] - oak-search-elastic: (refactor) remove duplicate
assertEventually in tests
+
+Documentation
+
+ [OAK-11037] - shaded-guava: add notes how to use in IDEs
+ [OAK-11038] - javadoc: missing linking to JDK methods
In addition to the above-mentioned changes, this release contains all