Hi all, This is my first Jackrabbit release. I would like to take the opportunity to congratulate the Jackrabbit team for their work. Jackrabbit is a very nice project. a BIG Thank also to all OCM committers & contributors. It was a great help.
Best regards, Christophe On Jan 15, 2008 10:48 PM, Jukka Zitting <[EMAIL PROTECTED]> wrote: > The Apache Jackrabbit community is pleased to announce the release of > Apache Jackrabbit version 1.4. The release is available for download > at: > > http://jackrabbit.apache.org/downloads.cgi > > > 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 ... >