github cue-lang/cue v0.8.0-alpha.3

pre-release7 months ago

This release includes a number of fixes and improvements for the experimental support for CUE modules first released in v0.8.0-alpha.1.

Note that we skipped over v0.8.0-alpha.2 due to a minor release automation issue.

Modules

CUE_REGISTRY now supports a CUE configuration file in addition to the simple string form, which allows greater control over how to publish CUE modules as artifacts on OCI registries. This is useful when publishing to OCI registries which do not support arbitrary repository names, for example. This is not fully documented yet, but the schema for the file is available here and setting CUE_REGISTRY=file:path/to/file enables its use.

All cue subcommands should now support the modules experiment when it is enabled via CUE_EXPERIMENT=modules.

cue mod init now adds the language.version field as needed, to ensure that running cue mod tidy immediately after results in no changes.

CUE_MODCACHE has been replaced with CUE_CACHE_DIR, a parent directory to hold all cache files, much like how CUE_CONFIG_DIR already works for configuration files.

cue mod registry, a hidden command to start a local in-memory OCI registry for testing purposes, now treats repository tags as immutable to ensure published module versions cannot be modified. The "Working with a custom module registry" tutorial has been updated to use cue mod registry.

CUE Language Server Protocol Implementation

This release includes the first version of an experimental Language Server Protocol (LSP) implementation for CUE. Whilst it remains experimental, the cmd/cuepls binary is separate from cmd/cue. However at a later date it will most likely to become a subcommand of cmd/cue like cue lsp serve.

We are working on updating the VSCode plugin to use cmd/cuepls, as well as supporting an initial version of a plugin for Neovim. For JetBrains users, we are working with the author of the CUE plugin to understand how best to integrate cmd/cuepls with JetBrains.

Subscribe to the LSP announce discussion, or join us in #cuepls on CUE Slack.

Full list of changes since v0.8.0-alpha.1

Don't miss a new cue release

NewReleases is sending notifications on new releases.