You are viewing a plain text version of this content. The canonical link for it is here.
Posted to announce@apache.org by Davide Giannella <da...@apache.org> on 2019/06/11 10:55:20 UTC

[ANNOUNCE] Apache Jackrabbit Oak 1.14.0 released

The Apache Jackrabbit community is pleased to announce the release of
Apache Jackrabbit Oak. 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.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/


Re: [ANNOUNCE] Apache Jackrabbit Oak 1.14.0 released

Posted by ko...@gmail.com.
Thank you for the link, very informative.

> On Jun 12, 2019, at 4:28 AM, Julian Reschke <ju...@gmx.de> wrote:
> 
>> On 11.06.2019 17:38, Jesse . wrote:
>> Can anyone provide information regarding what is going on with the stable
>> releases? It seems we used to get a long line of 1.X.Y where there would be
>> many Y updates in a stable branch, and X would only update when there was a
>> major feature addition (which would often be accompanied by additional
>> documentation). It seems that the X version is now moving quite a bit -
>> 1.10, 1.12 and 1.14 have been released in fairly rapid succession and I am
>> wondering if there are major feature additions or upgrade concerns in
>> these?
>> 
>> Thanks, Jesse
> 
> This was discussed over on the oak mailing list. See
> <https://lists.apache.org/thread.html/9a7c0e2fdfab5deb051fbd99add6c2b7109d750805b6182138eece55@%3Coak-dev.jackrabbit.apache.org%3E>
> for the summary.
> 
> Best regards, Julian

Re: [ANNOUNCE] Apache Jackrabbit Oak 1.14.0 released

Posted by Julian Reschke <ju...@gmx.de>.
On 11.06.2019 17:38, Jesse . wrote:
> Can anyone provide information regarding what is going on with the stable
> releases? It seems we used to get a long line of 1.X.Y where there would be
> many Y updates in a stable branch, and X would only update when there was a
> major feature addition (which would often be accompanied by additional
> documentation). It seems that the X version is now moving quite a bit -
> 1.10, 1.12 and 1.14 have been released in fairly rapid succession and I am
> wondering if there are major feature additions or upgrade concerns in
> these?
>
> Thanks, Jesse

This was discussed over on the oak mailing list. See
<https://lists.apache.org/thread.html/9a7c0e2fdfab5deb051fbd99add6c2b7109d750805b6182138eece55@%3Coak-dev.jackrabbit.apache.org%3E>
for the summary.

Best regards, Julian

Re: [ANNOUNCE] Apache Jackrabbit Oak 1.14.0 released

Posted by "Jesse ." <ko...@gmail.com>.
Can anyone provide information regarding what is going on with the stable
releases? It seems we used to get a long line of 1.X.Y where there would be
many Y updates in a stable branch, and X would only update when there was a
major feature addition (which would often be accompanied by additional
documentation). It seems that the X version is now moving quite a bit -
1.10, 1.12 and 1.14 have been released in fairly rapid succession and I am
wondering if there are major feature additions or upgrade concerns in
these?

Thanks, Jesse



On Tue, Jun 11, 2019 at 6:55 AM Davide Giannella <da...@apache.org> wrote:

> The Apache Jackrabbit community is pleased to announce the release of
> Apache Jackrabbit Oak. 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.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/
>
>