Description

--experimental is a single global flag that gates several unrelated features. It is available on every subcommand, and it announces itself:

Experimental Mode Enabled
Warning

Experimental features can change or disappear without going through the deprecation cycle described on the "Deprecations" page. A pipeline that depends on one may need adjusting on any release, not only on a major one.

What it enables

CUE manifests

Without the flag, a .cue manifest is refused outright:

cuelang support is experimental, please use '--experimental' flag to enable it

The flag also adds updatecli.cue to the filenames Updatecli looks for when no manifest is named on the command line. Ordinarily that search covers only updatecli.yaml and then the updatecli.d directory, so a updatecli.cue sitting in the working directory is not picked up unless the flag is set.

Reporting to Udash

Udash collects pipeline results for viewing over time.

Without the flag, publishing is skipped silently, no warning, no error, and the run reports success. Configuring UPDATECLI_UDASH_* or running updatecli udash login is not enough on its own. With the flag, results are published under a section headed Udash - Experimental.

--disable-udash-report switches it off again without dropping the rest of the flag.

WebAssembly autodiscovery plugins

A crawler whose name ends in .wasm is loaded as an external WebAssembly plugin. Without the flag it is skipped with a warning naming the crawler:

Skipping autodiscovery plugin "example.wasm" because experimental features are disabled

The rest of the autodiscovery run continues normally, so this is easy to miss in a long log. The built-in crawlers described on the "Autodiscovery" page are unaffected and need no flag.

Using it

updatecli pipeline diff --experimental
updatecli compose diff --experimental

This website’s own CI runs updatecli compose diff --experimental on every pull request, so the flag is safe to adopt for regular use, the caveat is about stability of the features themselves, not about the flag being dangerous.

Tip
Nothing already working changes when you add the flag. Enabling it never disables a stable feature, so adding it to a CI job that does not use any of the above is a no-op.

Go Further