Skip to content

Releases: infiniticio/infinitic

v0.9.4

17 Apr 23:22
2a087ee
Compare
Choose a tag to compare

🚀 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 time await() is applied, the workflow awaits a new signal
  • channel.receive(n) will let you receive n signals through await() and throw a OutOfBoundAwaitException at n+1

🚨 Breaking changes

  • await() method applied to a deferred channel.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

02 Apr 00:47
b0a05d0
Compare
Choose a tag to compare

🪲 Fixes

  • This release fixes the issue preventing workers to run in v0.9.2

🔬 Improvements

  • Add Infinitic version to schemas

v0.9.2

27 Mar 22:13
41e4746
Compare
Choose a tag to compare

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

27 Mar 20:43
adcbd60
Compare
Choose a tag to compare

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

21 Mar 06:39
1371083
Compare
Choose a tag to compare

🚀 New features

  • new retryTasks and retryTasksAsync 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 and infinitic-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

11 Feb 23:21
92b9cc1
Compare
Choose a tag to compare

🪲 Fixes

v0.8.2

06 Feb 16:51
0fc6116
Compare
Choose a tag to compare

🪲 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 and newWorkflow functions are now null

v0.8.1

18 Dec 11:46
ca9dfc2
Compare
Choose a tag to compare

🪲 Fixes

  • bump kotlin-logging version to 2.1.20 to mitigate Log4shell

🔬 Improvements

  • remove unused directories node and infinitic-rest-api

v0.8.0

24 Oct 10:54
23208f5
Compare
Choose a tag to compare

🚀 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 by dispatch
  • 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

11 Sep 12:29
4ff8da7
Compare
Choose a tag to compare

🚀 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 to brokerServiceUrl to be on par with Pulsar documentation
    • serviceHttpUrl renamed to webServiceurl 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