Skip to content

Releases: eXist-db/exist

eXist-db v3.1.0

05 Apr 19:11
Compare
Choose a tag to compare

eXist-db v3.0

09 Feb 15:52
Compare
Choose a tag to compare

eXist-db 3.0.RC2

28 Apr 03:07
Compare
Choose a tag to compare
eXist-db 3.0.RC2 Pre-release
Pre-release

(There were no release notes for this pre-release.)

First Release Candidate for eXist 3.0

07 Jul 14:54
eXist-3.0.RC1
Compare
Choose a tag to compare
Pre-release

It is our great pleasure to announce the first release candidate for eXist 3.0.

As always, the purpose of this release candidate is to collect
feedback on performance and compatibility. Whilst it is considered
feature complete, we would not yet recommend it for production
environments.

eXist 3.0.RC1 is the culmination of over 550 changes made in the last
six months. The main focus has been on fixing bugs, migrating to Java
8 and improving the performance of eXist. The move to Java 8 alone has
bought many internal improvements in eXist, enabling us to work with a
leaner and safer code base; Resulting in better resource and lock
management, and improved performance for our users.

New Features

  • Support for XQuery 3.1, including the array and map data types,
    serialisation and JSON parsing
  • Support for Braced URI Literals from XQuery 3.0
  • Facility to boost attributes in the Lucene full text index
  • eXist version detection for EXPath Packages. Packages, should
    explicitly specify which versions of eXist they are compatible with;
    eXist 2.2 is assumed by default.
  • Prototype support for Portable EXPath XQuery Extension Functions written in Haxe

Improved Performance

  • Sequence type checking on recursive function parameters has been
    drastically sped up
  • Lucene full-text and range indexes have been switched to "near
    realtime" behaviour. This improves query performance on frequently
    updated documents
  • Improved optimization of wildcard steps in path expressions, e.g.
    prefix:* and *:name
  • Better performance for util:eval
  • Optimisation of fn:fold-left and fn:fold-right

Mission Critical Bug Fixes

There have been numerous bug fixes and enhancements since eXist 2.2,
the most critical are:

  • Patched a memory leak in the Java service wrapper that occurred on
    certain Linux systems
  • Solved a potential deadlock which manifested when storing XQuery
    files into the database under certain conditions
  • Fixed a memory leak when storing query results into the HTTP
    session; Web applications making use of the HTTP session should now
    consume less memory and scale further
  • Fixed an occasional deadlock when shutting down the database
  • Fixes to match highlighting with the Lucene full text index
  • Lucene range index now correctly handles != comparisons

Clean up and Refactoring

  • Rewritten HTML5 Serializer
  • Removed the legacy SOAP API and SOAP Server
  • Removed the legacy Full Text Index
  • Removed the Versioning extension; Will be made available as a
    separate app package.
  • Rewritten XML:DB and XML-RPC APIs
  • Updated to the latest version of RESTXQ
  • Improved Java Admin Client document viewing and editing
  • Clean up of eXist's Test suite
  • Extensive internal refactoring to exploit new Java 8 features

Backwards Compatibility issues

  • eXist-3.0.RC1 is not binary compatible with previous version of
    eXist; The on-disk database file format has been updated, Users should
    perform a full backup and restore to migrate their data.
  • eXist 3.0.RC1 and subsequent versions now require Java 8; Users must
    update to Java 8!
  • There have been some small changes to some of the internal APIs.
    e.g. XQueryService has been moved from DBBroker to BrokerPool.
  • EXPath packages that incorporate Java libraries may no longer work
    with eXist 3.0 and may need to be recompiled for our API changes;
    Packages should now explicitly specify the eXist versions that they
    are compatible with.

eXist-3.0.RC1 is available for download below. The older Sourceforge download page is no longer updated. Maven artifacts for eXist-3.0.RC1 are available from our mvn-repo.

eXist-db v2.2

28 Apr 03:03
Compare
Choose a tag to compare

eXist-db v2.1

28 Apr 16:14
Compare
Choose a tag to compare

eXist-db v2.0

28 Apr 16:17
Compare
Choose a tag to compare

Adapted from https://sourceforge.net/projects/exist/files/Stable/2.0/:

eXist-db 2.0 (final version)

The final release the eXist-db 2.0 version

A lot has changed on the surface compared to the tech preview: the new launcher integrates with the desktop and installs a system tray icon (on those systems which support it, i.e. Windows, Mac and some Unix flavors).

The dashboard is now the central hub of eXist-db and replaces the old home screen, featuring a range of plugins and apps. The entire web content has been modularised and moved into self-contained, installable apps. Creating your own apps should be rather painless using eXide's app wizard.

We'll be happy to hear any feedback on the product.

Summary

2.0 contains numerous new features and improvements. The most notable changes since the 1.4.x series are:

  • Faster structural index (complete redesign)
  • XQuery 3.0 features (e.g. try-catch, switch, higher-order functions - more to come soon)
  • Tightened security model with multiple realms (LDAP/AD/OpenID...)
  • Access control lists
  • Improvements to XQuery optimization: more automatic rewrites
  • Hot deployment of apps into a db from the application repository
  • Simplified creation, setup and distribution of self-contained XQuery apps
  • XQuery IDE (eXide)
  • Efficient indexing of binary resources (PDF and co)
  • Less memory use when processing binary values (streaming)
  • New REST API based on XQuery 3.0 Annotations (project "Sleepy")

2.0 has been branched off from the development tree ("trunk"). Only bug fixes and selected improvements will be ported to the stable branch while development continues in trunk.

Please note that the security model has changed. Applications which worked on 1.4/1.5 might fail due to wrong permission settings (in particular, you now need execute permissions on a collection to see its contents). Make sure to check the documentation: http://exist-db.org/exist/security.xml

eXist-db v1.4.3

28 Apr 16:20
Compare
Choose a tag to compare

Adapted from: https://sourceforge.net/projects/exist/files/Stable/1.4.3/

Hello,

We are happy to announce the availability of eXist-db release 1.4.3. This version is a maintenance release and contains mainly bug fixes and (stability & performance) improvements. A detailed list of changes is included in this mail.

The software can be downloaded from Sourceforge: https://sourceforge.net/projects/exist/files/Stable/1.4.3/ . We recommend everybody to upgrade to this latest version.

Kind regards

The eXist-db development team.

Summary per SVN revision:

16460 - [bugfix]
Reindex operation needs to lock the collection tree or there might be index corruptions if concurrent threads are uploading data. Port of rev 16414 from trunk.

16601 - [performance]
Optimizer did not analyze typeswitch/switch and except/union/intersect, so expressions below those were not optimized.
Port of rev 16599.

16837 - [performance]
Collection cache was not scaling up properly to the limits set in conf.xml. This was a severe performance issue on databases with lots of collections (> 10000) and documents. The cache has been fixed to scale up to the defined memory limit almost immediately if required.
Port of rev 16836.

16975 - [bugfix]
Avoid unnecessary recovery runs: if a long-running query had to be killed during shutdown, eXist started a recovery run upon next startup - even though all transactions might have been committed. Recovery runs are always risky, so it is better to avoid them. I thus changed the transaction manager to keep track of uncommitted transactions. If there are no uncommitted transactions, a checkpoint will be written and the system will not attempt a recovery. This should improve overall stability.

16976 - [bugfix]
Further improvement on crash recovery: ignore a started transaction, which is otherwise empty (i.e. no write operations were done).

16985 - [bugfix]
Added more checks on the XQuery watchdog and thus allow a long running query to be aborted properly.

17021 - [bugfix]
Set correct module load path for modules imported from URI.

17116 - [feature]
Added configuration option enforce-index-use=strict|always to control how range range indexes will be used if only parts of the collection hierarchy define a matching index or indexes are inconsistent across collections. Experience showed that new users often have problems with the "strict" behavior, which was previously the default. With setting "always" the query engine relies on the user to define the correct indexes. It is easier to see why a certain collection is missing in the result than to understand why a query is breaking down due to inconsistencies in the indexing.
Port of revs 15780, 15781 and 17114 from trunk.

17127 - [bugfix]
Fix lucene match highlighting for phrase queries.
Port of rev 17126

17131 - [bugfix]
Updated mondial.dtd to match mondial XML file

eXist-db v1.4.1

28 Apr 16:28
Compare
Choose a tag to compare

eXist-db v1.4

28 Apr 16:28
Compare
Choose a tag to compare