You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by ju...@apache.org on 2009/05/27 18:07:24 UTC

svn commit: r779223 - in /jackrabbit/trunk: README.txt RELEASE-NOTES.txt

Author: jukka
Date: Wed May 27 16:07:24 2009
New Revision: 779223

URL: http://svn.apache.org/viewvc?rev=779223&view=rev
Log:
Update the release notes and the readme for the 2.0 releases.

Modified:
    jackrabbit/trunk/README.txt
    jackrabbit/trunk/RELEASE-NOTES.txt

Modified: jackrabbit/trunk/README.txt
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/README.txt?rev=779223&r1=779222&r2=779223&view=diff
==============================================================================
--- jackrabbit/trunk/README.txt (original)
+++ jackrabbit/trunk/README.txt Wed May 27 16:07:24 2009
@@ -10,19 +10,19 @@
 repositories include content management, document management,
 and records management systems.
 
-Version 1.0 of the JCR API was specified by the Java Specification
-Request 170 (JSR 170, http://jcp.org/en/jsr/detail?id=170) and work
-on the JCR version 2.0 is ongoing in JSR 283.
+Jackrabbit is currently based on the Proposed Final Draft (PFD) version
+of the JCR 2.0 API defined by the Java Specification Request 283
+(JSR 283, http://jcp.org/en/jsr/detail?id=283). Version 1.0 of the
+JCR API was specified by JSR 170.
 
 Apache Jackrabbit is a project of the Apache Software Foundation.
 
 Building Jackrabbit
 ===================
 
-Jackrabbit currently depends on the Proposed Final Draft (PFD) version of
-the JCR 2.0 API jar file from JSR 283. To build Jackrabbit, you need to
-download the PFD from http://jcp.org/en/jsr/detail?id=283 and install the
-contained jcr-2.0.jar file to your local Maven repository.
+To build Jackrabbit, you first need to download the PFD version of the
+JCR 2.0 specification from http://jcp.org/en/jsr/detail?id=283 and install
+the contained jcr-2.0.jar file to your local Maven repository.
 
 Use the following command to install the required JCR API jar with metadata
 included in the jcr-2.0-pfd.xml file in this directory:
@@ -30,8 +30,7 @@
     mvn install:install-file \
         -Dfile=/path/to/lib/jcr-2.0.jar -DpomFile=jcr-2.0-pfd.xml    
 
-Once you've installed the JCR 2.0 (PFD) API jar, you can build Jackrabbit
-with the following command:
+Once you've installed the jar, you can build Jackrabbit like this:
 
     mvn clean install
 
@@ -93,3 +92,4 @@
 
 See http://jackrabbit.apache.org/jackrabbit-team.html for the list of 
 Jackrabbit committers and main contributors.
+

Modified: jackrabbit/trunk/RELEASE-NOTES.txt
URL: http://svn.apache.org/viewvc/jackrabbit/trunk/RELEASE-NOTES.txt?rev=779223&r1=779222&r2=779223&view=diff
==============================================================================
--- jackrabbit/trunk/RELEASE-NOTES.txt (original)
+++ jackrabbit/trunk/RELEASE-NOTES.txt Wed May 27 16:07:24 2009
@@ -1,660 +1,65 @@
-Release Notes -- Apache Jackrabbit -- Version 1.5.0
+Release Notes -- Apache Jackrabbit -- Version 2.0-alpha1
 
 Introduction
 ------------
 
-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. Typical applications that use content repositories include content
-management, document management, and records management systems.
-
-Apache Jackrabbit 1.5 is an incremental feature release. While
-remaining compatible with previous releases, Jackrabbit 1.5 introduces
-a number of new features, improvements and fixes to known issues.
+This is the first alpha release of Apache Jackrabbit 2.0. This release
+implements the Proposed Final Draft (PFD) version of the JCR 2.0 API,
+that is being specified by the Java Specification Request 283 (JSR 283,
+http://jcp.org/en/jsr/detail?id=283).
+
+The purpose of this alpha release is to allow people to test and review
+the new JCR 2.0 features before they are finalized. Feedback to both the
+Jackrabbit project and the JSR 283 expert group is highly appreciated.
+Note that an alpha release is not expected to be feature-complete or
+otherwise suitable for production use.
+
+Changes in this release
+-----------------------
+
+Jackrabbit 2.0 is a major upgrade from the earlier 1.x releases. The most
+notable changes in this release are:
+
+  * Upgrade to JCR 2.0. This Jackrabbit release implements and is based
+    on the PFD version of the JCR 2.0 API. Note that not all of the new
+    JCR 2.0 features are yet fully functional. We expect to achieve
+    feature-completeness in time for the final Jackrabbit 2.0 release.
+
+  * Upgrade to Java 5. All of Jackrabbit (except the jcr-tests component)
+    now requires Java 5 as the base platform. Java 1.4 environments are no
+    longer supported.
+
+  * Separate JCR Commons components. Many of the general-purpose JCR
+    components like JCR-RMI and OCM are now developed and released
+    separately from the Jackrabbit content repository. See the individual
+    components for their most recent releases.
 
-TODO: Notable new features
+For more detailed information about all the changes in this and other
+Jackrabbit releases, please see the Jackrabbit issue tracker at
 
-See the Apache Jackrabbit website at http://jackrabbit.apache.org/ for
-more information.
+    https://issues.apache.org/jira/browse/JCR
 
 Release Contents
 ----------------
 
-This release consists of a single source archive (jackrabbit-1.5.0-src.jar)
-that contains all the Apache Jackrabbit components. Use the following
-commands (or the equivalent in your system) to build the release with
-Maven 2 and Java 1.4 or higher:
-
-    jar xf jackrabbit-1.5.0-src.jar
-    cd jackrabbit-1.5.0-src
-    mvn install
-
-Note that the OCM components require Java 5 or higher, and are not included
-in the build when using Java 1.4.
+This release consists of a single source archive packaged as a jar 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.
 
-The build will result in the following components (with artifactIds in
-parenthesis) being built and installed in your local Maven repository.
-Pre-built binary artifacts of these components are also available on
-the Jackrabbit download page and on the central Maven repository.
-
-  * Jackrabbit API (jackrabbit-api)
-    Interface extensions that Apache Jackrabbit supports in
-    addition to the standard JCR API.
-
-  * Jackrabbit JCR Commons (jackrabbit-jcr-commons)
-    General-purpose classes for use with the JCR API.
-
-  * Jackrabbit JCR Tests (jackrabbit-jcr-tests)
-    Set of JCR API test cases designed for testing the compliance
-    of an implementation. Note that this is not the official JCR TCK!
-
-  * Jackrabbit Core (jackrabbit-core)
-    Core of the Apache Jackrabbit content repository implementation.
-
-  * Jackrabbit Text Extractors (jackrabbit-text-extractors)
-    Text extractor classes that allow Jackrabbit to extract text content
-    from binary properties for full text indexing.
-
-  * Jackrabbit JCR-RMI (jackrabbit-jcr-rmi)
-    RMI remoting layer for the JCR API.
-
-  * Jackrabbit WebDAV Library (jackrabbit-webdav)
-    Interfaces and common utility classes used for building a
-    WebDAV server or client.
-
-  * Jackrabbit JCR Server (jackrabbit-jcr-server)
-    WebDAV servlet implementations based on JCR.
-
-  * Jackrabbit JCR Servlets (jackrabbit-jcr-servlet)
-    Set of servlets and other classes designed to make it easier to use
-    Jackrabbit and other JCR content repositories in web applications.
-
-  * Jackrabbit Repository Classloader (jackrabbit-classloader)
-    Java classloader for loading classes from JCR content repositories.
-
-  * Jackrabbit Web Application (jackrabbit-webapp)
-    Deployable Jackrabbit installation with WebDAV support for JCR.
-
-  * Jackrabbit JCA Resource Adapter (jackrabbit-jca)
-    J2EE Connector Architecture (JCA) resource adapter for Jackrabbit.
-
-  * Jackrabbit SPI (jackrabbit-spi)
-    The SPI defines a layer within a JSR-170 implementation that separates
-    the transient space from the persistent layer.
-
-  * Jackrabbit SPI Commons (jackrabbit-spi-commons)
-    This component contains generic utility classes that might be used
-    to build an SPI implementation.
-
-  * Jackrabbit SPI2JCR (jackrabbit-spi2jcr)
-    This component contains a SPI implementation wrapping around an
-    implementation of JSR-170.
-
-  * Jackrabbit JCR2SPI (jackrabbit-jcr2spi)
-    This component contains an implementation of the JSR-170 API and
-    covers the functionality that is not delegated to the SPI
-    implementation.
-
-  * Jackrabbit OCM (jackrabbit-ocm)
-    Object-Content mapping tool for persisting and accessing Java objects
-    in a JCR content repository.
-
-  * Jackrabbit OCM Node Management (jackrabbit-ocm-nodemanagement)
-    This component simplifies registration of node types and namespaces
-    referenced in OCM mapping descriptors.
+About Apache Jackrabbit
+-----------------------
 
-Upgrading to Jackrabbit 1.5
----------------------------
-
-TODO
-
-Upgrading to Jackrabbit 1.4
----------------------------
-
-Apache Jackrabbit 1.4 is fully compatible with the previous 1.x releases.
-A previous Apache Jackrabbit 1.x installation can be upgraded by replacing
-the relevant jar files with the new versions and adding some new dependencies.
-No changes to repository contents are needed.
-
-Jackrabbit 1.4 introduces the SPI layer described above, and in addition to
-it's earlier dependencies the jackrabbit-core component now also needs the
-jackrabbit-spi and jackrabbit-spi-commons components in the classpath.
-
-A number of classes in jackrabbit-jcr-commons have been deprecated, and you
-should check for the suggested replacements if you use those classes in your
-applications.
-
-The Lucene dependency was upgraded to 2.2.0, and so you need to upgrade
-also the lucene-core jar file in your classpath when upgrading
-jackrabbit-core. No index file changes are needed.
-
-Repository configuration has been extended with a number of options for
-storage, locking and indexing strategies. However, no changes to existing
-configuration files are needed unless you want to enable these new features.
-
-Upgrading to Jackrabbit 1.3
----------------------------
-
-Apache Jackrabbit 1.3 is fully compatible with the previous 1.x releases.
-A previous Apache Jackrabbit 1.x installation can be upgraded by replacing
-the relevant jar files with the new versions. No changes to repository
-contents are needed.
-
-See below for a more detailed description of the structural changes in
-the Apache Jackrabbit 1.2 release.
-
-Upgrading to Jackrabbit 1.2
----------------------------
-
-The most notable effect of the component restructuring in the 1.2 release
-was that the previous jackrabbit-core component has been split in three
-pieces: jackrabbit-api, jackrabbit-jcr-commons, and jackrabbit-core. Thus
-you need to replace the previous jackrabbit-core-1.x.jar file with the
-three new jar archives.
-
-The structure of the WebDAV components have also changed. WebDAV support
-now consists of the webapp component jackrabbit-webapp and the libraries
-jackrabbit-webdav and jackrabbit-jcr-server.
-
-The Apache Lucene dependency used for full text indexing has been upgraded
-to version 2.0 in this release. Lucene 2.0 is able to continue using
-existing index files, but you can also manually recreate the index with
-Lucene 2.0 extensions by removing the "index" directories of a closed
-repository. Jackrabbit will automatically re-index content when the
-repository is next started.
-
-Also the Apache Derby dependency has been upgraded to version 10.2.
-Like Lucene, the new Derby version can keep using existing database files.
-New repositories and workspaces will however be created using extensions
-and improvements introduced in the 10.2 version.
-
-Changes and known issues in this release
-----------------------------------------
-
-All the changes (new features, improvements, bug fixes) and known issues
-in this release are listed below. The listing is organized by Jackrabbit
-component and by issue type. The issue identifier and title is listed for
-each change and known issue.
-
-You can look up individual issues for more details in the Jackrabbit
-issue tracker at
-
-    https://issues.apache.org/jira/browse/JCR
-
-Note that some issues may appear more than once in the list below, as
-they may affect more than one component. Generic issues that affect all
-or most components are listed first under the label "jackrabbit".
-
-jackrabbit (since 1.4)
-
-  Improvements
-  [JCR-871]  Provide Readme's for subprojects jcr-mapping and ...
-  [JCR-1619] Update copyright years in READMEs and NOTICEs
-  [JCR-1649] Separate NOTICEs and LICENSEs for binary and source packages
-  [JCR-1751] Update slf4j
-  [JCR-1756] Include OCM in the main Jackrabbit build when using Java 5
-
-jackrabbit-api (since 1.4)
-
-  Improvements
-  [JCR-1342] Create OSGi Bundle Manifest Headers
-  [JCR-1672] Adding Event interface and isLocal()
-
-jackrabbit-classloader (since 1.4.1)
-
-  No changes
-
-jackrabbit-core  (since 1.4.6)
-
-  New features
-  [JCR-954]  Allow to disable referential integrity checking for workspace
-  [JCR-1171] Contribute Pluggable Permission and User Management to Jackrabbit
-  [JCR-1462] repository.xml: throw an exception on error
-  [JCR-1607] Add a NamespaceHelper in jcr-commons
-  [JCR-1717] Configure occurrence of property value in excerpt
-
-  Improvements
-  [JCR-1005] More Fine grained Permission Flags
-  [JCR-1087] Maintain the cluster revision table
-  [JCR-1237] Change default value for respectDocumentOrder
-  [JCR-1290] tm-extractors.jar blocks usage of newer poi versions
-  [JCR-1308] Unnecessary null check in EffectiveNodeType....
-  [JCR-1309] Refactor DBMS support for JNDI datasources
-  [JCR-1313] Additional excerpt provider implementation
-  [JCR-1337] Optimize first execution queries for DescendantSelfAxisWeight/...
-  [JCR-1347] Move Jackrabbit Query Parser from core to spi-commons
-  [JCR-1363] Migrate to Lucene 2.3
-  [JCR-1365] Query path constraints like foo//*/bar do not scale
-  [JCR-1369] indexing-rules should allow wildcards for (global) property names
-  [JCR-1371] [PATCH] unnecessary synchronized collections used only in ...
-  [JCR-1377] Reduce memory usage of DocNumberCache
-  [JCR-1378] Remove SessionImpl dependency from QueryObjectModelFactoryImpl
-  [JCR-1388] Jackrabbit does not allow concurrent reads to the data store ...
-  [JCR-1394] FileDataStore Garbage Collector and empty directories
-  [JCR-1395] Use Commons IO 1.4
-  [JCR-1397] Allow query results with unknown size
-  [JCR-1407] [PATCH] Trivial Javadoc fix for RepositoryConfig
-  [JCR-1413] [PATCH] retain exception stack traces
-  [JCR-1420] Add test for Node.restore() may throw InvalidStateException
-  [JCR-1424] [PATCH] simplify conversion of strings to primitives by using ...
-  [JCR-1425] [PATCH] reduce duplicate conversions from OffsetCharSequence ...
-  [JCR-1430] mvn eclipse:eclipse inconsistent
-  [JCR-1445] [PATCH] Use entrySet iterators to avoid map look ups in loops
-  [JCR-1465] Configurable Similarity
-  [JCR-1471] Error when registering nodetype with same propdef as supertype
-  [JCR-1479] [PATCH] don't use the reflective form of {Collection}.toArray
-  [JCR-1485] Introduce daily integration test suite
-  [JCR-1488] Node deleted while query is executed should not affect result ...
-  [JCR-1510] [PATCH] more verbose exception messages (BatchedItemOperations)
-  [JCR-1520] DatabaseFileSystem's logger references the wrong class
-  [JCR-1531] [PATCH] Add Column and line numbers to repository.xml parse ...
-  [JCR-1538] [patch] add toString for NodeImpl and PropertyImpl
-  [JCR-1570] [PATCH] better exception messages when generating schema
-  [JCR-1575] [PATCH] cleanup unwanted stream closing that isn't used
-  [JCR-1579] Improved XML export handling
-  [JCR-1600] Remove noLockHack in SharedItemStateManager
-  [JCR-1603] Remove getSafeJCRPath methods in HierarchyManagerImpl
-  [JCR-1672] Adding Event interface and isLocal()
-  [JCR-1674] Provide means for exception handling for QueryNodeVisitor ...
-  [JCR-1686] Catch Throwables while calling TextExtractors
-  [JCR-1696] Add PlainTextExtractor to default configuration of ...
-  [JCR-1699] Do not log warning when coercing value in query is not possible
-  [JCR-1700] Deprecate NamespaceListener and AbstractNamespaceResolver
-  [JCR-1705] Reduce memory usage of transient nodes
-  [JCR-1709] Remove Serializable on ItemState classes
-  [JCR-1710] Promote ChildNodeEntry and ChildNodeEntries to top level classes.
-  [JCR-1715] Prevent excessive Path.Element instances
-  [JCR-1716] Prefer PathFactory.createElement() over createPath()....
-  [JCR-1739] Do not use deletable anymore
-  [JCR-1742] CacheManager resizeAll is slow
-  [JCR-1745] Mark pending nodes in IndexingQueue directly in index
-  [JCR-1775] Transaction-safe versioning
-  [JCR-1789] Provide access to cluster records
-
-  Bug fixes
-  [JCR-1466] ConfigurationException constructors are package private
-  [JCR-1563] Data Store: UTFDataFormatException when using large ...
-  [JCR-1572] DbDataStore connection does not always reconnect
-  [JCR-1580] Typo in PropertyDefinitionTemplate
-  [JCR-1581] ClassCastException when registering new node type
-  [JCR-1582] Parameters 'idleTime' and 'queryClass' cause QueryHandler to fail
-  [JCR-1601] Occasional NullPointerException in ItemManager
-  [JCR-1611] Registering NodeType from templates throws exception about ...
-  [JCR-1622] Session.getUserID returns first principal in the set obtained ...
-  [JCR-1640] Not configuring the adminId, anonymousId, or defaultuserId ...
-  [JCR-1641] DefaultLoginModule/SimpleLoginModule don't support custom ...
-  [JCR-1647] UserManager throws javax.jcr.query.InvalidQueryException on ...
-  [JCR-1694] System properties does not get replaced in a Cluster ...
-  [JCR-1703] Oracle JNDI DataSource support
-  [JCR-1714] QueryImpl result offSet must be considered after security ...
-  [JCR-1734] Generated cluster node id should be persisted
-  [JCR-1738] BeanConfig may incorrectly throw ConfigurationException
-  [JCR-1764] Occasional IndexingQueueTest failures
-
-  Known issues
-  [JCR-43]   Restore on nodes creates same-name-sibling of ...
-  [JCR-320]  BinaryValue equals fails for two objects with ...
-  [JCR-392]  Querying element by number does not work
-  [JCR-435]  Node.update() does not work correct for SNS
-  [JCR-449]  inconsistency in internal version items during commits
-  [JCR-517]  Reserved status of namespace jcr not enforced
-  [JCR-522]  XPath parser too tolerant
-  [JCR-537]  Failure to remove a versionable node
-  [JCR-538]  failing Node.checkin() or Node.checkout() might leave ...
-  [JCR-566]  Versioning bug with restore and transactions
-  [JCR-575]  unicode escapes in files generated by JJTree
-  [JCR-591]  XPath position function does not work
-  [JCR-639]  Allow modification of OPV=IGNORE items even if parent ...
-  [JCR-643]  Own AccessManager + VersionManager : AccessDenied problem
-  [JCR-690]  Nodes' and properties' names with invalid XML ...
-  [JCR-709]  ArrayStoreException is thrown when jcr:deref() is used ...
-  [JCR-777]  Order by clause using child axis does not throw ...
-  [JCR-843]  XPath does not work with sub-axes
-  [JCR-888]  javax.jcr.NamespaceException: : is not a registered namespace uri
-  [JCR-908]  Unable to properly restore a previous version of a node that ...
-  [JCR-932]  Lossy SQL parsing
-  [JCR-935]  ConcurrentModificationException during logout (cont'd)
-  [JCR-936]  Using Oracle bundle PM throws SQL exception (cannot insert NULL)
-  [JCR-983]  fn:upper accepted in too many places
-  [JCR-1002] QueryManager does not throw exception if property name ...
-  [JCR-1117] Bundle cache is not rolled back when the storage of a ...
-  [JCR-1135] boolean value constraints exposed in custom format
-  [JCR-1173] Session scoped lock has no effect on other cluster nodes
-  [JCR-1187] Asking a property twice for it's stream returns the same ...
-  [JCR-1211] QueryManager does not throw exception if jcr:deref is used in ...
-  [JCR-1223] Occasional NPE on node checkin
-  [JCR-1248] ParseException if search string ends with '!'
-  [JCR-1334] Deadlock with XA enabled
-  [JCR-1360] Parsing built-in CND and XML nodetypes does not result in ...
-  [JCR-1367] Exception when closing connection under db2
-  [JCR-1387] Lock token not removed from session when node is removed
-  [JCR-1440] NPE Thrown when two Cluster Nodes are hitting the same ...
-  [JCR-1532] ERROR 40XD0: Container has been closed exception with Derby DB
-  [JCR-1549] XATest#testXAVersionsThoroughly fails if 2 checks are ...
-  [JCR-1553] ClusterNode not properly shutdown when repository has shutdown
-  [JCR-1558] Namespace not registered yet prevent ...
-  [JCR-1573] Lucene Query Exception: 'attempt to access a deleted ...
-  [JCR-1605] RepositoryLock does not work on NFS sometimes
-  [JCR-1613] REMOVE access is not checked when moving a node
-  [JCR-1626] The resource committed at the first server via WebDAV does ...
-  [JCR-1633] When node is created and locked in same transaction, ...
-  [JCR-1634] In XA transaction session.addLockToken() does not have effect
-  [JCR-1637] The GarbageCollector ignores InterruptedException and so ...
-  [JCR-1648] Database reconnect during shutdown
-  [JCR-1660] Consistency check / fix skips system nodes
-  [JCR-1666] After transaction rollback session may become 'corrupt'
-  [JCR-1668] After RepositoryImpl instance has been created and shut ...
-  [JCR-1670] NPE when clustered JR queries version history on a node that ...
-  [JCR-1693] JNDIDatabaseJournal doesn't work with "oracle" schema ...
-  [JCR-1707] Node.setProperty(String, String, PropertyType.UNDEFINED) ...
-  [JCR-1729] Node#addNode failes with AccessDeniedException if session ...
-  [JCR-1773] shareable nodes: wrong path returned, causes remove() to ...
-  [JCR-1778] BindableRepositoryFactory doesn't handle repository shutdown
-  [JCR-1779] recursion problem in indexing configuration
-
-jackrabbit-jca (since 1.4)
-
-  Improvements
-  [JCR-1631] Replace commons-logging dependency with SLF4J
-
-  Bug fixes
-  [JCR-1630] Missing third party notices and license info
-  [JCR-1667] JCARepositoryManager does not close InputStream used to ...
-  [JCR-1682] Session returned does not offers transaction support
-
-  Known issues
-  [JCR-607]  Importing XML at root level using a session from JCA ...
-  [JCR-609]  Empty custom_nodetypes.xml after restart
-  [JCR-769]  Unable to login with two different Credentials to the same ...
-  [JCR-861]  Connector should support LocalTransaction as well as XATransaction
-  [JCR-1035] Jackrabbit JCA - The client can bypass the managed connection ...
-  [JCR-1077] Changelog not persisted during two phase commit in prepare phase
-  [JCR-1334] Deadlock with XA enabled
-  [JCR-1496] Problem to invoke createDataStoreGarbageCollector() in ...
-  [JCR-1597] JCARepositoryHandle.login(...) methods never throw ...
-  [JCR-1665] In JCAConnectionRequestInfo, equals() and hashCode() ...
-  [JCR-1692] jackrabbit exceptions on jboss shutdown
-
-jackrabbit-jcr-commons (since 1.4.2)
-
-  New features
-  [JCR-1350] Add a serializing content handler
-  [JCR-1607] Add a NamespaceHelper in jcr-commons
-  [JCR-1697] Simple Google style query
-
-  Improvements
-  [JCR-1342] Create OSGi Bundle Manifest Headers
-  [JCR-1416] [PATCH] No need to call toString on a String
-  [JCR-1486] Introduce Timer idle time
-  [JCR-1579] Improved XML export handling
-  [JCR-1617] Remove commons-collections and slf4j-api dependencies from jcr-commons
-  [JCR-1636] Make shutdown hooks in TransientFileFactory removable
-  [JCR-1698] Remove unnecessary TestAll classes in jcr-commons
-
-  Bug fixes
-  [JCR-1331] Improper deprecation of Locked class
-  [JCR-1355] XML import should not access external entities
-  [JCR-1396] DateValue.getDate not a copy
-  [JCR-1495] NamespaceAdder.addNamespace throws ClassCastException
-  [JCR-1669] Text.isDescendant returns false if parent is '/'
-  [JCR-1706] Fix unexpected behavior of Text.getName()
-
-  Known issues
-  [JCR-1668] After RepositoryImpl instance has been created and shut ...
-
-jackrabbit-jcr-rmi (since 1.4.1)
-
-  Improvements
-  [JCR-1317] Add a MBean method to programatically create a new Workspace.
-  [JCR-1342] Create OSGi Bundle Manifest Headers
-  [JCR-1343] Replace xerces for serialization by JAXP
-
-  Bug fixes
-  [JCR-1333] jackrabbit-jcr-rmi: Supplied javax.transaction.xa.Xid is ..
-  [JCR-1406] Add the org.apache.jackrabbit.rmi.jackrabbit package to the ...
-  [JCR-1454] NullPointerException may be thrown when trying to enumerate ...
-
-  Known issues
-  [JCR-1643] ClientObservationManager causes null pointer
-
-jackrabbit-jcr-server (since 1.4.1)
-
-  New features
-  [JCR-1607] Add a NamespaceHelper in jcr-commons
-
-  Improvements
-  [JCR-1391] [PATCH] remove minor unneeded code stutter
-
-  Bug fixes
-  [JCR-1364] DirListingExportHandler: Should not implement PropertyHandler
-  [JCR-1504] MS Excel Mime Type missing in MsExcelTextExtractor
-  [JCR-1790] terminology: source uses "protected property" for something ...
-
-  Known issues
-  [JCR-1348] simple-webdav: Dav:auto-version property not handled properly
-  [JCR-1352] illegal format for WebDAV lock tokens
-  [JCR-1616] Spi2Dav / 283 Conflict: Creation of PropertyInfoImpl fails ...
-  [JCR-1768] DeltaV: missing support for DAV:supported-method-set and ...
-  [JCR-1787] XmlHandler export functions don't work in XML repository mode ...
-
-jackrabbit-jcr-servlet (since 1.4)
-
-  No changes
-
-jackrabbit-jcr-tests (since 1.4)
-
-  Bug fixes
-  [JCR-1361] Lock test assumes that changes in one session are immediately ...
-  [JCR-1468] LockTest.testLogout fails to refresh session before checking ...
-  [JCR-1497] Incorrect decodedAttributeValue in AbstractImportXmlTest
-  [JCR-1535] Some tests assume that an implementation of javax.jcr.Item ...
-  [JCR-1689] Multiple tests test for locking instead of versioning
-
-  Known issues
-  [JCR-509]  TCK:NodeTest#testNodeIdentity fails if versioning ...
-  [JCR-714]  TCK: Test root path not escaped when used in XPath queries
-  [JCR-752]  Test cases leak sessions
-  [JCR-759]  handling of namespace registrations in AbstractJCRTest
-  [JCR-1094] TCK assumes that repository does not automatically add mixins ...
-  [JCR-1102] bad test assumptions in SQLJoinTest
-  [JCR-1129] bad test assumptions in versioning tests
-  [JCR-1130] bad test assumptions in TextNodeTest with respect to ...
-  [JCR-1161] Export test cases fail with Java 5 on Mac OS X
-  [JCR-1164] Bad test assumptions in observation tests
-  [JCR-1307] TCK: Attribute values may be normalized in document view exports
-  [JCR-1335] bad assumptions on QueryResult.getIterator() semantics in ...
-  [JCR-1411] test session leaks
-  [JCR-1463] TCK: testRestore assumes too much about OPV=VERSION
-
-jackrabbit-jcr2spi (since 1.4)
-
-  New features
-  [JCR-1350] Add a serializing content handler
-
-  Improvements
-  [JCR-1011] JCR2SPI: add configurable cache for Item instances (ItemManager)
-  [JCR-1327] SPI POM improvements
-  [JCR-1417] [PATCH] remove code stutter
-  [JCR-1577] Remove RepositoryService.getRootId()
-  [JCR-1579] Improved XML export handling
-  [JCR-1585] Remove calls to System.out in tests
-  [JCR-1683] JCR2SPI: Move test execution to SPI2JCR
-  [JCR-1700] Deprecate NamespaceListener and AbstractNamespaceResolver
-  [JCR-1720] Jcr2Spi: configuration entry for size of ItemCache
-  [JCR-1771] jcr2spi: avoid unnecessary roundtrips with NodeEntry....
-
-  Bug fixes
-  [JCR-1490] [PATCH] UpdateTest has two typos
-  [JCR-1578] Jcr2Spi: UpdateTest#testUpdateRemovesExtraProperty and ...
-  [JCR-1638] Redundant calls to RepositoryService.getChildInfos
-  [JCR-1658] Executing query throws ...
-
-  Known issues
-  [JCR-1293] ReorderReferenceableSNSTest failure
-  [JCR-1508] Setting a new property value causes read of previous value
-  [JCR-1799] JCR2SPI: updating events swallowed (CacheBehaviour.OBSERVATION)
-  [JCR-1800] JCR2SPI: lockmgr isn't aware about external locks ...
-
-jackrabbit-spi (since 1.4)
-
-  New features
-  [JCR-1405] SPI: Introduce NodeInfo.getChildInfos()
-  [JCR-1629] SPI: Testsuite for the SPI Interfaces
-
-  Improvements
-  [JCR-1327] SPI POM improvements
-  [JCR-1368] improve documentation of SPI Batch addProperty
-  [JCR-1403] SPI: Describe equality requirements of ItemIds
-  [JCR-1543] Improve reliability of canAddMixin
-  [JCR-1550] Remove ItemInfo.getName() since it is redundant
-  [JCR-1576] Remove RepositoryService exists()
-  [JCR-1577] Remove RepositoryService.getRootId()
-
-  Bug fixes
-  [JCR-1158] jcr2spi spi2dav getProperties returns only cached properties
-  [JCR-1434] SPI: Description of Path.isDescendantOf(Path)
-  [JCR-1514] SPI: Javadoc Issue with QNodeTypeDefinition#getPropertyDefs ...
-
-jackrabbit-spi-commons (since 1.4)
-
-  New features
-  [JCR-1662] Add pattern matching for paths
-
-  Improvements
-  [JCR-1327] SPI POM improvements
-  [JCR-1344] Unsynchronized NameFactoryImpl initialization
-  [JCR-1347] Move Jackrabbit Query Parser from core to spi-commons
-  [JCR-1430] mvn eclipse:eclipse inconsistent
-  [JCR-1494] [PATCH] XPathQueryBuilder reports misleading column numbers ...
-  [JCR-1654] Incorrect slf4j-log4j12 dependency scope in spi-commons
-  [JCR-1663] REFERENCE properties produce duplicate strings in memory
-  [JCR-1674] Provide means for exception handling for QueryNodeVisitor ...
-  [JCR-1675] Provide names for constants in QueryConstants
-  [JCR-1700] Deprecate NamespaceListener and AbstractNamespaceResolver
-  [JCR-1715] Prevent excessive Path.Element instances
-
-  Bug fixes
-  [JCR-1280] Path.equals does not work for other Path implementations
-  [JCR-1409] PathFactoryImpl creates illegal Path objects
-  [JCR-1495] NamespaceAdder.addNamespace throws ClassCastException
-  [JCR-1653] NodeIdImpl is not really serializable
-  [JCR-1688] Query parser builds invalid parse tree
-  [JCR-1750] Creating QValue from stream: stream not closed
-
-jackrabbit-spi2jcr (since 1.4)
-
-  Improvements
-  [JCR-1327] SPI POM improvements
-  [JCR-1683] JCR2SPI: Move test execution to SPI2JCR
-  [JCR-1700] Deprecate NamespaceListener and AbstractNamespaceResolver
-
-jackrabbit-text-extractors (since 1.4)
-
-  New features
-  [JCR-1523] [PATCH] png, apng, mng text extractor
-  [JCR-1561] New MsOutlook Message Extractor
-
-  Improvements
-  [JCR-1533] Update POI dependency to 3.0.2-FINAL
-  [JCR-1534] Use POIExtractor wherever possible
-  [JCR-1567] Upgrade to PDFBox 0.7.3
-  [JCR-1655] Upgrade nekohtml dependency
-  [JCR-1661] Extend mimetype list of text extractors
-  [JCR-1691] Includes new (old) mimetypes that OpenOfficeTextExtractor can handle
-
-  Bug fixes
-  [JCR-1504] MS Excel Mime Type missing in MsExcelTextExtractor
-  [JCR-1530] MsPowerPointTextExtractor does not extract from PPTs with € sign
-  [JCR-1646] NPE in OpenOfficeTextExtractor
-  [JCR-1727] HTMLTextExtractor modifying UTF-8 encoded String
-
-jackrabbit-webapp (since 1.4)
-
-  Improvements
-  [JCR-1631] Replace commons-logging dependency with SLF4J
-
-  Bug fixes
-  [JCR-1364] DirListingExportHandler: Should not implement PropertyHandler
-  [JCR-1545] webapp: troubleshooting.jsp fails
-  [JCR-1596] search.jsp doesn't handle utf-8 parameters correctly
-  [JCR-1598] Problematic exception handling in Jackrabbit WebApp
-  [JCR-1630] Missing third party notices and license info
-  [JCR-1737] JSP page compilation errors when depoyed using oc4j
-
-  Known issues
-  [JCR-1301] Trouble undeploying jackrabbit-webapp from Tomcat
-  [JCR-1457] Restart of RMI-component fails (because it's not released ...
-  [JCR-1763] Possible NPE in installer
-
-jackrabbit-webdav (since 1.4)
-
-  New features
-  [JCR-1733] WebDAV BIND support
-
-  Improvements
-  [JCR-1310] Webdav: Drop xerces dependency
-  [JCR-1615] WebDAV: drop dependency on commons-collections
-  [JCR-1769] RFC4918 feature: PROPFIND/include
-
-  Bug fixes
-  [JCR-1439] MOVE method returns error 412 Precondition Failed
-  [JCR-1571] DavMethodBase#getResponseException fails if the body is not ...
-  [JCR-1623] Typo in the DeltaVConstants class in constant ...
-  [JCR-1782] Destination header not containing URI scheme causes NPE
-  [JCR-1790] terminology: source uses "protected property" for something ...
-
-  Known issues
-  [JCR-406]  If header evaluation compliance problems
-  [JCR-1744] PROPFIND response to a request for a property taht does not ...
-  [JCR-1767] WebDAV XML serialization in JDK 1.4 broken
-  [JCR-1785] If header checking lacks etag checks
-  [JCR-1796] DAV compliance class for observation should use a URI instead ...
-
-jackrabbit-ocm (since 1.4)
-
-  New features
-  [JCR-1467] Hide ugly repository init code for OCM
-  [JCR-1645] Add support for Map of referenced beans
-  [JCR-1721] make collection element names configurable
-  [JCR-1761] OCM:Add the ability to specify name of a Collection Element ...
-
-  Improvements
-  [JCR-876]  ManageableCollectionUtil should not throw "unsupported" ...
-  [JCR-966]  [OCM] Add unit tests with BundleDbPersistenceManager
-  [JCR-1316] ID Field Descriptor is not inherited as is the case with UUID ...
-  [JCR-1404] javadoc writing and generation with mvn
-  [JCR-1505] Improve handling of inherited mixins
-  [JCR-1624] Proxies improvement
-  [JCR-1740] Make ObjectIterator implement RangeIterator interface
-  [JCR-1752] Allow users to disable validation
-  [JCR-1754] The jackrabbit-ocm DTD 1.5 is missing and has to be publish
-  [JCR-1758] Improvement to UndefinedTypeConverterImpl to map super types ...
-  [JCR-1759] Simplify the usage of OCM annotations
-  [JCR-1762] Improvement to MultiValueCollectionConverterImpl to Map ...
-
-  Bug fixes
-  [JCR-1286] FilterImpl.getStringValue() does not use custom converter ...
-  [JCR-1303] Missing derby dependency
-  [JCR-1325] Problems mapping custom collections
-  [JCR-1336] Bug in duplicate mapping check
-  [JCR-1339] ManageableCollectionUtil doesn't support Maps
-  [JCR-1381] Path is not indexed when inserting a new node with SNS
-  [JCR-1385] UUID field not populated when saving a new node
-  [JCR-1398] [PATCH] ClassDescriptor.hasIdField uses faulty logic
-  [JCR-1448] nt:versionedChild problem
-  [JCR-1524] [PATCH] tests use 12 for month which is invalid
-  [JCR-1537] ClassDescriptor.hasIdField() fails if id is declared in upper ...
-  [JCR-1548] Several bugs in last SVN commit
-  [JCR-1757] OCM: translate-project goal not found
-  [JCR-1776] Some unit tests are not well configured
+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. Typical applications that use content repositories include content
+management, document management, and records management systems.
 
-jackrabbit-ocm-nodemanagement (since 1.4)
+For more information, visit http://jackrabbit.apache.org/
 
-  No changes