Infinitic V0.16.0 is now live and includes some exciting new functionalities to help improve resource management and overall observability and operations for infinitic users. See the full release notes on Github.
🚀 New Features
- Batch processing of Tasks:Enables efficient handling of operations that benefit from bulk processing, such as sending emails, updating databases, or calling external APIs. Tasks with the same
batchKey
in their metadata are processed together in a single batch. - In-Memory implementation for testing:
The internal message exchange is now fully abstracted, paving the way for potential future support of alternative message brokers. This version introduces an in-memory implementation, ideal for testing purposes, allowing tests to run without the need for a Pulsar cluster. - Enhanced Event Listener:
Infinitic introduces a more powerful way to monitor internal events. This feature can be used to trigger external actions or send events to analytics databases for dashboard creation. The event listener now automatically detects existing Services and Workflows, listening to their events. All events are now processed in batches for improved efficiency. - Improved Development Logging:
To address the challenges of debugging distributed systems, Infinitic now offers a streamlined method for viewing CloudEvents during development. Simply set the log level to DEBUG for these classes:- io.infinitic.cloudEvents.WorkflowStateEngine.$workflowName
- io.infinitic.cloudEvents.WorkflowExecutor.$workflowName
- io.infinitic.cloudEvents.ServiceExecutor.$serviceName
This enhancement provides greater visibility into the system's internal workings, making it easier to identify and resolve issues.
🔬 Some Improvements
- More reliable client deletion when topic is closing
- Improved implementation of consumers to ensure all messages are processed, even in case of errors or Shutdown
- Lib updates:
- Kotlin: 2.0.0 -> 2.0.10
- CloudEvents: 3.0.0 -> 4.0.1
- Jackson: 2.17.1 -> 2.17.2
- Uuid: 5.0.0 -> 5.1.0
- Kotest: 5.9.0 -> 5.9.1
- kotlinx-serialization-json: 1.6.3 -> 1.7.1
- TestContainers: 1.19.8 -> 1.20.1
- Mockk: 1.13.11 -> 1.13.12
- Pulsar: 3.0.4 -> 3.0.7
- Slf4j: 2.0.13 -> 2.0.16
- Logging: 6.0.9 -> 7.0.0
- Compress: 1.26.1 -> 1.27.1
Full release notes at: https://github.com/infiniticio/infinitic/releases/tag/v0.16.0