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.11.0 #425

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Aug 15, 2024

This PR contains the following updates:

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

Release Notes

cue-lang/cue (cuelang.org/go)

v0.11.0

Compare Source

This release includes the new matchN and matchIf validators, many fixes to evalv3 including a new cycle algorithm, a new experimental toposort field ordering, and many improvements to JSON Schema support.

Changes which may break some users are marked below with: ⚠️

Evaluator

A number of crashes, regressions, and other bugs have been fixed in the new evaluator, which can be enabled by CUE_EXPERIMENT=evalv3. Thanks to all who have tested the new evaluator and reported bugs!

CL 1201897 lands a new cycle algorithm in CUE_EXPERIMENT=evalv3, which is much simpler than the old algorithm and is needed to unlock further bug fixes and performance improvements.

CL 1198922 adds a new matchN built-in validator, necessary implement a host of validators such as the JSON Schema equivalents of not, oneOf, and anyOf. See the new how-to guide for it.

CL 1200942 adds a new matchIf builtin, similar to matchN, which makes it significantly easier to implement the if, then, and else keywords in JSON Schema.

CL 1202685 tweaks cuecontext.New to follow CUE_EVALUATOR=evalv3 when the cuecontext.EvaluatorVersion option is not used.

CLs 1202903, 1203264, 1203267, and 1203528 fix a number of bugs where CUE_EXPERIMENT=embed was not working as described in the proposed design.

CL 1199898 relaxes the evaluator to allow referencing required fields via selectors, rather than failing like we do with optional fields. This should help with the transition of CUE schemas from regular to required fields, such as those decoded from JSON Schema.

⚠️ CL 1200221 removes support for arithmetic operators on lists, and CL 1200221 teaches cue fix to rewrite most of them. We have added a doc page with more details and examples.

CL 1202746 teaches CUE_STATS_FILE to start reporting the evaluator version being used, which is useful information when looking at performance stats.

Field ordering

A new experiment is introduced via CUE_EXPERIMENT=toposort which enables a more principled ordering of CUE fields as produced by cue export and cue eval. The intention is to ensure the old and new evaluators order fields of structs in the same way, in order to build confidence and ease the transition to the new evaluator. There are still a few wrinkles to work out, and the question of iteration order in comprehensions over structs remains to be tackled. An issue for gathering feedback is available.

Modules

⚠️ CL 1199541 wraps up the CUE modules experiment by dropping support for CUE_EXPERIMENT=modules=0, now that the new mode has been the default since CUE v0.9.0, and we are not aware of any remaining regressions.

CL 1201522 fixes a bug where imports did not work properly when using cue/load.Config.Package = "*".

Go API

⚠️ CL 1203193 adds a new experiment via CUE_EXPERIMENT=decodeint64 which causes cue.Value.Decode to default to int64 rather than int when decoding CUE integer values. This ensures consistent behavior with 32-bit architectures.

⚠️ CL 1203192 tweaks the signature of cue.Index so that it accepts int64 as well as int for consistency with 32-bit architectures.

CL 1202744 tweaks cuecontext.EvalVersion so that the zero value is not a valid evaluator version, as that could lead to unintentional behavior.

⚠️ CL 1202244 tweaks the cue.Value API to consider open lists as concrete, aligning with the spec.

⚠️ CLs 1201768, 1201933, 1201934, 1201936, and 120193 remove pieces of the encoding/openapi Go API which have been deprecated for some time and already have reasonable alternatives available.

⚠️ CL 1201962 removes fields from cue/build.Instance and cue/load.Config which have been deprecated and unused for some time.

⚠️ CL 1201963 removes APIs from encoding/json and encoding/yaml which have been deprecated for some time and already have reasonable alternatives available.

⚠️ CLs 1202285 and 1202286 remove the cue.Value.Subsumes and cue.Value.Split methods, which have been deprecated and hidden for years.

CL 1200507 deprecates astutil.Cursor.Import, which is now superseded by astutil.Sanitize.

Encodings

A significant amount of work has gone into improving JSON Schema support, fixing many bugs and producing better CUE output, as well as leveraging the new matchN and matchIf builtins. While this work is still in progress, we already expect an overall improvement compared to v0.10.0. This work will also form the basis for CUE modules for well-known services that will be published to the Central Registry.

The TOML support first released in v0.10.0 is further polished by decoding CUE nodes with positions as well as adding support for TOML dates and times.

⚠️ CL 1199541 wraps up the new YAML decoder experiment by dropping support for CUE_EXPERIMENT=yamlv3decoder=0, allowing the 8400 lines of code in internal/third_party/yaml to be removed.

CL 1200901 improves filetype tags, as described by cue help inputs, so that unknown tag=value pairs cause failures, and invalid pair combinations aren't silently ignored.

CLs 1200899 and 1200924 split JSON Schema's strictness option into StrictFeatures and StrictKeywords which allows erroring when unimplemented features are used, but not when unknown keywords are used. --strict is also superseded by jsonschema+strict:.

CL 1201111 teaches default filetype tags to be applied in the default auto interpretation mode as well.

CL 1201113 adds the StrictFeatures and StrictKeywords options to OpenAPI, mirroring the options added to JSON Schema.

CL 1201910 allows configuring how encoding/jsonschema maps URLs to values within a package.

CL 1201935 refactors encoding/openapi so that it can directly use the existing CUE value encoder for JSON, rather than a parallel encoder of CUE syntax trees to JSON which had to be maintained separately.

CLs 1201807, 1201808, 1201824, and 1201826 improve the performance of encoding CUE values to JSON, resulting in as much as a 10x improvement in wall time and memory usage for deeply nested CUE values.

Builtins

CL 1201474 adds a new encoding/toml package with Marshal and Unmarshal APIs, following the addition of TOML support in v0.10.0.

CL 1202104 adds the net.URL and net.AbsURL validators, needed by JSON Schema.

⚠️ CL 1201115 removes strconv.ParseComplex, which never worked in any past CUE release and does not seem like an useful API to have in its current form.

CL 1194425 tweaks the yaml.Validate and json.Validate functions to allow non-concrete CUE values as schema parameters.

CL 1199602 adds a list.MatchN function, surfacing the matchN built-in validator for use in the JSON Schema decoder.

⚠️ CL 1199881 tweaks uuid.Valid so that it is consistent with uuid.Parse in terms of what UUID formats are accepted.

cmd/cue

⚠️ CL 1203289 moves cuepls to cue lsp, enabling users to install one binary rather than two, and avoiding potential version discrepancies.

⚠️ CL 1199634 drops support for the deprecated short form of cue cmd; users of cue foo should now call cue cmd foo.

CL 1204223 adds a cue login --token flag to log into a CUE registry with a token which was generated via the web interface or API, for use in automated environments like CI.

CL 1200351 fixes a bug in cue fix where it would not operate on directories with multiple packages.

CL 1200498 fixes a bug in cue fix where added imports would end up with mangled names.

CL 1200554 teaches cue fix to work on standard input and output, like other sub-commands.

CL 1201709 fixes a minor regression introduced in CUE v0.9.0 where cue help cmd mycmd ./mypkg stopped showing a valid command's help text.

Full list of changes since v0.10.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 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.


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

This PR was generated by Mend Renovate. View the repository job log.

Copy link
Contributor Author

renovate bot commented Aug 15, 2024

ℹ Artifact update notice

File name: go.mod

In order to perform the update(s) described in the table above, Renovate ran the go get command, which resulted in the following additional change(s):

  • 4 additional dependencies were updated
  • The go directive was updated for compatibility reasons

Details:

Package Change
go 1.22 -> 1.22.0
golang.org/x/crypto v0.25.0 -> v0.28.0
golang.org/x/net v0.27.0 -> v0.30.0
golang.org/x/sys v0.22.0 -> v0.26.0
golang.org/x/text v0.16.0 -> v0.19.0

@carstendietrich
Copy link
Member

breaking change, see #202

@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from c938f0e to 609ff31 Compare August 22, 2024 13:07
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 6 times, most recently from 964b9dc to fef520a Compare September 5, 2024 13:13
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 6 times, most recently from 246d0bc to 2d35a3f Compare September 19, 2024 13:43
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 4 times, most recently from 6d9fd8e to 282b448 Compare September 30, 2024 08:55
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from 282b448 to f89cd61 Compare October 22, 2024 15:37
@renovate renovate bot changed the title chore(deps): update module cuelang.org/go to v0.10.0 chore(deps): update module cuelang.org/go to v0.10.1 Oct 22, 2024
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 3 times, most recently from 6db8ad3 to 9d65d74 Compare October 31, 2024 13:56
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from 9d65d74 to 6424175 Compare November 19, 2024 19:49
@renovate renovate bot changed the title chore(deps): update module cuelang.org/go to v0.10.1 chore(deps): update module cuelang.org/go to v0.11.0 Nov 19, 2024
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch 2 times, most recently from a3c12fd to 0b494a7 Compare November 28, 2024 14:11
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from 0b494a7 to 9ea627b Compare November 28, 2024 14:32
@renovate renovate bot force-pushed the renovate/cuelang.org-go-0.x branch from 9ea627b to ff636bd Compare November 28, 2024 14:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant