Skip to content
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

Closed
wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 17, 2022

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
cuelang.org/go v0.0.15 -> v0.9.2 age adoption passing confidence

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

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 without CUE_EXPERIMENT=modules.

CL 1196156 adds a cue/load.Config.AcceptLegacyModules option to allow loading CUE modules without a language.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, and CUE_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 declared language.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 new cue mod fix command to add the field.

cue mod publish now requires source to publish a module, as described in Proposal 3017. The cue 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 old cue.mod/module.cue files; see cue help mod fix.

The cue mod edit command is added, which allows some automatic editing of cue.mod/module.cue from the command line; see cue help mod edit.

CL 1193289 teaches $CUE_REGISTRY about a special none registry, causing any matching modules to refuse to fetch or resolve.

CL 1195546 teaches cue mod publish to include a LICENSE file from the VCS repository root if the CUE module subdirectory has none.

CL 1194090 adds the --dryrun, --json, and --out flags to cue 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 break cue 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 via cuecontext.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 with CUE_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 in cue/load or when encoding/decoding files in cmd/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 for cmd/cue as well as cue/load when loading many CUE packages or directories. For example, on the main CUE repository, cue fmt ./... went from ~14s to ~0.1s, and cue 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 a cue/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 that cue 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 Go time.Duration types and values in a way that is fully compatible with Go's encoding/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 of cue 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 mirror cue.Value.Null without constructing error values, making cue.Value.Decode faster in many scenarios, including its use in cue/load via internal/filetypes.

CL 1191227 adds a cue/token.File.Lines getter method, much like go/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 global cue.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 like encoding/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 and structs.MaxFields to ignore optional fields, matching the documented behavior.

Full list of changes since v0.8.0

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.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@bastianccm bastianccm added blocked needs-tests code not covered by tests labels May 17, 2022
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 8 times, most recently from b36e0d8 to 48913e0 Compare May 18, 2022 09:32
@bastianccm
Copy link
Contributor

See #202

@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 6 times, most recently from 96e5dba to 7795a4e Compare May 19, 2022 11:31
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from 7795a4e to f34a600 Compare June 14, 2022 07:16
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from f34a600 to 2a17cf5 Compare July 4, 2022 13:25
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 4 times, most recently from 1032b63 to 9b827e5 Compare July 14, 2022 13:15
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from 9b827e5 to 781c221 Compare August 25, 2022 13:07
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 4 times, most recently from eaa9f9c to ab9878a Compare October 13, 2022 18:58
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 2 times, most recently from dd09bca to 564629d Compare October 26, 2022 11:22
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 2 times, most recently from 9aec40f to 4c90fe5 Compare May 2, 2024 08:26
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from 4c90fe5 to d1b575a Compare May 16, 2024 13:07
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from d1b575a to 82f792f Compare June 6, 2024 12:09
@renovate renovate bot changed the title chore(deps): update module cuelang.org/go to v0.8.2 chore(deps): update module cuelang.org/go to v0.9.0 Jun 6, 2024
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from 82f792f to cca8156 Compare June 13, 2024 20:56
@renovate renovate bot changed the title chore(deps): update module cuelang.org/go to v0.9.0 chore(deps): update module cuelang.org/go to v0.9.1 Jun 13, 2024
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from cca8156 to 5a61910 Compare June 26, 2024 16:49
@renovate renovate bot changed the title chore(deps): update module cuelang.org/go to v0.9.1 chore(deps): update module cuelang.org/go to v0.9.2 Jun 26, 2024
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from 5a61910 to e147d6f Compare June 27, 2024 13:06
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 11 times, most recently from 036b019 to c705754 Compare July 18, 2024 08:12
@tessig tessig added dependencies Pull requests that update a dependency file and removed needs-tests code not covered by tests labels Jul 18, 2024
@tessig tessig added this to the v4 milestone Jul 18, 2024
@tessig
Copy link
Member

tessig commented Jul 18, 2024

The breaking changes in cuelang would render existing configurations invalid.
We can not update cue in v3.

@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from c705754 to 0509e3e Compare July 18, 2024 08:32
@tessig tessig closed this Jul 18, 2024
Copy link
Contributor Author

renovate bot commented Jul 18, 2024

Renovate Ignore Notification

Because you closed this PR without merging, Renovate will ignore this update (v0.9.2). You will get a PR once a newer version is released. To ignore this dependency forever, add it to the ignoreDeps array of your Renovate config.

If you accidentally closed this PR, or if you changed your mind: rename this PR to get a fresh replacement PR.

@renovate renovate bot deleted the renovate/cuelang.org-go-0.x branch July 18, 2024 08:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
blocked dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants