The Apache Jackrabbit community is pleased to announce the release of
Apache Jackrabbit 2.7.1. The release is available for download at:
http://jackrabbit.apache.org/downloads.html
See the full release notes below for details about this release.
Release Notes -- Apache Jackrabbit -- Version 2.7.1
Introduction
------------
This is Apache Jackrabbit(TM) 2.7, a fully compliant implementation of the
Content Repository for Java(TM) Technology API, version 2.0 (JCR 2.0) as
specified in the Java Specification Request 283 (JSR 283).
Apache Jackrabbit 2.7 is an unstable series of releases cut directly from
Jackrabbit trunk, with a focus on new features and other improvements.
For production use we recommend the latest stable 2.6 release.
Changes in Jackrabbit 2.7.1
---------------------------
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
Changes in Jackrabbit 2.7.0
---------------------------
New features
[JCR-3550] Methods for determining type of array of values
[JCR-3566] add TCK test for NaN and infinity double property values
Improvements
[JCR-3402] getSize() returning too many often -1
[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 ..
Bug fixes
[JCR-3276] JCA Adpater not handling transaction suspension correctly
[JCR-3382] ItemManager.getNode does not do a permission check when the ...
[JCR-3465] JcrUtils.getOrCreateByPath() creates a whole subtree instead ...
[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-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...
In addition to the above-mentioned changes, this release contains
all the changes included up to the Apache Jackrabbit 2.6.0 release.
For more detailed information about all the changes in this and other
Jackrabbit releases, please see the Jackrabbit issue tracker at
https://issues.apache.org/jira/browse/JCR
Release Contentsusers@jackrabbit.apache.org
----------------
This release consists of a single source archive packaged as a zip file.
The archive can be unpacked with the jar tool from your JDK installation.
See the README.txt file for instructions on how to build this release.
The source archive is accompanied by SHA1 and MD5 checksums and a PGP
signature that you can use to verify the authenticity of your download.
The public key used for the PGP signature can be found at
https://svn.apache.org/repos/asf/jackrabbit/dist/KEYS.
About Apache Jackrabbit
-----------------------
Apache Jackrabbit is a fully conforming implementation of the Content
Repository for Java Technology API (JCR). A content repository is a
hierarchical content store with support for structured and unstructured
content, full text search, versioning, transactions, observation, and
more.
For more information, visit http://jackrabbit.apache.org/
About The Apache Software Foundation
------------------------------------
Established in 1999, The Apache Software Foundation provides organizational,
legal, and financial support for more than 100 freely-available,
collaboratively-developed Open Source projects. The pragmatic Apache License
enables individual and commercial users to easily deploy Apache software;
the Foundation's intellectual property framework limits the legal exposure
of its 2,500+ contributors.
For more information, visit http://www.apache.org/
Trademarks
----------
Apache Jackrabbit, Jackrabbit, Apache, the Apache feather logo, and the Apache
Jackrabbit project logo are trademarks of The Apache Software Foundation.