davsclaus opened a new pull request, #28363: URL: https://github.com/apache/camel/pull/28363
Fixes bugs in camel-core, the jsonpath, jolt and jsonata languages and components, and several small components, found while adding the catalog body types (CAMEL-24961). The changes per JIRA: | JIRA | Module | Fix | |---|---|---| | [CAMEL-25968](https://issues.apache.org/jira/browse/CAMEL-25968) | camel-core | A component that fails to start with an exception without a message names the class of the exception. Before, the start failed with `NullPointerException: message` and the component and cause were lost. | | [CAMEL-25940](https://issues.apache.org/jira/browse/CAMEL-25940) | jsonpath | A list result of one element that does not convert to `resultType` gives null, as a single value that does not convert already does. Before, an NPE. | | [CAMEL-25986](https://issues.apache.org/jira/browse/CAMEL-25986) | jolt | With the default `inputType` (Hydrated), bytes, streams and files are parsed as JSON, and text when its first non-whitespace character is `{` or `[`. Other text, Maps and Lists are used as before. | | [CAMEL-25987](https://issues.apache.org/jira/browse/CAMEL-25987) | jsonata | The same parsing with the default `inputType` (Jackson). Other text is still a JSON string value, so `$uppercase($)` on `hello` keeps working. | | [CAMEL-25988](https://issues.apache.org/jira/browse/CAMEL-25988) | jsonata | For an http resource, the endpoint options are set first, and only the other parameters are sent to the server, as jolt and jslt do. | | [CAMEL-25989](https://issues.apache.org/jira/browse/CAMEL-25989) | saxon (xquery) | The xquery endpoint is producer-only; `from("xquery:...")` fails at start with a clear message instead of failing on every poll. The consumer options leave the catalog and the DSLs. | | [CAMEL-25990](https://issues.apache.org/jira/browse/CAMEL-25990) | schematron | No body fails with `InvalidPayloadException`. Bytes, streams and files are given to the parser as bytes, so the encoding of the XML declaration is used; a String is read as text, not encoded again in the platform charset. | | [CAMEL-25991](https://issues.apache.org/jira/browse/CAMEL-25991) | mustache | With `contentCache=false` the template is read and compiled for each exchange. | | [CAMEL-25969](https://issues.apache.org/jira/browse/CAMEL-25969) | stub | Without a consumer, the stub keeps the latest `size` messages (1000 by default) for `camel cmd stub --browse` and drops the oldest, instead of failing with `Queue full`. The on-completions of a dropped message run. Also: browsing with a limit left out the newest message. | | [CAMEL-25970](https://issues.apache.org/jira/browse/CAMEL-25970) | knative | The content mode is found by the media type of the Content-Type, ignoring parameters and case, so `application/cloudevents+json; charset=UTF-8` is read as a structured CloudEvent. | | [CAMEL-25971](https://issues.apache.org/jira/browse/CAMEL-25971) | exec | An `ExecResult` without output converts to an empty byte array. | | [CAMEL-25974](https://issues.apache.org/jira/browse/CAMEL-25974) | stream | `stream:file` with a file name without a directory works, and `stream:header` without the `stream` header fails with `NoSuchHeaderException` instead of an NPE. | | [CAMEL-25975](https://issues.apache.org/jira/browse/CAMEL-25975) | stream | The consumer opens its stream once: `doStart` opens it (so a missing file or URL still fails the start) and `run` uses that stream. Before, `stream:http` requested the URL twice. | | [CAMEL-26039](https://issues.apache.org/jira/browse/CAMEL-26039) | camel-jbang | The source validator takes the component scheme from the short form of the endpoint steps (`to`, `toD`, `poll`, `interceptFrom`, `interceptSendToEndpoint`), so it no longer reports their headers as not set. | ## Upgrade guide 4.24 gets sections for jolt and jsonata parsing, the jsonata http resource options, xquery producer-only, schematron, mustache contentCache, the stub queue, stream:header and the knative content mode. ## Tests Every fix has new unit tests that failed before it. Module test suites pass: jolt 16, jsonata 21, jsonpath 136, saxon 90, schematron 17, mustache 9, stub 4, stream 31, exec 88, knative 207 (api, component, http). camel-core: the new test plus the context and stub tests; camel-jbang-core: the `commands.ai` tests (737). _Claude Code on behalf of davsclaus_ 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
