www-announce mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Julian Reschke <resc...@apache.org>
Subject [ANNOUNCE] Apache Jackrabbit Oak 1.8.0 released
Date Fri, 12 Jan 2018 12:16:50 GMT
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.8.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.

Jackrabbit Oak 1.8 is an incremental feature release based on and
compatible with earlier stable Jackrabbit Oak 1.x releases. Jackrabbit
Oak 1.8.x releases are 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.8.0
--------------------

Sub-task

     [OAK-2382] - Move NodeStore implementations to separate modules
     [OAK-3262] - oak-jcr: update test exclusions once JCR-3901 is
     resolved
     [OAK-4648] - Improve documentation about structure of TAR files
     [OAK-5869] - Annotate documents with branch commits
     [OAK-5964] - Invalidate documents through journal
     [OAK-5968] - Introduce RevisionContext.getClock()
     [OAK-6227] - There should be a way to retrieve oldest timestamp to
     keep from nodestores
     [OAK-6445] - Ensure mounted node stores don't contain versionable
     nodes
     [OAK-6798] - Basic Blob GC test for in-memory NodeStore and
     BlobStore
     [OAK-6799] - OSGi service tests for Blob GC
     [OAK-6841] - Revert Changes made in OAK-6575 before 1.7.10 is
     released.
     [OAK-7011] - Add setter/getter to ConfigurationBase and
     CompositeConfiguration
     [OAK-7012] - Add references to SecurityProviderImpl and
     SecurityProviderRegistration
     [OAK-7013] - Replace usage in oak-auth-external
     [OAK-7015] - Deprecate TreeFactory/RootFactory
     [OAK-7016] - Replace usage in oak-authorization-cug
     [OAK-7017] - Replace usage in oak-core
     [OAK-7022] - Prepare for usage of Root/TreeProvider in security
     tests
     [OAK-7028] - MongoDocumentStore.getStats() implementation
     [OAK-7029] - RDBDocumentStore.getStats() implementation
     [OAK-7032] - Remove usage of DocumentMK
     [OAK-7049] - SecurityProviderBuilder : pass Root/TreeProvider to
     SecurityConfigurations

Technical task

     [OAK-3690] - Decouple SegmentBufferWriter from SegmentStore
     [OAK-3777] - Multiplexing support in default PermissionStore
     implementation
     [OAK-4456] - Setup Windows builds
     [OAK-4612] - Multiplexing support for CugPermissionProvider
     [OAK-5547] - Document TarMK design
     [OAK-5554] - RDB*Store: update postgresql JDBC driver reference to
     9.4.1212
     [OAK-5555] - RDB*Store: update Tomcat JDBC pool dependency to
     7.0.73
     [OAK-5627] - RDBDocumentStore: improve long query logging
     [OAK-5650] - RDBDocumentStore on Oracle:
     ArrayIndexOutOfBoundsException in Oracle JDBC driver
     [OAK-5652] - RDB*Store: update Oracle JDBC driver reference to
     12.1.0.2.0
     [OAK-5653] - RDB*Store: update Derby to release 10.13
     [OAK-5667] - RDBDocumentStore: remove support for DBs without
     support for CASE statements in SELECT
     [OAK-5751] - RDBDocumentStore: properly handle null values for
     system properties
     [OAK-5852] - RDB*Store: update Tomcat JDBC pool dependency to
     7.0.75
     [OAK-5855] - RDBDocumentStore: improve query support for VersionGC
     [OAK-5918] - Document enhancements in DocumentNodeStore in 1.6
     [OAK-5975] - Document enhancements in Observation in 1.6
     [OAK-5977] - Document enhancements in S3DataStore in 1.6
     [OAK-5981] - SegmentTar version check with disabled mmaping
     [OAK-6083] - RDBDocumentStore: implement support for
     VersionGCSupport extensions added for OAK-4780
     [OAK-6113] - update spring to 1.5.x release
     [OAK-6117] - Enable lucene indexing via oak-run
     [OAK-6134] - RDB*Store: update PostgreSQL JDBC
     [OAK-6140] - Create RDB-specific BlobReferenceIterator
     [OAK-6143] - RDB*store fixtures: shorten table name prefixes for
     Oracle
     [OAK-6176] - Service to provide access to async indexer state
     [OAK-6192] - Lucene IndexInfoProvider implementation
     [OAK-6196] - Improve Javadoc of multiplexing SPI
     [OAK-6216] - Property IndexInfoProvider implementation
     [OAK-6224] - Enable dumping index definitions and stats via
     oak-run
     [OAK-6226] - RDBDocumentStoreDB: missing @Override statements
     [OAK-6228] - Enable index consistency check via oak-run
     [OAK-6231] - Enable dumping index content via oak-run
     [OAK-6236] - Improve the help output from oak-run commands
     [OAK-6237] - Tomcat JDBC pool's StatementCache interceptor may
     cache borked PreparedStatements with DB2
     [OAK-6244] - RDB*Store: update postgresql JDBC driver reference to
     42.1.1
     [OAK-6247] - RDB*Store: update Tomcat JDBC pool dependency to
     7.0.78
     [OAK-6248] - Enable use of pre extracted text cache
     [OAK-6270] - There should be a way for editors to be notified by
     AsyncIndexUpdate about success/failure of indexing commit
     [OAK-6271] - Support for importing index files
     [OAK-6282] - Implement a DummyDataStore to be used to test setup
     with no BlobStore access
     [OAK-6286] - Use BlobStore in read only mode by default unless
     read-write mode enabled
     [OAK-6414] - Use Tika config to determine non indexed mimeTypes
     [OAK-6415] - Use dynamic service loader by default
     [OAK-6487] - IndexUpdate should not reindex newly imported index
     definitions
     [OAK-6505] - Ensure mounted node stores don't contain
     referenceable nodes
     [OAK-6506] - Ensure unique property indexes are consistent when
     mounting NodeStores
     [OAK-6524] - Provide an extension point to customize the NodeStore
     builders
     [OAK-6546] - JsonSerializer should taken an instance of JsopWriter
     [OAK-6580] - Ensure mounts are consistent with the node type
     registry
     [OAK-6581] - Ensure mounts are consistent with the namespace
     registry
     [OAK-6591] - Refactor ValuePattern related logic to utility
     methods
     [OAK-6603] - [oak-blob-cloud] Remove the older S3 connector
     relying on JR caching
     [OAK-6612] - Refactor encoding logic in property index to utility
     class
     [OAK-6627] - The backup command should not silently upgrade the
     FileStore
     [OAK-6630] - Remove older cached FileDataStore relying on JR
     caching
     [OAK-6649] - Provide callback support for newly inserted entries
     in unique index
     [OAK-6652] - RDB*Store: update postgresql JDBC driver reference to
     42.1.4
     [OAK-6660] - RDB*Store: update mysql JDBC driver reference to
     5.1.44 (2017-08-30)
     [OAK-6666] - Clean up tests depending on DocumentNodeStore
     [OAK-6669] - Blob serializer to serialize BlobStoreBlob
     [OAK-6671] - Enable support for custom types in ExternalSort
     [OAK-6679] - Remove dependency on SimpleCommitContext
     [OAK-6686] - Move OakVersion to oak-commons
     [OAK-6696] - RDB*Store: update Tomcat JDBC pool dependency to
     7.0.81
     [OAK-6697] - Use OakVersion in oak-commons
     [OAK-6699] - Move PathFilter to oak-store-spi
     [OAK-6705] - Replace usage of RootFactory and TreeFactory in
     spi.security test
     [OAK-6706] - Replaces usage of NamePathMapper implementations in
     AbstractAccessControlListTest
     [OAK-6712] - Move ChangeSet/Builder to oak-core-spi
     [OAK-6713] - AsyncIndexInfoService - Method to detect change in
     indexer state
     [OAK-6714] - Support non root index in ContentMirrorStoreStrategy
     [OAK-6716] - RDB*Store: update DB2 JDBC dependency to 4.19.66
     [OAK-6724] - Create empty module structure and dependencies
     from/to other oak modules
     [OAK-6725] - Move o.a.j.oak.plugins.tree.impl.ChildOrderDiff to
     o.a.j.oak.security.authorization.permission
     [OAK-6731] - Remove implementation dependencies in non-factory
     classes
     [OAK-6743] - Copy RootFactory, TreeFactory to separate package
     (and deprecate existing)
     [OAK-6755] - Convert oak-core and oak-store-document to OSGi R6
     annotations
     [OAK-6763] - Convert oak-examples to OSGi R6 annotations
     [OAK-6779] - IndexTracker should check diff on :status node to
     detect index updates
     [OAK-6781] - Reindex handling with synchronous lucene property
     indexes
     [OAK-6782] - RDBDocumentStore: inconsistent handling of cache
     invalidation on remove()
     [OAK-6787] - Delete property index entries recursively in batches
     to avoid large transaction
     [OAK-6811] - BasicDocumentStore: avoid use of API edge case in
     test of cache invalidation
     [OAK-6813] - DocumentStore conditional remove: reduce set of
     supported conditions to what the Version GC needs
     [OAK-6826] - Refactor Jcr class to remove dependency on
     o.a.j.oak.plugins.index
     [OAK-6832] - Synchronous nodetype lucene index support
     [OAK-6857] - Lucene unique index should check path validity for
     uniqueness constraint
     [OAK-6860] - RDB*Store: update Derby to release 10.14
     [OAK-6863] - RDB*Store: update Oracle JDBC dependency to 12.2.0.1
     [OAK-6903] - RDB*Store: update Tomcat JDBC pool dependency to
     7.0.82
     [OAK-6906] - RDB*Store: update Tomcat JDBC pool dependency to
     8.5.23 (for branches compatible with Java 7)
     [OAK-6907] - RDB*Store: require ojdbc 12.2.0.1 because of known
     issues in earlier versions
     [OAK-6938] - Add package export version for spi.xml
     [OAK-6939] - Non-existing package o.a.j.oak.util is exported twice
     [OAK-6942] - Add package export versions for core-spi
     [OAK-6944] - org.apache.jackrabbit.oak.management is exported but
     not used outside of oak-core
     [OAK-6945] - Add package export versions for oak-commons
     [OAK-6946] -
     org.apache.jackrabbit.oak.security.authentication.ldap must not be
     exported / filtered in parent
     [OAK-6949] - Non-existing package o.a.j.oak.util is filtered in
     parent/pom.xml
     [OAK-6951] - Add package export versions for oak-query-spi
     [OAK-6955] - Remove export for
     org.apache.jackrabbit.oak.plugins.itemsave
     [OAK-6958] - Remove package export for
     org.apache.jackrabbit.oak.plugins.atomic
     [OAK-6959] - Remove package export for
     org.apache.jackrabbit.oak.plugins.index.counter
     [OAK-6960] - Remove package export for
     org.apache.jackrabbit.oak.plugins.index.nodetype
     [OAK-6961] - Remove package export for
     org.apache.jackrabbit.oak.plugins.index.property.jmx
     [OAK-6974] - RDBDocumentSerializer: factor out columnProperties
     [OAK-6985] - RDBDocumentStoreJDBC: remove unused parameter
     [OAK-6987] - The restore command should not silently upgrade the
     FileStore
     [OAK-6988] - The checkpoints command should not silently upgrade
     the FileStore
     [OAK-6990] - The composite-prepare command should not silently
     upgrade the FileStore
     [OAK-6991] - The console command should not silently upgrade the
     FileStore
     [OAK-6992] - The datastorecheck command should not silently
     upgrade the FileStore
     [OAK-6994] - The garbage command should not silently upgrade the
     FileStore
     [OAK-6996] - The json-index command should not silently upgrade
     the FileStore
     [OAK-6997] - The recovery command should not silently upgrade the
     FileStore
     [OAK-6998] - The repair command should not silently upgrade the
     FileStore
     [OAK-6999] - The resetclusterid command should not silently
     upgrade the FileStore
     [OAK-7001] - The tika command should not silently upgrade the
     FileStore
     [OAK-7002] - The index command should not silently upgrade the
     FileStore
     [OAK-7003] - The export command should not silently upgrade the
     FileStore
     [OAK-7004] - The server command should not silently upgrade the
     FileStore
     [OAK-7019] - RDBDocumentStore: refactor table upgrade code
     [OAK-7023] - Replacement for DocumentMK.Builder
     [OAK-7036] - add JDBC information to metadata map
     [OAK-7037] - Remove package oaj.oak.commons.hash and move SipHash
     to oak-core
     [OAK-7039] - IndexDefinition should provides names of indexed
     relative node names
     [OAK-7040] - Fix unbindTreeProvider method on
     SecurityProviderRegistration
     [OAK-7059] - RDBDocumentStore.getStats() for MySQL
     [OAK-7062] - RDB*Store: update mysql driver reference to 5.1.45
     [OAK-7068] - RDBBlobStore may wrap SQLExceptions into
     RuntimeExceptions
     [OAK-7069] - RDBDataSourceWrapper: properly name
     setTemporaryUpdateException
     [OAK-7073] - Expose readOnly status for MongoDocumentStore

Bug

     [OAK-2114] - Aggregate index returns the ancestor node as well
     [OAK-3374] - Concurrent Updates of Group's Membership Results in
     Conflict
     [OAK-4390] - DocumentStoreStatsIT.update fails when RDB's append
     mode is disabled
     [OAK-4529] - DocumentNodeStore does not have a repository software
     version range check
     [OAK-5017] - Standby test failures
     [OAK-5173] - Path in uniqueness constraint violation exception is
     always the root
     [OAK-5239] - Test failure:
     ExternalPrivateStoreIT. testSyncUpdatedBinaryProperty()
     [OAK-5301] - Possible null dereference in MapRecord
     [OAK-5355] - Too eager refreshing of tree permissions in
     SecureNodeBuilder
     [OAK-5357] - StringUtils conversion functions can throw
     NullPointerException
     [OAK-5408] - Test failure: segment.standby.BrokenNetworkTest
     [OAK-5426] - Test failure: LuceneIndexQueryTest.sql2() query took
     too long
     [OAK-5441] - Test failure: BasicServerTest.testServerOk() Address
     already in use
     [OAK-5450] - Documented example for relativeNode in index
     aggregation does not work.
     [OAK-5482] - Test failure: LdapProviderTest - Address already in
     use
     [OAK-5485] - Test failure: LdapDefaultLoginModuleTest address
     already in use
     [OAK-5500] - Oak Standalone throws ClassNotFoundException:
     remoting/protectedHandlersConfig.xml
     [OAK-5501] - Oak Standalone: Webdav configuration is set to
     remoting mode by default
     [OAK-5521] - CommunicationObserver and its MBeans need proper
     synchronization
     [OAK-5536] - Facets on relative properties do not work properly
     [OAK-5542] - Test failure:
     security.authentication.ldap.LdapProviderTest (Address already in
     use)
     [OAK-5552] - Test failure: query.SQL2OptimiseQueryTest.orToUnions
     (Query took too long)
     [OAK-5557] - incomplete diffManyChildren during commitHook
     evaluation in a persisted branch
     [OAK-5573] -
     org.apache.jackrabbit.oak.segment.standby.StandbyTestIT.testSyncLoop
     [OAK-5580] - Show statistics about I/O operations in the check
     command
     [OAK-5587] - Node counter index estimates must not be used before
     first async index cycle
     [OAK-5590] - The check command doesn't do any check when "deep"
     option is not provided
     [OAK-5601] - documentMk backgroundRead should handle missing
     journal entries
     [OAK-5603] - Test failure: oak.upgrade.cli.blob.CopyBinariesTest
     [OAK-5612] - Test failure:
 
org.apache.jackrabbit.oak.run.osgi.DocumentNodeStoreConfigTest.testRDBDocumentStoreRestart
     [OAK-5619] - withIncludeAncestorsRemove reports unrelated
     top-level node deletion
     [OAK-5621] - Warn traversal queries: false positives for joins and
     SQL-2 queries using "or"
     [OAK-5624] - Test failure:
     org.apache.jackrabbit.oak.cache.ConcurrentTest.testLoaderBlock
     [OAK-5626] - ChangeProcessor doesn't reset 'blocking' flag when
     items from queue gets removed and commit-rate-limiter is null
     [OAK-5636] - potential NPE in ReplicaSetInfo
     [OAK-5649] - Error in RefreshPolicy can lead to IndexNode lock
     leak
     [OAK-5651] - java.lang.IllegalStateException logged when migrating
     Segment to Document
     [OAK-5656] - InitialContent depends on
     document.bundlor.BundlingConfigInitializer
     [OAK-5657] - leverage project.version in oak-examples
     [OAK-5668] - Test failure:
     observation.ObservationQueueFullWarnTest.warnOnRepeatedQueueFull
     [OAK-5703] - The replica set info gets invalid cluster id
     [OAK-5705] - Negative cost calculation for native Solr query
     [OAK-5738] - Potential NPE in LargeLdapProviderTest
     [OAK-5740] - deliver overflow change even without new commit
     [OAK-5750] - Test failure: PojoSR
     run.osgi.SecurityProviderRegistrationTest
     [OAK-5753] - Consistency check incorrectly fails for broken
     partial paths
     [OAK-5772] - Test failure:
     segment.standby.MBeanIT.testClientAndServerEmptyConfig
     [OAK-5773] - BlobCache does not implement Closeable
     [OAK-5783] - Test failure:
 
security.authentication.ldap.LdapProviderTest.testSplitDNIntermediatePath2
     [OAK-5836] - Permissions.isAggregate returns true for
     NO_PERMISSION placeholder
     [OAK-5850] - Weight reported by the record cache is off by one
     [OAK-5854] - Incorrect VersionGarbageCollector log message
     [OAK-5862] - Consistency check outputs wrong number of binary
     properties in debug messages
     [OAK-5863] - SegmentNodeBuilder getNodeState can trigger eager
     flush of child node builder
     [OAK-5864] - Missing license header: ThrowingCallbackHandler
     [OAK-5867] - Oak Lucene depends on 'org.junit' OSGi package
     [OAK-5874] - Duplicate uploads might happen with
     AbstractSharedCachingDataStore
     [OAK-5875] - project.version in oak-example fails release-plugin
     [OAK-5876] - SplitDocumentCleanup should implement Closeable
     [OAK-5877] - Oak upgrade usage note refers to oak-run
     [OAK-5878] - SplitDocumentCleanup iterates twice over
     splitDocGarbage
     [OAK-5879] - CompositeConfiguration: service ranking not respected
     upon later comparision
     [OAK-5887] - Stricter validation on primary type change
     [OAK-5888] - ReferenceBinaryIT fails after switching to
     oak-segment-tar
     [OAK-5891] - Test failure: org.apache.jackrabbit.oak.osgi.OSGiIT
     [OAK-5896] - fix typo in Not condition handling
     [OAK-5906] - PrivilegeContext.definesLocation returns true for
     siblings of privilege root path
     [OAK-5908] - BlobIdTracker should not resurrect deleted blob ids
     in a clustered/shared setup after GC
     [OAK-5909] - PrivilegeContext.definesContextRoot should take
     primary type into account
     [OAK-5915] - NPE in LIRS cache
     [OAK-5916] - OOM in SegmentReferenceLimitTestIT
     [OAK-5920] - Checkpoint migration will fail if the
     MissingBlobStore is used
     [OAK-5930] - incorrect test assumption in CacheConsistencyTestBase
     wrt batching
     [OAK-5933] - Checkpoints are not sorted correctly in
     RepositorySidegrade
     [OAK-5934] - AbstractSharedCachingDataStore initializes a loader
     which closes input stream retrieved prematurely
     [OAK-5943] - oak-examples/standalone using Spring fwk version
     referencing vulnerable version of commons-collections
     [OAK-5947] - Allowing non-admin user to set repository permissions
     fails
     [OAK-5948] - SegmentCompactionIT skips compaction runs because
     they are too frequent
     [OAK-5949] - XPath: string literals parsed as identifiers
     [OAK-5952] - Wrong eviction count reported by PriorityCache
     statistics
     [OAK-5955] - Don't expose SegmentRevisionGCMBean on standby
     instances
     [OAK-5966] - Not able to connect in read only mode with old
     DocumentNodeStore repo
     [OAK-5971] - Offline compaction corrupts the journal
     [OAK-5979] - FileStore version check should disable memory mapping
     [OAK-5993] - Utils.isIdFromLongPath() may throw
     StringIndexOutOfBoundsException
     [OAK-6006] - MultiplexingNodeStore sometimes fails to release
     checkpoint
     [OAK-6010] - UserContext.definesProperties doesn't respect system
     user nt
     [OAK-6011] - Test failure: JdbcToSegmentTest:validateMigration
     [OAK-6016] - DocumentNodeStore.compare() fails with
     IllegalStateException in read-only mode
     [OAK-6023] - UserImporter: handlePropInfo for rep:authorizableId
     never returns true
     [OAK-6028] - UserImporter.start: should return false for User tree
     [OAK-6033] - Test failure:
     CompactionAndCleanupIT.concurrentCleanup
     [OAK-6037] - Bulk and data segments are used as input for cleanup
     [OAK-6041] - o.a.j.oak.plugins.identifier.ClusterRepositoryInfo
     should have private constructor
     [OAK-6043] - org.apache.jackrabbit.oak.commons.jmx.JmxUtil must
     have a private constructor
     [OAK-6044] - org.apache.jackrabbit.oak.util.OakVersion must have
     private constructor
     [OAK-6045] -
     org.apache.jackrabbit.oak.plugins.tika.TextExtractorMain must have
     private constructor
     [OAK-6046] - Include references from unpersisted segments when
     running cleanup
     [OAK-6047] - incorrect metatype annotations
     [OAK-6048] - Java 8 compilation failure in
     ConfigurationParametersTest.java
     [OAK-6049] - incorrect metatype annotations in
     CustomRestrictionProvider exercise
     [OAK-6056] - Refactor SegmentStream to reduce buffering
     [OAK-6057] - incorrect system property check in blob/upgrade tests
     [OAK-6060] - Build failures on travis-ci
     [OAK-6061] - Test failure: StandbyTestIT.testSyncLoop
     [OAK-6063] - Oak run console not loading
     [OAK-6064] - Oak run logging not working
     [OAK-6066] - Migration of binaries relies on implementation
     details of the TarMK
     [OAK-6078] - oak.util.ApproximateCounter must have private
     constructor
     [OAK-6086] - Incorrect usage of RDBDocumentStore.unwrap()
     [OAK-6090] - Move exercise code to separate packages to avoid
     build warnings
     [OAK-6094] - Test failure: SecondaryStoreConfigIT
     [OAK-6100] - Test failure:
     CompositeDataStoreCacheTest.concurrentGetCached()
     [OAK-6110] - Offline compaction uses too much memory
     [OAK-6116] - SQL generated from xpath with 3 or more ORed paths
     along with order by clause throws parseException
     [OAK-6118] - XPathConditionVisitor wrongly escapes string values
     for ImpersonationCondition
     [OAK-6127] - Incorrect annotation for aggregator parameter in
     EventQueue constructor
     [OAK-6133] - Incorrect parent pom reference
     [OAK-6149] - AtomicCounter fails with LuceneIndexEditorProvider
     [OAK-6150] - Javadoc plugin fails on Java 8
     [OAK-6151] - Minor bugs in AccessControlImporter
     [OAK-6152] - AccessControlImporter doesn't handle multivalued
     restrictions
     [OAK-6155] - AccessControlManagerImpl: removing entries through
     principal-set-acl fails
     [OAK-6158] - AccessControlManagerImpl: adding mv-restrictions with
     principal-based-entry fails
     [OAK-6160] - PrincipalAcl.equals doesn't include principal
     [OAK-6164] - IOUtils.nextPowerOf2() returns lower power of 2 for
     very high int values
     [OAK-6168] - UserUtil.getAuthorizableRootPath when user/group path
     are equal or nested
     [OAK-6174] - Test failure: VersionGCTest.gcMonitorStatusUpdates
     [OAK-6181] - MongoMissingLastRevSeeker may return incomplete
     candidate set
     [OAK-6193] - IllegalStateException when closing the FileStore
     during garbage collection
     [OAK-6203] - Skip the WikipediaImport benchmark if no dump is
     specified
     [OAK-6204] - Reduce the verboseness of the ManyNodes benchmark
     [OAK-6205] - SecureNodeBuild keeps unused Context field
     [OAK-6208] - oak-run compact should have an option to
     disable/enable memory mapping
     [OAK-6219] - Test failure: OSGiIT
     [OAK-6229] - NPE when running datastorecheck command with S3
     [OAK-6230] - Minor cleanup for S3 tests
     [OAK-6233] - Typed properties not handled properly in the
     initialization of DataStore in oak-run
     [OAK-6250] - oak-run enforcer fails on size
     [OAK-6252] - re-introduce ServerCommand
     [OAK-6259] - Test failure: VersionGCTest.gcMonitorInfoMessages
     [OAK-6260] - Specify Total Reindexing time in ms
     [OAK-6266] - SolrQueryIndexProviderService should always have
     NodeAggregator
     [OAK-6267] - Version restore fails if restore would not change
     bundling root but changes bundled nodes
     [OAK-6273] -
     FilteringNodeStateTest#shouldHaveCorrectChildOrderProperty is
     failing
     [OAK-6277] - UserQueryManager: redundant check for colliding bound
     and offset
     [OAK-6278] - UserQueryManager: scope filtering for everyone
     groupId compares to principal name
     [OAK-6283] - FileCache should ignore when file evicted with
     replacement
     [OAK-6285] - Test failure: UploadStagingCacheTest.testUpgrade
     [OAK-6290] - UserQueryManager.findAuthorizables fails with
     IllegalArgumentException when there are multiple selectors
     [OAK-6292] - SecurityProviderRegistration.maybeUnregister: typo on
     comment
     [OAK-6293] - Enable test log creation for oak-blob-plugins
     [OAK-6294] - The "missing" node cache value breaks the
     DocumentNodeStore#applyChanges
     [OAK-6300] - CacheConsistencyTestBase: potential NPE in teardown
     [OAK-6306] - upgrade uses lucene wrong version (transient
     dependency)
     [OAK-6314] - ActiveDeletedBlobCollectorTest.multiThreadedCommits
     is failing intermittently for a few users
     [OAK-6317] - LMSEstimator update amount depending on cost amount
     [OAK-6321] - oak-blob-plugins exports all packages
     [OAK-6335] - Baseline check fails in oak-api
     [OAK-6338] - AbstractCompositeProviderTest reverse order flag is
     ignored
     [OAK-6342] - Cost overrides for Lucene index not always working
     [OAK-6360] - Failed to retrieve previously indexed checkpoint in
     composite node store
     [OAK-6365] - oak-store-spi fails on javadoc
     [OAK-6368] - Builder options not picked up after MongoDB is set
     [OAK-6372] - ListRecord cannot handle more than 16581375 entries
     [OAK-6374] - S3Backend masks actual thrown error when problem in
     filtering properties
     [OAK-6375] - RevisionGCMbeans are not filtered correctly in the
     RepositoryManagement
     [OAK-6376] - Race condition in the CompositeNodeStore#merge
     [OAK-6377] - Text extraction with oak-run and tika requires fake
     string in the command to work
     [OAK-6378] - Move the SegmentWriter API to its own interface
     [OAK-6379] - NPE in MergingNodeStateDiff on
     DELETE_DELETED_PROPERTY
     [OAK-6383] - Changes visible before merge
     [OAK-6384] - Dependency missing in oak-run
     [OAK-6386] - GarbageCollector#compact() throws NPE
     [OAK-6391] - With FastQuerySize, getSize() returns -1 if there are
     exactly 21 rows
     [OAK-6392] - Partial lastRev update with branches disabled
     [OAK-6393] - Remove
     NodeRecordTest#unreferencedNodeRecordShouldBeRoot
     [OAK-6404] - Move TAR handling logic in its own package
     [OAK-6410] - NPE when removing inexistent property from checked in
     node
     [OAK-6411] - Build failure due to unresolved oak-lucene bundle
     [OAK-6413] - FileCache getIfPresent doesn't update cache hit/miss
     counters
     [OAK-6416] - Test failure: MapRecordTest.testOak1104
     [OAK-6420] - Incorrect revisions sweep stats
     [OAK-6423] - MongoDocumentStore re-creates old index on
     _deletedOnce
     [OAK-6424] - LuceneSupportTest::fullTextSearch is still flaky
     [OAK-6438] - LuceneSupportTest.fullTextSearch failing
     [OAK-6440] - Incorrect node type diff
     [OAK-6442] - Update Oak 1.6 to Jackrabbit 2.14.2
     [OAK-6443] - NodeStoreFixtureProvider not closing
     DocumentNodeStore
     [OAK-6447] - CompositeNodeStore initialisation fails if
     ignoreReadOnlyWrites config property is not set
     [OAK-6451] - MultiplexingPermissionProvider is ignored by the
     CompositeAuthorizationConfiguration
     [OAK-6452] - IllegalStateException: too much data for a segment
     during oak-upgrade from segment to segment-tar
     [OAK-6454] - Inaccurate data in the oak-upgrade progress logger
     [OAK-6455] - Don't call observer concurrently from the
     CompositeNodeStore
     [OAK-6462] - Incorrect memory calculation for bundled node states
     [OAK-6463] - Property index update fails in composite NodeStore
     setup
     [OAK-6465] - Path supporting fragments should be an unbounded
     property
     [OAK-6481] - Missing versionable path property for
     oak:mount-libs-crx.default
     [OAK-6483] - Segment-based composite node store performance
     degradation
     [OAK-6486] - NPE in CompositeNodeStore
     [OAK-6490] - Pre-Extraction support fails for empty binaries
     [OAK-6493] - LuceneIndexProviderService.enableHybridIndexing=false
     results in NullPointerException
     [OAK-6499] - MultiplexingPermissionProvider wrong privileges
     composition
     [OAK-6500] - NRTIndex leaks file handles due to unclosed
     IndexReader
     [OAK-6502] - Property index: include/exclude key pattern list
     (escaping)
     [OAK-6503] - Active deletion of blobs tries to delete sub-16k
     inlined blobs in case of seg-tar
     [OAK-6504] - Active deletion of blobs needs to indicate
     information about purged blobs to mark-sweep collector
     [OAK-6507] - Cleanup incorrectly removes base state created by
     full compaction
     [OAK-6527] - CompositeNodeStore permission evaluation fails for
     open setups
     [OAK-6529] - IndexLoaderV1 and IndexLoaderV2 should not rely on
     Buffer.array()
     [OAK-6541] - While importing new index property indexes are
     getting marked for reindex
     [OAK-6542] - java.lang.NoClassDefFoundError:
     com/codahale/metrics/Reservoir
     [OAK-6547] - The machine id conflicts when running Oak in Docker
     containers
     [OAK-6548] - Composite node builder/state keeps references to all
     the ancestor states
     [OAK-6560] - Sidegrade uses too much memory
     [OAK-6562] - OakDirectory should recreate file node upon create
     [OAK-6567] - Fix OSGi wiring after netty update to 4.1.x
     [OAK-6572] - IndexReaderClosed exception seen after some run
     [OAK-6573] - The --src-external-ds option does not mandate
     argument but reads it later
     [OAK-6596] - Blob store consistency check can show bogus errors
     about missing blobs
     [OAK-6598] - LuceneIndexAggregationTest2 doesn't get executed by
     mvn test
     [OAK-6601] - SegmentWriteOperation.isOldGeneration() too eager
     [OAK-6602] - Improve resource management in BulkTransferBenchmark
     [OAK-6604] - Oak Blob Cloud is not used by oak-upgrade
     [OAK-6611] - [upgrade][oak-blob-cloud] Many S3DataStore errors
     during migration with oak-upgrade
     [OAK-6620] - NodeStoreFixtureProvider should unregister services
     registered with whiteboard
     [OAK-6624] - InitialContentMigrator overwrites an existing
     repository
     [OAK-6633] - Overwriting a versionable node with the
     copy-versions=false doesn't remove versionable properties
     [OAK-6635] - IndexReader closed exception in DocumentQueue
     [OAK-6640] - test failure in ResponseDecoderTest
     [OAK-6641] - test failure in
     org.apache.jackrabbit.oak.segment.standby.ExternalPrivateStoreIT
     [OAK-6645] - 1.7.7 release fails on javadoc
     [OAK-6648] - test failure seen in
     org.apache.jackrabbit.oak.segment.upgrade.UpgradeIT
     [OAK-6653] - Standby server must always send the persisted head to
     clients
     [OAK-6656] - OrderedPropertyIndexEditorProvider does not return
     Editor to IndexUpdate leading to "ordered" being marked as missing
     type
     [OAK-6659] - Cold standby should fail loudly when a big blob can't
     be timely transferred
     [OAK-6678] - Syncing big blobs fails since StandbyServer sends
     persisted head
     [OAK-6680] - Test failure:
     DocumentNodeStoreTest.disabledBranchesWithBackgroundWrite
     [OAK-6685] - Background operation may fail when document is
     malformed
     [OAK-6687] - ReadOnly connection to fresh SegmentNodeStore setup
     failing
     [OAK-6691] - RepeatedRepositorySidegradeTest flushes an already
     closed FileStore
     [OAK-6704] - Set default merge polity to tiered as
     CommitMitigatingTieredMergePolicy seems to be bad for performance
     [OAK-6717] - DefaultIndexWriter using incorrect merge scheduler
     [OAK-6722] - Incorrect and unused dependencies in oak-query-spi
     [OAK-6723] - Incorrect scope of logback-classic in
     oak-blob-plugins
     [OAK-6729] - PojoSR: RepositoryFactory tests should have timeouts
     [OAK-6730] -
 
oak-core/src/main/java/org/apache/jackrabbit/oak/spi/security/CompositeConfiguration.java
     does not compile with jdk 9
     [OAK-6740] - Test failure: StandbyTestIT.testSyncLoop()
     [OAK-6744] - OAK Solr Core on JDK 9: Could not find artifact
     jdk.tools:jdk.tools:jar:1.6
     [OAK-6745] - Oak Web Application Example: Execution default-war of
     goal org.apache.maven.plugins:maven-war-plugin:2.6:war failed
     [OAK-6748] - Test failure:
     ExternalPrivateStoreIT.testSyncBigBlob()
     [OAK-6750] - Lucene facets don't work with relative properties
     [OAK-6753] - Wrong binding in TokenConfigurationImpl
     [OAK-6776] - Correctly use IndexPlan.supportsPathRestrictions
     [OAK-6777] - IndexReader closed exception in previous reader
     [OAK-6778] - XPath union with "explain" doesn't explain
     [OAK-6780] - Duplicated _exportcontents directive in oak-lucene's
     pom.xml
     [OAK-6783] - Slow queries JMX bean: sort by rows, not time
     [OAK-6784] - Exceptions are inhibited in oak-run compact
     [OAK-6786] - Existing version histories are not removed when using
     --include-versions=false
     [OAK-6789] - RDB: RevisionGC performance on Oracle
     [OAK-6790] - FacetResult class isn't exposed anymore
     [OAK-6796] - DataStoreTestBase.testSyncBigBlob failures
     [OAK-6800] - Minor typo in message returned by consistency check
     through mbean
     [OAK-6808] - update surefire plugin to 2.20.1 for use with Java 9
     [OAK-6816] - DataStoreTrackerGCTest failures
     [OAK-6825] - oak-examples/standalone test failure on Java 9
     [OAK-6827] - Consistency check fails with active deletions
     [OAK-6829] -
     ExternalPrivateStoreIT/ExternalSharedStoreIT.testSyncBigBlob
     failures
     [OAK-6837] - MTFulltextQueryTermsProvider should catch exceptions
     due to Joshua errors
     [OAK-6838] - IS NOT NULL condition for relative properties not
     working as expected
     [OAK-6840] - Tar recovery chokes on bulk segments
     [OAK-6843] - Log correct path while initializing the DataStore
     [OAK-6845] - org.apache.jackrabbit.oak.jcr.query.QueryJcrTest1IT
     on java 9 fails with OutOfMemory
     [OAK-6852] - RDBDocumentStore conditional remove: check condition
     properly
     [OAK-6861] - Warn messages when building oak-query-spi
     [OAK-6864] - IndexUpdate should disable superseded indexes only
     during an async cycle run
     [OAK-6865] - Account for active deletion in oak-run datastorecheck
     [OAK-6866] - Force compaction timeout logs wrong number of seconds
     [OAK-6869] - oak-http and oak-remote use potentially vulnerable
     versions of com.fasterxml.jackson
     [OAK-6871] - Composite roles are not compatible with Windows
     [OAK-6874] - Segment-Tar-Cold fixture doesn't correctly set up
     standby blob store
     [OAK-6875] - Lucene index: the query read limit is ignored
     [OAK-6876] - IndexDisabler should not use NodeBuilder#isReplaced
     [OAK-6877] - NodeBuilder#isReplaced behaves incorrectly for
     SegmentNodeStore
     [OAK-6884] - TarMK disk space check is not synchronized with
     FileStore opened state
     [OAK-6885] - Add missing id field setting in CloudSolrServer
     [OAK-6886] - OffRC always logs 0 for the number of compacted nodes
     in gc.log
     [OAK-6888] - Flushing the FileStore might return before data is
     persisted
     [OAK-6889] - Followup on OAK-6755: fix OSGi component descriptors
     [OAK-6890] - Background threads might not be automatically
     restarted
     [OAK-6894] -
 
org.apache.jackrabbit.oak.segment.upgrade.UpgradeIT.offRCUpgradesSegments
     failing
     [OAK-6895] - Suggest directory lookup (query) isn't closed
     [OAK-6901] - Unknown channel option 'TCP_NODELAY' for channel
     warning in cold standby
     [OAK-6902] - Cost estimation for path tranformable queries is
     incorrect
     [OAK-6909] - FileStore.compact does not persist compacted head to
     journal
     [OAK-6912] - Cold standby performance regression due to segment
     caching
     [OAK-6923] - Update Oak trunk to Jackrabbit 2.15.8
     [OAK-6926] - Lucene: contains "a -b" with path restriction ignored
     "a"
     [OAK-6928] - RootFactory: deprecated method createSystemRoot lost
     during to m12n effort
     [OAK-6930] - TreeUtil.getString(Tree,String,String defaultValue)
     is not static
     [OAK-6935] - Active deletion logs warn messages when it tries to
     delete blobs already purged by DSGC
     [OAK-6943] - Build failure: baseline error for o.a.j.o.spi.xml
     [OAK-6950] - Active deletion can delete blobs from a shared store
     when a clone setup is created
     [OAK-6953] - CacheLIRS cannot be disabled
     [OAK-6966] - SizeDeltaGcEstimation should compute the repository
     size from the same source
     [OAK-6967] - Skip problematic binaries: spurious warning in log
     file
     [OAK-6968] - Cumulative RGC stats always shows timeActive=0
     [OAK-6972] - DefaultIndexReader closes suggest directory multiple
     times
     [OAK-6975] - test failure seen in
     org.apache.jackrabbit.oak.segment.upgrade.UpgradeIT
     [OAK-6977] - The oak-run process started by UpgradeIT interferes
     with Surefire
     [OAK-6982] - Test failure:
     TokenCleanupTest.testAllExpiredReachingThreshold
     [OAK-6984] - High read IO in compaction retry cycles
     [OAK-6986] - Tooling should not silently upgrade the FileStore
     [OAK-7005] - Test failure:
     DocumentLeaseUpdateRetryTest.testLeaseRetryLoopWithDelay
     [OAK-7007] - Test failure: FacetTest.testFacetsNA()
     [OAK-7008] - Estimation for FULL can be off sometimes
     [OAK-7020] - Windows test failures for oak-solr-core
     [OAK-7026] - DataStoreCheckTes#testConsistencyVerbose* test
     failures
     [OAK-7030] - DeleteOnCloseFileInputStream logs to the wrong logger
     [OAK-7044] - Misleading log message by LeaseFailureHandler
     [OAK-7045] - Incorrect module name in Utils.getModuleVersion()
     [OAK-7052] - Active deletion purge can OOM if number of blobs
     listed in a file become too large
     [OAK-7053] - Commit fails even though change made it to the
     DocumentStore
     [OAK-7054] - Build failure: ClassNotFoundException:
     solr.JsonUpdateRequestHandler
     [OAK-7070] - rep:excerpt selector broken as regression of OAK-6750
     [OAK-7078] - NullPointerException in
     FilteredSortedSetDocValuesFacetCounts during query evaluation
     [OAK-7082] - ArrayIndexOutOfBoundsException when upgrading from
     Oak 1.6
     [OAK-7093] - ActiveDelete synchronization with BlobTracker leaves
     temp files
     [OAK-7095] - NodeStoreFixtureProvider should use BlobStore from
     DocumentNodeStore if no DataStore configured
     [OAK-7097] - DocumentStoreIndexer should clear the index state
     prior to indexing
     [OAK-7101] - Stale documents in RDBDocumentStore cache
     [OAK-7108] - TraverseWithSortStrategy fails to register memory
     pool listener with heap less than 2GB
     [OAK-7111] - Constraint violation message is imprecise when an
     unexpected child node is found
     [OAK-7119] - Restrict de-serialization mechanism for older 
serialized cache
     map in DataStoreCacheUtils to the classes required
     [OAK-7123] - ChildNodeStateProvider does not return all immediate
     children

Documentation

     [OAK-3914] - Copy on read mbean is not properly documented anymore
     [OAK-4030] - DocumentNodeStore: required server time accuracy
     [OAK-4414] - Document IndexStatsMBean features
     [OAK-5424] - Add documentation about revision garbage collection
     [OAK-5665] - use of -R in diagnostic-build.md
     [OAK-5692] - Oak Lucene analyzers docs unclear on viable
     configurations
     [OAK-5789] - Oak does not enforce jcr:namespaceManagement at path
     level
     [OAK-5938] - Sort runmodes in README.md
     [OAK-5946] - Document indexing flow
     [OAK-5974] - Move references to various third party link to
     separate page from main page
     [OAK-6253] - Document logging and option format in oak-run
     [OAK-6370] - Improve documentation for text pre-extraction
     [OAK-6623] - Document QueryEngineSettings.FastQuerySize /
     QueryEngineSettingsService

Epic

     [OAK-3287] - DocumentMK revision GC
     [OAK-3341] - lucene technical debt
     [OAK-4243] - Oak Segment Tar Module
     [OAK-4933] - Create a data store implementation that integrates
     with Microsoft Azure Blob Storage
     [OAK-5599] - Slim oak-run
     [OAK-5664] - Require Java 8
     [OAK-6460] - Index related tooling
     [OAK-6727] - Oak should compile & test on Java 9

Improvement

     [OAK-937] - Query engine index selection tweaks: shortcut and hint
     [OAK-2621] - Too many reads for child nodes
     [OAK-2710] - Remove Utils.unshareString
     [OAK-2808] - Active deletion of 'deleted' Lucene index files from
     DataStore without relying on full scale Blob GC
     [OAK-3070] - Use a lower bound in VersionGC query to avoid
     checking unmodified once deleted docs
     [OAK-3342] - move benchmarks in oak-benchmark module
     [OAK-3381] - Provide Common Ancestor To ConflictHandler
     [OAK-3498] - DN can't be used as the group name in the external
     auth handler
     [OAK-3606] - Improvements for IndexStatsMBean usage
     [OAK-3801] - Move solr dependency into oak-benchmarks module
     [OAK-3878] - Avoid caching of NodeDocument while iterating in
     BlobReferenceIterator
     [OAK-3987] - Indexer dry run mode
     [OAK-4318] - Upgrade oak-solr to Solr 5.x
     [OAK-4462] - LoginModuleImpl: option to have AuthInfo populated
     with userId instead of loginName
     [OAK-4513] - Detect and log references across stores
     [OAK-4619] - Unify RecordCacheStats and CacheStats
     [OAK-4637] - Property index: include/exclude key pattern list
     [OAK-4732] - (Slightly) prioritise reads over writes
     [OAK-4839] - Allow to register DocumentNodeStore as a
     NodeStoreProvider
     [OAK-4887] - Query cost estimation: ordering by an unindexed
     property not reflected
     [OAK-4906] - Lucene: Support relative property based query by
     transforming the path
     [OAK-4920] - DefaultSyncHandler.listIdentities() search too broad,
     triggers traversal warning
     [OAK-5048] - Upgrade to Tika 1.15 version
     [OAK-5052] - Make update.limit configurable via OSGi
     [OAK-5192] - Reduce Lucene related growth of repository size
     [OAK-5194] - 'Dynamic' Automembership should respect both User and
     Group Config Values
     [OAK-5222] - Optimize the multiplexing node store
     [OAK-5275] - The check command should accept the path to the store
     as a positional argument
     [OAK-5276] - The check command overloads the meaning of the "deep"
     option
     [OAK-5277] - The check command defines a useless default value for
     the "bin" option
     [OAK-5302] - Remove legacy upgrade code from
     AbstractFileStore.collectFiles
     [OAK-5309] - Supporting roles in RepositoryManager execution of
     maintenance tasks
     [OAK-5350] - Improve code coverage of oak-segment-tar
     [OAK-5412] - Use GCMonitor for revision gc task run in
     DocumentNodeStore
     [OAK-5483] - Move TemporaryPort to the oak-commons module
     [OAK-5495] - Allow to migrate only paths matching given path
     fragment
     [OAK-5505] - Delete o.a.j.o.segment.http.HttpStore
     [OAK-5514] - Standby Automatic Cleanup should be on by default
     [OAK-5515] - Allow to ignore writes for some of the read-only
     paths
     [OAK-5525] - VisibleEditor should use the NodeStateUtils to
     determine visibility
     [OAK-5546] - [BlobGC] Adapt time to delete blobs based on lucene
     indexing activity
     [OAK-5559] - Reduce reads with overlapping previous documents
     [OAK-5571] - VersionGarbageCollector can remove leaf nodes eagerly
     [OAK-5572] - Enable instrumentation of I/O operations
     [OAK-5589] - GlobbingPathFilter constructor is expensive
     [OAK-5594] - leaderboard of consolidated listener stats should
     show path as well
     [OAK-5595] - The check command should do deep traversals by
     default
     [OAK-5602] - Avoid missing journal entries
     [OAK-5604] - The check command should accept a non-argument "bin"
     option for checking binaries
     [OAK-5605] - Speed up time to cancel revision GC
     [OAK-5617] - Metrics for DocumentStore.remove()
     [OAK-5620] - Simplify consistency check
     [OAK-5631] - IOMonitor should expose the time spent reading
     segments
     [OAK-5632] - IOMonitor should expose the time spent writing
     segments
     [OAK-5637] - Increase time granularity in IOMonitor
     [OAK-5654] - Improve log output with UserImporter
     [OAK-5666] - oak-upgrade should validate the paths
     [OAK-5690] - Remove duplicated code from TarRevisions and
     ReadOnlyRevisions
     [OAK-5691] - Remove duplicated code from FileStore and
     ReadOnlyFileStore
     [OAK-5704] - VersionGC: reset _deletedOnce for documents that have
     been resurrected
     [OAK-5742] - more logging when ChangeProcessor.stopAndWait fails
     [OAK-5743] - UserQueryManager: omits nt-name when searching for
     properties without path deliminator
     [OAK-5752] - Remove duplicate code for background operation timing
     log
     [OAK-5761] - Move commit value resolution to DocumentNodeStore
     [OAK-5784] - hashCode of RestrictionImpl doesn't include value
     [OAK-5788] - Perform update of single node in one remote call if
     possible
     [OAK-5790] - Chronologically rebase checkpoints on top of each
     other during compaction
     [OAK-5794] - Track time to check GC candidate nodes
     [OAK-5827] - Don't use SHA-1 for new DataStore binaries
     [OAK-5833] - Intermediate commits during (re-)indexing of
     synchronous index
     [OAK-5835] - JournalReader should include timestamp information
     (if available)
     [OAK-5837] - Consistency check should log more details when
     traversing a corrupt node
     [OAK-5861] - SegmentGCOptions toString duplicates
     gcSizeDeltaEstimation info
     [OAK-5873] - Improve SegmentNodeStoreService OSGi description for
     customBlobStore to remove default False
     [OAK-5881] - Reduce code duplication in
     ConfigurationParameters.Milliseconds.of
     [OAK-5886] - Confusing log message from lease update
     [OAK-5890] - Benchmarks: add utility for system login to
     AbstractTest
     [OAK-5892] - ResultRowToAuthorizable: create user/group from tree
     [OAK-5893] - Async index abort should work even during traversals
     without index updates
     [OAK-5894] - IndexDefinitionBuilder shouldn't set type=lucene if
     type=disabled in existing tree
     [OAK-5895] - Avoid jcr-path conversion in AuthorizableIterator
     [OAK-5899] - PropertyDefinitions should allow for some
     tweakability to declare usefulness
     [OAK-5900] - Add Nonnull Annotation to
     TokenInfo.matches(TokenCredentials)
     [OAK-5901] - Minor improvements to TokenProviderImpl and
     TokenValidator
     [OAK-5902] - Cold standby should allow syncing of blobs bigger
     than 2.2 GB
     [OAK-5904] - Property index: log when reindexing is done
     [OAK-5910] - Reduce copying of data when reading mmapped records
     [OAK-5921] - Make import org.apache.log4j optional
     [OAK-5926] - Readability of membership code
     [OAK-5929] - Redundant test for null with
     AuthorizableImpl.checkValidTree implementations
     [OAK-5935] - AbstractSharedCachingDataStore#getRecordIfStored
     should use the underlying cache.get
     [OAK-5936] - Remove unused depth parameter
     SegmentWriteOperation#writeNode and related methods
     [OAK-5939] - MembershipWriter.removeMembers writes back too often
     [OAK-5940] - Remove CachedNodeDocument
     [OAK-5941] - Improve the checkpoint release & retrieve for
     multiplexing node store
     [OAK-5951] - Enable Metrics for SegmentCompactionIT test
     [OAK-5953] - PriorityCache statistics should support load
     exception count
     [OAK-5954] - Unify and simplify the deduplication caches
     [OAK-5956] - Improve cache statistics of the segment cache
     [OAK-5957] - Avoid direct access to fields in DocumentNodeStore
     [OAK-5959] - Hide DocumentNodeStore.backgroundRead()
     [OAK-5961] - Handle scenario where jansi library cannot be loaded
     [OAK-5967] - Null instances for SegmentId and RecordId
     [OAK-5969] - SegmentCompactionIT should expose SegmentNodeStore
     statistics via JMX
     [OAK-5972] - Provide a way to abort indexing / reindexing of
     synchronous indexes
     [OAK-5983] - BlobGC should log the amount of space reclaimed after
     GC run is done
     [OAK-5985] - add CloseableIterator similar to CloseableIterable
     [OAK-5988] - Hide DocumentNodeStore.backgroundWrite()
     [OAK-5989] - Create a partial index on _deletedOnce instead of
     sparse index
     [OAK-5991] - FileStoreBuilder should print out a more helpful
     error message when buildReadOnly fails
     [OAK-5996] - Revisions.setHead(Function) should return the new
     head or null instead of boolean
     [OAK-6000] - Support for the checkpoint metadata retrieval/update
     in oak-run
     [OAK-6001] - Remove unused code from FileStore and TarWriter
     [OAK-6002] - Encapsulate TAR files handling in its own class
     [OAK-6003] - Allow to migrate checkpoints for all type of
     sidegrades
     [OAK-6005] - Add record id of the compacted root to the GC journal
     [OAK-6012] - Add annotation with ImpersonationImpl
     [OAK-6013] - Add annotations to AuthorizablePropertiesImpl
     [OAK-6014] - AuthorizablePropertiesImpl.removeProperty if
     non-existing property outside of scope
     [OAK-6018] - UserImporter: session field can avoided by passing to
     init method
     [OAK-6019] - UserImporter: Redundant assignment of UserManager
     [OAK-6020] - add a Guava Stopwatch like duration formatter
     [OAK-6021] - Remove segment graph functionality from oak-run
     [OAK-6026] - spi.xml.PropInfo: missing error msg in case of
     multivalue mismatch
     [OAK-6027] - UserImporter.Impersonators : use Oak path to user
     instead of ID
     [OAK-6029] - UserImporter.startChildInfo: rather check state than
     for currentMembership being null
     [OAK-6030] - Add tests for TarFiles
     [OAK-6032] - Enable tests from SegmentCachingDataStoreStatsTest
     [OAK-6034] - Move security related service trackers from
     spi.whiteboard to oak.security package space
     [OAK-6035] - Mark AbstractLoginModule and Authentication as
     provider types
     [OAK-6036] - Remove WhiteboardUtils#registerObserver method
     [OAK-6038] - Drop dependency of spi.security.* tests from
     AbstractSecurityTest
     [OAK-6039] - TarFiles shouldn't need to regularly create a new
     list of TarReader instances
     [OAK-6040] - FileStore: Log version at creation time
     [OAK-6042] - Allow to support mount path fragments under specified
     subtrees
     [OAK-6050] - Unify used version of osgi-mock
     [OAK-6052] - Cleanup blocks writers
     [OAK-6053] - Move OakInitializer from
     org.apache.jackrabbit.oak.spi.lifecycle to o.a.j.oak
     [OAK-6059] - Revert VersionGC supplier change
     [OAK-6068] - Assign meaningful names to cold standby threads
     [OAK-6070] - Location of ClusterRepositoryInfo in
     o.a.j.oak.plugins.identifier package
     [OAK-6072] - Move check for cyclic membership to GroupImpl
     [OAK-6073] - Get rid of dependency from oak-blob-azure from
     oak-core
     [OAK-6076] - Ensure tracking of slow queries includes the full
     execution time including getting result nodes
     [OAK-6122] - enforce oak-run size
     [OAK-6123] - Filter documents not matching path restriction in
     LucenePropertyIndex even when evaluatePathRestriction isn't set
     [OAK-6126] - ValueImpl can be package private
     [OAK-6129] - Create compound index on _sdType and _sdMaxRevTime
     [OAK-6131] - No need to rebuild the counter/uuid index anymore
     [OAK-6136] - Extract the multiplexing implementation code into a
     separate bundle
     [OAK-6142] - Warn or fail queries above a configurable cost value:
     use log level "warning"
     [OAK-6145] - Move MembershipWriter#setMembers() to oak-upgrade
     [OAK-6146] - LoginModuleImpl could also clear local state after
     successful commit
     [OAK-6147] - Review SessionOperation usage in security code
     [OAK-6154] - Use Closer in DocumentNodeStoreService
     [OAK-6169] - Add "/jcr:root" to o.a.j.oak.spi.query.QueryConstants
     [OAK-6177] - AddMembersTest should add unique items to groups
     [OAK-6179] - Simplify collecting Oak setup details via Felix
     Inventory
     [OAK-6180] - Tune cursor batch/limit size
     [OAK-6184] - Avoid repository read for built-in aggregations upon
     PrivilegeBitsProvider.getAggregatedPrivilegeNames
     [OAK-6188] - Allow to exclude nodes containing name fragment
     during the migration
     [OAK-6190] - Allow to migrate checkpoints even if the custom
     include paths are specified
     [OAK-6195] - Reduce visibility of some member of Segment
     [OAK-6197] - Remove DocumentNodeStore dependency in
     UnsavedModifications
     [OAK-6198] - Fix formatting of README.md
     [OAK-6207] - RDBDocumentStore: allow schema evolution part 2:
     record schema version when updating/inserting rows
     [OAK-6210] - Provide a consistent and extensible way to handle
     oak-run options while creating NodeStore
     [OAK-6212] - AccessControlAction: minor improvement when user or
     group privileges are empty
     [OAK-6213] - Remove force flag from oak-run compact
     [OAK-6218] - Including id in DocumentStoreException which wrap
     MongoException
     [OAK-6221] - Deprecate SecurityProviderImpl
     [OAK-6223] - Expose socket keep-alive option
     [OAK-6242] - Add 'container' as an acceptable property name for s3
     bucket
     [OAK-6256] - Prevent creating the across-mounts references
     [OAK-6263] - Create test covering removal of a referenced node
     [OAK-6269] - Support non chunk storage in OakDirectory
     [OAK-6272] - AbstractNodeState.toString does not scale to many
     child nodes
     [OAK-6289] - Unreferenced argument reference in method
     SegmentBufferWriter.writeRecordId
     [OAK-6295] - Move constants from oak.query.QueryImpl to
     oak.spi.query.QueryConstants
     [OAK-6296] - Move JACKRABBIT_2_SINGLE_QUOTED_PHRASE from
     o.a.j.oak.query.ask.FullTextSearchImpl to
     oak.fulltext.FullTextParser
     [OAK-6298] - FacetHelper should have private constructor
     [OAK-6299] - FilterIterators should have a private constructor
     [OAK-6301] - Make QueryEngineSettingsMBeanImpl an inner class of
     o.a.j.oak.Oak
     [OAK-6302] - UserInitializer: createSystemRoot can get null value
     for QueryEngineSettings
     [OAK-6307] - Function to find all large docs in Mongo
     [OAK-6313] - Support properties filtering in the Whiteboard track
     method
     [OAK-6320] - Allow to disable the read-only mode in composite node
     store
     [OAK-6323] - Remove StandbyTest
     [OAK-6324] - Remove SegmentNodeStoreFactoryTest#nodeStoreProvider
     [OAK-6325] - Turn CacheWeightsTest into a command-line utility
     [OAK-6326] - Remove unused field SegmentNodeStore.reader
     [OAK-6327] - Convert FileStore.maxFileSize fiels into local
     variable
     [OAK-6328] - Declare StandbyStoreService.closer final
     [OAK-6329] - Declare immutable field of FileStore.CompactionResult
     final
     [OAK-6330] - LockBasedScheduler.execute declares exception that is
     never thrown
     [OAK-6331] - Closeable.close in StandbyStoreService declares
     exception that is never thrown
     [OAK-6332] - Add missing @Nonnull annotations
     [OAK-6333] - IndexPlanner should use actual entryCount instead of
     limiting it to 1000
     [OAK-6336] - Use the oak-blob-cloud for s3 support in oak-upgrade
     [OAK-6339] - MapRecord#getKeys should should initialize child
     iterables lazily
     [OAK-6340] - Don't restart the composite node store on every node
     store bind/unbind
     [OAK-6341] - oak-run redirects reindexing info to STDERR
     [OAK-6347] - Don't track local changes in the document cache
     tracker
     [OAK-6348] - Active deletion of blobs should have larger queue for
     blobs being deleted
     [OAK-6349] - Randomized permission tests
     [OAK-6350] - Improve log reporting if multiple indexes compete for
     same query
     [OAK-6351] - Invalidate cache entries when getChildNodes() is
     aborted
     [OAK-6353] - Use Document order traversal for reindexing performed
     on DocumentNodeStore setups
     [OAK-6354] - Move DocumentNodeStoreMBean implementation in
     separate file
     [OAK-6355] - Usage of NodeAggregator creates cyclic dependency
     between oak.spi.query and oak.plugins.index.*
     [OAK-6356] - Allow CompositePermissionProvider to OR entries
     [OAK-6359] - Change behavior for very complex queries
     [OAK-6361] - Oak run tika command should connect to NodeStore in
     read only mode
     [OAK-6362] - Use NodeStoreFixtureProvider in tika command of
     oak-run
     [OAK-6363] - BlobStoreFixtureProvider should support '.cfg' files
     also
     [OAK-6364] - BlobStoreFixtureProvider should configure a default
     'secret' value if none specified
     [OAK-6369] - Reduce cache segments for revisions sweep
     [OAK-6381] - Improved index analysis tools
     [OAK-6388] - Enable Azure shared access signature for blob store
     connector
     [OAK-6394] - Reduce impact of default multiplexing setup on the
     ReferenceIndex
     [OAK-6395] - Refactor monitoring of deduplication caches
     [OAK-6396] - Reduce usages of DefaultSegmentWriter in favour of
     SegmentWriter
     [OAK-6406] - Cleanup constants in Segment class
     [OAK-6407] - Refactor oak.spi.query into a separate module/bundle
     [OAK-6409] - Oak-run indexing: improved (user friendly) output
     [OAK-6425] - Make the CompositeNodeStore thread-safe
     [OAK-6428] - Add flag for controlling percentile of commit time
     used in scheduler
     [OAK-6430] - Remove Apache Commons Math3 dependency from Segment
     Tar
     [OAK-6432] - Make dynamic reference greedy and static to simplify
     LuceneIndexProviderService
     [OAK-6436] - Log message on checkpoint MBean invocation
     [OAK-6437] - NodeStateCopyUtils should not copy hidden props and
     node in JCR mode
     [OAK-6450] - Stop relying on the service.pid property in
     SecurityProviderRegistration
     [OAK-6459] - VisibleValidator duplicated in chain for each
     hierarchy level
     [OAK-6461] - Merge all security related validators into a single
     hook
     [OAK-6464] - Public constructor for RandomStream
     [OAK-6466] - Suppress NOP info message from revision GC
     [OAK-6469] - CompositePermissionProvider should implement
     AggregatedPermissionProvider
     [OAK-6470] - Remove extra call to createGroupPrincipal in
     UserPrincipalProvider
     [OAK-6472] - Expose constructor in JsonSerializer which takes
     filer and JsopBuilder
     [OAK-6475] - JsonSerializer should not emit :childNodeCount
     property
     [OAK-6482] - Remove org.apache.sling.testing.osgi-mock dependency
     from oak-run
     [OAK-6488] - Move journal maxRevisionAge to DocumentNodeStore
     [OAK-6489] - Datastorecheck command should output the path of
     missing datastore
     [OAK-6491] - Add JCR_CREATED support to
     JcrLastModifiedConflictHandler
     [OAK-6492] - Allow DummyDataStore to read files written by it
     [OAK-6494] - Change journalGCMaxAge default
     [OAK-6495] - Fallback to classic diff when journal is broken
     [OAK-6497] - Support old Segment NodeStore setups for oak-run
     index tooling
     [OAK-6510] - Fix string representation of the old generation
     reclaimer
     [OAK-6518] - Implement transparent usage of different TAR index
     formats
     [OAK-6520] - Improve tail compactions resilience when base state
     cannot be determined
     [OAK-6523] - Tune DocumentNodeStore setup for indexing flow for
     index command
     [OAK-6525] - Index consistency checker should check all indexes
     even after failure
     [OAK-6526] - Slow queries: ability to track them via JMX
     [OAK-6528] - Implement transparent usage of different binary
     references index formats
     [OAK-6530] - Expose last RGC result via Supplier
     [OAK-6534] - Compute indexPaths from index definitions json
     [OAK-6536] - Periodic log message from continuous RGC
     [OAK-6537] - Don't encode the checksums in the TAR index tests
     [OAK-6539] - Decrease version export for
     org.apache.jackrabbit.oak.spi.security.authentication
     [OAK-6540] - Session.hasAccess(...) should reflect read-only
     status of mounts
     [OAK-6543] - NodeCounter: JMX description
     [OAK-6549] - Move gcType to SegmentGCOptions
     [OAK-6550] - Make BlobTracker snapshot process smarter
     [OAK-6551] - Add an option to datastorecheck command to include
     path details in the missing blobs report
     [OAK-6552] - Dump index command should fallback to dumping
     NodeState incase of error
     [OAK-6556] - gc.log should contain recordId of compacted root
     after offline compaction
     [OAK-6558] - Remove the 'parent' field from the
     CompositeNodeBuilder
     [OAK-6559] - Don't allow to place mounts under mounts
     [OAK-6563] - Session.hasCapability(...) should reflect read-only
     status of mounts
     [OAK-6564] - Update netty dependency to 4.1.x
     [OAK-6565] - GetBlobResponseEncoder should not write all chunks at
     once
     [OAK-6568] - TarFiles returns null instead of an empty list in the
     graph
     [OAK-6569] - TarFiles should uniformly use TAR file names instead
     of paths
     [OAK-6570] - TarFiles represents referenced segments in a graph as
     a list instead of a set
     [OAK-6574] - Lucene index: include/exclude key pattern list
     [OAK-6578] - Enhance the UniqueEntryStoreStrategy to return list
     of matching values and paths
     [OAK-6585] - Allow to use patterns in the
     Mount#pathSupportingFragments
     [OAK-6586] - [oak-run] Add option to datastorecheck command to
     report misconfigured external binary references
     [OAK-6587] - Provide a way to "force" Tika to treat binaries with
     a different mime type than the jcr:mimeType property
     [OAK-6588] - MongoDocumentStore should avoid logging warning when
     connect in read only mode
     [OAK-6589] - Close the fixture in oak run console
     [OAK-6590] - Avoid logging import statements for :load command
     execution
     [OAK-6592] - Remove path and rootBuilder from the
     CompositeNodeBuilder
     [OAK-6595] - Pre-populate the default store when running composite
     node store
     [OAK-6605] - Provide job name for async index update
     [OAK-6609] - Provide job name for JournalGC and RevisionGC job
     [OAK-6613] - Provide list of all bundled nodes within a given
     DocumentNodeState
     [OAK-6614] - Add ability to add 'excludeFromAggregation' setting
     while building index definition
     [OAK-6615] - Add new segment-tar fixture for attaching a
     cold-standby to benchmarked primary
     [OAK-6617] - Mounts.DefaultMount.getName() should not be empty
     [OAK-6621] - Initialize a default sensible stats provider in
     UploadStagingCache
     [OAK-6622] - Configure default core pool size for thread pool used
     by oak-lucene
     [OAK-6625] - Avoid oak-run compact inadvertently upgrading the
     segment format
     [OAK-6626] - Replace standby blob chunk size configuration with
     feature flag
     [OAK-6634] - Confusing log entries when memory requirements are
     not met at start of OnRC
     [OAK-6636] - Create a path cache for the CompositeNodeState
     [OAK-6637] - Release IndexNode lock in finally clause
     [OAK-6638] - Add a composite-prepare command in oak-run
     [OAK-6644] - Use ReadOnlyNodeBuilder for the read-only mounts
     [OAK-6646] - Make it possible to set timeouts in Solr index
     connections
     [OAK-6647] - Reduce reads by RevisionGC
     [OAK-6650] - new release checksum requirements
     [OAK-6654] - Remove duplicate code in OakRepositoryStub classes
     [OAK-6661] - ResponseDecoder should check that the length of the
     received blob matches the length of the sent blob
     [OAK-6662] - Extend CredentialsSupport pluggability
     [OAK-6663] - Revisit MountInfoProvider usage in
     AuthorizationConfigurationImpl
     [OAK-6664] - Revisit MountInfoProvider usage in CugConfiguration
     [OAK-6667] - Refactor StandbyDiff for better clarity and
     understandability
     [OAK-6681] - Remove PropInfo dependency on EffectiveNodeType
     [OAK-6683] - Use less resource intensive method to determine
     number of docs in lucene index
     [OAK-6684] - IndexPathService should work with Oak 1.0 setups
     [OAK-6690] - Refactor constants classes NodeTypeConstants,
     NamespaceConstants, VersionConstants
     [OAK-6692] - Log exception in case of import via JMX operation
     fails
     [OAK-6693] - Ensure that IndexNodeManager releases lock in case of
     error in acquiring it
     [OAK-6694] - Expose TokenConstants.java
     [OAK-6695] - Expose an abstract Credentials class
     [OAK-6703] - Refactor oak.namepath package
     [OAK-6708] - Move plugins.value.jcr package to oak-store-spi
     [OAK-6710] - CommitMitigated merge policy should not reduce
     performance significantly
     [OAK-6715] - Log elapsed time even if actual count is more than
     estimate
     [OAK-6718] - Configure RAM buffer size used by IndexWriter with
     oak-run indexing
     [OAK-6719] - add ability to run benchmarks with continuous version
     GC enabled (RDB fixtures)
     [OAK-6726] - Use addDocument instead of updateDocument while
     reindexing with Lucene
     [OAK-6734] - IndexPlan: add supportsPathRestrictions
     [OAK-6735] - Lucene Index: improved cost estimation by using
     document count per field
     [OAK-6736] - Upgrade PojoSR to handle SCR spec 1.3
     [OAK-6738] - MemoryDocumentStore should optionally maintain
     _modCount
     [OAK-6739] - Improve oak-it-osgi to support SCR spec 1.3
     [OAK-6742] - Upgrade to jline2 2.14.5
     [OAK-6752] - Conditional update on _modCount
     [OAK-6775] - Suggest directory should utilize CopyOnRead if
     available
     [OAK-6792] - rep:facet not supported in xpath
     [OAK-6801] - Set minRecordLength to the recommended 4096 in
     OakFileDataStore
     [OAK-6802] - Manage 'secret' property internally in
     S3/AzureDataStore
     [OAK-6803] - Provide a way to for persistent cache to determine
     which all nodes can be cached
     [OAK-6806] - RDBDocumentStore: version GC does not scale when
     there are many docs with long paths
     [OAK-6807] - Query Recorder
     [OAK-6809] - Allow RevisionGCTest to operate on "long" paths
     [OAK-6815] - Support specifying queryPaths in
     IndexDefinitionBuilder
     [OAK-6822] - RevisionGC: measure timeToDeleteSplitDocs separately
     (when possible)
     [OAK-6830] - RDBDocumentStore: allow schema evolution part 3
     [OAK-6831] - Nodetype index support in Lucene Index
     [OAK-6834] - Make TypeEditor publically accessible and allow
     pluggable constraint violation handling
     [OAK-6839] - RDBDocumentStore: queries done by GC processes should
     not thrash the cache
     [OAK-6842] - Refactor FileStore.close
     [OAK-6849] - Avoid creating empty properties node under indexRules
     [OAK-6851] - Disabled index with reindex flag enabled should not
     lead to reindex report
     [OAK-6859] - Schedule Revision GC in DocumentNodeStoreService
     [OAK-6862] - Active deletion of Lucene binaries: JMX bean, and
     ability to disable automatic
     [OAK-6867] - Enable index hints on UUID lookup query
     [OAK-6868] - Simplify setup of access tracking of the file store
     caches
     [OAK-6873] - UserInitializer should not use hard coded
     QueryIndexProvider
     [OAK-6878] - Populate S3DataStore fields with the passed
     properties in oak-upgrade
     [OAK-6883] - The compaction estimator should take the compaction
     type (tail vs. full) into consideration
     [OAK-6887] - Change default value for autoCompact
     [OAK-6896] - Log SegmentStore size at startup
     [OAK-6899] - Add explicit dependency versions for aws-java-sdk in
     oak-run
     [OAK-6905] - Query engine: support coalesce function as in-built
     method
     [OAK-6908] - Change RDB default scheduling on RDB
     [OAK-6910] - Offline compaction should not use mmap on Windows
     [OAK-6915] - Minimize the amount of uncached segment reads
     [OAK-6917] - Configuration presets for DocumentNodeStoreService
     [OAK-6918] - AbstractCredentials lack nullability annotations and
     test coverage
     [OAK-6931] - Enable the -Dcache of offline compaction
     [OAK-6933] - Fix nullable annotations in PasswordUtil
     [OAK-6940] - Login token name generation is prone to race
     conditions
     [OAK-6969] - Reduce the responsibilities of CompactCommand in
     favour of Compact
     [OAK-6980] - Replacement for RootFactory and TreeFactory
     [OAK-6981] - move OsgiContext defined in derived tests to
     AbstractExternalAuthTest
     [OAK-7009] - Test factories for SecurityProvider should have
     private constructor
     [OAK-7010] - Replace usages of RootFactory/TreeFactory by service
     reference
     [OAK-7018] - Move setup of composite security configurations to
     SecurityProviderBuilder
     [OAK-7031] - DeleteOnCloseFileInputStream should properly handle
     errors when deleting the file
     [OAK-7038] - Make deletion of temp files resilient in some common
     utility methods
     [OAK-7042] - Pin async indexer on cluster leader
     [OAK-7051] - Remove dangling reference to compress-interval system
     property from oak-run documentation
     [OAK-7055] - Expose observation queue max length as metric
     [OAK-7064] - Remove duplicated code from the FileStore logging
     implementation
     [OAK-7066] - Active deletion blob list files can grow too large
     due to inlined blobs
     [OAK-7072] - Add log message upon compacted call in GCMonitor in
     Lucene indexer
     [OAK-7080] - Segment-Tar-Cold fixture should have options for
     secure communication and one shot runs
     [OAK-7094] - Log cli arguments and vm arguments passed to indexer
     command
     [OAK-7096] - Compaction should log generation info
     [OAK-7099] - DocumentStoreIndexer should log estimate of ETA for
     dumping phase
     [OAK-7103] - Enable compression by default on DocumentStoreIndexer
     logic
     [OAK-7104] - Support read and write to compressed file in
     ExternalSort
     [OAK-7105] - Implement a traverse with sort strategy for
     DocumentStoreIndexer
     [OAK-7113] - IndexerMBean should allow to import without depending
     on all IndexStatsMbean available
     [OAK-7115] - Store NodeState json in bytes when storing in
     in-memory queue
     [OAK-7121] - DocumentStore testing: allow config of
     DocumentMK.Builder in AbstractDocumentStoreTest
     [OAK-7124] - Support MemoryNodeStore with NodeStoreFixtureProvider

New Feature

     [OAK-3349] - Partial compaction
     [OAK-3710] - Continuous revision GC
     [OAK-3711] - Clean up _revision entries on commit root documents
     [OAK-3712] - Clean up uncommitted changes
     [OAK-4122] - Replace the commit semaphore in the segment node
     store with a scheduler
     [OAK-4348] - Cross language search via SMT
     [OAK-5210] - Ability to resolve principal name from
     ExternalIdentityRef without IDP roundtrip
     [OAK-5519] - Skip problematic binaries instead of blocking
     indexing
     [OAK-5556] - Allow filter paths for Check command
     [OAK-5558] - Consistency checker for Lucene indexes
     [OAK-5634] - Expose IOMonitor stats via JMX
     [OAK-5741] - DocumentStore UpdateOp: support removal of properties
     [OAK-5898] - Revision GC command line tool
     [OAK-5903] - Authentication: add extension to retrieve user
     principal
     [OAK-5970] - (Re-)Indexing: estimate progress / ETA
     [OAK-6080] - Index report service
     [OAK-6081] - Indexing tooling via oak-run
     [OAK-6161] - Continuous flag for revisions collect command
     [OAK-6215] - Dump index stats and index definitions
     [OAK-6220] - Copy on write node store implementation
     [OAK-6240] - Sidegrade support for DocumentNodeStore to Secondary
     NodeStore
     [OAK-6246] - Support for out of band indexing with read only
     access to NodeStore
     [OAK-6276] - expose way to detect "eventual consistency delay"
     [OAK-6382] - Adjust AccessControlList implementations to reflect
     JCR-4144
     [OAK-6456] - Include the tail generation in the TAR index
     [OAK-6457] - Increment the segment version number
     [OAK-6458] - Increment the manifest version number
     [OAK-6468] - Include the tail generation in the binary references
     index
     [OAK-6471] - Support adding or updating index definitions via
     oak-run
     [OAK-6476] - Support deserializing json as NodeState
     [OAK-6477] - RevisionGC metrics for DocumentNodeStore
     [OAK-6484] - Include tail generation in the GC journal
     [OAK-6485] - Expose tail and full compaction via different methods
     [OAK-6514] - Make Lucene merge policy configurable
     [OAK-6531] - Implement rolling upgrade from Oak 1.6
     [OAK-6535] - Synchronous Lucene Property Indexes
     [OAK-6545] - Support for dumping repository content as json along
     with blobs via oak-run
     [OAK-6553] - Progress indicator for compaction
     [OAK-6575] - Provide a secure external URL to a DataStore binary.
     [OAK-6593] - CacheStats metrics
     [OAK-6818] - TokenAuthentication/TokenProviderImpl: cleanup
     expired tokens
     [OAK-6820] - Implement support for disabling indexes which are
     replaced with newer index
     [OAK-6853] - Oak run tooling to store reindexed property index in
     segment store
     [OAK-7021] - Collect DocumentStore stats as part of status zip
     [OAK-7033] - MongoDocumentStore collection metrics

Task

     [OAK-1588] - Create more tests/validation to LDAP integration
     [OAK-2046] - Cleaning-up double test artifacts between oak-core
     and oak-jcr
     [OAK-2476] - Move our CI to Jenkins
     [OAK-3134] - Identify functionality offered by oak-run
     [OAK-3766] - Investigate and remove dependencies from oak-run
     [OAK-4292] - Document oak-segment-tar
     [OAK-4511] - Enable collection of stats around persisted branch
     created in DocumentNodeStore
     [OAK-4780] - VersionGarbageCollector should be able to run
     incrementally
     [OAK-4891] - Mount-time sanity checks for mounted NodeStore
     instances
     [OAK-4893] - Document conflict handling
     [OAK-5028] - Remove DocumentStore.update()
     [OAK-5352] - Enable RevisionGC task for non primary
     SegmentNodeStore
     [OAK-5361] - switch to stable release of
     org.apache.directory.api.api-all
     [OAK-5409] - Update Oak trunk to Jackrabbit 2.15.0
     [OAK-5455] - Specify versions for maven plugins used in build for
     ensuring stable builds
     [OAK-5600] - Test coverage for CheckCommand
     [OAK-5623] - Enforce minimum line coverage for security related
     modules
     [OAK-5641] - Update AWS sdk dependency to latest version in
     oak-blob-cloud
     [OAK-5702] - Update Felix JAAS to 1.0.2
     [OAK-5834] - Remove the deprecated oak-segment module
     [OAK-5868] - oak-upgrade should reference oak-segment using a
     non-snapshot version
     [OAK-5883] - Update Oak trunk to Jackrabbit 2.15.1
     [OAK-5945] - update h2db dependency
     [OAK-6051] - Clarify migration tests failures when switching
     Commit#hasChanges implementations
     [OAK-6055] - update to latest apache parent pom (18)
     [OAK-6065] - Rework CheckpointTest and MergeTest after introducing
     the scheduler
     [OAK-6074] - Simplify merge logic in LockBasedScheduler
     [OAK-6077] - Add support for S3DataStore in oak-run console
     [OAK-6082] - Service to determine index paths
     [OAK-6088] -
     org.apache.jackrabbit.oak.management.ManagementOperation should
     use TimeDurationFormatter
     [OAK-6089] - update maven plugins
     [OAK-6091] - Location of TimeDurationFormatter (and test) in
     o.a.j.oak.util
     [OAK-6092] - Find a new home for ApproximateCounter
     [OAK-6093] - Find a new home for NodeUtil and TreeUtil including
     cleanup
     [OAK-6095] - Get rid of dependency from oak-segment-tar to
     oak-core tests
     [OAK-6097] - Reflect Modularisation in JIRA
     [OAK-6101] - Consistent naming of oak modules
     [OAK-6107] - Move README of oak-core to oak-api
     [OAK-6108] - Move DataStoreTextProviderService and
     DataStoreTextWriter to plugins.index.datastore
     [OAK-6114] - Move InitialContent to package
     org.apache.jackrabbit.oak
     [OAK-6121] - Add a metric to measure find document call resulting
     in null
     [OAK-6130] - Update Oak trunk to Jackrabbit 2.15.2
     [OAK-6137] - Remove call to getHeadNodeState in LockBasedScheduler
     constructor
     [OAK-6138] - Remove addObserver method from Scheduler API
     [OAK-6159] - BlobReferenceIterator: improve test coverage for RDB
     [OAK-6162] - BlobReferenceIterator refactoring
     [OAK-6171] - Refactor MongoBlobReferenceIterator
     [OAK-6194] - Pass the checkpoint time as part of CommitInfo in
     AsyncIndexUpdate
     [OAK-6232] - Utility class to dump lucene index content
     [OAK-6234] - Update jopt-simple version to 5.0.3
     [OAK-6243] - Refactor directory construction logic via
     DirectoryFactory
     [OAK-6249] - FSDirectoryFactory to manage indexes on local file
     system
     [OAK-6257] - Move the NodeStoreFixtureProvider support to
     oak-run-commons
     [OAK-6265] - Remove Mounts.defaultMount methods
     [OAK-6280] - Expose whiteboard from NodeStoreFixture to provide
     access to NodeStore components
     [OAK-6281] - Dump metrics data to system out if metrics option is
     enabled
     [OAK-6304] - Cyclic dependency between oak.spi.query an
     oak.query.*
     [OAK-6311] - Move generic part of PropertyStateValue and
     PropertyValues to oak-store-spi
     [OAK-6315] - Create CheckpointMBean implementation for the
     composite node store
     [OAK-6318] - Refactor oak.spi.security into a separate
     module/bundle
     [OAK-6319] - Review API and Utilities in oak.plugins.tree package
     [OAK-6337] - Decide major version bump of o.a.j.o.api.jmx
     [OAK-6343] - Add replacement for deprecated
     RootFactory.createSystemRoot
     [OAK-6380] - Revert bnd dependency overwrite for bundle plugin
     [OAK-6389] - Update Oak trunk to Jackrabbit 2.15.4
     [OAK-6399] - Re-establish full offline compaction functionality
     [OAK-6417] - Change log level for tests in oak-remote to INFO
     [OAK-6439] - Add dependency to lucene-suggest in oak-pojosr
     [OAK-6449] - Stop using the maven-scr-plugin
     [OAK-6473] - Use JsonSerializer instead of custom json logic in
     IndexDefinitionPrinter
     [OAK-6478] - Move LoggingGCMonitor from segment-tar to core-spi
     [OAK-6498] - Update Oak trunk to Jackrabbit 2.15.5
     [OAK-6511] - Switch to official OSGi versioning annotations
     [OAK-6519] - Properly handle tail compactions in deduplication
     caches
     [OAK-6522] - Implement unit tests for OnlineCompactor
     [OAK-6532] - Minimise usage of junit-addons
     [OAK-6533] - Adjust test classpath order to reduce number of error
     markers in Eclipse
     [OAK-6538] - Investigate cold standby memory consumption
     [OAK-6544] - Enable active blob deletion feature by default
     [OAK-6554] - Update Dropwizard Metrics bundles to 3.2 to eliminate
     sun.misc dependency.
     [OAK-6555] - Implement ITs for rolling upgrade
     [OAK-6576] - Refactor OakDirectory to be more manageable
     [OAK-6579] - Define how the counter index works in a composite
     setup
     [OAK-6582] - Review MBean interactions in a composite setup
     [OAK-6599] - Review testcases which do not confirm to Maven test
     pattern
     [OAK-6606] - Move BulkTransferBenchmark to oak-benchmarks module
     [OAK-6616] - Update Oak trunk to Jackrabbit 2.15.6
     [OAK-6629] - Remove unused datastore code relying on JR2 data
     store caching
     [OAK-6655] - Update travis build configuration
     [OAK-6657] - Remove travis webhook configuration
     [OAK-6665] - Move DocumentNodeStore into its own bundle
     [OAK-6670] - Move FSBlobSerializer to oak-blob-plugins module
     [OAK-6673] - Improve cold standby logging
     [OAK-6675] - Implement CompositeNodeStoreStatsMBean
     [OAK-6698] - Refactor UUID utilites from IdentifierManager to new
     UUIDUtils in oak-commons
     [OAK-6732] - Make it simpler to run tests from oak-it-osgi
     [OAK-6810] - oak-pojosr tests fail with java 9
     [OAK-6817] - Don't create metatype for MountInfoProviderService
     [OAK-6819] - Move Configuration out of DocumentNodeStoreService
     [OAK-6821] - Enforce minimum line coverage for oak-security-spi
     [OAK-6846] - update maven-failsafe-plugin to 2.20.1
     [OAK-6854] - Update Oak trunk to Jackrabbit 2.16.0
     [OAK-6893] - Add BasicWriteTest benchmark
     [OAK-6927] - RDBDocumentStore: allow schema evolution part 4: read
     VERSION column and let RDBRow handle it
     [OAK-6929] - Enforce minimal test-coverage with oak-core
     [OAK-6932] - Add test coverage of spi.xml package
     [OAK-6936] - use current Tika version 1.16
     [OAK-6937] - use Tika version consistent with other modules
     [OAK-6952] - add SHA512 checksums to releases
     [OAK-6965] - RDBDocumentStore: allow schema evolution part 5: add
     rows for performant VGC
     [OAK-6971] - Remove composite node store-related features from the
     oak-upgrade
     [OAK-7035] - Retire oak-remote
     [OAK-7046] - DocumentStore API: clarify key length
     [OAK-7077] - Documentation for RDBDocumentStore statistics
     [OAK-7100] - update htmlunit test dependency
     [OAK-7102] - Refactor DocumentIndexer logic to enable different
     sort approaches
     [OAK-7117] - Suppress Tika (> 1.16) startup warnings
     [OAK-7118] - oak-run: upgrade jetty version to 8.2.0.v20160908
     [OAK-7122] - Implement script to compare lucene indexes logically
     [OAK-7127] - use current Tika version 1.17

Test

     [OAK-5633] - Builds on travis-ci time out
     [OAK-5663] - Improve LogCustomizer to allow filtering on log
     messages too
     [OAK-5689] - AbstractSecurityTest: enforce test-failure for
     traversal queries
     [OAK-5785] - JCR tests: enforce failure upon query traversal
     [OAK-5793] - Improve coverage for spi.security code in oak-core
     [OAK-5866] - Some tests do not dispose fixture
     [OAK-5870] - Reduce serverSelectionTimeoutMS for tests on MongoDB
     [OAK-5882] - Improve coverage for oak.security code in oak-core
     [OAK-5911] - Test utility methods for setting Clock in Revision
     [OAK-5912] - SecondaryStoreConfigIT fails when MongoDB is
     available
     [OAK-5913] - DataStoreTrackerGCTest uses different Clocks for
     tests
     [OAK-5962] - Disable caching for S3 integration tests
     [OAK-6007] - Introduce a FailingDocumentStore
     [OAK-6008] - Create test base with a two node cluster
     [OAK-6017] - Reset timestamps on Revision.setClock()
     [OAK-6022] - ReadPreferenceIT uses incorrect clock
     [OAK-6024] - Use of DocumentMKBuilderProvider with virtual clock
     is fragile
     [OAK-6112] - Empty mongo.url default value in oak-parent
     [OAK-6119] - Build error on travis with Java 8
     [OAK-6128] - Speed up ValidNamesTest
     [OAK-6163] - Add unit test coverage for IOUtils.writeInt/writeLong
     and IOUtils.readInt/readLong
     [OAK-6173] - Add unit test coverage for IOUtils.copy
     [OAK-6175] - Add unit test coverage for
     IOUtils.humanReadableByteCount
     [OAK-6427] - Duplicate class: MongoDocumentStoreHelper
     [OAK-6639] -
     ObservationQueueFullWarnTest.testQueueFullThenFlushing fails
     sometimes
     [OAK-6848] - Improve
     ObservationQueueFullWarnTest.testQueueFullThenFlushing to not
     sleep arbitrarily when not required
     [OAK-6882] -
     ObservationQueueFullWarnTest.testQueueFullThenFlushing failing
     [OAK-7047] - Enable DocumentNodeStoreServiceTest.preset()
     [OAK-7061] - Run tests on travis-ci on MongoDB 3.4
     [OAK-7063] - SolrOakRepositoryStub.preCreateRepository() throws
     exception without cause

Wish

     [OAK-1327] - Cleanup NodeStore and MK implementations

In addition to the above-mentioned changes, this release contains
all changes included up to the Apache Jackrabbit Oak 1.6.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/

Mime
View raw message