# Release Notes
## v4.0.0 - February 14, 2018
eXist-db v4.0.0 has just been released. This is a major release, which contains, API changes, several new features and bug fixes.
fn:unparsed-text
, fn:unparsed-text-lines
and fn:unparsed-text-available
functions.
Implemented HTML ASCII Case Insensitive Collation for XPath 3.1.
Replaced ASCIIFoldingFilter
with ICUFoldingFilter
in NoDiacriticsAnalyzer
for better language search support.
New User Manager application shipped for the Dashboard.
Updated Cache Extension Module:
Now implements an LRU policy with both TTL and size options.
New functions: cache:names()
, cache:keys($name)
, and cache:destroy($name)
.
Scheduled task option unschedule-on-exception
is now exposed in conf.xml
.
Each thread that eXist creates is now explicitly named for easier identification.
Bash Scripts now use /bin/env
to locate bash.
Updated third-party dependencies:
Apache Commons Configuration 2 2.2
Apache Commons IO 2.6
Caffeine 2.6.1
EasyMock 3.5.1
Eclipse AspectJ 1.9.0.RC2
Eclipse Jetty 9.4.8.v20171121
IBM ICU4j 60.2
Jackson 2.9.3
Java 8 Functional Utilities 1.12
Log4J 2.10.0
XMLUnit 2.5.1
* YAJSW 12.11
xs:base64Binary
and xs:hexBinary
returned from XQuery execution in various API's.
Fixed a regression with XQuery Update insert into an empty element.
Fixed a bug in the EXPath HTTP Client with connection pooling.
Fixed a bad thread synchronization in JMX.
Corrected invalid type empty()
to empty-sequence()
.
Fixed overzealous locking in XML:DB Local API copy operations.
Fix to Namespace handling on in-memory DOM nodes.
Fixed a NullPointerException
in fn:id
.
Fixed comparison issue with empty sequences.
Fixed broker leak in Image Extension Module.
Math Extension Module functions now correctly report their namespace prefix.
Improved function signatures types:
map
to `map()`
array
to `array()`
function
to `function()`
Fixed the XQuery Error Codes of several atomic value comparison operators.
Improved warning and error messages during EXPath Package deployment.
Many file path related fixes for building and running on Microsoft Windows platforms.
Removed last Java Endorsed Library paths to support Java 9.
Updated the Java AppBundler (which is used for staring eXist), to provide better Java 9 support.
Build labels are now correctly calculated when building from an installed (not-git) product.
* IntelliJ IDEA project files now support correct ApectJ tools.
empty()
has been removed. You should now use the spec. compliant syntax empty-sequence()
.
The previously numeric
type was renamed to xs:numeric
. numeric
is now marked as legacy.
The legacy Atom module (org.exist.atom
) has been removed.
Sending an invalid XQuery to the RESTServer now correctly returns HTTP 400 Bad Request, instead of HTTP 202 Accepted.
XMLDB API interfaces have been renamed to be more consistent (e.g. EXistXQueryService
)
Locks are now re-acquired by a Transaction rather than ownership transferred.
### Backwards Compatibility
- eXist-db v4.0.0 is backwards binary-compatible as far as 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. If you plan to migrate your entire database to eXist-db 4.0.0, you MUST take one of the following steps to allow Dashboard to work after the upgrade:
- If you have not yet installed eXist-db 4.0.0, open
Dashboard > Package Manager
, and upgrade Dashboard to0.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.0.0 and use Dashboard. - If you install eXist-db 4.0.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.
- If you have not yet installed eXist-db 4.0.0, open
v3.6.1 - January 03, 2018
eXist-db v3.6.1 has just been released. This is a hotfix release, which contains bug fixes for several important issues discovered since eXist-db v3.6.0.
We recommend that all users of eXist 3.6.0 should upgrade to eXist 3.6.1.
Bug fixes
- Fixed issue where the package manager wrote non-well-formed XML that caused problems during backup/restore. #1620
- Fixed namespace prefix for attributes and namespace nodes.
- Made sure the localName of a in memory element is correctly obtained under various namespace declaration conditions
- Fix for NPE in org.exist.xquery.functions.fn.FunId #1642
- Several atomic comparisons raise wrong error code #1638
- General comparison to empty sequence sometimes raises an error #1639
- Warn if no <target> is found in an EXPath packages's repo.xml
Backwards Compatibility
- eXist-db v3.6.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.6.1 is available for download from GitHub. Maven artifacts for eXist-db v3.6.1 are available from our mvn-repo. Mac users of the Homebrew package repository may acquire eXist 3.6.1 directly from there.
# Release Notes
## v3.6.0 - November 27, 2017
eXist-db v3.6.0 has just been released. This is a minor release, which contains several new features and bug fixes.
map
type parameters for XQuery F&O 3.1 fn:serialize
.
Implemented declare context item
for XQuery 3.0.
Implemented XQuery 3.0 Regular Expression's support for non-capturing groups.
Implemented a type-safe DSL for describing and testing transactional operations upon the database.
Implemented missing node kind tests in the XQuery parser when using @
on an AbbrevForwardStep
.
Added AspectJ support to the IntelliJ project files (IntelliJ Ultimate only).
Repaired the dependencies in the NetBeans project files.
Added support for Travis macOS CI.
Added support for AppVeyor Windows CI.
Updated third-party dependencies:
Apache Commons Codec 1.11
Apache Commons Compress 1.15
Apache Commons Lang 3.7
Eclipse AspectJ 1.9.0.RC1
Eclipse Jetty 9.4.7.v20170914
EXPath HTTP Client 20171116
Java 8 Functional Utilities 1.11
JCTools 2.1.1
* XML Unit 2.4.0
http-version
, now again defaults to 1.1
.
Fixed a NullPointerException
in the EXPath HTTP Client when using Basic Authentication.
XInclude support now correctly implements fallback if a HTTP resource cannot be accessed.
Fixes a number of issues where InputStream
s were not closed, which leaked file handles; particularly an issue on Windows platforms.
Fixed a database shutdown issue with SymbolTable
on Windows platforms.
Ensured that URIs are correctly resolved in the SourceFactory
on Windows platforms.
No longer use a custom temp folder, instead use Java's; fixes a bug with Jetty on Windows platforms.
Fixed an issue where the `EXISTHOME` path was not constructed correctly under some circumstances on Windows platforms.
Fixed the return type of fn:doc
to match the XQuery F&O specification.
Fixed a concurrency issue in the HTTP SessionManager
.
Fixed a concurrency issue in caching Query results in the REST Server.
Fixed a concurrency issue in caching Query results in the XML-RPC Server.
Fixed the function description of util:eval-with-context
.
Improved error reporting when loading extension modules and EXPath packages.
fn:format-number
now returns correct error code: FODF1310
.
Fixed decimal formatting in fn:format-number
.
Fixed QName equality comparison error code, to correctly return XPTY0004
.
fn:analyze-string
now adheres to XQuery Regular Expression syntax and not the wider Java Regular Expression syntax.
fn:doc-available
now only raises FODC0005 if the supplied URI is invalid.
Fixed Font Resolution when using Apache FOP via XSL-FO extension module.
Fixed a StackOverflowException
in the History Trigger.
Fix to ensure that only signed dependencies end-up in the WAR build.
### Backwards Compatibility
- eXist-db v3.6.0 is backwards binary-compatible as far as v3.0, but not with earlier versions. Users who are upgrading should always consult the Upgrading Guide in the documentation.
### Downloading This Version
# 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
andfn:node-name#0
. - Regular Expressions are now Cached (e.g.
fn:analyze-string
,fn:matches
,fn:replace
,fn:tokenize
andutil: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
.
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 GitHub. 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.