Release Notes -- Apache Jackrabbit Oak -- Version 1.5.14 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.5.14 is an unstable release cut directly from Jackrabbit Oak trunk, with a focus on new features and other improvements. For production use we recommend the latest stable 1.4.x release. 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.5.14 --------------------- Technical task [OAK-3159] - Extend documentation for SegmentNodeStoreService in http://jackrabbit.apache.org/oak/docs/osgi_config.html#SegmentNodeStore [OAK-3982] - DocumentStore: add method to remove with a condition on an indexed property [OAK-3983] - JournalGarbageCollector: use new DocumentStore remove() method [OAK-3984] - RDBDocumentStore: implement new conditional remove method [OAK-3985] - MongoDocumentStore: implement new conditional remove method [OAK-4952] - reject UpdateOp with set operation for _id, clarify API, add tests, fix implementations [OAK-5095] - Improve normalization of configured path in AbstractSharedCachingDataStore [OAK-5119] - JournalGarbageCollector: journalGcBatchSize configuration is irrelevant post implementation tasks of bulk remove support in DocumentStore Bug [OAK-4064] - Ensure oak-remote runs ITs only with integrationTesting [OAK-4114] - Cached lucene index gets corrupted in case of unclean shutdown and journal rollback in SegmentNodeStore [OAK-4602] - IndexOutOfBoundsException when sorting by jcr:score + field [OAK-5069] - Backup fails when called from RepositoryManagementMBean#startBackup [OAK-5083] - SegmentNotFoundExceptionListener logs Listener ID instead of SegmentId [OAK-5085] - XPath: union bugfix [OAK-5087] - Primary instance logs expected SNFEs at ERROR level [OAK-5088] - o.a.j.o.p.b.d.DataStoreBlobStore#getReference logs WARNING for missing records [OAK-5093] - Failed compaction should return the number of the incomplete generation [OAK-5094] - NPE when failing to get the remote head [OAK-5096] - node type aggregate filter should be added in OR mode (not in AND) [OAK-5099] - mixing starstar with star.foo in glob path is broken [OAK-5102] - includeAncestorRemove should not do prefiltering just based on / but actual ancestors [OAK-5104] - GlobbingPathFilter does not match /a/**/b corrctly [OAK-5107] - Avoid NullPointerException in ChangeSetFilterImpl [OAK-5108] - [Blob GC] checkConsistency() should sync available blobs from the datastore [OAK-5109] - [Test] Ignore if config properties file not available [OAK-5112] - oak-upgrade breaking versionStorage node when started with copy-versions=false [OAK-5114] - oak-segment-tar should declare embedded dependencies using compile scope [OAK-5120] - Automatically convert *all* "or" queries to "union" for SQL-2, take 2 [OAK-5133] - StoreArgument class getter method opens repo in read/write and unsafe MMAP mode Improvement [OAK-2108] - Killing a cluster node may stop async index update to to 30 minutes [OAK-2719] - Misleading warn message about local copy size different than remote copy in oak-lucene with copyOnRead enabled [OAK-3001] - Simplify JournalGarbageCollector using a dedicated timestamp property [OAK-3036] - DocumentRootBuilder: revisit update.limit default [OAK-4696] - Improve logging for SyncHandler [OAK-4742] - Improve FileStoreStatsMBean [OAK-4836] - Avoid excessive logging in case of corrupt index or mis-configured index defnition [OAK-4935] - support prefiltering of async index updates [OAK-4940] - Consider collecting grand-parent changes in ChangeSet [OAK-5074] - Configure Async Indexer via OSGi [OAK-5079] - Diff would not work for bundled nodes when done without journal support [OAK-5097] - Allow passing custom service prop while registering scheduled jobs [OAK-5100] - Provide source store external references flag via command line if available [OAK-5105] - withIncludeAncestorsRemove should support ** [OAK-5106] - Reuse NioEventLoopGroup in standby client [OAK-5110] - Use Metrics based stats collection in AsyncIndexUpdate [OAK-5111] - Change default size of the node deduplication cache [OAK-5113] - Avoid dispatching changes for checkpoint related changes [OAK-5117] - Improve checkMemory for compaction [OAK-5123] - Catch any exception in ChangeSetFilterImpl.excludes - and warn. [OAK-5127] - add 'enabled' flag to ChangeCollectorProvider [OAK-5131] - IndexDefinitionBuilder to allow for useInSpellcheck and useInSuggest New Feature [OAK-4983] - Add --verify mode to the RepositorySidegrade Task [OAK-4938] - clarify contract for UpdateOp with missing operation on _id [OAK-5036] - switch o.a.j.oak.jcr.observation.filter version to 1.0.0 before oak 1.6 release [OAK-5080] - Enable bundling by default Test [OAK-5115] - IndexCopier#cowCopyDoneOnCloseExceptionHandling test hangs intermittently In addition to the above-mentioned changes, this release contains all changes included up to the Apache Jackrabbit Oak 1.5.x 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 SHA1 and MD5 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 http://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/