| Release Notes -- Apache Jackrabbit Oak -- Version 1.14.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.14.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.14.0 |
| --------------------- |
| |
| Technical task |
| |
| [OAK-8201] - RDBDocumentStore in ReadOnly mode should never modify |
| persistence |
| [OAK-8251] - RDBBlobStore instantiated from ReadOnly |
| DocumentNodeStore should never modify persistence |
| [OAK-8257] - RDBDocumentStore: improve trace logging of batch |
| operations |
| [OAK-8273] - RDBDocumentStore: createOrUpdate with less than 3 ops |
| suboptimal |
| [OAK-8281] - Improve coverage for |
| org.apache.jackrabbit.oak.security.authorization.composite |
| [OAK-8307] - RDBDocumentStore: add DEBUG logging when fetching |
| index metadata fails |
| [OAK-8311] - RDBDocumentStore: allow to turn off RDB-specific |
| MissingLastRevSeeker |
| [OAK-8332] - update Tomcat JDBC dependency to 8.5.41 |
| [OAK-8337] - RDBDocumentStore: refactor index dumping code |
| [OAK-8338] - RDBDocumentStoreJDBC: fix theoretically possible NPE |
| in perflogging code |
| [OAK-8340] - Document use of oak-run for RDB |
| [OAK-8346] - RDBDocumentStore*: fix several potential but |
| improbable NPEs |
| [OAK-8349] - RDBDocumentStore*: "reset clusterId tool" in oak-run |
| [OAK-8368] - RDBDocumentNodeStoreBuilder: refactor |
| setRDBConnection for consistency |
| [OAK-8371] - Stop using deprecated DocumentMK.Builder in RDB tests |
| [OAK-8375] - DocumentNodeStoreBuilder should not instantiate |
| BlobStore instance before "build()" |
| [OAK-8378] - rdb/oak-run: update usage and documentation for |
| garbage command |
| |
| Bug |
| |
| [OAK-8139] - DocumentDiscoveryLiteService hasBacklog silencing |
| must support maven version format |
| [OAK-8149] - java 12 javadoc fails with "unknown tag" for OSGi |
| version annotations in package-info |
| [OAK-8166] - Index definition with orderable property definitions |
| with and without functions breaks index |
| [OAK-8187] - Respect service ranking with AuthorizableNodeName, |
| AuthorizableActionProvider and RestrictionProvider |
| [OAK-8199] - DocumentStore in ReadOnly mode should never modify |
| persistence |
| [OAK-8207] - Read-only DocumentNodeStore tries to create root |
| document |
| [OAK-8212] - ImporterImpl.importProperties prone to NPE |
| [OAK-8214] - RDBDocumentStore may not inherit ReadOnly flag from |
| DocumentNodeStore |
| [OAK-8218] - ReadOnlyNodeTypeManager.isNodeType prone to NPE |
| [OAK-8219] - Incorrect parent POM version in oak-doc and |
| oak-doc-railroad-macro |
| [OAK-8220] - CommitRootUpdateTest creates malformed value |
| [OAK-8223] - javadoc-plugin fails with java11 |
| [OAK-8229] - LoginModuleImpl.commit will end in NPE if credentials |
| are null |
| [OAK-8231] - Unreachable code in LoginModuleImpl.getLoginId |
| [OAK-8232] - Node#setPrimaryType(String) does not create child |
| nodes defined as autoCreated |
| [OAK-8246] - Test failure: |
| NodeSetPrimaryTypeTest.testSetPrimaryType() |
| [OAK-8258] - Active deletion can delete blobs despite indexing |
| cycle deleting them failed |
| [OAK-8261] - Indexing lane failing but the index is not marked |
| corrupt |
| [OAK-8266] - Redundant check for existing tree in |
| CompiledPermissionImpl.buildVersionDelegatee |
| [OAK-8272] - Orphaned branch commit entries after restart |
| [OAK-8276] - OR-CompositeTreePermission.grantsPermission should |
| loop over aggregates of supported permissions |
| [OAK-8278] - RDBDataSourceFactory.CloseableDataSource doesn't |
| implement java.sql.Wrapper correctly |
| [OAK-8290] - Update org.apache.felix.framework for jdk13 |
| [OAK-8293] - PrincipalProviderImpl.findPrincipals my return null |
| values in result iterator |
| [OAK-8300] - Revision GC may remove previous document without |
| removing reference |
| [OAK-8306] - Empty PrincipalProvider cache breaks membership |
| collection |
| [OAK-8309] - SLOW_QUERY_COUNT don't get updated for each slow |
| query. |
| [OAK-8314] - BlobIds created with direct uploads lack length |
| suffix |
| [OAK-8324] - Missing NotNull annotation with |
| AuthenticationConfiguration and LoginModuleStatsCollector |
| [OAK-8369] - Misplace checkNotNull in CacheValidator |
| [OAK-8372] - DeclaredMembershipPredicate contains redundant lookup |
| of groupTree |
| [OAK-8382] - release doesn't work any more for oak-run |
| |
| New Feature |
| |
| [OAK-8146] - oak-run support for inspecting clusterNodeInfo |
| [OAK-8243] - Expose the number of SNFEs as metric |
| [OAK-8294] - Make it possible to mark a (customer) query as bad |
| and skip it |
| [OAK-8358] - oak-run check should have an option for specifying |
| memory mapping |
| |
| Improvement |
| |
| [OAK-7065] - Remove orphan file from local directory in case |
| indexing fails |
| [OAK-7691] - Remove deprecated ValueFactoryImpl methods |
| [OAK-8141] - Replace String path with custom data type |
| [OAK-8185] - Improve CompositeNodeStore fixture |
| [OAK-8209] - Improve Node.isNodeType(String) performance |
| [OAK-8215] - Use CacheLIRS as default |
| [OAK-8216] - Consistently add nullability annotations with |
| spi.nodetype package and implementation |
| [OAK-8217] - Remove unused field |
| DocumentNodeStoreBuilder#FAST_DIFF |
| [OAK-8228] - Optimize PathUtils.dropIndexFromName(String) |
| [OAK-8234] - Reduce object allocation in PermissionProviderImpl |
| for admin sessions |
| [OAK-8241] - Add benchmark for transient Node.setProperty() |
| [OAK-8247] - Add non-admin mode for Node.isNodeType() benchmark |
| [OAK-8249] - NodeImpl#isNodeType could load mixin info lazily |
| [OAK-8256] - PrincipalManagerImplTest uses Guava beta methods |
| [OAK-8263] - Simplify PermissionEntry.compareTo |
| [OAK-8265] - Add nullable/notnull annotations to |
| org.apache.jackrabbit.oak.security.authorization.permission.* |
| [OAK-8269] - Improve readability of CompositePermissionProvider |
| and CompositeTreePermission |
| [OAK-8270] - Add variant of PermissionUtil.getReadOnlyTree that |
| never returns null |
| [OAK-8283] - Make LazyValue implement Supplier |
| [OAK-8284] - Improvements to EntryPredicate |
| [OAK-8301] - Ensure travis-ci uses trusty image |
| [OAK-8304] - VersionablePathHook: Diff.setVersionablePath never |
| results in CommitFailedException |
| [OAK-8305] - Don't log a warning for queries that use |
| "option(traversal fail)" |
| [OAK-8308] - Unused Object methods in |
| PermissionStoreEditor.AcEntry |
| [OAK-8310] - Potentially misleading conflict exception message |
| [OAK-8315] - Missing nullability annotations in package |
| o.a.j.oak.security.authentication.token and |
| o.a.j.oak.spi.security.authentication.token |
| [OAK-8316] - Drop userId field in TokenLoginModule |
| [OAK-8320] - Improve tests for |
| o.a.j.oak.security.authentication.token package |
| [OAK-8323] - Refactor redundant checks for null in TokenValidator |
| [OAK-8354] - Fix/Add nullability annotations with |
| o.a.j.oak.security.user package |
| [OAK-8355] - AuthorizableImpl.isEveryone should not throw |
| RepositoryException |
| [OAK-8360] - UserAuthentication.authenticate: improve readability |
| [OAK-8361] - Improve tests for o.a.j.oak.security.user package |
| [OAK-8362] - UserImporter: redundant check for null principals |
| [OAK-8363] - Remove obsolete comment |
| [OAK-8365] - UserManagerImpl: unreacheable code when retrieving |
| user/group from ID and tree |
| [OAK-8370] - Simplify o.a.j.oak.security.user.Utils.getOrAddTree |
| [OAK-8373] - UserPrincipalProvider: redundant test for null in |
| ResultRowToPrincipal, EveryonePredicate |
| [OAK-8379] - Improve tests for o.a.j.oak.security.authorization |
| |
| Test |
| |
| [OAK-8353] - Additional test for OAK-8012 |
| |
| Task |
| |
| [OAK-7902] - Update osgi-mock to 2.3.10 |
| [OAK-8197] - Update Oak 1.10 and trunk to Jackrabbit 2.18.1 |
| [OAK-8208] - oak-run/rdb: add --rdbtableprefix option |
| [OAK-8235] - Upgrade Solr to version 6.6.6 |
| [OAK-8240] - Improve test coverage for |
| org.apache.jackrabbit.oak.security.authorization.permission |
| [OAK-8248] - Update Oak trunk and 1.10 to Jackrabbit 2.18.2 |
| [OAK-8277] - Run tests on travis-ci.org on MongoDB 4.0.x |
| [OAK-8286] - Update jetbrains nullability annotations to 17.0.0 |
| [OAK-8295] - Update version of jackrabbit dependency |
| [OAK-8296] - DocumentNodeStoreBranchesTest uses |
| javax.annotation.Nonnull |
| [OAK-8312] - MissingLastRevSeeker and NodeDocumentSweeper: improve |
| progress logging |
| [OAK-8317] - Move the version-related migration tools to the |
| oak-core |
| [OAK-8318] - Allow to close the SegmentStoreMigrator |
| [OAK-8329] - update docker-junit-rule dependency |
| [OAK-8331] - Update Tika dependency to 1.21 |
| [OAK-8334] - Update Jackson dependency to 2.9.9 |
| [OAK-8335] - get rid of junit deprecation warnings |
| [OAK-8341] - Include tomcat-jdbc/juli in oak-run |
| [OAK-8345] - oak-run: cleanup command list and documentation |
| [OAK-8348] - Update surefire/failsafe dependencies to 2.22.2 |
| [OAK-8350] - Update animal-sniffer dependency to 1.18 |
| [OAK-8356] - Support append mode in the SegmentStoreMigrator |
| [OAK-8357] - Support the truncate operation for the GCJournalFile |
| [OAK-8376] - update commons-codec dependency to 1.12 |
| [OAK-8377] - Jacoco plugin: add PACKAGE based rules for security |
| code |
| |
| Documentation |
| |
| [OAK-8322] - Create documentation for Oakathons |
| |
| |
| 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/ |