Release Notes -- Apache Jackrabbit -- Version 1.3.4 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.3.4 is patch release with ... See the Apache Jackrabbit website at http://jackrabbit.apache.org/ for more information. Changes in this release ----------------------- New features [JCR-954] - Allow to disable referential integrity checking for workspace [JCR-1112] - CacheManager interval between recalculation of cache sizes ... [JCR-1428] - Add API for selective bundle consistency check ... Improvements [JCR-948] - Support for JNDI configuration of BundleDbPersistenceManager [JCR-1116] - Database persistence managers: log database and driver ... [JCR-1209] - NodeImpl.checkout() calls save() two times [JCR-1400] - Backport JCR-940: add db connection autoConnect for ... [JCR-1421] - Backport JCR-1111: Accesss to version history results ... Bug fixes [JCR-1185] - building trunk fails with javacc plugin version 2.2 [JCR-1305] - JNDI data sources with BundleDbPersistenceManager: ... [JCR-1399] - Backport JCR-1197: Node.restore() may throw ... Release Contents ---------------- The release consists of a single source archive and a number of pre-compiled binary component archives. * Jackrabbit source code (jackrabbit-1.3.4-src.jar) The main source archive contains a "jackrabbit-1.3.4-src" directory with the full released source code and build environment. Use the following commands (or the equivalent in your system) to build all the released components with Maven 2: $ jar xf jackrabbit-1.3.4-src.jar $ cd jackrabbit-1.3.4-src $ mvn install The components contained in the released source archive are listed below (with the pre-compiled binary archives in parenthesis): * Jackrabbit API (jackrabbit-api-1.3.4.jar) Interface extensions that Apache Jackrabbit supports in addition to the standard JCR API. * Jackrabbit JCR Commons (jackrabbit-jcr-commons-1.3.4.jar) General-purpose classes for use with the JCR API. * Jackrabbit JCR Tests (jackrabbit-jcr-tests-1.3.4.jar) 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-1.3.4.jar) Core of the Apache Jackrabbit content repository implementation. * Jackrabbit Text Extractors (jackrabbit-text-extractors-1.3.4.jar) Full text extraction for for Jackrabbit. Includes support for example for Adobe PDF and MS Excel, PowerPoint and word files. * Jackrabbit JCR-RMI (jackrabbit-jcr-rmi-1.3.4.jar) RMI network layer for the JCR API. * Jackrabbit WebDAV Library (jackrabbit-webdav-1.3.4.jar) Interfaces and common utility classes used for building a WebDAV server or client. * Jackrabbit JCR Server (jackrabbit-jcr-server-1.3.4.jar) WebDAV servlet implementations based on JCR. * Jackrabbit Repository Classloader (jackrabbit-classloader-1.3.4.jar) Java classloader for loading classes from JCR content repositories. * Jackrabbit Web Application (jackrabbit-webapp-1.3.4.war) Deployable Jackrabbit installation with WebDAV support for JCR. * Jackrabbit JCA Resource Adapter (jackrabbit-jca-1.3.4.rar) J2EE Connector Architecture (JCA) resource adapter for Jackrabbit. All files contain a README.txt file with more information. Note that external runtime dependencies are only included for the war and rar archives. Other dependencies can be downloaded either manually or automatically using the Maven build system. Each release file is accompanied by SHA1 and MD5 checksums and a PGP signature. The public key used for the signatures can be found in the KEYS file located in the parent directory. 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. This release replaces the previous jackrabbit-index-filters component with an improved jackrabbit-text-extractors component. An existing Jackrabbit installation can be upgraded to use the new text extraction components by deploying the new jackrabbit-text-extractors jar file and updating the relevant search index configuration. Jackrabbit still supports old index filter configurations, but to use them you need to leave the old jackrabbit-index-filters jar file in place. 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. Known issues in this release ---------------------------- The known issues in this release are listed below: [JCR-43] - Restore on node creates same-name-sibling of OPV-Version ... [JCR-320] - BinaryValue equals fails for two objects with two different ... [JCR-392] - Querying element by number does not work [JCR-406] - If header evaluation compliance problems [JCR-435] - Node.update() does not work correct for SNS [JCR-449] - inconsistency in internal version items during commits [JCR-509] - TCK: NodeTest#testNodeIdentity fails if versioning and ... [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-607] - Importing XML at root level using a session from JCA ... [JCR-609] - Empty custom_nodetypes.xml after restart [JCR-639] - Allow modification of OPV=IGNORE items even if parent ... [JCR-643] - Own AccessManager + VersionManager : AccesDenied problem [JCR-674] - String properties with invalid XML characters export as ... [JCR-690] - Nodes' and properties' names with invalid XML characters ... [JCR-709] - ArrayStoreException is thrown when jcr:deref() is used ... [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-769] - Unable to login with two different Credentials to same ... [JCR-777] - Order by clause using child axis does not throw ... [JCR-832] - BundleDBPersistenceManager does not free blobStore resources [JCR-843] - XPath does not work with sub-axes [JCR-853] - [PATCH] Jackrabbit disallows some nodetype changes which ... [JCR-861] - Connector should support LocalTransaction as well as ... [JCR-908] - Unable to properly restore a previous version of a node ... [JCR-932] - lossy SQL parsing [JCR-935] - ConcurrentModificationException during logout (cont'd) [JCR-936] - Using Oracle bundle PM throws SQL exception (cannot ... [JCR-960] - Duplicate Folder of the same name in JCR webdav, could ... [JCR-983] - fn:upper accepted in too many places [JCR-1002] - QueryManager does not throw exception if property name ... [JCR-1013] - Connection.setAutoCommit(...) fails if connection is ... [JCR-1035] - Jackrabbit JCA - The client can bypass the managed ... [JCR-1046] - Non-versionable children of a versionable node should ... [JCR-1075] - Error with predicate in query with multiple jcr:deref() [JCR-1077] - Changelog not persisted during two phase commit in ... [JCR-1094] - TCK assumes that repository does not automatically ... [JCR-1098] - (more) spurious nodes in parsed SQL query tree [JCR-1102] - bad test assumptions in SQLJoinTest [JCR-1117] - Bundle cache is not rolled back when the storage of ... [JCR-1129] - bad test assumptions in versioning tests [JCR-1130] - bad test assumptions in TextNodeTest with respect ... [JCR-1134] - bad assumptions in VersionHistoryTest... [JCR-1135] - boolean value constraints exposed in custom format [JCR-1148] - NullPointerException in ItemState See the issue tracker at http://issues.apache.org/jira/browse/JCR for more details.