Tags: cue-lang/cue
Tags
cmd/cue: honor --path in eval and def as well as export The --path/-l flag placed a CUE value at a path in export only. The eval and def commands accepted the flag but silently ignored it, unless the inputs happened to include orphan data files, which placeOrphans wraps on their behalf. Wrap the value with placeValue in both commands, as export already does, so that one flag means one thing across the three. Wrapping replaces the top level, so the package clause of the input no longer applies and def stops emitting one; --package names a package for the placed result. Signed-off-by: Daniel Martí <mvdan@mvdan.cc> Change-Id: I425f751da174d87a03db442f20baec80bf8c5442 GitOrigin-RevId: e7c3b7a4e965a04743dc47fbb457a5a1c0540c8a
internal/ci/goreleaser: make the release configuration self-contained Name cue-lang/cue as the release repository rather than letting goreleaser infer it from the checkout's git remote, so a release lands in the same place wherever the build runs. Drop the dependency on the internal CI package, whose only use here was the "v" release tag prefix; the package is not published, so the configuration could not be evaluated on its own. Signed-off-by: Daniel Martí <mvdan@mvdan.cc> Change-Id: I93727b07a06459601ffc50d93fe2eebf6979c4d6 GitOrigin-RevId: 6e530a06b2b0cca53f499d80323ff5b3fbf5e7fe
.claude: refine the release-notes skill after drafting v0.18.0-alpha.1 Drafting the v0.18.0-alpha.1 notes surfaced a number of gaps in the skill's guidance. Encode the resulting decisions: Add a Modules top-level section covering modules and package loading, and state that encodings work belongs in Encodings even when the change is surfaced through the CLI. Pre-release notes should not frame the release as leading up to the final one, and should not mention or re-announce changes that already shipped in a patch release of the previous minor. Similarly, never attribute a regression to a past patch release, as the fix may yet be backported in a further patch. Mentions of a specific past release link to its GitHub release page, and statements scoped to the release being drafted name the feature release series explicitly, as in "for v0.18", rather than saying "this release". Experiments first appearing in a release are introduced as new even when enabled by default; the "now enabled by default" phrasing is reserved for experiments that shipped in a past release. Finally, avoid subsections holding a single short paragraph. Assisted-by: Claude Code (claude-fable-5) Signed-off-by: Daniel Martí <mvdan@mvdan.cc> Change-Id: I999283b9594c27335ae2c980f659a6d042b161c4 Reviewed-on: https://cue.gerrithub.io/c/cue-lang/cue/+/1244505 TryBot-Result: CUEcueckoo <cueckoo@cuelang.org> Reviewed-by: Roger Peppe <rogpeppe@gmail.com> Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com>
internal/cueversion: bump for v0.17.1 Signed-off-by: Daniel Martí <mvdan@mvdan.cc> Change-Id: Iecc315da40d493fa2b4b3829a1752f7529ec01b3 Reviewed-on: https://cue.gerrithub.io/c/cue-lang/cue/+/1242195 Reviewed-by: Roger Peppe <rogpeppe@gmail.com> TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
[release-branch.v0.17] internal/mod: resolve module replacements via … …minimum-version selection A module-version replace directive previously pinned the replacement target to a full version, which bypassed minimum-version selection. When another dependency required a higher version of the same target module, the build ended up using two versions of the target's code: the replacement saw the pinned version while the direct dependency saw the version it required. Make a module-version replace directive name only the major version of the target (for example "example.com/target@v0"), with the target listed as an ordinary dependency. The concrete version is then taken from that dependency entry, so the replacement is subject to minimum-version selection like any other dependency and a single, consistent version of the target is used throughout the build. A full version is still accepted as input for convenience, but cue mod tidy normalizes it to the bare major version and records the target as a dependency, auto-adding it (and seeding its version from the published view) when necessary. A bare module path is also accepted when the target has a default major version. Strict (published) module files continue to reject replace directives entirely. The reverse import-path rewriting that keeps a replacement module's internal self-references unified with the original module's identity now applies only to packages served via the replacement, so a third party that depends on the target module directly continues to see it under its own path rather than the original's. Signed-off-by: Roger Peppe <rogpeppe@gmail.com> Reviewed-on: https://cue.gerrithub.io/c/cue-lang/cue/+/1238932 Change-Id: Ie865dd8109bdef01b85ffac640a8f239c660b2e1 Reviewed-on: https://cue.gerrithub.io/c/cue-lang/cue/+/1240024 Reviewed-by: Daniel Martí <mvdan@mvdan.cc> TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
cue/format: revert #4296 regression test Reverts https://cuelang.org/cl/1233351. No conflicts. Signed-off-by: Daniel Martí <mvdan@mvdan.cc> Change-Id: Ib082f9744b222047adc553b34e4d6082c9c42deb Reviewed-on: https://cue.gerrithub.io/c/cue-lang/cue/+/1239826 Reviewed-by: Matthew Sackman <matthew@cue.works> TryBot-Result: CUEcueckoo <cueckoo@cuelang.org>
internal/cueversion: bump for the upcoming v0.18 release cycle Signed-off-by: Daniel Martí <mvdan@mvdan.cc> Change-Id: Ie6b719bc3aeb86b45db3a7c2f6e3226b452e60ef Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1239016 Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com> TryBot-Result: CUEcueckoo <cueckoo@cuelang.org> Reviewed-by: Matthew Sackman <matthew@cue.works>
cmd/cue: reject non-string label values for --path resolveLabels accepted both string and integer results from a --path/-l expression, but an integer label is meaningless when placing a value into a struct: it ends up indexing the interned string table, producing a garbage label or a panic. Only accept string results, so a non-string label now reports the existing "error evaluating label" diagnostic instead. Fixes #3384 Signed-off-by: Daniel Martí <mvdan@mvdan.cc> Change-Id: I98e649c182eb71cdc7d04518fcf7c33c76a203ec Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1238759 Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com> TryBot-Result: CUEcueckoo <cueckoo@cuelang.org> Reviewed-by: Paul Jolly <paul@myitcv.io>
.claude: add a skill to draft release notes from a commit log This is not perfect, but it's good enough where it gave me an initial draft for v0.17.0-alpha.2 which was 80% of the way there. I still adjust the wording and what's included or not, but most of the work to piece together the noteworthy changes is now automated for me. Signed-off-by: Daniel Martí <mvdan@mvdan.cc> Change-Id: Ia1e144a5f15646e809798aa3c7bbf3aa2d929454 Reviewed-on: https://review.gerrithub.io/c/cue-lang/cue/+/1238431 Reviewed-by: Paul Jolly <paul@myitcv.io> TryBot-Result: CUEcueckoo <cueckoo@cuelang.org> Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com>
internal/ci: bump Go and goreleaser versions for v0.17.0-alpha.1 Signed-off-by: Daniel Martí <mvdan@mvdan.cc> Change-Id: I6e279213c7e9bff4af7f56fc64f74f1f08b99a4b Reviewed-on: https://cue.gerrithub.io/c/cue-lang/cue/+/1236764 TryBot-Result: CUEcueckoo <cueckoo@cuelang.org> Unity-Result: CUE porcuepine <cue.porcuepine@gmail.com> Reviewed-by: Roger Peppe <rogpeppe@gmail.com>
PreviousNext