This release fixes dozens of bugs in the new evaluator, enables the embed
and toposort
experiments by default, further improves JSON Schema support, and introduces cue exp gengotypes
.
Changes which may break some users are marked below with: ⚠️
Evaluator
CL 1205861 enables the Embedding proposal via CUE_EXPERIMENT=embed
by default, given that the proposal was accepted in late December.
Since v0.11.0, an experimental "topological sorting" of struct fields has been available via CUE_EXPERIMENT=toposort
; this release enables the experiment by default. Topological sorting produces a more principled ordering of fields as produced by cue export
and cue eval
. The intent is to ensure the old and new evaluators order struct fields in the same way, in order to build confidence and ease the transition to the new evaluator.
We encourage all CUE users to update to this release and switch to topological sorting for their CUE outputs. An issue for gathering feedback is available, should you run into any issues.
A great deal of work has happened in the new evaluator, which can be used via CUE_EXPERIMENT=evalv3
. Marcel also recently posted another update on performance progress. Below is a selection of particularly relevant changes in the new evaluator.
CLs 1204490, 1204669, and 1205368 resolve a number of significant performance issues spotted in the new evaluator.
CLs 1206123, 1206178, 1206284, 1206321, 1206385, and 1207910 fix a number of disjunction issues leading to incorrect behavior in the new evaluator.
CLs 1206327, 1206383, and 1206384 fix a number of cycle issues leading to incorrect errors in the new evaluator.
CLs 1206823, 1207237, 1207314, 1204365, 1205361, 1205363, and 1207714 fix a number of closedness issues which resulted in missing or incorrect errors in the new evaluator.
CL 1207912 fixes a regression which could cause "not properly initialized" errors in the new evaluator.
CLs 1206926, 1207169, 1207263, 1207545, and 1207715 fix panics which were recently discovered.
CL 1205862 sorts conjuncts in binary expressions to reduce ordering differences between evaluator versions.
CL 1207908 ensures that conversions of Go values to CUE respect struct field order, for the sake of topological sorting.
CL 1207907 ensures that converting Go arrays to CUE uses list.Repeat
rather than the now-removed list arithmetic syntax.
CL 1204491 introduces CUE_DEBUG=openinline
, enabled by default, which emulates the old evaluator's incorrect closedness behavior in some edge cases. This should help the transition towards the new evaluator, and allow us to fix the behavior of these edge cases in future CUE releases.
CL 1204608 introduces CUE_DEBUG=sortfields
which sorts all struct fields lexicographically. This replaces CUE_DEBUG_SORT_ARCS=1
, which did not work with the new evaluator.
Go API
⚠️ CL 1205569 enables CUE_EXPERIMENT=decodeint64
by default, causing cue.Value.Decode
to choose int64
rather than int
as the default Go type for CUE integer values.
CL 1206368 adds a cue/token.Pos.Compare
method to allow comparing two positions, for example to sort via slices.SortFunc
.
CL 1207007 adds encoding/jsonschema.Config.AllowNonExistentRoot
to prevent an error when no value is found at the Config.Root
path.
Builtins
CL 1204378 teaches list.UniqueItems
to handle incomplete values correctly, fixing a bug in JSON Schema.
CL 1204425 fixes list.MatchN
so that it matches final values, like the matchN
evaluator built-in, fixing a bug in JSON Schema.
⚠️ CL 1204920 removes the long-deprecated cue.Value.IsClosed
method.
⚠️ CL 1205530 removes the long-deprecated cue.Instance.Doc
method.
⚠️ CL 1205529 removes the long-deprecated cue/load.Config.BuildTags
field.
cmd/cue
CL 1207142 adds the new command cue mod rename
to aid in changing the module path of the current module.
⚠️ CL 1206950 fixes an issue where incomplete errors were not being reported by cue eval
and cue vet
.
CL 1204111 fixes some edge cases where CUE comments were lost or duplicated, particularly with cue def
.
CL 1204874 re-enables command suggestions when a user makes a typo like cue exprot
.
CL 1206784 fixes an issue where arguments and flags in cue cmd
could not be interspersed, unlike other subcommands.
Encodings
The new experimental command cue exp gengotypes
allows generating Go type definitions derived from exported CUE schemas. This can be a nice alternative to cue get go
for projects developing both CUE and Go, if one wishes to maintain the source of truth for shared schemas in CUE. cue exp gengotypes
is generally more reliable than cue get go
, given that Go's type system is not as powerful.
JSON Schema spec compatibility is improved further by fixing a number of bugs and adding missing features. Notably, it now supports arbitrary references to internal structure in $ref
. JSON Schema's spec test suite has gone from a "pass" rate of 75% to 79% thanks to these efforts.
⚠️ CL 1207146 tweaks JSON Schema to not generate defaults, given that they are annotations rather than constraints, and generating CUE defaults causes various issues.
Full list of changes since v0.11.0
- core/toposort: Correct CloseInfo Decl by @cuematthew in db9cc73
- cmd/cue: stop help text implying support for globs by @jpluscplusm in 870bfc2
- core/convert: Correct conversion of array types by @cuematthew in 8dc16dd
- cue/testdata: update out/eval/stats after concurrent merges by @mvdan in e9ad52f
- core/convert: Ensure Go -> CUE conversion respects struct field order by @cuematthew in 60c33d8
- internal/core/adt: force finalizing of shared values by @mpvl in f752335
- internal/core/adt: add tests for 3648 by @mpvl in 72c7c27
- internal/core/adt: finalize disjunctions once known by @mpvl in 4f4e4d5
- internal/core/adt: add test for issue 3699 by @mpvl in 06f2f87
- cue: clean up how we marshal CUE numbers as JSON by @mvdan in 5cf504f
- internal/core/adt: fix completion-related counter issue by @mpvl in 98692a5
- internal/core/adt: fix sharing-related counter issue by @mpvl in 105b8b7
- internal/core/adt: fix EVAL counter issue by @mpvl in a833722
- internal/core/adt: fix disjunction counter issue by @mpvl in ad7b84b
- internal/core/adt: fix disjunction error counter issue by @mpvl in 079442c
- core/toposort: Stop using RawString by @cuematthew in f53f655
- internal/core/adt: remove closedness for ToDataAll by @mpvl in 1ac3fe0
- internal/core/adt: add tests for issue 3694 by @mpvl in f02d1f1
- enable one more staticcheck check by @mvdan in 17c5d0b
- update golang.org/x/... by @mvdan in 2efb244
- internal/ci: update pinned Go for the next release by @mvdan in 775ce67
- internal/core/adt: fix name of method by @mpvl in ac4c7d0
- internal/core/adt: several logging improvements by @mpvl in 62b3005
- internal/core/dep: fix handling sharing in non-rooted nodes by @mpvl in c8170aa
- all: enable toposort by default by @cuematthew in f8defbb
- internal/core: search harder for BinExprs in toposort by @cuematthew in 9caec6f
- cmd/cue: reject login --token="" by @mvdan in 6ada21c
- cmd/cue: add test for 3646 by @mpvl in 18f0ae8
- internal/core/adt: prevent early decrements in comprehensions by @mpvl in bdc2929
- internal/core/adt: decrement DEFER dependencies in overlay by @mpvl in 6b292d4
- internal/core/adt: break notification dependency on structural cycle by @mpvl in ae730eb
- internal/core/adt: fix counter related to close builtin by @mpvl in aa6781f
- internal/cueexperiment: keep all past experiments around by @mvdan in 74c12e0
- internal/core/adt: handle dependencies fully in overlay by @mpvl in e34f770
- internal/encoding/gotypes: ignore definitions or fields via
@go(-)
by @mvdan in 58a8351
- internal/encoding/gotypes: better support for CUE versus Go package names by @mvdan in a1d8099
- internal/core/adt: hoist dependency code by @mpvl in 7d159b3
- internal/core/adt: split ccArc by @mpvl in 4d3eafa
- internal/core/adt: prepare to differentiate types of arcs and notify by @mpvl in 44a2e75
- internal/core/adt: hoist dependency breaking code by @mpvl in ba0639e
- internal/core/adt: rename cc to dst by @mpvl in 43a313a
- internal/core/adt: split addDependency by @mpvl in 06f5289
- internal/core/adt: hoist dependency-related code into dep.go by @mpvl in f3d367a
- internal/core/adt: hoist closedness related code by @mpvl in db6a8b9
- internal/core/adt: move block of code by @mpvl in 6a60de5
- internal/core/adt: hoist dependency code from debug by @mpvl in fc9720c
- internal/core/adt: split closeContext.arcs by @mpvl in c2ebfdb
- internal/core/adt: simplify linkNotify by @mpvl in 13f38c9
- internal/core/adt: fix EVAL counter issue by @mpvl in 9f913e0
- internal/core/adt: fix counter issue by @mpvl in 0efb5e8
- internal/core/adt: add disjunction info as blob to debug output by @mpvl in c880efb
- internal/core/adt: fix constraints deduplication by @mpvl in 053f47b
- internal/core/adt: add test for 3638 by @mpvl in b1eaedd
- internal/core/adt: copy sharedID across disjunctions by @mpvl in 635d23b
- internal/core/adt: add test for 3679 by @mpvl in bdebb8a
- internal/core/adt: propagate completion signal if disjunction is resolved by @mpvl in 5ce7ba4
- internal/core/adt: add test for 3681 by @mpvl in 682462a
- internal/core/adt: always do decrement accounting by @mpvl in 8a73d2b
- internal/core/adt: add tests for 3672 and 3606 by @mpvl in d57d885
- internal/core/adt: add disjunction information in log header by @mpvl in fbfff68
- cmd/cue: fix a regression with
cue get go
dropping CUE files by @mvdan in b193af0
- cmd/cue: add a test case to reproduce #3644 by @mvdan in c94fd55
- internal/encoding/gotypes: disjunctions of many kinds are not TODOs by @mvdan in 4d852c8
- internal/encoding/gotypes: generate disjunctions of structs as a map by @mvdan in 97b24b2
- internal/core/adt: hoist logging-related code into separate file by @mpvl in d113c59
- internal/core/adt: initialize erroneous optional fields in disjunctions by @mpvl in 0ad6826
- internal/core/adt: remove pattern optimization by @mpvl in 05f5d76
- internal/core/adt: add test for 3670 by @mpvl in 9ee56f7
- internal/core/adt: fix validator closedness issue by @mpvl in 9e85cd7
- internal/core/adt: add tests for 3639 and 3661 by @mpvl in d0564de
- internal/core/adt: do not free vertex by @mpvl in 393e9fa
- internal/core/adt: reduce counter issues by @mpvl in ed235a8
- internal/core/adt: do not force externalDeps for disjunctions by @mpvl in 12437a2
- internal/core/adt: use explicit hole id by @mpvl in 681ec9f
- internal/encoding/gotypes: obey
@go(,type=)
for optional fields by @mvdan in f62bb36
- cmd/cue: add gengotypes test cases overriding a pointer type by @mvdan in 1b787cd
- cmd/cue: new command: cue mod rename by @rogpeppe in 416adfc
- encoding/jsonschema: do not generate defaults by @rogpeppe in fdf92d1
- encoding/jsonschema: fail on mismatched error messages by @rogpeppe in 09c9cca
- encoding/jsonschema: update error messages by @rogpeppe in 90396e5
- cue/token: revert to NoPos sorting last, and document it by @mvdan in 7ef4b6a
- internal/core/validate: disallow incomplete errors in "Final" mode by @mpvl in 3251b5c
- cmd/cue/cmd: fix reference by @mpvl in 85e8a7e
- internal/core/validate: error position now fixed by @mpvl in 583af47
- cmd/cue: add
cue exp gengotypes
by @mvdan in 51c5fdf
- cmd/cue: remove mention of -p from cue help export by @jpluscplusm in 413bb17
- encoding/jsonschema: adjust doc comment by @rogpeppe in 59b0f46
- update testscript to drop the need for
func() int
by @mvdan in 07ff0b5
- all: swap sort for slices for []string values by @mvdan in b91f874
- all: make more use of slices.SortFunc by @mvdan in efcf06d
- all: make more use of slices.Compare and slices.CompareFunc by @mvdan in ebe2298
- encoding/jsonschema: add Config.AllowNonExistentRoot by @rogpeppe in 15f243b
- internal/core/validate: add test for issue 3651 by @mpvl in dfe3ae0
- internal/ci: set a custom default bash shell invocation by @myitcv in bbb2452
- internal/core/adt: fix issue 3599 by @mpvl in 211b2a2
- internal/core/adt: add tests for issue 3599 by @mpvl in 9da90de
- internal/core/adt: fix potential index mismatch by @mpvl in bf6965e
- internal/core/adt: fix index out of bound panic by @mpvl in 96cff7c
- internal/core/adt: fix closedness issue related to sharing by @mpvl in fddb432
- internal/core/adt: add tests for two issues by @mpvl in b1e7012
- internal/core/adt: remove todo by @mpvl in 640d9b3
- internal/core/adt: update error priority status by @mpvl in 09654c6
- internal/core/adt: remove cycle check specifcally for dynamic vertices by @mpvl in 5014742
- cmd/cue: allow interspersed flags in
cue cmd
by @mvdan in e41efd5
- cmd/cue: add a test case for
cue cmd foo args -t tag
by @mvdan in d182fc2
- internal/core/adt: do not proactively evaluate let by @mpvl in d8fabe1
- lsp: assert that a WorkspaceFolder must correspond to a CUE module by @myitcv in 3f4e72d
- lsp: fix implementation of protocol.DocumentURI.Dir by @myitcv in 5a56848
- lsp: add simple workspace-based test for basic CUE module by @myitcv in 5747d91
- lsp: remove various go logic/handling by @myitcv in 9d9632a
- lsp: remove notes .md file by @myitcv in 8210970
- pkg/list: add more test cases for list.UniqueItems by @myitcv in 74a0c9d
- cue: add a benchmark regression test for issue 572 by @mvdan in b5e1647
- encoding/openapi: rewrite uses of deprecated cue.Value methods by @mvdan in 7373f67
- cue/build: clean up the Instance docs a bit by @mvdan in e44b17d
- cmd/cue: fix find-files testscript builtin to use relative directory paths by @mvdan in 41d0797
- cmd/cue: fix the only SA4004 error by @mvdan in 7da6f24
- internal/ci: fix glob of files to delete by @myitcv in 46fc54a
- cmd/cue: allow tidy to add dependencies from any unqualified import by @mvdan in d55208c
- cmd/cue: test whether tidy can add a dependency path with dashes by @mvdan in 82ebb11
- cue/scanner: drop support for //line comments by @mvdan in 901604a
- cue/errors: use cue/token.Pos.Compare by @mvdan in ae8ee75
- cue/token: NoPos is smaller than any valid position by @mvdan in 5e89f6b
- internal/core/export: use cue/token.Pos.Compare by @mvdan in b51d7b9
- cue/token: add Pos.Compare from toposort by @mvdan in 5c2ce05
- cue: add regression test for matchN of structs within lists by @mvdan in 22bec0c
- cue: add a regression test for invalid pattern matching syntax errors by @mvdan in d50dcf6
- cmd/cue: add a regression test for an
export -e
bug fixed by evalv3 by @mvdan in 2589f7f
- pkg/list: add a regression test for an invalid operand bug fixed in evalv3 by @mvdan in b0c6204
- internal/core/adt: fix 2052 for eval v3 by @mpvl in e3359f5
- internal/core/adt: add some smaller reducers for issue 2052 by @mpvl in a9f4f20
- internal/core/adt: fix dropping arcs with double and deep pushdowns by @mpvl in c905888
- internal/core/adt: add test for issue 3621 by @mpvl in 4a76cb8
- internal/core/adt: change some constants in test by @mpvl in 00cfb22
- internal/core/adt: fix resolving disjunctions in calls by @mpvl in 3ee8b07
- internal/core/adt: add tests for Issue 3584 by @mpvl in b1803fa
- internal/core/adt: fix self reference issue by @mpvl in db3a7c9
- internal/core/adt: add test for issue 3178 by @mpvl in 0b6a4e8
- internal/core/adt: rename state constants in sched_test by @mpvl in 962f60b
- internal/core/adt: propagate child errors by @mpvl in f2c38f8
- internal/core/adt: add tests for Issue 3576 by @mpvl in 2491cac
- internal/core/adt: fix disjunction error issue by @mpvl in c21e546
- internal/core/adt: add tests for issue 3581 by @mpvl in 8288686
- internal/core/adt: fix let issue for eval v3 by @mpvl in e6cb9b3
- internal/core/adt: fix let issue for eval v2 by @mpvl in 2702426
- internal/core/adt: add tests for 3590 and 3591 by @mpvl in 06f41bc
- internal/core/adt: dereference disjunct result by @mpvl in e4c4b8e
- internal/core/adt: add tests for Issue 3528 by @mpvl in 8f55942
- internal/core/adt: improve disjunction of scalars by @mpvl in 80743ca
- internal/core/adt: add tests for issue 3415 by @mpvl in 3dbf61a
- internal/core/export: sort conjuncts in binary expressions by @mpvl in 6aa0277
- cmd/cue: remove support for CUE_DEBUG_SORT_ARCS by @mvdan in f2775f8
- internal/ci: update Go and goreleaser versions for the next release by @mvdan in 962fafa
- update most dependencies ahead of v0.12.0-alpha.1 by @mvdan in 18669a7
- internal/cueexperiment: enable embed experiment by default by @mvdan in 1b2d11c
- encoding/jsonschema: respect Config.PkgName by @rogpeppe in 4f8b741
- encoding/jsonschema: add test for Config.PkgName by @rogpeppe in d5de8d4
- encoding/jsonschema: implement
Config.DefineSchema
by @rogpeppe in 0112a33
- evaluator: add regression test to lock in evalv3 wrt #3567 by @myitcv in 92b8f6f
- cmd/cue: fix spelling of CUE_EXPERIMENT for evalv2 by @myitcv in 54c734c
- encoding/jsonschema: update external test errors by @rogpeppe in c4ef079
- encoding/jsonschema: refactor reference handling by @rogpeppe in 028c6f3
- encoding/jsonschema: add structBuilder type by @rogpeppe in ccaee22
- cue/load: assume that Config.Registry is set when SkipImports is false by @mvdan in 33945a2
- all: sunset CUE_EXPERIMENT=modules by @mvdan in c8033e9
- internal/astinternal: add IncludePointers by @rogpeppe in 950f7fb
- encoding/openapi: fix updating golden files in tests by @rogpeppe in 6e34b9e
- encoding/jsonschema: define isTop and isBottom functions by @rogpeppe in 5fdf0c2
- encoding/jsonschema: do not use explicit phase for TODO constraints by @rogpeppe in 9639ed8
- cue/ast/astutil: ensure imports always start a new section by @rogpeppe in 226aac1
- cue/ast/astutil: add test for file-level comments joining with imports by @rogpeppe in def8bcf
- cue/ast: remove outdated docs by @rogpeppe in 1ea52f1
- internal/mod/modload: sort module versions when adding a new dependency by @mvdan in 2be40ea
- all: CUE_EXPERIMENT=modules no longer needs to be set in tests by @mvdan in eaea301
- cue: enable CUE_EXPERIMENT=decodeint64 by default by @mvdan in 0005c22
- internal/core/adt: remove resolved TODO by @mvdan in 5bf869e
- cmd/cue: add new CUE_EXPERIMENT and CUE_DEBUG flags to
help environment
by @mvdan in 4e92634
- cue: add more godoc links by @mvdan in 0e99c20
- cue: remove Instance.Doc by @mvdan in 54dc544
- cue/load: remove Config.BuildTags by @mvdan in 49a53d2
- README: update version number in installation example by @elzapp in 1f15584
- internal/core/adt: more pruning in partial disjunction check by @mpvl in a03ed2e
- internal/core/adt: support simplifying string bounds by @mpvl in 6d15591
- internal/core/adt: order bound error messages by @mpvl in d298a53
- internal/core/adt: fix bug in bound simplification by @mpvl in f9e5b6a
- internal/core/adt: revert recent change by @mpvl in 00fa80a
- internal/core/adt: patch performance issue related to error reporting by @mpvl in f1ea2ff
- internal/core/adt: alternative algorithm for splitting trees by @mpvl in 6c86b41
- internal/core/adt: fix closedness bug with patterns by @mpvl in 4ae75f8
- internal/core/adt: pass closeContext to openDebugGraph by @mpvl in 8aa5769
- internal/core/adt: always create new closeContext on reference by @mpvl in 9b61fc0
- cue: use embedding for UnifyAccept in V3 by @mpvl in d471ca1
- internal/core/adt: add various closedness tests by @mpvl in cce50f4
- internal/core/adt: cleanup some todos by @mpvl in 5195004
- internal/core/adt: also handle __no_sharing for V2 by @mpvl in 06cf5f4
- internal/ci: use pull_request_target for PR CI jobs by @mvdan in 5149ebd
- internal/core/adt: fix dropping of field by @mpvl in 432c114
- internal/core/adt: make Conjuncts type ConjunctGroup by @mpvl in 787d04c
- cmd/cue: add regression test for #3616 by @myitcv in f99441a
- internal/core/adt: simplify code by @mpvl in f7d3973
- internal/core/adt: add test for dropped field issue by @mpvl in 4c7ee01
- internal/core/adt: allow selectively turning off sharing by @mpvl in dc1ef63
- cue/parser: always allow predeclared identifiers on RHS by @mpvl in ec9117a
- cmd/cue: deduplicate the use of CUE_EXPERIMENT=evalv3 by @mvdan in 46c1cb2
- internal/core/runtime: consistently follow CUE_DEBUG env var flags by @mvdan in d5527cf
- cmd/cue: add a testscript for CUE_DEBUG=sortfields working with the Go API by @mvdan in 4258e9a
- internal/core/adt: close previously fixed issue by @mpvl in 5ac1b8a
- internal/core/adt: add tests for Issue 3535 by @mpvl in 698da05
- internal/ci: use the new tipdeploy workflow in cuelang.org by @myitcv in 9f217e1
- cue/errors: simplify printError by @mvdan in 4ce128d
- cue: use Value.ctx helper method consistently by @mvdan in 5d8f2cd
- internal/astinternal: make it easier to debug references by @rogpeppe in 0b06bd5
- encoding/jsonschema: remove isSchema field by @rogpeppe in 781f140
- enable and fix "value never used" staticcheck rule by @mvdan in 6ef4f68
- enable and fix "non-generic receiver names" staticcheck rule by @mvdan in 55166dd
- internal/ci: start enforcing staticcheck in CI by @mvdan in 6f1b0a2
- add staticcheck config files to appease the linter by @mvdan in 9d10fe1
- encoding/openapi: simplify looping over CUE fields by @mvdan in afafedb
- cue: rewrite away all uses of Iterator.Label by @mvdan in 671ce60
- encoding/jsonschema: simplify ref logic without changing behaviour by @rogpeppe in c53f32a
- encoding/jsonschema: do not return state from schemaState by @rogpeppe in 6985d38
- encoding/jsonschema: include doc comments for definitions by @rogpeppe in 1f00e31
- encoding/jsonschema: add test for a doc comment on a definition by @rogpeppe in 65b1005
- cue: reenable Allows(AnyDefinition) test case with a TODO by @mvdan in c360ba8
- all: fix "a the", "the a", and "the the" mistakes by @mvdan in b18a322
- cue: remove the deprecated and hidden Value.IsClosed method by @mvdan in e53cb65
- cue: use cue/literal to parse integers out of attributes by @mvdan in 5dee391
- cue: add an attribute test with a non-Go integer literal by @mvdan in 3487155
- cue: make the tests non-chatty by default by @mvdan in 3c11890
- internal/core/adt: inlining simplification by @mpvl in 500ed27
- internal/cuedebug: rename files by @mpvl in 9773dae
- cmd/cue: enable subcommand suggestions when a user makes a typo by @mvdan in e11cbfb
- cmd/cue: add a test case for a subcommand typo by @mvdan in 70e5273
- all: fix testdata remnants of cue/format indenting first lines by @mvdan in 29e0b46
- internal/cueexperiment: remove yamlv3experiment by @mvdan in 5e20434
- internal/core/adt: add compatibility mode for issue 3534 by @mpvl in 2b55328
- internal/core/adt: add tests for issue 3534 by @mpvl in 9b8a10c
- internal/core/adt: add compatibiltiy mode for closedness issue by @mpvl in 0639975
- cue: fix loss or duplication of comments by @haoqixu in 53bbca5
- cmd/cue: add tests for the loss of comments with
cue def
by @haoqixu in b1f4f09
- Revert "cmd/cue: add test for the loss of comments with
cue def
" by @mvdan in ede6de0
- Revert "cue: fix the loss of comments in
Value.Syntax()
" by @mvdan in 974b5d5
- cue: fix the loss of comments in
Value.Syntax()
by @haoqixu in c9d519e
- cmd/cue: add test for the loss of comments with
cue def
by @haoqixu in 43a16ed
- internal/core/adt: improve structure sharing in cycles by @mpvl in c29fd02
- internal/core/adt: add test for perfromance issue 3587 by @mpvl in f054292
- cmd/cue: wire up CUE_DEBUG into the runtime for evalv2 by @mvdan in 4c1eb5c
- cmd/cue: add integration test for CUE_DEBUG=sortfields by @mvdan in e514fb7
- internal/core/adt: disable prep for associative lists by @mpvl in 00ca1c9
- internal/core/adt: fix error checking by @mpvl in 5c9b07f
- internal/core/adt: add tests for disjunction elimination by @mpvl in 64de763
- internal/core/toposort: support sorting fields lexicographically by @cuematthew in d95fd51
- cue/load: support loading a CUE package whose directory ends with .cue by @mvdan in b54e767
- encoding/jsonschema: fix oneOf with unconstrained elements by @rogpeppe in 956a558
- encoding/jsonschema: add test case for issue 3586 by @rogpeppe in 15f57d8
- encoding/jsonschema: close structs and mark fields as required in enum and const by @haoqixu in 0ad2119
- encoding/jsonschema: prevent invalid end position of id tag by @haoqixu in 407cccd
- doc: don't vendor a copy of DCO, as it is under another license by @jas4711 in 07973ae
- encoding/jsonschema: add a test for panicking about invalid pos by @haoqixu in 7d64696
- update txtpbfmt dependency by @mvdan in 8282ca5
- pkg/list: MatchN matches in final mode by @mpvl in a2d428d
- pkg/list: add tests for issue 3519 by @mpvl in 38c6949
- pkg/list: handle incomplete values for UniqueItems by @mpvl in 466b83b
- pkg/list: add tests for UniqueItems by @mpvl in 290f09f
- internal/ci: delete completed TODO about the old registry tokens by @mvdan in 5ed8701
- cue: fix Value.Unify closedness issues for evalv3 by @mpvl in 45e3256
- internal/ci: update Linux to ubuntu-24.04 by @mvdan in 25b7f46
- update golang.org/x dependencies by @mvdan in 18567fa
- internal/tdtest: make compatible with cuetdtest by @mpvl in 672755c
- internal/cueversion: bump LanguageVersion for v0.12 by @mvdan in 44696c3