v0.11.4

Community

Releases

v0.11.4 - 04/19/2023

🪲 Bug Fixes

  • fixed a bug occurring for tasks longer than 30 seconds

🔬 Improvements

  • upgrade of dependencies

v0.11.3 - 01/15/2023

🪲 Bug Fixes

  • fix bug in which a state was not deleted after completion of an async child-workflow or method

🔬 Improvements

  • use Ktfmt instead of Ktlint

v0.11.2 - 10/25/2022

🚀 New features

  • new consumer property in Pulsar configuration to define default properties for Pulsar consumers
  • new producer property in Pulsar configuration to define default properties for Pulsar producers

v0.11.1 - 10/23/2022

🚀 New features

  • Workflow Versioning

v0.11.0 - 10/16/2022

🚀 New features

  • new @Timeout annotation
  • new @Retry annotation
  • new @CheckMode annotation
  • new WithTimeout interface
  • new WithRetry interface
  • new timeoutInSeconds parameter in worker's configuration file
  • new retry parameter in worker's configuration file
  • new checkMode in worker's configuration file

🚨 Breaking changes

  • TaskOptions removed
  • WorkflowOptions removed
  • Services do not need anymore to extend abstract class Task
  • Task context replaced by Task static properties

v0.10.0 - 10/3/2022

🚀 New features

  • new completeTimers function in clients
  • Services can now be manually registered in workers (fix #168)

🚨 Breaking changes

  • In configuration files, stateStorage is replaced by storage and stateCache is replaced by cache
  • storage and cache configuration are now properties of those keywords (see doc)
  • InfiniticClient and InfiniticWorker can now be used for both Pulsar and InMemory transport, removing the need for factories

🔬 Improvements

  • Topics used for delayed messages now have a long TTL (fix #170)
  • Improved WorkflowUpdatedException logging

v0.9.12 - 9/10/2022

🔬 Improvements

  • Bump version of Kotlin, Gradle and dependencies

v0.9.11 - 6/28/2022

🪲 Bug Fixes

  • fix BytesSchemaVersion collision in KSchemaReader

v0.9.10 - 6/27/2022

🪲 Bug Fixes

  • fix #164

v0.9.9 - 6/5/2022

🔬 Improvements

  • It's now possible to config Redis pool (maxTotal, maxIdle, minIdle). MaxTotal default is unlimited
  • It's now possible to serialize/deserialize an empty object

v0.9.8 - 5/29/2022

🪲 Bug Fixes

  • fix backward compatibility of workflow state storage
  • fix backward compatibility of Pulsar message serialization

v0.9.7 - 5/22/2022

🚀 New features

  • MySQL can now be used to store states (thx to @GauthierHacout)

🪲 Bug Fixes

  • fix #154

🔬 Improvements

  • WorkflowEngine is now idempotent when receiving multiple times the DispatchMethod message
  • WorkflowEngine is now idempotent when receiving multiple times the SendSignal message

v0.9.6 - 5/1/2022

🪲 Bug Fixes

  • This release fixes a bug introduced in 0.9.4 when getting the status of deferred signals

v0.9.5 - 4/28/2022

🚨 Breaking changes

  • use Java version 11

🔬 Improvements

  • Bump libraries dependencies

v0.9.4 - 4/18/2022

🚀 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 - 4/2/2022

🪲 Bug Fixes

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

🔬 Improvements

  • Add Infinitic version to schemas

v0.9.2 - 3/28/2022

This version contains a configuration bug in Java compatibility and must not be used

🪲 Bug Fixes

This release fixes a configuration bug in Java compatibility in 0.9.1


v0.9.1 - 3/27/2022

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 - 3/21/2022

🚀 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

🪲 Bug 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 - 2/12/2022

🪲 Bug Fixes

  • Fix #139

v0.8.2 - 2/6/2022

🪲 Bug 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 - 12/18/2021

🪲 Bug Fixes

  • bump kotlin-logging version to 2.1.20 to mitigate Log4shell

🔬 Improvements

  • remove unused directories node and infinitic-rest-api

v0.8.0 - 10/24/2021

🚀 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

🪲 Bug Fixes

  • Fix #130
  • Fix #56

🚨 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 - 9/11/2021

🚀 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.

🪲 Bug 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

V0.7.3 - 9/11/2021

This release contains a syntax issue and should not be used


V0.7.2 - 7/30/2021

🪲 Bug Fixes

  • [Dashboard] add missing icons in git

🔬 Improvements

  • [Dashboard] make data loading explicit with animated icon

V0.7.1 - 7/20/2021

🪲 Bug Fixes

  • password for Redis is not exposed anymore in logs
  • fixed a bug making SVG disappeared in Dashboard

v0.7.0 - 7/15/2021

🚀 New features

  • New infinity-dashboard module implementing a first version of the infinitic dashboard. - - This version can:
    • display tasks and workflows (based on existing topics)
    • for each task or workflow, display connected workers and real-time stats of all topics used to manage it
  • A @ignore annotation has beed added to label properties you may want to ignore in a workflow's state

🪲 Bug Fixes

  • fix #119
  • fix #120 - logger variables are now ignored from workflow's state -

🚨 Breaking changes

  • some topic names were changed - you need to use a new Pulsar namespace

🔬 Improvements

  • dependencies were upgraded

v0.6.5 - 5/28/2021

🪲 Bug Fixes

  • fix a bug appearing when for some java distribution due to bad detection of proxy classes

🚨 Breaking changes

  • internal schema has changed - you need to use a new Pulsar namespace

🔬 Improvements

  • upgrade dependencies, including Kotlin 1.5

v0.6.4 - 5/19/2021

🚀 New features

  • [client, task, workflow] an @Name annotation allows you to decouple the name of tasks and workflows from their underlying implementation name
  • [task] tags are now accessible from the task context

v0.6.3 - 5/11/2021

🔬 Improvements

  • better expose errors during task or workflow initialization in workers

v0.6.2 - 5/11/2021

🔬 Improvements

  • use new s01.oss.sonatype.org server for publishing
  • infinitic-client module is now as an api-type dependency in infinitic-pulsar module (users do not need anymore to import infinitic-client)
Previous
Contact

New version 0.11.2!