eXist-db v3.5.0

Release Notes

v3.5.0 - September 27, 2017

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

Features

  • Improvements to Core Level 1 DOM compliance.
  • Implemented missing functions fn:tokenize#1 and fn:node-name#0.
  • Regular Expressions are now Cached (e.g. fn:analyze-string, fn:matches, fn:replace, fn:tokenize and util:get-fragment-between).
  • Updated the EXPath HTTP Client:
    • Added support for non-chunked HTTP 1.1.
    • Pools connections to improve performance.
    • Added support for SNI (Server Name Identification).
    • Fixed DOM issues with namespace URI handling.
  • Upgraded to Jetty 9.4.6.v20170531.
  • Upgraded to Apache Tika 1.16.
  • Upgraded to Apache FOP 2.2 and improve FO processor logging.
  • Upgraded various dependencies to the latest versions (Caffeine, Apache Commons, j8fu, Jackson, Jing, Log4J, Quartz Scheduler, and Slf4j).
  • The data directories and memory settings can now be templated via build.properties.

Apps

The bundled applications of the Demo Apps, Documentation, eXide, Function Docs, and Monex have all been updated to the latest versions.

Bug fixes

  • Mixed-Content is now correctly serialized to JSON rather than skipped.
  • Fixed a NullPointerException when updating an attribute on an element in the non-default namespace which had a Lucene index defined.
  • Arrow operator now works correctly again in user defined functions.
  • Fixed selection of Processing Instructions by target.
  • Fixed a locking issue when writing temporary documents.
  • Fixed a Transaction Closed log warning in the XML:DB API.
  • Extensions are now also signed as part of the installer.
  • Fixed an issue with quoted paths and white-space in Windows batch files.
  • Node#hasChildNodes no longer includes attributes.
  • Fixed parameter handling bugs in the functions fn:tokenize#2, and fn:tokenize#3.
  • Fixed the handling of q and x regex flags for fn:matches, fn:replace and fn:tokenize.
  • Fixed the fn:local-name#0, fn:name#0 and fn:namespace-uri#0 functions to correctly work with the context item.
  • The embedded Jetty server now uses the JVM's temporary folder for temporary files.
  • Fixed compatibility with Eclipse IDE project files.
  • Corrected the description of the xmldb:clear-lock function.

Backwards Compatibility

  • eXist-db v3.5.0 is backwards binary-compatible as far as v3.0, but not with earlier versions. Users upgrading from previous versions should perform a full backup and restore to migrate their data.

Downloading This Version

eXist-db v3.5.0 is available for download from Bintray. Maven artifacts for eXist-db v3.5.0 are available from our mvn-repo. Mac users of the Homebrew package repository may acquire eXist 3.5.0 directly from there.

eXist-db v3.4.1

Release Notes

v3.4.1 - August 16, 2017

eXist-db v3.4.1 has just been released. This is a hotfix release, which contains bug fixes for several important issues discovered since eXist-db v3.4.0.

We recommend that all users of eXist 3.4.0 should upgrade to eXist 3.4.1.

Bug fixes

  • Fixed a regression related to XQuery Module cleanup and util:eval which was introduced in eXist-db 3.4.0.
  • Fixed the signing of the core Jar files (start.jar, exist.jar, and exist-optional.jar). This is required for using the Java Admin Client via. Java WebStart.
  • Corrected the argument parser in ExportMain which is used for some backup scenarios. Previously ExportMain would exit after startup with an error.
  • Fixed removal of an existing backup directory when starting a backup from the Java Admin Client. Previously the directory would always have been deleted; even when the user chose to preserve it.
  • xs:base64Binary and xs:hexBinary backing InputStreams which were cached to a file now #mark(int)/#reset() correctly after reading.
  • Extraneous whitespace is now stripped from XQDoc output provided to the Inspection XQuery extension module.
  • Corrected the dependency references in the NetBeans project files.

Backwards Compatibility

  • eXist-db v3.4.1 is backwards binary-compatible as far as v3.0, but not with earlier versions. Users upgrading from previous versions should perform a full backup and restore to migrate their data.

Downloading This Version

eXist-db v3.4.1 is available for download from Bintray. Maven artifacts for eXist-db v3.4.1 are available from our mvn-repo. Mac users of the Homebrew package repository may acquire eXist 3.4.1 directly from there.

TEI Publisher v2.2.0

mobile.png
We're pleased to announce that the eXist-based TEI Publisher has been released in version 2.2.0. Besides numerous fixes, the most notable change is an improved responsive design. Browsing and navigation should now work flawlessly on mobile devices. Other changes:
  • Drop /works prefix from document paths to simplify URLs
  • Renditions defined in tei header were no longer applied
  • Fix image resolving for generated apps
  • Allow documents to be deleted via UI
  • Include direct link to uploaded document

Important note

This version also requires an update to the library package tei-publisher-lib, which is not backwards compatible with older releases. If you generated an app, it may throw an error after the update.

To fix this, run .../your-app/modules/lib/regenerate.xql once from within the browser or eXide.

Installation

TEI Publisher is available via eXist's package manager in the dashboard. It requires at least eXist 3.1.0.

eXist-db v3.4.0

Release Notes

v3.4.0 - July 26, 2017

eXist-db v3.4.0 has just been released. This is a minor release, which introduces one new feature and fixes important issues.

New Features

  • Added function fn:sort defined by the XQuery 3.1 function library

Bug fixes

  • Closes several memory leaks which affect nearly all applications making extensive use of library modules or inline functions. As the leaked objects are small on average, the time it takes for the growing memory usage to become manifest depends on average load and complexity of the app (typically a server may run for several weeks until it becomes slow and eventually crashes)
  • Variables pointing to binary values were destroyed too early when they were running out of scope
  • Running eXist via the system tray launcher on Mac OSX resulted in random crashes of the Java VM. The Mac .dmg distribution of eXist was thus unusable
  • Small fix to IndexListener interface used by extension indexes: endElement should be called with a valid node
  • Cleaned up the Cache Module so it is thread-safe. Also added a facility for configuring permissions for cache operations
  • Fixed file:serialize

Backwards Compatibility

  • eXist-db v3.4.0 is backwards binary-compatible as far as v3.0, but not with earlier versions. Users upgrading from previous versions should perform a full backup and restore to migrate their data.

Downloading This Version

eXist-db v3.4.0 is available for download from Bintray. Maven artifacts for eXist-db v3.4.0 are available from our mvn-repo. Mac users of the Homebrew package repository will be able to install and upgrade shortly; an announcement will be made on the exist-open mailing list.

Puppet Module for eXist-db

Puppet Module for eXist-db

Jon Hallet of the University of Bristol, has very kindly contributed a Puppet module for eXist-db to the project. The work on the Puppet module was made possible by funding from the AHRC as part of the Manuscript Pamphleteering in Early Stuart England project.

Puppet is a software configuration management tool which when combined with Jon's module, allows you to easily configure and deploy eXist-db to one (or more servers) with just a few commands. Puppet will also maintain the installation state, ensuring that any accidental changes by administrators are rolled-back to the configured state.

You can find the eXist-db Puppet module here: https://github.com/eXist-db/puppet-existdb.

Many thanks to Jon and the University of Bristol :-)