This release introduces a new toposort
evaluator experiment, fixes multiple bugs with the embed
experiment, and includes more JSON Schema improvements.
Changes which may break some users are marked below with: ⚠️
Evaluator
A new experiment is introduced via CUE_EXPERIMENT=toposort
which enables a more principled ordering of CUE fields as produced by cue export
and cue eval
. The intention is to ensure the old and new evaluators order fields of structs in the same way, in order to build confidence and ease the transition to the new evaluator. There are still a few wrinkles to work out, and the question of iteration order in comprehensions over structs remains to be tackled. An issue for gathering feedback is available.
CL 1202746 teaches CUE_STATS_FILE
to start reporting the evaluator version being used, which is useful information when looking at performance stats.
CL 1203264 fixes a bug where CUE_EXPERIMENT=embed
would work when outside of a CUE module, which should not work as it can lead to security risks.
CL 1203267 fixes a bug where CUE_EXPERIMENT=embed
would not work with attributes attached to quoted field names.
CL 1203528 fixes a bug where CUE_EXPERIMENT=embed
would not work with the cue cmd
subcommand at all.
Go API
⚠️ CL 1203193 adds a new experiment via CUE_EXPERIMENT=decodeint64
which causes cue.Value.Decode
to default to int64
rather than int
when decoding CUE integer values. This ensures consistent behavior with 32-bit architectures.
⚠️ CL 1203192 tweaks the signature of cue.Index
so that it accepts int64
as well as int
for consistency with 32-bit architectures.
CL 1202744 tweaks cuecontext.EvalVersion
so that the zero value is not a valid evaluator version, as that could lead to unintentional behavior.
cmd/go
⚠️ CL 1203289 moves cuepls
to cue lsp
, enabling users to install one binary rather than two, and avoiding potential version discrepancies.
Encodings
JSON Schema spec compatibility is improved further by fixing a number of bugs and adding missing features.
Full list of changes since v0.11.0-alpha.4
additionalProperties
and patternProperties
by @rogpeppe in 85f5ca8
@embed
by @mvdan in deed7d5