Releases: infiniticio/infinitic
Releases · infiniticio/infinitic
v0.9.4
🚀 New features
- if we dispatch a workflow with a tag starting by "uniqueId:", Infinitic will check if another workflow with the same tag exists before dispatching it
- change the behavior of
channel.receive()
: each timeawait()
is applied, the workflow awaits a new signal channel.receive(n)
will let you receive n signals throughawait()
and throw aOutOfBoundAwaitException
at n+1
🚨 Breaking changes
await()
method applied to a deferredchannel.receive()
does not return the same value anymore
🔬 Improvements
- Topics associated to clients and used for worker naming are now non-partitioned
v0.9.3
🪲 Fixes
- This release fixes the issue preventing workers to run in v0.9.2
🔬 Improvements
- Add Infinitic version to schemas
v0.9.2
**This version contains a configuration bug in Java compatibility and must not be used **
🪲 Fixes
- This release fixes a configuration bug in Java compatibility in 0.9.1
v0.9.1
**This version contains a configuration bug in Java compatibility and must not be used **
🚨 Breaking changes
- move Deferred and InfiniticClient to io.infinitic.clients
🔬 Improvements
- add backward compatibility test on WorkflowState
- add backward compatibility tests to topics schemas
v0.9.0
🚀 New features
- new
retryTasks
andretryTasksAsync
methods to retry tasks in running workflows - messages that can not be handled by the engines are not put in dead letter queues
🪲 Fixes
- fix a race condition where a client could send workflows with wrong parameters if sent asynchronously
- JSON deserialization does not fail on additional fields
- JSON deserialization use default value on missing fields (Kotlin)
🚨 Breaking changes
- it's not possible anymore to manage tasks individually (tasks that are no within a workflow).
- the internal data and topics structure has changed. Hopefully, that should be the last breaking change before v1.0
🔬 Improvements
- wrap any exception in storage into a StorageException
- refactor and simplify Pulsar implementations into a new
infinitic-transport-pulsar
module - refactor and simplify in-memory implementations into a new
infinitic-transport-inmemory
module - split tag implementations into new
infinitic-task-tag
andinfinitic-workflow-tag
modules - remove unused metrics-related code
- remove task-engine: tasks are now sent directly to workers.
- update clients, workflow engine, and workers to take into account the task engine removal
- add blockifqueue=true in Pulsar producer
v.0.8.3
v0.8.2
🪲 Fixes
- Fix #137 - key-shared subscription could not guarantee that a given workflow or task is managed by a unique engine, if more than one topic leads to this engine
🚨 Breaking changes
- runningTimeout in TaskOptions has now been named maxRunDuration and should be a Duration object
🔬 Improvements
- Upgrade to Kotlin 1.6.10
- Bump version of 3rd party libs
- Discarded messages are now logged as warn
- Default values in client and workflow's
newTask
andnewWorkflow
functions are now null
v0.8.1
🪲 Fixes
- bump kotlin-logging version to 2.1.20 to mitigate Log4shell
🔬 Improvements
- remove unused directories node and infinitic-rest-api
v0.8.0
🚀 New features
- new
dispatch
syntax to start task and workflow. The need for a new syntax was induced by #130 (removing the async function) - methods in the client have now an
Async
version, useful if we do not want to wait for message sending. - workflows can now run multiple methods in parallel! A straightforward application is to easily retrieve the properties of a running workflow
- we now use String instead of UUID for ids. Using UUID was an implementation leak, that could prevent us in the future to let the user choose for an id
🪲 Fixes
🚨 Breaking changes
- removing the
join()
method on deferred (replaced by Async version on method in client) - removing the
async
function in client and workflow, replaced bydispatch
- updated internal schemas
🔬 Improvements
- improved default value when using channels in Java
- refactored error management in workflows, with new exception:
WorkerException
,FailedTaskException
,FailedWorkflowException
,UnknowWorkflowException
... - bump version of plugins and libs
V0.7.4
🚀 New features
- authentication added to Pulsar configuration file to access to a secured Pulsar
- join() method to Deferred to wait for the triggering message to be sent to Pulsar
- join() method to InfiniticClient to wait for all messages to be sent to Pulsar
- client and worker are now closeable and wait for having sent all messages
- an in-memory implementation can be used during development by adding
transport: inMemory
in the configuration file.
🪲 Fixes
- fix bugs in workflow engines occurring in some edge cases
🚨 Breaking changes
- in Infinitic configuration file:
serviceUrl
renamed tobrokerServiceUrl
to be on par with Pulsar documentationserviceHttpUrl
renamed towebServiceurl
to be on par with Pulsar documentation
- removed setupPulsar from PulsarInfiniticAdmin (not needed anymore)
- changes in internal schemas
🔬 Improvements
- needed tenant/namespace/topics are now automatically created at launch time by workers.
- infiniticClient topic is automatically deleted when quitting
- improved tests reliability