Author: reschke
Date: Tue Jul 23 07:45:18 2019
New Revision: 1863610
URL: http://svn.apache.org/viewvc?rev=1863610&view=rev
Log:
OAK-8495: Release Oak 1.16.0 - Candidate Release Notes
Modified:
jackrabbit/oak/trunk/RELEASE-NOTES.txt
Modified: jackrabbit/oak/trunk/RELEASE-NOTES.txt
URL:
http://svn.apache.org/viewvc/jackrabbit/oak/trunk/RELEASE-NOTES.txt?rev=1863610&r1=1863609&r2=1863610&view=diff
==============================================================================
--- jackrabbit/oak/trunk/RELEASE-NOTES.txt (original)
+++ jackrabbit/oak/trunk/RELEASE-NOTES.txt Tue Jul 23 07:45:18 2019
@@ -1,4 +1,4 @@
-Release Notes -- Apache Jackrabbit Oak -- Version 1.14.0
+Release Notes -- Apache Jackrabbit Oak -- Version 1.16.0
Introduction
------------
@@ -7,7 +7,7 @@ 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.14.0 is an incremental feature release based
+Apache Jackrabbit Oak 1.16.0 is an incremental feature release based
on and compatible with earlier stable Jackrabbit Oak 1.x
releases. This release is considered stable and targeted for
production use.
@@ -15,207 +15,116 @@ production use.
The Oak effort is a part of the Apache Jackrabbit project.
Apache Jackrabbit is a project of the Apache Software Foundation.
-Changes in Oak 1.14.0
+Changes in Oak 1.16.0
---------------------
-Technical task
-
- [OAK-8201] - RDBDocumentStore in ReadOnly mode should never modify
- persistence
- [OAK-8251] - RDBBlobStore instantiated from ReadOnly
- DocumentNodeStore should never modify persistence
- [OAK-8257] - RDBDocumentStore: improve trace logging of batch
- operations
- [OAK-8273] - RDBDocumentStore: createOrUpdate with less than 3 ops
- suboptimal
- [OAK-8281] - Improve coverage for
- org.apache.jackrabbit.oak.security.authorization.composite
- [OAK-8307] - RDBDocumentStore: add DEBUG logging when fetching
- index metadata fails
- [OAK-8311] - RDBDocumentStore: allow to turn off RDB-specific
- MissingLastRevSeeker
- [OAK-8332] - update Tomcat JDBC dependency to 8.5.41
- [OAK-8337] - RDBDocumentStore: refactor index dumping code
- [OAK-8338] - RDBDocumentStoreJDBC: fix theoretically possible NPE
- in perflogging code
- [OAK-8340] - Document use of oak-run for RDB
- [OAK-8346] - RDBDocumentStore*: fix several potential but
- improbable NPEs
- [OAK-8349] - RDBDocumentStore*: "reset clusterId tool" in oak-run
- [OAK-8368] - RDBDocumentNodeStoreBuilder: refactor
- setRDBConnection for consistency
- [OAK-8371] - Stop using deprecated DocumentMK.Builder in RDB tests
- [OAK-8375] - DocumentNodeStoreBuilder should not instantiate
- BlobStore instance before "build()"
- [OAK-8378] - rdb/oak-run: update usage and documentation for
- garbage command
-
Bug
- [OAK-8139] - DocumentDiscoveryLiteService hasBacklog silencing
- must support maven version format
- [OAK-8149] - java 12 javadoc fails with "unknown tag" for OSGi
- version annotations in package-info
- [OAK-8166] - Index definition with orderable property definitions
- with and without functions breaks index
- [OAK-8187] - Respect service ranking with AuthorizableNodeName,
- AuthorizableActionProvider and RestrictionProvider
- [OAK-8199] - DocumentStore in ReadOnly mode should never modify
- persistence
- [OAK-8207] - Read-only DocumentNodeStore tries to create root
- document
- [OAK-8212] - ImporterImpl.importProperties prone to NPE
- [OAK-8214] - RDBDocumentStore may not inherit ReadOnly flag from
- DocumentNodeStore
- [OAK-8218] - ReadOnlyNodeTypeManager.isNodeType prone to NPE
- [OAK-8219] - Incorrect parent POM version in oak-doc and
- oak-doc-railroad-macro
- [OAK-8220] - CommitRootUpdateTest creates malformed value
- [OAK-8223] - javadoc-plugin fails with java11
- [OAK-8229] - LoginModuleImpl.commit will end in NPE if credentials
- are null
- [OAK-8231] - Unreachable code in LoginModuleImpl.getLoginId
- [OAK-8232] - Node#setPrimaryType(String) does not create child
- nodes defined as autoCreated
- [OAK-8246] - Test failure:
- NodeSetPrimaryTypeTest.testSetPrimaryType()
- [OAK-8258] - Active deletion can delete blobs despite indexing
- cycle deleting them failed
- [OAK-8261] - Indexing lane failing but the index is not marked
- corrupt
- [OAK-8266] - Redundant check for existing tree in
- CompiledPermissionImpl.buildVersionDelegatee
- [OAK-8272] - Orphaned branch commit entries after restart
- [OAK-8276] - OR-CompositeTreePermission.grantsPermission should
- loop over aggregates of supported permissions
- [OAK-8278] - RDBDataSourceFactory.CloseableDataSource doesn't
- implement java.sql.Wrapper correctly
- [OAK-8290] - Update org.apache.felix.framework for jdk13
- [OAK-8293] - PrincipalProviderImpl.findPrincipals my return null
- values in result iterator
- [OAK-8300] - Revision GC may remove previous document without
- removing reference
- [OAK-8306] - Empty PrincipalProvider cache breaks membership
- collection
- [OAK-8309] - SLOW_QUERY_COUNT don't get updated for each slow
- query.
- [OAK-8314] - BlobIds created with direct uploads lack length
- suffix
- [OAK-8324] - Missing NotNull annotation with
- AuthenticationConfiguration and LoginModuleStatsCollector
- [OAK-8369] - Misplace checkNotNull in CacheValidator
- [OAK-8372] - DeclaredMembershipPredicate contains redundant lookup
- of groupTree
- [OAK-8382] - release doesn't work any more for oak-run
+ [OAK-8271] - Lucene path transformed result doesn't accomodate wildcards
in relative path
+ [OAK-8351] - Long running RGC remove and getmore operations
+ [OAK-8364] - LastRevRecoveryAgent may log warn message for bundled node
+ [OAK-8383] - AccessControlValidator: check for duplicate ACE ignores
allow/deny status
+ [OAK-8388] - AccessControlManagerImpl.getEffectivePolicies(Set):
Insufficient validation of query results
+ [OAK-8389] - AccessControlValidator prone to NPE
+ [OAK-8394] - Fix BinaryAccessDSGCIT failing intermittently for Mongo
+ [OAK-8406] - AzurePersistence issues requests without timeout
+ [OAK-8410] - AzurePersistence throws an NPE when reacting to
RequestCompletedEvent
+ [OAK-8418] - User query fails if root tree is the search root
+ [OAK-8437] - direct children, exact, and parent path restrictions don't
work when path transformation takes place
+ [OAK-8439] - Broken links to JSR Specification/Javadoc
+ [OAK-8442] - AbstractCredentials.setAttributes sychronizes the wrong map
+ [OAK-8448] - VersionGC may get stuck at 60s scope
+ [OAK-8454] - SegmentNodeStoreRegistrar doesn't correctly set statistics
provider for the FileStore
+ [OAK-8455] - Memory Node store implementation of PropertyState throws
Exception that is not in line with the API documentation
+ [OAK-8457] - Constructor allows creating invalid path
+ [OAK-8459] - Intermittent issue with MongoStatusTest
+ [OAK-8463] - Fix merge in consistency check to allow paths suffixed to
blob ids
+ [OAK-8467] - broken version numbers for oak-doc and oak-doc-railroad-macro
+ [OAK-8472] - Typo in oak-run console refresh command help
+ [OAK-8473] - oak-run recovery fails with custom blob store
+ [OAK-8474] - oak-run revisions fails with custom blob store
+ [OAK-8476] - RDBVersionGCSupport returns incorrect value for "oldest
deleted document"
+ [OAK-8482] - Remove false positives of SNFE on azure execution time out
+ [OAK-8490] - FilterProviderImpl.getFilter may fail if principal cache
enabled
+ [OAK-8492] - PrincipalAccessControlList: misleading notnull annotation
with effective path param
New Feature
- [OAK-8146] - oak-run support for inspecting clusterNodeInfo
- [OAK-8243] - Expose the number of SNFEs as metric
- [OAK-8294] - Make it possible to mark a (customer) query as bad
- and skip it
- [OAK-8358] - oak-run check should have an option for specifying
- memory mapping
+ [OAK-7981] - Implement elastic search support based off of oak-search
+ [OAK-8155] - CompositePermissionProvider: add possibility to abort
evaluation
+ [OAK-8190] - Dedicated authorization for system users
+ [OAK-8366] - Add remote store monitoring for Azure
Improvement
- [OAK-7065] - Remove orphan file from local directory in case
- indexing fails
- [OAK-7691] - Remove deprecated ValueFactoryImpl methods
- [OAK-8141] - Replace String path with custom data type
- [OAK-8185] - Improve CompositeNodeStore fixture
- [OAK-8209] - Improve Node.isNodeType(String) performance
- [OAK-8215] - Use CacheLIRS as default
- [OAK-8216] - Consistently add nullability annotations with
- spi.nodetype package and implementation
- [OAK-8217] - Remove unused field
- DocumentNodeStoreBuilder#FAST_DIFF
- [OAK-8228] - Optimize PathUtils.dropIndexFromName(String)
- [OAK-8234] - Reduce object allocation in PermissionProviderImpl
- for admin sessions
- [OAK-8241] - Add benchmark for transient Node.setProperty()
- [OAK-8247] - Add non-admin mode for Node.isNodeType() benchmark
- [OAK-8249] - NodeImpl#isNodeType could load mixin info lazily
- [OAK-8256] - PrincipalManagerImplTest uses Guava beta methods
- [OAK-8263] - Simplify PermissionEntry.compareTo
- [OAK-8265] - Add nullable/notnull annotations to
- org.apache.jackrabbit.oak.security.authorization.permission.*
- [OAK-8269] - Improve readability of CompositePermissionProvider
- and CompositeTreePermission
- [OAK-8270] - Add variant of PermissionUtil.getReadOnlyTree that
- never returns null
- [OAK-8283] - Make LazyValue implement Supplier
- [OAK-8284] - Improvements to EntryPredicate
- [OAK-8301] - Ensure travis-ci uses trusty image
- [OAK-8304] - VersionablePathHook: Diff.setVersionablePath never
- results in CommitFailedException
- [OAK-8305] - Don't log a warning for queries that use
- "option(traversal fail)"
- [OAK-8308] - Unused Object methods in
- PermissionStoreEditor.AcEntry
- [OAK-8310] - Potentially misleading conflict exception message
- [OAK-8315] - Missing nullability annotations in package
- o.a.j.oak.security.authentication.token and
- o.a.j.oak.spi.security.authentication.token
- [OAK-8316] - Drop userId field in TokenLoginModule
- [OAK-8320] - Improve tests for
- o.a.j.oak.security.authentication.token package
- [OAK-8323] - Refactor redundant checks for null in TokenValidator
- [OAK-8354] - Fix/Add nullability annotations with
- o.a.j.oak.security.user package
- [OAK-8355] - AuthorizableImpl.isEveryone should not throw
- RepositoryException
- [OAK-8360] - UserAuthentication.authenticate: improve readability
- [OAK-8361] - Improve tests for o.a.j.oak.security.user package
- [OAK-8362] - UserImporter: redundant check for null principals
- [OAK-8363] - Remove obsolete comment
- [OAK-8365] - UserManagerImpl: unreacheable code when retrieving
- user/group from ID and tree
- [OAK-8370] - Simplify o.a.j.oak.security.user.Utils.getOrAddTree
- [OAK-8373] - UserPrincipalProvider: redundant test for null in
- ResultRowToPrincipal, EveryonePredicate
- [OAK-8379] - Improve tests for o.a.j.oak.security.authorization
+ [OAK-7254] - Indexes with excludedPaths, or includedPaths should not be
picked for queries without path
+ [OAK-7998] - [DirectBinaryAccess] Verify that binary exists in cloud
before creating signed download URI
+ [OAK-8321] - Use format specifier for log output
+ [OAK-8384] - Improve tests for
o.a.j.oak.security.authorization.accesscontrol
+ [OAK-8385] - Get rid of duplicated AcEntry/Entry in PermissionStoreEditor
and AccessControlValidator
+ [OAK-8386] - AccessControlValidator.checkValidAccessControlEntry:
redundant test for tree existence
+ [OAK-8390] - ACL.java : improve readability
+ [OAK-8392] - AcListComparator only compares path
+ [OAK-8401] - Expand security topic in side bar
+ [OAK-8403] - Improve tests for o.a.j.oak.security.privilege
+ [OAK-8408] - UserImporter must not trigger creation of rep:pwd node unless
included in xml (initial-pw-change)
+ [OAK-8419] - Improve tests for o.a.j.oak.security.user.query
+ [OAK-8420] - GroupPredicate: missing notnull annotations with constructor
+ [OAK-8423] - QueryUtil.getCollation should not throw RepositoryException
+ [OAK-8425] - Add QueryUtil.getID to extract ID from user/group
+ [OAK-8429] - oak-run check should expose repository statistics for the
last good revision
+ [OAK-8434] - LoginContextProviderImpl: missing tests for login with
configured provider name
+ [OAK-8441] - Improve tests for
org.apache.jackrabbit.oak.security.authorization.restriction
+ [OAK-8446] - Enable datastore consistency check after completion of
garbage collection
+ [OAK-8447] - Handle all available references in the DataStore when doing
consistency check
+ [OAK-8451] - GCMonitor: fix compiler warnings and Javadoc
+ [OAK-8453] - Refactor VersionGarbageCollector to extract Recommendations
class
+ [OAK-8462] - Adding / changing "useIfExists" should not cause reindex
+ [OAK-8466] - Old inactive clusterIds may trigger expensive recovery
Test
- [OAK-8353] - Additional test for OAK-8012
+ [OAK-8458] -
AsyncIndexUpdateCorruptMarkingTest#testLuceneIndexSegmentStats is flaky due to
race condition
Task
- [OAK-7902] - Update osgi-mock to 2.3.10
- [OAK-8197] - Update Oak 1.10 and trunk to Jackrabbit 2.18.1
- [OAK-8208] - oak-run/rdb: add --rdbtableprefix option
- [OAK-8235] - Upgrade Solr to version 6.6.6
- [OAK-8240] - Improve test coverage for
- org.apache.jackrabbit.oak.security.authorization.permission
- [OAK-8248] - Update Oak trunk and 1.10 to Jackrabbit 2.18.2
- [OAK-8277] - Run tests on travis-ci.org on MongoDB 4.0.x
- [OAK-8286] - Update jetbrains nullability annotations to 17.0.0
- [OAK-8295] - Update version of jackrabbit dependency
- [OAK-8296] - DocumentNodeStoreBranchesTest uses
- javax.annotation.Nonnull
- [OAK-8312] - MissingLastRevSeeker and NodeDocumentSweeper: improve
- progress logging
- [OAK-8317] - Move the version-related migration tools to the
- oak-core
- [OAK-8318] - Allow to close the SegmentStoreMigrator
- [OAK-8329] - update docker-junit-rule dependency
- [OAK-8331] - Update Tika dependency to 1.21
- [OAK-8334] - Update Jackson dependency to 2.9.9
- [OAK-8335] - get rid of junit deprecation warnings
- [OAK-8341] - Include tomcat-jdbc/juli in oak-run
- [OAK-8345] - oak-run: cleanup command list and documentation
- [OAK-8348] - Update surefire/failsafe dependencies to 2.22.2
- [OAK-8350] - Update animal-sniffer dependency to 1.18
- [OAK-8356] - Support append mode in the SegmentStoreMigrator
- [OAK-8357] - Support the truncate operation for the GCJournalFile
- [OAK-8376] - update commons-codec dependency to 1.12
- [OAK-8377] - Jacoco plugin: add PACKAGE based rules for security
- code
+ [OAK-7680] - oak-commons: upgrade to project default mockito version
+ [OAK-8213] - BlobStore instantiated from ReadOnly DocumentNodeStore should
never modify persistence
+ [OAK-8339] - Move jackrabbit-api project into Oak
+ [OAK-8344] - Expose local index directory size as a metric
+ [OAK-8405] - remove baseline comparisonVersion from POM
+ [OAK-8414] - Update jar-plugin dependency to 3.1.2
+ [OAK-8424] - Update jar-plugin dependency to version 3.1.1
+ [OAK-8427] - reactor pom: let assembly-plugin version default to what
parent specifies
+ [OAK-8428] - Update checkstyle-plugin dependency to version 3.1.0
+ [OAK-8430] - Update compiler-plugin dependency to version 3.8.1
+ [OAK-8431] - Update shade-plugin dependency to version 3.2.1
+ [OAK-8432] - Update war-plugin dependency to version 3.2.3
+ [OAK-8438] - Allow not to create blob container in AzureDataStore
+ [OAK-8449] - LastRev check/fix in DocumentNodeStore MBean
+ [OAK-8456] - Update httpclient/mime dependencies to 4.5.9
+ [OAK-8464] - Update javadoc-plugin to 3.1.1
+ [OAK-8478] - remove unneeded javadoc plugin version number from reactor pom
+ [OAK-8479] - update rat plugin to 0.13
+ [OAK-8486] - update jackson-databind dependency to 2.9.9.1
-Documentation
+Technical task
- [OAK-8322] - Create documentation for Oakathons
+ [OAK-8150] - RDB*Store: add Oracle specific documentation
+ [OAK-8226] - Documentation for principal-based authorization and
AggregationFilter
+ [OAK-8227] - Performance benchmarks
+ [OAK-8252] - MongoBlobStore instantiated from ReadOnly DocumentNodeStore
should never modify persistence
+ [OAK-8391] - Create AggregationFilter implementation
+ [OAK-8396] - documentation steps missing to run sweep on RDBDocumentStore
+ [OAK-8397] - maven-bundle-plugin: add export instructions with baseline
1.14
+ [OAK-8411] - RDBConnectionHandler: add minimal open connection stats in
TRACE log level
+ [OAK-8433] - Effective path must be an absolute path
+ [OAK-8435] - FilterProviderImpl must have ConfigurationPolicy set
+ [OAK-8445] - RDB documentation: minor fixes to documentation of
"revisions" command
+ [OAK-8468] - document RDB specific log messages
+ [OAK-8481] - RDB*Store: update postgresql jdbc driver reference to 42.4.6
+ [OAK-8483] - RDB*Store: update mysql jdbc driver reference to 8.0.16
+ [OAK-8485] - RDB*Store: update mssql jdbc driver reference to 7.2.2
In addition to the above-mentioned changes, this release contains all