Sitelet https://github.com/cue-lang/cue/tags
Skip to content

Tags: cue-lang/cue

Tags

v0.18.0-alpha.2

Toggle v0.18.0-alpha.2's commit message
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

v0.0.0-goreleaser.202609101448

Toggle v0.0.0-goreleaser.202609101448's commit message
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

v0.18.0-alpha.1

Toggle v0.18.0-alpha.1's commit message
.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>

v0.17.1

Toggle v0.17.1's commit message
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>

v0.17.0

Toggle v0.17.0's commit message
[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>

v0.17.0-rc.1

Toggle v0.17.0-rc.1's commit message
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>

v0.18.0-0.dev

Toggle v0.18.0-0.dev's commit message
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>

v0.17.0-alpha.3

Toggle v0.17.0-alpha.3's commit message
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>

v0.17.0-alpha.2

Toggle v0.17.0-alpha.2's commit message
.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>

v0.17.0-alpha.1

Toggle v0.17.0-alpha.1's commit message
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>