Fix message lag output from $lag stage being empty.
2.4.1
Add more plugin load logging.
2.4.0
Switch to OpenTelemetry.
Add event tracing.
Add the JSLT custom function substr.
Allow multiple files for the --file option of the run command.
Add the aggregation expressions $count and $last.
Adapt the $log stage to OpenTelemetry.
2.3.18
Fix backpressure issue when command results in access denied error.
2.3.17
Log warning when parameter substitution from a configuration value fails.
Optimise producer batch timeout handling.
2.3.16
Fix substitution of ENV when there are no other parameters in an application.
2.3.15
Fix duplicate command issue.
2.3.14
Reload the client certificate key store file when it has changed.
2.3.13
Fix the generation of links in markdown for array fields.
2.3.12
Fix the $s3Csv stage, which could be overwhelmed with large files, resulting in timeouts.
2.3.11
Set the default message batch size to 100 instead of 500.
Don't beautify the output of the $trace stage.
2.3.10
Restart an application when a Kafka offset commit fails.
Fix aggregate href resolution.
2.3.9
Fix the overwriting of the Content-Type header in the $http stage.
2.3.8
Reduce memory consumption.
Fix setting empty headers in $http.
Fix aggregate command preprocessor being ignored when the commands are written as an array instead of an object.
2.3.7
Fix open stream termination bug.
2.3.6
Log onError signals at the level of the applications.
Fix the propagation of exceptions as onError signals in some cases, which would inhibit the automatic restart of the application.
Fix exception in $http stage.
2.3.5
Fix $http pipeline stage.
Fix $lag timeout.
Fix backpressure violations.
Improve backpressure towards Kafka topics.
2.3.4
Fix $http pipeline stage.
Fix the shutdown procedure to avoid unnecessary duplicate messages.
2.3.3
Improve aggregate performance.
Fix topic offset commit, which could come before batches were sent to Kafka.
2.3.2
Set the default batch flush timeout to 50ms.
Add the configuration parameter batchTimeout.
2.3.1
Fix the expansion of "href objects" in aggregates when they are in an array.
2.3
Add $replaceOne and $replaceAll string operators.
Add preprocessor pipeline field for aggregate commands.
Allow an aggregate reducer to be a pipeline.
Fix $s3Attachments.
Fix the validation of stream joins, where the window field was still mandatory.
2.2.13
Fix missing _jwt in aggregate and reply messages.
Handle exceptions in reducers by generating an invalid command.
2.2.12
Avoid duplication of _jwt field.
2.2.11
Refix backpressure issue in retry publisher.
Add the throttleTime configuration parameter, with which you can throttle the Kafka poll loop.
2.2.10
Fix the recovery from a Kafka producer error.
2.2.9
Fix aggregate performance issue caused by the batch timeout when traffic is very low.
Improve validation error messages.
2.2.8
Reduce memory usage.
Switch from the Jetty HTTP client to the JDK HTTP client in the $http stage.
Add batchSize configuration parameter.
Fix topic publisher.
Fix backpressure error in retry publisher.
Allow other content types than multipart/mixed in the s3Attachments stage.
2.2.7
Report and discard messages that can't be written to Kafka because they are too large.
Add extra fields to attachment objects in the $s3Attachments stage, which are used as extra MIME part headers.
2.2.6
Fix the stalling merge when a branch rarely emits something.
2.2.5
Fix the exception in the $log stage when there are no parameters.
Call the Kafka consumer API less when doing pause and resume.
2.2.4
Fix exception during leader election.
Add restart command to the CLI.
Load AWS secrets only when they are really needed.
2.2.3
Fix retry in $http when the response stream fails.
Fix too deep exception nesting.
Fix blocking of merge when one of the branches sends nothing.
Add retry to $s3Attachments stage.
Fix retry in $s3Csv when the response stream fails.
2.2.2
Fix exception handling in response stream of the $http stage.
Fix concurrency issue with underlying flatMap reactive streams processor.
Fix branch completion issue with the underlying Merge reactive streams subscriber.
Fix logging to Kafka for applications.
Allow all Elastic Common Schema fields in the $log stage.
2.2.1
Fix missing MongoDB codecs.
2.2
Replace Kafka Streams with a Reactive Streams implementation.
Add fromCollection and toCollection to streams and joins, which makes it possible to use MongoDB collections as sources and sinks.
Add fromCollections to the merge.
Add the $throttle aggregation stage, which limits the throughput of a pipeline.
Add the $deduplicate aggregation stage, which lets you filter away duplicate messages based on an expression.
Add the $s3Csv aggregation stage, which consumes CSV-files in an S3-bucket and emits the lines as JSON messages.
Add the $s3Out aggregation stage with which you can write JSON messages into an S3-bucket.
Add the s3Attachments aggregation stage, which lets you post S3-objects as a multipart/mixed body to an HTTP endpoint.
Add the $per aggregation stage, which creates batches of messages that can be processed together down stream.
Add the $signJwt aggregation stage, with which you can generate signed JSON Web Tokens.
The auto-scaler was changed to emit the desired number of running instances instead of a synthetic metric.
Add the test command to the CLI. This introduces a method to write unit tests for your applications.
Add the include object with which application or pipeline parts can be included with parameter overrides.
Support AWS Secrets Manager ARNs in configuration entries.
Add the config-json: prefix to the parameters syntax.
Add the preprocessor field to aggregates. It contains a pipeline to pre-process commands before they are reduced.
2.1.1
Fix the issue where multiple parameter references in the same string are not replaced correctly.
Add config and build tracing.
Fix config injection for parameters that are objects or arrays.
2.1
Add the operators $base64Encode, $base64Decode, $uriEncode, $uriDecode, $jsonToString and $stringToJson.
Add the command-line option -d, --directory to the commands doc and dot. This writes their outputs to the given directory using the application name to construct the filename in it.
Make the command-line option -a, --application optional for the commands doc and dot. When no application is given all the deployed applications are run.
Add the command-line option -g, --global to the dot command. It generates a graph that connects topics and applications for all the deployed applications.
Make it possible to add prefixes and suffixes in parameter references.
Add the work.maximumInstances configuration entry, which is used to normalise the excess message lag between 0 and 100.
Fix leader and keep-alive exception.
Fix aggregates using dev as the default environment.