Release Notes -- Apache Jackrabbit -- Version 1.5.0 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. TODO: Notable new features See the Apache Jackrabbit website at http://jackrabbit.apache.org/ for more information. 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. 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. 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 jackrabbit-ocm-nodemanagement (since 1.4) No changes