| Release Notes -- Apache Jackrabbit Oak -- Version 1.44.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.44.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.44.0 compiles and tests successfully on Java 17, Javadocs |
| generation fails on Java 17 (but works as expected on Java 8). |
| |
| 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.44.0 |
| --------------------- |
| |
| Technical task |
| |
| [OAK-9585] - BrokenNetworkIT fails on Java 17 |
| [OAK-9703] - benchmarks comparing new restrictions to rep:glob |
| [OAK-9833] - UpgradeIT fails on Java 17 |
| |
| Bug |
| |
| [OAK-9564] - Lease failure when update takes longer than socket timeout |
| [OAK-9649] - Improve multithreaded download retry strategy during indexing |
| [OAK-9656] - Recovery runs mistakenly when system clock jumps ahead |
| [OAK-9676] - In CompositeNodeStore, mounts are ignored when iterating through child nodes |
| [OAK-9684] - elastic: avoid ingesting FVs with size different from the one in the index definition |
| [OAK-9695] - Deleting a property fails in case there is a residual protected property definition in its node type with a non-matching type |
| [OAK-9700] - RevisionGC may fail with NPE |
| [OAK-9708] - Invalid logging of 'improper' regex WARN |
| [OAK-9709] - PropertyDelegate.isProtected() throws NPE when parent is stale |
| [OAK-9729] - Reduce execution time for oak-search-elastic tests |
| [OAK-9732] - oak-it-osgi ITs broken on Windows |
| [OAK-9735] - Reset/update corrupt index counter in metrics |
| [OAK-9736] - oak-store-composite ITs broken |
| [OAK-9750] - Oak-search-elastic: Add right tika dependency |
| [OAK-9751] - Exception while reading external changes from journal |
| [OAK-9769] - PathPredicate not being used properly when building FlatFileStore |
| [OAK-9773] - DefaultSyncContext#syncMembership() compares external ids case-sensitively |
| [OAK-9775] - ACEs with unsupported restrictions must be cleared upon editing |
| [OAK-9779] - PermissionConstants.PERMISSION_PROPERTY_NAMES does not list rep:isAllow |
| [OAK-9782] - CompositeRestrictionProvider must call validate on aggregated providers |
| [OAK-9791] - Missing check for restriction node being present |
| [OAK-9793] - AbstractRestrictionProvider: validation to respect aggregation for unsupported paths |
| [OAK-9797] - Direct access blob cache override breaks metrics and monitoring |
| [OAK-9798] - Inconsistent handling of supported permissions in CompositePermissionProviderOr |
| [OAK-9809] - oak-run server: update Jetty because of outdated servlet API version |
| [OAK-9813] - [oak-run-commons] LoggingInitializer shutdownLogging should not shut down if not initialized |
| [OAK-9817] - Index stats logging indexing cycle failures after changes from OAK-9802 |
| |
| Epic |
| |
| [OAK-9538] - Oak should compile & test on Java 17 |
| [OAK-9614] - Document best pratices for Oak Access Control Management and Permission Evaluation |
| |
| New Feature |
| |
| [OAK-9680] - Container level SAS URI Support in Oak-Segment-Azure |
| [OAK-9689] - When BlobEndpoint is not configured use AccountName in connection string for Azure blob store connector |
| [OAK-9704] - oak-blob-cloud-azure: in AzureBlobStoreBackend, interpret empty string like null for boolean properties |
| |
| Story |
| |
| [OAK-9726] - Improve index purge old version commands logs |
| [OAK-9734] - Index purge should prevent fully delete index definition which is is read-only repo |
| |
| Improvement |
| |
| [OAK-9612] - write to a readonly builder throws a java.lang.UnsupportedOperationException |
| [OAK-9662] - Perform inequality matches in Lucene+Elastic, rather than just in the query engine |
| [OAK-9663] - Configuration option for allowed system-principals in ExternalPrincipalConfiguration |
| [OAK-9664] - Reduce Slow Query threshold |
| [OAK-9665] - Unparseable date property causes entire node to fail indexing |
| [OAK-9672] - Robust Json formatting |
| [OAK-9673] - JackrabbitAccessControlManagerDelegator should implement privilegeCollectionFromNames |
| [OAK-9674] - AbstractAccessControlManager.privilegeCollectionFromNames should validate the passed privilege names |
| [OAK-9685] - Bump and align testcontainers dependency to v1.16.3 |
| [OAK-9690] - Add support to bring elastic async index uptodate post an OutofBand reindex operation |
| [OAK-9701] - Additional restrictions to simplify permission setup |
| [OAK-9707] - Don't fail oak-run indexing on invalid data |
| [OAK-9714] - Allow DocumentStoreIndexer to build a flat file store and reindex on it, in separate steps |
| [OAK-9715] - IndexDefMergerUtils Uses Incorrect Index Name for merges Property |
| [OAK-9717] - IndexDefMergerUtils Should not Remove Nodes From Product Index Definition |
| [OAK-9721] - Add state information while indeximporting |
| [OAK-9723] - Allow comparing index definitions against a file |
| [OAK-9724] - Handle duplicate functions gracefully in indexing |
| [OAK-9725] - Enable Matomo Web Analytics |
| [OAK-9727] - Elastic: Implement Function index |
| [OAK-9737] - Avoid duplicate tree resolution by using ResultRow.getTree |
| [OAK-9738] - Merge indexing files in parallel and during download |
| [OAK-9739] - Avoid duplicate tree resolution in MembershipProvider |
| [OAK-9740] - Add Support For Limit / Offset Options in Queries |
| [OAK-9741] - Test cases for invalid index definitions |
| [OAK-9743] - oak-run indexing doesn't support facets (document store + document order traversal) |
| [OAK-9744] - Add check for StackOverflowError |
| [OAK-9746] - DefaultSyncHandler.syncProperties should sync Supplier type properties |
| [OAK-9753] - Refactor: ES connection parameters should be easily accessible from ElasticConnectionRule |
| [OAK-9756] - Calculate total duration of Index Sanitization |
| [OAK-9757] - Getting Node name is too long Exception (150 bytes) while saving node in mongo db |
| [OAK-9767] - Support Int / Long Terms in LuceneIndexMBean |
| [OAK-9771] - IndexWriter config should be customisable from oak. |
| [OAK-9772] - Elastic and Lucene tokenizer difference |
| [OAK-9778] - Improve exception message with OakAccessControl0013 regarding ACE duplicates |
| [OAK-9788] - Add an index property to disable similarity for lucene index |
| [OAK-9799] - Optional validator to mark external users/groups as protected |
| [OAK-9801] - Many SessionImpl operations just log a NPE if null values provided |
| [OAK-9802] - Configuration to enable/disable updating elastic indexes |
| [OAK-9804] - Flaky unit test FlatFileStoreTest.resumePreviousUnfinishedDownload() |
| [OAK-9812] - TokenConfigurationImpl does not define Context |
| [OAK-9814] - Improvements in NodeState/VersionCopier for visibility of paths added and preserve sub-paths |
| [OAK-9824] - Confusing warning "This index MUST be reindexed for indexing to work properly" |
| [OAK-9830] - Fix typos in tests and documentation |
| |
| Task |
| |
| [OAK-9658] - Update flapdoodle version to 3.2.6 |
| [OAK-9661] - Upgrade Solr to v8.11.1 |
| [OAK-9668] - Update H2DB dependency |
| [OAK-9669] - Update commons-io dependency to 2.11.0 |
| [OAK-9671] - Increase dynamicBoost and dynamicBoostLite full-text test coverage |
| [OAK-9681] - oak-doc-railroad-macro build broken by h2db update |
| [OAK-9683] - Bump elasticsearch version to 7.16.3 |
| [OAK-9686] - oak-search-elastic: migrate from Rest High Level Client to the new Java API Client |
| [OAK-9687] - oak-search-elastic: expose additional index metrics |
| [OAK-9691] - Improve fulltext query syntax support for ElasticSearch |
| [OAK-9712] - Add support for Azure SAS URIs in oak-run |
| [OAK-9720] - Update Oak trunk and Oak 1.22 to Jackrabbit 2.20.5 |
| [OAK-9755] - Revisit oak-lucene metrics introducing labels |
| [OAK-9828] - Update Oak trunk and Oak 1.22 to Jackrabbit 2.20.6 |
| [OAK-9831] - Update spotbugs plugin to 4.7.1.0 |
| [OAK-9832] - Update jacoco plugin to 0.8.8 |
| |
| |
| 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/ |
| |