chore(deps): update module cuelang.org/go to v0.13.0 #504
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
v0.0.15
->v0.13.0
Release Notes
cue-lang/cue (cuelang.org/go)
v0.13.0
Compare Source
This release finally enables the new evaluator by default -- the culmination of over a year's worth of work!
It also packs in lots of new features, such as support for absolute module packages, dozens of JSON Schema improvements, and a new experimental XML encoding.
Changes which may break some users are marked below with:⚠️
Evaluator
The new evaluator first introduced in v0.9.0 via
CUE_EXPERIMENT=evalv3
is now enabled by default! There are no remaining substantial regressions in our test suite, and the Unity corpus is almost entirely working now. Given that the new evaluator fixes dozens of bugs for many users, and is already significantly faster for the majority of CUE users, we believe it is time to turn it on by default.We will continue to track any remaining issues for the new evaluator via the
evalv3
label. If you encounter any regressions, please file a bug report. You can also revert to the old evaluator to temporarily work around bugs viaCUE_EXPERIMENT=evalv3=0
. See this FAQ page for more information.We aim to resolve many of these remaining bugs in an upcoming v0.13.1 bugfix release.
An entirely new algorithm for
cue trim
andtools/trim
has been implemented forevalv3
, which resolves all known bugs when trimming CUE.Closedness in
evalv3
has been revisited to match the semantics ofevalv2
much more closely, while at the same time reducing its overhead for larger configurations. This fixes most "field not allowed" regressions and improves the performance of some configurations by up to 5x. As a result,CUE_DEBUG=openinline
is now removed as it is unnecessary.Performance work for the new evaluator is ongoing; a number of changes in this release led to performance improvements of between 5% and 80% for a variety of projects. For more details, see Marcel's performance update last month.
The parser now correctly allows keywords as required field labels, such as
if!: _
, fixing a discrepancy with the spec.Filenames beginning with a dot can now be embedded as long as the glob pattern uses an explicit dot, such as
@embed(glob="dir/.data_*.json")
.@embed(glob="pattern...")
directives whose file globbing results in zero files now result in an error, to avoid situations where a glob pattern silently stops working as intended.cmd/cue
Initial support for absolute packages is introduced, which allow specifying a remote package at a particular version such as
cue export foo.com/[email protected]
orcue vet foo.com/[email protected] -d '#schema' data.yaml
without requiring a CUE module file locally.The
cue help filetypes
logic, written itself in CUE, no longer requires using the evaluator to parse CLI arguments or load CUE packages. This results in significant speed-ups when using the CLI with many inputs.The new
cue refactor imports
command rewrites import paths, making it easy to migrate between module locations and major versions.The new
cue mod mirror
command copies modules from one registry to another.cue mod tidy
now preserves the top-levelcustom
field as intended.Hidden files, and files with build tags, should now be correctly filtered when loading a single CUE package.
cue get go
should no longer attempt to import types from the Go standard library as CUE, which caused errors.cue get go
no longer fails on Go strings containing certain character escape sequences or non-UTF8 bytes.cue get go
now interprets Go fields with the newjson:",omitzero"
struct tag as CUE optional fields.cue cmd
now fails if no tasks were actually defined, to avoid situations where a user is misled into thinking a task was defined when it was not.Encodings
The XML "Koala" encoding proposed in February is now available via an experimental implementation. Try it out via the CLI like
cue export xml+koala: data.xml
, or via its Go API.The encoding/jsonschema package gains better support for Kubernetes schemas (CRDs and the core API) although these improvements are as yet only available via the Go API.
encoding/jsonschema.Config.DefineSchema
.Empty YAML files are now decoded as
*null | _
rather thannull
, allowing them to be unified with struct schemas as if they were an empty struct.cue exp gengotypes
now allows control over how to generate optional CUE fields via e.g.@(,optional=nullable)
, where the default now is not to use pointers.cue exp gengotypes
tweaks how it parses@(,type=)
options to support composite types such as slices and maps. Note that this means package paths with slashes must be quoted now.Builtins
uuid.ToString
function is removed, given that it never did anything useful and could mislead users into thinking it did.tool/http
gained afollowRedirects
option to let the user disable HTTP redirection.Go API
CUE_EXPERIMENT=decodeint64
can no longer be disabled as we consider the experiment finished, having been introduced in CUE v0.11.0.cue.Runtime
methodsParse
,FromExpr
,CompileFile
, andCompileExpr
are now removed.cuecontext.EvalDefault
still pointed to the old evaluator; it now correctly points to the new evaluator, and follows theCUE_EXPERIMENT=evalv3
flag just likecmd/cue
and the rest of the Go API.Mirroring
cuecontext.EvalExperiment
, the newcuecontext.EvalStable
constant is added to track the latest stable version of the evaluator.module.SplitPathVersion
andmodule.ParseImportPath
have been deprecated in favor ofcue/ast.SplitPackageVersion
andcue/ast.ParseImportPath
package to consolidate the API.The new
mod/modfile.File.ModuleForImportPath
function allows resolving a module and default major version for a package without consulting a registry.The new
mod/modregistry.Client.Mirror
method implements the logic behind the newcue mod mirror
command.The new
mod/module.Version.Compare
method is added in favor ofmodule.Sort
, which is now deprecated.Full list of changes since v0.12.0
5ca3b8f
e769e47
9418bb0
938d270
3bc5784
9a44314
3045a88
e15f6e4
4a4d9ef
406f64c
eb61a84
7a0906e
894205c
1a2e80e
5a99880
a3db8b8
d9bfe59
17caa72
5d863b6
af81550
e12d544
cff2d7e
8f841ee
cue mod init
by @mvdan in8946dc9
0a71cae
5548932
1c27bdb
cue cmd
by @mvdan ineebcefc
e145a14
38357b7
a6daeb9
2740b68
f87800d
47c9e99
c456d08
3559578
cfe1783
a8f9383
4f3a215
2597621
b3caad3
61e0d7f
e7d687f
7de64e8
0f26957
9752c3a
e231c49
bb2204f
5c33e24
8ca0f5b
b9acd04
56a915b
b17be30
398e8be
59e82a7
4e8dc78
8fb5fea
a95cfa8
38b8955
3be8e48
8fa1079
a1a53e5
68dad74
2c01ee5
a918c8b
9ef3b70
defc384
f2e0b7e
d0f10ea
050844f
f37ff95
6454acb
b3e8da8
9c267d8
c65ecb4
c7a63ad
5c22dc8
e65a5e0
dbe2611
f712e19
aeb0747
8e4c818
80ff2bd
6fd7ee4
db98b5f
45bcd34
21d4ba7
4154968
b0a5318
17e198c
1048634
f93b6b9
aacdc3b
89d1313
ebf4e65
5db678d
09dee80
8f552be
0be3c85
6204a0a
2aee339
8a134a3
3ba376f
a1db0ad
17317ca
4b194d7
0e10ed9
d3ae2ca
4598c91
8e2dd0c
4a580ad
4c0c780
daaba58
cb7a48c
ae4ac04
7701a87
8240e3c
737cd20
667575a
d1baad4
1753350
8e82e47
a164970
efd4ad1
e77a582
4a1805a
d3a3b16
66cf387
2e8d5a7
a7e97fe
3478e43
d1fb074
e223de9
2666081
b6d7332
6741c90
572a6cc
acc06c5
4b5dd6b
93e82f2
fac9a30
3eef4dd
5f329ce
96e0ebc
7cfe774
5dcc768
a753c37
b12e201
e714489
3c149f1
ab8bd45
19403a4
34a512f
8fef4d3
08c3542
c54251d
2824405
eec6a2a
1d028fc
e778137
a09a38b
f836184
go get
Go fields with the json omitempty tag as optional by @mvdan ind9da212
get go
test case with the new omitzero json tag by @mvdan inbe6c3db
a6fff27
52d9689
433ac2c
9b5b10f
096a114
93c1421
e058014
ebf42e5
c565c1d
ad0442b
1ec46e7
07bccba
965e7b1
917ae0d
8080ec5
721ca5d
4fc579c
6ade302
6654071
4e7564e
5348d04
32d0400
de69f12
447e98d
d58c804
cue exp gengotypes
testscript by @mvdan in18b4ba9
e22ea96
ff654dc
2b82584
6912a11
2402ef3
f4a2424
c0fc59b
773741f
4cbb180
c7a0369
help environment
with new defaults by @mvdan in4810870
00f7a21
bd1839a
76d6e68
cf93185
8cd6b71
a91e7bf
760b744
ce10c91
fc4172f
cdfb056
a16bbf7
85fb117
d13d661
5423873
7c4b66d
1eccc46
a78b158
dbed3d2
5e5179c
d4dd2ce
5883337
cfbeb48
470a02a
72567b9
bdeae96
86e62b2
2cd5ba6
413d39a
440b32c
ccd5b92
0d32d6e
1a40fd4
Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.