Skip to content

Releases: dbmdz/flusswerk

v5.0.1

22 Oct 15:10
85ac8f8

Choose a tag to compare

  • Ignore the envelope field timestamp from earlier versions instead of throwing an exception.
  • Release worker after failure to deserialize a message.
  • Add tracing information for messages that could not be deserialized.

v5.0.0

14 Oct 14:22

Choose a tag to compare

  • Flusswerk connections are now shown in RabbitMQ management UI
  • structured logging now automatically contains fields duration and duration_ms that report the time your app spent on processing a certain message in seconds or milliseconds.
  • The deprecated tracing_id has been removed
  • The deprecated Envelope.timestamp has been removed in favor of Envelope.created which is now of type Instant.
  • Constructor of FlusswerkApplication now takes Optional<Engine> as an argument (call as super(Optional.of(engine));).
  • Options for centralized locking using Redis have been removed

Release 4.2.0

26 Oct 17:00

Choose a tag to compare

This release introduces improved support for structured logging.

4.1.0

06 Oct 09:29

Choose a tag to compare

Bump version to 4.1.0

v4.0.1

20 Aug 12:50

Choose a tag to compare

Fixes a bug in Maven plugin management that adds the Sonatype deploy plugin for Maven Central to all child projects.

v4.0.0

04 Aug 12:46

Choose a tag to compare

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 and tracingId 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

21 Apr 09:16

Choose a tag to compare

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

11 Mar 16:13
aea0b8a

Choose a tag to compare

Fix issues with Spring Boot autoconfiguration.

v3.1.0

12 Mar 08:49

Choose a tag to compare

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
  • 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

v3.0.0

03 Jul 12:51

Choose a tag to compare

Release 3.0.0

 - Security bugfix for Jackson
 - Drop support for Java 8