github kestra-io/kestra v0.19.0

latest release: v0.19.1
14 hours ago

Features

Bug Fixes

Documentation

Chores

Commits


Breaking Changes

Inputs

The options property in the MULTISELECT input has been renamed to values to align with the SELECT input type. However, the alias has been retained, so using options will still work. We recommend renaming it to values to make your flows future-proof.

Refresh Token (EE)

Before upgrading to 0.19.0, please note that we now require the encryption key to be set in your Kestra configuration, as it is used to facilitate several security-related features, including:

To configure this, add the following to your application.yaml file:

kestra:
  encryption:
    secret-key: pleaseChangeThisSecret # ✅ mandatory!

This encryption key should already be present if you use any SECRET-type input. If not, ensure it is added before upgrading to Kestra 0.19.0; otherwise, Kestra EE will not start, and you won't be able to log in.

The encryption secret key must be at least 256 bits (32 ASCII characters).

Make sure to set the secret pleaseChangeThisSecret to a custom value. This secret never expires, but its corresponding refresh token has a lifetime of 30 days, similar to a JWT token with a default lifetime of 1 hour.

If you prefer to use a different secret for the JWT signature of the refresh token than the one used as your standard encryption key, you can optionally modify this part of your Kestra configuration:

micronaut:
  security:
    token:
      jwt:
        signatures:
          secret:
            generator:
              secret: "${JWT_GENERATOR_SIGNATURE_SECRET:pleaseChangeThisSecret}" # ✅ optional

To delete a refresh token, send a DELETE request to /users/{id}/refresh-token. This is useful if you suspect your computer has been compromised.

For any questions or assistance with the upgrade, please contact our support team via our Customer Portal or your dedicated Slack channel.

State Store

State Store has been deprecated, and all plugins that used State Store now leverage KV Store. If you were using State Store, ensure you run this command after upgrading to Kestra 0.19.0: /app/kestra sys state-store migrate. Refer to the migration guide for more details.

Core Plugins

  • The io.kestra.plugin.core.flow.EachParallel and io.kestra.plugin.core.flow.EachSequential tasks have been marked as deprecated. We recommend switching to the optimized and simpler io.kestra.plugin.core.flow.ForEach task, which unifies both sequential and parallel execution depending on the configured concurrencyLimit.
  • Flow-level plugin defaults will now overwrite global plugin defaults unless forced: true is added to the global pluginDefaults.

Adjusted Default Number of Worker Threads

We've reduced the number of worker threads started by default per worker, based on the number of processors available on the machine. This change is intended to improve reliability by limiting concurrency by default. For example, if you start a large number of concurrent task runs, Kestra will no longer attempt to process them across all available worker threads — instead, task runs will be queued and processed as quickly as your server can handle, based on the number of available CPUs.

Don't miss a new kestra release

NewReleases is sending notifications on new releases.