Release Notes -- Apache Jackrabbit -- Version 2.3.6

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

This is Apache Jackrabbit(TM) 2.3, 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.3 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.2 release.

Changes in Jackrabbit 2.3.6
---------------------------

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 not  implemented
  [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

Changes in Jackrabbit 2.3.5
---------------------------

Improvements

  [JCR-2887] Split PrivilegeRegistry in a per-session manager instance ...
  [JCR-2906] Multivalued property sorted by last/random value
  [JCR-3138] Skip sync delay when changes are found
  [JCR-3161] Add JcrUtils.getPropertyTypeNames
  [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

Bug fixes

  [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()

Changes in Jackrabbit 2.3.4
---------------------------

New features

  [JCR-2936] JMX Bindings for Jackrabbit
  [JCR-3040] JMX Stats for the Session
  [JCR-3140] Add configurable hook for password validation
  [JCR-3154] Stats for Queries continued

Improvements

  [JCR-3129] It should be possible to create a non-transient Repository ...
  [JCR-3133] Query Stats should use the TimeSeries mechanism
  [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

Bug fixes

  [JCR-2539] spi2dav: Observation's user data not property handled
  [JCR-2540] spi2dav : move/reorder not properly handled by observation
  [JCR-2542] spi2dav: EventFilters not respected
  [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

Changes in Jackrabbit 2.3.3
---------------------------

New features

  [JCR-3118] Configurable actions upon authorizable creation and removal

Improvements

  [JCR-1443] ake JCAManagedConnectionFactory non final, so it can be extended
  [JCR-2798] JCAManagedConnectionFactory should chain cause exception
  [JCR-3120] Change log level in UserManagerImpl#getAuthorizable(NodeImpl) ...
  [JCR-3127] Upgrade to Tika 0.10
  [JCR-3132] Test tooling updates
  [JCR-3135] Upgrade to Logback 1.0
  [JCR-3136] Add m2e lifecycle mappings for Eclipse Indigo
  [JCR-3141] Upgrade to Tika 1.0

Bug fixes

  [JCR-3093] Inconsistency between Session.getProperty and Node....
  [JCR-3110] QNodeTypeDefinitionImpl.getSerializablePropertyDefs() ...
  [JCR-3116] Cluster Node ID should be trimmed
  [JCR-3131] NPE in ItemManager when calling Session.save() with nothing ...
  [JCR-3139] missing sync in InternalVersionManagerImpl.externalUpdate ...

Changes in Jackrabbit 2.3.2
---------------------------

New features

  [JCR-3117] Stats for the PersistenceManager
  [JCR-3124] Stats for Queries

Improvements

  [JCR-2989] Support for embedded index aggregates
  [JCR-3098] Add hit miss statistics and logging to caches
  [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-3122] QueryObjectModelImpl should execute queries as SessionOperation(s)

Bug fixes

  [JCR-2892] - Large fetch sizes have potentially deleterious effects on ...
  [JCR-3093] - Inconsistency between Session.getProperty and Node....
  [JCR-3108] - SQL2 ISDESCENDANTNODE can throw BooleanQuery#...
  [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-3126] - The CredentialsWrapper should use a empty String as userId ...
  [JCR-3128] - Problem with formerly escaped JCR node names when upgrading ...

Changes in Jackrabbit 2.3.1
---------------------------

Improvements

  [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-3102] InternalVersion.getFrozenNode confused about root version?

Bug fixes

  [JCR-2774] Access control for repository level API operations
  [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-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

In addition to the above-mentioned changes, this release contains
all the changes included up to the Apache Jackrabbit 2.3.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/
