Release Notes -- Apache Jackrabbit Oak -- Version 0.19 Introduction ------------ Jackrabbit Oak is an effort to implement a scalable and performant hierarchical content repository 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. Jackrabbit Oak 0.19 is to alpha-level software. Use at your own risk. Changes in Oak 0.19 ------------------- New Features [OAK-168] Basic JCR VersionManager support [OAK-307] Oak/Solr integration [OAK-516] Create LdapLoginModule based on ExternalLoginModule [OAK-805] Support for existing Jackrabbit 2.x DataStores [OAK-867] Oak whiteboard [OAK-1160] Generic interfaces for operation tasks [OAK-1161] Simple failover for TarMK-based installations [OAK-1333] SegmentMK: Support for Blobs in external storage [OAK-1511] S3 DataStore in Oak (including GC) [OAK-1512] Jackrabbit 2.x DataStore GC for SegmentNodeStore [OAK-1539] Implement JackrabbitObservationManager Improvements [OAK-17] Modularisation and configuration concept [OAK-150] Basic JCR LockManager support [OAK-377] Data store garbage collection [OAK-458] Define upgrade from Jackrabbit2.x to Jackrabbit OAK [OAK-650] Move SegmentNodeStoreBranch.RebaseDiff to utility package [OAK-700] Fix OSGi deployment for Oak based SolrServers [OAK-759] MongoMK: read from a secondary member when possible [OAK-850] Degrade gracefully when :childOrder is out of sync [OAK-1013] Node.addNode(name) different behavior from JR if NodeType resolves to an abstract [OAK-1153] Write test to measure throughput on Mongo with multiple reader and writer [OAK-1251] DocumentStore refactoring [OAK-1261] Enable LDAP related tests [OAK-1263] optimize oak index to support 'fast ORDER BY' queries to support sorting & pagination for large set of children [OAK-1355] ResultSet.getSize returns -1 failing QueryResultTest [OAK-1390] Document the migration from Jackrabbit Classic to Oak [OAK-1423] SegmentMK: Add index(es) to tar file backend [OAK-1426] Cleanup options in oak-run [OAK-1434] Cleanup dependencies of oak-core [OAK-1443] Oak Solr indexer should be resilient to Solr failures [OAK-1444] Improve precision of Solr default analyzers [OAK-1454] Warn on huge multi-valued properties [OAK-1475] Make Oak Solr bundle a fragment of Oak Lucene [OAK-1484] additional observation queue jmx attributes [OAK-1497] JackrabbitEvent#isExternal() returns true for internal changes for slow listeners [OAK-1499] SolrIndexEditor should cache indexing requests if Solr is not reachable [OAK-1502] Make DataStores available to NodeStores [OAK-1504] Create benchmark tests to measure effect of mod_count and everyone cache [OAK-1505] Benchmark for Session#hasPermission [OAK-1507] Expose MLT feature for Lucene index [OAK-1508] Binary less transport of content support [OAK-1509] AbstractBlobStore: use a concurrent cache [OAK-1510] MongoDB / DocumentNodeStore DataStore GC performance [OAK-1514] Support for Sling JcrResourceListener [OAK-1518] Relaxed type checking during upgrade [OAK-1519] UserAuthentication: Return false if userId cannot be resolved [OAK-1521] Remove dependency on com.googlecode.json-simple from oak-core [OAK-1527] Remove dependency on commons-beanutils [OAK-1528] Update Slf4j Api dependency to 1.7.6 [OAK-1534] Clock improvements [OAK-1538] Create OSGi package for oak-solr indexer [OAK-1540] Switch Jackrabbit dependency to 2.8-SNAPSHOT and back once we have JCR-3745 released [OAK-1547] Simplify management of Solr configuration changes in SolrServerProviderService [OAK-1548] Updated bundled solrconfig.xml to support latest improvements [OAK-1551] EmbeddedSolrServerProvider should not let JettySolrRunner running [OAK-1552] Switch to newest solr.xml file format [OAK-1563] FullTextConstraint support in SolrQueryIndex [OAK-1565] Optimize repository upgrade by loading bundles where possible [OAK-1572] Add checkpoint operation to the filestore jmx api Bugs [OAK-333] 1000 byte path limit in MongoMK [OAK-622] Improve QueryIndex interface [OAK-771] Correct behavior for strange node and property names [OAK-1166] Warnings on concurrent async index update [OAK-1226] Hidden item handling in VersionEditor [OAK-1291] RandomizedReadTest fails with OutOfMemoryError: PermGen space [OAK-1416] Adding many siblings does not scale as expected in the number of added nodes [OAK-1418] Read performance regression [OAK-1429] Slow event listeners do not scale as expected [OAK-1471] Mod count in permission store requires cluster wide synchronization [OAK-1476] Hardcoded SecurityProvider implementation in oak-jcr Activator [OAK-1516] PhraseQuery fails due to missing posiion info in indexed fields [OAK-1520] Native pass-through queries combined with other conditions might not work [OAK-1523] Remove Bundle Activator which are not required [OAK-1524] NPE in TarMK flush thread [OAK-1525] VersionHistory.getAllVersions must be sorted by date for linear version histories [OAK-1526] Lock contention in SegmentIdFactory [OAK-1530] TarMK thread logs warning [OAK-1531] OrderedPropertyIndex logs many warnings [OAK-1532] ShareableNodesTest.testAddShareableMixin failures [OAK-1535] ClockTest.testClockDrift failures [OAK-1537] Merge oak-solr-* into oak-solr-core [OAK-1545] NPE in SegmentTracker [OAK-1546] Switch Lucene dependency to oak core tests to test scope [OAK-1549] AbstractRebaseDiff incorrectly handles conflict in added nodes [OAK-1555] Inefficient node state diff with old revisions [OAK-1562] BackgroundObserver not closed in ChangeProcessor In addition to the above-mentioned changes, this release contains all the changes included up to the Apache Jackrabbit Oak 0.18 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 https://svn.apache.org/repos/asf/jackrabbit/dist/KEYS. About Apache Jackrabbit Oak --------------------------- Oak is an effort implement a scalable and performant hierarchical content repository 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 100 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 2,500+ contributors. For more information, visit http://www.apache.org/