eXist-db 3.6.0 Released

November 27, 2017

Submitted by Adam Retter.

We are very pleased to announce the release of eXist-db v3.6.0. eXist-db is the most popular Open Source NoSQL XML Native Database and XQuery Application Platform.

New 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`. 

Performance Improvements

  • Compiled XQuery cache is now multi-threaded; concurrency is now per-source. 
  • RESTXQ compiled XQuery cache is now multi-threaded; concurrency is now per-query URI. 
  • STX Templates Cache is now multithreaded. 
  • XML-RPC Server will now use Streaming and GZip compression if supported by the client; enabled in eXist's Java Admin Client. 
  • Reduced object creation overhead in the XML-RPC Server. 


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 skipper. 
  • 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.6.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.6.0 is available for download from Bintray. Maven artifacts for eXist-db v3.6.0 are available from our mvn-repo. Mac users of the Homebrew package repository may acquire eXist 3.6.0 directly from there.

News items may be commercial in nature and are published as received.