This repository was archived by the owner on Jul 8, 2025. It is now read-only.
[pull] develop from eXist-db:develop - #383
Open
pull[bot] wants to merge 2110 commits into
Open
Conversation
…zation The native EXPath HTTP Client ignored the @method attribute on http:body, so an inline body could only be XML-serialized or sent as text -- a binary/base64/hex inline body could not be sent at all (only http:body/@src, added in #6510/#6511, delivered raw bytes). RequestBuilder now honors @method (EXPath HTTP Client 3.1): - binary / base64: the body's content is base64-decoded and sent as raw bytes. - hex: the content is hex-decoded and sent as raw bytes. - text: the content's string value is sent (an element child is serialized as its text, not its markup). - xml / xhtml / html (or no @method): unchanged -- child elements are XML-serialized as before. Malformed base64/hex content raises err:HC005. The string value of body content is computed by an explicit recursive walk, because the in-memory DOM's getTextContent does not recurse into element children of a constructed http:body. Multipart-part @method, JSON/adaptive serialization, and multiple external $bodies remain follow-ups (#6512). SendRequestFunctionTest gains bodyMethodBinarySendsDecodedBytes, bodyMethodHexSendsDecodedBytes, and bodyMethodTextSerializesAsText. Part of #6512 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Per @reinhapa's review of PR #6513: - Rewrite isRawContentMethod as a switch expression for readability. The bare switch would NPE on a null selector, so it uses a `case null, default` label -- the prior `||`-of-`equals` chain was implicitly null-safe, and bodyMethod is null whenever http:body has no @method attribute (the common case). Without the guard, every body lacking @method threw a NullPointerException ("Cannot invoke String.hashCode()"). - Convert the three new bodyMethod* test query strings to text blocks with formatted(baseUrl()). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…xplicit else Address review feedback (dizzzz): the text/xml/xhtml/html (or no @method) default was a bare fall-through after two guard-clause ifs. Restructure the three cases into if / else if / else so the default is clearly the mutually-exclusive final branch, with a comment naming it. No behavior change. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThoADnh6VvDt5w8kz7d2d3
A multipart response was split with String.split("--" + boundary) over a UTF-8
decode of the body, which corrupts any binary part (a non-UTF-8 byte sequence
does not survive the String round-trip), and a nested multipart part was not
parsed recursively.
splitMultipart, extractPartContentType, and extractPartBody now operate on the
raw bytes: the body is split at the boundary using a byte-level search, each
part's header region is decoded as ISO-8859-1 (a total byte->char map) only to
read the Content-Type, and the part body is sliced as bytes -- so a binary part
round-trips byte-for-byte. addBody now recurses into a part whose media type is
multipart/*, so nested multipart responses surface their leaf parts.
SendRequestFunctionTest gains multipartBinaryPartIsByteSafe (a 0xFF 0xFE part
round-trips as base64Binary "//4=") and multipartNestedIsParsedRecursively
(outer[ multipart[A,B], C ] -> A,B,C). The two new endpoints are registered in a
helper to keep startHttpServer's complexity unchanged.
Per-part header reproduction in the http:multipart descriptor remains a follow-up.
Part of #6512
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…questFunctionTest Address review feedback (dizzzz): switch the two java.io.ByteArrayOutputStream uses in the test's HTTP endpoints to commons-io's UnsynchronizedByteArrayOutputStream, the house convention (already used elsewhere in this file), for memory efficiency. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThoADnh6VvDt5w8kz7d2d3
The previous commit's switch to commons-io UnsynchronizedByteArrayOutputStream in SendRequestFunctionTest used commons-io without declaring it, which the maven-dependency-plugin analyze gate (failOnWarning) rejects as an undeclared, non-test-scoped dependency. Declare commons-io at test scope, mirroring extensions/modules/file/pom.xml. Version is managed by the parent. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01ThoADnh6VvDt5w8kz7d2d3
…olution Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…ponse [bugfix] http-client: byte-safe multipart response parsing with nesting
…ldb: base XmldbURI#getURI strips the xmldb: prefix for xmldb:exist:// URIs but keeps it for the short xmldb:/db/... form, so unconditionally prepending it yielded xmldb:xmldb:/db/... A resolved stylesheet is now its own system id, so this was reached by any relative xsl:import within an imported stylesheet. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
… stylesheet RFC 3986 discards the last segment of the base, which is correct for a document but not for a collection: resolving style.xsl against the collection /db/apps/app yielded /db/apps/style.xsl. A collection and a document are not distinguishable by path alone, so the absence of an extension in the last segment is taken to mean a collection. Outside the database RFC 3986 still applies unchanged. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Bumps the junit-jupiter-bom group with 4 updates: [org.junit:junit-bom](https://github.com/junit-team/junit-framework), [org.junit.platform:junit-platform-engine](https://github.com/junit-team/junit-framework), [org.junit.jupiter:junit-jupiter-engine](https://github.com/junit-team/junit-framework) and [org.junit.vintage:junit-vintage-engine](https://github.com/junit-team/junit-framework). Updates `org.junit:junit-bom` from 6.1.1 to 6.1.2 - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.1.1...r6.1.2) Updates `org.junit.platform:junit-platform-engine` from 6.1.1 to 6.1.2 - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.1.1...r6.1.2) Updates `org.junit.jupiter:junit-jupiter-engine` from 6.1.1 to 6.1.2 - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.1.1...r6.1.2) Updates `org.junit.vintage:junit-vintage-engine` from 6.1.1 to 6.1.2 - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.1.1...r6.1.2) Updates `org.junit.platform:junit-platform-engine` from 6.1.1 to 6.1.2 - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.1.1...r6.1.2) Updates `org.junit.jupiter:junit-jupiter-engine` from 6.1.1 to 6.1.2 - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.1.1...r6.1.2) Updates `org.junit.vintage:junit-vintage-engine` from 6.1.1 to 6.1.2 - [Release notes](https://github.com/junit-team/junit-framework/releases) - [Commits](junit-team/junit-framework@r6.1.1...r6.1.2) --- updated-dependencies: - dependency-name: org.junit:junit-bom dependency-version: 6.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: junit-jupiter-bom - dependency-name: org.junit.platform:junit-platform-engine dependency-version: 6.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: junit-jupiter-bom - dependency-name: org.junit.jupiter:junit-jupiter-engine dependency-version: 6.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: junit-jupiter-bom - dependency-name: org.junit.vintage:junit-vintage-engine dependency-version: 6.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: junit-jupiter-bom - dependency-name: org.junit.platform:junit-platform-engine dependency-version: 6.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: junit-jupiter-bom - dependency-name: org.junit.jupiter:junit-jupiter-engine dependency-version: 6.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: junit-jupiter-bom - dependency-name: org.junit.vintage:junit-vintage-engine dependency-version: 6.1.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: junit-jupiter-bom ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [org.bouncycastle:bcprov-jdk18on](https://github.com/bcgit/bc-java) from 1.84 to 1.85. - [Changelog](https://github.com/bcgit/bc-java/blob/main/docs/releasenotes.html) - [Commits](https://github.com/bcgit/bc-java/commits) --- updated-dependencies: - dependency-name: org.bouncycastle:bcprov-jdk18on dependency-version: '1.85' dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…tle-bcprov-jdk18on-1.85 Bump org.bouncycastle:bcprov-jdk18on from 1.84 to 1.85
…-bom-7b9e9837d1 Bump the junit-jupiter-bom group with 4 updates
Set a Jetty stop timeout so shutdown does not block indefinitely on active connections; move ShutdownListenerImpl.shutdown() to a daemon thread so it does not deadlock the Jetty shutdown-hook thread that also holds the BrokerPool write lock.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
…generate SchemaVersion constants Extend the Maven validate phase to check every schema/*.xsd against the W3C XSD 1.1 meta-schema (upgrading the bundled XMLSchema.xsd/dtd to the 2009 XSD 1.1 revision); caught and removed five xsi:type="dcterms:W3CDTF" appinfo annotations with no backing schema, bumping the affected schema @Version values. Wire a generate-sources execution that reads each governed XSD's xs:schema/@Version and emits SchemaVersion.java constants so they can never drift from the schemas. Closes #5541
…line Wire the XML Catalog API into Saxon's XsltCompiler so xsl:import, xsl:include, and document() URIs resolve via the eXist-db entity catalog (Closes #350). Generalize MutableCollection's at-store-time validation to route through a JAXP 1.1 SchemaFactory when the schema or its catalog- resolved meta-schema requires XSD 1.1; extract the detection logic into Xsd11SchemaDetection so validation:jaxp() and org.exist.validation.Validator share the same probe-compile path. Suppress the spurious xmlresolver WARNING for the non-existent "default" catalog entry. Closes #5541
… XML_SCHEMA_NS XML_SCHEMA_NS was never read — callers already used XMLConstants directly. XSD_1_1_NS is promoted to Namespaces.XSD_1_1_NS so it is available codebase-wide without duplication. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Bumps [org.apache.mina:mina-core](https://github.com/apache/mina) from 2.1.12 to 2.1.13. - [Commits](apache/mina@2.1.12...2.1.13) --- updated-dependencies: - dependency-name: org.apache.mina:mina-core dependency-version: 2.1.13 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
Fix Jetty shutdown hang and BrokerPool read-only race
…buggee/org.apache.mina-mina-core-2.1.13
Adds the resolution boundary only; no execution entry point uses it yet, so behaviour is unchanged. Part of #6568 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
A caller with EXECUTE but not READ must learn only that the execution failed. The full error is logged at WARN with a correlation id. The disclosure level is recomputed from the current subject on every execution, as compiled queries are pooled across users. Nothing routes errors through the filter yet. Part of #6568 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
XQuery.compile validated READ on a DBSource, which is the barrier that makes execute-without-read impossible: the resolution boundary can hand an execute-only caller a handle, but compiling it was still refused. The source is compiled on the caller's behalf, so EXECUTE is the right gate; reading a query as data still requires READ. Dormant on existing paths: every current loader acquires its DBSource through a READ-gated getter, so nothing reaches compile without READ until Phase 1b. Part of #6568 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…-byte-buddy-1.18.12
…ctools-core-4.0.7 Bump org.jctools:jctools-core from 4.0.6 to 4.0.7
…me-npe [bugfix] xmldb:store: parse binary content stored under an XML mime type
Bumps [com.mycila:license-maven-plugin](https://github.com/mathieucarbou/license-maven-plugin) from 5.1.1 to 5.1.2. - [Release notes](https://github.com/mathieucarbou/license-maven-plugin/releases) - [Changelog](https://github.com/mathieucarbou/license-maven-plugin/blob/master/docs/releases.md) - [Commits](mathieucarbou/license-maven-plugin@v5.1.1...v5.1.2) --- updated-dependencies: - dependency-name: com.mycila:license-maven-plugin dependency-version: 5.1.2 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…cense-maven-plugin-5.1.2
[feature] Add @enabled attribute to conf.xml elements to disable entries without removing them
Bumps the actions group with 3 updates: [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action), [actions/download-artifact](https://github.com/actions/download-artifact) and [marocchino/sticky-pull-request-comment](https://github.com/marocchino/sticky-pull-request-comment). Updates `docker/setup-buildx-action` from 4.2.0 to 4.3.0 - [Release notes](https://github.com/docker/setup-buildx-action/releases) - [Commits](docker/setup-buildx-action@bb05f3f...37fe631) Updates `actions/download-artifact` from 7 to 8 - [Release notes](https://github.com/actions/download-artifact/releases) - [Commits](actions/download-artifact@v7...v8) Updates `marocchino/sticky-pull-request-comment` from 2 to 3 - [Release notes](https://github.com/marocchino/sticky-pull-request-comment/releases) - [Commits](marocchino/sticky-pull-request-comment@v2...v3) --- updated-dependencies: - dependency-name: docker/setup-buildx-action dependency-version: 4.3.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: actions - dependency-name: actions/download-artifact dependency-version: '8' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: marocchino/sticky-pull-request-comment dependency-version: '3' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the junit4-test-support group with 1 update: [org.easymock:easymock](https://github.com/easymock/easymock). Updates `org.easymock:easymock` from 5.6.0 to 5.7.0 - [Release notes](https://github.com/easymock/easymock/releases) - [Changelog](https://github.com/easymock/easymock/blob/master/ReleaseNotes.md) - [Commits](easymock/easymock@easymock-5.6.0...easymock-5.7.0) --- updated-dependencies: - dependency-name: org.easymock:easymock dependency-version: 5.7.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: junit4-test-support ... Signed-off-by: dependabot[bot] <support@github.com>
…ons-b232ee9d36 Bump the actions group with 3 updates
…upport-21d52e89f5 Bump org.easymock:easymock from 5.6.0 to 5.7.0 in the junit4-test-support group
Bumps `greenmail.version` from 2.1.12 to 2.1.13. Updates `com.icegreen:greenmail-junit4` from 2.1.12 to 2.1.13 - [Release notes](https://github.com/greenmail-mail-test/greenmail/releases) - [Commits](greenmail-mail-test/greenmail@release-2.1.12...release-2.1.13) Updates `com.icegreen:greenmail` from 2.1.12 to 2.1.13 - [Release notes](https://github.com/greenmail-mail-test/greenmail/releases) - [Commits](greenmail-mail-test/greenmail@release-2.1.12...release-2.1.13) --- updated-dependencies: - dependency-name: com.icegreen:greenmail-junit4 dependency-version: 2.1.13 dependency-type: direct:development update-type: version-update:semver-patch - dependency-name: com.icegreen:greenmail dependency-version: 2.1.13 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…sion-2.1.13 Bump greenmail.version from 2.1.12 to 2.1.13
Bumps `tika.version` from 3.3.2 to 4.0.0. Updates `org.apache.tika:tika-core` from 3.3.2 to 4.0.0 - [Changelog](https://github.com/apache/tika/blob/main/CHANGES.txt) - [Commits](apache/tika@3.3.2...4.0.0) Updates `org.apache.tika:tika-parsers-standard-package` from 3.3.2 to 4.0.0 --- updated-dependencies: - dependency-name: org.apache.tika:tika-core dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major - dependency-name: org.apache.tika:tika-parsers-standard-package dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps the jline group with 2 updates: [org.jline:jline](https://github.com/jline/jline3) and [org.jline:jansi](https://github.com/jline/jline3). Updates `org.jline:jline` from 4.3.1 to 4.4.0 - [Release notes](https://github.com/jline/jline3/releases) - [Commits](jline/jline3@4.3.1...4.4.0) Updates `org.jline:jansi` from 4.3.1 to 4.4.0 - [Release notes](https://github.com/jline/jline3/releases) - [Commits](jline/jline3@4.3.1...4.4.0) --- updated-dependencies: - dependency-name: org.jline:jline dependency-version: 4.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: jline - dependency-name: org.jline:jansi dependency-version: 4.4.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: jline ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [io.github.hakky54:logcaptor](https://github.com/Hakky54/log-captor) from 2.12.6 to 2.12.7. - [Changelog](https://github.com/Hakky54/log-captor/blob/master/CHANGELOG.MD) - [Commits](Hakky54/log-captor@v2.12.6...v2.12.7) --- updated-dependencies: - dependency-name: io.github.hakky54:logcaptor dependency-version: 2.12.7 dependency-type: direct:development update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <support@github.com>
…4.0.0 Bump tika.version from 3.3.2 to 4.0.0
…ky54-logcaptor-2.12.7 Bump io.github.hakky54:logcaptor from 2.12.6 to 2.12.7
Bump the jline group with 2 updates
Bumps the actions group with 3 updates: [actions/setup-java](https://github.com/actions/setup-java), [azure/login](https://github.com/azure/login) and [softprops/action-gh-release](https://github.com/softprops/action-gh-release). Updates `actions/setup-java` from 5 to 6 - [Release notes](https://github.com/actions/setup-java/releases) - [Commits](actions/setup-java@v5...v6) Updates `azure/login` from 3.0.1 to 3.0.2 - [Release notes](https://github.com/azure/login/releases) - [Commits](Azure/login@f5d393a...7ddb5af) Updates `softprops/action-gh-release` from 3.0.2 to 3.0.3 - [Release notes](https://github.com/softprops/action-gh-release/releases) - [Changelog](https://github.com/softprops/action-gh-release/blob/master/CHANGELOG.md) - [Commits](softprops/action-gh-release@3d0d988...efb3536) --- updated-dependencies: - dependency-name: actions/setup-java dependency-version: '6' dependency-type: direct:production update-type: version-update:semver-major dependency-group: actions - dependency-name: azure/login dependency-version: 3.0.2 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions - dependency-name: softprops/action-gh-release dependency-version: 3.0.3 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: actions ... Signed-off-by: dependabot[bot] <support@github.com>
…ons-7e91f506b9
Bumps the maven-plugins-apache group with 1 update: [org.apache.maven.plugins:maven-compiler-plugin](https://github.com/apache/maven-compiler-plugin). Updates `org.apache.maven.plugins:maven-compiler-plugin` from 3.15.0 to 3.16.0 - [Release notes](https://github.com/apache/maven-compiler-plugin/releases) - [Commits](apache/maven-compiler-plugin@maven-compiler-plugin-3.15.0...maven-compiler-plugin-3.16.0) --- updated-dependencies: - dependency-name: org.apache.maven.plugins:maven-compiler-plugin dependency-version: 3.16.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: maven-plugins-apache ... Signed-off-by: dependabot[bot] <support@github.com>
…-apache-9d8ad5c4fc Bump org.apache.maven.plugins:maven-compiler-plugin from 3.15.0 to 3.16.0 in the maven-plugins-apache group
Bumps the jline group with 2 updates: [org.jline:jline](https://github.com/jline/jline3) and [org.jline:jansi](https://github.com/jline/jline3). Updates `org.jline:jline` from 4.4.0 to 4.4.1 - [Release notes](https://github.com/jline/jline3/releases) - [Commits](jline/jline3@4.4.0...4.4.1) Updates `org.jline:jansi` from 4.4.0 to 4.4.1 - [Release notes](https://github.com/jline/jline3/releases) - [Commits](jline/jline3@4.4.0...4.4.1) --- updated-dependencies: - dependency-name: org.jline:jline dependency-version: 4.4.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: jline - dependency-name: org.jline:jansi dependency-version: 4.4.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: jline ... Signed-off-by: dependabot[bot] <support@github.com>
Bumps [org.xmlresolver:xmlresolver](https://github.com/xmlresolver/xmlresolver) from 6.0.23 to 6.1.0. - [Release notes](https://github.com/xmlresolver/xmlresolver/releases) - [Commits](https://github.com/xmlresolver/xmlresolver/commits) --- updated-dependencies: - dependency-name: org.xmlresolver:xmlresolver dependency-version: 6.1.0 dependency-type: direct:production update-type: version-update:semver-minor ... Signed-off-by: dependabot[bot] <support@github.com>
…er-xmlresolver-6.1.0
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.1)
Can you help keep this open source service alive? 💖 Please sponsor : )