This release includes fixes to the evaluator and APIs as well as initial support for the TOML encoding.
Evaluator
CL 1198356 fixes a panic in the new evaluator relating to the new mechanism for tracking closedness information.
CL 1198566 fixes a performance regression introduced in CUE v0.6 where cue cmd
and tools/flow
became many times slower on some inputs.
CL 1198350 ensures that all interpreter errors, such as those from @embed
attributes, include position information.
Encodings
Initial support for TOML is included in this release, including support in cmd/cue
and an experimental Go package. See the issue tracker for remaining work in this space.
Builtins
CL 1198636 tweaks the existing path.Match
and tool/file.Glob
builtins to reject **
wildcard patterns as unsupported, to avoid confusion and allow future changes to their behavior. Note that this change may break uses of **
patterns, which behaved like *
.
Go API
CL 1198555 adds a cue/load.Config.SkipImports
option to avoid loading instances from import statements. This particularly helps cue fmt
, where the loading caused unwanted slowness and unnecessary errors.
CL 1198686 fixes cue/load
so that it no longer produces extra invalid packages when Config.Package
was set to *
and nested packages were loaded.
CL 1198351 fixes a bug in astutil.Sanitize
where unused imports were not being fully removed from ast.File
, causing errors in cue trim
where all uses of an import were removed.
CL 1198494 speeds up the Path
method on wrapped errors, which causes noticeable speed-ups in some edge cases.
Full list of changes since v0.10.0-alpha.2
**
via pkg/path.Match by @mvdan in 187fb1a
**
in path.Match and tool/file.Glob by @mvdan in 987a85e
cue cmd
by @mvdan in 3f84ba6
cue cmd --cpuprofile
works by @mvdan in 17b3e52