Releases: dbmdz/flusswerk
Release 4.2.0
This release introduces improved support for structured logging.
4.1.0
v4.0.1
v4.0.0
Breaking Changes
- Any Flusswerk application uses now Spring Boot and needs beans for
[FlowSpec][FlowSpec] (defining the processing) and
[IncomingMessageType][IncomingMessageType]. - The package names changed from
de.digitalcollections.flusswerk.engine
to
com.github.dbmdz.framework
. - Messages don't have a default
id
field anymore - that's data the app is responsible for (if needed) FlowBuilder
API has been simplified a lot
New Features
Logging und monitoring:
- Automatic metrics collection without explicit configuration
- Improved support for custom metrics collection
- Flusswerk automatically propagates tracing ids if present (you can override those at any time)
- Automatic structured logging with
id
andtracingId
if present - Improved DefaultProcessReport: Now less verbose and more to the point
Process synchronisation:
- Centralized locking via Redis
Data Processing
- Improved and simplified
FlowBuilder
- Support for data processing as
Message → Message
instead of Reader, Transformer and Writer for small apps - Harnessing the power of Spring Boot makes configuration of Workflow apps easier than ever
v3.2.0
Typing for generic classes
For most classes, a class reference can be used in the builder interfaces, like String.class
. As this does not work with generics, we introduced new type references. The following lines are equivalent
FlowBuilder.with(String.class, String.class, String.class)
FlowBuilder.with(new Type<String>(), new Type<String>(), new Type<String>())
While the class reference is more concise, the type variant allows for generics:
FlowBuilder.with(new Type<List<String>>(), ...)
Default Metrics collection in Spring Boot Starter
If you do not need to collect custom processing metrics, the Spring Boot Starter has metrics collection out of the box. The Metrics
class there can be used a base class for your own metrics collection, too.
Experimental Flow Builder
This release introduces an ExperimentalFlowBuilder
with a strong focus on usability that will become default in Flusswerk 4.
v3.1.1
v3.1.0
Version 3.1.0 introduces
-
Support for Spring Boot:
- a Spring Boot Starter for autoconfiguration
- configuration via application.yml
- provide metrics via Spring Boot actuator and Promtheus
-
Improved exception handling:
- new exception types that are easier to understand
(StopProcessingException and RetryProcessingException) - new exception types now require error descriptions in any case
- convenience API for error handling, esp. in combination with
Java's Optional
- new exception types that are easier to understand
-
Simplified custom messages:
- new base class for ready to go custom message implementations
- a new API to implement custom messages: Implementing
FlusswerMessage is now all you need - Custom Jackson mixins are now optional
-
new API for collecting metrics
-
minor fixes and improvements
Version 3.1.0 prepares:
- The control exception types of previous versions are deprecated now
and will be removed in version 4.0.0