eXist-db 5.0.0 RC 4

## v5.0.0-RC4 - September 21, 2018

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

eXist-db 5.0.0-RC4 builds atop eXist-db 5.0.0-RC3 with a just one new feature, and several small but 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

  • Added a build target for a .tar.bz2 distribution.
  • fn:subsequence was optimised for low memory usage. See Preventing Large Range Counts from Crashing eXist-db.
  • Various optimizations for range sequences.
  • Deflate compression was added to the Compression extension module.
  • Added a runtime configuration option to use MultiLock for Documents as well as Collections.
  • Updated to the latest version of MultiLock library.
  • Password can now be passed via the Command Line to the Java Admin Client.

### Bug fixes

  • Fixed a data-loss issue when reindexing documents which have more than one document-node child.
  • Consistency Check now correctly checks all child nodes of the document not just the document element.
  • Numerous fixes for the XPath preceding-sibling and following-sibling axes.
  • Fixed a problem with incorrect selection on XPath self axis.
  • Numerous fixes for addressing nodes which are direct children of the Document Node.
  • Fixed a problem where XQuery modules could only be loaded from xmldb: style URIs.
  • Fixed a +1 bug in XQuery range expressions.
  • Fixed JMX Output, eXist-db information was previously missed.
  • Fixed an issue with JMX option parsing in Bash start-up scripts.
  • Fixed a bug in the Image extension module's crop function.
  • Fixed various problems in the SQL extension module:
    • Fixed problems with null handling.
    • Resolved several NullPointerException cases.
    • Fixed an issue with empty parameter handling.
  • Removed unnecessary buffering with ByteArrayInputStream.
  • XML:DB Remote API #getContentAsDOM() now returns the correct node type, not just elements.
  • DOM API fixes for #previousSibling(), #nextSibling(), and #getNode().
### Backwards Compatibility eXist-db 5.0.0-RC4 is backwards compatible up to eXist-db 5.0.0-RC1. 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-RC4 is available for download from GitHub. * 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-RC4 directly from there via. the exist-db-rc cask.

eXist-db 4.4.0

## v4.4.0 - September 21, 2018

eXist-db v4.4.0 has just been released. This is a minor release, which contains a few new features and several bug fixes.

We recommend that all users of eXist-db 4.x.x should upgrade to eXist-db 4.4.0.

### Features

  • Added a build target for a .tar.bz2 distribution.
  • fn:subsequence was optimised for low memory usage. See Preventing Large Range Counts from Crashing eXist-db.
  • Various optimizations for range sequences.
  • Deflate compression was added to the Compression extension module.
  • Password can now be passed via the Command Line to the Java Admin Client.

### Bug fixes

  • Fixed a data-loss issue when reindexing documents which have more than one document-node child.
  • Consistency Check now correctly checks all child nodes of the document not just the document element.
  • Numerous fixes for the XPath preceding-sibling and following-sibling axes.
  • Fixed a problem with incorrect selection on XPath self axis.
  • Numerous fixes for addressing nodes which are direct children of the Document Node.
  • Fixed a problem where XQuery modules could only be loaded from xmldb: style URIs.
  • Fixed a +1 bug in XQuery range expressions.
  • Fixed JMX Output, eXist-db information was previously missed.
  • Fixed an issue with JMX option parsing in Bash start-up scripts.
  • Fixed a bug in the Image extension module's crop function.
  • Fixed various problems in the SQL extension module:
    • Fixed problems with null handling.
    • Resolved several NullPointerException cases.
    • Fixed an issue with empty parameter handling.
  • Removed unnecessary buffering with ByteArrayInputStream.
  • XML:DB Remote API #getContentAsDOM() now returns the correct node type, not just elements.
  • DOM API fixes for #previousSibling(), #nextSibling(), and #getNode().
  • Updated the XQuery scheduling functions documentation.
  • Fixed a further issue with quotation of Windows paths in the IzPack installer.

### Backwards Compatibility

  • eXist-db v4.4.0 is backwards binary-compatible as far as eXist-db v3.0, but not with earlier versions. Users who are upgrading should always consult the Upgrading Guide in the documentation.
  • NOTE: The version of Dashboard that was installed with eXist-db 3.6.1 (or earlier) is incompatible with eXist-db 4.0.0 and newer. If you plan to migrate your entire database to eXist-db 4.4.0, you MUST take one of the following steps to allow Dashboard to work after the upgrade:
    1. If you have not yet installed eXist-db 4.4.0, open Dashboard > Package Manager, and upgrade Dashboard to 0.4.10, or run this script in eXide or the Java Admin Client: repo:install-and-deploy("http://exist-db.org/apps dashboard", "http://demo.exist-db.org/exist/apps/public-repo/modules/find.xql"). Then you may safely install eXist-db 4.4.0 and use Dashboard.
    2. If you install eXist-db 4.4.0 before upgrading Dashboard, run this script in eXide or the Java Admin Client: repo:install-and-deploy("http://exist-db.org/apps/dashboard", "http://demo.exist-db.org/exist/apps/public-repo/modules/find.xql"). Then you may use Dashboard.
### Downloading This Version * eXist-db v4.4.0 is available for download from GitHub. * Docker images are available from EvolvedBinary's DockerHub. * Maven artifacts are available from our mvn-repo. * Mac users of the Homebrew package repository may acquire eXist 4.4.0 directly from there.

eXist-db 5.0.0 RC 3

v5.0.0-RC3 - August 1, 2018

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

eXist-db 5.0.0-RC3 builds atop eXist-db 5.0.0-RC2 with a just one new feature, and several small but 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

  • Added a build target for a .tar.bz2 distribution.

Bug fixes

  • Fixed a problem with Backups performed via the XML:DB Remote API.
  • Fixed a problem where Shutdown on Windows was prevented by the Lock Table event processor.
  • Fixed a problem with variables used by the IzPack installer for the Java Service Wrapper.
  • Fixed a problem with quotes in Windows paths used in the IzPack installer.
  • Made sure that the IzPack installer checks for Java 8.
  • Updated the function documentation for scheduling jobs via XQuery to reflect that they are not persistent across database restarts.
  • Fixed the IzPack description in build.properties.
  • Improved the logging in the Plugins Manager.

Backwards Compatibility

eXist-db 5.0.0-RC3 is backwards compatible up to eXist-db 5.0.0-RC1. 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-RC3 is available for download from GitHub.
  • 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-RC3 directly from there via. the exist-db-rc cask.

eXist-db 5.0.0 RC 2

## v5.0.0-RC2 - July 25, 2018

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

eXist-db 5.0.0-RC2 builds atop eXist-db 5.0.0-RC1 with a few new features, important bug fixes, and some small API changes.

  • 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

  • Implemented basic support for "available collections" in the XQuery dynamic context.
  • Implemented basic support for "available documents" in the XQuery dynamic context.
  • Implemented basic support for "available text resources" in the XQuery dynamic context.
  • Implemented support for the collation used in the XQTS (XQuery Test Suite) 3.1.
  • Incorporated from 4.3.0:
    • Upgraded to Apache Xerces 2.12.0. eXist-db now includes XML Schema 1.1 support.
    • Improved the Remote XML:DB API "networking error" messages to be more descriptive.
    • Test errors are now summarised in XQSuite XML output.

### Bug fixes

  • Fixed a locking issue in the XML:DB Local API when storing XML documents.
  • Fixed an NPE which manifested when storing binary documents when preserve-on-copy was enabled.
  • Incorporated from 4.3.1:
    • Fixed a regression introduced in eXist-db 4.3.0, where the type conversion of non-empty XDM Sequences was incorrectly returning an empty sequence. This could lead to insufficient results being returned by an XQuery.
    • Fixed another problem with uploading zero length binary files via. the XML:DB Remote API.
    • Fixed a number of issues with the LDAP Security Realm:
      1. Ensure the authenticated LDAP context is reused.
      2. Always close and dispose of any LDAP context that we create.
      3. Fixed encoding of CN and DN names during LDAP searches.
    • Fixed an issue where the XQuery function file:serialize could use the incorrect character encoding depending on which platform eXist-db was being executed on.
    • Fixed a comparison problem with node equality in the DOM API exposed via. the XML:DB Local API.
    • Fixed a java.nio.file.Path issue when loading eXist-db's conf.xml file from inside a classpath Jar file.
    • Removed unnecessary error level logging of the XQuery fn:error function.
    • Fixed an issue with the error message for restoring permissions; Now the entire resource URI is shown.
    • Fixed an initialise/reset issue with Internal Module XQuery variables. This fixed a regression introduced in eXist-db 3.5.0.
    • Fixed a JavaEE dependency runtime issue with Java 11.
    • Downloading of XAR files during the eXist-db build process is now more descriptive.
  • Incorporated from 4.3.0:
    • Fixed an issue where in-memory documents used in XQuery Update insert expressions caused an NPE (NullPointerException).
    • Fixed an issue where XQuery Error Codes were not correctly reported under some circumstances.
    • Fixed an issue with restoring binary files of zero bytes via the XML-RPC and XML:DB Remote API.
    • Fixed a signing issue with running eXist-db from the installer under Java 10.
    • Fixed an issue when constructing in-memory documents with namespaces via SAX parsers.
    • Fixed an issue with namespaces when parsing external documents to in-memory documents.
    • Fixed an issue with namespaces when merging in-memory documents.
    • Fixed a NPE when calling map:get for a non-existent key/value map pair.
    • Fixed a NPE in fn:data.
    • Fixes a NPE when converting empty sequences.
  • Incorporated from 4.2.1:
    • Fixed an NPE with XQuery Update insert preceding with attributes. Closes #1761 and #1939.
    • Only attributes which are considered boolean in HTML5 have their values omitted. Closes #777. Thanks to Bert Willems from FontoXML for this fix.
    • Fixed an issue with the XQuery function inspect:module-functions, which was previously throwing a NPE. Closes #1927.
    • Fixed an issue with restoring Compressed (Zip) database backups. Closes #1913.
### API Changes * Users who have XQuery Modules written in Java which implement org.exist.xquery.InternalModule should no longer call InternalModule#declareVariable from their class constructor, instead they should place those calls in InternalModule#prepare(XQueryContext).
### Backwards Compatibility Apart from the small API changes described above, eXist-db 5.0.0-RC2 is backwards compatible with eXist-db 5.0.0-RC1. 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-RC2 is available for download from GitHub. * Docker images for are available from EvolvedBinary's DockerHub. * Maven artifacts are available from our mvn-repo. * Mac users of the Homebrew package repository may acquire eXist 5.0.0-RC2 directly from there via. the exist-db-rc cask.

eXist-db 4.3.1

v4.3.1 - July 24, 2018

eXist-db v4.3.1 has just been released. This is a hot-fix release, which contains several important bug fixes.

We recommend that all users of eXist-db 4.x.x should upgrade to eXist-db 4.3.1.

Bug fixes

  • Fixed a regression introduced in eXist-db 4.3.0, where the type conversion of non-empty XDM Sequences was incorrectly returning an empty sequence. This could lead to insufficient results being returned by an XQuery.
  • Reverted Apache Xerces 2.12.0 to 2.11.0. This fixes a regression introduced in eXist-db 4.3.0, whereby Xerces 2.12.0 proved to be incompatible with betteForm. Apache Xerces 2.12.0 is available in eXist-db 5.0.0-SNAPSHOT, and will be available from eXist-db 5.0.0-RC2 onwards.
  • Fixed another problem with uploading zero length binary files via. the XML:DB Remote API.
  • Fixed a number of issues with the LDAP Security Realm:
    1. Ensure the authenticated LDAP context is reused.
    2. Always close and dispose of any LDAP context that we create.
    3. Fixed encoding of CN and DN names during LDAP searches.
  • Fixed an issue where the XQuery function file:serialize could use the incorrect character encoding depending on which platform eXist-db was being executed on.
  • Fixed a comparison problem with node equality in the DOM API exposed via. the XML:DB Local API.
  • Fixed a java.nio.file.Path issue when loading eXist-db's conf.xml file from inside a classpath Jar file.
  • Removed unnecessary error level logging of the XQuery fn:error function.
  • Fixed an issue with the error message for restoring permissions; Now the entire resource URI is shown.
  • Fixed an initialise/reset issue with Internal Module XQuery variables. This fixed a regression introduced in eXist-db 3.5.0.
  • Fixed a JavaEE dependency runtime issue with Java 11.
  • Downloading of XAR files during the eXist-db build process is now more descriptive.

Backwards Compatibility

  • eXist-db v4.3.1 is backwards binary-compatible as far as eXist-db v3.0, but not with earlier versions. Users who are upgrading should always consult the Upgrading Guide in the documentation.
  • NOTE: The version of Dashboard that was installed with eXist-db 3.6.1 (or earlier) is incompatible with eXist-db 4.0.0 and newer. If you plan to migrate your entire database to eXist-db 4.3.1, you MUST take one of the following steps to allow Dashboard to work after the upgrade:
    1. If you have not yet installed eXist-db 4.3.1, open Dashboard > Package Manager, and upgrade Dashboard to 0.4.10, or run this script in eXide or the Java Admin Client: repo:install-and-deploy("http://exist-db.org/apps dashboard", "http://demo.exist-db.org/exist/apps/public-repo/modules/find.xql"). Then you may safely install eXist-db 4.3.1 and use Dashboard.
    2. If you install eXist-db 4.3.1 before upgrading Dashboard, run this script in eXide or the Java Admin Client: repo:install-and-deploy("http://exist-db.org/apps/dashboard", "http://demo.exist-db.org/exist/apps/public-repo/modules/find.xql"). Then you may use Dashboard.

Downloading This Version

  • eXist-db v4.3.1 is available for download from GitHub.
  • Docker images are available from EvolvedBinary's DockerHub.
  • Maven artifacts are available from our mvn-repo.
  • Mac users of the Homebrew package repository may acquire eXist 4.3.1 directly from there.