Skip to content

v0.11.0-alpha.2

Pre-release
Pre-release
Compare
Choose a tag to compare
@cueckoo cueckoo released this 24 Sep 15:36
· 179 commits to master since this release

This release includes a new matchIf built-in validator, many more improvements to JSON Schema and TOML support, as well as some fixes.

Evaluator

CL 1200942 adds a new matchIf builtin, similar to matchN, which makes it significantly easier to implement the if, then, and else keywords in JSON Schema.

Modules

CL 1201493 gives a better error message when a module is not found.

CL 1201522 fixes a bug where imports did not work properly when using cue/load.Config.Package = "*".

Encodings

A significant amount of work has gone into improving JSON Schema support, fixing many bugs and producing better CUE output, as well as leveraging the new matchN and matchIf builtins. While this work is still in progress, we already expect an overall improvement compared to v0.10.0. This work will also form the basis for CUE modules for well-known services that will be published to the Central Registry.

CL 1200901 improves filetype tags, as described by cue help inputs, so that unknown tag=value pairs cause failures, and invalid pair combinations aren't silently ignored.

CLs 1200899 and 1200924 split JSON Schema's strictness option into StrictFeatures and StrictKeywords which allows erroring when unimplemented features are used, but not when unknown keywords are used. --strict is also superseded by jsonschema+strict:.

CL 1200932 turns on JSON Schema's new StrictFeatures option on by default, a saner default as we know which features we have not yet implemented and so the schema cannot be interpreted correctly.

CL 1201111 teaches default filetype tags to be applied in the default auto interpretation mode as well.

CL 1201113 adds the StrictFeatures and StrictKeywords options to OpenAPI, mirroring the options added to JSON Schema.

CL 1200888 adds support for decoding TOML dates and times.

Builtins

CL 1201474 adds a new encoding/toml package with Marshal and Unmarshal APIs, following the addition of TOML support in v0.10.0.

CL 1201115 removes strconv.ParseComplex, which never worked in any past CUE release and does not seem like an useful API to have in its current form.

cmd/cue

CL 1201709 fixes a minor regression introduced in CUE v0.9.0 where cue help cmd mycmd ./mypkg stopped showing a valid command's help text.