chore(deps): update module cuelang.org/go to v0.10.0 #425
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.10.0
Release Notes
cue-lang/cue (cuelang.org/go)
v0.10.0
Compare Source
This release includes experimental support for the embed proposal, many fixes for the new evaluator and modules, as well as many other fixes and enhancements.
Evaluator
CLs 1195897, 1196094, 1198356, 1198736, and 1198860 fix crashes with
CUE_EXPERIMENT=evalv3
as reported by users.CLs 1199272, 1199273, and 1199340 fix spurious "field not allowed" error regressions in the new evaluator.
CL 1198566 fixes a performance regression introduced in CUE v0.6 where
cue cmd
andtools/flow
became many times slower on some inputs.CL 1198350 ensures that all interpreter errors, such as those from
@embed
attributes, include position information.Embed proposal
With
CUE_EXPERIMENT=embed
, CUE now supports the embedding of non-CUE files within a CUE package. See the embed proposal and its design document for details, as well as the new how-to guide for the feature.Modules
The
cue help
documentation for modules and inputs has been expanded, and a number of error messages when using or publishing modules are now more helpful.A new concept guide on CUE language versions documents the
language.version
field incue.mod/module.cue
files.CL 1198249 adds support for an
@ignore
file attribute to unconditionally ignore a file when loading packages or calculating dependencies.CL 1198003 teaches the CUE loader to support symbolic links when loading from local directories, matching the behavior before
CUE_EXPERIMENT=modules
was introduced.CL 1198143 tweaks
cue mod init
without an argument to create a module with the module pathcue.example
rather than an empty path that made the module file invalid.CL 1197530 fixes the behavior of build tags, and also adds support for parentheses in build tag expressions.
CL 1197531 implements better caching when evaluating dependencies, which should speed up evaluation of modules that use multi-directory packages.
Go API
CL 1196721 disallows importing or loading packages with an underscore qualifier like
foo.com/bar:_
, as it was never intended behavior. Users should use the new embed proposal instead.CL 1198555 adds a
cue/load.Config.SkipImports
option to avoid loading instances from import statements. This particularly helpscue fmt
, where the loading caused unwanted slowness and unnecessary errors.CL 1196820 adds a
cue.LanguageVersion
function to obtain the current version of the language spec that the Go module implements.CL 1197160 implements considered support for build tags in modules. Build tags are considered false when outside the main module.
CL 1198686 fixes
cue/load
so that it no longer produces extra invalid packages whenConfig.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 fromast.File
, causing errors incue 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.CL 1198157 fixes
cue/parser
to accept keywords as valid selectors, aligning with the language specification.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.CLs 1199309, 1199139, 1199306, 1199214, 1199398, 1199308, and 1199309 resolve a number of issues when decoding JSON Schema files.
CLs 1196332, 1199094, and 1199103 fix the JSON decoder to provide correct position information when decoding JSONL files or encountering a syntax error.
CL 1198874 fixes the loading of JSON files to reject multiple newline-delimited values, as those ar only allowed in NDJSON or JSONL files.
CL 1198876 teaches the YAML decoder to decode empty documents as
null
, aligning with the YAML spec and fixing panics when loading empty YAML files.CL 1196291 tweaks the YAML decoder so that comments following a field are attached to the entire field.
CL 1196436 tweaks the textproto decoder to correctly handle required and optional fields.
CLs 1195628 and 1199054 ensure that
cue/format
prints the correct white space before and after comments.CL 1195884 teaches
cue/format
to preserve comments associated with...
ellipsis expressions.CL 538624 fixes a bug where
cue/format
would start a CUE file with white space if it began with a clause.CL 1196134 fixes a bug in
cue/format
where a comment at the start of a CUE file would sometimes be indented.CL 1196135 fixes a bug in
cue/format
where index or selector expressions could cause extra tab indentation.Builtins
CL 1196212 adds a
list.Reverse
function to reverse the elements of a list.CL 1197452 tweaks
tool/exec.Run
so that its errors are unambiguous when any command arguments contain white space.CL 1198636 tweaks
path.Match
andtool/file.Glob
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*
.cmd/cue
CL 1196822 adds a
--language-version
flag forcue mod init
andcue mod edit
to set thelanguage.version
value.CL 1197185 teaches
cue mod resolve
to work on the current module when no arguments are given.CL 1196370 teaches
cue mod registry
to gracefully shut down when interrupted.Full list of changes since v0.9.0
dc3ba30
40da936
ee85bb9
93670d7
8b3cc67
ecda391
4760f3b
6694c55
2122b51
0bd8619
7ca1a14
5fde360
89c7b4b
bdf9be8
8e99f5e
709741d
6c26e3c
52ae410
f00a023
9a9dd17
bddcb54
c683420
c8ff441
81740d5
8e02b92
53bbdad
2e312df
6cc01b0
a093c9b
5e19deb
cue mod fix
on all commands to add language.version by @mvdan in40eed23
$id
by @haoqixu in915059d
ast.EmbedDecl
and comment by @haoqixu ina6f1b76
596a8c3
677ece8
4d941df
cue import --dry-run
by @mvdan inbcbc7cd
334a6fe
1ec257c
c15144f
c4697bd
252a666
4c7aecf
20d3c9c
get go
by @mvdan in3260084
30a5c79
cd689ef
cf18d6f
e8e6f04
0dccbf3
db92bf8
0bd038c
0d9d541
dfe07b8
0d4258e
95c818c
44bc1ab
91929bd
**
via pkg/path.Match by @mvdan in187fb1a
**
in path.Match and tool/file.Glob by @mvdan in987a85e
25bb3d4
a4abb05
f472fd2
88306e2
55d1cb1
862fcf1
9b91188
54f2cce
34739e9
51bf6f2
bc41b25
f7b7aaf
bfcfff3
dc199f5
b77c599
aa8e810
cue cmd
by @mvdan in3f84ba6
cue cmd --cpuprofile
works by @mvdan in17b3e52
e68bd63
055405a
c8f3cad
5de5b42
8145bdd
23fc4b1
@ignore
attributes by @rogpeppe ine00557b
@ignore
tags by @rogpeppe ind502843
00879f0
cf6641c
97eeee4
9025f67
6a9997f
657d5ec
32013a7
daf98a0
af83dad
1aaf802
b3c12b3
3e9d805
f7e48bb
cue help modules
by @rogpeppe in8986233
cue help inputs
by @rogpeppe ine9bc377
682ff0e
e2054df
d0724a0
243da87
acdd41f
efdb072
28c6219
f5b905c
a36cc32
af808c3
b513fc2
9a88d06
f2066e3
e1f552f
719893f
3a379b7
56d6987
7793367
77ac696
6f2bfb4
fc16ef8
afa222f
f787af8
5cbddef
1bb894b
*ast.File
by @rogpeppe in75d4005
14deefa
b03789f
59fe2e4
d5d4815
4a8f673
fed43b0
27adbac
695fefc
8bedc2b
7e1f140
f6be8a8
16c45d3
304530f
38269ec
5903ec8
95802d3
2a96988
6056916
ddfe8eb
2c8ee2f
970d10f
a0f2cac
868c110
5c8be53
e460eb0
8079151
4eecacd
dbe24df
79c1739
7ca3925
f1f0963
e9b2c29
71eb3be
a9009e8
6594f45
package _
is equivalent to missing package by @rogpeppe inc7f9334
1c381a0
5ab2d73
9295a20
b70e543
a1c1cd7
f42327c
a94d22f
fecf80d
dec1786
16c15d1
0d69846
db5c6bf
1f197eb
d70f9d7
0cf2060
1d70939
59e276a
525e18b
cc7cb90
cue help help
in favor ofcue help
by @mvdan in859f1f6
b095ecb
b44f02f
3eafda7
ac34157
4111b3e
63d1318
1795a49
b44ef61
95035da
8a6194a
475f692
08b1ce0
1376fa8
2785aa4
8fdc65e
9bd3e17
da2a575
b423a27
e09cb31
v0.9.2
Compare Source
This release includes a fix for a regression around CUE files without a package name, and updates the compiled-in language version to match the actual tagged version v0.9.2.
CL 1196785 fixes the
cue/load
logic to correctly take CUE files with out a package name into account (issue #3244).Full list of changes since d8742c13dce6f5f02ff67740da2efe1f94a2ed0e
a02ef5a
f7e7c33
bbbfea0
v0.9.1
Compare Source
This release includes a few fixes, mainly relating to
CUE_EXPERIMENT=modules
being enabled by default in v0.9.0.Modules
CLs 1196176 and 1196180 allow using and developing a module whose
cue.mod/module.cue
lacks a major version suffix like@v0
, as adding one may break older CUE versions withoutCUE_EXPERIMENT=modules
.CL 1196156 adds a
cue/load.Config.AcceptLegacyModules
option to allow loading CUE modules without alanguage.version
field, given that the field was only introduced in v0.8.0.CL 1196178 fixes a regression where loading a package with the
cue/load.Config.Package
option set was no longer working as expected.As a reminder, we are maintaining an FAQ page which should help modules users with the upgrade to v0.9.
Builtins
CL 1195888 fixes the
path.Match
API so that it can actually take the three parameters it expects.v0.9.0
Compare Source
This release includes major changes to Modules and the Evaluator, as well as many other fixes and improvements. A special thanks to Noam Dolovich for numerous contributions to this release!
Modules
Following the Modules proposal v3 being accepted, the modules experiment is now enabled by default in this release. It should no longer be necessary to set
CUE_EXPERIMENT=modules
, andCUE_EXPERIMENT=modules=0
can be used to disable the experiment. We are not aware of any significant regressions, so please file a bug if you find one.We have published an FAQ page which should help modules users with the upgrade to v0.9. We will add to this page over the coming weeks to ease the transition into the "new" modules mode.
This release also includes experimental support for the CUE Central Registry at https://registry.cue.works. We have added a
cue login
command to log into the Central Registry via a GitHub account, and other commands know how to use these credentials when talking to the registry.To get started with the Central Registry, we have published a tutorial on working with modules and the central registry as well. We will share more details about the Central Registry and support for other login mechanisms in the future. For now, we are looking to get early feedback.
The CUE schema for
cue.mod/module.cue
is now dictated by the declaredlanguage.version
value, which is now mandatory. This allows us to change or tighten the schema with future CUE versions without breaking existing users. Use the newcue mod fix
command to add the field.cue mod publish
now requiressource
to publish a module, as described in Proposal 3017. Thecue mod init --source
flag is added to create a new module with this field.cue mod publish
now includes VCS metadata in published module versions, as described in Proposal 3057.The
cue mod fix
command is added, which allows fixing up oldcue.mod/module.cue
files; seecue help mod fix
.The
cue mod edit
command is added, which allows some automatic editing ofcue.mod/module.cue
from the command line; seecue help mod edit
.CL 1193289 teaches
$CUE_REGISTRY
about a specialnone
registry, causing any matching modules to refuse to fetch or resolve.CL 1195546 teaches
cue mod publish
to include aLICENSE
file from the VCS repository root if the CUE module subdirectory has none.CL 1194090 adds the
--dryrun
,--json
, and--out
flags tocue mod publish
to inspect what would be published as part of a module version.CL 1194106 adds the
cue mod resolve
command to show how a module path resolves to a registry in the form of an OCI reference.CL 1185280 adds
cue help modules
as a high-level overview of CUE modules.CL 1194669 restricts the parsing of
cue.mod/module.cue
files to data-only mode, forbidding any references or comprehensions which may breakcue mod
commands or cause other issues.As a reminder, the ongoing and planned work can be seen in the Modules Roadmap.
Evaluator
The new evaluator can now be enabled in the command line via
CUE_EXPERIMENT=evalv3
, and in the Go API viacuecontext.EvaluatorVersion(cuecontext.EvalV3)
. The new evaluator already includes a new disjunction algorithm as well as initial structure sharing support; note that structure sharing can be disabled withCUE_DEBUG=sharing=false
.The work is not yet complete, and some known bugs remain, but over 95% of the existing tests are passing and the performance already looks promising. Work on this new evaluator will continue during the next release cycle. We will only turn on the new evaluator by default once we are reasonably confident that there are no significant regressions.
CL 1185458 ensures we detect permanent errors for undefined fields earlier, necessary for the permanent errors fix in
tools/flow
below.Subscribe to the Performance umbrella issue for updates, and see the Evaluator Roadmap project for the planned work ahead.
Encodings
The Encodings project was kicked off at a recent CUE Community Update call. As part of this, we now have an
#encodings
channel on Slack and Discord, as well as an Encodings Roadmap project on GitHub where the ongoing and planned work can be seen.In this release, the new YAML decoder is available in experimental form and enabled by default, given that all of our tests are already passing. You can disable it via
CUE_EXPERIMENT=yamlv3decoder=0
. The old YAML decoder will be removed in a future release once we're reasonably confident that no significant regressions are present.CLs 1193257, 1193394, 1193576, and 1193577 greatly speed up
internal/filetypes
, used when loading files from disk incue/load
or when encoding/decoding files incmd/cue
.CL 1193678 teaches
cue/load
to cache loading files from directories, which avoids repeated work when loading parent directories to form instances.The changes above, plus
cue.Value.IsNull
below, should result in a significant speed-up forcmd/cue
as well ascue/load
when loading many CUE packages or directories. For example, on the main CUE repository,cue fmt ./...
went from ~14s to ~0.1s, andcue vet ./...
went from ~5s to ~2s.CL 1193639 teaches
internal/filetypes
to only load its embedded CUE on first use, allowing any Go programs to skip the ~6ms load time until the first call to acue/load
API, if any.CL 1195047 fixes the decoding of YAML 1.1 octal numbers so that they no lon
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.