You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-dev@jackrabbit.apache.org by Julian Sedding <js...@gmail.com> on 2016/03/03 12:33:04 UTC

Re: svn commit: r1733315 - /jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt

Nitpick:

> +Changes in Oak 1.2.0
IMHO that should be "Changes in Oak 1.4.0"

This probably doesn't warrant a re-release, but if there *is* a
re-release due to OAK-4085[0] it would be nice to correct it.

Regards
Julian

[0] https://issues.apache.org/jira/browse/OAK-4085

On Wed, Mar 2, 2016 at 4:45 PM,  <da...@apache.org> wrote:
> Author: davide
> Date: Wed Mar  2 15:45:23 2016
> New Revision: 1733315
>
> URL: http://svn.apache.org/viewvc?rev=1733315&view=rev
> Log:
> OAK-4073 - Release Oak 1.4.0
>
> release notes
>
>
> Modified:
>     jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt
>
> Modified: jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt
> URL: http://svn.apache.org/viewvc/jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt?rev=1733315&r1=1733314&r2=1733315&view=diff
> ==============================================================================
> --- jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt (original)
> +++ jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt Wed Mar  2 15:45:23 2016
> @@ -1,4 +1,4 @@
> -Release Notes -- Apache Jackrabbit Oak -- Version 1.3.16
> +Release Notes -- Apache Jackrabbit Oak -- Version 1.4.0
>
>  Introduction
>  ------------
> @@ -7,32 +7,809 @@ Jackrabbit Oak is a scalable, high-perfo
>  repository designed for use as the foundation of modern world-class
>  web sites and other demanding content applications.
>
> -Apache Jackrabbit Oak 1.3.16 is an unstable release cut directly from
> -Jackrabbit Oak trunk, with a focus on new features and other
> -improvements. For production use we recommend the latest stable 1.2.x
> -release.
> +Jackrabbit Oak 1.4 is an incremental feature release based on and
> +compatible with earlier stable Jackrabbit Oak 1.x releases. Jackrabbit
> +Oak 1.4.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.3.16
> +Changes in Oak 1.2.0
>  ---------------------
>
>  Sub-task
>
> +    [OAK-318] - Excerpt support
> +    [OAK-1708] - extend DocumentNodeStoreService to support
> +    RDBPersistence
> +    [OAK-1828] - Improved SegmentWriter
> +    [OAK-1860] - unit tests for concurrent DocumentStore access
> +    [OAK-1940] - memory cache for RDB persistence
> +    [OAK-2008] - authorization setup for closed user groups
> +    [OAK-2171] - oak-run should support repository upgrades with all
> +    available options
> +    [OAK-2410] - [sonar]Some statements not being closed in
> +    RDBDocumentStore
> +    [OAK-2502] - Provide initial implementation of the Remote
> +    Operations specification
> +    [OAK-2509] - Support for faceted search in query engine
> +    [OAK-2510] - Support for faceted search in Solr index
> +    [OAK-2511] - Support for faceted search in Lucene index
> +    [OAK-2512] - ACL filtering for faceted search
> +    [OAK-2630] - Cleanup Oak jobs on buildbot
> +    [OAK-2634] - QueryEngine should expose name query as property
> +    restriction
> +    [OAK-2700] - Cleanup usages of mk-api
> +    [OAK-2701] - Move oak-mk-api to attic
> +    [OAK-2702] - Move oak-mk to attic
> +    [OAK-2747] - Admin cannot create versions on a locked page by
> +    itself
> +    [OAK-2756] - Move mk-package of oak-commons to attic
> +    [OAK-2760] - HttpServer in Oak creates multiple instance of
> +    ContentRepository
> +    [OAK-2770] - Configurable mode for backgroundOperationLock
> +    [OAK-2781] - log node type changes and the time needed to traverse
> +    the repository
> +    [OAK-2813] - Create a benchmark for measuring the lag of async
> +    index
> +    [OAK-2826] - Refactor ListeneableFutureTask to commons
> +    [OAK-2828] - Jcr builder class does not allow overriding most of
> +    its dependencies
> +    [OAK-2850] - Flag states from revision of an external change
> +    [OAK-2856] - improve RDB diagnostics
> +    [OAK-2901] - RDBBlobStoreTest should be able to run against
> +    multiple DB types
> +    [OAK-2915] - add (experimental) support for Apache Derby
> +    [OAK-2916] - RDBDocumentStore: use of "GREATEST" in SQL apparently
> +    doesn't have test coverage in unit tests
> +    [OAK-2918] - RDBConnectionHandler: handle failure on setReadOnly()
> +    gracefully
> +    [OAK-2923] - RDB/DB2: change minimal supported version from 10.5
> +    to 10.1, also log decimal version numbers as well
> +    [OAK-2930] - RDBBlob/DocumentStore throws NPE when used after
> +    being closed
> +    [OAK-2931] - RDBDocumentStore: mitigate effects of large query
> +    result sets
> +    [OAK-2940] - RDBDocumentStore: "set" operation on _modified
> +    appears to be implemented as "max"
> +    [OAK-2943] - Support measure for union queries
> +    [OAK-2944] - Support merge iterator for union order by queries
> +    [OAK-2949] - RDBDocumentStore: no custom SQL needed for GREATEST
> +    [OAK-2950] - RDBDocumentStore: conditional fetch logic is reversed
> +    [OAK-2952] - RDBConnectionHandler: log failures on setReadOnly()
> +    only once
> +    [OAK-2953] - Implement text extractor as part of oak-run
> +    [OAK-2966] - JDBC config for document store tests should be
> +    overridable
> +    [OAK-2982] - BasicDocumentStoreTest: separate actual unit tests
> +    from performance tests
> +    [OAK-2985] - RDBDocumentStore: more diagnostics for long-running
> +    queries
> +    [OAK-2986] - RDB: switch to tomcat datasource implementation
> +    [OAK-2987] - RDBDocumentStore: try PreparedStatement batching
> +    [OAK-2995] - RDB*Store: check transaction isolation level
> +    [OAK-3002] - Optimize docCache and docChildrenCache invalidation
> +    by filtering using journal
> +    [OAK-3009] - RDBDocumentStore: add support for optional additional
> +    index
> +    [OAK-3010] - RDBDocumentStore: remove hardwired "id-is-binary"
> +    flag
> +    [OAK-3012] - [oak-run] Add RDB with FDS fixture
> +    [OAK-3031] - [Blob GC] Mbean for reporting shared repository GC
> +    stats
> +    [OAK-3096] - RDBDocumentStore: improve diagnostics for failed
> +    batch inserts
> +    [OAK-3108] - RDBDocumentStore: improve diagnostics for failed
> +    inserts/updates caused by long data
> +    [OAK-3114] - RDBDocumentStore: add BDATA DDL information to
> +    startup diagnostics
> +    [OAK-3184] - Consistency checker for data/blob store
> +    [OAK-3192] - Provide a way to allow embedding application to be
> +    notified about OSGi startup
> +    [OAK-3193] - Integrate with Felix WebConsole
> +    [OAK-3194] - Provide a way for embedding application to control
> +    which all bundles are started
> +    [OAK-3195] - Allow finer control for timeout handling in case of
> +    repository startup
> +    [OAK-3198] - reduce RDBDocumentStore class size, avoid code
> +    duplication with RDBBlobStore
> +    [OAK-3206] - DocumentStorePerformanceTest executed together with
> +    unit tests
> +    [OAK-3207] - Exercise for Password Expiry and History
> +    [OAK-3210] - Complete privilege management related exercises
> +    [OAK-3214] - Enable registration of MBean via Aries JMX Whiteboard
> +    support
> +    [OAK-3217] - Integrate with Felix Script Console
> +    [OAK-3230] - Query engine should support virtual index rows
> +    [OAK-3237] - Configure default index definition for fulltext
> +    search
> +    [OAK-3241] - Support including and excluding paths in
> +    RepositorySidegrade
> +    [OAK-3242] - Repeated upgrades in RepositorySidegrade
> +    [OAK-3243] - Allow to skip copying versions in the
> +    RepositorySidegrade
> +    [OAK-3245] - Allow to set custom commit hooks in the
> +    RepositorySidegrade
> +    [OAK-3260] - oak-jcr: update test exclusions once JCR-3900 is
> +    resolved
> +    [OAK-3261] - consider existing locks when creating new ones
> +    [OAK-3279] - Create StringUtils.estimateMemoryUsage(String)
> +    [OAK-3280] - Remove Utils.estimateMemoryUsage(String)
> +    [OAK-3306] - Create a copy of MemoryDocumentStore
> +    [OAK-3338] - Deprecate CIHelper travis methods with profile
> +    [OAK-3360] - Tracking the start time of mark in GC for a shared
> +    datastore
> +    [OAK-3443] - Track the start time of mark in GC
> +    [OAK-3542] - evaluation for special tree types in aggregation
> +    [OAK-3559] - Bulk document updates in MongoDocumentStore
> +    [OAK-3924] - Fix database-level row deadlock during bulk updates
> +    in RDB
>      [OAK-3994] - Simple query on suggestion/spellcheck with
>      unambiguous index def and one descendant clause should work
>
>  Technical task
>
> +    [OAK-2860] - RDBBlobStore: seen insert failures due to duplicate
> +    keys
> +    [OAK-3369] - OakDocumentRDBRepositoryStub should have working
> +    default for JDBC URL
> +    [OAK-3391] - RDBBlobStore: speed up testBigBlob(), also improve
> +    memory usage
> +    [OAK-3394] - RDBDocumentStore startup: log more DDL information
> +    (incl. index information)
> +    [OAK-3408] - RDBDocumentStore: improve MySQL diagnostics
> +    [OAK-3410] - RDB*Store diagnostics: strip line feeds from product
> +    information
> +    [OAK-3413] - RDBDocumentStorePerformanceTest leaks
> +    PreparedStatements
> +    [OAK-3414] - RDBDocumentStore: improve DB2 diagnostics
> +    [OAK-3421] - RDBDocumentStore: force DB2 to use a clustered index
> +    [OAK-3422] - RDBDocumentStore: improve index diagnostics
> +    [OAK-3438] - RDBDocumentStoreDB: leaking resultset
> +    [OAK-3444] - Speed up DocumentDiscoveryLiteServiceTest
> +    [OAK-3445] - RDBDocumentStore: when generating SQL for queries,
> +    leave out unneeded constraints
> +    [OAK-3446] - RDBDocumentStore: update PostgresQL and MySQL JDBC
> +    drivers
> +    [OAK-3532] - create RDB export tool
> +    [OAK-3540] - DocumentStore tests: use named parametrization
> +    [OAK-3566] - Stale documents in RDBDocumentStore cache
> +    [OAK-3586] - ConflictException and CommitQueue should support a
> +    list of revisions
> +    [OAK-3604] - RDBDocumentStore: update JDBC drivers for PostgresQL,
> +    MySQL, and Derby
> +    [OAK-3605] - RDBBlob/DocumentStore: reduce class complexity
> +    [OAK-3617] - RDBDocumentStore: improve retry logic in
> +    updateDocument
> +    [OAK-3620] - Increase lock stripes in RDBDocumentStore
> +    [OAK-3624] - TypeEditor doesn't validate the required property
> +    type
> +    [OAK-3631] - RDBDocumentStore: improve logging for server time
> +    difference detection
> +    [OAK-3632] - Incorrect Value Conversion upon Node.setProperty and
> +    Node.setValue
> +    [OAK-3637] - Bulk document updates in RDBDocumentStore
> +    [OAK-3645] - RDBDocumentStore: server time detection for DB2 fails
> +    due to timezone/dst differences
> +    [OAK-3652] - RDB support: extend RDB export tool for CSV export
> +    [OAK-3657] - RDBDocumentStore: cache update logic introduced for
> +    OAK-3566 should only be used for NODES collection
> +    [OAK-3659] - Stale document in RDBDocumentStore cache
> +    [OAK-3661] - RDBDocumentStore: improve logging for invalid data in
> +    persistence
> +    [OAK-3662] - Add bulk createOrUpdate method to the DocumentStore
> +    API
> +    [OAK-3670] - RDBDocumentStore on SQLServer: off-by-one bug may
> +    cause truncated JSON to be written
> +    [OAK-3676] - RDBDocumentStore on SQLServer: append logic creates
> +    many different PreparedStatements
> +    [OAK-3684] - RDBBlob/DocumentStore.finalize() do not call
> +    super.finalize()
> +    [OAK-3691] - RDBDocumentStore: refactor update logic
> +    [OAK-3699] - RDBDocumentStore shutdown: improve logging
> +    [OAK-3700] - authorization setup for closed user groups (follow
> +    up)
> +    [OAK-3714] - RDBDocumentStore diagnostics for Oracle might not
> +    contain index information
> +    [OAK-3722] - RDBDataSourceFactory: restore ability to close the
> +    pool
> +    [OAK-3724] - Use the bulk createOrUpdate in Commit
> +    [OAK-3729] - RDBDocumentStore: implement RDB-specific VersionGC
> +    support for lookup of deleted documents
> +    [OAK-3730] - RDBDocumentStore: implement RDB-specific VersionGC
> +    support for lookup of split documents
> +    [OAK-3731] - Version Garbage Collection: improve logging for split
> +    documents
> +    [OAK-3737] - Compactor should log revisions acting upon
> +    [OAK-3739] - RDBDocumentStore: allow schema evolution part 1:
> +    check for required columns, log unexpected new columns
> +    [OAK-3764] - RDB/NodeStoreFixture fails to track DataSource
> +    instances
> +    [OAK-3774] - Tool for detecting references to pre compacted
> +    segments
> +    [OAK-3785] - IndexDefinition should expose underlying node state
> +    [OAK-3807] - Oracle DB doesn't support lists longer than 1000
> +    [OAK-3816] - RDBBlobStoreTest should use named parameters
> +    [OAK-3833] - Allow to acquire multiple locks
> +    [OAK-3843] - MS SQL doesn't support more than 2100 parameters in
> +    one request
> +    [OAK-3845] - AbstractRDBConnectionTest fails to close the
> +    DataSource
> +    [OAK-3851] - RDB*Store: update PostgreSQL and MySQL JDBC driver
> +    dependencies
> +    [OAK-3852] - RDBDocumentStore: batched append logic may loose
> +    property changes
> +    [OAK-3855] - oak-run compact should check segment version
> +    [OAK-3867] - RDBDocumentStore: refactor JSON support
> +    [OAK-3868] - Move createSegmentWriter() from FileStore to
> +    SegmentTracker
> +    [OAK-3873] - Don't pass the compaction map to FileStore.cleanup
> +    [OAK-3892] - RDBDocumentStore: StripedNodeDocumentLocks - special
> +    case root?
> +    [OAK-3896] - RDBDocumentStore: export tool - improve handling of
> +    export files allowing to override column order
> +    [OAK-3925] - oak-run backup/recover should check segment version
> +    [OAK-3926] - oak-run checkpoint should check segment version
> +    [OAK-3927] - oak-run primary/standby should check segment version
> +    [OAK-3928] - oak-run debug should use a read-only store
> +    [OAK-3934] - Log ids of segments being released for gc because of
> +    their age.
> +    [OAK-3937] - Batch createOrUpdate() may fail with primary key
> +    violation
> +    [OAK-3938] - Occasional failure in
> +    MultiDocumentStoreTest.batchUpdateCachedDocument()
> +    [OAK-3943] - Check for the right segment version uniformly in
> +    oak-run
> +    [OAK-3945] - RDBDocumentStore: internalCreateOrUpdate() needs to
> +    check return code of insertDocuments()
> +    [OAK-3954] - [oak-blob-cloud] Update oak-blob-cloud with
> +    jackrabbit-aws-ext updates
> +    [OAK-3959] - RDBDocumentStore: always upsert in the bulk updates
> +    [OAK-3969] - CacheConsistencyRDBTest creates overlong table names
> +    [OAK-3971] - RDBDocumentStore: include table name when logging
> +    slow/excessive queries
> +    [OAK-4016] - Document composite authorization setup
>      [OAK-4020] - RDBExport: misleading warning about column names
>      [OAK-4021] - RDBDocumentStore: create() for collections other than
>      NODES is broken
> +    [OAK-4033] - RDBDocumentStore: refactor version check to address
> +    driver version as well
> +    [OAK-4034] - RDBDocumentStore: use and require Oracle 12.1 JDBC
> +    driver
>
>  Bug
>
> +    [OAK-260] - Avoid the "Turkish Locale Problem"
> +    [OAK-955] - Query: Filter doesn't contain fulltext constraints
> +    from joins
> +    [OAK-1501] - Property index on "jcr:primaryType" returns the wrong
> +    cost
> +    [OAK-1648] - Creating multiple checkpoint on same head revision
> +    overwrites previous entries
> +    [OAK-1649] - NamespaceException: OakNamespace0005 on save, after
> +    replica crash
> +    [OAK-1763] - OrderedIndex does not comply with JCR's compareTo
> +    semantics
> +    [OAK-1842] - ISE: "Unexpected value record type: f2" is thrown
> +    when FileBlobStore is used
> +    [OAK-2165] - Observation tests sporadically failing
> +    [OAK-2231] - Searching authorizables with ' and ] in authorizable
> +    id and/or principal name
> +    [OAK-2374] - Sporadic test failure of OSGiIT.listBundles on
> +    Buildbot
> +    [OAK-2379] - Regular CI failures for DOCUMENT_RDB on buildbot
> +    [OAK-2401] - SegmentNodeStoreService prone to deadlocks
> +    [OAK-2480] - Incremental (FileStore)Backup copies the entire
> +    source instead of just the delta
> +    [OAK-2539] - SQL2 query not working with filter (s.[stringa] = 'a'
> +    OR CONTAINS(s.[stringb], 'b'))
> +    [OAK-2569] - LuceneIndex#loadDocs can throw
> +    IllegalArgumentException
> +    [OAK-2592] - Commit does not ensure w:majority
> +    [OAK-2635] - TimeSeriesMax's frequent 'drops to 0'
> +    [OAK-2636] - Issues with Maximum node name size and path size
> +    [OAK-2641] - FilterImpl violates nullability contract
> +    [OAK-2655] - Test failure: OrderableNodesTest.testAddNode
> +    [OAK-2656] - Test failures in LDAP authentication: Failed to bind
> +    an LDAP service
> +    [OAK-2660] - Wrong result when using multiple OR conditions, with
> +    a Lucene full-text index
> +    [OAK-2662] - SegmentOverflowException in HeavyWriteIT on Jenkins
> +    [OAK-2663] - Unique property index can trigger OOM during upgrade
> +    of large repository
> +    [OAK-2689] - Test failure: QueryResultTest.testGetSize
> +    [OAK-2712] - Possible null-dereference when calling
> +    ItemImpl#perform
> +    [OAK-2723] - FileStore does not scale because of precomputed graph
> +    on TarReader
> +    [OAK-2732] - NPE in lucene search
> +    [OAK-2734] - Compaction does not finish on repository with
> +    continuous writes
> +    [OAK-2736] - Oak instance does not close the executors created
> +    upon ContentRepository creation
> +    [OAK-2740] - TreeTypeProvider treates optimized node type
> +    definition info as Ac-Content
> +    [OAK-2750] - Indexing for sorting can fail if value is too long
> +    [OAK-2752] - SegmentIdTable can sometimes hang when calling
> +    getSegmentId(msb, lsb)
> +    [OAK-2759] - Empty commit causes deserialization issue in
> +    LocalDiffCache leading to cache corruption
> +    [OAK-2765] - Fix high priority FindBugs reports for oak-solr
> +    [OAK-2778] - DocumentNodeState is null for revision rx-x-x
> +    [OAK-2780] - DocumentMK.commit() does not check if node exists on
> +    property patch
> +    [OAK-2782] - Tika not able to load class in case of custom config
> +    [OAK-2784] - Remove Nullable annotation in Predicates of
> +    BackgroundObserver
> +    [OAK-2796] - Persistent cache: old files not removed sometimes
> +    [OAK-2798] - OakIndexInput should unset OakIndexFile's byte[] upon
> +    close
> +    [OAK-2799] - OakIndexInput cloned instances are not closed
> +    [OAK-2803] - RepositoryUpgrade.copy() doesn't create correct
> +    templates for residual item definitions
> +    [OAK-2810] - Cannot copy a node if parent is not accessible
> +    [OAK-2811] - Oak + data store: NPE in
> +    SegmentNodeStoreService.deactivate() leads to data store not
> +    shutting down properly
> +    [OAK-2815] - Persistent cache may block commit
> +    [OAK-2817] - TARMK Cold Standby cleanup removes too many binary
> +    segments
> +    [OAK-2820] - SolrServerProviderService should leverage
> +    OakSolrServer
> +    [OAK-2827] - [oak-blob-cloud] Test Failures: Add joda-time
> +    dependency explicitly with definite version range
> +    [OAK-2831] - Test classes extending AbstractImportTest do not
> +    always shut down repository instances properly
> +    [OAK-2832] - Test failure: DefaultAnalyzersConfigurationTest
> +    [OAK-2838] - Test failure: OSGiIT
> +    [OAK-2840] - Login Benchmark Test broken due to OAK-2128
> +    [OAK-2845] - Memory leak in ObserverTracker#removedService
> +    [OAK-2852] - Query engine: if counter index is not available, cost
> +    of traversing is too low
> +    [OAK-2855] - CopyOnReadDirectory mode might delete a valid local
> +    file upon close
> +    [OAK-2858] - Test failure: ObservationRefreshTest
> +    [OAK-2859] - Test failure: OrderableNodesTest
> +    [OAK-2863] - No matching result found with use of relative
> +    property names in fulltext search in some cases
> +    [OAK-2864] - XPath backwards compatibility issue with false() and
> +    true()
> +    [OAK-2867] - CommitQueue.done() may fail to remove commit
> +    [OAK-2869] - RepositorySidegrade: AsyncIndexUpdate throws a
> +    IllegalArgumentException after migrating from segment to document
> +    store
> +    [OAK-2872] - ExternalLoginModule should clear state when login was
> +    not successful
> +    [OAK-2873] - Performance problems with many "or" conditions
> +    [OAK-2874] - [ldap] enable listUsers to work for more than 1000
> +    external users
> +    [OAK-2877] - Test failure: OrderableNodesTest.setPrimaryType
> +    [OAK-2878] - Test failure: AutoCreatedItemsTest.autoCreatedItems
> +    [OAK-2880] - NPE in SegmentWriter.writeMap
> +    [OAK-2881] - ConsistencyChecker#checkConsistency can't cope with
> +    inconsistent journal
> +    [OAK-2890] - SegmentBlob does not return blobId for
> +    contentIdentity
> +    [OAK-2900] - Trying to remove a non existing element from a map
> +    might cause NPE
> +    [OAK-2903] - Test failures: ldap tests fail on Jenkins
> +    [OAK-2904] - test failures for oak-auth-ldap on Windows
> +    [OAK-2913] - TokenLoginModule should clear state in case of a
> +    login exception
> +    [OAK-2929] - Parent of unseen children must not be removable
> +    [OAK-2933] - AccessDenied when modifying transiently moved item
> +    with too many ACEs
> +    [OAK-2934] - Certain searches cause lucene index to hit
> +    OutOfMemoryError
> +    [OAK-2938] - Estimation of required memory for compaction is off
> +    [OAK-2951] - Regression: SSL errors with latest ldap client
> +    [OAK-2960] - SegmentNodeStoreService doesn't fully implement a
> +    @Modified method
> +    [OAK-2961] - Async index fails with OakState0001: Unresolved
> +    conflicts in /:async
> +    [OAK-2962] - SegmentNodeStoreService fails to handle empty strings
> +    in the OSGi configuration
> +    [OAK-2963] - [Blob GC]: Undeleted blobs also being logged in
> +    deleted count
> +    [OAK-2970] - DocumentNodeStoreService doesn't fully implement a
> +    @Modified method
> +    [OAK-2972] - DocumentNodeStore gets initialized multiple time with
> +    RDB persistence
> +    [OAK-2973] - [Blob GC] Report accurate deleted count
> +    [OAK-2979] - JournalTest.cleanupTest reliably fails on Windows
> +    [OAK-2999] - Index updation fails on updating multivalued property
> +    [OAK-3000] - SimpleExcerptProvider causes OOM for some wildcard
> +    expressions
> +    [OAK-3007] - SegmentStore cache does not take "string" map into
> +    account
> +    [OAK-3013] - SQL2 query with union, limit and offset can return
> +    invalid results
> +    [OAK-3015] - Unapproved licences in oak-remote
> +    [OAK-3016] - Unapproved licences in oak-excercise
> +    [OAK-3019] - VersionablePathHook must not process hidden nodes
> +    [OAK-3020] - Async Update fails after IllegalArgumentException
> +    [OAK-3021] - UserValidator and AccessControlValidator must not
> +    process hidden nodes
> +    [OAK-3022] - DocumentNodeStoreService fails to handle empty
> +    strings in the OSGi configuration
> +    [OAK-3023] - Long running MongoDB query may block other threads
> +    [OAK-3026] - test failures for oak-auth-ldap on Windows
> +    [OAK-3027] - NullPointerException from Tika if SupportedMediaType
> +    is null in LuceneIndexEditorContext
> +    [OAK-3028] - Hierarchy conflict detection broken
> +    [OAK-3029] - EmbeddedSolrServerProvider should check if core is /
> +    can be loaded
> +    [OAK-3032] - LDAP test failures
> +    [OAK-3035] - ReferenceEditor reindex detection broken
> +    [OAK-3045] - Incorrect assertion message in PathUtils#isAncestor()
> +    [OAK-3047] - RemoteServerIT test are failing on the CI server
> +    [OAK-3053] - Locking issues seen with CopyOnWrite mode enabled
> +    [OAK-3061] - oak-authorization-cug uses wrong parent pom
> +    [OAK-3062] - VersionGC failing on Mongo with
> +    CursorNotFoundException
> +    [OAK-3064] - Oak Run Main.java passing values in the wrong order
> +    [OAK-3065] - RemoteServerIT failing due to address already in use
> +    [OAK-3067] - Lucene IndexCopier should increase
> +    readerRemoteReadCount for new files
> +    [OAK-3079] - LastRevRecoveryAgent can update _lastRev of children
> +    but not the root
> +    [OAK-3080] - JournalTest.cleanupTest failure on CI
> +    [OAK-3081] - SplitOperations may undo committed changes
> +    [OAK-3082] - Redundent entries in effective policies per
> +    principal-set
> +    [OAK-3083] - Unable to resolve org.apache.jackrabbit.oak-core
> +    (missing service
> +    org.apache.jackrabbit.core.util.db.ConnectionFactory)
> +    [OAK-3084] - Commit.applyToDocumentStore(Revision) may rollback
> +    committed changes
> +    [OAK-3089] - LIRS cache: zero size cache causes
> +    IllegalArgumentException
> +    [OAK-3091] - Remove duplicate logback-classic dependency entry
> +    from oak-lucene pom
> +    [OAK-3098] - CopyOnWrite might block Async indexer thread
> +    indefinitely
> +    [OAK-3099] - Revision GC fails when split documents with very long
> +    paths are present
> +    [OAK-3101] - wrong use of jcr:score in Solr when sorting
> +    [OAK-3102] - LuceneIndexEditorTest#copyOnWriteAndLocks failing on
> +    windows
> +    [OAK-3103] - Stale document in MongoDocumentStore cache
> +    [OAK-3104] - Version garbage collector doesn't collect a rolled
> +    back document if it was never deleted
> +    [OAK-3105] - SegmentWriter doesn't properly check the length of
> +    external blob IDs
> +    [OAK-3106] - DocumentStorePerformanceTest collects duplicate ids
> +    to remove
> +    [OAK-3109] - OOME in tarkmk standby tests
> +    [OAK-3110] - AsyncIndexer fails due to FileNotFoundException
> +    thrown by CopyOnWrite logic
> +    [OAK-3116] - SolrQueryIndexProviderService should not blindly
> +    register a QueryIndexProvider
> +    [OAK-3123] - NPE in RecordIdMap
> +    [OAK-3130] - ReferenceEditor may not enforce referential integrity
> +    [OAK-3131] - DocumentNodeStore doesn't serialize blobs that have
> +    been created in a different store
> +    [OAK-3136] - High memory usage of SegmentDataStoreBlobGCTest
> +    [OAK-3137] - Global fulltext index returning plan for pure
> +    NodeType queries
> +    [OAK-3138] - OOME in NodeStateCopierTest
> +    [OAK-3139] - SNFE in persisted comapation map when using CLEAN_OLD
> +    [OAK-3143] - lucene command for oak-run console doesn't work
> +    [OAK-3149] - SuggestHelper should manage a suggestor per index
> +    definition
> +    [OAK-3155] - AsyncIndex stats do not capture execution for runs
> +    where no indexing is performed
> +    [OAK-3156] - Lucene suggestions index definition can't be
> +    restricted to a specific type of node
> +    [OAK-3157] - Lucene suggestions don't work if suggested phrases
> +    don't return documents on :fulltext search
> +    [OAK-3158] - IAE when specifiying 2G cache for FileStore
> +    [OAK-3164] - MemoryNodeStore issues duplicate checkpoint
> +    [OAK-3167] - [Blob GC] Wrong time units for blobGcMaxAge are
> +    passed from SegmentNodeStoreService
> +    [OAK-3168] - SegmentCache flushes Segment on update
> +    [OAK-3169] - rep:versionablePaths mixin not always set for
> +    versionable nodes
> +    [OAK-3171] - Conflict Exception logs path information only on
> +    DEBUG
> +    [OAK-3179] - Deadlock between persisted compaction map and cleanup
> +    [OAK-3191] - Oak UserManager#getAuthorizable handles null and
> +    empty string differently than Jackrabbit
> +    [OAK-3196] - ConfigInstaller removing the configs on restart
> +    [OAK-3197] - RepositoryImpl doesn't close the scheduler nicely
> +    [OAK-3199] - DocumentNodeState ignores binary value for memory
> +    calculation
> +    [OAK-3200] - Build Failure due to LuceneSupportTest and
> +    OakOSGiRepositoryFactoryTest
> +    [OAK-3201] - Use static references in SecurityProviderImpl for
> +    composite services
> +    [OAK-3215] - Solr test often fail with No such core: oak
> +    [OAK-3218] - UserProvider.getFolderPath may throw
> +    StringIndexOutOfBoundsException
> +    [OAK-3231] - Change default maxCachedBinarySize to match lucene
> +    DEFAULT_BLOB_SIZE
> +    [OAK-3234] - LIRS cache: possible deadlock while loading an entry
> +    [OAK-3235] - Deadlock when closing a concurrently used FileStore
> +    [OAK-3246] - MultiDocumentStoreTest might fail to clean up test
> +    nodes
> +    [OAK-3248] - Felix Connect throws exception when launching Oak in
> +    Spring Boot env
> +    [OAK-3249] - Some version copy settings conflicts with the
> +    earlyShutdown
> +    [OAK-3264] - Deadlock between persisted compaction map and cleanup
> +    2
> +    [OAK-3265] - Test failures: NodeLocalNameTest, NodeNameTest
> +    [OAK-3281] - Test failures on trunk: SolrIndexQueryTestIT.sql2
> +    [OAK-3282] - DataStoreBlobStore cache ignores key for memory
> +    calculation
> +    [OAK-3283] - Background read does not close StringSort
> +    [OAK-3289] - ClusterViewDocument should store longs, not integers
> +    [OAK-3295] - Test failure: NodeTypeTest.trivialUpdates
> +    [OAK-3301] - AbstractRepositoryUpgrade leaks Repository instances
> +    [OAK-3304] - ClusterViewDocument uses Map as property value
> +    [OAK-3305] - Self recovering instance may not see all changes
> +    [OAK-3310] - Write operations on Property do not check checked-out
> +    state of Node
> +    [OAK-3311] - Potential NPE in syncAllExternalUsers() aborts the
> +    process
> +    [OAK-3313] - Many tests leak DocumentNodeStore instances
> +    [OAK-3317] - ConcurrentModificationException when running
> +    SegmentOverflowExceptionIT
> +    [OAK-3318] - IndexRule not respecting inheritence based on mixins
> +    [OAK-3324] - Evaluation with restriction is not consistent with
> +    parent ACLs
> +    [OAK-3325] - MissingIndexProviderStrategy should warn when setting
> +    the reindex flag
> +    [OAK-3333] - SplitOperations purges _commitRoot entries too
> +    eagerly
> +    [OAK-3335] - RepositorySidegrade has runtime dependency on
> +    jackrabbit-core
> +    [OAK-3343] - LIRS Cache: investigate concurrency behavior
> +    [OAK-3344] - Commit may add collision marker for committed
> +    revision
> +    [OAK-3354] - Clock.Fast delays repository shutdown
> +    [OAK-3356] - Unclosed sessions in oak-jcr and oak-upgrade tests
> +    [OAK-3366] - Property indexes reindex flag getting reset to true
> +    at startup
> +    [OAK-3367] - Boosting fields not working as expected
> +    [OAK-3371] - Wrong evaluation of NOT clause
> +    [OAK-3375] - RepositoryManager doesn't perform a shutdown of
> +    OsgiRepository on deactivation
> +    [OAK-3376] - DocumentNodeStoreTest.dispose() waiting indefinitely
> +    on ArrayBlockingQueue.put()
> +    [OAK-3377] - Two spaces in SQL2 fulltext search -> error
> +    [OAK-3383] - "The unbindBlobDataSource method has thrown an
> +    exception" message on shutdown of the RDBMK
> +    [OAK-3386] - ConcurrentAddNodesClusterIT.addNodesConcurrent()
> +    blocks occasionally
> +    [OAK-3388] - Inconsistent read in cluster with clock differences
> +    [OAK-3390] - Avoid instanceof check in DocumentNodeStore
> +    [OAK-3395] - RevisionGC fails for JCR paths having line feed
> +    characters
> +    [OAK-3396] - NPE during syncAllExternalUsers in
> +    LdapIdentityProvider.createUser
> +    [OAK-3400] - ClusterNodeInfo should not be osgi-dependent (for
> +    lease check failure handling)
> +    [OAK-3405] - Avoid instanceof check in LastRevRecoveryAgent
> +    [OAK-3411] - Inconsistent read on DocumentNodeStore startup
> +    [OAK-3412] - Node name having non space whitspace chars should not
> +    be allowed
> +    [OAK-3416] - Query: join on different property types fails
> +    [OAK-3417] - oak-run OakFixture might set incorrect clusterIDs
> +    [OAK-3418] - ClusterNodeInfo uses irrelevant network interface IDs
> +    on Windows
> +    [OAK-3419] - ClusterNodeInfo.createInstance fails to clean up
> +    random entries
> +    [OAK-3420] - DocumentNodeStoreService fails to restart
> +    DocumentNodeStore
> +    [OAK-3423] - RandomAuthorizableNodeName should not be part of the
> +    default configuration of SecurityProviderImpl
> +    [OAK-3424] - ClusterNodeInfo does not pick an existing entry on
> +    startup
> +    [OAK-3431] - SecurityProviderRegistration should not be part of an
> +    exported package
> +    [OAK-3432] - ConcurrentTest.testLoaderBlock fails because of
> +    waiting issue
> +    [OAK-3433] - Background update may create journal entry with
> +    incorrect id
> +    [OAK-3434] - Revert backwards-incompatible changes to
> +    SecurityProviderImpl
> +    [OAK-3442] - Intermittent IllegalMonitorStateException seen while
> +    releaseing IndexNode
> +    [OAK-3451] - OrderedIndexIT fails
> +    [OAK-3456] - MongoBlobGCTest.gcLongRunningBlobCollection() fails
> +    [OAK-3463] - Communicate Password Change Failure Reason During
> +    Expiry + Pw History
> +    [OAK-3470] - Utils.estimateMemoryUsage has a NoClassDefFoundError
> +    when Mongo is not being used
> +    [OAK-3473] - CliUtils#handleSigInt uses classes from sun.misc.*
> +    [OAK-3474] - NodeDocument.getNodeAtRevision can go into property
> +    history traversal when latest rev on current doc isn't committed
> +    [OAK-3476] - Memory leak caused by using marker names based on non
> +    static session id
> +    [OAK-3480] - Query engine: faster cost calculation (take 2)
> +    [OAK-3481] - CompactionMapTest does not close file store
> +    [OAK-3487] - NodeDocumentTest.getNewestRevisionTooExpensive()
> +    fails occasionally
> +    [OAK-3490] - QueryTest.orderBy() fails occasionally
> +    [OAK-3491] - DocumentDiscoveryLiteServiceTest makes incorrect call
> +    to MissingLastRevRecovery
> +    [OAK-3492] - reduce DocumentDiscoveryLiteService hasBacklog WARNs
> +    [OAK-3493] - Deadlock when closing a concurrently used FileStore
> +    2.0
> +    [OAK-3499] - Test failures when there is no network interface
> +    [OAK-3510] - Troublesome ExternalIdentityRef.equals(Object)
> +    implementation
> +    [OAK-3511] - Test failure: CompactionMapTest.removeSome
> +    [OAK-3513] - Session save going through despite repository being
> +    shutdown causing reindex flag to reset
> +    [OAK-3517] - Node.addNode(String, String) may check
> +    nt-mgt-permission against the wrong node
> +    [OAK-3522] - DefaultSyncContext exposes internal path-utility
> +    method
> +    [OAK-3523] - DefaultSyncContext catches ClassCastException
> +    [OAK-3530] - TreeTypeProvider returns wrong type for version
> +    related node type definitions
> +    [OAK-3541] - VersionableState.copy doesn't respect OPV flag in the
> +    subtree
> +    [OAK-3549] - Initial read of _lastRev creates incorrect
> +    RevisionComparator
> +    [OAK-3551] - Failing version restore tests
> +    [OAK-3556] - MongoDocumentStore may create incomplete document
> +    [OAK-3557] - NodeDocument.isConflicting() reads complete revision
> +    history for changed property
> +    [OAK-3558] - oak-core imports every package with the optional
> +    resolution policy
> +    [OAK-3567] - Long running query holds TreeLock
> +    [OAK-3579] - BackgroundLeaseUpdate not scheduled when asyncDelay=0
> +    [OAK-3582] - Background split may throw NPE
> +    [OAK-3584] - PathNotFoundException when reading child node and
> +    property definitions below nt root
> +    [OAK-3589] - Property index with declaringNodeTypes sometimes used
> +    by mistake
> +    [OAK-3590] - Incomplete doc of GlobPattern
> +    [OAK-3591] - Lucene index with 'analyzed=true' sometimes used by
> +    mistake
> +    [OAK-3592] - merge-paths option not working for repository upgrade
> +    [OAK-3608] - Compare of node states on branch may be incorrect
> +    [OAK-3612] - The string/template cache of the SegmentWriter should
> +    be cleared before cleanup
> +    [OAK-3621] - Required property type not respected
> +    [OAK-3625] - Test cases using wrong property types
> +    [OAK-3628] - baseline failures on trunk
> +    [OAK-3630] - Mixin based rules not working for relative properties
> +    [OAK-3634] - RDB/MongoDocumentStore may return stale documents
> +    [OAK-3638] - NodeAggregator in SolrQueryIndexProviderService
> +    should be volatile
> +    [OAK-3639] - Wrong method name for "updated" reference in
> +    SolrServerProviderService
> +    [OAK-3646] - Inconsistent read of hierarchy
> +    [OAK-3653] - Incorrect last revision of cached node state
> +    [OAK-3658] - Test failures: JackrabbitNodeTest#testRename and
> +    testRenameEventHandling
> +    [OAK-3663] - LastRevRecoveryRandomizedIT fails with seed 10848868
> +    [OAK-3668] - Potential test failure:
> +    CompactionAndCleanupIT#testMixedSegments
> +    [OAK-3671] - Incomplete cleanup of entries in ACL
> +    [OAK-3672] - discovery-lite should not set (cluster)Id for tarMk
> +    and mongoMk (was: SegmentDiscoveryLiteService does not persist
> +    clusterView.id)
> +    [OAK-3673] - NotCompliantMBeanException for QueryEngineSettings,
> +    QueryStatManager, RepositoryStatsMBean
> +    [OAK-3682] - Missing lucene-memory dependency in OSGi env breaks
> +    excerpt
> +    [OAK-3689] - OakOSGiRepositoryFactory shutting down the repository
> +    twice
> +    [OAK-3692] - java.lang.NoClassDefFoundError:
> +    org/apache/lucene/index/sorter/Sorter$DocComparator
> +    [OAK-3697] - Baseline failure in oak-lucene
> +    [OAK-3701] - Exception in JcrRemotingServlet at startup
> +    [OAK-3709] - CugValidator should ignore node type definitions
> +    [OAK-3732] - Offline compaction doesn't clean up unreferenced tar
> +    files
> +    [OAK-3733] - Sometimes hierarchy conflict between concurrent
> +    add/delete isn't detected
> +    [OAK-3738] - Datastore directory shouldn't be moved after the
> +    migration
> +    [OAK-3740] - ValueImpl has references on classes internal to
> +    SegmentStore
> +    [OAK-3741] - AbstractCheckpointMBean references
> +    SegmentCheckpointMBean
> +    [OAK-3742] - FileStoreBackup and FileStoreRestore have a reference
> +    on Segment Store classes
> +    [OAK-3751] - Limit the unique index "authorizableId" to the
> +    "rep:Authorizable" nodetype
> +    [OAK-3753] - Test failure: HeavyWriteIT
> +    [OAK-3756] - NodeStateUtils wrong indentation for toString method
> +    [OAK-3759] - UserManager.onCreate is not omitted for system users
> +    in case of XML import
> +    [OAK-3762] - StandbyServerhandler catches IllegalStateException
> +    instead of IllegalRepositoryStateException
> +    [OAK-3763] - EmptyNodeState.equals() broken
> +    [OAK-3765] - Parallelized test runner does not wait for test
> +    completion
> +    [OAK-3769] - QueryParse exception when fulltext search performed
> +    with term having '/'
> +    [OAK-3775] - Inconsistency between Node.getPrimaryType and
> +    Node.isNodeType
> +    [OAK-3792] - Provide Simple Exception Name in Credentials
> +    Attribute for PW Expiry
> +    [OAK-3793] - The Explorer should expect loops in the segment graph
> +    [OAK-3794] - The Cold Standby should expect loops in the segment
> +    graph
> +    [OAK-3798] - NodeDocument.getNewestRevision() incorrect when there
> +    are previous documents
> +    [OAK-3800] - Lucene spell check index definition can't be
> +    restricted to a specific type of node
> +    [OAK-3802] - SessionMBean not getting registered due to
> +    MalformedObjectNameException
> +    [OAK-3817] - Hidden properties (one prefixed with ':') in lucene's
> +    analyzer configuration fail to construct analyzers
> +    [OAK-3821] - Lucene directory: improve exception messages
> +    [OAK-3826] - Lucene index augmentation doesn't work in Osgi
> +    environment
> +    [OAK-3838] - IndexPlanner incorrectly lets all full text indices
> +    to participate for suggest/spellcheck queries
> +    [OAK-3848] - ConcurrentAddNodesClusterIT.addNodesConcurrent()
> +    fails occasionally
> +    [OAK-3849] - After partial migration versions are not restorable
> +    [OAK-3856] - Potential NPE in SegmentWriter
> +    [OAK-3859] - Suspended commit depends on non-conflicting change
> +    [OAK-3863] - [oak-blob-cloud] Incorrect export package
> +    [OAK-3864] - Filestore cleanup removes referenced segments
> +    [OAK-3872] - [RDB] Updated blob still deleted even if deletion
> +    interval lower
> +    [OAK-3879] - Lucene index / compatVersion 2: search for 'abc!'
> +    does not work
> +    [OAK-3881] - TCPBroadcaster causes shutdown delay
> +    [OAK-3882] - Collision may mark the wrong commit
> +    [OAK-3889] - SegmentMk StringCache memory leak
> +    [OAK-3891] - AsyncIndexUpdateLeaseTest doesn't use the provided
> +    NodeStore
> +    [OAK-3897] - Branch reset does not revert all changes
> +    [OAK-3900] - AtomicCounterClusterIT fails occasionally
> +    [OAK-3901] - SecurityProviderRegistration must respect service
> +    ranking of aggregated configurations
> +    [OAK-3902] - SecurityProviderRegistration doesn't fill the
> +    composite context
> +    [OAK-3903] - Commit fails even though change made it to the
> +    DocumentStore
> +    [OAK-3908] - Don't skip maven-bundle-plugin:baseline when
> +    skipTests is true
> +    [OAK-3909] - Documentation site failure
> +    [OAK-3911] - Integer overflow causing incorrect file handling in
> +    OakDirectory for file size more than 2 GB
> +    [OAK-3912] - Segment bundle tests have wrong package name
> +    [OAK-3913] - FileStoreIT#testRecovery fails on Windows
> +    [OAK-3917] - SuggestionHelper creating unnecessary temporary
> +    directories
> +    [OAK-3920] - OakDirectory not usable in readOnly mode with a
> +    readOnly builder
> +    [OAK-3922] - Provide flag to disable template cache in segments
> +    [OAK-3923] - Async indexing delayed by 30 minutes because stop
> +    order is incorrect
> +    [OAK-3929] - RevisionGC does not invalidate document cache
> +    [OAK-3930] - Sysview import of single valued mv property creates
> +    sv property
> +    [OAK-3932] - DocumentStore.getIfCached() must not return
> +    NodeDocument.NULL
> +    [OAK-3939] - SegmentMK Template equals and hashCode broken
> +    [OAK-3949] - Deadlock with bulk acquire of TreeLocks
> +    [OAK-3951] - TimingDocumentStoreWrapper throws NPE
> +    [OAK-3955] - AtomicCounterEditorTest - Remove spurious import
> +    [OAK-3956] - Oak run extract the dummy BlobStore impl to be used
> +    by the readonly FileStore
> +    [OAK-3961] - Cold Standby revisit timeout setup
> +    [OAK-3962] - SolrQueryIndex should implement NativeQueryIndex
> +    [OAK-3963] - Cold Standby optimize sync for checkpoints
>      [OAK-3965] - SegmentPropertyState external binary property reports
>      unusual size
> +    [OAK-3966] - Indexing all properties for facets is way too much
> +    [OAK-3968] - Wrong initialization of used/ignored properties from
> +    OSGi configuration
> +    [OAK-3974] - regression:
> +    OakSolrConfigurationProviderService.activate can throw a NPE
>      [OAK-3981] - Change in aggregation flow in OAK-3831 causes some
>      properties to be left out of aggregation
>      [OAK-3988] - Offline compaction should avoid loading external
> @@ -47,14 +824,574 @@ Bug
>      [OAK-4009] - Search done via Lucene index might return duplicate
>      results
>      [OAK-4011] - Set online compaction default to paused
> +    [OAK-4012] - OOM during tests on Jenkins
>      [OAK-4017] - ObservationTest: tearDown() may fail with NPE
>      [OAK-4018] - Test failures after upgrading to JR 2.12.0
> +    [OAK-4023] - AtomicCounterClusterIT does not shut down scheduled
> +    executors
> +    [OAK-4024] - CoW uses incorrect directory on re-indexing when
> +    indexPath property is used
> +    [OAK-4030] - DocumentNodeStore: required server time accuracy
> +    [OAK-4032] - Performance issues on Oracle after introducing bulk
> +    updates
> +    [OAK-4036] - LuceneIndexProviderService may miss on registering
> +    PreExtractedTextProvider
> +    [OAK-4038] - o.a.j.o.spi.query.Filter exposes unexported class
> +    o.a.j.o.query.ast.SelectorImpl
> +    [OAK-4040] - Some classes from o.a.j.o.plugins.segment.compaction
> +    should be exported
> +    [OAK-4044] - Ungraceful shutdown of embedded Solr server can
> +    result in Solr index not usable
> +    [OAK-4045] - NPE when running oak-run from within the IDE
> +    [OAK-4046] - NPE in oak-run graph when repository contains bulk
> +    segments
> +    [OAK-4047] - Option for collapsing jcr:content nodes doesn't work
> +    in embedded Solr
> +    [OAK-4050] - SplitOperations may not retain most recent committed
> +    _commitRoot entry
> +    [OAK-4051] - NodeStateSolrServersObserverService won't activate
> +    even if enabled
> +    [OAK-4052] - NonLocalObservationIT fails occasionally
> +    [OAK-4053] - DocumentDiscoveryLiteServiceTest fails occasionally
> +    [OAK-4055] - Queries on a Solr index defined on a subtree return
> +    unconsistent paths
> +    [OAK-4058] - Cold Standby intermittently throws
> +    RejectedExecutionException
> +    [OAK-4059] - Tests in oak-lucene do not shut down repository
> +    [OAK-4061] - QueryJcrTestIT times out on travis
> +    [OAK-4066] - Suggestion dictionary don't update after
> +    suggestUpdateFrequencyMinutes unless something else causes index
> +    update
> +    [OAK-4067] - AssertionError thrown for Lucene index with empty
> +    suggest disctionary
> +    [OAK-4068] - Align default value of suggestUpdateFrequencyMinutes
> +    to match documented 10 minutes
> +    [OAK-4077] - Reregister node type may not update definition
> +    correctly
> +    [OAK-4082] - Don't pool prepared statements using lists
> +    [OAK-4083] - Simplify concurrency when loading data from the
> +    primary
> +
> +Documentation
> +
> +    [OAK-3452] - Document possible migration options
> +    [OAK-3515] - Document how to create diagnostic builds
> +    [OAK-3521] - Improve migration documentation
> +    [OAK-3666] - Add information about repeated upgrade to
> +    documentation
> +    [OAK-3736] - Document changing OOTB index definitions
> +    [OAK-3808] - Fix broken link on 'Backward compatibility' - 'Query'
> +    section
> +    [OAK-3894] - Atomic counter documentation
> +    [OAK-4062] - Update the merge-paths example in the migration doc
> +    [OAK-4079] - Document oak-run compact
> +
> +Epic
> +
> +    [OAK-144] - Implement observation
> +    [OAK-1844] - Verify resilience goals
> +    [OAK-3693] - Expose the internal state of the repository through
> +    indicators and checks
> +    [OAK-3744] - Move the Segment Store into its own bundle
> +    [OAK-3814] - Collect and expose important runtime statistics
> +    across various part of Oak
>
>  Improvement
>
> +    [OAK-1610] - Improved default indexing by JCR type in
> +    SolrIndexEditor
> +    [OAK-1617] - Automatically convert "or" queries to "union" for
> +    SQL-2
> +    [OAK-1735] - Query: automatically update index statistics to get
> +    better cost estimates
> +    [OAK-1744] - GQL queries with "jcr:primaryType='x'" don't use the
> +    node type index
> +    [OAK-1752] - Node name queries should use an index
> +    [OAK-1764] - Clean default solrconfig / schema provided with Solr
> +    indexer
> +    [OAK-1900] - Improve IndexUtils to manage index definitions
> +    [OAK-1910] - The query engine cost calculation is incorrect
> +    [OAK-1970] - Optimize the diff logic for large number of children
> +    case
> +    [OAK-1974] - Fail fast on branch conflict
> +    [OAK-2006] - Verify the maven baseline output and fix the warnings
> +    [OAK-2016] - Make blob gc max age configurable in
> +    SegmentNodeStoreService
> +    [OAK-2023] - Optimal index usage for XPath queries with "order by"
> +    combined with "or"
> +    [OAK-2066] - DocumentStore API: batch create, but no batch update
> +    [OAK-2242] - provide a way to update the "created" timestamp of a
> +    NodeDocument
> +    [OAK-2472] - Add support for atomic counters on cluster solutions
> +    [OAK-2477] - Move suggester specific config to own configuration
> +    node
> +    [OAK-2543] - Service user session creation isn't fast enough
> +    [OAK-2547] - "not equals" conditions should be passed to the index
> +    [OAK-2586] - Support including and excluding paths during upgrade
> +    [OAK-2609] - Thread.interrupt seems to stop repository
> +    [OAK-2618] - Improve performance of queries with ORDER BY and
> +    multiple OR filters
> +    [OAK-2620] - Release merge lock before branch is reset
> +    [OAK-2627] - Optimize equals in AbstractBlob
> +    [OAK-2657] - Repository Upgrade could shut down the source
> +    repository early
> +    [OAK-2675] - Include change type information in perf logs for diff
> +    logic
> +    [OAK-2679] - Query engine: faster cost calculation
> +    [OAK-2681] - Update lease without holding lock
> +    [OAK-2682] - Introduce time difference detection for
> +    DocumentNodeStore
> +    [OAK-2685] - Track root state revision when reading the tree
> +    [OAK-2688] - Segment.readString optimization
> +    [OAK-2690] - Add optional
> +    UserConfiguration#getUserPrincipalProvider()
> +    [OAK-2711] - Troublesome AbstractTree.toString
> +    [OAK-2713] - High memory usage of CompactionMap
> +    [OAK-2726] - Avoid repository traversal for trivial node type
> +    changes
> +    [OAK-2737] - RepositoryUpgrade.copy() should allow custom commit
> +    hooks
> +    [OAK-2738] - Possible StackOverflowException with many "or"
> +    conditions
> +    [OAK-2743] - Log time taken in couple of places in indexing
> +    [OAK-2748] - Oak Implementation for JCR-3836 and JCR-3837 (getting
> +    authorizable by type)
> +    [OAK-2749] - Provide a "different lane" for slow indexers in async
> +    indexing
> +    [OAK-2753] - Use increasing batch size for sorted queries in
> +    LucenePropertyIndex
> +    [OAK-2754] - Use non unique PathCursor in LucenePropertyIndex
> +    [OAK-2755] - Consolidated JMX view of all EventListener related
> +    statistics
> +    [OAK-2757] - Failed to read from tar file
>      [OAK-2761] - Persistent cache: add data in a different thread
> +    [OAK-2762] - Configurable maxLockTryTimeMS
> +    [OAK-2763] - Remove ChangeDispatcher in DocumentNodeStoreBranch
> +    [OAK-2766] - Log time to acquire backgroundOperationLock in
> +    background operation tasks
> +    [OAK-2768] - Fair mode for backgroundOperationLock
> +    [OAK-2769] - Add progress log to VersionGC in DocumentNodeStore
> +    [OAK-2776] - Upgrade should allow to skip copying versions
> +    [OAK-2783] - Make LDAP connection pool 'testOnBorrow' configurable
> +    [OAK-2785] - Add QueryEngine.executeQuery without limit and offset
> +    [OAK-2789] - Enable timeout for MongoDB queries
> +    [OAK-2791] - Change default for
> +    oak.mongo.maxDeltaForModTimeIdxSecs
> +    [OAK-2800] - Make contributions to reference graph from TarWriter
> +    less conservative
> +    [OAK-2801] - Clear excess references before cleanup
> +    [OAK-2804] - Conditional remove on DocumentStore
> +    [OAK-2805] - oak-run: register JMX beans
> +    [OAK-2806] - Provide property path in warning log for large multi
> +    value property
> +    [OAK-2809] - Save Lucene directory listing as array property
> +    [OAK-2814] - Refactor the optimize logic regarding path include
> +    and exclude to avoid duplication
> +    [OAK-2818] - Log _lastRev background updates
> +    [OAK-2822] - Release merge lock in retry loop
> +    [OAK-2823] - Change default for oak.maxLockTryTimeMultiplier
> +    [OAK-2829] - Comparing node states for external changes is too
> +    slow
> +    [OAK-2830] - LIRS cache: avoid concurrent loading of the same
> +    entry if loading is slow
> +    [OAK-2834] - LIRS cache: allow to disable it when using the
> +    persistent cache
> +    [OAK-2837] - Persistent cache: avoid repeated log message after
> +    closing
> +    [OAK-2839] - Without "counter" index, some queries use traversal
> +    instead of an index
> +    [OAK-2841] - Log NodePropBundle id for which no bundle is found
> +    [OAK-2843] - Broadcasting cache
> +    [OAK-2854] - provide more insight on executors during shutdown
> +    [OAK-2857] - Run background read and write operation concurrently
> +    [OAK-2861] - TARMK Cold Standby better binary decoding
> +    [OAK-2862] - CompactionMap#compress() inefficient for large
> +    compaction maps
> +    [OAK-2865] - Log stats around time spent in extracting text from
> +    binaries
> +    [OAK-2866] - Switch Thread context classloader for default config
> +    parsing also
> +    [OAK-2868] - Bypass CommitQueue for branch commits
> +    [OAK-2870] - Introduce a SegmentNodeStoreBuilder to help wire a
> +    SegmentNodeStore
> +    [OAK-2875] - Namespaces keep references to old node states
> +    [OAK-2879] - Compaction should check for required disk space
> +    before running
> +    [OAK-2883] - Tests for SegmentNodeStoreService
> +    [OAK-2885] - Enable saveDirListing by default
> +    [OAK-2886] - Exclude image/tiff from text extraction
> +    [OAK-2887] - Add support for generating mongo export command to
> +    oak-mongo
> +    [OAK-2889] - Ignore "order by jcr:score desc" in the query engine
> +    (for "union" queries)
> +    [OAK-2893] - RepositoryUpgrade.copy() should optionally continue
> +    on errors.
> +    [OAK-2895] - Avoid accessing binary content if the mimeType is
> +    excluded from indexing
> +    [OAK-2897] - Regression - lookupOnValidate does not work
> +    [OAK-2898] - DataStoreBlobStore should expose a buffer input
> +    stream for getInputStream call
> +    [OAK-2899] - Update to Jackrabbit 2.10.1
> +    [OAK-2908] - infrastructure for running longevity tests
> +    [OAK-2912] - Clear the modified and deleted map in PermissionHook
> +    after processing is complete
> +    [OAK-2917] - Allow skipping of the baseline check when tests are
> +    skipped
> +    [OAK-2924] - DocumentNodeStore background update thread handling
> +    of persistence exceptions
> +    [OAK-2927] - ReferenceEditor newIds consuming lots of memory
> +    during migration
> +    [OAK-2939] - Make compaction gain estimate more accurate
> +    [OAK-2945] - Sampling rate feature CompactionGainEstimate is not
> +    efficient
> +    [OAK-2946] - Sampling rate feature CompactionGainEstimate is not
> +    efficient
> +    [OAK-2948] - Expose DefaultSyncHandler
> +    [OAK-2955] - Extend ACL-level principal validation for configured
> +    administrative principals
> +    [OAK-2956] - NPE in UserImporter when importing group with
> +    modified authorizable id
> +    [OAK-2957] - LIRS cache: config options for segment count and
> +    stack move distance
> +    [OAK-2971] - DocumentNodeStore thread names should carry the
> +    clusterNodeId
> +    [OAK-2977] - Fast result size estimate: OSGi configuration
> +    [OAK-2978] - ContentSession: Populate AuthInfo from Subject
> +    [OAK-2983] - Permissions lack WRITE
> +    [OAK-2992] - TokenProvider: Make reset of token expiration
> +    configurable
> +    [OAK-2994] - AbstractSecurityTest#getUserManager(Root) doesn't
> +    create new instances
> +    [OAK-2996] - Improvement wrt property states of type Type.LONG and
> +    Type.LONGS
> +    [OAK-2998] - Postpone calculation of effective principals to
> +    LoginModule.commit
> +    [OAK-3003] - Improve login performance with huge group membership
> +    [OAK-3005] - OSGI wrapper service for Jackrabbit CachingFDS
> +    [OAK-3006] - Remove workaround added for OAK-1404
> +    [OAK-3011] - Add name of lucene-property index to cost debug log
> +    [OAK-3017] - Log message when a branch is created
> +    [OAK-3024] - NodeStoreFixture: add "getName()" for diagnostics,
> +    allow config of RDB JDBC connection
> +    [OAK-3025] - add test case simulating batched import of nodes
> +    [OAK-3030] - Separate defaults for server config from search /
> +    indexing config
> +    [OAK-3042] - Suspend commit on conflict
> +    [OAK-3043] - Provide item path with InvalidItemStateException
> +    [OAK-3048] - Enable lookup of OSGi configuration from framework
> +    first and component next
> +    [OAK-3050] - Move oak-it-osgi to top level
> +    [OAK-3051] - Improve compaction gain estimation logging for the
> +    case where there are no tar readers
> +    [OAK-3054] - IndexStatsMBean should provide some details if the
> +    async indexing is failing
> +    [OAK-3055] - Improve segment cache in SegmentTracker
> +    [OAK-3057] - Simplify debugging conflict related errors
> +    [OAK-3066] - Persistent cache for previous documents
> +    [OAK-3069] - Provide option to eagerly copy the new index files in
> +    CopyOnRead
> +    [OAK-3071] - Add a compound index for _modified + _id
> +    [OAK-3073] - Make preftech of index files as default option
> +    [OAK-3074] - FileStore.size doesn't throw IOException but declares
> +    it as thrown
> +    [OAK-3076] - Compaction should trace log the current processed
> +    path
> +    [OAK-3078] - AccessControlAction: Omit setup for administrative
> +    principals
> +    [OAK-3085] - Add timestamp property to journal entries
> +    [OAK-3086] - [oak-mongo.js] Generate mongoexport command to get a
> +    slice of oplog entries
> +    [OAK-3088] - IndexUpdate reports at debug level quite verbose
> +    [OAK-3092] - Cache recently extracted text to avoid duplicate
> +    extraction
> +    [OAK-3094] - Potential ClassCastException with LIRS cache builder
> +    [OAK-3097] - CacheStats should extend from AnnotatedStandardMBean
> +    [OAK-3100] - Filter ACEs when retrieving effective policies for
> +    principals
> +    [OAK-3107] - SegmentWriter should be able to store blob IDs longer
> +    than 4096 bytes
> +    [OAK-3113] - ColdStandby should provide sync start and end
> +    timestamps
> +    [OAK-3120] - Contribute blog posts about FileStore to official
> +    documentation
> +    [OAK-3125] - Skip compaction estimation if threshold is 0
> +    [OAK-3129] - SolrQueryIndex making too many Solr requests per jCR
> +    query
> +    [OAK-3133] - Make compaction map more efficient for offline
> +    compaction
> +    [OAK-3135] - Solr index should not be used for path/pt
> +    restrictions only
> +    [OAK-3142] - All children path and primary type restrictions
> +    should be converted to filter queries
> +    [OAK-3144] - Support multivalue user properties for Ldap users
> +    [OAK-3145] - Allow plugging in additional jcr-descriptors
> +    [OAK-3146] - ExternalLoginModuleFactory should inject SyncManager
> +    and ExternalIdentityProviderManager
> +    [OAK-3147] - Make it possible to collapse results under
> +    jcr:content nodes
> +    [OAK-3153] - Make it possible to disable recording of stack trace
> +    in SessionStats
> +    [OAK-3159] - Extend documentation for SegmentNodeStoreService in
> +    http://jackrabbit.apache.org/oak/docs/osgi_config.html#SegmentNodeStore
> +    [OAK-3160] - Implement Session.hasPermission(String, String...)
> +    and support for additional actions
> +    [OAK-3163] - Improve binary comparison during repeated upgrades
> +    [OAK-3165] - Redundant test for duplicate membership in
> +    Group.addMember
> +    [OAK-3166] - Apply adjustments for newly exported
> +    JackrabbitSession#getItemOrNull
> +    [OAK-3172] - Unreleased closed sessions can keep a root reference
> +    from getting collected
> +    [OAK-3174] - [Blob GC] Make actual deletion of blobs synchronous
> +    [OAK-3175] - Lower log level for "Skipping closed tar file ..." to
> +    debug
> +    [OAK-3177] - Compaction slow on repository with continuous writes
> +    [OAK-3178] - Update jackrabbit version to 2.11.0
> +    [OAK-3182] - Add documentation on how to work with Git
> +    [OAK-3183] - [Blob GC] Improvements/tools for blob garbage
> +    collection
> +    [OAK-3202] - Restrict the bundles pickedup by PojoSR while running
> +    the testcase
> +    [OAK-3203] - Make shutdown in PojoSR wait for framework shutdown
> +    [OAK-3204] - oak-core version diagnostics
> +    [OAK-3212] - Improve error message upon attempt to create
> +    user/group outside configured root
> +    [OAK-3224] - Remove unused DocumentMK.splitDocumentAgeMillis
> +    [OAK-3226] - Remove unused code in DocumentNodeStore
> +    [OAK-3227] - The DiffIndex relies on implementation details
> +    [OAK-3229] - Log initialization of the cache and the persistent
> +    cache
> +    [OAK-3238] - fine tune clock-sync check vs lease-check settings
> +    [OAK-3247] - DocumentNodeStore.retrieve() should not throw
> +    IllegalArgumentException
> +    [OAK-3251] - speeding up the build time
> +    [OAK-3252] - make AbstractQueryTest#test() reflects real file
> +    paths
> +    [OAK-3253] - Support caching in FileDataStoreService
> +    [OAK-3254] - Log expensive NodeDocument.getNewestRevision() call
> +    [OAK-3257] - speed up BasicDocumentStoreTest
> +    [OAK-3258] - Async index should change thread name to improve log
> +    readability
> +    [OAK-3259] - Optimize NodeDocument.getNewestRevision()
> +    [OAK-3263] - Support including and excluding paths for
> +    PropertyIndex
> +    [OAK-3273] - ColdStandby make sync start and end timestamp updates
> +    atomic
>      [OAK-3274] - DefaultSyncConfigImpl: add information to
>      "user.membershipExpTime" about minimum expiration time
> +    [OAK-3288] - clarify DocumentStore contract with respect to number
> +    formats
> +    [OAK-3290] - Revision gc blocks repository shutdown
> +    [OAK-3291] - Add capability to LogLevelModifier to add a log
> +    appender for a test case
> +    [OAK-3293] - SegmentOverflowExceptionIT runs forever unless it
> +    fails
> +    [OAK-3294] - Read-only live FileStore implementation
> +    [OAK-3296] - Oak Explorer support for live read-only store
> +    [OAK-3298] - Allow to specify LogDumper's log buffer size
> +    [OAK-3299] - SNFE in SegmentOverflowExceptionIT
> +    [OAK-3300] - Include parameter descriptions in test output when
> +    running parameterised tests
> +    [OAK-3321] - Embed Jackson dependencies in the oak-remote bundle
> +    [OAK-3322] - Change activation policy of RemoteServletRegistration
> +    [OAK-3329] - TarMK cleanup blocks writers
> +    [OAK-3330] - FileStore lock contention with concurrent writers
> +    [OAK-3331] - Support spellchecking multiple words
> +    [OAK-3347] - Ineffective cleanup after compaction due to
> +    references to root
> +    [OAK-3357] - detail: use Number instead of Long/Integer
> +    [OAK-3358] - Make SecurityProviderImpl independent from OSGi
> +    [OAK-3359] - Compactor progress log
> +    [OAK-3361] - Reduce PerfLogger isDebugEnabled overhead
> +    [OAK-3365] - Wording in Log statements inconsistent
> +    [OAK-3370] - Use SegmentNodeStore instead of MemoryNodeStore in
> +    CopyVersionHistoryTest
> +    [OAK-3372] - Collapsing external events in BackgroundObserver even
> +    before queue is full leads to JournalEntry not getting used
> +    [OAK-3379] - Oak run should use InMemoryCompactionMap by default
> +    [OAK-3384] - Revisit PartialCompactionMapTest
> +    [OAK-3397] - stop oak-core bundle on lease failure
> +    [OAK-3398] - make lease update more robust
> +    [OAK-3399] - 5sec retry loop before declaring lease failure (was:
> +    as a last resort try to update it there)
> +    [OAK-3407] - Configuration to pass suggestion fields through
> +    analyzer
> +    [OAK-3409] - CompositeRegistration.unregister diagnostics not
> +    helpful
> +    [OAK-3425] - Improve DocumentNodeStore startup/shutdown
> +    diagnostics
> +    [OAK-3435] - LastRevRecoveryAgent/MissingLastRevSeeker
> +    improvements
> +    [OAK-3436] - Prevent missing checkpoint due to unstable topology
> +    from causing complete reindexing
> +    [OAK-3440] - MemoryNodeBuilder creates superfluous instances of
> +    ConnectedHead
> +    [OAK-3441] - SecurityProviderImpl should not be an OSGi component
> +    [OAK-3448] - Update jackrabbit version to 2.11.1
> +    [OAK-3449] - DocumentNodeStore support for predefined clusterIds
> +    should use ClusterNodeInfos
> +    [OAK-3454] - Improve the logging capabilities of offline
> +    compaction
> +    [OAK-3455] - Improve conflict exception message
> +    [OAK-3460] - Progress logging for RepositorySidegrade
> +    [OAK-3461] - Run m-bundle-p:baseline before integration tests
> +    [OAK-3462] - Add a build profile for building the project in the
> +    fastest way possible
> +    [OAK-3465] - Move ContinuousRevisionGCTest to benchmark package
> +    [OAK-3469] - Fix naming in oak-upgrade
> +    [OAK-3471] - Avoid reflection in DocumentDiscoveryLiteServiceTest
> +    [OAK-3475] - Confusing SNFE whith oak-run debug
> +    [OAK-3477] - Make JMX Bean names predictable so they can be used
> +    in configurations.
> +    [OAK-3479] - Add generation info to compaction map
> +    [OAK-3484] - Oak Explorer: add property type to reference output
> +    [OAK-3485] - FileStoreIT cleanup after tests
> +    [OAK-3486] - Wrong evaluation of NOT NOT clause (see OAK-3371)
> +    [OAK-3489] - DocumentStore: introduce a "NotEquals" condition
> +    [OAK-3494] - MemoryDiffCache should also check parent paths before
> +    falling to Loader (or returning null)
> +    [OAK-3497] - Remove DocumentNodeStore.diff()
> +    [OAK-3501] - PersistedCompactionMap could release reference to
> +    records early
> +    [OAK-3502] - Improve logging during cleanup
> +    [OAK-3503] - Upgrade Maven Bundle Plugin to 3.0.0
> +    [OAK-3504] - CopyOnRead directory should not schedule a copy task
> +    for non existent file
> +    [OAK-3505] - Provide an optionally stricter policy for missing
> +    synchronous index editor providers
> +    [OAK-3506] - Uniformization of compaction log messages
> +    [OAK-3508] - External login module should reduce LDAP lookups for
> +    pre-authenticated users
> +    [OAK-3509] - Lucene suggestion results should have 1 row per
> +    suggestion with appropriate column names
> +    [OAK-3518] - Consistently add annotations to DefaultSync* classes
> +    [OAK-3519] - Some improvement to SyncMBeanImpl
> +    [OAK-3527] - Improve logging for blob GC
> +    [OAK-3528] - Unchecked assignements in calls to performVoid()
> +    [OAK-3529] - NodeStore API should expose an Instance ID
> +    [OAK-3531] - Oak Explorer: add segment GC roots report
> +    [OAK-3533] - Make it possible to disable
> +    LuceneIndexProviderService via OSGi configuration
> +    [OAK-3537] - Move the Segment Store to its own bundle
> +    [OAK-3539] - Document interface should have entrySet() in addition
> +    to keySet()
> +    [OAK-3544] - o.a.j.o.api should not depend on Guava
> +    [OAK-3545] - Refactor tree type information into plugins/tree
> +    package
> +    [OAK-3546] - Improve ObservationManagerImpl timeout message
> +    [OAK-3548] - Improve permission evaluation for version store items
> +    [OAK-3554] - Use write concern of w:majority when connected to a
> +    replica set
> +    [OAK-3555] - Remove usage of deprecated mongo-java-driver methods
> +    [OAK-3565] - Use DocumentStore.create() for new previous documents
> +    [OAK-3568] - Oak Explorer: add persisted compaction map size
> +    [OAK-3572] - enhance logging in TypeEditorProvider
> +    [OAK-3576] - Allow custom extension to augment indexed lucene
> +    documents
> +    [OAK-3577] - NameValidator diagnostics could be more helpful
> +    [OAK-3580] - Make it possible to use indexes for providing
> +    excerpts
> +    [OAK-3581] - Increase tracked info on Lucene index closing
> +    [OAK-3587] - SegmentNodeStore stricter checkpoint creation policy
> +    [OAK-3588] - SegmentNodeStore allow tweaking of lock fairness
> +    [OAK-3593] - improvements to plugins/tree
> +    [OAK-3594] - Consider using LuceneDictionary in suggester
> +    [OAK-3596] - Allow specific OSGi reference for atomic counter
> +    provider
> +    [OAK-3607] - Enable caching of extracted text by default
> +    [OAK-3614] - Effective policies must depend on evaluation being
> +    enabled
> +    [OAK-3615] - Add initial capacity to StringBuilder used to
> +    calculate path of a tree
> +    [OAK-3619] - Increase lock stripes in MongoDocumentStore
> +    [OAK-3622] - Expose sql2optimisation prop name as static final
> +    [OAK-3633] - Enable exclusion of relative property in aggregation
> +    [OAK-3636] - Change scope of json-simple from compile to test
> +    [OAK-3647] - enable OAK-1617 by default in trunk
> +    [OAK-3648] - Use StandardTokenizer instead of ClassicTokenizer in
> +    OakAnalyzer
> +    [OAK-3649] - Extract node document cache from Mongo and RDB
> +    document stores
> +    [OAK-3650] - Index based excerpt should be used for binaries
> +    [OAK-3665] - Oak Run TarMK revision diff
> +    [OAK-3677] - NodeStore.merge implementations throw ISE instead of
> +    IAE when passed a non root builder
> +    [OAK-3678] - Use stable reverse revision comparator in
> +    UpdateUtils.applyChanges()
> +    [OAK-3685] - Support S3DataSource as the migration source
> +    [OAK-3688] - Provide and use a default set of bundle filters
> +    [OAK-3702] - More resilient BackgroundThread implementation
> +    [OAK-3703] - Improve handling of IOException
> +    [OAK-3707] - Register composite commit hook with whiteboard
> +    [OAK-3713] - Remove dep cycle between
> +    plugins/tree/TreeTypeProvider and spi.security
> +    [OAK-3715] - SegmentWriter reduce buffer size for reading binaries
> +    [OAK-3718] - JCR observation should be visible in SessionMBean
> +    [OAK-3721] - Reduce code duplication in MembershipProvider
> +    [OAK-3727] - Broadcasting cache: auto-configuration
> +    [OAK-3728] - Document indexes in the index itself
> +    [OAK-3745] - Introduce an exception in the Content Repository API
> +    to represent an invalid state of the repository
> +    [OAK-3773] - Include segment information in Segment.toString
> +    [OAK-3791] - Time measurements for DocumentStore methods
> +    [OAK-3795] - FileStore#compact should throw ISE instead of IAE
> +    when no compaction strategy is set
> +    [OAK-3804] - Add tarmk revision recovery listing to oak-run
> +    [OAK-3805] - Add support for Metrics Histogram
> +    [OAK-3811] - Provide option to pass external data store to oak-run
> +    check
> +    [OAK-3812] - Disable compaction gain estimation if compaction is
> +    paused
> +    [OAK-3820] - Add inc and dec by specific size support in
> +    CounterStats
> +    [OAK-3825] - Including Resource name to suggestions
> +    [OAK-3829] - Expose BlobStore cache statistics
> +    [OAK-3830] - Provide size for properties for PropertyItearator
> +    returned in Node#getProperties(namePattern)
> +    [OAK-3831] - Allow relative property to be indexed but excluded
> +    from aggregation
> +    [OAK-3836] - Convert simple versionable nodes during upgrade
> +    [OAK-3841] - Change return type of Document.getModCount() to Long
> +    [OAK-3844] - Better support for versionable nodes without version
> +    histories
> +    [OAK-3847] - Provide an easy way to parse/retrieve facets
> +    [OAK-3850] - Collect and expose Persistent Cache stats
> +    [OAK-3853] - Improve SegmentGraph resilience
> +    [OAK-3854] - TarMK tools should check whether they run against a
> +    matching version of the repository
> +    [OAK-3857] - Simplify SegmentGraphTest
> +    [OAK-3861] - MapRecord reduce extra loop in MapEntry creation
> +    [OAK-3862] - Move integration tests in a different Maven module
> +    [OAK-3871] - ability to override
> +    ClusterNodeInfo#DEFAULT_LEASE_DURATION_MILLIS
> +    [OAK-3877] - PerfLogger should use System.nanoTime instead of
> +    System.currentTimeMillis
> +    [OAK-3885] - enhance stability of clusterNodeInfo's machineId
> +    [OAK-3890] - Robuster test expectations for FileStoreIT
> +    [OAK-3898] - Add filter capabilities to the segment graph run mode
> +    [OAK-3904] - Compaction Map predicate should use cached state for
> +    evaluation
> +    [OAK-3905] - configurable atomic counter task timeout
> +    [OAK-3907] - Sync the files to directory upon copy from remote
> +    [OAK-3915] - Include suggest directory size into lucene stats jmx
> +    [OAK-3918] - Include index details in exception thrown by
> +    OakDirectory
> +    [OAK-3921] - DataStoreBlobStore - Limit resolveChunks only to non
> +    inlined blobs
> +    [OAK-3931] - Identify own repository id in shared datastore gc
> +    stats
> +    [OAK-3935] - SharedDataStore - Allow unique repository ID to be
> +    specified by config
> +    [OAK-3936] - [oak-run] Option to dump blob references
> +    [OAK-3940] - SegmentMK FileStore should provide a listing of the
> +    successfully opened readers
> +    [OAK-3944] - OsgiWhiteboard should handle multiple unregister call
> +    [OAK-3953] - Switch S3DataStoreService to use oak-blob-cloud
> +    S3DataStore
> +    [OAK-3957] - Move the commands of oak-run in independent units
> +    [OAK-3958] - Split SegmentWriter records cache into 2: strings and
> +    templates
> +    [OAK-3964] - Add bulk createOrUpdate() to DocumentStoreStats
>      [OAK-3975] - Change DELETE_BATCH_SIZE to 100 (from 450), and make
>      it configurable
>      [OAK-3978] - Add segment size to segment graph
> @@ -68,21 +1405,229 @@ Improvement
>      discovery-lite
>      [OAK-4007] - "reset clusterId tool" in oak-run
>      [OAK-4008] - DataStoreBlobStore - Log blob deletion as info
> +    [OAK-4010] - Log major operation done in Oak via specific
> +    operation logger
>      [OAK-4013] - DataStoreTextWriter should not write on close when
>      running in readOnly mode
> +    [OAK-4022] - DocumentNodeStoreService journal write should log
> +    write failures
> +    [OAK-4025] - Reuse ExecutorUtils to shutdown ExecutorService
> +    [OAK-4027] - Support batch updates in Oracle
> +    [OAK-4035] - AsyncIndexUpdate should not log exception when its
> +    forcibly stopped
> +    [OAK-4037] - AccessControlValidator: include paths in
> +    AccessControlExceptions
> +    [OAK-4049] - Session mbean does not provide initStacktrace anymore
> +    [OAK-4056] - Remove deprecated (unused) fields from default schema
> +    [OAK-4060] - Allow use of pre extrcated text cache for incremental
> +    indexing
> +    [OAK-4071] - Include node path in VersionException
> +
> +New Feature
> +
> +    [OAK-104] - HTTP bindings for Oak
> +    [OAK-865] - Expose repository management data and statistics
> +    [OAK-1268] - Add support for composite authorization setup
> +    [OAK-1736] - Support for Faceted Search
> +    [OAK-1995] - Improved SegmentNodeStore documentation
> +    [OAK-2247] - CopyOnWriteDirectory implementation for Lucene for
> +    use in indexing
> +    [OAK-2445] - Password History Support
> +    [OAK-2507] - Truncate journal.log after off line compaction
> +    [OAK-2599] - Allow excluding certain paths from getting indexed
> +    for particular index
> +    [OAK-2619] - Repeated upgrades
> +    [OAK-2651] - [Oak API remoting] Manage SSL client connection
> +    [OAK-2652] - [Oak API remoting] Finalize http authentication
> +    [OAK-2812] - RevisionGC benchmark
> +    [OAK-2844] - Introducing a simple document-based discovery-light
> +    service (to circumvent documentMk's eventual consistency delays)
> +    [OAK-2882] - Support migration without access to DataStore
> +    [OAK-2892] - Speed up lucene indexing post migration by pre
> +    extracting the text content from binaries
> +    [OAK-2921] - Scalability tests for large read/write scenarios
> +    [OAK-2926] - Fast result size estimate
> +    [OAK-2954] - Add MBean to enforce session refresh on all open
> +    sessions
> +    [OAK-2980] - Fast result size estimate in Solr index
> +    [OAK-3052] - Make compaction gain estimate threshold configurable
> +    [OAK-3095] - Add eviction listener to LIRS cache
> +    [OAK-3122] - Direct copy of the chunked data between blob stores
> +    [OAK-3148] - Online migration process for the binaries
> +    [OAK-3170] - Implement Group extensions as proposed in JCR-3880
> +    [OAK-3185] - Port and refactor jackrabbit-webapp module to Oak
> +    [OAK-3239] - Port RepositoryUpgrade features to the
> +    RepositorySidegrade
> +    [OAK-3352] - Expose Lucene search score explanation
> +    [OAK-3457] - Multivalued restriction to limit effect of ACE to
> +    items with a given name
> +    [OAK-3472] - Run mode to identify blob garbage
> +    [OAK-3543] - Add ReadOnlyVersionManager.getVersionable
> +    [OAK-3550] - Add meta data to segments
> +    [OAK-3560] - Tooling for writing segment graphs to a file
> +    [OAK-3654] - Integrate with Metrics for various stats collection
> +    [OAK-3687] - Oak standalone application example based on Spring
> +    Boot
> +    [OAK-3806] - Collect and expose statistics related to BlobStore
> +    operations
> +    [OAK-3819] - Collect and expose statistics related to Segment
> +    FileStore operations
> +    [OAK-3970] - Utility methods for MongoDB indexes
> +
> +Story
> +
> +    [OAK-3694] - As a user, I want to know when a node that I've
> +    created has been indexed.
>
>  Task
>
> +    [OAK-1591] -
> +    org.apache.jackrabbit.oak.plugins.document.mongo.CacheInvalidationIT
> +    fails
> +    [OAK-1695] - Document Solr index
> +    [OAK-1743] - Cleanup documentation of _modCount
> +    [OAK-1956] - Set correct OSGi package export version
> +    [OAK-2185] - Fix intermittent failure in JaasConfigSpiTest
> +    [OAK-2290] - Switch default IndexFormatVersion to V2
> +    [OAK-2575] - Improve documentation for
> +    DocumentStore.invalidateCache
> +    [OAK-2623] - Add test for GC of previous docs of a deleted
> +    document
> +    [OAK-2677] - Set ProviderType and ConsumerType annotation on
> +    exported items
> +    [OAK-2678] - Update base version for checking proper package
> +    export versions
> +    [OAK-2697] - Retire oak-mk-api and oak-mk
> +    [OAK-2739] - take appropriate action when lease cannot be renewed
> +    (in time)
> +    [OAK-2767] - Enable a Jenkins matrix for the 1.2 branch
> +    [OAK-2802] - avoid NodeTypeDefDiff code duplication
> +    [OAK-2925] - Reorganise scalability classes
> +    [OAK-2935] - Update Sling Testing Mocks to 1.3.0
> +    [OAK-2936] - PojoSR should use Felix Connect API instead of pojosr
> +    [OAK-2937] - Remove code related to directmemory for off heap
> +    caching
> +    [OAK-2997] - Document mapping between built-in privileges and API
> +    calls + items
> +    [OAK-3041] - Baseline plugin suggests version increase for
> +    unmodified class
> +    [OAK-3059] - Manage versions of all exported packages
> +    [OAK-3077] - Skip maven deployment for oak-exercies
> +    [OAK-3111] - Enforce check for max node name length
> +    [OAK-3186] - Assign correct scope for various dependencies in
> +    oak-pojosr module
> +    [OAK-3188] - Make dependency on commons-dbcp as optional in
> +    oak-core
> +    [OAK-3216] - Specify version for findbug maven plugin
> +    [OAK-3223] - Remove MongoDiffCache
> +    [OAK-3267] - Add discovery-lite descriptor for segmentNodeStore
> +    [OAK-3278] - Move Utils.estimateMemoryUsage(String) to oak-commons
> +    [OAK-3308] - re-enable redirectTestOutputToFile in oak-core/pom
> +    [OAK-3364] - Remove empty directories under oak-it
> +    [OAK-3439] - MissingLastRevSeeker potential race condition
> +    acquiring the lock
> +    [OAK-3520] - Increase test coverage
> +    [OAK-3525] - Release Oak 1.3.9
> +    [OAK-3535] - Update jackrabbit version to 2.11.2
> +    [OAK-3564] - Release Oak 1.2.8
> +    [OAK-3569] - Bump mongo java driver version to 2.13.3
> +    [OAK-3575] - Release Oak 1.0.24
> +    [OAK-3599] - Release Oak 1.3.10
> +    [OAK-3609] - Enable CopyOnWrite by default
> +    [OAK-3611] - upgrade H2DB dependency to 1.4.190
> +    [OAK-3635] - DocumentStore: clarify which methods support checking
> +    conditions in UpdateOps, and enforce this in implementations
> +    [OAK-3651] - Remove HierarchicalCacheInvalidator
> +    [OAK-3667] - Refactor executor closing logic as a utility class
> +    [OAK-3669] - Update jackrabbit.version to regular non-snapshot
> +    version
> +    [OAK-3686] - Solr suggestion results should have 1 row per
> +    suggestion with appropriate column names
> +    [OAK-3704] - Keep track of nested CUGs
> +    [OAK-3705] - Change default of compaction.forceAfterFail to false
> +    [OAK-3708] - Update Oak to Jackrabbit 2.11.3
> +    [OAK-3719] - Test failure: ManyChildNodesTest
> +    [OAK-3720] - Update script console bundle version to 1.0.2
> +    [OAK-3734] - Release Oak 1.3.12
> +    [OAK-3735] - Release Oak 1.2.9
> +    [OAK-3747] - VersionGarbageCollectorIT: use name annotation for
> +    test parameters
> +    [OAK-3749] - Implement tooling for tracing a node through the
> +    revision history
> +    [OAK-3750] - BasicDocumentStoreTest: improve robustness of
> +    .removeWithCondition test
> +    [OAK-3755] - Remove the special in-place upgrade handling from
> +    oak-upgrade
> +    [OAK-3768] - Remove OrderedPropertyIndex support from trunk
> +    [OAK-3799] - Drop module oak-js
> +    [OAK-3803] - Clean up the fixtures code in core and jcr modules
> +    [OAK-3823] - Expose the count maintained by various stats
> +    [OAK-3824] - StatisticsProvider should provide a way to disable
> +    TimeSeries for certain metrics
> +    [OAK-3832] - Release Oak 1.3.13
> +    [OAK-3842] - Adjust package export declarations
> +    [OAK-3888] - Release Oak 1.3.14
> +    [OAK-3906] - NodeDocumentCache cleanup used inconsistently
> +    [OAK-3941] - Release Oak 1.3.15
> +    [OAK-3942] - Convert tests for TreeLocation and ImmutableTree to
> +    regular unit tests
>      [OAK-3946] - Document oak-authorization-cug
> +    [OAK-3947] - Document SecurityProviderRegistration
>      [OAK-3996] - Update Jackrabbit version to 2.12.0
>      [OAK-4002] - Consolidate maven-jar-plugin in oak-parent pom.xml
> +    [OAK-4019] - Release Oak 1.3.16
> +    [OAK-4070] - Refactor LuceneIndexEditorContext to allow for
> +    switchable clock for testing
> +    [OAK-4072] - Update Jackrabbit version to 2.12.1
> +    [OAK-4073] - Release Oak 1.4.0
>
>  Test
>
> +    [OAK-2545] - SegmentMk IT tests are too intensive
> +    [OAK-2742] - Add UserImport tests that run with a non-admin
> +    session
> +    [OAK-2764] - ExternalSharedStoreIT occasionally fails on travis
> +    [OAK-2790] - Remove ignored tests related to MicroKernel
> +    [OAK-2851] - Missing test dependency to jackrabbit-data tests
> +    artifact
> +    [OAK-3190] - Benchmark for adding group members
> +    [OAK-3277] - Turn VersionGarbageCollectorTest into an integration
> +    test
> +    [OAK-3292] - DocumentDiscoveryLiteServiceTest failures on travis
> +    and jenkins
> +    [OAK-3312] - [Blob GC] Test case for GC / OAK-3167
> +    [OAK-3326] - Remove System.out.println() in tests
> +    [OAK-3332] - Respect 'nsfixtures' in VersionGarbageCollectorIT
> +    [OAK-3334] - Disable lease check in VersionGarbageCollectorIT
> +    [OAK-3337] - CIHelper methods related to travis outdated
> +    [OAK-3353] - Enable
> +    ConcurrentConflictTest.concurrentUpdatesWithBranch()
> +    [OAK-3387] - Enable NodeLocalNameTest tests
> +    [OAK-3562] - Tests do not close MongoConnection
> +    [OAK-3570] - concurrentLoop(MongoDocumentStoreIT) test failures
> +    [OAK-3585] - Reduce memory usage of SegmentParserTest
> +    [OAK-3610] - BroadcastTest fails when connected with VPN client
> +    [OAK-3618] - Improve SetPropertyTest benchmark for concurrent
> +    execution
> +    [OAK-3643] - ConflictResolutionTest fails occasionally
> +    [OAK-3644] - Run tests with pedantic profile
> +    [OAK-3681] - SegmentSizeTest.testAccessControlNodes() and
> +    testNodeSize() fail
> +    [OAK-3754] - RepositoryStub does not dispose DocumentStore
> +    [OAK-3874] - DocumentToExternalMigrationTest fails occasionally
>      [OAK-3986] - simple performance regression IT (that would fail in
>      case commitRoots would not be purged)
>      [OAK-3998] - No SLF4J binding in oak-it
>
> +Wish
> +
> +    [OAK-2965] - Provide script for downloading staging artifacts
> +    [OAK-3415] - AccessControlValidator:
> +    checkValidAccessControlledNode should mention node name in error
> +    message
> +    [OAK-3467] - Tests slow after OAK-2171
> +    [OAK-3656] - Expose CommitHook as OSGi service
> +
>  In addition to the above-mentioned changes, this release contains
>  all changes included up to the Apache Jackrabbit Oak 1.2.x release.
>
>
>

Re: svn commit: r1733315 - /jackrabbit/oak/branches/1.4/RELEASE-NOTES.txt

Posted by Davide Giannella <da...@apache.org>.
On 03/03/2016 11:33, Julian Sedding wrote:
> Nitpick:
>
>> +Changes in Oak 1.2.0
> IMHO that should be "Changes in Oak 1.4.0"
>
> This probably doesn't warrant a re-release, but if there *is* a
> re-release due to OAK-4085[0] it would be nice to correct it.
>
It should have been "since" rather than "in".

Let's see.

Davide