Releases: dbmdz/flusswerk
Releases · dbmdz/flusswerk
v8.0.1
v8.0.0
Changed
- Breaking: Changed groupId and artifactId
v7.0.1
Fixed
- Flusswerk Logger can handle function calls with the format String as sole argument.
Changed
- Reporting of partial retries can now be customized by overriding
ProcessReport.reportComplexRetry(Message message, RetryProcessingException e)andProcessReport.reportComplexFailedAfterMaxRetries(Message message, RetryProcessingException e).
v7.0.0
Fixed
- Automatically recover from channel-level exceptions. This involves a breaking change in the constructor of
FlusswerkConsumer, which now requires aRabbitClientinstead of aChannel.
Changed
- Outgoing routes may now include a list of topics instead of a single topic. A
Routecan be used to send a message to several topics at once. - The
DefaultFlusswerkReportlogs tracing information.
Removed
FlusswerkProcessReport,StructuredProcessReportandSilentProcessReporthave been removed. Users who would like to customize their process report can subclass DefaultProcessReport or implement the ProcessReport interface.
v6.0.1
v6.0.0
Fixed
- The Counter
flusswerk_messages_secondsnow records the processing time in seconds (#444) - Flusswerk default metrics names now follow best practices (#420)
Changed
- The DefaultProcessReport now supports common defaults and sensible structured fields so that most applications don't need to implement their own ProcessReport anymore (DefaultProcessReport)
- Migrated to SpringBoot 3 / JDK17
flowInfo.duration()returns aDurationobject instead oflong(#444)- Support for partial retries: When a workload is split in smaller chunks, then part of these can be successful and part can be retried (e.g. when sending all images of a book individually to cloud services). See RetryProcessingException.send() for details.
- Flusswerk can now deserialize messages without
@JsonNameannotations.
v5.1.1
v5.1.0
Added
- Message processing can now be skipped by throwing a SkipProcessingException. Log messages now have a field
statusto indicate this. (#355) - New framework metrics
flusswerk_messages_totalandflusswerk_messages_seconds(Counter). The prefix is independent from the application prefix since the metric is the same for all Flusswerk-based applications. (#381). - New framework metrics
flusswerk_workers(Gauge). The prefix is independent from the application prefix since the metric is the same for all Flusswerk-based applications. (#381). - Flusswerk applications now can send raw messages:
Topic.sendRaw(byte[] message)(#381).
Changed
- Autoformatting now uses com.spotify:fmt-maven-plugin and works with JDK17.
Deprecated
- The framework metrics
flusswerk_processed_timesandflusswerk_execution_timehave been deprecated since they don't follow Prometheus best practices. - The logging field
duration_msis deprecated since a corresponding fielddurationexists and will be removed in the future. Logging and metrics will strictly use SI base units where possible.