eXist-db 7.0.0-beta5
Overview
eXist-7.0.0-beta5 covers 203 merged pull requests since eXist-7.0.0-beta3. Like beta3,
this remains a beta — not recommended for production use.
Note:
eXist-7.0.0-beta4was never released — its build failed, so no installers were
published.eXist-7.0.0-beta5is the direct successor toeXist-7.0.0-beta3; everything
beta4 would have contained is included here.
Installer & Packaging Updates
This window had an unusual amount of installer churn, closing out several issues left over from
beta3's "signed but not yet working" installers:
- macOS DMG notarization fixed — the codesign script for
lz4-java's native library was
hardcoded to version1.11.0; two Dependabot bumps moved the actual dependency to1.11.2
without updating the script, breaking the beta4 build. Now driven from a single
lz4-java.versionproperty shared between the dependency and the codesign step, matching the
existingjansi.versionpattern. (#6715) - macOS
.applaunch fixed —LSArchitecturePriority,stripFirstElement, and an IzPack
minVersionbump so the beta3.appactually starts. (#6434) - IzPack installer stabilized — rolled back 5.2.5 → 5.2.4 after a console-mode regression
(#6438), then re-bumped to 5.2.6 once fixed (#6445); restoredxzcompression (#6611); fixed a
missing classpath entry that threwNoClassDefFoundError: org/xmlresolver/Resolverduring
post-install (#6444). - Windows installer JAR — fixed a
runner.temppath bug that was silently dropping the
installer JAR from release artifacts (#6435). - Content/package selection screen — added missing XAR files, made the OpenAPI XAR a
mandatory install, cleaned up installer copy (#6519). - JnlpJarFiles realigned with the jars added in #5806 (#6516).
- Distribution & installer job cleanup — removed dead assembly code, fixed
Installer.jar
generation and publishing (#6460), and dropped an unusedplexusdependency left over from that
cleanup (#6523).
What's Changed
Features
- [feature] Distinct error codes for sm: permission functions (let callers map 403 vs 400) by @joewiz in #6464
- [feature] response:stream-binary-resource — zero-copy binary download by @joewiz in #6466
- [feature] request module: Accept-header parsing and content negotiation by @joewiz in #6477
- [feature] Native EXPath HTTP Client (java.net.http + Methanol); remove Apache HttpClient by @joewiz in #6482
- [feature] Enable HTTP/2 for jetty by @dizzzz in #6485
- [feature] Adds new xmldb-api security services by @reinhapa in #6520
- XSD 1.1 support — store-time document validation via a Saxon catalog resolver (#6530),
versioned native schemas shipped with governance CI (#6528), and follow-up validation/catalog
fixes (#6496), all by @duncdrum - [feature] Add @enabled attribute to conf.xml elements to disable entries without removing them by @duncdrum in #6550
- [feature] request: add request:get-uploaded-file-headers() by @joewiz in #6583
- [feature] Unix-style execute-without-read for stored XQuery by @line-o in #6586
- Add system:get-jmx-token() to expose JMXServlet's access token by @line-o in #6631
- Publish JMH benchmark results to a gh-pages dashboard by @duncdrum in #6608
Bug Fixes
- [bugfix] distinguish XPTY0004 from XQDY0074 in computed constructors by @line-o in #6268
- [fix] remove omit-original-xml-declaration flag by @line-o in #6277
- [bugfix] fn:xml-to-json: enforce F&O 3.1 §17.4.2 structural validation (+10 XQTS HEAD) by @joewiz in #6350
- [bugfix] Preserve attribute namespace when copied via enclosed expression (+4 XQTS HEAD) by @joewiz in #6356
- [bugfix] InteractiveClient/GUI: when connection to database fails, allow user to reconnect easily. by @dizzzz in #6424
- [bugfix] FileLock: remove shared ByteBuffer to fix concurrent save/read race by @joewiz in #6430
- [bugfix] repo:remove: throw with diagnostic info instead of swallowing exceptions by @joewiz in #6432
- [bugfix] Preserve ft:highlight-field-matches under facet drill-down by @joewiz in #6454
- [bugfix] Windows startup.bat: use %BASEDIR% for exist.autodeploy.dir (closes #6456) by @joewiz in #6457
- [bugfix] asterisk and dot in element()-typed args in field @expression by @duncdrum in #6461
- [bugfix] eliminate port-binding TOCTOU race in test servers by @duncdrum in #6462
- [bugfix] Compile statically-named arrow operator to a direct function call (closes #3887, #3336, #3885) by @joewiz in #6469
- [bugfix] Log a deferred (tail-call) function's error once, not once per Sequence accessor by @joewiz in #6470
- [bugfix] External variable: supplied value overrides declared default by @joewiz in #6475
- Improve function resolution by @line-o in #6476
- [bugfix] RESTServer: set Content-Type for JSON results by @joewiz in #6478
- [bugfix] map keys: compare by op:same-key, never coerce across type families by @joewiz in #6491
- [bugfix] xmldb:store: parse binary content stored under an XML mime type by @joewiz in #6497
- [bugfix] fixes potential NPE by @reinhapa in #6499
- [bugfix] Function: report the actual argument count in arity-mismatch errors by @joewiz in #6504
- [bugfix] Fix premature closing of still-referenced binary values by @joewiz in #6506
- [bugfix] Sequence.containsReference: recurse into nested map/array items by @joewiz in #6507
- [bugfix] http-client: support the src attribute on http:body (#6510) by @joewiz in #6511
- [bugfix] http-client: honor http:body/@method for inline body serialization by @joewiz in #6513
- [bugfix] http-client: parse a non-well-formed HTML response to a document by @joewiz in #6514
- [bugfix] http-client: byte-safe multipart response parsing with nesting by @joewiz in #6515
- [bugfix] Bind context item for trailing function-call path step on stored docs by @joewiz in #6522
- Fix BrokerPool.inServiceMode JMM data race with volatile by @duncdrum in #6533
- [bugfix] Stop backup prolog stderr spam; fix DeadlockIT CI hang by @duncdrum in #6534
- [bugfix] Silence Log4j StatusLogger noise in Maven test forks by @duncdrum in #6535
- [hotfix] repair build by @dizzzz in #6545
- [bugfix] Forward port PR #6544: fix XSLT imports and document builder isolation by @line-o in #6546
- Fix Jetty shutdown hang and BrokerPool read-only race by @duncdrum in #6572
- [bugfix] Parse multipart/form-data for all HTTP methods, not only POST by @joewiz in #6581
- [hotfix]: align BouncyCastle modules to override Tika 1.84 by @duncdrum in #6591
- [bugfix] Restore XQuery pool integrity for execute-only callers by @line-o in #6599
- [bugfix] Make mvn package re-runnable by @line-o in #6602
- [bugfix] request: expose If-Modified-Since to handlers during view handover by @joewiz in #6606
- [bugfix] Tolerate ambiguous URI segments in getServletPath() by @line-o in #6622
- Fix xml:id FORG0001 spam in PrecedingAxisBenchmark by @duncdrum in #6645
- [bugfix] Release the stored query's READ_LOCK at end-of-compile over REST and XML-RPC by @line-o in #6647
- [bugfix] Guard against null Path.of(getRealPath()/getPathTranslated()) across servlet/urlrewrite code by @duncdrum in #6649
- [bugfix] update ParseHtmlTest to match codelibs nekohtml 3.0.4 behavior by @dizzzz in #6662
- [bugfix] Fix resource leak Lucene AnalyzerConfig by @dizzzz in #6663
- [bugfix] Anchor .moderne ignore pattern so it applies at any depth by @duncdrum in #6685
- [bugfix] cover native collection.xconf.xsd via OASIS catalog + jaxp by @duncdrum in #6687
- [bugfix] Replace CachingResponseWrapper's header-name allowlist with buffer+replay by @duncdrum in #6692
- [bugfix] Fix CachingResponseWrapper gaps exposed by the Jetty 12 upgrade by @duncdrum in #6694
- [bugfix] XQSuite: don't re-serialize already-serialized failure values by @joewiz in #6699
- [bugfix] Look up a named attribute kind test in the attribute index on the self axis by @joewiz in #6703
- [bugfix] Handle SQLexception gracefully for rs.getMetaData() by @dizzzz in #6712
Performance
- [optimize] PrecedingFilter: K-bounded sliding window for preceding::*[K] (#2129 follow-up to PR #6325) by @joewiz in #6330
- [optimize] fn:deep-equal: streaming fast-path for persistent-DOM trees (closes #4050) by @joewiz in #6337
- [optimize] xmldb:store — stream a binary value instead of materializing to a heap byte[] by @joewiz in #6467
Security
Refactoring
- [refactor] Revise HttpClient creation and caching. by @dizzzz in #6503
- [refactor] RESTServer: decompose doGet/doPost and clear Codacy findings by @line-o in #6562
- [refactor] Apply OpenRewrite Java21 recipe by @dizzzz in #6630
Tests, CI, Build & Internal Tooling
- [ci] compare-results.xslt: surface runner-JAR drift warning when build SHAs differ by @joewiz in #6332
- [test] Cover arrow-operator placeholder edge cases (#6471) by @joewiz in #6472
- [doc] AGENTS.md: add XQSuite-vs-Java test-selection rubric; remove stale Known Issues by @joewiz in #6483
- [test] Cover boost-config + facet drill-down in the ft:highlight regression by @joewiz in #6486
- [ignore] override jackson-databind dep version by @line-o in #6525
- Generate test conf.xml/controller-config.xml fixtures from canonical at build time by @duncdrum in #6531
- Fix flaky CI tests: HTTP/2 hangs, broker/txn ordering races, and BrokerPool shutdown safety by @duncdrum in #6532
- [ci] Publish container attestations via staging-then-promote by @line-o in #6543
- [ignore] textual update by @dizzzz in #6548
- [build] add maven wrapper by @line-o in #6555
- [ci] Post XQTS result comparison as a PR comment by @line-o in #6564
- [ignore] only ignore the contents of .moderne/ (allows negations) by @line-o in #6565
- Update exist-xqts-runner version to 2.0.0-RC3 by @line-o in #6584
- [ci] Update Prethink recipe by @dizzzz in #6595
- [ci] update Moderne build configuration by @line-o in #6600
- [ci] Enable OCI media types for container image attestations by @line-o in #6629
- [test] Poll for shared-pool visibility instead of asserting it synchronously by @line-o in #6635
- Fix ci-benchmarks.yml: activate perf-tests profile by @duncdrum in #6641
- Unify exist-core-jmh and exist-indexes-jmh maven wiring; fix broken Lucene/conf.xml benchmarks by @duncdrum in #6646
- [ci] Pin oci-artifact=false so Docker Hub/Scout can ingest published images by @line-o in #6648
- [ci] Separate real outcome changes from recording noise in the XQTS comparison by @line-o in #6650
- [ci] Update exist-xqts-runner to 2.0.0-RC4 by @line-o in #6651
- [doc] Document recursive xmldb:create-collection() #3869 by @AzazelSensei in #6666
- [test] Extract nested classes and consolidate test suite by @duncdrum in #6693
Dependency Updates (96)
Expand 96 dependency bumps, grouped by ecosystem (mostly Dependabot)
GitHub Actions (4)
- Bump actions/cache from 5 to 6 in the actions group by @dependabot[bot] in #6518
- Bump actions/checkout from 6 to 7 in the actions group by @dependabot[bot] in #6592
- Bump azure/login from 3.0.0 to 3.0.1 in the actions group by @dependabot[bot] in #6634
- Bump docker/setup-qemu-action from 4.2.0 to 4.3.0 in the actions group by @dependabot[bot] in #6688
Jetty (5)
- Bump jetty.version from 12.1.9 to 12.1.10 by @dependabot[bot] in #6440
- Bump the jetty group across 1 directory with 7 updates by @dependabot[bot] in #6443
- Bump jetty.version from 12.1.10 to 12.1.11 by @dependabot[bot] in #6559
- Bump jetty.version from 12.1.11 to 12.1.12 by @dependabot[bot] in #6625
- Bump jetty.version from 12.1.12 to 12.1.13 by @dependabot[bot] in #6682
Lucene (2)
- Bump the lucene group with 6 updates by @dependabot[bot] in #6526
- Bump the lucene group with 6 updates by @dependabot[bot] in #6637
JLine (7)
- Bump the jline group with 2 updates by @dependabot[bot] in #6487
- Bump the jline group with 2 updates by @dependabot[bot] in #6494
- Bump the jline group across 1 directory with 2 updates by @dependabot[bot] in #6538
- Bump the jline group with 2 updates by @dependabot[bot] in #6664
- Bump the jline group with 2 updates by @dependabot[bot] in #6672
- Bump the jline group with 2 updates by @dependabot[bot] in #6675
- Bump the jline group with 2 updates by @dependabot[bot] in #6706
Jackson (3)
- Bump the jackson group across 1 directory with 2 updates by @dependabot[bot] in #6426
- Bump the jackson group with 2 updates by @dependabot[bot] in #6558
- Bump the jackson group with 2 updates by @dependabot[bot] in #6652
Maven Build Plugins (12)
- Bump org.sonatype.central:central-publishing-maven-plugin from 0.10.0 to 0.11.0 by @dependabot[bot] in #6488
- Bump com.mycila:license-maven-plugin from 5.0.0 to 5.1.1 by @dependabot[bot] in #6597
- Bump org.apache.maven.plugins:maven-jar-plugin from 3.5.0 to 3.5.1 in the maven-plugins-apache group by @dependabot[bot] in #6604
- Bump org.codehaus.mojo:flatten-maven-plugin from 1.7.3 to 1.8.0 in the maven-plugins-tools group by @dependabot[bot] in #6609
- Bump io.fabric8:docker-maven-plugin from 0.48.1 to 0.49.0 by @dependabot[bot] in #6636
- Bump org.codehaus.mojo:build-helper-maven-plugin from 3.6.0 to 3.6.1 in the maven-plugins-tools group across 1 directory by @dependabot[bot] in #6643
- Bump com.mycila:license-maven-plugin from 5.1.1 to 5.1.2 by @dependabot[bot] in #6656
- Bump org.apache.maven.plugins:maven-compiler-plugin from 3.15.0 to 3.16.0 in the maven-plugins-apache group by @dependabot[bot] in #6671
- Bump the maven-plugins-apache group with 3 updates by @dependabot[bot] in #6673
- Bump io.github.git-commit-id:git-commit-id-maven-plugin from 10.0.0 to 10.0.1 in the maven-plugins-tools group by @dependabot[bot] in #6676
- Bump org.sonarsource.scanner.maven:sonar-maven-plugin from 5.7.0.6970 to 5.8.0.7211 by @dependabot[bot] in #6696
- Bump the maven-plugins-tools group with 4 updates by @dependabot[bot] in #6713
Test Tooling (JUnit/JaCoCo/EasyMock) (8)
- Bump the junit4-test-support group across 1 directory with 3 updates by @dependabot[bot] in #6425
- Bump org.jacoco:jacoco-maven-plugin from 0.8.14 to 0.8.15 in the maven-plugins-tools group by @dependabot[bot] in #6452
- Bump the junit-jupiter-bom group across 1 directory with 4 updates by @dependabot[bot] in #6536
- Bump the junit-jupiter-bom group with 4 updates by @dependabot[bot] in #6570
- Bump the junit4-test-support group with 3 updates by @dependabot[bot] in #6617
- Bump org.objenesis:objenesis from 3.5 to 3.6 in the junit4-test-support group by @dependabot[bot] in #6623
- Bump the junit-jupiter-bom group with 4 updates by @dependabot[bot] in #6632
- Bump org.easymock:easymock from 5.6.0 to 5.7.0 in the junit4-test-support group by @dependabot[bot] in #6658
AI / ML (ONNX Runtime, Tokenizers) (5)
- Bump com.microsoft.onnxruntime:onnxruntime from 1.26.0 to 1.27.0 by @dependabot[bot] in #6537
- Bump com.microsoft.onnxruntime:onnxruntime from 1.27.0 to 1.28.0 by @dependabot[bot] in #6612
- Bump com.microsoft.onnxruntime:onnxruntime from 1.28.0 to 1.29.0 by @dependabot[bot] in #6639
- Bump ai.djl.huggingface:tokenizers from 0.36.0 to 0.37.0 by @dependabot[bot] in #6683
- Bump ai.djl.huggingface:tokenizers from 0.37.0 to 0.38.0 by @dependabot[bot] in #6707
Apache Commons (5)
- Bump commons-daemon:commons-daemon from 1.5.1 to 1.6.0 by @dependabot[bot] in #6428
- Bump commons-daemon:commons-daemon from 1.6.0 to 1.6.1 by @dependabot[bot] in #6468
- Bump commons-logging:commons-logging from 1.3.6 to 1.4.0 by @dependabot[bot] in #6495
- Bump commons-codec:commons-codec from 1.22.0 to 1.22.1 in the apache-commons group by @dependabot[bot] in #6616
- Bump org.apache.commons:commons-collections4 from 4.5.0 to 4.6.0 in the apache-commons group by @dependabot[bot] in #6633
Security (BouncyCastle, OWASP dependency-check) (3)
- Bump org.bouncycastle:bcprov-jdk18on from 1.84 to 1.85 by @dependabot[bot] in #6571
- Bump org.owasp:dependency-check-maven from 12.2.2 to 13.0.0 by @dependabot[bot] in #6626
- Bump bouncycastle.version from 1.85 to 1.86 by @dependabot[bot] in #6708
Database Drivers (2)
- Bump com.oracle.database.jdbc:ojdbc11 from 23.26.2.0.0 to 23.26.3.0.0 by @dependabot[bot] in #6613
- Bump com.h2database:h2 from 2.4.240 to 2.5.250 by @dependabot[bot] in #6684
GeoTools (2)
- Bump geotools.version from 34.4 to 35.0 by @dependabot[bot] in #6465
- Bump geotools.version from 35.0 to 35.1 by @dependabot[bot] in #6638
Apache Tika (2)
- Bump tika.version from 3.3.1 to 3.3.2 by @dependabot[bot] in #6596
- Bump tika.version from 3.3.2 to 4.0.0 by @dependabot[bot] in #6655
XML Resolver (1)
- Bump org.xmlresolver:xmlresolver from 6.0.23 to 6.1.0 by @dependabot[bot] in #6674
Other (35)
- Bump net.bytebuddy:byte-buddy from 1.18.8 to 1.18.10 by @dependabot[bot] in #6441
- Bump the actions group with 2 updates by @dependabot[bot] in #6442
- Bump com.fifesoft:rsyntaxtextarea from 3.6.2 to 3.6.3 by @dependabot[bot] in #6453
- Bump greenmail.version from 2.1.8 to 2.1.9 by @dependabot[bot] in #6479
- Bump net.sf.xmldb-org:xmldb-api from 2.0.0 to 2.1.0 by @dependabot[bot] in #6480
- Bump com.zaxxer:HikariCP from 7.0.2 to 7.1.0 by @dependabot[bot] in #6481
- Bump org.expath.tools:tools-java from 0.7.0 to 0.8.0 by @dependabot[bot] in #6498
- Bump the actions group with 2 updates by @dependabot[bot] in #6500
- Bump com.github.mizosoft.methanol:methanol from 1.8.3 to 1.9.0 by @dependabot[bot] in #6501
- Bump org.expath.packaging:pkg-java from 2.0.1 to 2.1.1 by @dependabot[bot] in #6509
- Bump org.wiremock:wiremock-standalone from 3.9.1 to 3.13.2 by @dependabot[bot] in #6527
- Bump the logging group with 5 updates by @dependabot[bot] in #6541
- Bump net.bytebuddy:byte-buddy from 1.18.10 to 1.18.11 by @dependabot[bot] in #6542
- Bump at.yawk.lz4:lz4-java from 1.11.0 to 1.11.1 by @dependabot[bot] in #6554
- Bump org.apache.mina:mina-core from 2.1.12 to 2.1.13 in /extensions/debuggee by @dependabot[bot] in #6573
- Bump the actions group with 3 updates by @dependabot[bot] in #6576
- Bump greenmail.version from 2.1.9 to 2.1.10 by @dependabot[bot] in #6577
- Bump greenmail.version from 2.1.10 to 2.1.11 by @dependabot[bot] in #6579
- Bump com.fifesoft:rsyntaxtextarea from 3.6.3 to 4.0.0 by @dependabot[bot] in #6588
- Bump it.unimi.dsi:fastutil from 8.5.18 to 8.5.19 by @dependabot[bot] in #6605
- Bump com.fifesoft:rsyntaxtextarea from 4.0.0 to 4.0.1 by @dependabot[bot] in #6610
- Bump org.jspecify:jspecify from 1.0.0 to 1.0.1 by @dependabot[bot] in #6614
- Bump the actions group with 2 updates by @dependabot[bot] in #6621
- Bump greenmail.version from 2.1.11 to 2.1.12 by @dependabot[bot] in #6627
- Bump at.yawk.lz4:lz4-java from 1.11.1 to 1.11.2 by @dependabot[bot] in #6628
- Bump org.codelibs:nekohtml from 2.1.3 to 3.0.4 by @dependabot[bot] in #6640
- Bump org.jctools:jctools-core from 4.0.6 to 4.0.7 by @dependabot[bot] in #6644
- Bump net.bytebuddy:byte-buddy from 1.18.11 to 1.18.12 by @dependabot[bot] in #6653
- Bump the actions group with 3 updates by @dependabot[bot] in #6657
- Bump greenmail.version from 2.1.12 to 2.1.13 by @dependabot[bot] in #6659
- Bump io.github.hakky54:logcaptor from 2.12.6 to 2.12.7 by @dependabot[bot] in #6665
- Bump the actions group with 3 updates by @dependabot[bot] in #6670
- Bump net.bytebuddy:byte-buddy from 1.18.12 to 1.18.13 by @dependabot[bot] in #6677
- Bump ant.version from 1.10.17 to 1.10.18 by @dependabot[bot] in #6678
- Bump org.slf4j:slf4j-api from 2.0.18 to 2.0.19 in the logging group by @dependabot[bot] in #6681
New Contributors
- @AzazelSensei made their first contribution in #6666
Full Changelog: eXist-7.0.0-beta3...eXist-7.0.0-beta5