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]

Reply via email to