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.