eXist-db 6.2.0

eXist-db 6.2.0 Release Notes

Version 6.2.0 is a very small incremental improvement over 6.1.0 that addresses three late breaking bugs/regressions that were discovered. It is recommended that all users of eXist-db 6.x.x upgrade to version 6.2.0 or newer.

Bug Fixes

  • Ensure that XSLT stylesheets are only compiled once when used from an xsl-pi in the REST Server by @adamretter in #4708
  • fn:serialize issues by @line-o in #4703
  • Don't stop startup if an EXPath Package cannot be loaded #4693

Updated Application Dependencies

  • Bump ant.version from 1.10.12 to 1.10.13 by @dependabot in #4711
  • Bump assertj-core from 3.23.1 to 3.24.2 by @dependabot in #4717
  • Bump java-uuid-generator from 4.0.1 to 4.1.0 by @dependabot in #4712
  • Bump jline from 3.21.0 to 3.22.0 by @dependabot in #4721
  • Bump junit.jupiter.version from 5.9.1 to 5.9.2 by @dependabot in #4687
  • Bump rsyntaxtextarea from 3.3.1 to 3.3.2 by @dependabot in #4720
  • Bump tika.version from 2.6.0 to 2.7.0 by @dependabot in #4723
  • Bump xmlresolver.version from 4.6.0 to 4.6.4 by @dependabot in #4710

Updated Build System Dependencies

  • Bump dependency-check-maven from 7.4.4 to 8.0.2 by @dependabot in #4718
  • Bump maven-failsafe-plugin from 3.0.0-M7 to 3.0.0-M8 by @dependabot in #4688
  • Bump maven-project-info-reports-plugin from 3.4.1 to 3.4.2 by @dependabot in #4689

Full Changelog: https://github.com/eXist-db/exist/compare/eXist-6.1.0...eXist-6.2.0

Backwards Compatibility

eXist-db 6.2.0 is backwards binary compatible with previous 6.x.x versions, which should make upgrading simple with no changes required to XQuery or XSLT application code. For those users migrating from 4.x.x or 5.x.x versions to 6.x.x a full backup and restore of the database will be required and possibly some small changes to XQuery and XSLT application code. Please review previous releases' notes for detailed information.

January 2023 Releases

After almost a year since our last releases, I am delighted to announce the release of eXist-db versions 6.1.0, 5.5.1, and 4.11.1.

eXist-db 6.x.x is our main active line of development, and we have recommended this version series for all users for some time now. eXist-db 6.1.0 includes numerous improvements, optimisations, and bug fixes. In particular it adds a number of additional functions from XQuery 3.1 that were previously missing, including: fn:transform, fn:default-language, fn:format-integer, fn:round, fn:path, fn:collation-key, fn:n:element-with-id, fn:nilled, fn:uri-collection, and map:find. With these additions, eXist-db 6.1.0 now supports all XQuery 3.1 functions.

For those users already on the 6.x.x series, eXist-db 6.1.0 is backwards binary compatible with previous 6.x.x versions, which should make upgrading simple with no changes required to XQuery or XSLT application code. For those users migrating from 4.x.x or 5.x.x versions to 6.x.x a full backup and restore of the database will be required and possibly some small changes to XQuery and XSLT application code.

The 4.x.x and 5.x.x series of eXist-db should be considered deprecated, our new releases of 4.x.x and 5.x.x include a number of crucial bug fixes for those users who cannot yet upgrade to 6.x.x. The 5.x.x series also includes a small handful of selected features and improvements that have been backported from the 6.x.x series.

Finally, for those users considering a major upgrade from 4.x.x or 5.x.x to 6.x.x, you may wish to wait for the upcoming release of eXist-db 7.0.0. This release will update eXist-db from Java 8 to Java 17, and greatly improve its XQuery compliance with the W3C specifications. The improvements in compliance mean that some small changes to your XQuery application code may be required, but we believe that this is most worthwhile. We expect to release eXist-db 7.0.0 with Q1 of 2023.

The full release notes and downloads can be found here:

  1. eXist-db 6.1.0
  2. eXist-db 5.5.1
  3. eXist-db 4.11.1

As well as thanking all contributors, I would also like to especially thank the Office of the Historian, U.S. Department of State, which commissioned several of the improvements in eXist 6.1.0 through Evolved Binary and eXist Solutions, and worked with Evolved Binary to make this release a reality.

Best wishes. Adam.

eXist-db 6.1.0

eXist-db 6.1.0 Release Notes

Version 6.1.0 now supports all XQuery 3.1 functions. It also includes numerous new features and critical fixes for defects found in version 6.0.1. It is recommended that all users of eXist-db 6.x.x upgrade to version 6.1.0 or newer.

Features and Improvements

  • Implement fn:transform by @alanpaxton and @adamretter in #4386
  • Implement fn:default-language#0 by @alanpaxton in #4360
  • Implement fn:format-integer#2,#3 by @alanpaxton in #4366
  • Implement map:find#2 by @alanpaxton in #4401
  • Implement fn:round#2 by @alanpaxton in #4400
  • Implement fn:path#0 and fn:path#1 by @chris-evolvedbinary in #4402
  • Implement fn:collation-key by @chris-evolvedbinary in #4435
  • Implement minus unary operator for xs:dateTimeStamp by @adamretter in #4477
  • Implement fn:element-with-id by @chris-evolvedbinary in #4485
  • Implement fn:nillled by @alanpaxton in #4405
  • Implement fn:uri-collection by @chris-evolvedbinary in #4483
  • Implement fn:serialize, use character maps by @alanpaxton in #4527
  • Implement serialization item separator by @chris-evolvedbinary in #4456
  • Add serialization option that inserts final newline by @line-o in #4264
  • Add xs:dateTimeStamp datatype by @rhubner in #4393
  • Use Saxon for fn:matches regular expression handling. by @rhubner in #4407
  • Allow all options in map:merge#2 by @line-o in #4621
  • New implementation of the XmlDiffModule by @adamretter in #4554
  • Enable Document Type Declaration Serialization by @adamretter in #4547
  • Improve out-of-scope detection for binary variables by @adamretter in #4409
  • Fix the Node Test for document-node(element(name)) by @adamretter in #4395
  • Allow BigDecimal and BigInteger values to be declared via XML:DB API by @adamretter in #4418
  • Fix XQuery Trigger chaining by @adamretter in #4280
  • Fix XML Catalogue Resolution by @adamretter in #4328
  • request:get-data#0 should support Chunked Transfer Encoding by @adamretter in #4337
  • Allow to set serialization options in file:sync#3 by @line-o in #4254
  • Optimise URI Encoding of Path Components by @adamretter in #4294
  • Log xsl:fo render errors to exist.log by @adamretter in #4335
  • Use newer Java 8 JVM memory options for better Docker compatibility by @adamretter in #4281
  • Docker enhancements for tools and debugging by @adamretter in #4398
  • Fix catalog uris when using Windows Paths by @adamretter in #4338
  • Run XQTS against eXist-db in CI by @adamretter in #4333
  • Improve performance of JAC Query Dialog by @adamretter in #4356
  • Capture xs:anyURI error details in XMLDB Module by @adamretter in #4352
  • Improvements to system:as-user by @adamretter in #4349
  • Improve XSLT errors by @adamretter in #4372
  • Fix issues with range, precision, and exponent with fn:xml-to-json by @adamretter in #4387
  • Share common code between RestoreHandler and SystemImportHandler by @adamretter in #4392
  • Report null results instead of throwing NPE by @adamretter in #4488
  • Tests to show that Path expression with nested positional predicate succeeds on database node by @adamretter in #4472
  • Add location information when throwing XPathException by @chris-evolvedbinary in #4457
  • Corrects issues with fn:local-name and unnecessary evaluation of path steps on empty sequences by @adamretter in #4473
  • Add missing location information in errors for functions inside element constructors (err:XQTY0105) by @chris-evolvedbinary in #4444
  • Add lowercase-expended-terms option documentation by @marmoure in #4583
  • Field perf revised by @line-o in #4541
  • Use final log4j-slf4j2-impl bridge by @reinhapa in #4563
  • HTML5 serializer should escape contents of title and textarea elements by @joewiz in #4668
  • Refactor Sequence.of by @line-o in #4627
  • Analyzer conf doesn’t accept primitives by @marmoure in #4635
  • Fix function description of util:declared-variables by @joewiz in #4654
  • Also build the IzPack installer by @adamretter in #4684

Bug Fixes

  • XML documents were stored incorrectly by WebDAV by @adamretter in #4230
  • Fix regression in util:document-id by @adamretter in #4270
  • Fix a security privilege escalation issue with XQueryTrigger by @adamretter in #4274
  • Fix Memory leaks caused by XQuery context and update listener leaks by @adamretter in #4636
  • file:sync#3 updates only changed files by @line-o in #4322
  • Do not override Bearer Authentication with Basic Authentication by @adamretter in #4375
  • Fix a bug in XSuite reporting too many failures by @adamretter in #4648
  • Override resource type from backup metadata by @reinhapa in #4379
  • Fix additional issues with ResourceType and MediaType during Restore by @adamretter in #4390
  • Fix div operator error when arg is a variable. by @rhubner in #4432
  • Fix numerous bugs in numeric operations by @adamretter in #4433
  • Don't allow xs:string to be cast as xs:QName by @rhubner in #4439
  • Fix the use of Function Reference from with a Predicate by @adamretter in #4414
  • Avoid an NPE when disposing Binary Values by @adamretter in #4462
  • Continue evaluation on preceding empty sequences for EnclosedExpr by @adamretter in #4497
  • Add missing XQuery Reserved Names by @adamretter in #4498
  • Fix xmldb:store for xs:anyURI by @rhubner in #4454
  • Fix Rest client file encoding by @marmoure in #4474
  • Fix resource leak (and file lock) by @nverwer in #4521
  • fn:transform stylesheet document crash by @alanpaxton in #4570
  • Fix issues with document-node lookups on various axis by @adamretter in #4548
  • Fix empty array constructor by @marmoure in #4587
  • Fix issues with SMTP dialogue in the Mail Module when sending emails. by @adamretter in #4597
  • Fix mail:send-email via Java API in Docker by @adamretter in #4601
  • Fix issues with binary files being closed whilst they are still needed by @adamretter in #4662
  • Windows Service installer - prunsrv.exe expects memory to be supplied as an integer by @adamretter in #4685
  • Send a valid HTTP Accept Header by @adamretter in #4291
  • Restore libraries required for Monex's Remote Console pane by @joewiz in #4215
  • Generate required jacoco xml report files by @reinhapa in #4226
  • Removes non used junit-vintage-engine by @reinhapa in #4235
  • Import jetty Properties from SystemProperties by @agh2342 in #4196
  • Fix IDEA runconfiguration by @line-o in #4259
  • Add run configuration for local jetty server by @line-o in #4263
  • Fix license header (previously eXist 4.x.x syntax) by @adamretter in #4302
  • Increase timeout for slower CI VMs to 60s by @reinhapa in #4269
  • Replace utf8 literals by @line-o in #4311
  • Fix default encoding and file module tests on Windows by @line-o in #4290
  • Reinstate all XQuery 3 tests by @adamretter in #4309
  • Drop build workflow by @line-o in #4315
  • Use builtin maven-cache of setup-java action by @line-o in #4316
  • License file for exist-xqts distro needs to be excluded from license checks by @adamretter in #4346
  • Add missing entity-resolver elements to the Schema for collection.xconf by @adamretter in #4362
  • Limit the number of hardware threads to a max of 16 in some tests by @adamretter in #4369
  • Set permissions for GitHub actions by @naveensrinivasan in #4381
  • Use correct implementation for slf4j 2.0.0 by @reinhapa in #4526
  • Change URL for two unparsed-text tests by @line-o in #4543
  • Should never synchronize on a Boolean by @adamretter in #4573
  • Remove exist-serialize option by @marmoure in #4582
  • Fix namespace binding conflict errors with XQuery Update by @alanpaxton in #4545
  • Fixes an issue with XSuite not being able to run some formulations of XQsuite by @adamretter in #4589
  • Build timestamp should be the timestamp of the build and not the last git commit by @adamretter in #4608
  • Jetty dtd references must now use https instead of http by @StephanMa in #4618
  • Add delay so timing of collections are subtle different by @dizzzz in #4623, and #4626
  • Fix CI use of Coveralls Code Coverage by @adamretter in #4647
  • Fix http redirect schema test by @adamretter in #4680

Updated Application Dependencies

  • Bump apache.httpcomponents.version from 4.5.13 to 4.5.14 by @dependabot in #4638
  • Bump assertj-core from 3.22.0 to 3.23.1 by @dependabot in #4424, and #4426
  • Bump commons-compress from 1.21 to 1.22 by @dependabot in #4605
  • Bump commons-daemon from 1.2.4 to 1.3.3 by @dependabot in #4384, and #4630
  • Bump easymock from 4.3 to 5.0.1 by @dependabot in #4603
  • Bump exist-xqts-runner_2.13 from 1.0.1 to 1.1.0 by @dependabot in #4501
  • Bump exquery.distribution.version from 0.2.0 to 0.2.1 by @dependabot in #4298
  • Bump fastutil from 8.5.6 to 8.5.11 by @dependabot in #4237, #4577, and #4650
  • Bump fop from 2.6 to 2.8 by @dependabot in #4198, and #4629
  • Bump greenmail.version from 2.0.0-alpha-2 to 2.0.0-alpha-3 by @dependabot in #4666
  • Bump H2 from 1.4.200 to 2.1.214 by @reinhapa and @dependabot in #4411, and #4445
  • Bump httpcore from 4.4.15 to 4.4.16 by @dependabot in #4645
  • Bump jackson-core from 2.13.1 to 2.13.4 by @dependabot in #4265, #4391, and #4540
  • Bump jctools-core from 3.3.0 to 4.0.1 by @dependabot in #4427, and #4555
  • Bump jetty.version from 9.4.44.v20210927 to 9.4.50.v20221201 by @dependabot in #4227, #4450, #4453, #4559, and #4644
  • Bump jing from 20181222 to 20220510 by @dependabot in #4385
  • Bump jmh.version from 1.35 to 1.36 by @dependabot in #4634
  • Bump junit.jupiter.version from 5.8.2 to 5.9.1 by @dependabot in #4505, and #4566
  • Bump junit-vintage-engine from 5.8.2 to 5.9.2 by @dependabot in #4506, #4567, and #4674
  • Bump log4j.version from 2.17.1 to 2.19.0 by @dependabot in #4257, #4467, and #4561
  • Bump objenesis from 3.2 to 3.3 by @dependabot in #4510
  • Bump rsyntaxtextarea from 3.1.6 to 3.2.0 by @dependabot in #4273, #4571, and #4658
  • Bump slf4j-api from 1.7.33 to 2.0.6 by @dependabot in #4211, #4232, #4523, #4558, #4569, #4579, #4628, and #4653
  • Bump tika.version from 2.2.1 to 2.6.0 by @dependabot in #4228, #4378, #4448, #4581, and #4611
  • Bump Xerces from 2.12.1 to 2.12.2 by @adamretter in #4306
  • Bump xmlgraphics-commons from 2.7 to 2.8 by @dependabot in #4637
  • Bump xmlresolver.version from 4.2.0 to 4.6.0 by @dependabot in #4459, #4480, #4496, #4341, #4514, #4520, #4565, and #4624
  • Bump xmlunit.version from 2.8.4 to 2.9.1 by @dependabot in #4212, and #4682

Updated Build System Dependencies

  • Bump appbundler-maven-plugin from 1.0.7 to 2.0.0 by @dependabot in #4613
  • Bump dependency-check-maven from 6.5.3 to 7.4.4 by @dependabot in #4260, #4296, #4359, #4440, #4522, #4557, #4568, #4592, #4633, #4646, #4651, #4664, #4669
  • Bump docker-maven-plugin from 0.381.0 to 0.40.3 by @dependabot in #4223, #4258, #4421, #4441, #4509, and #4659
  • Bump exec-maven-plugin from 3.0.0 to 3.1.0 by @dependabot in #4484
  • Bump jacoco-maven-plugin from 0.8.7 to 0.8.8 by @dependabot in #4317
  • Bump maven-assembly-plugin from 3.3.0 to 3.4.2 by @dependabot in #4468, #4476, and #4503
  • Bump maven-clean-plugin from 3.1.0 to 3.2.0 by @dependabot in [#4318](https://github.com/eXist-db/exist/pull/4318
  • Bump maven-compiler-plugin from 3.9.0 to 3.10.1 by @dependabot in #4244, and #4267
  • Bump maven-deploy-plugin from 3.0.0-M2 to 3.0.0 by @dependabot in #4500
  • Bump maven-failsafe-plugin from 3.0.0-M5 to 3.0.0-M7 by @dependabot in #4431, and #4330
  • Bump maven-install-plugin from 3.0.0-M1 to 3.1.0 by @dependabot in #4499, #4502, and #4625
  • Bump maven-jar-plugin from 3.2.2 to 3.3.0 by @dependabot in #4562
  • Bump maven-javadoc-plugin from 3.3.1 to 3.3.2 by @dependabot in #4241, #4347, and #4515
  • Bump maven-project-info-reports-plugin from 3.1.2 to 3.4.1 by @dependabot in #4224, #4261, #4365, #4495, and #4516
  • Bump maven-resources-plugin from 3.2.0 to 3.3.0 by @dependabot in #4504
  • Bump maven-scm-plugin from 1.12.2 to 1.13.0 by @dependabot in [#4422](https://github.com/eXist-db/exist/pull/4422
  • Bump maven-shade-plugin from 3.2.4 to 3.4.1 by @dependabot in #4319, #4556, and #4606
  • Bump maven-site-plugin from 3.10.0 to 3.12.1 by @dependabot in #4246, #4348, and #4511
  • Bump maven-surefire-report-plugin from 3.0.0-M5 to 3.0.0-M8 by @dependabot in #4314, #4430, and #4673
  • Bump maven-surefire-plugin from 3.0.0-M5 to 3.0.0-M8 by @dependabot in #4326, #4429, and #4683
  • Bump versions-maven-plugin from 2.9.0 to 2.14.2 by @dependabot in #4277, #4399, #4544, #4602, #4656, and #4663

New Contributors

  • @alanpaxton made their first contribution in #4360
  • @naveensrinivasan made their first contribution in #4381
  • @rhubner made their first contribution in #4393
  • @chris-evolvedbinary made their first contribution in #4402
  • @nverwer made their first contribution in #4521

Full Changelog: https://github.com/eXist-db/exist/compare/eXist-6.0.1...eXist-6.1.0

Backwards Compatibility

eXist-db 6.1.0 is backwards binary compatible with previous 6.x.x versions, which should make upgrading simple with no changes required to XQuery or XSLT application code. For those users migrating from 4.x.x or 5.x.x versions to 6.x.x a full backup and restore of the database will be required and possibly some small changes to XQuery and XSLT application code. Please review previous releases' notes for detailed information.

eXist-db 4.11.1

eXist-db 4.11.1 Release Notes

Version 4.11.1 includes critical fixes for defects found in version 4.10.0. It is recommended that all users of eXist-db 4.x.x upgrade to version 4.11.1 or newer. Version 4.11.1 is a re-release of eXist-db 4.11.0, as a small issue led to the incorrect versions of accompaying EXPath Packages being shipped with the eXist-db 4.11.0 release.

Bug Fixes

  • Ensure correct eXist-db Dashboard EXPath application version (1.1.1) is packaged in the release.
  • Ensure correct eXist-db Documentation EXPath application version (4.2.0) is packaged in the release.
  • Ensure correct eXist-db eXide EXPath application version (2.4.13) is packaged in the release.
  • Ensure correct FunctX EXPath library version (1.0.1) is packaged in the release.
  • Ensure correct eXist-db Function Documentation EXPath application version (1.1.1) is packaged in the release.
  • Ensure correct eXist-db Markdown EXPath library version (0.7.0) is packaged in the release.
  • Ensure correct eXist-db Monex EXPath application version (1.0.1) is packaged in the release.
  • Ensure correct eXist-db Shared Resources EXPath library version (0.9.1) is packaged in the release.
  • Ensure correct eXist-db User Manager EXPath application version (0.16.5-prod) is packaged in the release.

Full Changelog: https://github.com/eXist-db/exist/compare/eXist-4.11.0...eXist-4.11.1

eXist-db 5.5.1

eXist-db 5.5.1 Release Notes

Version 5.5.1 includes critical fixes for defects found in version 5.4.0. It is recommended that all users of eXist-db 5.x.x upgrade to version 5.5.0 or newer. Version 5.5.1 is a re-release of eXist-db 5.5.0, as a small issue led to the incorrect versions of accompaying EXPath Packages being shipped with the eXist-db 5.5.0 release.

Bug Fixes

  • Ensure correct eXist-db Dashboard EXPath application version (2.0.9) is packaged in the release.
  • Ensure correct eXist-db Documentation EXPath application version (5.4.0) is packaged in the release.
  • Ensure correct eXist-db Function Documentation EXPath application version (1.2.0) is packaged in the release.
  • Ensure correct FunctX EXPath application version (1.0.1) is packaged in the release.

Updated Dependencies

  • Updated eXist-db eXide EXPath application from version 3.3.0 to 3.5.0
  • Updated eXist-db Monex EXPath application from version 3.0.4 to 3.0.5
  • Updated eXist-db Package Service EXPath library from version 1.3.13 to 1.3.14
  • Updated eXist-db Semver.xq EXPath library from version 2.3.0 to 3.3.0
  • Updated eXist-db Templating EXPathlibrary from version 1.0.2 to 1.1.0

Full Changelog: https://github.com/eXist-db/exist/compare/eXist-5.5.0...eXist-5.5.1