Release: 0.17.0

Many core plugins have been renamed in Kestra 0.17.0, and taskDefaults are now pluginDefaults. While these are non-breaking changes, we recommend updating your flows to use the new names.

Why the Change?

Multiple plugin types have been moved to a new package structure under io.kestra.plugin.core to make the plugin system more consistent and intuitive.

All of these are non-breaking changes as we leverage aliases for backward compatibility. You will see a friendly warning in the UI code editor if you use the old names.

renamed-core-plugins

It's worth taking a couple of minutes to rename those in your flows to future-proof your code.

Renamed Core Plugins

Here is the schema showing how the core abstractions have been renamed:

  • io.kestra.core.models.conditions.types.*io.kestra.plugin.core.condition.*
  • io.kestra.core.models.triggers.types.*io.kestra.plugin.core.trigger.*
  • io.kestra.core.models.tasks.runners.types.*io.kestra.plugin.core.runner.*
  • io.kestra.core.tasks.storages.*io.kestra.plugin.core.storage.*
  • io.kestra.core.tasks.*.*io.kestra.plugin.core.*.*
  • io.kestra.plugin.fs.http.*io.kestra.plugin.core.http.*

Below you can see the full list of renamed plugins:

Old Name Before Kestra 0.17.0New Name After Kestra 0.17.0
io.kestra.core.models.conditions.types.DateTimeBetweenConditionio.kestra.plugin.core.condition.DateTimeBetweenCondition
io.kestra.core.models.conditions.types.DayWeekConditionio.kestra.plugin.core.condition.DayWeekCondition
io.kestra.core.models.conditions.types.DayWeekInMonthConditionio.kestra.plugin.core.condition.DayWeekInMonthCondition
io.kestra.core.models.conditions.types.ExecutionFlowConditionio.kestra.plugin.core.condition.ExecutionFlowCondition
io.kestra.core.models.conditions.types.ExecutionLabelsConditionio.kestra.plugin.core.condition.ExecutionLabelsCondition
io.kestra.core.models.conditions.types.ExecutionNamespaceConditionio.kestra.plugin.core.condition.ExecutionNamespaceCondition
io.kestra.core.models.conditions.types.ExecutionStatusConditionio.kestra.plugin.core.condition.ExecutionStatusCondition
io.kestra.core.models.conditions.types.FlowConditionio.kestra.plugin.core.condition.FlowCondition
io.kestra.core.models.conditions.types.FlowNamespaceConditionio.kestra.plugin.core.condition.FlowNamespaceCondition
io.kestra.core.models.conditions.types.HasRetryAttemptConditionio.kestra.plugin.core.condition.HasRetryAttemptCondition
io.kestra.core.models.conditions.types.MultipleConditionio.kestra.plugin.core.condition.MultipleCondition
io.kestra.core.models.conditions.types.NotConditionio.kestra.plugin.core.condition.NotCondition
io.kestra.core.models.conditions.types.OrConditionio.kestra.plugin.core.condition.OrCondition
io.kestra.core.models.conditions.types.PublicHolidayConditionio.kestra.plugin.core.condition.PublicHolidayCondition
io.kestra.core.models.conditions.types.TimeBetweenConditionio.kestra.plugin.core.condition.TimeBetweenCondition
io.kestra.core.models.conditions.types.VariableConditionio.kestra.plugin.core.condition.ExpressionCondition
io.kestra.core.models.conditions.types.WeekendConditionio.kestra.plugin.core.condition.WeekendCondition
io.kestra.core.models.tasks.runners.types.ProcessTaskRunnerio.kestra.plugin.core.runner.Process
io.kestra.core.models.triggers.types.Flowio.kestra.plugin.core.trigger.Flow
io.kestra.core.models.triggers.types.Scheduleio.kestra.plugin.core.trigger.Schedule
io.kestra.core.models.triggers.types.Webhookio.kestra.plugin.core.trigger.Webhook
io.kestra.core.tasks.debugs.Echoio.kestra.plugin.core.debug.Echo
io.kestra.core.tasks.debugs.Returnio.kestra.plugin.core.debug.Return
io.kestra.core.tasks.executions.Countsio.kestra.plugin.core.execution.Count
io.kestra.core.tasks.executions.Failio.kestra.plugin.core.execution.Fail
io.kestra.core.tasks.executions.Labelsio.kestra.plugin.core.execution.Labels
io.kestra.core.tasks.flows.AllowFailureio.kestra.plugin.core.flow.AllowFailure
io.kestra.core.tasks.flows.Dagio.kestra.plugin.core.flow.Dag
io.kestra.core.tasks.flows.EachParallelio.kestra.plugin.core.flow.EachParallel
io.kestra.core.tasks.flows.EachSequentialio.kestra.plugin.core.flow.EachSequential
io.kestra.core.tasks.flows.Flowio.kestra.plugin.core.flow.Flow
io.kestra.core.tasks.flows.ForEachItemio.kestra.plugin.core.flow.ForEachItem
io.kestra.core.tasks.flows.Ifio.kestra.plugin.core.flow.If
io.kestra.core.tasks.flows.Parallelio.kestra.plugin.core.flow.Parallel
io.kestra.core.tasks.flows.Pauseio.kestra.plugin.core.flow.Pause
io.kestra.core.tasks.flows.Sequentialio.kestra.plugin.core.flow.Sequential
io.kestra.core.tasks.flows.Subflowio.kestra.plugin.core.flow.Subflow
io.kestra.core.tasks.flows.Switchio.kestra.plugin.core.flow.Switch
io.kestra.core.tasks.flows.Templateio.kestra.plugin.core.flow.Template
io.kestra.core.tasks.flows.WorkingDirectoryio.kestra.plugin.core.flow.WorkingDirectory
io.kestra.core.tasks.log.Fetchio.kestra.plugin.core.log.Fetch
io.kestra.core.tasks.log.Logio.kestra.plugin.core.log.Log
io.kestra.core.tasks.states.Deleteio.kestra.plugin.core.state.Delete
io.kestra.core.tasks.states.Getio.kestra.plugin.core.state.Get
io.kestra.core.tasks.states.Setio.kestra.plugin.core.state.Set
io.kestra.core.tasks.storages.Concatio.kestra.plugin.core.storage.Concat
io.kestra.core.tasks.storages.DeduplicateItemsio.kestra.plugin.core.storage.DeduplicateItems
io.kestra.core.tasks.storages.Deleteio.kestra.plugin.core.storage.Delete
io.kestra.core.tasks.storages.FilterItemsio.kestra.plugin.core.storage.FilterItems
io.kestra.core.tasks.storages.LocalFilesio.kestra.plugin.core.storage.LocalFiles
io.kestra.core.tasks.storages.Purgeio.kestra.plugin.core.storage.Purge
io.kestra.core.tasks.storages.PurgeExecutionio.kestra.plugin.core.storage.PurgeExecution
io.kestra.core.tasks.storages.Reverseio.kestra.plugin.core.storage.Reverse
io.kestra.core.tasks.storages.Sizeio.kestra.plugin.core.storage.Size
io.kestra.core.tasks.storages.Splitio.kestra.plugin.core.storage.Split
io.kestra.core.tasks.templating.TemplatedTaskio.kestra.plugin.core.templating.TemplatedTask
io.kestra.core.tasks.trigger.Toggleio.kestra.plugin.core.trigger.Toggle
io.kestra.plugin.fs.http.Downloadio.kestra.plugin.core.http.Download
io.kestra.plugin.fs.http.Requestio.kestra.plugin.core.http.Request
io.kestra.plugin.fs.http.Triggerio.kestra.plugin.core.http.Trigger

Renamed Serdes Plugins

We've also renamed serialization tasks from Readers and Writers to explicit conversion tasks to make it more explicit that these tasks are intended to either convert from or to Ion — the primary data format used in Kestra to serialize data between tasks and storage systems. For example, CsvReader is now CsvToIon and the CsvWriter is now IonToCsv.

A full list of the renamed serialization tasks:

  • CsvReaderCsvToIon
  • CsvWriterIonToCsv
  • JsonReaderJsonToIon
  • JsonWriterIonToJson
  • AvroReaderAvroToIon
  • AvroWriterIonToAvro
  • XmlReaderXmlToIon
  • XmlWriterIonToXml
  • ParquetReaderParquetToIon
  • ParquetWriterIonToParquet

The table shows full paths of the renamed serialization tasks:

Old Path Before Kestra 0.17.0New Path After Kestra 0.17.0
io.kestra.plugin.serdes.csv.CsvReaderio.kestra.plugin.serdes.csv.CsvToIon
io.kestra.plugin.serdes.csv.CsvWriterio.kestra.plugin.serdes.csv.IonToCsv
io.kestra.plugin.serdes.json.JsonReaderio.kestra.plugin.serdes.json.JsonToIon
io.kestra.plugin.serdes.json.JsonWriterio.kestra.plugin.serdes.json.IonToJson
io.kestra.plugin.serdes.avro.AvroReaderio.kestra.plugin.serdes.avro.AvroToIon
io.kestra.plugin.serdes.avro.AvroWriterio.kestra.plugin.serdes.avro.IonToAvro
io.kestra.plugin.serdes.xml.XmlReaderio.kestra.plugin.serdes.xml.XmlToIon
io.kestra.plugin.serdes.xml.XmlWriterio.kestra.plugin.serdes.xml.IonToXml
io.kestra.plugin.serdes.parquet.ParquetReaderio.kestra.plugin.serdes.parquet.ParquetToIon
io.kestra.plugin.serdes.parquet.ParquetWriterio.kestra.plugin.serdes.parquet.IonToParquet

Renamed Task Runners

We've also renamed the task runners to make them more readable and easier to use. For example, io.kestra.plugin.aws.runner.AwsBatchTaskRunner is now io.kestra.plugin.ee.aws.runner.Batch. The updated names are as follows:

Old Path Before Kestra 0.17.0New Path After Kestra 0.17.0
io.kestra.core.models.tasks.runners.types.ProcessTaskRunnerio.kestra.plugin.core.runner.Process
io.kestra.plugin.scripts.runner.docker.DockerTaskRunnerio.kestra.plugin.scripts.runner.docker.Docker
io.kestra.plugin.ee.kubernetes.runner.KubernetesTaskRunnerio.kestra.plugin.ee.kubernetes.runner.Kubernetes
io.kestra.plugin.ee.aws.runner.AwsBatchTaskRunnerio.kestra.plugin.ee.aws.runner.Batch
io.kestra.plugin.ee.azure.runner.AzureBatchTaskRunnerio.kestra.plugin.ee.azure.runner.Batch
io.kestra.plugin.ee.gcp.runner.GcpBatchTaskRunnerio.kestra.plugin.ee.gcp.runner.Batch
io.kestra.plugin.ee.gcp.runner.GcpCloudRunTaskRunnerio.kestra.plugin.ee.gcp.runner.CloudRun

Renamed Redis Triggers and Tasks

The Redis plugin has been updated to make it easier to extend and maintain. The following classes have been renamed:

Old Path Before Kestra 0.17.0New Path After Kestra 0.17.0
io.kestra.plugin.redis.ListPopio.kestra.plugin.redis.list.ListPop
io.kestra.plugin.redis.ListPushio.kestra.plugin.redis.list.ListPush
io.kestra.plugin.redis.TriggerListio.kestra.plugin.redis.list.Trigger
-io.kestra.plugin.redis.list.RealtimeTrigger
io.kestra.plugin.redis.Publishio.kestra.plugin.redis.pubsub.Publish
io.kestra.plugin.redis.Getio.kestra.plugin.redis.string.Get
io.kestra.plugin.redis.Setio.kestra.plugin.redis.string.Set
io.kestra.plugin.redis.Deleteio.kestra.plugin.redis.string.Delete

Was this page helpful?