Releases: steep-wms/steep
Releases · steep-wms/steep
v6.9.0
New features:
- Native Kubernetes support:
- Automatically discover Steep cluster members running in the same Kubernetes cluster (see the new
steep.cluster.kubernetes.*
configuration items) - Add Kubernetes runtime (see documentation)
- Automatically discover Steep cluster members running in the same Kubernetes cluster (see the new
- Add possibility to specify if a Docker image should be pulled or not before running (see the new
steep.runtimes.docker.pull
configuration item) - Add possibility to specify block device name in setup
- Provide list of attached volumes to provisioning scripts (see new global variable
attachedVolumes
) - Add HEAD method to
/agents
endpoint - Web UI:
- Show block device name
- Show ID of allocated agent on process chain page
- Upgrade to Java 21
Bug fixes:
- Fix missing
yieldToInput
renaming in inner loops
Maintenance:
- Update dependencies
- Fix deprecation warnings
- Fix flaky UI test
- Update Docker CLI dependency in Docker image
- Remove unused Cypress tests
v6.8.0
New features:
- Do not unnecessarily split process chain. If an action has multiple actions depending on it, check if these actions would actually be executed in parallel. If so, split the process chain. If not (i.e. if they all depend on each other and would be executed sequentially anyhow) do not split the process chain.
Maintenance:
- Update dependencies
v6.7.1
Bug fixes:
- Add timeout for provisioning steps
Maintenance:
- Update dependencies
v6.7.0
New features:
- Add macros. You can now define reusable workflow parts in a configuration file
conf/macros/macros.yaml
and include them into your workflows (or indeed other macros) through include actions. - Add more workflow validations to prevent semantically incorrect workflows from being submitted
- Support SCRAM-SHA-256 authentication for Postgres
- Add possibility to configure split-brain protection. When enabled, this mechanism helps you protect your cluster against inconsistent behaviour in case of network partitions.
Bug fixes:
- Fix possible race condition in maximum inactivity timeout
- Correctly forward exceptions from runtime plugins
- Remove unused dependency
vertx-shell
. This removes a CVE in code that was actually never used.
Maintenance:
- Update dependencies
- Bump workflow API version to 4.7.0
- Improve unit test performance
- Set dependabot interval to ‘weekly’
v6.6.0
New features:
- Add HTTP endpoint providing configured setups
- For each process chain run, save ID of agent that executes or has executed the process chain
Maintenance:
- Update dependencies
v6.5.0
New features:
- You can now specify a retry policy for process chains. This policy defines how often a process chain should be retried after it has failed and how long Steep should wait between attempts. It can be specified on a workflow-level and applies to all process chains generated from the workflow.
- A new process chain status
PAUSED
has been added. Process chains with this status are subject to being retried eventually according to their retry policy. - The
/processchains
endpoint has been extended so you can fetch information about a specific run (i.e. attempt) of a process chain (/processchains/:id/runs/:runNumber
) - The
/logs/processchains
endpoint has been extended so you can fetch the logs of a specific process chain run - The process chain data model has been extended to include the run number, the total number of runs, and an optional
autoResumeAfter
timestamp, which denotes when the next attempt will happen - It is now possible to specify a whitelist for HTTP routes. This allows you to enable the HTTP server with subset of endpoints (e.g. if you only want to enable the
/metrics
endpoint but nothing else on agents)
Bug fixes:
- Improved legibility in web UI: Text inside labels does not wrap anymore but a long list of labels still does
- Prevent two schedulers from looking for orphans at the same time. This avoids race conditions that could, in rare cases, lead to a process chain being scheduled twice on different agents.
- Increase timeout for sending process chain results to scheduler
Maintenance:
- The workflow API version is now 4.6.0
- Replace Vert.x Lock with ClusterSemaphore to avoid unnecessary Hazelcast CP group commits
- Disable unnecessary Hazelcast log message
- Update to Kotlin 1.8
- Update to Next.js 13
- Update other dependencies
- A few internal refactorings
v6.4.0
New features:
- Setup can now be accessed in provisioning scripts through the global
setup
variable - Add possibility to specify arbitrary parameters in setups, which can be accessed in provisioning scripts, for example
- New configurable VM creation policy, which uses a combination of the circuit breaker pattern and exponential backoff. This allows you to retry creating a VM from a certain setup a number of times and then automatically switch to an alternative, for example.
- The configuration property
steep.cloud.setupsFile
is now deprecated and will be removed in Steep 7. Please usesteep.cloud.setups.file
instead. - Web UI:
- Source code of arbitrarily large workflows and process chains can now be displayed without lags
- A new plugin page shows information about all installed plugins
- Improve page loading performance and make better use of caching
- Keep scroll position if back button is pressed
Bug fixes:
- Correctly forward exceptions from runtime plugins
- Web UI:
- Fixed an issue with the workflow editor theming introduced in the previous version
- Do not wrap text in labels
- Correctly encode search parameters
Maintenance:
- Update dependencies
v6.3.0
New features:
- Refactor process when an agent joins or leaves the cluster. This makes Steep more robust against lost data partitions.
- Refactor how process chain results are sent back to the scheduler:
- Send results to multiple peers in parallel
- Use exponential backoff when sending process chain results has failed
Bug fixes:
- Configure connection timeout and read timeout for OpenStack client
- UI:
- Do not reset page content if user clicks on the active page in pagination bar
- Fall back to workflow object if source could not be parsed
- Fix placeholder color in dark theme
Maintenance:
- Update dependencies
v6.2.0
New features:
- Sort alternative matching VM setups by number of failures and prefer those that work best
- Support auto-shutdown timeout less than 1 minute
Bug fixes:
- Only shutdown if timeout has been reached for all local agents
- Fixed a bug where concurrent calls to
lookup
andlookupOrphans
could lead to a process chain being scheduled multiple times - Make sure message about left agent is always published across the cluster
- Do not run multiple sync operations at the same time in cloud manager
- Never consider an agent idle if it is currently executing a process chain. This prevents the agent from being marked as idle if there was a clock jump on the system and the busy timer was not reset. Without this fix, it could happen that, for example, with a busy timeout of 1m and a clock jump of more than 1m, the agent was marked as idle even though there was still a process chain being executed.
Maintenance:
- Update dependencies
v6.1.2
New features:
- Cloud manager:
- Maintain separate backoff delays per setup
- Reduce maximum backoff to 10 minutes
Bug fixes:
- Do not delete unattached block device if VM to which it will be attached is currently being created
Maintenance:
- Update dependencies