Releases: evolvedbinary/elemental
Elemental 6.6.1
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
- Download files are below!
- Homebrew Cask: elemental@6
- Docker Image: evolvedbinary/elemental:6.6.1
- Maven Central: https://search.maven.org/search?q=g:xyz.elemental
- Website: https://www.elemental.xyz
Change Log
A big thank you to @lguariento for quickly testing and alerting us to the two issues.
Bug Fixes
-
Allow the filter functions used by the extract functions of the Compression Module to accept an
xs:anyURIfor their$pathargument instead of anxs: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 -
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
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
- Download files are below!
- Homebrew Cask: elemental@6
- Docker Image: evolvedbinary/elemental:6.6.0
- Maven Central: https://search.maven.org/search?q=g:xyz.elemental
- Website: https://www.elemental.xyz
Change Log
A big thank you to @aljopainter, @lguariento, and @ahenket, for testing and submitting issues.
Features
- Allow the redirect type to be specified in the URL Rewrite Controller - #34 (Closes issue: eXist-db/exist#5038)
- 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)
- A new simple build script to help developers build Elemental from source code, just run
./build.sh --help(Unix/Linux/macOS) orbuild.bat --help(Windows) for instructions - #36
Bug Fixes
- Fixed a number of cases whereby too many matches were returned from
ft:queryin the Lucene Full Text Index due to incorrect optimisation paths - #47 (Closes issue: eXist-db/exist#3207) - 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)
- 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)
- Fixed issues with Monitoring and Profiling statistics and export via JMX (as used by tools like Monex) - #32 (Closes issue: #6)
- Exposed underlying type check errors that occur in deferred function calls - #35 (Closes issue: eXist-db/exist#5139)
- XDM Array and Map types can now be serialized over the XML:DB API - #37 (Closes issue: eXist-db/exist#4919)
- Attribute QNames are now correctly handled within conditions of the Range Index config - #38 (Closes issue: eXist-db/exist#5189)
- Improved spec. compliance of
fn:parse-xml-fragmentso 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) - Improved spec. compliance so that all elements passed to
fn:xmj-to-jsonthat are missingfnnamespace, cause aFOJS0007warning to be logged - #45 (Closes issue: eXist-db/exist#5543)
Security
- Enforce that the
jmxservlet.tokenfile is not world readable on Unix/Linux/macOS systems - 7473d61
Optimisations
- Allow pre-computed context sequence from Filtered expressions and Union expressions to be used - ad8012f
- Use existing address when reindexing nodes - 6afae23
- Reuse the CRC32 checksum object when compressing many files in the Compression Module - fe71ef8
- Reduce opportunities for over eager retrieval of persistent Nodes - b1b14f6
- Optimise wrapping of persistent DOM Nodes in a Node Proxy - 8b08052
- Optimise updating Node Proxies - 5ad35c8
- Optimise retrieval of the Document Element for persistent documents - 2ef616f
- Make combining two
NodeListImplmore efficient - 333c37a - Replace
StringWriterwithStringBuilderWriter- c875aa5 - Reuse
StringBuilderWriterwhen serializing multiple items - 95abee0
Full Changelog: elemental-6.5.0...elemental-6.6.0
Elemental 7.1.0
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
- Download files are below!
- Homebrew Cask: elemental
- Docker Image: evolvedbinary/elemental:7.1.0
- Maven Central: https://search.maven.org/search?q=g:xyz.elemental
- Website: https://www.elemental.xyz
Change Log
Features
- New implementation of the
fn:doc-available#1XPath function - 3ac3745 (Closes issue: eXist-db/exist#5220) - De-duplicate contiguous entries in ACLs that target the same resource and access conditions - 710c231 (Closes issue: eXist-db/exist#5138)
- New implementation of Java Binding from XQuery - 4b2b99d (Closes issue: eXist-db/exist#5090)
- Updated dependencies and plugins to the latest (Java 8 compatible) versions - d37f67a
Bug Fixes
- Added missing Elemental Server certificates for Jetty SSL HTTPS use - 3b1109 and ea3aeff (Closes issue: #1)
- Reinstate the JMX Client tools - 35f858 (Closes issue: eXist-db/exist#5706)
- Improve the macOS notarization process - 38c0d24 (Closes issue: #2)
- Reload Collection after removing a resource in the Java Admin Client - ed55b33 (Closes issue: eXist-db/exist#5711)
- 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
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
- Download files are below!
- Homebrew Cask: elemental@6
- Docker Image: evolvedbinary/elemental:6.5.0
- Maven Central: https://search.maven.org/search?q=g:xyz.elemental
- Website: https://www.elemental.xyz
Change Log
Features
- New implementation of the
fn:doc-available#1XPath function - 3ac3745 (Closes issue: eXist-db/exist#5220) - De-duplicate contiguous entries in ACLs that target the same resource and access conditions - 710c231 (Closes issue: eXist-db/exist#5138)
- New implementation of Java Binding from XQuery - 4b2b99d (Closes issue: eXist-db/exist#5090)
- Updated dependencies and plugins to the latest (Java 8 compatible) versions - d37f67a
Bug Fixes
- Added missing Elemental Server certificates for Jetty SSL HTTPS use - 3b1109 and ea3aeff (Closes issue: #1)
- Reinstate the JMX Client tools - 35f858 (Closes issue: eXist-db/exist#5706)
- Improve the macOS notarization process - 38c0d24 (Closes issue: #2)
- Reload Collection after removing a resource in the Java Admin Client - ed55b33 (Closes issue: eXist-db/exist#5711)
- 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
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
- Download files are below!
- Homebrew Cask: elemental
- Docker Image: evolvedbinary/elemental:7.0.0
- Maven Central: https://search.maven.org/search?q=g:xyz.elemental
- Website: https://www.elemental.xyz
Change Log
Features
- Upgraded from Java 8 to Java 21 - 60006a8
- Added support for the XQuery 3.0
tumbling windowandsliding windowexpressions within FLWOR expressions - eXist-db/exist#4529 - Added support for the XQuery 3.0
countclause within FLWOR expressions - eXist-db/exist#4530 - The XML Declaration is now preserved when storing and retrieving documents - eXist-db/exist#4578
- Enabled secure XML parsing by default - eXist-db/exist#3836
- Added support for integrating with Saxon PE and EE (in addition to HE) - eXist-db/exist#4854 (Closes issue: eXist-db/exist#4813)
- Major update and overhaul of the GeoSpatial Index - eXist-db/exist#4643
- Added a new
image:scale#2XPath function that accepts rendering hints - eXist-db/exist#4794 - Added a new
mail:get-mail-session#2XPath function that accepts authorisation information - eXist-db/exist#4802 - Index use is now strictly enforced by default - eXist-db/exist#4885 (Closes issue: eXist-db/exist#4884)
- Persistent documents can now be passed within the XSLT parameters to the XPath function
fn:transform- eXist-db/exist#4930 - 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) - Optimised Lock Objects to reduce memory use and improve performance - eXist-db/exist#4765
- Small performance improvements to the Full Text index - eXist-db/exist#4793
- Improved argument handling in the command line tools - eXist-db/exist#4772
- Accurancy of document size reporting via the WebDAV API is now configurable - eXist-db/exist#5381
- JMX Output is now tabular - eXist-db/exist#4963
- Upgraded the Jetty Web Server from version 9 to version 11 - eXist-db/exist#4575
- Updated all library dependencies to the latest Java 21 compatible versions - 1af1dae
Bug Fixes
- Improved compliance with the XPath standard:
- Improved behaviour of
castable asexpressions when operating overxs:untypedAtomicValuetyped values - eXist-db/exist#4900 (Closes issue: eXist-db/exist#4518) - Improved comparison of
INFand-INFvalues withxs:floatandxs:doubletyped values - 83b6cc1 and e518717 - Improved comparison of
NaNvalues withxs:floatandxs:doubletyped values - f0f8aa9 - Reimplemented key comparison operations in Map types - 3b90ac0
- Improved behaviour of
- Improved compliance with the XQuery standard:
- 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)
- Improved compliance with the XPath and XQuery Functions and Operators standard:
- Corrected the function signatures of:
fn:collection,fn:contains-token,fn:document-uri,fn:format-integer,fn:json-to-xml, andfn:xml-to-json- eXist-db/exist#4470 (Closes issue: eXist-db/exist#1917) and eXist-db/exist#3313 - Changed the default behaviour of
map:mergefromuse-lasttouse-first- eXist-db/exist#3738 (Closes issue: eXist-db/exist#3750) - Fixed an error that was previously caused when
fn:namewas called on a CDATA Section node - eXist-db/exist#4741 (Closes issue: eXist-db/exist#4740) - Improved the error codes raised by
fn:analyze-string,fn:matches, andfn:replace- eXist-db/exist#4886 - Cleanup up the parameters accepted by
fn:filter- eXist-db/exist#4848 (Closes issue: eXist-db/exist#3370) - Reimplemented the
fn:deep-equalfunction correctly - 0fbb245 - The
fn:xml-to-jsonfunction now raises errorFOJS0007if provided elements are not in thefnnamespace - 04c0e9d (Closes issue: eXist-db/exist#5543)
- Corrected the function signatures of:
- Improved compliance with the XQuery and XPath Data Model standard:
- Corrected the relationship between
NodeandItem- eXist-db/exist#3409 - Reimplemented the
xs:numericdata type correctly - eXist-db/exist#5485
- Corrected the relationship between
- Improved compliance with the EXPath standards:
- Corrected the default namespace prefix for the EXPath HTTP Client Module - eXist-db/exist#3041
- Switched from
empty greatesttoempty leastordering in XQuery FLWOR expressions to match other popular implementations - eXist-db/exist#3376 - Fixed an issue with expanding matches on Full Text and n-gram indexed nodes - eXist-db/exist#4766 (Closes issue: eXist-db/exist#2102)
- 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)
- 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)
- Fixed issues with Full Text index not being correct optimised and missing node matches - eXist-db/exist#4989 (Closes issue: eXist-db/exist#3207)
- Fixed an issue with expressions being optimised more than once by the Range Index - eXist-db/exist#4882 (Closes issue: eXist-db/exist#3624)
- Optimisied the implementation of the XPath function
fn:codepoint-equal- e9e1978 - Fixed concurrency issues in Performance Stats reporting - eXist-db/exist#4910
Java API Changes
- Refactored
org.exist.storage.DBBrokerinto an interface - eXist-db/exist#3991 - Removed the Plugins Manager API - eXist-db/exist#4158
- Simplified the
org.exist.source.Sourceinterface by removing its dependency on DBBroker - eXist-db/exist#4847
Full Changelog: 495d7f7...elemental-7.0.0
Elemental 6.4.0
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
- Download files are below!
- Homebrew Cask: elemental@6
- Docker Image: evolvedbinary/elemental:6.4.0
- Maven Central: https://search.maven.org/search?q=g:xyz.elemental
- Website: https://www.elemental.xyz
Change Log
Features
- Improved the security of our Docker Images (and reduced their size) - ec74920
- Added Docker Image support for arm64 platforms - a1dfddf (Closes issues: eXist-db/exist#4151 and
eXist-db/exist#5532) - In-memory documents that contain fragments of persistent documents can now be transformed with XSLT - 36e1860 (Closes issue: eXist-db/exist#5682)
- In-memory XML fragments can now be transformed with XSLT - 9254f84 (Closes issue: eXist-db/exist#5680)
- Updated all library dependencies to the latest Java 8 compatible versions - 44a3a37
Bug Fixes
- Allow XSLT imports and includes to be resolved from within EXPath Packages - 5d0bcf5
- Repaired the XML-RPC support used by oXygen XML Editor - a5e9116
- Fixed an issue with relative paths when importing XQuery Library Modules - c217b69 (Closes issue: eXist-db/exist#5525)
- Allow comparison of xs:dateTime and xs:dateTimeStamp types - c0f2ff9 (Closes issue: eXist-db/exist#5478
- Improved compliance with the standard of the XPath function
fn:xml-to-json- 04c0e9d (Closes issue: eXist-db/exist#5543) - Make sure that XQuery Modules loaded via the XPath function
fn:load-xquery-moduleare correctly monitored by the query execution engine - 984a902 (Closes issue: eXist-db/exist#5569) - Fixed an issue with positions in FLWOR expression that have
allowing emptyset - 1e3b931 - Improved the handling of XML BOMs when storing and parsing documents - 26c2bb4 (Closes issue: eXist-db/exist#5610)
- Make the IzPack Installer function on Java 21 - 295a864 (Closes issue: eXist-db/exist#5661)
- Improve compliance with the standard of in-memory XML Elements with respect to Attributes - f8a2781 (Closes issue: eXist-db/exist#5672)
- Fixed over zealous detection of recursive XQuery functions - 3cc543b (Closes issue: eXist-db/exist#5685)
- Fixed a race condition in the initialisation of JMX MBeans - a4df929
Full Changelog: eXist-6.3.0...elemental-6.4.0