Release Notes -- Apache Jackrabbit -- Version 1.3.3 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.3 is patch release with bug fixes for features like concurrent versioning, journaling, and JCR API tests. See the Apache Jackrabbit website at http://jackrabbit.apache.org/ for more information. Changes in this release ----------------------- [JCR-18] - Multithreading issue with versioning [JCR-774] - TCK: Test that expect that modifications made by Session1 ... [JCR-811] - SetPropertyAssumeTypeTest check for non-protected string ... [JCR-812] - TCK: RestoreTest.testRestoreLabel [JCR-813] - TCK: testSaveMovedRefNode [JCR-862] - unsynchronized access on 'itemCache' map in ItemManager [JCR-884] - DatabaseJournal assigns same revision id to different ... [JCR-905] - Clustering: race condition may cause duplicate entries ... [JCR-962] - Deadlocks in ConcurrentVersioningWithTransactionsTest [JCR-978] - Remove circular dependency between VersionManagerImpl ... [JCR-1008] - SerializationTest leaks sessions [JCR-1034] - Unable to save session after saving a renamed node [JCR-1038] - java.lang.ArrayIndexOutOfBoundsException while importXML ... [JCR-1039] - Bundle Persistence Manager error - failing to read bundle ... [JCR-1049] - DatabaseFileSystem: mysql.ddl works for mysql5 but not ... [JCR-1051] - MatchAllScorer calculateDocFilter() bug [JCR-1055] - Incorrect node position after import [JCR-1065] - Workspace{Copy|Move}VersionableTest assumptions on ... [JCR-1068] - NamespaceRegistryTest.testRegisterNamespace test ... [JCR-1069] - SerializationTest and AbstractImportXmlTest leak ... [JCR-1071] - PROPPATCH on collection gets 403 Forbidden [JCR-1074] - PredefinedNodeTypeTest..getNodeTypeSpec handling ... [JCR-1076] - Some tests try to add new nodes without specifying ... [JCR-1078] - ChangeLog serialization causes cache inconsistencies [JCR-1081] - bad test assumptions in org.apache.jackrabbit.test.api.lock [JCR-1082] - cache getting out of sync with transientstore causes ... [JCR-1083] - SQL parser chokes on prefixes containing a "-" character [JCR-1088] - WorkspaceRestoreTest extends RestoreTest [JCR-1090] - Superfluous AndQueryNode in query tree built by SQL parser [JCR-1092] - Bundle persistence managers node id key store/load is ... [JCR-1095] - ReferencesPropertyTest can't deal with multivalued ... [JCR-1096] - Problems with custom nodes in journal [JCR-1101] - Observation tests should throw NotExecutableException ... [JCR-1109] - Resource association not compliant to JTA spec [JCR-1110] - GetReferencesNodeTest test assumptions [JCR-1120] - RemoveVersionTest.testReferentialIntegrityException ... [JCR-1121] - full text search tests use incorrect character for ... [JCR-1128] - XML import always throws ItemExistsException when ... [JCR-1137] - test cases relying on Node.equals() [JCR-1141] - LockOperation - In a clustered environment, a lock ... 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.3-src.jar) The main source archive contains a "jackrabbit-1.3.3-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.3-src.jar $ cd jackrabbit-1.3.3-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.3.jar) Interface extensions that Apache Jackrabbit supports in addition to the standard JCR API. * Jackrabbit JCR Commons (jackrabbit-jcr-commons-1.3.3.jar) General-purpose classes for use with the JCR API. * Jackrabbit JCR Tests (jackrabbit-jcr-tests-1.3.3.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.3.jar) Core of the Apache Jackrabbit content repository implementation. * Jackrabbit Text Extractors (jackrabbit-text-extractors-1.3.3.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.3.jar) RMI network layer for the JCR API. * Jackrabbit WebDAV Library (jackrabbit-webdav-1.3.3.jar) Interfaces and common utility classes used for building a WebDAV server or client. * Jackrabbit JCR Server (jackrabbit-jcr-server-1.3.3.jar) WebDAV servlet implementations based on JCR. * Jackrabbit Repository Classloader (jackrabbit-classloader-1.3.3.jar) Java classloader for loading classes from JCR content repositories. * Jackrabbit Web Application (jackrabbit-webapp-1.3.3.war) Deployable Jackrabbit installation with WebDAV support for JCR. * Jackrabbit JCA Resource Adapter (jackrabbit-jca-1.3.3.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.