Skip to content
Merged
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
docs: Upgrading 4.0 docs
Signed-off-by: Alan Clucas <alan@clucas.org>
  • Loading branch information
Joibel committed Dec 3, 2025
commit d8fbfa05da28c12f4fe2d43953842230d13b522d
39 changes: 19 additions & 20 deletions docs/upgrading.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,21 @@
# Upgrading Guide

For the upgrading guide to a specific version of workflows change the documentation version in the lower right corner of your browser.

Breaking changes typically (sometimes we don't realise they are breaking) have "!" in the commit message, as per
the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary).

## Upgrading to v3.7

See also the list of [new features in 3.7](new-features.md).

For upgrades to older versions of Argo Workflows, please change to the documentation for the version of interest.
## Upgrading to v4.0

### Deprecations

The following features are deprecated and will be removed in a future verison of Argo Workflows:
Several features were marked for deprecation in 3.6, and are now removed:

* The Python SDK is deprecated, we recommend migrating to [Hera](https://github.com/argoproj-labs/hera)
* The Python SDK is removed, we recommend migrating to [Hera](https://github.com/argoproj-labs/hera)
* `schedule` in CronWorkflows, `podPriority`, `mutex` and `semaphore` in Workflows and WorkflowTemplates.

For more information on how to migrate these see [deprecations](deprecations.md)

### Removed Docker Hub Image Publishing

Pull Request [#14457](https://github.com/argoproj/argo-workflows/pull/14457) removed pushing to docker hub.
Argo Workflows exclusively uses quay.io now.

### Made Parameter Value Overriding Consistent

Pull Request [#14462](https://github.com/argoproj/argo-workflows/pull/14462) made parameter value overriding consistent.
This fix changes the priority in which the values are processed, meaning that a Workflow argument will now take priority.
For more details see the example provided [here](https://github.com/argoproj/argo-workflows/issues/14426)

## Upgrading to 4.0

### Logging levels

The logging levels available have been reduced to `debug`, `info`, `warn` and `error`.
Expand All @@ -48,3 +33,17 @@ Use the following command to selectively apply the full CRDs for an existing ins
```bash
kubectl apply --server-side --kustomize https://github.com/argoproj/argo-workflows/manifests/base/crds/full?ref=v4.0.0
```

### Go language (Developers)

If you are importing argo-workflows code into your go project you need to be aware of some changes.

Many go-lang functions have changed signature to require a [context](https://pkg.go.dev/context) as the first parameter.
In almost all cases you will need to provide a logger in your context.
The details are in [logging.go](https://github.com/argoproj/argo-workflows/blob/main/util/logging/logging.go)

In particular:

* Your logger must conform to the logging interface `Logger` from that file.
* Your logger should be retrievable from the context key `logger` (util/logging/logging.go `LoggerKey`)
* You may wish to use the logger from [slog.go](https://github.com/argoproj/argo-workflows/blob/main/util/logging/logging.go)