Releases: telicent-oss/smart-caches-core
Releases · telicent-oss/smart-caches-core
0.25.1
Version 0.25.1
- JAX-RS Base Server improvements:
- Fixed a bug where
Problem
responses would default toapplication/octet-stream
unexpectedly in some cases, it
should now make best effort to conform to an appropriateContent-Type
based on clientsAccept
header and any
content negotation the JAX-RS framework has done prior to the problem being generated as a response.- A new
toResponse(HttpHeaders)
overload is added to facilitate this behaviour
- A new
- Fixed a bug where
0.25.0
Version 0.25.0
- Projector improvements:
- Added new
RejectSink
for explicitly rejecting items that don't match a filter condition.
- Added new
- Event Source improvements:
- Added new
EventHeaderSink
for modifying events by adding headers based upon generator functions, including
built-in support for generating Telicent standard headers. TelicentHeaders
adds constants for more Telicent standard headers.- Adds missing documentation for the existing and new event sinks
- Added new
- JAX-RS Base Server improvements:
- Added support for serializing
Problem
response as plain text
- Added support for serializing
0.24.2
Version 0.24.2
- Projector improvements:
- Added new
CleanupSink
to help with scenarios where a projection pipeline may require someCloseable
resources
that are not encapsulated in the pipeline itself, e.g. they're only used for initial setup/health probes. This
new sink allows those to be encapsulated into a pipeline step so that however a pipeline exits it guarantees to
close()
those resources.
- Added new
- Live Reporter improvements:
LiveReporter
now logs a warning if destination sink fails to accept a heartbeat rather than aborting
unexpectedly.LiveErrorReporter
now logs a warning if destination sink fails to accept an error report rather than erroring
unexpectedly.
- Observability improvements:
RuntimeInfo.printRuntimeInfo()
now includes available processors information.
- CLI improvements:
LiveReporterOptions
now offers saferteardown()
method that handles any unexpected teardown errors such that
they don't confuse/hide the actual causes of the application termination. Old teardown methods are marked as
@Deprecated
with pointers to use the new method.
0.24.1
Version 0.24.1
- Kafka Event Source improvements:
- Improved
KafkaSink
error handling so any Kafka producer errors are reliably surfaced viaSinkException
's when
interacting with the sink
- Improved
- CLI improvements:
AbstractProjectorCommand
more proactively cancels theProjectorDriver
on receiving an interrupt, this mainly
affected scenarios where a command was run in the background for integration tests
- Build improvements:
- Apache Kafka upgraded to 3.9.0
- Jackson upgraded to 2.18.1
- Logback upgraded to 1.5.12
- OpenTelemetry SDK upgraded to 1.44.1
- Various build and test plugins upgraded to latest available
0.24.0
Version 0.24.0
- Kafka Event Source improvements:
KafkaTestCluster
abstract class now has agetClientProperties()
method to supply a default set of additional
client properties needed to connect to the Kafka cluster type being tested. This simplifies writing unit and
integration tests against secure clusters in particular
- CLI improvements:
- Fix several cases where extra Kafka configuration is not passed into ancillary components - Live Reporter and DLQs
debug
CLI commands modified to work with secured Kafka configuration
- Build improvements:
- Apache Jena upgraded to 5.2.0
- Jersey upgraded to 3.1.9
- JWT Servlet Auth upgraded to 0.17.4
- Logback upgraded to 1.5.11
- OpenTelemetry SDK upgraded to 1.43.0
- RDF ABAC upgraded to 0.72.0
- Various build and test dependencies upgraded to latest available
0.23.2
Version 0.23.2
- JAX-RS Base Server improvements:
- Improved error messages when API parameters are defined via
@BeanParam
annotated parameters
- Improved error messages when API parameters are defined via
- Build improvements:
- JWT Servlet Auth upgraded to 0.17.3
- Various build and test dependencies upgraded to latest available
0.23.1
Version 0.23.1
- Build improvements:
- Addressing Trivy OOM errors in pipeline
0.23.0
Version 0.23.0
- Kafka Event Source improvements:
- BREAKING:
KafkaTestCluster
is now an abstract class, useBasicKafkaTestCluster
for the default
implementation of the interface - New
MutualTlsKafkaTestCluster
can be used to create a single node mTLS Authenticated Kafka Cluster provided
that suitable Key and Trust Stores are generated - New
certs-helper
artifact provides helper scripts to enable generating these in other modules and test
environments
- BREAKING:
- CLI improvements:
- Added new
--kafka-login-type
option to select between different SASL mechanisms - Added new
--kafka-property
option to supply custom Kafka configuration properties directly at command line - Added new
--kafka-properties
option to supply Kafka properties file where more complex configuration is
necessary, or users don't want to expose sensitive values in the CLI arguments
- Added new
- Build improvements:
- Excluded
protobuf-java
from transitive dependencies due to CVE-2024-7254 and adding explicit dependency on
4.28.2 - Removed
apache-jena-libs
from dependency management in favour of explicit dependencies on specific Jena
libraries we use - JWT Servlet Auth upgraded to 0.17.0
- Logback upgraded to 1.5.8
- OpenTelemetry SDK upgraded to 1.42.1
- RDF ABAC upgraded to 0.71.8
- Various build and test dependencies upgraded to latest available
- Excluded
0.22.0
Version 0.22.0
- JAX-RS Base Server improvements:
ServerBuilder
now defaults to listening on0.0.0.0
, i.e. all interfaces, rather thanlocalhost
which reduces
inadvertent configuration errors where the server only listens onlocalhost
and isn't accessible in some
deployment scenarios e.g. running in a container.ServerBuilder
adds newallInterfaces()
method to make it explicit that you want to listen on all interfaces
when building your server.- New
RandomPortProvider
intests
module to make it easier to manage generating a sequence of psuedo-random port
numbers to avoid port collisions between tests. AbstractHealthResource
now caches the computedHealthStatus
for 30 seconds to remove the ability for a
malicious user to DoS attack a server (and its underlying services where those are probed as part of computing the
health status) via its/healthz
endpoint.- BREAKING:
AbstractApplication
MUST now override a newgetHealthResourceClass()
method to supply either
a resource class derived fromAbstractHealthResource
ornull
if it does not want to provide a/healthz
endpoint. This change is designed to ensure that all application developers at least consider whether a health
resource is needed and to ensure they receive the DoS attack mitigation also included in this release.
- Build improvements:
- Removed unnecessary
logback.xml
from some library modules as these could conflict with application provided
logging configurations - Removed Jetty dependency since only a tiny piece of utility code was being used and was replaced by usage of
Apache Commons Lang - Apache Commons Lang upgraded to 3.17.0
- Jersey upgraded to 3.1.8
- JWT Servlet Auth upgraded to 0.16.0
- Logback upgraded to 1.5.7
- OpenTelemetry Agent upgraded to 1.33.6
- OpenTelemetry SDK upgraded to 1.41.0
- OpenTelemetry Semantic Convetions upgraded to 1.27.0-alpha
- SLF4J upgraded to 2.0.16
- Various build and test dependencies upgraded to latest available
- Removed unnecessary
0.21.2
Version 0.21.2
- Build improvements:
- Apache Commons Lang upgraded to 3.15.0
- Apache Jena upgraded to 5.1.0
- Apache Kafka upgraded to 3.8.0
- Jetty upgraded to 12.0.12
- JWT Servlet Auth upgraded to 0.15.3
- OpenTelemetry Agent upgraded to 1.33.5
- OpenTelemetry Semantic Conventions upgraded to 1.26.0-alpha
- RDF ABAC upgraded to 0.71.4
- Various build and test dependencies upgraded to latest available