Return-Path: X-Original-To: apmail-jackrabbit-dev-archive@www.apache.org Delivered-To: apmail-jackrabbit-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id E033CC3D9 for ; Mon, 11 Jun 2012 10:14:00 +0000 (UTC) Received: (qmail 95096 invoked by uid 500); 11 Jun 2012 10:14:00 -0000 Delivered-To: apmail-jackrabbit-dev-archive@jackrabbit.apache.org Received: (qmail 94684 invoked by uid 500); 11 Jun 2012 10:13:58 -0000 Mailing-List: contact dev-help@jackrabbit.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@jackrabbit.apache.org Delivered-To: mailing list dev@jackrabbit.apache.org Received: (qmail 94645 invoked by uid 99); 11 Jun 2012 10:13:57 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Jun 2012 10:13:57 +0000 X-ASF-Spam-Status: No, hits=1.5 required=5.0 tests=HTML_MESSAGE,RCVD_IN_DNSWL_LOW,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of alex.parvulescu@gmail.com designates 209.85.210.42 as permitted sender) Received: from [209.85.210.42] (HELO mail-pz0-f42.google.com) (209.85.210.42) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 11 Jun 2012 10:13:51 +0000 Received: by dalf4 with SMTP id f4so8491291dal.1 for ; Mon, 11 Jun 2012 03:13:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:sender:date:x-google-sender-auth:message-id:subject :from:to:content-type; bh=FY1i/X/QjiIvju4EhMzVR6DbHj5gnm489anVPnTgwkU=; b=RVqEq5Vsikn+OXxz3cgffP2TGyZ47wGEelmc4Rzlp9klvXPj7PuNJoT+d6ASxoRWhp M3leaHxSAh3osmuX3uNZZ9da3nc8o7kHboFf+5OEYG1UC/4UcL9HiK5bU7fZj9OT5+F+ /gI8B/sSgmfqNc1ES727ZIUz1uvoe62L/XS3lnkrUq/E8gMigQnL6FieYlGBfjOTGIER DDoKEZzaHF11/cUdFvo8u4E9ltBVS/sktxEaFbUcUUSahcokQQj9CjhAVfNHxJhoIffx DxFvTLdOfs9SVdUssx99UicBY3GBPLtPGX5g6/QpPOzuzNlRFbs2WtF2RnCQCmXmw5Dh snwQ== MIME-Version: 1.0 Received: by 10.68.135.201 with SMTP id pu9mr24535784pbb.146.1339409610882; Mon, 11 Jun 2012 03:13:30 -0700 (PDT) Sender: alex.parvulescu@gmail.com Received: by 10.142.80.14 with HTTP; Mon, 11 Jun 2012 03:13:30 -0700 (PDT) Date: Mon, 11 Jun 2012 12:13:30 +0200 X-Google-Sender-Auth: GxjSoZBOOpUERDol8x0qio1dbms Message-ID: Subject: [ANNOUNCE] Apache Jackrabbit 2.4.2 released From: Alex Parvulescu To: announce@apache.org, announce@jackrabbit.apache.org, Jackrabbit Users , Jackrabbit Developers Content-Type: multipart/alternative; boundary=047d7b10cde510bf0204c22f9a53 X-Virus-Checked: Checked by ClamAV on apache.org --047d7b10cde510bf0204c22f9a53 Content-Type: text/plain; charset=ISO-8859-1 The Apache Jackrabbit community is pleased to announce the release of Apache Jackrabbit 2.4.2. 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.4.2 Introduction ------------ This is Apache Jackrabbit(TM) 2.4, 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.4.2 is patch release that contains fixes and improvements over Jackrabbit 2.4.1. This release is fully compatible with earlier 2.x.x releases. Changes since Jackrabbit 2.4.1 ------------------------------ New features [JCR-3233] Provide callback for consistency checker Improvements [JCR-3286] InternalVersionManagerBase.calculateCheckinVersionName will fail with NPE upon empty predecessors property Bug fixes [JCR-2662] JCR unit tests for journaled observation do not check capabilities and require implementation, contrary to JCR 2.0 specification [JCR-3050] NullPointerException on removing a node acquired from search result [JCR-3234] QueryStat getPopularQueries doesn't set the proper position [JCR-3262] Oracle JDBC Class Cast Exception [JCR-3272] EventConsumer.canRead() should rely on AccessManager.isGranted() [JCR-3289] Remove operation right after move operation causes missing child inconsistency [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-3300] tests should consistently check for repository support and fail with NotExecutableException when the repo does not support the feature [JCR-3303] ClusterNode's stopDelay should default to something other zero [JCR-3307] JCR test org.apache.jackrabbit.test.api.version.MergeActivityTest doesn't check whether the repository supports activities [JCR-3317] Set the MaxTotalConnections on ConnectionManager to prevent bottleneck [JCR-3329] incorrect WebDAV PROPFIND response for version-controlled resources Changes since Jackrabbit 2.4.0 ------------------------------ Improvements [JCR-3237] add missing name constants for mix:title [JCR-3254] make max size of CachingEntryCollector's cache configurable [JCR-3255] Access cluster node id [JCR-3259] augment logging information around CachingEntryCollector [JCR-3280] SQL2 joins on empty sets are not efficient Bug fixes [JCR-3158] Deadlock in DBCP when accessing node [JCR-3227] VolatileIndex not closed properly [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 ... Changes since Jackrabbit 2.2.0 ------------------------------ 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 not implemented [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 In addition to the above-mentioned changes, this release contains all the changes included up to the Apache Jackrabbit 2.2.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 Contents ---------------- This release consists of a single source archive packaged as a zip file. The archive can be unpacked with the jar tool from your JDK installation. See the README.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/ --047d7b10cde510bf0204c22f9a53 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable
The Apache Jackrabbit community is pleased to announce the release of<= /div>
Apache Jackrabbit 2.4.2. The release is available for download at= :


See the full release notes below for details about this= release.


Release Notes -- Apache J= ackrabbit -- Version 2.4.2

Introduction
------------

This is Apache Jackrabbit(TM) 2.4, a = fully compliant implementation of the
Content Repository for Java= (TM) Technology API, version 2.0 (JCR 2.0) as
specified in the Ja= va Specification Request 283 (JSR 283).


Apache Jackrabbit 2.4.2 is patch release= that contains fixes and
improvements over Jackrabbit 2.4.1. This= release is fully compatible
with earlier 2.x.x releases.

Changes since Jackrabbit 2.4.1
--------------= ----------------

New features

=
=A0 [JCR-3233] Provide callback for consistency checker

Improvements

=A0 [JCR-3286] InternalVer= sionManagerBase.calculateCheckinVersionName will fail with NPE upon empty p= redecessors property

Bug fixes

=A0 [JCR-2662] JCR unit tests for journaled observation do not check c= apabilities and require implementation, contrary to JCR 2.0 specification
=A0 [JCR-3050] NullPointerException on removing a node acquired fr= om search result
=A0 [JCR-3234] QueryStat getPopularQueries doesn't set the proper = position
=A0 [JCR-3262] Oracle JDBC Class Cast Exception
=A0 [JCR-3272] EventConsumer.canRead() should rely on AccessManager.isGra= nted()
=A0 [JCR-3289] Remove operation right after move operation causes miss= ing child inconsistency
=A0 [JCR-3290] Concurrent add and move ca= n cause inconsistency
=A0 [JCR-3291] Stack overflow in multi-sess= ion test with moves
=A0 [JCR-3292] Workspace move in concurrent environment causes inconsi= stencies
=A0 [JCR-3298] jackrabbit-core RepositoryChecker.fix() c= an fail with OOM
=A0 [JCR-3300] tests should consistently check f= or repository support and fail with NotExecutableException when the repo do= es not support the feature
=A0 [JCR-3303] ClusterNode's stopDelay should default to something= other zero
=A0 [JCR-3307] JCR test org.apache.jackrabbit.test.ap= i.version.MergeActivityTest doesn't check whether the repository suppor= ts activities
=A0 [JCR-3317] Set the MaxTotalConnections on ConnectionManager to pre= vent bottleneck
=A0 [JCR-3329] incorrect WebDAV PROPFIND response= for version-controlled resources


C= hanges since Jackrabbit 2.4.0
------------------------------

Improvements

=A0 [JCR-3237] add missing name constants for mix:t= itle
=A0 [JCR-3254] make max size of CachingEntryCollector's = cache configurable
=A0 [JCR-3255] Access cluster node id
=A0 [JCR-3259] augment= logging information around CachingEntryCollector
=A0 [JCR-3280] = SQL2 joins on empty sets are not efficient

Bug fix= es

=A0 [JCR-3158] Deadlock in DBCP when accessing node
=A0 [JCR-3227] VolatileIndex not closed properly
=A0 [JCR-= 3236] Can not instantiate lucene Analyzer in SearchIndex
=A0 [JCR= -3247] SQL2 ISDESCENDANTNODE BooleanQuery#TooManyClauses returns
=A0 [JCR-3250] webapp welcome page shows incorrect port when port is t= he ...
=A0 [JCR-3261] Problems with BundleDbPersistenceManager ge= tAllNodeIds
=A0 [JCR-3266] JCR-SQL2 query with multiple columns i= n result only returns ...
=A0 [JCR-3268] Re-index fails on corrupt bundle
=A0 [JCR-327= 0] Error instantiating lucene search index in Turkish Regional ...

Changes since Jackrabbit 2.2.0
-----------------= -------------

New features

=A0 [JCR-2859] Ma= ke open scoped locks recoverable
=A0 [JCR-2936] JMX Bindings for = Jackrabbit
=A0 [JCR-3005] Make it possible to get multiple nodes = in one call via davex
=A0 [JCR-3040] JMX Stats for the Session
=A0 [JCR-3117] Stat= s for the PersistenceManager
=A0 [JCR-3118] Configurable actions = upon authorizable creation and removal
=A0 [JCR-3124] Stats for Q= ueries
=A0 [JCR-3140] Add configurable hook for password validation
=A0 [JCR-3154] Stats for Queries continued
=A0 [JCR-3183] Add me= mory based bundle store

Improvements
=A0 [JCR-1443] Make JCAManagedConnectionFactory non final, so it can b= e extended
=A0 [JCR-2798] JCAManagedConnectionFactory should chai= n cause exception
=A0 [JCR-2887] Split PrivilegeRegistry in a per= -session manager instance ...
=A0 [JCR-2906] Multivalued property sorted by last/random value
<= div>=A0 [JCR-2989] Support for embedded index aggregates
=A0 [JCR= -3017] Version history recovery fails in case a version does not ...
<= div> =A0 [JCR-3030] Permit using different tablespaces for tables and indexes ..= .
=A0 [JCR-3084] Script for checking releases
=A0 [JCR-= 3085] better diagnostics when version storage is broken
=A0 [JCR-= 3091] Lucene Scorer implementations should handle the 'advance' ...=
=A0 [JCR-3098] Add hit miss statistics and logging to caches
=A0 [JCR-3102] InternalVersion.getFrozenNode confused about root version?<= /div>
=A0 [JCR-3107] Speed up hierarchy cache initialization
= =A0 [JCR-3109] Move PersistenceManagerTest from o.a.j.core to o.a.j.core...= .
=A0 [JCR-3114] expose PM for versioning manager so that the consistenc= y ...
=A0 [JCR-3119] Improve aggregate node indexing code
=A0 [JCR-3120] Change log level in UserManagerImpl#getAuthorizable(NodeI= mpl) ...
=A0 [JCR-3122] QueryObjectModelImpl should execute queries as SessionO= peration(s)
=A0 [JCR-3127] Upgrade to Tika 0.10
=A0 [JC= R-3129] It should be possible to create a non-transient Repository ...
=A0 [JCR-3132] Test tooling updates
=A0 [JCR-3133] Query Stats sh= ould use the TimeSeries mechanism
=A0 [JCR-3135] Upgrade to Logba= ck 1.0
=A0 [JCR-3136] Add m2e lifecycle mappings for Eclipse Indi= go
=A0 [JCR-3138] Skip sync delay when changes are found
=A0 [J= CR-3141] Upgrade to Tika 1.0
=A0 [JCR-3142] Create OSGi Bundles f= rom jackrabbit-webdav and ...
=A0 [JCR-3143] SessionImpl#isSuppor= tedOption: Skip descriptor evaluation ...
=A0 [JCR-3146] Text extraction may congest thread pool in the reposito= ry
=A0 [JCR-3161] Add JcrUtils.getPropertyTypeNames
=A0= [JCR-3162] Index update overhead on cluster slave due to JCR-905
=A0 [JCR-3165] Consolidate compare behaviour for Value(s) and Comparable(s= )
=A0 [JCR-3167] Make Jackrabbit compile on Java 7
=A0 [JCR-31= 70] Precompile JavaCC parsers in jackrabbit-spi-commons
=A0 [JCR-= 3172] implement PERSIST events for the EventJournal
=A0 [JCR-3177= ] Remove jdk 1.4 restriction for jcr-tests
=A0 [JCR-3178] Improve error messages for index aggregates
= =A0 [JCR-3184] extend ConsistencyChecker API to allow adoption of orphaned = ...
=A0 [JCR-3185] refactor consistency checks in BundleDBPersist= enceManager ...
=A0 [JCR-3199] workspace-wide default for lock timeout
=A0 [= JCR-3200] consistency check should get node ids in chunks, not rely on ...<= /div>
=A0 [JCR-3202] AuthorizableImpl#memberOf and #declaredMemberOf sh= ould ...
=A0 [JCR-3203] GroupImp#getMembers and #getDeclaredMembers should retu= rn ...
=A0 [JCR-3222] Allow servlet filters to specify custom ses= sion providers

Bug fixes

=A0 [JCR-2539] spi2dav: Observation's user data not property handled
=A0 [JCR-2540] spi2dav : move/reorder not properly handled by obser= vation
=A0 [JCR-2541] spi2dav : EventJournal not =A0implemented
=A0 [JCR-2542] spi2dav: EventFilters not respected
=A0 [JCR-= 2543] spi2dav : Query offset not respected
=A0 [JCR-2774] Access = control for repository level API operations
=A0 [JCR-2892] Large = fetch sizes have potentially deleterious effects on ...
=A0 [JCR-2930] same named child nodes disappear on restore
= =A0 [JCR-3082] occasional index out of bounds exception while running ...
=A0 [JCR-3086] potential infinite loop around InternalVersionImpl.= getSuccessors
=A0 [JCR-3089] javax.jcr.RepositoryException when a JOIN SQL2 query is= ...
=A0 [JCR-3090] setFetchSize() fails in getAllNodeIds()
=
=A0 [JCR-3093] Inconsistency between Session.getProperty and Node....<= /div>
=A0 [JCR-3095] Move operation may turn AC caches stale
=A0 [= JCR-3101] recovery tool does not recover when version history can ...
=
=A0 [JCR-3105] NPE when versioning operations are concurrent
=A0 [JCR-3108] SQL2 ISDESCENDANTNODE can throw BooleanQuery#...
=A0 [JCR-3110] QNodeTypeDefinitionImpl.getSerializablePropertyDefs() .= ..
=A0 [JCR-3111] InternalVersionManagerBase; missing null check = after getNode()
=A0 [JCR-3112] NodeTypeDefDiff.PropDefDiff.init()= constraints change check ...
=A0 [JCR-3115] Versioning fixup leaves persistence in a state where th= e ...
=A0 [JCR-3116] Cluster Node ID should be trimmed
= =A0 [JCR-3126] The CredentialsWrapper should use a empty String as userId .= ..
=A0 [JCR-3128] Problem with formerly escaped JCR node names when upgra= ding ...
=A0 [JCR-3131] NPE in ItemManager when calling Session.s= ave() with nothing ...
=A0 [JCR-3139] missing sync in InternalVer= sionManagerImpl.externalUpdate ...
=A0 [JCR-3148] Using transactions still leads to memory leak
=A0 [JCR-3149] AccessControlProvider#getEffectivePolicies for a set of ...=
=A0 [JCR-3151] SharedFieldCache can cause a memory leak
=A0 [JCR-3152] AccessControlImporter does not import repo level ac content<= /div>
=A0 [JCR-3156] Group#getMembers may list inherited members multip= le times
=A0 [JCR-3159] LOWER operand with nested LOCALNAME opera= nd not work with SQL2
=A0 [JCR-3160] Session#move doesn't trigger rebuild of parent node= aggregation
=A0 [JCR-3163] NPE in RepositoryServiceImpl.getPrope= rtyInfo()
=A0 [JCR-3174] Destination URI should be normalized
=A0 [JCR-3175] InputContextImpl: cannot upload file larger than 2GB
=A0 [JCR-3176] JCARepositoryManager does not close InputStream
=A0 [JCR-3189] JCARepositoryManager.createNonTransientRepository thro= ws NPE ...
=A0 [JCR-3194] ConcurrentModificationException in CacheManager.
<= div>=A0 [JCR-3195] wrong assumptions in test cases about lock tokens
<= div>=A0 [JCR-3198] Broken handling of outer join results over davex
=A0 [JCR-3205] Missing support for lock timeout and ownerHint in jcr-server=
=A0 [JCR-3210] NPE in spi2dav when server does not send all head= ers
=A0 [JCR-3214] [Lock] weird number for "infinite"
=A0 [JCR-3216] When fetching node ids in checks for the checker all ..= .
=A0 [JCR-3218] UserImporter should trigger execution Authorizab= leActions ...
=A0 [JCR-3220] simple webdav server does not suppor= t lock timeouts
=A0 [JCR-3223] Disallow unregistering of node types still (possibly) i= n use
=A0 [JCR-3224] SystemSession#createSession should return Se= ssionImpl again
=A0 [JCR-3225] ConcurrentModificationException in= QueryStatImpl

In addition to the above-mentioned changes, this releas= e contains
all the changes included up to the Apache Jackrabbit 2= .2.0 release.

For more detailed information about = all the changes in this and other
Jackrabbit releases, please see the Jackrabbit issue tracker at
<= div>

Release Contents
----------------

This r= elease 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 aut= henticity 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 Conte= nt
Repository for Java Technology API (JCR). A content repository= is a
hierarchical content store with support for structured and unstructure= d
content, full text search, versioning, transactions, observatio= n, 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, an= d financial support for more than 100 freely-available,
collaboratively-developed Open Source projects. The pragmatic Apache L= icense
enables individual and commercial users to easily deploy A= pache software;
the Foundation's intellectual property framew= ork limits the legal exposure
of its 2,500+ contributors.