You are viewing a plain text version of this content. The canonical link for it is here.
Posted to announce@jackrabbit.apache.org by Jukka Zitting <ju...@apache.org> on 2007/04/25 11:52:23 UTC

[ANNOUNCE] Apache Jackrabbit 1.3 released

The Apache Jackrabbit community is pleased to announce the release of
Apache Jackrabbit version 1.3. The release is available for download
at:

    http://jackrabbit.apache.org/downloads.cgi


Release Notes -- Apache Jackrabbit -- Version 1.3

Introduction
------------

Apache Jackrabbit is a fully conforming implementation of the Content
Repository for Java Technology API (JCR). A content repository is a
hierarchical content store with support for structured and
unstructured content, full text search, versioning, transactions,
observation, and more. Typical applications that use content
repositories include content management, document management, and
records management systems.

Apache Jackrabbit 1.3 is an incremental feature release. The most
notable changes in this release are support for query result
highlighting, performance improvements thanks to a new bundle
persistence manager, and a new classloader component for loading Java
classes from a content repository. Many smaller improvements and bug
fixes are also included.

See the Apache Jackrabbit website at http://jackrabbit.apache.org/ for
more information.

Changes in this release
-----------------------

New features

  [JCR-650] - SimpleJbossAccessManager
  [JCR-755] - Add Bundle Persistence Managers
  [JCR-757] - Allow multiple producers to feed/consume journal
  [JCR-820] - Add support for query result highlighting
  [JCR-837] - MatchAllQuery does not implement extractTerms()
  [JCR-850] - Promote the classloader component from contrib

Improvements

  [JCR-390] - Move text extraction into a background thread
  [JCR-415] - Enhance indexing of binary content
  [JCR-689] - Minimize calls to PersistenceManager
  [JCR-694] - Remove query handler idleTime
  [JCR-697] - .war distribution should be configurable, prompting you ...
  [JCR-701] - Upgrade to Xerces 2.8.1
  [JCR-704] - Enable maven-source-plugin
  [JCR-706] - RTFTextExtractor should also support mime type text/rtf
  [JCR-717] - Upgrade to SLF4J 1.3
  [JCR-725] - Configuration of CacheManager memory sizes
  [JCR-726] - Improve NodeTypeRegistry.effectiveNodeType()
  [JCR-734] - Update namespace uri for prefix fn
  [JCR-749] - Add myqsql ddl for clustering (DatabaseJournal)
  [JCR-760] - Default blob size for mysql ddl too small
  [JCR-765] - DatabasePersistenceManager: don't log exceptions for each ...
  [JCR-766] - Remove Maven 1 files
  [JCR-767] - Use Maven dependency management
  [JCR-770] - Path should implement Serializable
  [JCR-776] - More verbose message on reference constraint violation
  [JCR-791] - Improve performance of MatchAllScorer
  [JCR-801] - Support for single-workspace repositories
  [JCR-803] - Improve performance of DescendantSelfAxisQuery
  [JCR-804] - Avoid using MultiTermDocs
  [JCR-805] - Introduce a temprary cache for intermediate query results
  [JCR-807] - UUIDDocId should check IndexReader using equals()
  [JCR-808] - Better error message for non-trivial nodetype changes
  [JCR-809] - Misleading method names in SetValueBinaryTest
  [JCR-810] - Typos in method names in test classes ...
  [JCR-818] - test granularity for calendar (date) properties
  [JCR-830] - SetValueBinaryTest: some repositories have constraints on ...
  [JCR-846] - support for DB2 in BundleDbPersistenceManager
  [JCR-847] - Provide a Method getCredentialsProvider to the ...

Bug fixes

  [JCR-622] - Auto Reconnect for RMI Repository
  [JCR-692] - XMLPersistenceManager fails after creating too many ...
  [JCR-700] - Tests fail with NoClassDefFoundError: org/w3c/dom/...
  [JCR-705] - PdfTextExtractor does not close temp file in case of ...
  [JCR-719] - XPath parser ignores parent axis
  [JCR-720] - TCK: NodeReadMethodsTest#testGetPrimaryItemItemNot...
  [JCR-724] - PropertyReadMethodsTest.testIsSame leaks session
  [JCR-727] - NamespaceRegistryTest uses an invalid URI as namespace URI
  [JCR-737] - unexpected session is used in XATest.testAddNodeCommit()
  [JCR-739] - String literal must not interpret entity references
  [JCR-743] - XA Transaction Recovery
  [JCR-745] - TCK: more tests assuming that 'addMixin' immediately ...
  [JCR-746] - TCK: check for wrong repository descriptor. should be ...
  [JCR-747] - TCK: observation tests are too restrictive
  [JCR-753] - Creation of JavaDoc fails on jackrabbit-jcr-server
  [JCR-756] - Concurrent add/remove child node operations in a ...
  [JCR-773] - Under heavy load, database journal may contain empty ...
  [JCR-780] - Simultaneous updates by multiple sessions might not ...
  [JCR-782] - TCK: LockTest.testGetLock compares Nodes with equals
  [JCR-783] - TCK: SerializationTest.helpTestSaxException casts ...
  [JCR-785] - Updates to multiple workspaces (e.g. in a transaction) ...
  [JCR-786] - OracleBundlePersistenceManager needs special blob ...
  [JCR-787] - Missing equals and hashcode preventing the re-use of ...
  [JCR-792] - after enabling access manager, I can't createNode and ...
  [JCR-795] - Sessions are not logged out in case of exceptions
  [JCR-796] - AbstractQueryTest does not handle unknown result size ...
  [JCR-797] - Typo in the deploy/jboss/4.x/jcr-ds.xml file
  [JCR-798] - ConcurrentModificationException during logout
  [JCR-806] - Scorer.skipTo() does not initialize hits
  [JCR-814] - Oracle bundle PM fails checking schema if 2 users use ...
  [JCR-815] - SQLException with OracleBundle PM in name index
  [JCR-816] - MSSql and MySQL bunlde PM schemas missing definition for ...
  [JCR-821] - Document View Import: ISO 9075-encoded element/attribute ...
  [JCR-824] - Problems with File Copy using WebDAV
  [JCR-825] - WebDAV: LocatorFactoryImplEx doesn't properly evaluate ...
  [JCR-827] - SetValueFormatExceptiontest.testNode() relies on ...
  [JCR-828] - CheckPermissionTest-testCheckPermission() doesn't allow ...
  [JCR-831] - NPE Exception Thrown By AbstractJournal During Commit Operation
  [JCR-835] - Java 1.4 compile error in Eclipse
  [JCR-838] - bad assumptions/error handling in SetValueVersionExceptionTest:
  [JCR-841] - BundleDbPersistenceManager does not work with MySQL
  [JCR-844] - ArrayStoreException while reregistering existing node types
  [JCR-842] - support stores where binary properties are mandatory ...
  [JCR-849] - Bundle persistence name index not case-sensitive in MySQL ...

Release Contents
----------------

The release consists of a single source archive and a number of
pre-compiled binary component archives.

    * Jackrabbit source code (jackrabbit-1.3-src.jar)

        The main source archive contains a "jackrabbit-1.3-src" directory
        with the full released source code and build environment. Use the
        following commands (or the equivalent in your system) to build all
        the released components with Maven 2:

          $ jar xf jackrabbit-1.3-src.jar
          $ cd jackrabbit-1.3-src
          $ mvn install

The components contained in the released source archive are listed
below (with the pre-compiled binary archives in parenthesis):

    * Jackrabbit API (jackrabbit-api-1.3.jar)

        Interface extensions that Apache Jackrabbit supports in
        addition to the standard JCR API.

    * Jackrabbit JCR Commons (jackrabbit-jcr-commons-1.3.jar)

        General-purpose classes for use with the JCR API.

    * Jackrabbit JCR Tests (jackrabbit-jcr-tests-1.3.jar)

        Set of JCR API test cases designed for testing the compliance
        of an implementation. Note that this is not the official JCR TCK!

    * Jackrabbit Core (jackrabbit-core-1.3.jar)

        Core of the Apache Jackrabbit content repository implementation.

    * Jackrabbit Text Extractors (jackrabbit-text-extractors-1.3.jar)

        Full text extraction for for Jackrabbit. Includes support for
        example for Adobe PDF and MS Excel, PowerPoint and word files.

    * Jackrabbit JCR-RMI (jackrabbit-jcr-rmi-1.3.jar)

        RMI network layer for the JCR API.

    * Jackrabbit WebDAV Library (jackrabbit-webdav-1.3.jar)

        Interfaces and common utility classes used for building a
        WebDAV server or client.

    * Jackrabbit JCR Server (jackrabbit-jcr-server-1.3.jar)

        WebDAV servlet implementations based on JCR.

    * Jackrabbit Repository Classloader (jackrabbit-classloader-1.3.jar)

        Java classloader for loading classes from JCR content repositories.

    * Jackrabbit Web Application (jackrabbit-webapp-1.3.war)

        Deployable Jackrabbit installation with WebDAV support for JCR.

    * Jackrabbit JCA Resource Adapter (jackrabbit-jca-1.3.rar)

        J2EE Connector Architecture (JCA) resource adapter for Jackrabbit.

All files contain a README.txt file with more information. Note that
external runtime dependencies are only included for the war and rar
archives. Other dependencies can be downloaded either manually or
automatically using the Maven build system.

Each release file is accompanied by SHA1 and MD5 checksums and a PGP
signature. The public key used for the signatures can be found in the
KEYS file located in the parent directory.

Upgrading to Jackrabbit 1.3
---------------------------

Apache Jackrabbit 1.3 is fully compatible with the previous 1.x
releases. A previous Apache Jackrabbit 1.x installation can be
upgraded by replacing the relevant jar files with the new versions. No
changes to repository contents are needed.

This release replaces the previous jackrabbit-index-filters component
with an improved jackrabbit-text-extractors component. An existing
Jackrabbit installation can be upgraded to use the new text extraction
components by deploying the new jackrabbit-text-extractors jar file
and updating the relevant search index configuration. Jackrabbit still
supports old index filter configurations, but to use them you need to
leave the old jackrabbit-index-filters jar file in place.

See below for a more detailed description of the structural changes in
the Apache Jackrabbit 1.2 release.

Upgrading to Jackrabbit 1.2
---------------------------

The most notable effect of the component restructuring in the 1.2
release was that the previous jackrabbit-core component has been split
in three pieces: jackrabbit-api, jackrabbit-jcr-commons, and
jackrabbit-core. Thus you need to replace the previous
jackrabbit-core-1.x.jar file with the three new jar archives.

The structure of the WebDAV components have also changed. WebDAV
support now consists of the webapp component jackrabbit-webapp and the
libraries jackrabbit-webdav and jackrabbit-jcr-server.

The Apache Lucene dependency used for full text indexing has been
upgraded to version 2.0 in this release. Lucene 2.0 is able to
continue using existing index files, but you can also manually
recreate the index with Lucene 2.0 extensions by removing the "index"
directories of a closed repository. Jackrabbit will automatically
re-index content when the repository is next started.

Also the Apache Derby dependency has been upgraded to version 10.2.
Like Lucene, the new Derby version can keep using existing database
files. New repositories and workspaces will however be created using
extensions and improvements introduced in the 10.2 version.

Known issues in this release
----------------------------

The known issues in this release are listed below:

  [JCR-18] - Multithreading issue with versioning
  [JCR-43] - Restore on nodes creates same-name-sibling of ...
  [JCR-320] - BinaryValue equals fails for two objects with ...
  [JCR-385] - ClassCastException when executing union queries
  [JCR-392] - Querying element by number does not work
  [JCR-406] - If header evaluation compliance problems
  [JCR-435] - Node.update() does not work correct for SNS
  [JCR-449] - inconsistency in internal version items during commits
  [JCR-509] - TCK:NodeTest#testNodeIdentity fails if versioning ...
  [JCR-517] - Reserved status of namespace jcr not enforced
  [JCR-522] - XPath parser too tolerant
  [JCR-537] - Failure to remove a versionable node
  [JCR-538] - failing Node.checkin() or Node.checkout() might leave ...
  [JCR-566] - Versioning bug with restore and transactions
  [JCR-575] - unicode escapes in files generated by JJTree
  [JCR-591] - XPath position function does not work
  [JCR-607] - Importing XML at root level using a session from JCA ...
  [JCR-609] - Empty custom_nodetypes.xml after restart
  [JCR-622] - Auto Reconnect for RepositoryAccessServlet
  [JCR-625] - Memory is not freed up when jackrabbit-server war is ...
  [JCR-639] - Allow modification of OPV=IGNORE items even if parent ...
  [JCR-643] - Own AccessManager + VersionManager : AccessDenied problem
  [JCR-672] - Deadlock on concurrent save/checkin operations possible
  [JCR-674] - String properties with invalid XML characters export ...
  [JCR-690] - Nodes' and properties' names with invalid XML ...
  [JCR-699] - Clustering: re-registration of nodetypes is not ...
  [JCR-709] - ArrayStoreException is thrown when jcr:deref() is used ...
  [JCR-714] - TCK: Test root path not escaped when used in XPath queries
  [JCR-752] - Test cases leak sessions
  [JCR-759] - handling of namespace registrations in AbstractJCRTest
  [JCR-769] - Unable to login with two different Credentials to the same ...
  [JCR-774] - TCK: Test that expect that modifications made by Session1 ...
  [JCR-777] - Order by clause using child axis does not throw ...
  [JCR-778] - Error on query initialization - intermittent
  [JCR-789] - PathElement.equals doesn't handle INDEX_UNDEFINED
  [JCR-790] - Possible deadlock during concurrent operations on ...
  [JCR-799] - AbstractJournal doesn't create deep paths for revision files
  [JCR-811] - SetPropertyAssumeTypeTest check for non-protected string ...
  [JCR-812] - TCK: RestoreTest.testRestoreLabel
  [JCR-813] - TCK: testSaveMovedRefNode
  [JCR-823] - NamespaceRegistryTest makes assumptions about legal names
  [JCR-826] - Node.testAddNodeConstraintViolationExceptionUndefinedNode...
  [JCR-832] - BundleDBPersistenceManager does not free blobStore resources
  [JCR-843] - XPath does not work with sub-axes
  [JCR_848] - javacc-maven-plugin version in jackrabbit-core pom file

See the issue tracker at http://issues.apache.org/jira/browse/JCR for
more details.