eXist-db 4.7.0

v4.7.0 - May 19, 2019

This release closes a major memory leak introduced in 4.6.0, removes a deadlock condition and fixes a number of bugs.

Features

  • Update to Tika version 1.20 for content extraction module and fix some related bugs
  • Add in-memory buffer to solve performance issue accessing remote eXist via XML:DB API
  • Update EXQuery RESTXQ to 0.1.34, fixes parsing issues with Accept and Content-Type HTTP headers

Bug Fixes

  • XML serializer leaking memory
  • Fix deadlock: memory size from the collection does not need a READ_LOCK, it is an estimate anyway
  • Test suite was not correctly reporting failing tests
  • Fix ByteArrayPool and CharArrayPool memory leaks
  • Fix problems with computed namespace construction
  • When loading XQuery modules dynamically, declared global variables were not analyzed properly
  • Switch out org.exist.util.hashtable implementation for FastUtil. eXist's implementations have problems with hash-collisions and chaining
  • Allow for passing options for ft:search queries. This allows to perform leading-wildcard queries on computed index fields
  • Fix arrow operator and higher order functions: context sequence passed incorrectly
  • Fix broken XQuery Update for 'insert following'
  • Fix ArrayOutOfBoundsException querying doc with enclosed expression and fn:id function
  • Fix EXPath HTTP Client - Previously when override-media-type was set and a charset was specified, the charset was ignored
  • Fix an issue introduced by PR #2367: a lucene index configured with a match attribute should only be created for nodes matching the path, not all descendant nodes

Backwards Compatibility

eXist-db 4.7.0 is binary compatible with the 4.6.1 and 4.6.0 versions of eXist-db. Users who are upgrading should always consult the Upgrading Guide in the documentation.

Downloading this Version

  • eXist-db v4.7.0 is available for download from Bintray.
  • Docker images for are available from eXist-db's DockerHub.
  • Maven artifacts are available from our mvn-repo.
  • Mac users of the Homebrew package repository may acquire eXist 4.7.0 directly from there via. the exist-db cask.

eXist-db 5.0.0 RC7

v5.0.0-RC7 - March 2, 2019

eXist-db 5.0.0-RC7 is a hotfix release. Unfortunately the code restructuring performed in v5.0.0-RC6 caused failures in the Java Service Wrapper. This will especially impact Windows users, who typically start and stop eXist-db as a service. Using a service is the only way on Windows to ensure eXist-db is properly stopped on system shutdown. We thus consider this critical and published a hotfix.

Bug Fixes

  • fix classpath for yajsw Java service wrapper
  • fix jnlp webstart for Java admin client
  • fix test failures depending on github location
  • small fix to util:log functions to output string values without leading and closing quote

eXist-db 4.6.1

v4.6.1 - March 2, 2019

eXist-db 4.6.1 is a hotfix release. Unfortunately the code restructuring performed in v4.6.0 caused failures in the Java Service Wrapper. This will especially impact Windows users, who typically start and stop eXist-db as a service. Using a service is the only way on Windows to ensure eXist-db is properly stopped on system shutdown. We thus consider this critical and published a hotfix.

Bug Fixes

  • fix classpath for yajsw Java service wrapper
  • fix jnlp webstart for Java admin client
  • fix test failures depending on github location
  • small fix to util:log functions to output string values without leading and closing quote

eXist-db 5.0.0 RC6

v5.0.0-RC6 - February 19, 2019

The sixth Release Candidate (RC) for eXist-db 5.0.0 has been released.

eXist-db 5.0.0-RC6 builds atop eXist-db 5.0.0-RC5 with several new features and important bug fixes.

  • NOTE: A Release Candidate is not recommended for production use. We have tested the release extensively, and we now invite all users to report both their positive and negative experiences with it. As always please make sure you have frequent and correct backups of your database.

Features

  • New De-duplicating BLOB store for binary documents - see https://blog.adamretter.org.uk/blob-deduplication/
  • More elaborate XPath expressions in the Lucene index config of collection.xconf are now supported
  • New non-blocking lock-free implementation of the Transaction Manager
  • CData serialization now respects the output:cdata-section-elements option
  • New XQuery function util:eval-and-serialize for dynamic XQuery evaluation and serialization.
  • New XQuery function util:binary-doc-content-digest to retrieve a digest of a Binary Document
  • Adaptive serialization is now used for fn:trace and util:log-* functions
  • Updated Jetty to version 9.4.14.v20181114
  • Updated to JLine version 3
  • Updated to XML:DB API 1.7.0

Bug fixes

  • Fixed Lucene term range queries
  • Copying an XML Resource now correctly removes any nodes that it replaces
  • Fixed a memory leak with XQuery serializers
  • Fixed Garbage Collection churn issue with serialization
  • Fixed Backup/Restore progress reporting
  • XQuery Library Modules on the Java Classpath are now correctly resolved from the importing XQuery module
  • Prevent a NullPointerException in fn:unparsed-text-available
  • Collection permissions are now correctly prefixed 'c' in the Java Admin Client shell
  • Fixed an ArrayOutOfBoundException with array:get
  • Corrected the XPath Error Code for array:get
  • Fixed text alignment of output in the Java Admin Client shell
  • Fixed missing dependencies issue with the Java Admin Client when launched via WebStart
  • When building from source, if required XAR packages are not available, the build will now fail.

Backwards Compatibility

eXist-db 5.0.0-RC5 is not binary compatible with previous versions of eXist-db (including earlier 5.0.0 Release Candidates) because of new BLOB Store, which required changes to the collections.dbx and Journal. Before upgrading to this version of eXist-db, you MUST perform a full backup and restore. Users who are upgrading should always consult the Upgrading Guide in the documentation. For details of backwards compatibility with versions of eXist-db prior to 5.0.0-RC1 please see the Backwards Compatibility details of 5.0.0-RC1.

Downloading this Version

  • eXist-db v5.0.0-RC6 is available for download from Bintray.
  • Docker images for are available from eXist-db's DockerHub.
  • Maven artifacts are available from our mvn-repo.
  • Mac users of the Homebrew package repository may acquire eXist 5.0.0-RC6 directly from there via. the exist-db-rc cask.

eXist-db 4.6.0

v4.6.0 - February 19, 2019

eXist-db 4.6.0 has been released.

eXist-db 4.6.0 builds atop eXist-db 4.6.0 with several new features and important bug fixes.

Features

  • New De-duplicationg BLOB store for binary documents - see https://blog.adamretter.org.uk/blob-deduplication/
  • More elaborate XPath expressions in the Lucene index config of collection.xconf are now supported
  • New non-blocking lock-free implementation of the Transaction Manager
  • CData serialization now respects the output:cdata-section-elements option
  • New XQuery function util:eval-and-serialize for dynamic XQuery evaluation and serialization.
  • New XQuery function util:binary-doc-content-digest to retrieve a digest of a Binary Document
  • Adaptive serialization is now used for fn:trace and util:log-* functions
  • Updated Jetty to version 9.4.14.v20181114
  • Updated to JLine version 3
  • Updated to XML:DB API 1.7.0

Bug fixes

  • Fixed Lucene term range queries
  • Copying an XML Resource now correctly removes any nodes that it replaces
  • Fixed a memory leak with XQuery serializers
  • Fixed Garbage Collection churn issue with serialization
  • Fixed Backup/Restore progress reporting
  • XQuery Library Modules on the Java Classpath are now correctly resolved from the importing XQuery module
  • Prevent a NullPointerException in fn:unparsed-text-available
  • Collection permissions are now correctly prefixed 'c' in the Java Admin Client shell
  • Fixed an ArrayOutOfBoundException with array:get
  • Corrected the XPath Error Code for array:get
  • Fixed text alignment of output in the Java Admin Client shell
  • Fixed missing dependencies issue with the Java Admin Client when launched via WebStart
  • When building from source, if required XAR packages are not available, the build will now fail.

Backwards Compatibility

eXist-db 4.6.0 is not binary compatible with previous versions of eXist-db (including earlier 4.5.x releases) because of new BLOB Store, which required changes to the collections.dbx and Journal. Before upgrading to this version of eXist-db, you MUST perform a full backup and restore. Users who are upgrading should always consult the Upgrading Guide in the documentation.

Downloading this Version

  • eXist-db v4.6.0 is available for download from Bintray.
  • Docker images for are available from eXist-db's DockerHub.
  • Maven artifacts are available from our mvn-repo.
  • Mac users of the Homebrew package repository may acquire eXist 4.6.0 directly from there via. the exist-db-rc cask.