github cue-lang/cue v0.14.0-rc.1

latest releases: v0.15.1, v0.15.0, v0.16.0-0.dev...
pre-release4 months ago

This release brings another significant speed-up for the new evaluator, as well as other fixes aiming for the final release.

Evaluator

A portion of the new closedness algorithm, which was observed to cause significant slowness and memory usage for some users, has been rewritten with a new data structure. A few larger projects have seen reductions of up to 50% in CPU and memory usage as a result.

A small change which unintentionally affected the old evaluator has been reverted, to fix a "field not allowed" regression.

cmd/cue

A bug has been fixed in the new cue trim algorithm where some disjunctions could be incorrectly treated as ambiguous.

Encodings

The JSON Schema decoder has gained support for dependencies, bringing the pass rate for the official JSON Schema test suite up from 79% to 81%.

Full list of changes since v0.14.0-alpha.2
  • internal/ci: allow gerritHubHostname to be overridden by @myitcv in 5cc6d81
  • internal/core/adt: new data structure for reqSets by @mpvl in 3f23e12
  • internal/core/adt: add generation tracking to closedness info by @mpvl in 5077511
  • internal/core/adt: add generation tracking to prevent stale context usage by @mpvl in 19e2c74
  • tools/flow: avoid looking like we're using go run for real by @mvdan in 5f4bd37
  • update dependencies for v0.14.0-rc.1 by @mvdan in 0c84f96
  • cue/stats: remove unused CloseIDElems counter by @mpvl in 930a98b
  • internal/core/adt: fix notification CloseInfo by @mpvl in 0ccf38c
  • cmd/cue/cmd: add tests for 3981 by @mpvl in 840ff27
  • internal/core/adt: add tests for 3981 by @mpvl in 78e1a11
  • internal/core/adt: ToDataAll rewrite by @mpvl in 2804f1d
  • internal/ci: allow additional cache modes by @jpluscplusm in 9afca73
  • encoding/jsonschema: implement dependencies by @rogpeppe in 9620eae
  • internal/cmd/cue-ast: use cue/load with SkipImports=true by @mvdan in 45ab65e
  • gopls/cache: add test for imports of non-ambiguous non-default modules by @cuematthew in e4cdcd3
  • internal/core/adt: remove CloseIDElems counter by @mpvl in 9033834
  • internal/core/adt: add counters before rewrite by @mpvl in c8256cd
  • internal/core/adt: hoist loop by @mpvl in 24cc414
  • internal/core/adt: change signature by @mpvl in 5ee4254
  • internal/core/adt: remove replaceID.add field by @mpvl in d987d88
  • gopls/cache: rework normalizeImportPath by @cuematthew in f309265
  • internal/ci: start publishing the module by @mvdan in 05a3d64
  • internal/ci: carve out into a separate module to be published by @mvdan in 17177e9
  • internal/ci: do a little bit more for trybot jobs in the base package by @mvdan in 1004c32
  • internal/ci: apply the top-level githubactions.#Workflow schema by @mvdan in d9aaac0
  • gopls/cache: ignore imports of stdlib by @cuematthew in eac9728
  • internal/core/adt: revert CL 1208898 for evalv2 by @mvdan in 1789dd4
  • tools/trim: Work harder to discover disjunction branches by @cuematthew in 7f38bb8
  • internal/golangorgx: remove the unused tools/facts package by @mvdan in 60c36a5
  • internal/golangorgx/vendoring: remove by @mvdan in 4d66634
  • cmd/cue/cmd: speed up use of sleeps to test concurrent commands by @mvdan in 13461f1
  • internal/ci: rename "ubuntu" runner to "linux" by @mvdan in 8250c1f
  • internal/golangorgx: delete unused and Go-specific packages by @mvdan in dbed9a3
  • internal/golangorgx: remove unused gopls/util packages by @mvdan in 9ca9609
  • internal/gopls: rewrite gopls/cuelsp by @cuematthew in a23afdf
  • gopls/lsprpc: Adjust gopls to cuelsp and simplify by @cuematthew in ca86fb0
  • internal/gopls: remove unnecessary old command alias by @cuematthew in 4752c04
  • internal/gopls: renaming of gopls to cuelsp by @cuematthew in 8935ee3
  • internal/gopls: delete a lot of code by @cuematthew in 3fb3043
  • all: make some txtar table tests parallel by @mvdan in 2d182a5
  • internal/golangorgx: remove gopls re-vendoring script by @mvdan in 3114a2f
  • update all direct dependencies by @mvdan in 2df1b5a

Don't miss a new cue release

NewReleases is sending notifications on new releases.