-
Notifications
You must be signed in to change notification settings - Fork 54
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
chore(deps): update module cuelang.org/go to v0.9.2 #246
Conversation
b36e0d8
to
48913e0
Compare
See #202 |
96e5dba
to
7795a4e
Compare
7795a4e
to
f34a600
Compare
f34a600
to
2a17cf5
Compare
1032b63
to
9b827e5
Compare
9b827e5
to
781c221
Compare
eaa9f9c
to
ab9878a
Compare
dd09bca
to
564629d
Compare
9aec40f
to
4c90fe5
Compare
4c90fe5
to
d1b575a
Compare
d1b575a
to
82f792f
Compare
82f792f
to
cca8156
Compare
cca8156
to
5a61910
Compare
5a61910
to
e147d6f
Compare
036b019
to
c705754
Compare
The breaking changes in cuelang would render existing configurations invalid. |
c705754
to
0509e3e
Compare
Renovate Ignore NotificationBecause you closed this PR without merging, Renovate will ignore this update ( If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR. |
This PR contains the following updates:
v0.0.15
->v0.9.2
Release Notes
cue-lang/cue (cuelang.org/go)
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 longer result in invalid CUE literals.
cmd/cue
CL 1189314 adds a
cue fmt --check
flag to list badly formatted files rather than modifying them directly.CL 1193778 adds a
cue fmt --diff
flag which displays diffs instead of updating files.CL 1193962 adds a
cue fmt --files
flag to interpret the arguments as file paths to walk and recursively format rather than package patterns.CL 1192180 speeds up
cue fmt
by ensuring that it only processes each CUE file once, rather than formatting files from parent directories as well.CL 1185356 tweaks
cue/load
so thatcue fmt
is able to format CUE files given directly as arguments even when they belong to different packages.CL 1193702 ensures that
cue get go
always generates CUE code from Gotime.Duration
types and values in a way that is fully compatible with Go'sencoding/json
library.CL 1193386 fixes
cue fmt --simplify
to no longer break complex labels by unquoting string literals within them.CL 1193934 improves
cue fmt
so that it does not write to files on disk which are already well formatted.CL 1194247 tweaks
cue help
so that it correctly fails when given unknown help topics or commands.CL 1185473 deprecates the short-form
cue somecmd
in favor ofcue cmd somecmd
, as the former caused a number of bugs and slowness when working out which subcommand to execute.Go API
CL 1193405 adds a
cue.Value.IsNull
method to mirrorcue.Value.Null
without constructing error values, makingcue.Value.Decode
faster in many scenarios, including its use incue/load
viainternal/filetypes
.CL 1191227 adds a
cue/token.File.Lines
getter method, much likego/token.File.Lines
was added in Go 1.21.CL 1193030 ensures that
cue/load.Instances
always returns instances in a deterministic order, in particular when multiple instances share the same directory.CL 1194421 fixes a memory leak where using
load.Instances
to load CUE modules would increase the size of a globalcue.Context
until the process was terminated.CL 1187452 teaches
tools/flow
to fail when a task encounters a permanent error, which were being ignored before.CL 1191226 teaches
cue/literal.ParseNum
to support both positive and negative signs for consistency.CL 1194410 fixes
cue/load
so that it errors on empty string arguments once again.CL 1193515 fixes an edge case where
cue/format
would vertically align fields at different struct levels.CL 1193585 fixes a bug where
cue/format
would print trailing commas for list elements after any inline comments, causing broken syntax.CL 1193759 teaches
cue/format
to collapse empty lists and structs to a single line for consistent formatting.CL 1185361 deprecates
cue/load.Config.StdRoot
, which has not worked as advertised for some time.CL 1185684 removes the last remaining bits of API which supported quoted identifiers, which had already been deprecated and largely unsupported for years.
Builtins
CL 1193242 teaches
encoding/yaml.Unmarshal
to reject trailing input, just likeencoding/json.Unmarshal
already did.CL 1184631 fixes using
math.MultipleOf
as a validator function.CL 1193690 fixes
math.MultipleOf
as it had an incorrect implementation which could easily return bad results.CL 1194165 fixes invalid builtin calls so that they correctly result in a "bottom" error.
CL 1194515 fixes
structs.MinFields
andstructs.MaxFields
to ignore optional fields, matching the documented behavior.Full list of changes since v0.8.0
889da91
cue mod fix
whenlanguage.version
is missing by @mvdan ina229224
2cc2c44
d3c72bf
604c577
4c87ab8
c372c04
b053780
2eab1b7
b6278c4
cue mod publish
on a non-tidy module by @mvdan in0c3a848
f23bb9f
ba0047e
3c5d18e
dd4e28e
8f9fa68
cue mod tidy
when --check says "not tidy" by @mvdan in245837e
ebf7dca
753536f
6bbbb9c
19e990d
570b83b
10e9cf1
74ec639
a3b1138
1ea6c49
7490a3d
0a1900c
26db19b
73a1c2d
b03dd62
help environment
to be more explicit by @mvdan in3e19519
a917c57
6cd7bbf
70832e6
21ae0ad
d94b670
4cdaa5d
55b5122
7ab8002
a5e77fe
32de475
40898fe
9e1ffaa
f3b22ba
bc40b03
58cfc7c
02eb538
3505253
a7c3e38
0b4d17a
6661949
b71b72d
9c800db
1a58708
9d3eae5
b88cfcf
d187b40
8192239
927c503
4fe848d
c41955b
9394167
fca1bcc
2adcaa6
a6a7002
3ce48c0
a90aec5
7451967
4900cfc
7d49080
7d93bcc
c0d6193
3818528
97bf1a6
51cd5ca
27689d2
05453ff
46feda5
c3dc2f2
11cbcd3
078020b
27a0190
3588e1a
96f16f0
fa64c62
1ad8c52
4a27795
b57a20a
ac35a40
f513a17
0b70e5b
4575558
1dee146
1591fd8
ef3c0c5
6804717
612837a
e888508
443106f
a8693a0
21a5c8b
a861376
eacde77
abd5778
adf84fd
5472c4b
c789d3e
97695d0
e801994
43da0b0
7248da6
e775398
afe322d
4ae7530
b3006ad
84fe1b9
1dcd350
690add3
e9bf33c
64baa18
185426f
efd38e6
645d586
22b8c74
336a991
07d485c
5f8930a
a49ee92
9a0cae9
64bbf1b
b83ae37
6c5f6e7
a246bdd
00a747c
bf75699
a169ae2
a35caed
a7bdc24
cf3cf2f
d5802f6
3977e0c
22d5530
fbe004d
fdebcd9
91eec1b
72319e4
65ed76d
a651ed4
68efe82
9518dae
a8ec4b7
d281a75
495feee
4ed59e7
bd9e49f
91223e3
9efad90
576a3ed
4c60191
a080c35
c023c4a
76f656a
cd43871
f0cd02b
5e9aa4e
3ebadf1
7614463
b3a7fea
0bf573f
9ecd7a0
c445c7d
51209a5
e284eef
af36efd
1be0b0f
dff77a6
fc7d3f3
926f060
a983b19
4706840
b5321de
f418fc3
3f52195
78e9e12
9d3d545
e5f8e0e
cb2410c
1e843cb
6d50092
7e0fbec
b2dd75a
612f1ae
21b0039
7dd29f1
8935df9
1259cf9
d3ed229
aa42655
759f26e
d9c5ae0
f9c2de9
6132343
59a0d3c
bc3e24c
6e48c0d
82bcda5
b6a2637
71220e6
fa3bf5f
05640c2
fd64550
30f7d28
caa1e98
2f90f54
d696e44
bf733fb
72ba528
9cf30f1
4a8a873
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 becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate. View repository job log here.