Apache Jackrabbit Changelog

What's new in Apache Jackrabbit 2.16.3

Aug 3, 2018
  • Bug:
  • [JCR-4317] - davex remoting fails for non-ASCII characters in node names
  • [JCR-4324] - NPE on Version.getLinearPredecessor() implementation
  • Improvement:
  • [JCR-3211] - Support HTTP proxy in SPI2DAV
  • Task:
  • [JCR-4301] - get rid of JSR 305 dependency
  • [JCR-4302] - BTreeManager: fix Eclipse compiler error
  • [JCR-4304] - update Jetty to supported version 9.2.*
  • [JCR-4307] - Update animal-sniffer-maven-plugin to 1.16
  • [JCR-4318] - Update failsafe and surefire plugin versions to 2.22.0
  • [JCR-4320] - Update spotbugs plugin to 3.1.5
  • [JCR-4321] - Update maven plugins from org.apache.maven.plugins
  • [JCR-4322] - Consistent use of log4j versions
  • [JCR-4323] - webapp: update Tomcat dependency to 8.5.32
  • [JCR-4326] - Update aws java sdk version to 1.11.330 (consistent with Oak)
  • [JCR-4327] - Update httpcore dependency to 4.4.10
  • [JCR-4331] - Update httpclient dependency to 4.5.6
  • [JCR-4332] - Update httpmime dependency to 4.5.6
  • [JCR-4333] - Update javax.transaction dependency to 1.3
  • Sub-task:
  • [JCR-4306] - switch to findbugs replacement that is still maintained (spotbugs)
  • [JCR-4338] - avoid use of javax.rmi.PortableRemoteObject (removed in Java 11)

New in Apache Jackrabbit 2.12.2 (Jun 24, 2016)

  • Bug:
  • [JCR-3958] - Endless loop until async upload completes
  • [JCR-3965] - RepositoryStatistics is reset per second for bundle cache size which should not be the case for the bundle cache stats
  • Improvement:
  • [JCR-3971] - Make read-permission cache-size in CompiledPermissionsImpl configurable
  • [JCR-3972] - Make size of ID-cache in CachingHierarchyManager configurable
  • [JCR-3982] - Implement toString in TransactionContext (XidWrapper)

New in Apache Jackrabbit 2.11.0 (Aug 17, 2015)

  • Bug:
  • [JCR-3888] - Possible dead lock in SharedItemStateManager in clustered environment
  • Improvement:
  • [JCR-3874] - XML Configuration for ProtectedItemRemoveHandler implementations
  • [JCR-3880] - Allow to add/remove group members by ID
  • [JCR-3885] - Extend set of Actions in JackrabbitSession to reflect other operations than regular read/write
  • [JCR-3894] - Add PrincipalSetPolicy interface to Jackrabbit Security API

New in Apache Jackrabbit 2.10.1 (May 21, 2015)

  • Bug fixes:
  • [JCR-3853] JCR2SPI: Load ac provider resource
  • [JCR-3871] POI Vulnerabilities
  • [JCR-3872] Config DTD does not declare ProtectedItemImporter elements
  • [JCR-3873] CachingDataStore not safe against crashes, corrupted uploads file will prevent system startup
  • [JCR-3876] POM dependency to jackrabbit-data test-jar is not test-scoped
  • [JCR-3878] Fix test case failure in jackrabbit-data
  • [JCR-3883] Jackrabbit WebDAV bundle susceptible to XXE/XEE attack
  • Improvements:
  • [JCR-3864] CachingDatastore -cache file sizes to save remote call to remote datastore( S3DS)
  • [JCR-3868] Adapt TestCaseBase.java to test for FileDatastore
  • [JCR-3869] CachingDataStore for SAN or NFS mounted storage
  • [JCR-3879] Remove contention in AsyncUploadCache to improve performance
  • [JCR-3881] Change CachingFDS configuration properties
  • New Features:
  • [JCR-3836] Allow to get an Authorizable of a given type
  • Sub-tasks:
  • [JCR-3837] Add AuthorizableTypeException in user security API package

New in Apache Jackrabbit 2.10.0 (Mar 27, 2015)

  • Improvements:
  • [JCR-3803] Local cache contention lead to performance degradation
  • [JCR-3804] [jackrabbit-aws] Allow http communication to S3
  • [JCR-3810] StreamWrapper can attempt to reset other types of InputStreams
  • [JCR-3815] Local Cache Purge Cause Performance Issues
  • [JCR-3817] [jackrabbit-aws-ext] Performance of operation degrades while running DS GC
  • [JCR-3818] Use SimpleFSDirectory by default
  • [JCR-3825] Use RepositoryFactory for first hops
  • [JCR-3826] AbstractPrincipalProvider cachesize is not configurable
  • [JCR-3838] [aws-ext] Proactive & Asynchronous caching of binary when its metadata is accessed from S3
  • [JCR-3842] [jackrabbit-aws-ext] Support encryption in S3Datastore
  • [JCR-3843] [jackrabbit-aws-ext] Support S3 in Franfurt Datacenter
  • [JCR-3844] JcrRemotingServlet does not log full stacktrace
  • [JCR-3845] Have AuthorizableQueryManager Support Specifying Sort Ignore Case Mode
  • [JCR-3852] [jackrabbit-aws-ext] Refactor code to open S3 service & consolidate testcases
  • [JCR-3855] Make TimeSeriesAverage public
  • [JCR-3861] Update Oak dependency in webapp
  • Bug fixes:
  • [JCR-3274] jackrabbit-standalone-2.4.0.jar Populate does not work
  • [JCR-3805] LocalCache doesn't build up properly in JDK 7.
  • [JCR-3809] ConnectionHelper swallows exception when it fails to reset binary streams after a failed SQL statement execution
  • [JCR-3816] [aws-ext]S3DS not able update lastModified of record > 5GB
  • [JCR-3821] SeededSecureRandom thread can prevent Jackrabbit from shutting down
  • [JCR-3839] [aws-ext] Regression to JCR-3734 Slow local cache built-up time
  • [JCR-3840] NodeTypeDefDiff does not take same-name child type definitions into account
  • [JCR-3850] RepositoryStartupServlet constructs FileStore incorrectly
  • [JCR-3857] [jackrabbit-aws-ext] Correct typo in S3Constants
  • [JCR-3862] [FileDataStore]: deleteRecord leaves the parent directories empty
  • Tasks: [JCR-3830] Allow for privilege discovery in jcr-server
  • [JCR-3833] Compatibility with Java 8
  • Sub-tasks:
  • [JCR-2113] JSR 283 Access Control Management (JCR-2003 - JCR2SPI / SPI: Add support for JCR 2.0)

New in Apache Jackrabbit 2.9.1 (Feb 7, 2015)

  • Improvements:
  • [JCR-3803] Local cache contention lead to performance degradation
  • [JCR-3804] [jackrabbit-aws] Allow http communication to S3
  • [JCR-3810] StreamWrapper can attempt to reset other types of InputStreams
  • [JCR-3815] Local Cache Purge Cause Performance Issues
  • [JCR-3817] [jackrabbit-aws-ext] Performance of operation degrades while running DS GC
  • [JCR-3818] Use SimpleFSDirectory by default
  • [JCR-3825] Use RepositoryFactory for first hops
  • [JCR-3826] AbstractPrincipalProvider cachesize is not configurable
  • [JCR-3838] [aws-ext] Proactive & Asynchronous caching of binary when its metadata is accessed from S3
  • [JCR-3843] [jackrabbit-aws-ext] Support S3 in Franfurt Datacenter
  • [JCR-3844] JcrRemotingServlet does not log full stacktrace
  • [JCR-3845] Have AuthorizableQueryManager Support Specifying Sort Ignore Case Mode
  • Bug fixes:
  • [JCR-3274] jackrabbit-standalone-2.4.0.jar Populate does not work
  • [JCR-3805] LocalCache doesn't build up properly in JDK 7.
  • [JCR-3809] ConnectionHelper swallows exception when it fails to reset binary streams after a failed SQL statement execution
  • [JCR-3816] [aws-ext]S3DS not able update lastModified of record > 5GB
  • [JCR-3821] SeededSecureRandom thread can prevent Jackrabbit from shutting down
  • [JCR-3839] [aws-ext] Regression to JCR-3734 Slow local cache built-up time
  • [JCR-3840] NodeTypeDefDiff does not take same-name child type definitions into account
  • Tasks:
  • [JCR-3830] Allow for privilege discovery in jcr-server
  • [JCR-3833] Compatibility with Java 8
  • Sub-tasks:
  • [JCR-2113] JSR 283 Access Control Management (JCR-2003 - JCR2SPI / SPI: Add support for JCR 2.0)

New in Apache Jackrabbit 2.9.0 (Sep 2, 2014)

  • New Features:
  • [JCR-3797] Add path exclusion to JackrabbitEventFilter
  • [JCR-3802] User Management: API for System Users
  • Improvements:
  • [JCR-3766] Sync new IndexInfos file
  • [JCR-3777] Add simple allow/deny/clear convenience methods to ...
  • [JCR-3782] Backport OAK-1612, OAK-1615, OAK-1616
  • [JCR-3788] S3DataStore require to set endpoint for thirdparty cloud ...
  • [JCR-3801] Improve ListenerTracker output
  • Bug fixes:
  • [JCR-3235] ArrayIndexOfOufBounds in TargetImportHandler ...
  • [JCR-3368] CachingHierarchyManager: inconsistent state after transient ...
  • [JCR-3779] Node.getPath() returns inconsistent values depending on ...
  • [JCR-3783] Deadlock due to IOException in WorkspaceUpdateChannel ...
  • [JCR-3784] ReplacePropertyWhileOthersReadTest fails when run with ...
  • [JCR-3786] Incompatible CachingDataStore's path & FileDataStore's path ...
  • [JCR-3789] AccessControlUtils.clear should not retrieve applicable policies
  • [JCR-3796] TokenProvider.createToken is case sensitive

New in Apache Jackrabbit 2.8.0 (Jul 22, 2014)

  • New Features:
  • [JCR-3534] Efficient copying of binaries across repositories with ...
  • [JCR-3550] Methods for determining type of array of values
  • [JCR-3566] add TCK test for NaN and infinity double property values
  • [JCR-3634] New method: JackrabbitRepository.login(Credentials, ...
  • [JCR-3637] JackrabbitAccessControlEntry: Add support for multi-valued ...
  • [JCR-3641] AccessControl: provide ability to create ...
  • [JCR-3652] Bundle serialization broken
  • [JCR-3745] Add JackrabbitObservationManager with additional methods for ...
  • [JCR-3747] Implement JackrabbitObservationManager
  • Improvements:
  • [JCR-2029] JCR Remoting: Use DAV:lockroot to expose the lock-holding node
  • [JCR-3322] add TCK coverage of isNodeType(expandedName)
  • [JCR-3402] getSize() returning too many often -1
  • [JCR-3408] Query tests should avoid casting to QueryManagerImpl
  • [JCR-3495] Unregister from PrivilegeRegistry and NodeTypeRegistry on ...
  • [JCR-3507] Make it possible to remove version histories via the ...
  • [JCR-3513] Slower range query execution
  • [JCR-3516] Search index consistency check should report and fix wrong ...
  • [JCR-3517] Search index consistency check should be able to double ...
  • [JCR-3519] Disable IOCounters based on log level
  • [JCR-3524] Node type selection for reference constraint is not optimal
  • [JCR-3528] Node type selection for CanAddChildNodeCallWithNodeTypeTest#...
  • [JCR-3531] Borrow all available RepositoryHelpers
  • [JCR-3535] Davex remoting should support absolute path hrefs
  • [JCR-3537] Large number of SQL queries when adding nodes with version history
  • [JCR-3549] URIResolverImpl needs to handle absolute paths in addition ...
  • [JCR-3553] improve error logging for unexpected path formats
  • [JCR-3554] RepositoryService.getReferences needs to deal with absolute ...
  • [JCR-3559] RepositoryStubExceptions with root causes
  • [JCR-3571] Light optimization for CachingNameResolver.getJCRName(Name)
  • [JCR-3573] Improve token based login concurrency
  • [JCR-3574] Leverage WebDAV compliance class 3 to use absolute paths in ...
  • [JCR-3575] use absolute paths in WebDAV request bodies (DAV:href elements)
  • [JCR-3577] Allow creation of users with 'null' password
  • [JCR-3578] use absolute paths in DeltaV request bodies, and resolve hrefs ...
  • [JCR-3580] JcrPrivilegeReport needs to deal with both absolute paths and ...
  • [JCR-3583] UPDATE method needs to deal with both absolute paths and ...
  • [JCR-3587] RepositoryImpl should expose the collection of ..
  • [JCR-3591] Upgrade to latest Logback
  • [JCR-3596] Reduce level for 'overwriting cached item' log messages in ...
  • [JCR-3616] unit tests should use valid namespace names
  • [JCR-3620] JCA deployment descriptor for Apache Geronimo
  • [JCR-3625] make port number for webdav integration tests configurable
  • [JCR-3626] NodeTypeTest.getPrimaryItemName can get ssssslllllloooowwwww
  • [JCR-3628] Embed cause in org.apache.jackrabbit.core.SessionImpl#...
  • [JCR-3675] test cases for "similarly" named nodes, diagnostics for ...
  • [JCR-3676] Make QueryResultImpl#isAccessGranted proctected
  • [JCR-3686] Prevent removal/move of admin node
  • [JCR-3687] Backport improvements made to token based auth in OAK
  • [JCR-3690] Allow Node Type Registry subclasses to check for conflicting ...
  • [JCR-3705] Extract data store API and implementations from jackrabbit-core
  • [JCR-3708] More efficient node traversal during garbage collection in ...
  • [JCR-3720] Extract stats package from core to make it reusable
  • [JCR-3723] Add support for observation statistics to RepositoryStatistics
  • [JCR-3729] S3 Datastore optimizations
  • [JCR-3730] Use object keys to create partitions in S3 automatically
  • [JCR-3731] Multi-threaded migration of binary files from FileSystem to ...
  • [JCR-3732] Externalize S3 endpoints
  • [JCR-3733] Asynchronous upload file to S3
  • [JCR-3734] Slow local cache built-up time
  • [JCR-3742] Have DB related dependencies as optional in jackrabbit-data
  • [JCR-3748] Allow configuring S3Backend programatically
  • [JCR-3752] [jackrabbit-aws-ext] Upgrade to latest aws sdk version ( 1.7.3)
  • [JCR-3754] [jackrabbit-aws-ext] Add retry logic to S3 asynchronous ...
  • [JCR-3755] Export S3DataStore package to enable osgi resolution
  • [JCR-3759] Add noInternal flag to JackrabbitEventFilter
  • [JCR-3760] FileDataStore: reduce synchronization
  • [JCR-3775] Avoid lock contention in ISO8601.parse()
  • Bug fixes:
  • [JCR-1880] Same name sibling: Jackrabbit behaves differently when ...
  • [JCR-3228] WebDav/DavEx remoting throws workspace mismatch exceptions ...
  • [JCR-3276] JCA Adpater not handling transaction suspension correctly
  • [JCR-3364] Moving of nodes requires read access to all parent nodes of ...
  • [JCR-3382] ItemManager.getNode does not do a permission check when the ...
  • [JCR-3398] LOWER operand with nested LOCALNAME operand does not work ...
  • [JCR-3465] JcrUtils.getOrCreateByPath() creates a whole subtree instead ...
  • [JCR-3498] OUTER JOIN behavior is improperly excluding some values
  • [JCR-3512] DelayedDelete in MultiDatastore does not work correctly
  • [JCR-3518] Build fails on Mac OS + JDK 7
  • [JCR-3521] IllegalArgumentException thrown on a box running java7 with ...
  • [JCR-3523] Workspace.copy changes WeakReferences to References
  • [JCR-3539] NotQuery#advance (and for older versions skipTo) violates ...
  • [JCR-3540] locator for RootCollection generates a broken href when using ...
  • [JCR-3543] TCK does not allow a property to be re-bound to a different ...
  • [JCR-3545] unknown REPORT should cause status code 409/DAV:supported-report
  • [JCR-3547] Datastore GC doesn't reset updateModifiedDateOnAccess on datastore
  • [JCR-3551] DavEx cannot handle Double.NaN properties
  • [JCR-3552] Principal associated with Group does not update members
  • [JCR-3556] IndexingConfigurationImpl.getAggregateRules() should return ...
  • [JCR-3562] Adding a child node named {foo fails but bar} works
  • [JCR-3570] Make immediately Repository start configureable in ...
  • [JCR-3576] handle absolute paths in observation response bodies
  • [JCR-3581] Incorrect bitwise arithmetic in BitsetENTCacheImpl.BitsetKey...
  • [JCR-3582] Unable to create nodes with whitespace chars != ASCII SP
  • [JCR-3595] AbstractJournal logging is too verbose
  • [JCR-3601] AbstractJCRTest.cleanUpTestRoot() does not properly set ...
  • [JCR-3603] Index aggreate with property include does not speed up order by
  • [JCR-3604] NodeMixinUtil.getAddableMixinName() can return mixins ...
  • [JCR-3605] Possible Deadlock during TimeoutHandler is running
  • [JCR-3610] html excerpt broken when one of the indexed properties ...
  • [JCR-3617] Inconsistent CachingHierarchyManager under concurrent access
  • [JCR-3621] Race condition in MixinTest between event delivery and ...
  • [JCR-3629] [jcr2spi]RepositoryException lost in org.apache.jackrabbit....
  • [JCR-3630] XSS in DirListingExportHandler
  • [JCR-3631] SessionTest#hasCapability: missing save call
  • [JCR-3633] If header field sent with PROPFIND (for lock discovery)
  • [JCR-3635] Manually specified jcr:frozenUuid overwriting the one ...
  • [JCR-3639] VersionLabelTest adds label to root version
  • [JCR-3642] Ambiguous exception expectation in ...
  • [JCR-3645] LockManagerImpl do not prevent the internal PathMap in all ...
  • [JCR-3653] SessionState logs nano seconds but writes 'us'
  • [JCR-3654] Error MembershipCache if a group node contains MV property
  • [JCR-3655] Better Locking inside LockManagerImpl
  • [JCR-3656] improve error handling when shared node support is missing
  • [JCR-3658] MembershipCache not consistently synchronized
  • [JCR-3671] Config DTD doesn't allow ProtectedItemImporter
  • [JCR-3673] ChildAxisQuery#advance method results in ...
  • [JCR-3674] Unwarranted errors logged about nodetype registrations in ...
  • [JCR-3677] Invalid SQL2OrderByTest.testOrderByScore test case
  • [JCR-3678] MembershipCache max size is hard coded to 5000
  • [JCR-3682] Better Exception Handling in TransactionContext to handle ...
  • [JCR-3691] Search index consistency check logs unnecessary warnings for ...
  • [JCR-3692] MoveAtRootTest fails and is not included in test suite
  • [JCR-3697] UserManager not supported error when trying to remove Node ...
  • [JCR-3702] NPE if user w/o read permission on admin user node removes ...
  • [JCR-3709] DBDataStore updates 2 times the lastModified Date on touch ...
  • [JCR-3710] occasional test failures in TokenBasedAuthenticationTest
  • [JCR-3711] RepositoryChecker versioning cleanup may leave repaired node ...
  • [JCR-3718] Inconsistent Principal Validation between API and Import behavior
  • [JCR-3719] ReferenceBinaryTest does not run when running test suite
  • [JCR-3721] Slow and actively called NodeId.toString()
  • [JCR-3724] Increase the jcr-commons osgi package export versions
  • [JCR-3725] jackrabbit-aws-ext missing from the reactor pom
  • [JCR-3726] DavEx should always use multipart POST to bypass potential ...
  • [JCR-3728] AbstractAccessControlEntryImpl: add proper implementation ...
  • [JCR-3743] failing test if aws extensions
  • [JCR-3744] missing test of ordering in VersionHistory for linear ...
  • [JCR-3751] S3Backend fails to initializate from file system based ...
  • [JCR-3761] TokenInfo#resetExpiration always fails with ...
  • [JCR-3770] refine validateHierarchy check in order to avoid false-positives
  • [JCR-3771] Pending async uploads fails to get uploaded on restart.
  • [JCR-3772] Local File cache is not reduced to zero size after ...
  • [JCR-3773] Lucene ConsistencyCheck reports nodes under jcr:nodeTypes ...

New in Apache Jackrabbit 2.7.5 Unstable (Mar 18, 2014)

  • New Features:
  • [JCR-3745] Add JackrabbitObservationManager with additional methods for registering event listeners
  • [JCR-3747] Implement JackrabbitObservationManager
  • Improvements:
  • [JCR-3729] S3 Datastore optimizations
  • [JCR-3730] Use object keys to create partitions in S3 automatically
  • [JCR-3731] Multi-threaded migration of binary files from FileSystem to S3 datastore
  • [JCR-3732] Externalize S3 endpoints
  • [JCR-3733] Asynchronous upload file to S3
  • [JCR-3734] Slow local cache built-up time
  • [JCR-3742] Have DB related dependencies as optional in jackrabbit-data
  • [JCR-3748] Allow configuring S3Backend programatically
  • Bug fixes:
  • [JCR-3721] Slow and actively called NodeId.toString()
  • [JCR-3724] Increase the jcr-commons osgi package export versions
  • [JCR-3725] jackrabbit-aws-ext missing from the reactor pom
  • [JCR-3726] DavEx should always use multipart POST to bypass potential form-size restrictions
  • [JCR-3728] AbstractAccessControlEntryImpl: add proper implementation for getRestrictions
  • [JCR-3744] missing test of ordering in VersionHistory for linear version histories

New in Apache Jackrabbit 2.7.4 Unstable (Feb 11, 2014)

  • Improvements:
  • [JCR-3705] Extract data store API and implementations from jackrabbit-core
  • [JCR-3708] More efficient node traversal during garbage collection in binary focused Repository
  • [JCR-3720] Extract stats package from core to make it reusable
  • [JCR-3723] Add support for observation statistics to RepositoryStatistics
  • Bug fixes:
  • [JCR-3709] DBDataStore updates 2 times the lastModified Date on touch when GC is running
  • [JCR-3710] occasional test failures in TokenBasedAuthenticationTest
  • [JCR-3711] RepositoryChecker versioning cleanup may leave repaired node in invalid type state
  • [JCR-3718] Inconsistent Principal Validation between API and Import behavior
  • [JCR-3719] ReferenceBinaryTest does not run when running test suite

New in Apache Jackrabbit 2.6.5 (Dec 13, 2013)

  • Improvements:
  • [JCR-3690] Allow Node Type Registry subclasses to check for ...
  • Bug fixes:
  • [JCR-1880] Same name sibling: Jackrabbit behaves differently when
  • [JCR-3364] Moving of nodes requires read access to all parent nodes
  • [JCR-3603] Index aggreate with property include does not speed up
  • [JCR-3653] SessionState logs nano seconds but writes 'us'
  • [JCR-3654] Error MembershipCache if a group node contains MV property
  • [JCR-3682] Better Exception Handling in TransactionContext to handle
  • [JCR-3691] Search index consistency check logs unnecessary warnings

New in Apache Jackrabbit 2.7.3 Unstable (Dec 9, 2013)

  • Improvements:
  • [JCR-3690] Allow Node Type Registry subclasses to check for conflicting content
  • Bug fixes:
  • [JCR-3691] Search index consistency check logs unnecessary warnings for repairable errors
  • [JCR-3692] MoveAtRootTest fails and is not included in test suite
  • [JCR-3697] UserManager not supported error when trying to remove Node in 2.7.2
  • [JCR-3702] NPE if user w/o read permission on admin user node removes any node

New in Apache Jackrabbit 2.7.2 Unstable (Nov 9, 2013)

  • New features:
  • [JCR-3641] AccessControl: provide ability to create JackrabbitAccessControlEntry with multi-valued restrictions
  • Improvements:
  • [JCR-3675] test cases for "similarly" named nodes, diagnostics for names not in NFC
  • [JCR-3686] Prevent removal/move of admin node
  • [JCR-3687] Backport improvements made to token based auth in OAK
  • Bug fixes:
  • [JCR-1880] Same name sibling: Jackrabbit behaves differently when calling Node.getPath()
  • [JCR-3364] Moving of nodes requires read access to all parent nodes of the destination node
  • [JCR-3582] Unable to create nodes with whitespace chars != ASCII SP
  • [JCR-3671] Config DTD doesn't allow ProtectedItemImporter
  • [JCR-3673] ChildAxisQuery#advance method results in IllegalArgumentException through #indexIsValid method
  • [JCR-3674] Unwarranted errors logged about nodetype registrations in a clustered environment
  • [JCR-3677] Invalid SQL2OrderByTest.testOrderByScore test case
  • [JCR-3678] MembershipCache max size is hard coded to 5000
  • [JCR-3682] Better Exception Handling in TransactionContext to handle unchecked exceptions

New in Apache Jackrabbit 2.6.4 (Oct 25, 2013)

  • Improvements:
  • [JCR-3676] Make QueryResultImpl#isAccessGranted proctected
  • Bug fixes:
  • [JCR-3582] Unable to create nodes with whitespace chars != ASCII SP
  • [JCR-3398] LOWER operand with nested LOCALNAME operand does not work ...
  • [JCR-3633] If header field sent with PROPFIND (for lock discovery)
  • [JCR-3635] Manually specified jcr:frozenUuid overwriting the one ...
  • [JCR-3645] LockManagerImpl do not prevent the internal PathMap in all ...
  • [JCR-3652] Bundle serialization broken
  • [JCR-3655] Better Locking inside LockManagerImpl
  • [JCR-3656] improve error handling when shared node support is missing
  • [JCR-3658] MembershipCache not consistently synchronized
  • [JCR-3665] Loading nodes in index and database consistency checkers ...
  • [JCR-3671] Config DTD doesn't allow ProtectedItemImporter
  • [JCR-3673] ChildAxisQuery#advance method results in IllegalArgument...
  • [JCR-3674] Unwarranted errors logged about nodetype registrations in ...
  • [JCR-3678] MembershipCache max size is hard coded to 5000
  • Security advisory:
  • As reported by Noel Dunne and Lars Krapf, there was a cross-site scripting (XSS) vulnerability in the jackrabbit-jcr-server component, used for providing WebDAV access to the repository. This release fixes the issue.

New in Apache Jackrabbit 2.7.1 Unstable (Oct 25, 2013)

  • New features:
  • [JCR-3534] Efficient copying of binaries across repositories with the same data store
  • [JCR-3634] New method: JackrabbitRepository.login(Credentials, Map)
  • [JCR-3637] JackrabbitAccessControlEntry: Add support for multi-valued restrictions
  • [JCR-3652] Bundle serialization broken
  • Improvements:
  • [JCR-2029] JCR Remoting: Use DAV:lockroot to expose the lock-holding node
  • [JCR-3322] add TCK coverage of isNodeType(expandedName)
  • [JCR-3408] Query tests should avoid casting to QueryManagerImpl
  • [JCR-3591] Upgrade to latest Logback
  • [JCR-3596] Reduce level for 'overwriting cached item' log messages in ItemManager
  • [JCR-3616] unit tests should use valid namespace names
  • [JCR-3620] JCA deployment descriptor for Apache Geronimo
  • [JCR-3625] make port number for webdav integration tests configurable
  • [JCR-3626] NodeTypeTest.getPrimaryItemName can get ssssslllllloooowwwww
  • [JCR-3628] Embed cause in org.apache.jackrabbit.core.SessionImpl#getNodeByIdentifier while rethrowing IllegalArgumentException
  • Bug fixes:
  • [JCR-3228] WebDav/DavEx remoting throws workspace mismatch exceptions when running on port 80
  • [JCR-3398] LOWER operand with nested LOCALNAME operand does not work with SQL2
  • [JCR-3498] OUTER JOIN behavior is improperly excluding some values
  • [JCR-3547] Datastore GC doesn't reset updateModifiedDateOnAccess on datastore
  • [JCR-3595] AbstractJournal logging is too verbose
  • [JCR-3601] AbstractJCRTest.cleanUpTestRoot() does not properly set testNodeType
  • [JCR-3603] Index aggreate with property include does not speed up order by
  • [JCR-3604] NodeMixinUtil.getAddableMixinName() can return mixins already inherited by the node
  • [JCR-3605] Possible Deadlock during TimeoutHandler is running
  • [JCR-3610] html excerpt broken when one of the indexed properties contains markup
  • [JCR-3617] Inconsistent CachingHierarchyManager under concurrent access
  • [JCR-3621] Race condition in MixinTest between event delivery and unregistering the observation listener
  • [JCR-3629] [jcr2spi]RepositoryException lost in org.apache.jackrabbit.jcr2spi.ItemManagerImpl while querying on remote nodes exposed by jackrabbit-spi
  • [JCR-3630] XSS in DirListingExportHandler
  • [JCR-3631] SessionTest#hasCapability: missing save call
  • [JCR-3633] If header field sent with PROPFIND (for lock discovery)
  • [JCR-3635] Manually specified jcr:frozenUuid overwriting the one assigned by the VersionManager when versioning node
  • [JCR-3639] VersionLabelTest adds label to root version
  • [JCR-3642] Ambiguous exception expectation in SessionMoveVersionExceptionTest and WorkspaceMoveVersionExceptionTest
  • [JCR-3645] LockManagerImpl do not prevent the internal PathMap in all relevant Methods
  • [JCR-3653] SessionState logs nano seconds but writes 'us'
  • [JCR-3654] Error MembershipCache if a group node contains MV property
  • [JCR-3655] Better Locking inside LockManagerImpl
  • [JCR-3656] improve error handling when shared node support is missing
  • [JCR-3658] MembershipCache not consistently synchronized

New in Apache Jackrabbit 2.6.3 (Aug 26, 2013)

  • Improvements:
  • [JCR-2029] JCR Remoting: Use DAV:lockroot to expose the lock-holding node
  • [JCR-3322] add TCK coverage of isNodeType(expandedName)
  • [JCR-3625] make port number for webdav integration tests configurable
  • [JCR-3626] NodeTypeTest.getPrimaryItemName can get ssssslllllloooowwwww
  • Bug fixes:
  • [JCR-3228] WebDav/DavEx remoting throws workspace mismatch exceptions ...
  • [JCR-3605] Possible Deadlock during TimeoutHandler is running
  • [JCR-3610] html excerpt broken when one of the indexed properties contains
  • [JCR-3617] Inconsistent CachingHierarchyManager under concurrent access
  • [JCR-3630] XSS in DirListingExportHandler

New in Apache Jackrabbit 2.6.0 (May 7, 2013)

  • New features:
  • [JCR-3233] Provide callback for consistency checker
  • [JCR-3255] Access cluster node id
  • [JCR-3389] Implement a MultiDataStore
  • [JCR-3420] Improving Jackrabbit integration within OSGi and other ...
  • [JCR-3443] Normalize String properties when ordering query results
  • Improvements:
  • [JCR-1873] It should be possible to define how hrefs are generated for WebDav
  • [JCR-3181] add test case for recovering from broken version history ...
  • [JCR-3191] Update commons-io dependency from versiom 1.4 to 2.0.1
  • [JCR-3209] lock token validity
  • [JCR-3212] add TCK test for Info map of NODE_MOVED event on node reordering
  • [JCR-3213] Speed up NodeIndexer.isIndexed() check
  • [JCR-3229] FileRevision should have a flag to control whether to sync ...
  • [JCR-3231] Replace BundleFsPersistenceManager with ...
  • [JCR-3232] Improve FileRevision extensibility
  • [JCR-3237] add missing name constants for mix:title
  • [JCR-3242] Update to Lucene 3.6
  • [JCR-3243] RepositoryStatistics should be more flexible
  • [JCR-3248] TimeoutHandler visitor should be extracted into a dedicated class
  • [JCR-3253] Set omit term freq positions flag on parent field in the index
  • [JCR-3254] make max size of CachingEntryCollector's cache configurable
  • [JCR-3259] augment logging information around CachingEntryCollector
  • [JCR-3263] Consistency checker performance improvements
  • [JCR-3265] Consistency checker should double check for false positives
  • [JCR-3269] Consistency checker should fix 'disconnected' nodes
  • [JCR-3275] Audit log
  • [JCR-3277] Let consistency report provide more information
  • [JCR-3280] SQL2 joins on empty sets are not efficient
  • [JCR-3282] Optimize usage of norms
  • [JCR-3286] InternalVersionManagerBase.calculateCheckinVersionName will ...
  • [JCR-3296] Indexing ignored file types creates some garbage
  • [JCR-3315] Add .gitignore file
  • [JCR-3319] Improve performance of repository updates - tweak index ...
  • [JCR-3327] Upgrade to Java SE 6
  • [JCR-3330] upgrade httpclient 3 dependency to final release 3.1
  • [JCR-3331] various tests do not compile with source==1.6
  • [JCR-3332] Add constructor with size argument to Node- and ...
  • [JCR-3339] Log stack trace with warn message in ObservationDispatcher
  • [JCR-3350] Easy-to-use utility class for adding ACEs to nodes
  • [JCR-3351] Add performance test setup for jr2.6
  • [JCR-3352] Minor improvements for collecting ACEs
  • [JCR-3356] performance tests
  • [JCR-3358] Allow null type in JcrUtils.getOrAddNode(parent, name, type)
  • [JCR-3362] Use a basic form for audit logs
  • [JCR-3365] Provide get property and get node utility methods in JcrUtils
  • [JCR-3369] Garbage collector improvements
  • [JCR-3370] TCK test for shareable node paths assumes work area
  • [JCR-3371] TCK test for shareable nodes incorrectly assumes the ...
  • [JCR-3376] TCK: SQLPathTest.testChildAxisRoot expects root node not ...
  • [JCR-3386] Adjust some default values of the BasicDataSource in the ...
  • [JCR-3392] Combine the XA aware (Reentrant) LockImpls to prevent ...
  • [JCR-3393] InternalVersionManagerBase.calculateCheckinVersionName may ...
  • [JCR-3395] separate entries used for permission eval from ACEs exposed ...
  • [JCR-3405] Improvements to user management implementation
  • [JCR-3406] Journal doUnlock sometimes not called on repository shutdown
  • [JCR-3418] CompactNodeTypeDefReader throws away exception information
  • [JCR-3426] Log warning when changes are performed with event ...
  • [JCR-3429] Make query tests (more) independent
  • [JCR-3442] Allow (override) access of the system search manager to ...
  • [JCR-3454] The RmiRepositoryFactory should handle auto reconnect
  • [JCR-3463] Configurable stopDelay
  • [JCR-3467] ConsistencyCheck.MissingAncestor#repair() should also log UUID
  • [JCR-3474] Add JackrabbitQueryResult.getTotalSize()
  • [JCR-3479] Remove logback log config from jr-core tests jar
  • [JCR-3480] Extend SaveTest#testConstraintViolationException to cover ...
  • [JCR-3490] More efficient node traversal during garbage collection
  • [JCR-3500] Upgrade to Tika 1.3
  • Bug fixes:
  • [JCR-861] Connector should support LocalTransaction as well as ...
  • [JCR-2662] JCR unit tests for journaled observation do not check ...
  • [JCR-2666] JCR TCK Test for Restoring Version Tests That Versionable ...
  • [JCR-3267] Consistency checker needs to run multiple times to fix all ...
  • [JCR-3050] NullPointerException on removing a node acquired from search ...
  • [JCR-3158] Deadlock in DBCP when accessing node
  • [JCR-3192] Javadoc in jackrabbit-jcr-rmi is missing an ending ">"
  • [JCR-3227] VolatileIndex not closed properly
  • [JCR-3234] QueryStat getPopularQueries doesn't set the proper position
  • [JCR-3236] Can not instantiate lucene Analyzer in SearchIndex
  • [JCR-3247] SQL2 ISDESCENDANTNODE BooleanQuery#TooManyClauses returns
  • [JCR-3250] webapp welcome page shows incorrect port when port is the ...
  • [JCR-3261] Problems with BundleDbPersistenceManager getAllNodeIds
  • [JCR-3266] JCR-SQL2 query with multiple columns in result only returns ...
  • [JCR-3268] Re-index fails on corrupt bundle
  • [JCR-3270] Error instantiating lucene search index in Turkish Regional ...
  • [JCR-3272] EventConsumer.canRead() should rely on AccessManager.isGranted()
  • [JCR-3289] Remove operation right after move operation causes missing ...
  • [JCR-3290] Concurrent add and move can cause inconsistency
  • [JCR-3291] Stack overflow in multi-session test with moves
  • [JCR-3292] Workspace move in concurrent environment causes inconsistencies
  • [JCR-3298] jackrabbit-core RepositoryChecker.fix() can fail with OOM
  • [JCR-3299] Adding new index infos generation is not atomic
  • [JCR-3300] tests should consistently check for repository support and ...
  • [JCR-3303] ClusterNode's stopDelay should default to something other zero
  • [JCR-3305] spi2davex.RepositoryServiceImpl -> idUriCache raises until ...
  • [JCR-3307] JCR test org.apache.jackrabbit.test.api.version....
  • [JCR-3312] AbstractSession.getItem should deal with identifier paths
  • [JCR-3313] JCR TCK Test for expanding column names is too restrictive
  • [JCR-3314] Drop commons-io dependency from spi-commons
  • [JCR-3316] invalid namespace URI in AbstractImportXmlTest
  • [JCR-3317] Set the MaxTotalConnections on ConnectionManager to prevent ...
  • [JCR-3318] BLOB not stored and no exception thrown
  • [JCR-3321] TCK: Strange XPath query in OrderByMultiTypeTest....
  • [JCR-3324] TCK: GetQueryTest.testGetQuery() unnecessarily uses a same ...
  • [JCR-3325] check-release script fails to compute hashes on Cygwin ...
  • [JCR-3326] missing test configuration for org.apache.jackrabbit.test....
  • [JCR-3328] leaking temp files
  • [JCR-3329] incorrect WebDAV PROPFIND response for version-controlled ...
  • [JCR-3334] incorrect logging template in CachingEntryCollector
  • [JCR-3337] Negated descendant node query with no results throws NPE
  • [JCR-3343] ClusterNode's updateCommited method throws NPE
  • [JCR-3345] ACL evaluation may return non-fresh results
  • [JCR-3346] JMX Popular Queries size issue
  • [JCR-3349] The BatchMode of the ConnectionHelper doesn't work in XA ...
  • [JCR-3353] A DeadLock can occur if an Exception is thrown while ...
  • [JCR-3354] The ReadWriteLock in AbstractJournal can create a Deadlock ...
  • [JCR-3355] Unable to create performance tests using JCR 2.0 API
  • [JCR-3262] Oracle JDBC Class Cast Exception
  • [JCR-3363] DataStore garbage collection: test case GarbageCollectorTest....
  • [JCR-3367] InMemBundlePersistenceManager#getAllNodeIds is not ...
  • [JCR-3373] ChildNodesQueryHits may throw IOException when the session ...
  • [JCR-3374] Size estimate for AbstractBundlePersistenceManager.MISSING ...
  • [JCR-3377] DataStore Temp-Files will not be deleted as side effect of ...
  • [JCR-3378] The ConnectionHelper can return a closed Connection in BatchMode
  • [JCR-3379] XA concurrent transactions - NullPointerException
  • [JCR-3380] TCK tests for shareable nodes assume moving shareable ...
  • [JCR-3383] Unclosed Resources in ConnectionHelper if ResultSet is null
  • [JCR-3384] TCK: BinaryPropertyTest.testGetLengthJcr2() fails with a ...
  • [JCR-3385] DbClusterTest fails when port is already in use
  • [JCR-3387] On heavy load we see occasional SQLException: closed ...
  • [JCR-3390] Reordering policy node fails with AccessDeniedException
  • [JCR-3399] Shared ISM does not release the internal Writelock if ...
  • [JCR-3401] Wrong results when querying with a DescendantSelfAxisQuery
  • [JCR-3404] AuthorizableImpl#isProtectedProperty doesn't include the ...
  • [JCR-3407] CaseTermQuery #rewrite behavior changes
  • [JCR-3410] JcrUtils.readFile() and JcrUtils.getLastModifed() are not ...
  • [JCR-3415] XPathQueryEvaluator generates incorrect XPath query
  • [JCR-3417] Failed Journal lock not propagated
  • [JCR-3419] Overwriting Cache Entry Warnings
  • [JCR-3425] XAAwareRWLock implementation fails with IllegalStateException ...
  • [JCR-3427] JCR-3138 may cause resource starvation
  • [JCR-3428] Partial search terms are no longer highlighted in the excerpts
  • [JCR-3430] CNDImporter should handle implied nt:base
  • [JCR-3434] EventJournal#skipTo() broken
  • [JCR-3435] NPE on parsing XPath query with child axis and star name at ...
  • [JCR-3437] The DbDataStore does not implement getRecordIfStored as ...
  • [JCR-3439] PrincipalManagerImpl.CheckedGroup should implement ...
  • [JCR-3440] Deadlock on LOCAL_REVISION table in clustering environment
  • [JCR-3445] PostgreSQL error with setValidationQueryTimeout
  • [JCR-3447] InternalValueFactory should use the DataStore whenever available
  • [JCR-3450] Reduce memory usage of SharedFieldCache.ValueIndex
  • [JCR-3452] Modified property and child node definition are rejected
  • [JCR-3455] Events should be dispatched after the global cluster lock is ...
  • [JCR-3459] RmiRepositoryFactory regression, invalid stream header
  • [JCR-3466] NPE in SingletonTokenStream
  • [JCR-3468] ConcurrentModificationException in BitSetENTCacheImpl
  • [JCR-3469] Thread interrupt may result in closed index files
  • [JCR-3472] LargeResultSetTest: queries don't return anything
  • [JCR-3476] NodeIndexer attempts to extract binary property even when ...
  • [JCR-3478] Partial search terms matching fails when there is a lot of ...
  • [JCR-3482] SetValueVersionExceptionTest makes assumption about ...
  • [JCR-3483] Result set iterator causes infinite loop when used after ...
  • [JCR-3485] The Datastore garbage collector does not work with a ...
  • [JCR-3486] Potential null pointer exception in session save operation
  • [JCR-3491] Start the Repository immediatly in JCA Environment
  • [JCR-3493] OUTER JOIN tests expect incorrect results
  • [JCR-3497] Invalid path in SaveTest#testRepositoryException
  • [JCR-3499] Test cases should not rely on equality of node types
  • [JCR-3501] When cancelling an update modcount of modified states must ...
  • [JCR-3502] Deleted states are not merged correctly
  • [JCR-3503] ConnectionHelper should not call isBatchMode() more times ...

New in Apache Jackrabbit 2.5.3 Unstable (Feb 1, 2013)

  • New features:
  • [JCR-3389] Implement a MultiDataStore
  • [JCR-3443] Normalize String properties when ordering query results
  • Improvements:
  • [JCR-3429] Make query tests (more) independent
  • [JCR-3442] Allow (override) access of the system search manager to ...
  • [JCR-3454] The RmiRepositoryFactory should handle auto reconnect
  • [JCR-3463] Configurable stopDelay
  • [JCR-3467] ConsistencyCheck.MissingAncestor#repair() should also log UUID
  • [JCR-3474] Add JackrabbitQueryResult.getTotalSize()
  • [JCR-3479] Remove logback log config from jr-core tests jar
  • [JCR-3480] Extend SaveTest#testConstraintViolationException to cover ...
  • [JCR-3490] More efficient node traversal during garbage collection
  • Bug fixes:
  • [JCR-861] Connector should support LocalTransaction as well as ...
  • [JCR-3305] spi2davex.RepositoryServiceImpl -> idUriCache raises until ...
  • [JCR-3425] XAAwareRWLock implementation fails with IllegalStateException ...
  • [JCR-3430] CNDImporter should handle implied nt:base
  • [JCR-3434] EventJournal#skipTo() broken
  • [JCR-3435] NPE on parsing XPath query with child axis and star name at ...
  • [JCR-3437] The DbDataStore does not implement getRecordIfStored as ...
  • [JCR-3439] PrincipalManagerImpl.CheckedGroup should implement ...
  • [JCR-3440] Deadlock on LOCAL_REVISION table in clustering environment
  • [JCR-3445] PostgreSQL error with setValidationQueryTimeout
  • [JCR-3447] InternalValueFactory should use the DataStore whenever available
  • [JCR-3450] Reduce memory usage of SharedFieldCache.ValueIndex
  • [JCR-3452] Modified property and child node definition are rejected
  • [JCR-3455] Events should be dispatched after the global cluster lock is ...
  • [JCR-3459] RmiRepositoryFactory regression, invalid stream header
  • [JCR-3466] NPE in SingletonTokenStream
  • [JCR-3468] ConcurrentModificationException in BitSetENTCacheImpl
  • [JCR-3469] Thread interrupt may result in closed index files
  • [JCR-3472] LargeResultSetTest: queries don't return anything
  • [JCR-3476] NodeIndexer attempts to extract binary property even when ...
  • [JCR-3478] Partial search terms matching fails when there is a lot of ...
  • [JCR-3482] SetValueVersionExceptionTest makes assumption about ...
  • [JCR-3483] Result set iterator causes infinite loop when used after ...
  • [JCR-3485] The Datastore garbage collector does not work with a ...
  • [JCR-3486] Potential null pointer exception in session save operation
  • [JCR-3491] Start the Repository immediatly in JCA Environment

New in Apache Jackrabbit 2.5.2 Unstable (Sep 25, 2012)

  • New features:
  • [JCR-3420] Improving Jackrabbit integration within OSGi and other ...
  • Improvements:
  • [JCR-3395] separate entries used for permission eval from ACEs exposed ...
  • [JCR-3405] Improvements to user management implementation
  • [JCR-3406] Journal doUnlock sometimes not called on repository shutdown
  • [JCR-3418] CompactNodeTypeDefReader throws away exception information
  • [JCR-3426] Log warning when changes are performed with event ...
  • Bug fixes:
  • [JCR-3401] Wrong results when querying with a DescendantSelfAxisQuery
  • [JCR-3404] AuthorizableImpl#isProtectedProperty doesn't include the ...
  • [JCR-3407] CaseTermQuery #rewrite behavior changes
  • [JCR-3410] JcrUtils.readFile() and JcrUtils.getLastModifed() are not ...
  • [JCR-3415] XPathQueryEvaluator generates incorrect XPath query
  • [JCR-3417] Failed Journal lock not propagated
  • [JCR-3419] Overwriting Cache Entry Warnings
  • [JCR-3427] JCR-3138 may cause resource starvation
  • [JCR-3428] Partial search terms are no longer highlighted in the excerpts

New in Apache Jackrabbit 2.5.1 (Sep 6, 2012)

  • Improvements:
  • [JCR-3242] - Update to Lucene 3.6
  • [JCR-3263] - Consistency checker performance improvements
  • [JCR-3265] - Consistency checker should double check for false positives
  • [JCR-3269] - Consistency checker should fix 'disconnected' nodes
  • [JCR-3319] - Improve performance of repository updates - tweak index 'deletes' creation
  • [JCR-3327] - Upgrade to Java SE 6
  • [JCR-3330] - upgrade httpclient 3 dependency to final release 3.1
  • [JCR-3331] - various tests do not compile with source==1.6
  • [JCR-3332] - Add constructor with size argument to Node- and PropertyIteratorAdapter
  • [JCR-3339] - Log stack trace with warn message in ObservationDispatcher
  • [JCR-3350] - Easy-to-use utility class for adding ACEs to nodes
  • [JCR-3351] - Add performance test setup for jr2.6
  • [JCR-3352] - Minor improvements for collecting ACEs
  • [JCR-3356] - performance tests
  • [JCR-3358] - Allow null type in JcrUtils.getOrAddNode(parent, name, type)
  • [JCR-3362] - Use a basic form for audit logs
  • [JCR-3365] - Provide get property and get node utility methods in JcrUtils
  • [JCR-3369] - Garbage collector improvements
  • [JCR-3370] - TCK test for shareable node paths assumes work area
  • [JCR-3371] - TCK test for shareable nodes incorrectly assumes the 'mix:shareable' mixin cannot be removed
  • [JCR-3376] - TCK: SQLPathTest.testChildAxisRoot expects root node not in result
  • [JCR-3386] - Adjust some default values of the BasicDataSource in the ConnectionFactory
  • [JCR-3392] - Combine the XA aware (Reentrant) LockImpls to prevent duplicate code
  • [JCR-3393] - InternalVersionManagerBase.calculateCheckinVersionName may fail with NPE on broken versioning persistence
  • Bug fixes:
  • [JCR-2666] - JCR TCK Test for Restoring Version Tests That Versionable Child Is also Restored, contrary to JCR 2.0 specification
  • [JCR-3267] - Consistency checker needs to run multiple times to fix all problems
  • [JCR-3313] - JCR TCK Test for expanding column names is too restrictive
  • [JCR-3318] - BLOB not stored and no exception thrown
  • [JCR-3321] - TCK: Strange XPath query in OrderByMultiTypeTest.testMultipleOrder
  • [JCR-3324] - TCK: GetQueryTest.testGetQuery() unnecessarily uses a same name sibling
  • [JCR-3325] - check-release script fails to compute hashes on Cygwin (conf'd to text mode)
  • [JCR-3326] - missing test configuration for org.apache.jackrabbit.test.api.version.RestoreTest.testRestoreNameJcr2()
  • [JCR-3328] - leaking temp files
  • [JCR-3329] - incorrect WebDAV PROPFIND response for version-controlled resources
  • [JCR-3334] - incorrect logging template in CachingEntryCollector
  • [JCR-3337] - Negated descendant node query with no results throws NPE
  • [JCR-3343] - ClusterNode's updateCommited method throws NPE
  • [JCR-3345] - ACL evaluation may return non-fresh results
  • [JCR-3346] - JMX Popular Queries size issue
  • [JCR-3349] - The BatchMode of the ConnectionHelper doesn't work in XA Environment
  • [JCR-3353] - A DeadLock can occur if an Exception is thrown while unlocking the Journal
  • [JCR-3354] - The ReadWriteLock in AbstractJournal can create a Deadlock in XA Environment
  • [JCR-3355] - Unable to create performance tests using JCR 2.0 API
  • [JCR-3363] - DataStore garbage collection: test case GarbageCollectorTest.testGC() is too lenient
  • [JCR-3367] - InMemBundlePersistenceManager#getAllNodeIds is not implemented correctly
  • [JCR-3373] - ChildNodesQueryHits may throw IOException when the session has limited access
  • [JCR-3374] - Size estimate for AbstractBundlePersistenceManager.MISSING is too low
  • [JCR-3377] - DataStore Temp-Files will not be deleted as side effect of JCR-3318
  • [JCR-3378] - The ConnectionHelper can return a closed Connection in BatchMode
  • [JCR-3379] - XA concurrent transactions - NullPointerException
  • [JCR-3380] - TCK tests for shareable nodes assume moving shareable nodes is not supported
  • [JCR-3383] - Unclosed Resources in ConnectionHelper if ResultSet is null
  • [JCR-3384] - TCK: BinaryPropertyTest.testGetLengthJcr2() fails with a multi-valued binary property
  • [JCR-3385] - DbClusterTest fails when port is already in use
  • [JCR-3387] - On heavy load we see occasional SQLException: closed statement: next
  • [JCR-3390] - Reordering policy node fails with AccessDeniedException
  • [JCR-3399] - Shared ISM does not release the internal Writelock if something unexpectedly is happening in externalUpdate

New in Apache Jackrabbit 2.4.3 (Sep 6, 2012)

  • Improvements:
  • [JCR-3265] - Consistency checker should double check for false positives
  • [JCR-3269] - Consistency checker should fix 'disconnected' nodes
  • [JCR-3369] - Garbage collector improvements
  • [JCR-3393] - InternalVersionManagerBase.calculateCheckinVersionName may fail with NPE on broken versioning persistence
  • [JCR-3352] - Minor improvements for collecting ACEs
  • Bug fixes:
  • [JCR-3267] - Consistency checker needs to run multiple times to fix all problems
  • [JCR-3318] - BLOB not stored and no exception thrown
  • [JCR-3334] - incorrect logging template in CachingEntryCollector
  • [JCR-3349] - The BatchMode of the ConnectionHelper doesn't work in XA Environment
  • [JCR-3353] - A DeadLock can occur if an Exception is thrown while unlocking the Journal
  • [JCR-3354] - The ReadWriteLock in AbstractJournal can create a Deadlock in XA Environment
  • [JCR-3367] - InMemBundlePersistenceManager#getAllNodeIds is not implemented correctly
  • [JCR-3377] - DataStore Temp-Files will not be deleted as side effect of JCR-3318
  • [JCR-3378] - The ConnectionHelper can return a closed Connection in BatchMode
  • [JCR-3379] - XA concurrent transactions - NullPointerException
  • [JCR-3383] - Unclosed Resources in ConnectionHelper if ResultSet is null
  • [JCR-3387] - On heavy load we see occasional SQLException: closed statement: next
  • [JCR-3390] - Reordering policy node fails with AccessDeniedException
  • [JCR-3399] - Shared ISM does not release the internal Writelock if something unexpectedly is happening in externalUpdate
  • [JCR-3401] - Wrong results when querying with a DescendantSelfAxisQuery
  • [JCR-3417] - Failed Journal lock not propagated

New in Apache Jackrabbit 2.4.0 (Feb 9, 2012)

  • New features:
  • [JCR-2859] Make open scoped locks recoverable
  • [JCR-2936] JMX Bindings for Jackrabbit
  • [JCR-3005] Make it possible to get multiple nodes in one call via davex
  • [JCR-3040] JMX Stats for the Session
  • [JCR-3117] Stats for the PersistenceManager
  • [JCR-3118] Configurable actions upon authorizable creation and removal
  • [JCR-3124] Stats for Queries
  • [JCR-3140] Add configurable hook for password validation
  • [JCR-3154] Stats for Queries continued
  • [JCR-3183] Add memory based bundle store
  • Improvements:
  • [JCR-1443] Make JCAManagedConnectionFactory non final, so it can be extended
  • [JCR-2798] JCAManagedConnectionFactory should chain cause exception
  • [JCR-2887] Split PrivilegeRegistry in a per-session manager instance ...
  • [JCR-2906] Multivalued property sorted by last/random value
  • [JCR-2989] Support for embedded index aggregates
  • [JCR-3017] Version history recovery fails in case a version does not ...
  • [JCR-3030] Permit using different tablespaces for tables and indexes ...
  • [JCR-3084] Script for checking releases
  • [JCR-3085] better diagnostics when version storage is broken
  • [JCR-3091] Lucene Scorer implementations should handle the 'advance' ...
  • [JCR-3098] Add hit miss statistics and logging to caches
  • [JCR-3102] InternalVersion.getFrozenNode confused about root version?
  • [JCR-3107] Speed up hierarchy cache initialization
  • [JCR-3109] Move PersistenceManagerTest from o.a.j.core to o.a.j.core....
  • [JCR-3114] expose PM for versioning manager so that the consistency ...
  • [JCR-3119] Improve aggregate node indexing code
  • [JCR-3120] Change log level in UserManagerImpl#getAuthorizable(NodeImpl) ...
  • [JCR-3122] QueryObjectModelImpl should execute queries as SessionOperation(s)
  • [JCR-3127] Upgrade to Tika 0.10
  • [JCR-3129] It should be possible to create a non-transient Repository ...
  • [JCR-3132] Test tooling updates
  • [JCR-3133] Query Stats should use the TimeSeries mechanism
  • [JCR-3135] Upgrade to Logback 1.0
  • [JCR-3136] Add m2e lifecycle mappings for Eclipse Indigo
  • [JCR-3138] Skip sync delay when changes are found
  • [JCR-3141] Upgrade to Tika 1.0
  • [JCR-3142] Create OSGi Bundles from jackrabbit-webdav and ...
  • [JCR-3143] SessionImpl#isSupportedOption: Skip descriptor evaluation ...
  • [JCR-3146] Text extraction may congest thread pool in the repository
  • [JCR-3161] Add JcrUtils.getPropertyTypeNames
  • [JCR-3162] Index update overhead on cluster slave due to JCR-905
  • [JCR-3165] Consolidate compare behaviour for Value(s) and Comparable(s)
  • [JCR-3167] Make Jackrabbit compile on Java 7
  • [JCR-3170] Precompile JavaCC parsers in jackrabbit-spi-commons
  • [JCR-3172] implement PERSIST events for the EventJournal
  • [JCR-3177] Remove jdk 1.4 restriction for jcr-tests
  • [JCR-3178] Improve error messages for index aggregates
  • [JCR-3184] extend ConsistencyChecker API to allow adoption of orphaned ...
  • [JCR-3185] refactor consistency checks in BundleDBPersistenceManager ...
  • [JCR-3199] workspace-wide default for lock timeout
  • [JCR-3200] consistency check should get node ids in chunks, not rely on ...
  • [JCR-3202] AuthorizableImpl#memberOf and #declaredMemberOf should ...
  • [JCR-3203] GroupImp#getMembers and #getDeclaredMembers should return ...
  • [JCR-3222] Allow servlet filters to specify custom session providers
  • Bug fixes:
  • [JCR-2539] spi2dav: Observation's user data not property handled
  • [JCR-2540] spi2dav : move/reorder not properly handled by observation
  • [JCR-2541] spi2dav : EventJournal notimplemented
  • [JCR-2542] spi2dav: EventFilters not respected
  • [JCR-2543] spi2dav : Query offset not respected
  • [JCR-2774] Access control for repository level API operations
  • [JCR-2892] Large fetch sizes have potentially deleterious effects on ...
  • [JCR-2930] same named child nodes disappear on restore
  • [JCR-3082] occasional index out of bounds exception while running ...
  • [JCR-3086] potential infinite loop around InternalVersionImpl.getSuccessors
  • [JCR-3089] javax.jcr.RepositoryException when a JOIN SQL2 query is ...
  • [JCR-3090] setFetchSize() fails in getAllNodeIds()
  • [JCR-3093] Inconsistency between Session.getProperty and Node....
  • [JCR-3095] Move operation may turn AC caches stale
  • [JCR-3101] recovery tool does not recover when version history can ...
  • [JCR-3105] NPE when versioning operations are concurrent
  • [JCR-3108] SQL2 ISDESCENDANTNODE can throw BooleanQuery#...
  • [JCR-3110] QNodeTypeDefinitionImpl.getSerializablePropertyDefs() ...
  • [JCR-3111] InternalVersionManagerBase; missing null check after getNode()
  • [JCR-3112] NodeTypeDefDiff.PropDefDiff.init() constraints change check ...
  • [JCR-3115] Versioning fixup leaves persistence in a state where the ...
  • [JCR-3116] Cluster Node ID should be trimmed
  • [JCR-3126] The CredentialsWrapper should use a empty String as userId ...
  • [JCR-3128] Problem with formerly escaped JCR node names when upgrading ...
  • [JCR-3131] NPE in ItemManager when calling Session.save() with nothing ...
  • [JCR-3139] missing sync in InternalVersionManagerImpl.externalUpdate ...
  • [JCR-3148] Using transactions still leads to memory leak
  • [JCR-3149] AccessControlProvider#getEffectivePolicies for a set of ...
  • [JCR-3151] SharedFieldCache can cause a memory leak
  • [JCR-3152] AccessControlImporter does not import repo level ac content
  • [JCR-3156] Group#getMembers may list inherited members multiple times
  • [JCR-3159] LOWER operand with nested LOCALNAME operand not work with SQL2
  • [JCR-3160] Session#move doesn't trigger rebuild of parent node aggregation
  • [JCR-3163] NPE in RepositoryServiceImpl.getPropertyInfo()
  • [JCR-3174] Destination URI should be normalized
  • [JCR-3175] InputContextImpl: cannot upload file larger than 2GB
  • [JCR-3176] JCARepositoryManager does not close InputStream
  • [JCR-3189] JCARepositoryManager.createNonTransientRepository throws NPE ...
  • [JCR-3194] ConcurrentModificationException in CacheManager.
  • [JCR-3195] wrong assumptions in test cases about lock tokens
  • [JCR-3198] Broken handling of outer join results over davex
  • [JCR-3205] Missing support for lock timeout and ownerHint in jcr-server
  • [JCR-3210] NPE in spi2dav when server does not send all headers
  • [JCR-3214] [Lock] weird number for "infinite"
  • [JCR-3216] When fetching node ids in checks for the checker all ...
  • [JCR-3218] UserImporter should trigger execution AuthorizableActions ...
  • [JCR-3220] simple webdav server does not support lock timeouts
  • [JCR-3223] Disallow unregistering of node types still (possibly) in use
  • [JCR-3224] SystemSession#createSession should return SessionImpl again
  • [JCR-3225] ConcurrentModificationException in QueryStatImpl

New in Apache Jackrabbit 2.2.11 (Feb 9, 2012)

  • Improvements:
  • [JCR-3107] Speed up hierarchy cache initialization
  • [JCR-3167] Make Jackrabbit compile on Java 7
  • Bug fixes:
  • [JCR-3148] Using transactions still leads to memory leak
  • [JCR-3174] Destination URI should be normalized
  • [JCR-3175] InputContextImpl: cannot upload file larger than 2GB
  • [JCR-3210] NPE in spi2dav when server does not send all headers
  • [JCR-3223] Disallow unregistering of node types still (possibly) in use

New in Apache Jackrabbit 2.3.7 (Jan 25, 2012)

  • New features:
  • [JCR-2859] Make open scoped locks recoverable
  • Improvements:
  • [JCR-3184] extend ConsistencyChecker API to allow adoption of orphaned ...
  • [JCR-3185] refactor consistency checks in BundleDBPersistenceManager ...
  • [JCR-3199] workspace-wide default for lock timeout
  • [JCR-3200] consistency check should get node ids in chunks, not rely on ...
  • [JCR-3202] AuthorizableImpl#memberOf and #declaredMemberOf should ...
  • Bug fixes:
  • [JCR-2543] spi2dav : Query offset not respected
  • [JCR-3189] JCARepositoryManager.createNonTransientRepository throws NPE ...
  • [JCR-3194] ConcurrentModificationException in CacheManager.
  • [JCR-3195] wrong assumptions in test cases about lock tokens
  • [JCR-3198] Broken handling of outer join results over davex
  • [JCR-3205] Missing support for lock timeout and ownerHint in jcr-server
  • [JCR-3210] NPE in spi2dav when server does not send all headers

New in Apache Jackrabbit 2.3.6 (Jan 5, 2012)

  • New features:
  • [JCR-3005] Make it possible to get multiple nodes in one call via davex
  • [JCR-3183] Add memory based bundle store
  • Improvements:
  • [JCR-3162] Index update overhead on cluster slave due to JCR-905
  • [JCR-3172] implement PERSIST events for the EventJournal
  • [JCR-3177] Remove jdk 1.4 restriction for jcr-tests
  • [JCR-3178] Improve error messages for index aggregates
  • Bug fixes:
  • [JCR-2541] spi2dav : EventJournal notimplemented
  • [JCR-2930] same named child nodes disappear on restore
  • [JCR-3174] Destination URI should be normalized
  • [JCR-3175] InputContextImpl: cannot upload file larger than 2GB
  • [JCR-3176] JCARepositoryManager does not close InputStream

New in Apache Jackrabbit 2.2.8 (Aug 24, 2011)

  • Bug fixes:
  • [JCR-2951] Item.remove fails if a child-item is not visible to the ...
  • [JCR-2980] Nodes that have properties marked for async extraction ...
  • [JCR-2996] QOM to SQL2 doesn't cast numeric literals
  • [JCR-2999] Access control evaluation does not properly cope with XA ...
  • [JCR-3000] SQL2 Join with OR clause still has some issues
  • [JCR-3001] DescendantSelfAxisQuery may fail with IOException when ...
  • [JCR-3007] setProperty access control evaluation does not properly cope ...
  • [JCR-3009] Prefix fulltext queries with Japanese or Chinese characters ...
  • [JCR-3013] ArrayIndexOutOfBoundsException: ConcurrentCache
  • [JCR-3015] EntryCollector may log warning for inexistent item
  • [JCR-3016] inconsistent repository after overlapping node add operations

New in Apache Jackrabbit 2.2.7 (Jun 8, 2011)

  • Improvements:
  • [JCR-2852] Support multi-selector OR constraints in join queries
  • [JCR-2955] Use GrowingLRUMap in CachingEntryCollector
  • [JCR-2956] SQL2: Implement LIKE support for node names
  • [JCR-2965] Show referencing nodes in debug log when trying to delete ...
  • [JCR-2977] AccessControlManager#getApplicablePolicy should check for ...
  • Bug fixes:
  • [JCR-2880] Save fails after setting a binary property twice
  • [JCR-2890] Deadlock in acl.EntryCollector / ItemManager
  • [JCR-2917] Indexing configuration ignored when indexing length
  • [JCR-2928] LuceneQueryFactory should call QueryHits.close() after running a query
  • [JCR-2933] SQL2 Left Outer Join
  • [JCR-2937] ACL with glob restrictions does not work on '/'
  • [JCR-2939] QueryObjectModel does not generate the corresponding SQL2 ...
  • [JCR-2953] PathParser accepts illegal pahts containing curly brackets
  • [JCR-2960] Long values not properly stored
  • [JCR-2964] ItemSaveOperation should not swallow stacktrace