Skip to content

v0.17.0-rc.1

Pre-release
Pre-release

Choose a tag to compare

@cueckoo cueckoo released this 22 Jun 13:12
· 43 commits to master since this release
Immutable release. Only release title and notes can be modified.

Evaluator

A performance optimization for the or builtin function has been reverted, as it caused a regression when its arguments included cyclic references.

Fix a regression introduced since v0.16.0 where a "field set was already referenced" error could appear when using an if comprehension inside a let block.

To ease the transition into the new formatter we plan to release with v0.18, CUE_EXPERIMENT=formatv2=0 is now allowed as a no-op.

cmd/cue

Module replaces are adjusted to rename the replace field in cue.mod/local-module.cue to replaceWith. See the proposal discussion for more information.

The "filetypes" lookup tables now use a more compact encoding, saving about 150KiB in binary size for cmd/cue as well as Go API users.

Full list of changes since v0.17.0-alpha.3
  • cue/format: revert #4296 regression test by @mvdan in e73658d
  • cue/format: revert manual-AST field alignment fix by @mvdan in c3f08a1
  • cue/format: revert issue #1006 test cases by @mvdan in 60e1bb7
  • cue/format: revert list and call argument column alignment fix by @mvdan in 3f7aafe
  • cue/format: revert spurious empty line fix by @mvdan in e2eb7f5
  • cue/format: revert Option-behavior test by @mvdan in 0fa6c09
  • cue/format: revert default tab width change from 8 to 4 by @mvdan in 1e07f16
  • cue/format: revert multiline string interpolation indentation fix by @mvdan in 7190842
  • internal/cueexperiment: teach v0.17 about the formatv2 experiment by @mvdan in 8d2db9d
  • cmd/cue: test sharing CUE_EXPERIMENT=formatv2 across v0.17 and v0.18 by @mvdan in ac083b5
  • Revert "internal/core/compile: return Disjunction directly from or() builtin" by @mvdan in bc31ef8
  • all: hide the "ini" decoder for v0.17 by @mvdan in 0f15eed
  • internal/core/compile: re-run with CUE_UPDATE=1 by @mvdan in 4bec06b
  • all: stop using "directive" terminology for module replaces by @mvdan in 9916719
  • cmd/cue: test that mod publish rejects an invalid module path by @mvdan in 376a328
  • mod/modfile: rename the local-module.cue replace field to replaceWith by @mvdan in b32aca7
  • internal/ci: stop running trybot jobs with pull_request_target by @mvdan in 61bcbc9
  • internal/filetypes: shrink embedded toFile lookup tables by @mvdan in 01907a9
  • internal/core/adt: do not freeze fieldSetKnown while an own field task is pending by @mvdan in 906c3e9
  • cue/testdata/eval: add test for issue 4392 list-in-let freeze regression by @mvdan in 7d77fe7
  • mod/modzip: reject a downloaded module containing local-module.cue by @rogpeppe in 4d73286
  • cue/cmd: more replacement test cases by @rogpeppe in a4372d3