| Release Notes -- Apache Jackrabbit Oak -- Version 1.20.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.20.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. |
| |
| 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.20.0 |
| --------------------- |
| |
| Bug |
| |
| [OAK-5369] - Lucene Property Index: Syntax Error, cannot parse |
| [OAK-8244] - Build failure: ThreadLeakError |
| [OAK-8656] - ListenerStatsData.toCompositeData() throws NPE |
| [OAK-8665] - DynamicSyncContext doesn't verify the same IDP |
| [OAK-8667] - Merge may fail when commit root is a bundled node |
| [OAK-8668] - Commit throws exception with incorrect UpdateOp |
| [OAK-8670] - [Direct Binary Access] When completeHttpUpload fails, the wrong exception is logged |
| [OAK-8689] - AccessControlManager.getEffectivePolicies doesn't include ReadPolicy for subtrees |
| [OAK-8691] - Incorrect base state from node builder |
| [OAK-8697] - Filter sensitive information when logging parameters for 'datastore' command |
| [OAK-8698] - NoClassDefFound running tests in oak-search-mt |
| [OAK-8700] - ExternalIdentityConflictHandler prone to NPE |
| [OAK-8715] - AzureArchiveManager#exists() lists all blobs in archive |
| [OAK-8720] - Test failure in oak-jcr due to direct binary access change |
| [OAK-8722] - dead locking related code in NodeDelegate.updateMixins |
| [OAK-8734] - Sorted query with multiple path restrictions and sorting performs very slowly if one of the passed paths is a traversal |
| [OAK-8746] - Bullets not well formatted in Oakathon documentation page |
| [OAK-8758] - tests make "equals" comparison of Path and String |
| [OAK-8767] - CugAccessControlManager.getEffectivePolicies(String) throws PathNotFoundException if parent node is not accessible |
| |
| New Feature |
| |
| [OAK-8703] - Configure the maximum number of revisions to be checked by consistency check |
| [OAK-8777] - benchmark ISO8601 formatters |
| |
| Improvement |
| |
| [OAK-7937] - Implement CugAccessControlManager.getEffectivePolicies(Set<Principal> principals) |
| [OAK-8551] - Minimize network calls in cloud data stores (performance optimization) |
| [OAK-8572] - oak-upgrade's IndexAccessor lives in o.a.j.core |
| [OAK-8593] - Enable a transient cluster-node to connect as invisible to oak discovery |
| [OAK-8605] - Read the journal lazily in the SplitPersistence |
| [OAK-8623] - Improve collision handling performance |
| [OAK-8639] - Composite node store tests with document store |
| [OAK-8648] - Log reason why NodeDocumentSweeper.sweep is called |
| [OAK-8654] - Introduce auto-retry in the SegmentStoreMigrator |
| [OAK-8655] - List changes for revisions |
| [OAK-8671] - respect PARAM_READ_PATHS configuration option |
| [OAK-8674] - Update Azure SDK to 8.4.0 |
| [OAK-8680] - logging config missing in oak-commons tests |
| [OAK-8688] - Move ReadPolicy from core to security-spi |
| [OAK-8694] - state time of start of LeaseFailure in exception/log entry |
| [OAK-8708] - Keep track of unsupported system-user principals in FilterImpl |
| [OAK-8718] - LuceneIndexStatsUpdateCallback is slow and synchronous which leads to slowness |
| [OAK-8719] - Oak run check command must return the status of repository consistency check |
| [OAK-8721] - Automatically pick the latest active index version |
| [OAK-8723] - oak-auth-external: replace usage of easymock by mockito |
| [OAK-8724] - Delegatee: extract result message handling into separate class |
| [OAK-8725] - Improve tests for oak-external-auth |
| [OAK-8727] - Delegatee.isMyIDP contains redundant test for empty provider name |
| [OAK-8728] - Delegatee.internalListOrphanedIdentities contains redundant check for null |
| [OAK-8729] - Lucene Directory concurrency issue |
| [OAK-8733] - Simplify ExternalGroupPrincipalProvider |
| [OAK-8735] - Jackrabbit Javadoc link should be consistent with used jackrabbit.version and use https |
| [OAK-8737] - Extract SyncConfigTracker and SyncHandlerMappingTracker from ExternalPrincipalConfiguration |
| [OAK-8738] - DefaultSyncContext: separate private method for conditional log output |
| [OAK-8739] - Simplify ExternalLoginModule |
| [OAK-8744] - ExternalLoginModuleFactory: add bind/unbind for all osgi references |
| [OAK-8752] - SegmentCopy should not lock/unlock source repository before/after copying |
| |
| Task |
| |
| [OAK-8649] - Update to jacoco 0.8.5 (version compatible with Java 14) |
| [OAK-8650] - PrincipalProviderTest fails with java 14 |
| [OAK-8651] - Update mockito dependency to 2.28.2 |
| [OAK-8652] - Update jacoco dependency to 0.8.4 |
| [OAK-8653] - bump up logging for deprecated security APIs to INFO |
| [OAK-8663] - Implement IndexStatistics in Oak ES |
| [OAK-8672] - Update jackson dependency to 2.9.10 |
| [OAK-8709] - Update jackson-databind dependency to 2.9.10.1 |
| [OAK-8712] - oak-blob-* and oak-segment-azure need to declare nullability annotations dependency |
| [OAK-8713] - oak-it-osgi: update jackrabbit-api dependency to use new location within Oak |
| [OAK-8742] - Update trunk and 1.10 to Jackrabbit 2.18.4 |
| [OAK-8750] - SegmentStoreMigrator should catch and log exceptions thrown while migrating archives |
| [OAK-8774] - oak-benchmarks: update commons-compress dependency to 1.19 |
| |
| Technical task |
| |
| [OAK-8567] - update tomcat-jdbc dependency to 8.5.43 |
| [OAK-8570] - RDB*Store: update mssql-jdbc driver reference to 7.4.1.jre8 |
| [OAK-8576] - Add instrumentation to track cloud data store usage |
| [OAK-8633] - Add warn logs if we add/update a string property larger than 100KB. |
| [OAK-8642] - Add warn logs while indexing if string property is larger than 100KB (index) |
| [OAK-8660] - Dedicated benchmark for eagerCacheSize option |
| [OAK-8661] - deprecate public LazyInputStream(ByteSource byteSource) |
| [OAK-8662] - Benchmark results for eagercachesize |
| [OAK-8666] - deprecate FileIOUtils.BurnOnCloseFileIterator |
| [OAK-8676] - deprecate FileIOUtils.FileLineDifferenceIterator |
| [OAK-8677] - deprecate FileIOUtils.writeStrings with Guava Function parameter |
| [OAK-8679] - RDB*Store: update postgresql jdbc driver reference to 42.2.8 |
| [OAK-8682] - oak-commons: deprecate uses of Guava in exported API |
| [OAK-8685] - deprecate Guava based APIs in WhiteboardUtils |
| [OAK-8687] - deprecate Guava based APIs in ManagementOperation |
| [OAK-8692] - run permissionevaluation and hasgetitem benchmarks |
| [OAK-8693] - update documentation |
| [OAK-8702] - deprecate Guava based APIs in o.a.j.o.cache |
| [OAK-8707] - Mark exported APIs that we don't want to expose with an @Internal annotation |
| [OAK-8730] - Add option for repeated read to ReadDeepTreeTest |
| [OAK-8764] - RDBDocumentStore: avoid potential dangerous use of addAll(entrySet) in logging code |
| [OAK-8775] - update Tomcat JDBC dependency to 8.5.47 |
| |
| Documentation |
| |
| [OAK-8701] - DocumentMK documentation: fix INTERMEDIATE SplitDocType value |
| [OAK-8745] - document the Oak roadmap |
| [OAK-8751] - SegmentCopyCommand does not support verbose option anymore |
| [OAK-8756] - Oak-run segment-copy command logging 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/ |