| Release Notes -- Apache Jackrabbit -- Version 1.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.4 is an incremental feature release. While |
| remaining compatible with previous releases, Jackrabbit 1.4 introduces |
| a number of new features, improvements and fixes to known issues. The |
| most notable new features in this releases are the new object mapping |
| and service provider components for JCR. The Jackrabbit content |
| repository implementation has been enhanced with a new storage model |
| for binary content, a much improved query and indexing system, and |
| many fixes and improvements especially for concurrent access. Many |
| smaller improvements and bug fixes are also included all over the |
| codebase. |
| |
| See the Apache Jackrabbit website at http://jackrabbit.apache.org/ for |
| more information. |
| |
| Release Contents |
| ---------------- |
| |
| The release consists of a single source archive and a number of |
| pre-compiled binary component archives. |
| |
| * Jackrabbit source code (jackrabbit-1.4-src.jar) |
| |
| The main source archive contains a "jackrabbit-1.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 and Java 1.4: |
| |
| $ jar xf jackrabbit-1.4-src.jar |
| $ cd jackrabbit-1.4-src |
| $ mvn install |
| |
| The OCM components require Java 5 or higher, and you need to |
| build them separately: |
| |
| $ (cd jackrabbit-ocm; mvn install) |
| $ (cd jackrabbit-ocm-nodemanagement; 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.4.jar) |
| |
| Interface extensions that Apache Jackrabbit supports in |
| addition to the standard JCR API. |
| |
| * Jackrabbit JCR Commons (jackrabbit-jcr-commons-1.4.jar) |
| |
| General-purpose classes for use with the JCR API. |
| |
| * Jackrabbit JCR Tests (jackrabbit-jcr-tests-1.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.4.jar) |
| |
| Core of the Apache Jackrabbit content repository implementation. |
| |
| * Jackrabbit Text Extractors (jackrabbit-text-extractors-1.4.jar) |
| |
| Text extractor classes that allow Jackrabbit to extract text content |
| from binary properties for full text indexing. |
| |
| * Jackrabbit JCR-RMI (jackrabbit-jcr-rmi-1.4.jar) |
| |
| RMI network layer for the JCR API. |
| |
| * Jackrabbit WebDAV Library (jackrabbit-webdav-1.4.jar) |
| |
| Interfaces and common utility classes used for building a |
| WebDAV server or client. |
| |
| * Jackrabbit JCR Server (jackrabbit-jcr-server-1.4.jar) |
| |
| WebDAV servlet implementations based on JCR. |
| |
| * Jackrabbit JCR Servlets (jackrabbit-jcr-servlet-1.4.jar) |
| |
| 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-1.4.jar) |
| |
| Java classloader for loading classes from JCR content repositories. |
| |
| * Jackrabbit Web Application (jackrabbit-webapp-1.4.war) |
| |
| Deployable Jackrabbit installation with WebDAV support for JCR. |
| |
| * Jackrabbit JCA Resource Adapter (jackrabbit-jca-1.4.rar) |
| |
| J2EE Connector Architecture (JCA) resource adapter for Jackrabbit. |
| |
| * Jackrabbit SPI (jackrabbit-spi-1.4.jar) |
| |
| 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-1.4.jar) |
| |
| This component contains generic utility classes that might be used |
| to build an SPI implementation. |
| |
| * Jackrabbit SPI2JCR (jackrabbit-spi2jcr-1.4.jar) |
| |
| This component contains a SPI implementation wrapping around an |
| implementation of JSR-170. |
| |
| * Jackrabbit JCR2SPI (jackrabbit-jcr2spi-1.4.jar) |
| |
| 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-1.4.jar) |
| |
| Object-Content mapping tool for persisting and accessing Java objects |
| in a JCR content repository. |
| |
| * Jackrabbit OCM Node Management (jackrabbit-ocm-nodemanagement-1.4.jar) |
| |
| This component simplifies registration of node types and namespaces |
| referenced in OCM mapping descriptors. |
| |
| 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.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. |
| |
| A minor behavioural change to queries containing XPath "not(@property)" |
| constraints was made to make Jackrabbit better conform with the JCR |
| specification. In Jackrabbit 1.3 and before such constraint would match |
| empty multi-valued properties, but in Jackrabbit 1.4 the contraint is true |
| only if the property does not exist. |
| |
| 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 Apache Jackrabbit 1.4 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 |
| |
| http://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 |
| |
| New features |
| [JCR-995] Release the OCM component |
| [JCR-1070] Promotion of SPI from Contrib |
| |
| Improvements |
| [JCR-902] Put JavaDoc resources in src/main/javadoc |
| [JCR-903] Put resource files in java/{main,test}/resources |
| [JCR-957] Set jcr and servlet-api dependency scope to provided |
| [JCR-979] Extend apache parent pom for Apache wide configuration |
| [JCR-988] Configure the maven build for IDE project generation for ... |
| [JCR-1283] Add missing license headers |
| |
| jackrabbit-api |
| |
| Improvements |
| [JCR-1097] Move the XASession interface to jackrabbit-api |
| |
| jackrabbit-classloader |
| |
| No changes |
| |
| jackrabbit-core |
| |
| New features |
| [JCR-202] Add configuration options for search manager |
| [JCR-857] Basic support for fn:name() |
| [JCR-889] Add bundle support for PostgreSQL |
| [JCR-901] Support synonym searches |
| [JCR-906] Introduce similarity function |
| [JCR-907] Create HTML excerpt provider |
| [JCR-926] Global data store for binaries |
| [JCR-989] Modify LazyQueryResultImpl to allow resultFetchSize to be ... |
| [JCR-1073] Add getTotalSize() to QueryResults |
| [JCR-1079] Extend the IndexingConfiguration to allow configuration ... |
| [JCR-1112] CacheManager interval between recalculation of cache sizes ... |
| [JCR-1154] Database Data Store |
| [JCR-1184] Introduce spellchecker functionality based on content in ... |
| [JCR-1276] A Property and a Node Can Have the Same Name |
| [JCR-1295] Tablespace (Filegroup) support for MS SQL Server |
| [JCR-1304] Support system properties in ${...} vars in XML config files |
| |
| Improvements |
| [JCR-314] Fine grained locking in SharedItemStateManager |
| [JCR-564] Remove geronimo JTA as a runtime dependency |
| [JCR-688] Improve name resolution |
| [JCR-691] Let NameException extend RepositoryException |
| [JCR-788] Upgrade to Lucene 2.2 |
| [JCR-860] Add relative path parameter to rep:excerpt() |
| [JCR-863] Use FileLock for locking instead of empty file |
| [JCR-887] DateField class should be public |
| [JCR-896] Unnecessary parsing of Name value |
| [JCR-898] Improve excerpt fragments |
| [JCR-920] rep:excerpt() should also work on properties |
| [JCR-927] DatabaseJournal needs connection reestablishment logic |
| [JCR-928] NodeTypeManagerImpl.hasNodeType should allow unknown prefixes |
| [JCR-940] add db connection autoConnect for BundleDbPersistenceManager. |
| [JCR-943] SQL Server support in clustering module |
| [JCR-948] Support for JNDI configuration of BundleDbPersistenceManager |
| [JCR-949] PostgreSQL support in clustering module |
| [JCR-967] Only search the index for the "jcr:system" tree if needed |
| [JCR-968] Add support for tablespaces to Oracle related classes |
| [JCR-974] Manage Lucene FieldCaches per index segment |
| [JCR-975] NodeImpl.checkin() calls save() three times |
| [JCR-976] Misleading exception message when re-index fails |
| [JCR-982] Each TransactionContext creates new thread |
| [JCR-992] Improve Performance of DescendantSelfAxisQuery |
| [JCR-1041] Avoid using BitSets in ChildAxisQuery to minimize memory usage |
| [JCR-1042] Disable norms for untokenized fields to reduce memory ... |
| [JCR-1057] Log at debug level rather that info in CacheManager |
| [JCR-1061] Allow extendability of RepositoryImpl.WorkspaceInfo |
| [JCR-1063] Disable consistency check per default |
| [JCR-1064] Optimize queries that check for the existence of a property |
| [JCR-1066] Exclude system index for queries that restrict the result ... |
| [JCR-1084] Maintan a stable ordering of properties in xml export |
| [JCR-1085] Remove unused LuceneQueryBuilder.createQuery() method |
| [JCR-1093] Separate initial index creation from MultiIndex construction |
| [JCR-1097] Move the XASession interface to jackrabbit-api |
| [JCR-1111] Accesss to version history results in reading all versions ... |
| [JCR-1114] Remove QueryResultImpl and rename LazyQueryResultImpl to ... |
| [JCR-1116] Database persistence managers: log database and driver ... |
| [JCR-1138] Data store garbage collection |
| [JCR-1156] DatabaseJournal refactoring for subclassing capability |
| [JCR-1162] Improve logging in NodeTypeRegistry.persistCustomNodeTypeDefs |
| [JCR-1169] Distribution of commons classes |
| [JCR-1175] Test cases for all FileSystem implementations |
| [JCR-1178] Rethrow exception with cause in BundleDbPersistenceManager |
| [JCR-1181] Use common base classes in jackrabbit-core and jcr2spi |
| [JCR-1182] Put everything in jackrabbit-spi-commons under ... |
| [JCR-1203] Reorganize test suites |
| [JCR-1209] NodeImpl.checkout() calls save() two times |
| [JCR-1213] UUIDDocId cache does not work properly because of ... |
| [JCR-1214] DocId.UUIDDocId should not have a string attr uuid |
| [JCR-1221] IndexMerger blocks client threads when obsolete index ... |
| [JCR-1222] Index nodes in parallel |
| [JCR-1225] ReadOnlyIndexReaders are re-created on every access |
| [JCR-1229] Remove build.xml from jackrabbit-core |
| [JCR-1234] CachingMultiReader has inconsistent name |
| [JCR-1238] Change default value for maxMergeDocs |
| [JCR-1241] NodeIndexer creates unnecessary string representation of Name ... |
| [JCR-1251] DescendantSelfAxisQuery creates too many object instances |
| [JCR-1252] BundleFsPersistenceManager: remove deprecated settings |
| [JCR-1266] Use creation tick instead of weak references in DocNumberCache |
| [JCR-1273] Unnecessary parsing of Name value |
| [JCR-1278] Add configuration path to SynonymProvider |
| [JCR-1283] Use bundle persistence in default configuration |
| [JCR-1291] Missing class JNDIDatabaseJournal |
| [JCR-1297] Set svn:eol-style on ddl files |
| [JCR-1299] Default configuration not suitable for demo web application |
| |
| Bug fixes |
| [JCR-674] String properties with invalid XML characters export as ... |
| [JCR-832] BundleDBPersistenceManager does not free blobStore resources |
| [JCR-1013] Connection.setAutoCommit(...) fails if connection is managed ... |
| [JCR-1148] NullPointerException in ItemState |
| [JCR-1167] Paths not correct after reordering children |
| [JCR-1170] Repository lock keeps file open |
| [JCR-1176] MemoryFileSystem is different from other FileSystems |
| [JCR-1179] Event filtering by path not working as specified |
| [JCR-1185] building trunk fails with javacc plugin version 2.2 |
| [JCR-1197] Node.restore() may throw InvalidItemStateException |
| [JCR-1217] Aggregate include ignored if no primaryType set |
| [JCR-1235] o.a.j.core.integration.PrepareTestRepository fails on 2nd and ... |
| [JCR-1240] Index segments are only committed on close |
| [JCR-1246] In DatabasePersistenceManager.store(), if the exception is ... |
| [JCR-1250] When adding a large (100MB) binary to the DbDataStore, it ... |
| [JCR-1254] DatabaseJournal commits twice inside a transaction, causing an ... |
| [JCR-1265] Lower-Case Search-Function works with Upper-Case Searchstring |
| [JCR-1270] CompactNodeTypeDefReader does not recognise MIXIN ORDERABLE ... |
| [JCR-1271] NullPointerException when iterating over properties |
| [JCR-1272] Property.getValue() throws RepositoryException with internal error |
| [JCR-1274] ItemStateCache in SharedItemStateManager not properly ... |
| [JCR-1277] ConnectionRecoveryManager is created twice in DBDataStore init ... |
| [JCR-1298] Wrong schemaObjectPrefix parameter in default repository.xml |
| [JCR-1302] ArrayHits does not end properly when skipTo doesn't find document |
| |
| 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-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-1046] Non-versionable children of a versionable node should not ... |
| [JCR-1075] Error with predicate in query with multiple jcr:deref() |
| [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-1227] Restore of empty multivalue property always changes property ... |
| [JCR-1248] ParseException if search string ends with '!' |
| [JCR-1275] NullPointerException in AbstractVersionManager.... |
| [JCR-1288] query parser doesn't handle relative XPath expressions |
| |
| jackrabbit-jca |
| |
| Improvements |
| [JCR-987] Deploy JCA JAR file to maven repository |
| [JCR-1203] Reorganize test suites |
| |
| 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 |
| |
| jackrabbit-jcr-commons |
| |
| New features |
| [JCR-1259] Utility code for filtering and packaging trees |
| |
| Improvements |
| [JCR-742] Abstract JCR base classes |
| [JCR-896] Unnecessary parsing of Name value |
| [JCR-969] better error for unknown date formats |
| [JCR-997] ValueFactory is not extensible |
| [JCR-1152] SPI implementations currently need to provide ... |
| [JCR-1169] Distribution of commons classes |
| [JCR-1206] UUID generation: SecureRandom should be used by default |
| [JCR-1258] Add path encoding to ISO9075 |
| [JCR-1273] Unnecessary parsing of Name value |
| |
| Bug fixes |
| [JCR-674] String properties with invalid XML characters export as ... |
| [JCR-1167] Paths not correct after reordering children |
| [JCR-1292] Deprecated classes point to wrong replacements ... |
| |
| jackrabbit-jcr-rmi |
| |
| Improvements |
| [JCR-958] Use jackrabbit-jcr-commons in jackrabbit-jcr-rmi |
| [JCR-953] Support for transactions when using JCR over RMI. |
| [JCR-959] Remove @author tags in jackrabbit-jcr-rmi |
| |
| Bug fixes |
| [JCR-1226] ServerQuery does not use RemoteAdapterFactory for creating ... |
| |
| jackrabbit-jcr-server |
| |
| New features |
| [JCR-388] add support for RFC 3253 to the simple server |
| [JCR-1188] WebDAV: Allow for Extensions of MimeResolver in the ... |
| |
| Improvements |
| [JCR-723] OpenDocument files missing in mimetypes.properties |
| [JCR-852] Change Log-Level in DefaultIOListener |
| [JCR-1172] Better MimeType Handling |
| [JCR-1210] WebDAV: pack AbstractWebdavServlet with the ... |
| [JCR-1230] Jcr-Server: useful output upon GET to root- and ... |
| [JCR-1262] Deprecated AbstractWebdavServlet should be empty and extend ... |
| [JCR-1263] Move SimpleWebdavServlet to jcr-server and make it abstract |
| [JCR-1268] Move JCRWebdavServerServlet to jcr-server and make it abstrat |
| |
| jackrabbit-jcr-servlet |
| |
| New features |
| [JCR-956] Reusable Repository access and bind servlets |
| |
| Improvements |
| [JCR-419] Request for other RMI binding options in ... |
| |
| jackrabbit-jcr-tests |
| |
| Improvements |
| [JCR-817] TCK vs available property types |
| [JCR-822] TCK: Transfer of lock token should be tested using ... |
| [JCR-947] XMLReader logs fatal error to system out |
| [JCR-1143] NullPointerException in ClassDescriptor |
| [JCR-1224] Release references to JCR items in tearDown |
| |
| Bug fixes |
| [JCR-1134] bad assumptions in VersionHistoryTest.testInitallyGetAll... |
| [JCR-1168] broken test in AddEventListener |
| |
| 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 |
| |
| jackrabbit-jcr2spi |
| |
| New features |
| [JCR-999] SPI: provide batch read functionality |
| [JCR-1009] JCR2SPI: add JNDI support |
| |
| Improvements |
| [JCR-996] Name and Path interfaces in SPI |
| [JCR-1000] JCR2SPI: remove duplicate item states |
| [JCR-1001] SPI: prefer 'Iterator' instead of specialized subclasses |
| [JCR-1004] SPI: Add RepositoryService.getQNodeTypeDefinition |
| [JCR-1017] Favour QValue.getPath() over getString() where appropriate |
| [JCR-1018] introduce QValue.getCalendar() |
| [JCR-1020] Use repository service wide namespace cache |
| [JCR-1022] Reduce calls to RepositoryService.getRepositoryDescriptors() |
| [JCR-1023] Only load item definition when required |
| [JCR-1024] Only load root node definition when required |
| [JCR-1027] SPI: change param order with RepositoryService.createBatch |
| [JCR-1030] Introduce QNodeTypeDefinition cache per userId |
| [JCR-1031] RowIteratorImpl should make use of QueryResultRow.getValues() |
| [JCR-1032] Clean caches in node type registry on session logout |
| [JCR-1108] JCR2SPI: error level logging when cleaning up session locks |
| [JCR-1150] JCR2SPI: several performance improvements pointed out by ... |
| [JCR-1151] avoid converting property values to strings |
| [JCR-1152] SPI implementations currently need to provide ... |
| [JCR-1153] remove support for event bundle IDs |
| [JCR-1159] SPI: improve description of locking methods on RepositoryService |
| [JCR-1166] JCR2SPI does not provide actual size on RangeIterator.getSize() |
| [JCR-1169] Distribution of commons classes |
| [JCR-1181] Use common base classes in jackrabbit-core and jcr2spi |
| [JCR-1182] Put everything in jackrabbit-spi-commons under ... |
| [JCR-1200] allow SPI implementation to compute default values for ... |
| [JCR-1204] Redesign SPI observation |
| [JCR-1231] Jcr2Spi: Unneeded call to getPropertyInfo upon creating a new ... |
| [JCR-1244] No need for NodeReferences in jcr2spi |
| [JCR-1267] Unreachable catch block for NameException in ValueConstraint.java |
| |
| Bug fixes |
| [JCR-674] String properties with invalid XML characters export as ... |
| [JCR-1029] CLONE -Handling of multiple residual prop defs in ... |
| [JCR-1036] JCR2SPI; setProperty(name, date-string) fails when property ... |
| [JCR-1040] JCR2SPI: remove node operation missing in submitted SPI batch |
| [JCR-1056] JCR2SPI: improve ItemDefinitionProviderImpl.getMatching... |
| [JCR-1086] JCR2SPI: Workspace.getImportHandler creates a handler ... |
| [JCR-1103] JCR2SPI: VersionManagerImpl.getVersionableNodeEntry uses ... |
| [JCR-1131] JCR2SPI NodeEntryImpl throws NPE during reorderNodes |
| [JCR-1133] JCR2SPI: VersionHistoryImpl.getQLabels() needs to skip ... |
| [JCR-1149] JCR2SPI: several broken equals() comparisons |
| [JCR-1160] JCR2SPI: test regression for WorkspaceMoveReferenceableTest... |
| [JCR-1183] JCR2SPI: potential race condition in event listener registration |
| [JCR-1245] JCR2SPI: Use namespace decl. present in imported xml to ... |
| [JCR-1296] Exception may get lost in WorkspaceManager.... |
| |
| Known issues |
| [JCR-1293] ReorderReferencableSNSTest failure |
| |
| jackrabbit-spi |
| |
| New features |
| [JCR-999] SPI: provide batch read functionality |
| |
| Improvements |
| [JCR-851] Handling of binary properties (streams) in QValue interface |
| [JCR-996] Name and Path interfaces in SPI |
| [JCR-1000] JCR2SPI: remove duplicate item states |
| [JCR-1001] SPI: prefer 'Iterator' instead of specialized subclasses |
| [JCR-1004] SPI: Add RepositoryService.getQNodeTypeDefinition |
| [JCR-1018] introduce QValue.getCalendar() |
| [JCR-1027] SPI: change param order with RepositoryService.createBatch |
| [JCR-1151] avoid converting property values to strings |
| [JCR-1153] remove support for event bundle IDs |
| [JCR-1155] Wrong link in javadoc of QNodeTypeDefinition |
| [JCR-1159] SPI: improve description of locking methods on RepositoryService |
| [JCR-1190] QValueFactory improvements |
| [JCR-1200] allow SPI implementation to compute default values for ... |
| [JCR-1204] Redesign SPI observation |
| |
| jackrabbit-spi-commons |
| |
| Improvements |
| [JCR-851] Handling of binary properties (streams) in QValue interface |
| [JCR-996] Name and Path interfaces in SPI |
| [JCR-1003] Use inheritance rather than delegation for SPI ValueFactoryImpl |
| [JCR-1007] Move common implementations of SPI interfaces to ... |
| [JCR-1017] Favour QValue.getPath() over getString() where appropriate |
| [JCR-1018] introduce QValue.getCalendar() |
| [JCR-1027] SPI: change param order with RepositoryService.createBatch |
| [JCR-1151] avoid converting property values to strings |
| [JCR-1152] SPI implementations currently need to provide ... |
| [JCR-1153] remove support for event bundle IDs |
| [JCR-1169] Distribution of commons classes |
| [JCR-1182] Put everything in jackrabbit-spi-commons under ... |
| [JCR-1190] QValueFactory improvements |
| [JCR-1200] allow SPI implementation to compute default values for ... |
| |
| Bug fixes |
| [JCR-1179] Event filtering by path not working as specified |
| [JCR-1280] Path.equals does not work for other Path implementations |
| |
| jackrabbit-spi2jcr |
| |
| New features |
| [JCR-999] SPI: provide batch read functionality |
| [JCR-1009] JCR2SPI: add JNDI support |
| |
| Improvements |
| [JCR-996] Name and Path interfaces in SPI |
| [JCR-1000] JCR2SPI: remove duplicate item states |
| [JCR-1001] SPI: prefer 'Iterator' instead of specialized subclasses |
| [JCR-1004] SPI: Add RepositoryService.getQNodeTypeDefinition |
| [JCR-1007] Move common implementations of SPI interfaces to ... |
| [JCR-1027] SPI: change param order with RepositoryService.createBatch |
| [JCR-1153] remove support for event bundle IDs |
| [JCR-1157] Expose namespace registry via workspace instead via session ... |
| [JCR-1159] SPI: improve description of locking methods on RepositoryService |
| [JCR-1169] Distribution of commons classes |
| [JCR-1182] Put everything in jackrabbit-spi-commons under ... |
| [JCR-1204] Redesign SPI observation |
| |
| Bug fixes |
| [JCR-1010] Test failures with spi2jcr in AddEventListenerTest |
| [JCR-1147] spi2jcr: RepositoryServiceImpl.getRootId returns bad NodeId |
| |
| jackrabbit-text-extractors |
| |
| Improvements |
| [JCR-1247] Add Warnlog on Extraction Failure |
| |
| jackrabbit-webapp |
| |
| New features |
| [JCR-388] add support for RFC 3253 to the simple server |
| [JCR-946] Create a sample search page |
| [JCR-961] Add workspace population tool |
| [JCR-1184] Introduce spellchecker functionality based on content in ... |
| [JCR-1188] WebDAV: Allow for Extensions of MimeResolver in the ... |
| [JCR-1289] Error reporting page for jackrabbit-webapp |
| |
| Improvements |
| [JCR-924] Use the Jackrabbit RMI extensions by default in jackrabbit-webapp |
| [JCR-1016] [PATCH] Allow RepositoryAccessServlet to get the Repository ... |
| [JCR-1193] war missing jcr jar |
| [JCR-1210] WebDAV: pack AbstractWebdavServlet with the ... |
| [JCR-1220] WebApp: Ease first access for new users looking for a WebDAV ... |
| [JCR-1268] Move JCRWebdavServerServlet to jcr-server and make it abstract |
| [JCR-1283] Use bundle persistence in default configuration |
| [JCR-1287] jackrabbit-webapp facelift |
| |
| Known issues |
| [JCR-1301] Trouble undeploying jackrabbit-webapp from Tomcat |
| |
| jackrabbit-webdav |
| |
| Improvements |
| [JCR-1210] WebDAV: pack AbstractWebdavServlet with the ... |
| |
| Bug fixes |
| [JCR-1264] IfHeader: Incorrect test for parsing keyword "not" in parseIfList |
| |
| Known issues |
| [JCR-406] If header evaluation compliance problems |
| |
| jackrabbit-ocm |
| |
| New features |
| [JCR-1106] Add simple query method to ObjectContentManager |
| |
| Improvements |
| [JCR-922] jcr mapping layer (OCM) should expose lock owner |
| [JCR-930] [OCM] rename o.a.j.ocm.persistence.PersistenceManager to ... |
| [JCR-1107] ObjectIterator may return null, which is not readily ... |
| [JCR-1113] Refactor the Mapper & DescriptotReader classes |
| [JCR-1115] Remove dependency on Jackrabbit-core |
| [JCR-1119] SimpleFieldsHelper emits a lot warnings |
| [JCR-1144] Investigate ways to compile the refactored jcr-mapping for ... |
| [JCR-1145] ObjectConverterImpl.getObject(Session, Class, String) may ... |
| [JCR-1199] Remove dependency to log4j |
| [JCR-1281] Move ocm documentation to jackrabbit-site |
| [JCR-1282] Publish the jackrabbit-ocm DTD |
| |
| Bug fixes |
| [JCR-864] Bug in UtilDateTypeConverterImpl |
| [JCR-1044] NTCollectionConverterImpl throws a null pointer exception ... |
| [JCR-1054] Duplicate attribute in BeanDescriptor and CollectionDescriptor |
| [JCR-1143] NullPointerException in ClassDescriptor |
| [JCR-1198] Issue while loading list of classes at that path itself |
| [JCR-1285] ObjectContentManagerImpl.getObject(Query) throws ... |
| |
| Known issues |
| [JCR-1286] FilterImpl.getStringValue() does not use custom converter ... |
| |
| jackrabbit-ocm-nodemanagement |
| |
| Improvements |
| [JCR-1025] Node Type Management subproject : Default namespace should ... |