Skip to content

Releases: evolvedbinary/elemental

Elemental 6.6.1

21 Jul 23:01
b8277b5

Choose a tag to compare

This release contains only two small bug fixes that were discovered after the release of version 6.6.0. It is 100% backwards compatible with Elemental 6.6.0 (and eXist-db 6.3.0), and it should be a simple drop-in replacement for any user. Like Elemental 6.6.0 it requires Java 8.

Downloads

Change Log

A big thank you to @lguariento for quickly testing and alerting us to the two issues.

Bug Fixes

  1. Allow the filter functions used by the extract functions of the Compression Module to accept an xs:anyURI for their $path argument instead of an xs:string. This behaviour was undocumented in eXist-db, but it is used by the eXist-db Package Service App (see: eXist-db/existdb-packageservice#27). Restores compatibility with eXist-db 6.3.0 - #56

  2. Allow Strings that contain entities to be correctly stored in fields within the Lucene Full Text Index - #57

Full Changelog: elemental-6.6.0...elemental-6.6.1

Elemental 6.6.0

21 Jul 02:33
e53a8e0

Choose a tag to compare

This release includes a number of important bug fixes, and a few small features and optimisations. It is 100% backwards compatible with Elemental 6.5.0 (and eXist-db 6.3.0), and it should be a simple drop-in replacement for any user. Like Elemental 6.5.0 it requires Java 8.

Downloads

Change Log

A big thank you to @aljopainter, @lguariento, and @ahenket, for testing and submitting issues.

Features

  1. Allow the redirect type to be specified in the URL Rewrite Controller - #34 (Closes issue: eXist-db/exist#5038)
  2. Coalesce the same namespaces that have different prefixes when serializing XML to provide a more natural XML output - #46 (Closes issue: eXist-db/exist#5790)
  3. A new simple build script to help developers build Elemental from source code, just run ./build.sh --help (Unix/Linux/macOS) or build.bat --help (Windows) for instructions - #36

Bug Fixes

  1. Fixed a number of cases whereby too many matches were returned from ft:query in the Lucene Full Text Index due to incorrect optimisation paths - #47 (Closes issue: eXist-db/exist#3207)
  2. Corrected data truncation and corruption problems with Fields in the Lucene Full Text Index. Fields in the Lucene Full Text Index now correctly handle all XDM 3.1 value types - #39 (Closes issue: eXist-db/exist#5193)
  3. All Child Nodes of a Document Node are now accessible. This fixes an issue where EXPath Apps exported via eXide were corrupted - #31 (Closes issues: #4, #7, and #8)
  4. Fixed issues with Monitoring and Profiling statistics and export via JMX (as used by tools like Monex) - #32 (Closes issue: #6)
  5. Exposed underlying type check errors that occur in deferred function calls - #35 (Closes issue: eXist-db/exist#5139)
  6. XDM Array and Map types can now be serialized over the XML:DB API - #37 (Closes issue: eXist-db/exist#4919)
  7. Attribute QNames are now correctly handled within conditions of the Range Index config - #38 (Closes issue: eXist-db/exist#5189)
  8. Improved spec. compliance of fn:parse-xml-fragment so that it correctly hanndles Text Declarations (i.e. XML Declarations in external entities) and empty Strings as input - #33 (Closes issue: eXist-db/exist#5037)
  9. Improved spec. compliance so that all elements passed to fn:xmj-to-json that are missing fn namespace, cause a FOJS0007 warning to be logged - #45 (Closes issue: eXist-db/exist#5543)

Security

  1. Enforce that the jmxservlet.token file is not world readable on Unix/Linux/macOS systems - 7473d61

Optimisations

  1. Allow pre-computed context sequence from Filtered expressions and Union expressions to be used - ad8012f
  2. Use existing address when reindexing nodes - 6afae23
  3. Reuse the CRC32 checksum object when compressing many files in the Compression Module - fe71ef8
  4. Reduce opportunities for over eager retrieval of persistent Nodes - b1b14f6
  5. Optimise wrapping of persistent DOM Nodes in a Node Proxy - 8b08052
  6. Optimise updating Node Proxies - 5ad35c8
  7. Optimise retrieval of the Document Element for persistent documents - 2ef616f
  8. Make combining two NodeListImpl more efficient - 333c37a
  9. Replace StringWriter with StringBuilderWriter - c875aa5
  10. Reuse StringBuilderWriter when serializing multiple items - 95abee0

Full Changelog: elemental-6.5.0...elemental-6.6.0

Elemental 7.1.0

07 Jun 02:09
73fe173

Choose a tag to compare

This is 100% backwards compatible with Elemental 7.0.0, and it should be a simple drop-in replacement for any user. Like Elemental 7.0.0 it requires Java 21.

Downloads

Change Log

Features

  1. New implementation of the fn:doc-available#1 XPath function - 3ac3745 (Closes issue: eXist-db/exist#5220)
  2. De-duplicate contiguous entries in ACLs that target the same resource and access conditions - 710c231 (Closes issue: eXist-db/exist#5138)
  3. New implementation of Java Binding from XQuery - 4b2b99d (Closes issue: eXist-db/exist#5090)
  4. Updated dependencies and plugins to the latest (Java 8 compatible) versions - d37f67a

Bug Fixes

  1. Added missing Elemental Server certificates for Jetty SSL HTTPS use - 3b1109 and ea3aeff (Closes issue: #1)
  2. Reinstate the JMX Client tools - 35f858 (Closes issue: eXist-db/exist#5706)
  3. Improve the macOS notarization process - 38c0d24 (Closes issue: #2)
  4. Reload Collection after removing a resource in the Java Admin Client - ed55b33 (Closes issue: eXist-db/exist#5711)
  5. Exit Elemental if we receive a Java OutOfMemoryError - 59c658d (Closes issue: eXist-db/exist#5439)

Full Changelog: elemental-7.0.0...elemental-7.1.0

Elemental 6.5.0

07 Jun 01:13
92f6614

Choose a tag to compare

This is 100% backwards compatible with Elemental 6.4.0 (and eXist-db 6.3.0), and it should be a simple drop-in replacement for any user. Like Elemental 6.4.0 it requires Java 8.

Downloads

Change Log

Features

  1. New implementation of the fn:doc-available#1 XPath function - 3ac3745 (Closes issue: eXist-db/exist#5220)
  2. De-duplicate contiguous entries in ACLs that target the same resource and access conditions - 710c231 (Closes issue: eXist-db/exist#5138)
  3. New implementation of Java Binding from XQuery - 4b2b99d (Closes issue: eXist-db/exist#5090)
  4. Updated dependencies and plugins to the latest (Java 8 compatible) versions - d37f67a

Bug Fixes

  1. Added missing Elemental Server certificates for Jetty SSL HTTPS use - 3b1109 and ea3aeff (Closes issue: #1)
  2. Reinstate the JMX Client tools - 35f858 (Closes issue: eXist-db/exist#5706)
  3. Improve the macOS notarization process - 38c0d24 (Closes issue: #2)
  4. Reload Collection after removing a resource in the Java Admin Client - ed55b33 (Closes issue: eXist-db/exist#5711)
  5. Exit Elemental if we receive a Java OutOfMemoryError - 59c658d (Closes issue: eXist-db/exist#5439)

Full Changelog: elemental-6.4.0...elemental-6.5.0

Elemental 7.0.0

27 Apr 03:46
fa5425d

Choose a tag to compare

This is what we believe an eXist-db 7.0.0 could have been. Whilst the Change Log may look small, make no mistake, this is a major release with many internal changes. It includes an additional 2 years of work above and beyond the 6.x.x line. As well as all of the bugfixes from 6.4.0, it also includes many new features (e.g. XQuery Tumbling and Sliding Windows, improved Saxon integration for XSLT, and better standards compliance). Whilst it is very much compatible with the 6.x.x line, in the name of progress there are a few minor breaking changes. It also requires Java 21 or newer.

NOTE: You will need to perform a full backup and restore of your database to upgrade from Elemental 6.4.0 (or any prior eXist-db version) to Elemental 7.0.0.

Downloads

Change Log

Features

  1. Upgraded from Java 8 to Java 21 - 60006a8
  2. Added support for the XQuery 3.0 tumbling window and sliding window expressions within FLWOR expressions - eXist-db/exist#4529
  3. Added support for the XQuery 3.0 count clause within FLWOR expressions - eXist-db/exist#4530
  4. The XML Declaration is now preserved when storing and retrieving documents - eXist-db/exist#4578
  5. Enabled secure XML parsing by default - eXist-db/exist#3836
  6. Added support for integrating with Saxon PE and EE (in addition to HE) - eXist-db/exist#4854 (Closes issue: eXist-db/exist#4813)
  7. Major update and overhaul of the GeoSpatial Index - eXist-db/exist#4643
  8. Added a new image:scale#2 XPath function that accepts rendering hints - eXist-db/exist#4794
  9. Added a new mail:get-mail-session#2 XPath function that accepts authorisation information - eXist-db/exist#4802
  10. Index use is now strictly enforced by default - eXist-db/exist#4885 (Closes issue: eXist-db/exist#4884)
  11. Persistent documents can now be passed within the XSLT parameters to the XPath function fn:transform - eXist-db/exist#4930
  12. XSLT can now use xmldb:exist:// style URIs for resolving resources or includes from the database - eXist-db/exist#4931 (Closes issue: eXist-db/exist#3820)
  13. Optimised Lock Objects to reduce memory use and improve performance - eXist-db/exist#4765
  14. Small performance improvements to the Full Text index - eXist-db/exist#4793
  15. Improved argument handling in the command line tools - eXist-db/exist#4772
  16. Accurancy of document size reporting via the WebDAV API is now configurable - eXist-db/exist#5381
  17. JMX Output is now tabular - eXist-db/exist#4963
  18. Upgraded the Jetty Web Server from version 9 to version 11 - eXist-db/exist#4575
  19. Updated all library dependencies to the latest Java 21 compatible versions - 1af1dae

Bug Fixes

  1. Improved compliance with the XPath standard:
    1. Improved behaviour of castable as expressions when operating over xs:untypedAtomicValue typed values - eXist-db/exist#4900 (Closes issue: eXist-db/exist#4518)
    2. Improved comparison of INF and -INF values with xs:float and xs:double typed values - 83b6cc1 and e518717
    3. Improved comparison of NaN values with xs:float and xs:double typed values - f0f8aa9
    4. Reimplemented key comparison operations in Map types - 3b90ac0
  2. Improved compliance with the XQuery standard:
    1. Circular module imports are now handled according to the relevant XQuery version standard - eXist-db/exist#4996 (Closes issues: eXist-db/exist#1010 and eXist-db/exist#3448)
  3. Improved compliance with the XPath and XQuery Functions and Operators standard:
    1. Corrected the function signatures of: fn:collection, fn:contains-token, fn:document-uri, fn:format-integer, fn:json-to-xml, and fn:xml-to-json - eXist-db/exist#4470 (Closes issue: eXist-db/exist#1917) and eXist-db/exist#3313
    2. Changed the default behaviour of map:merge from use-last to use-first - eXist-db/exist#3738 (Closes issue: eXist-db/exist#3750)
    3. Fixed an error that was previously caused when fn:name was called on a CDATA Section node - eXist-db/exist#4741 (Closes issue: eXist-db/exist#4740)
    4. Improved the error codes raised by fn:analyze-string, fn:matches, and fn:replace - eXist-db/exist#4886
    5. Cleanup up the parameters accepted by fn:filter - eXist-db/exist#4848 (Closes issue: eXist-db/exist#3370)
    6. Reimplemented the fn:deep-equal function correctly - 0fbb245
    7. The fn:xml-to-json function now raises error FOJS0007 if provided elements are not in the fn namespace - 04c0e9d (Closes issue: eXist-db/exist#5543)
  4. Improved compliance with the XQuery and XPath Data Model standard:
    1. Corrected the relationship between Node and Item - eXist-db/exist#3409
    2. Reimplemented the xs:numeric data type correctly - eXist-db/exist#5485
  5. Improved compliance with the EXPath standards:
    1. Corrected the default namespace prefix for the EXPath HTTP Client Module - eXist-db/exist#3041
  6. Switched from empty greatest to empty least ordering in XQuery FLWOR expressions to match other popular implementations - eXist-db/exist#3376
  7. Fixed an issue with expanding matches on Full Text and n-gram indexed nodes - eXist-db/exist#4766 (Closes issue: eXist-db/exist#2102)
  8. Fixed an issue so that the Launcher Configuration Dialog now correctly sets the Jetty ports - eXist-db/exist#4899 (Closes issue: eXist-db/exist#4729)
  9. Fixed an incorrect optimisation issue which resulted in missing query results when a collection of collections has different index types defined on each sub-collection - eXist-db/exist#4869 (Closes issue: eXist-db/exist#3620)
  10. Fixed issues with Full Text index not being correct optimised and missing node matches - eXist-db/exist#4989 (Closes issue: eXist-db/exist#3207)
  11. Fixed an issue with expressions being optimised more than once by the Range Index - eXist-db/exist#4882 (Closes issue: eXist-db/exist#3624)
  12. Optimisied the implementation of the XPath function fn:codepoint-equal - e9e1978
  13. Fixed concurrency issues in Performance Stats reporting - eXist-db/exist#4910

Java API Changes

  1. Refactored org.exist.storage.DBBroker into an interface - eXist-db/exist#3991
  2. Removed the Plugins Manager API - eXist-db/exist#4158
  3. Simplified the org.exist.source.Source interface by removing its dependency on DBBroker - eXist-db/exist#4847

Full Changelog: 495d7f7...elemental-7.0.0

Elemental 6.4.0

27 Apr 00:56
1df8f0a

Choose a tag to compare

To ease migration for you, this version continues from where we stopped with eXist-db 6.3.0. It is 100% backwards compatible with eXist-db 6.3.0 and should be a simple drop-in replacement for any user. Like eXist-db 6.3.0 it requires Java 8, but it includes a lot of bug-fixes, and a few some small enhancements. It is a conservative release, a stepping stone if you like.

Downloads

Change Log

Features

  1. Improved the security of our Docker Images (and reduced their size) - ec74920
  2. Added Docker Image support for arm64 platforms - a1dfddf (Closes issues: eXist-db/exist#4151 and
    eXist-db/exist#5532)
  3. In-memory documents that contain fragments of persistent documents can now be transformed with XSLT - 36e1860 (Closes issue: eXist-db/exist#5682)
  4. In-memory XML fragments can now be transformed with XSLT - 9254f84 (Closes issue: eXist-db/exist#5680)
  5. Updated all library dependencies to the latest Java 8 compatible versions - 44a3a37

Bug Fixes

  1. Allow XSLT imports and includes to be resolved from within EXPath Packages - 5d0bcf5
  2. Repaired the XML-RPC support used by oXygen XML Editor - a5e9116
  3. Fixed an issue with relative paths when importing XQuery Library Modules - c217b69 (Closes issue: eXist-db/exist#5525)
  4. Allow comparison of xs:dateTime and xs:dateTimeStamp types - c0f2ff9 (Closes issue: eXist-db/exist#5478
  5. Improved compliance with the standard of the XPath function fn:xml-to-json - 04c0e9d (Closes issue: eXist-db/exist#5543)
  6. Make sure that XQuery Modules loaded via the XPath function fn:load-xquery-module are correctly monitored by the query execution engine - 984a902 (Closes issue: eXist-db/exist#5569)
  7. Fixed an issue with positions in FLWOR expression that have allowing empty set - 1e3b931
  8. Improved the handling of XML BOMs when storing and parsing documents - 26c2bb4 (Closes issue: eXist-db/exist#5610)
  9. Make the IzPack Installer function on Java 21 - 295a864 (Closes issue: eXist-db/exist#5661)
  10. Improve compliance with the standard of in-memory XML Elements with respect to Attributes - f8a2781 (Closes issue: eXist-db/exist#5672)
  11. Fixed over zealous detection of recursive XQuery functions - 3cc543b (Closes issue: eXist-db/exist#5685)
  12. Fixed a race condition in the initialisation of JMX MBeans - a4df929

Full Changelog: eXist-6.3.0...elemental-6.4.0