github cue-lang/cue v0.18.0-alpha.2

pre-release5 hours ago

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

Language

As a reminder, the try experiment and the shortcircuit experiment introduced in v0.17.0 are both still ongoing. Please give them a try and report any issues or feedback!

⚠️ Strict embedding and the ... operator

The explicitopen experiment, ongoing since v0.15.0, is now stable: from language version v0.18.0 on, embedding is strict and needs no opt-in. A struct which embeds a closed value is now closed to that value's fields, where before the embedding constrained only itself and left its sibling fields alone, and a comprehension's conjunct closes its struct just like any other conjunct. The new postfix ... operator opens an embedded value again, so #A... embeds #A without closing the struct around it.

#A: {a: int}

x: {
	#A     // x is now closed to #A's fields
	b: 1   // error: field not allowed
}
y: {
	#A...  // spread leaves y open
	b: 1
}

Migrate a module by running cue fix --exp=explicitopen while it is still at an older language version, and only then raise language.version in cue.mod/module.cue: a file at v0.18.0 or later has no way back, as an @experiment attribute can only enable an experiment. See the how-to guide and the proposal for the full design.

⚠️ Postfix aliases and self

The aliasv2 experiment, also ongoing since v0.15.0, is now stable: from language version v0.18.0 on, the postfix alias syntax and the predeclared self identifier need no opt-in, and the old prefix syntax is no longer accepted.

x~(X):          {a: 1, b: X.a} // was x: X={a: 1, b: X.a}
[string]~(K,_): {name: K}      // was [K=string]: {name: K}

// A value alias becomes a let binding on self.
y: {
	let Y = self
	c: 2
	d: Y.c // was y: Y={c: 2, d: Y.c}
}

As above, run cue fix --exp=aliasv2 to rewrite the prefix form before the module moves to v0.18.0; cue fix --exp=explicitopen,aliasv2 applies both of this release's migrations in one pass. See the how-to guide and the proposal.

The new functions experiment

This release introduces the functions experiment, which adds function literals, function types, and calls to the language. A function literal declares its parameters, may constrain its result with ->, and defines its body after the final :; a call supplies arguments by position or by label. Functions are values: they unify with themselves and with function types, they capture the scope they are declared in, and they may be applied partially.

You can try this experiment on a module at language version v0.18.0 via the @experiment(functions) file attribute:

@experiment(functions)

add:   func(a: int, b: int) -> int: a + b
scale: func(x: int) -> int: x * 2
out:   add(1, scale(3)) // 7

A literal without a body denotes a function type, which constrains a function value in the same way a schema constrains a struct. See the proposal discussion for the full design, including parameter forms, contract labels, and partial application.

Evaluator

Fix a recursive disjunction wrapped in a struct dropping disjuncts and growing exponentially in cost (#4475), and a definition whose body compares the definition itself against _|_ overflowing the stack (#4176).

Further bugs causing spurious errors have been fixed: let bindings referring to their enclosing scope could still misresolve or fail as cyclic in some cases (#4474, #4478), and a struct literal embedding a self-referencing scalar reported a structural cycle (#4479). Thank you to all who reported these.

A comprehension now runs after the sibling conjuncts whose values it reads, rather than in declaration order, so a configuration which resolved only when its fields happened to be written in the right order now resolves either way (#4098).

== and != now compare integers and floats numerically wherever they appear, so {a: 1.0} == {a: 1} and [1.0] == [1] are true, matching how 1.0 == 1 already behaved at the top level (#4120). cue.Value.Equals and list.Contains change in the same way.

Error reporting is more precise in two further ways. An error about a field which was closed off by an earlier comprehension or reference cycle now points at the declaration responsible for it (#2615). Failing disjuncts which report different errors at the same position are no longer collapsed into one, so all of the reasons a disjunction failed are shown (#4477).

cmd/cue

cue cmd now unifies data files named on the command line with the loaded package, as the other commands do and as cue help inputs documents, so tool files can finally see that data (#4473).

-e expressions are now parsed and compiled at the language version of the module they are evaluated against, so they may use the features which are stable there, such as self to select a field whose name is not an identifier (#358, #4297).

tool/http.Do gains a timeout field and now aborts when its task is canceled (#4467), and tls.caCert accepts the CERTIFICATE PEM blocks which certificate authorities hand out rather than only PUBLIC KEY blocks, reporting an error instead of trusting nothing when it yields no certificates (#4468).

tool/http.Serve no longer crashes the whole cue cmd process on an out-of-range statusCode, and writes nothing until the entire response is known (#4465).

Modules

Each module's files are now parsed at the language version that module declares, rather than at the main module's version, so a module which has moved to v0.18.0 can still depend on packages written for an older version of CUE.

An HTTP failure from a module registry, such as a rate limit, is now reported as such instead of as an opaque decoding error (#3696).

A module version is now downloaded at most once per process, which avoids redundant fetches and the "Access is denied" failures seen on Windows when two fetches of the same version overlapped (#3413).

LSP server

Standard library imports now resolve, so strings, list, and the rest offer completion and hover like any other package, and builtin functions show their signature rather than an opaque _.

Organize Imports now groups imports the way goimports does, preserving the groups written in the source and sorting standard library imports ahead of module imports within each group, and leaves the buffer alone when it does not parse cleanly.

Doc comments are now surfaced on comprehensions, let declarations, embeddings, list elements, and call arguments, and completion no longer fires in places where no identifier can go, such as inside attributes and import specs.

The language server now also reloads the packages which import a module that has gone away, and fixes further panics and cache staleness bugs.

As always, the language server is under active development: please report any bugs or missing features you encounter via the Issue tracker or via the #lsp channels on Discord or Slack. See our Getting Started wiki page for instructions on how to set it up with your editor.

Encodings

The JSON Schema encoder gains two further generation improvements: list.MinItems for the minItems keyword, and positional item schemas encoded by index (#3485).

The JSON Schema decoder now gives every decoded constant the position it came from, so an error against one member of an enum points at that member rather than at the keyword (#4477).

Go API

The new cue/ast.Clone function copies a syntax tree, including its comments and its resolved references, so a tree can be rewritten without disturbing the original.

cue/format exposes the knobs of the new formatter: its new Indent, IndentWidth and LineWidth options control the indentation string, its visual width, and the target line width, and its new Compact option renders a value on a single line. UseSpaces and TabIndent are deprecated in favor of Indent and IndentWidth; go fix migrates uses of UseSpaces.

Inlining imports, via cue def --inline-imports or cue.InlineImports, now handles let declarations and values which have been unified or merged with data files, rather than emitting unresolved references (#2252, #2495, #3484).

A failed lookup of a hidden field now names the package scope it searched, and the scopes under which a field of that name does exist, instead of reporting it as simply absent (#2561).

Full list of changes since v0.18.0-alpha.1
  • cmd/cue: honor --path in eval and def as well as export by @mvdan in e7c3b7a4e965a04743dc47fbb457a5a1c0540c8a
  • cmd/cue: gather the --path flag tests into one script by @mvdan in 563de93aa29076d7e1bd7ecb0c1acc203c8a5c7d
  • internal/ci: build from scratch on dispatched runs too by @mvdan in 25a408377e58cc421300b375522fb8933c375359
  • internal/ci: run the nightly trybots on the release branch too by @mvdan in 5bccd234b05de065d480404dbc2584ae353465a3
  • internal/cueexperiment: remove spec change lines, add functions proposal by @mvdan in d8aace183f7f3d761b4a2f8dedc48e96c6413831
  • internal/ci: update to Go 1.27.1 and goreleaser v2.18.1 by @mvdan in 7166f7b3e780a4e5db4a8a1039e8b5df692785de
  • update dependencies by @mvdan in 6872921742801d2c0ed2dc228ac556159968dc15
  • .claude: publish drafted release notes to one shared artifact by @mvdan in e1e60a130b024d582cea32fb4a5da221be11ac74
  • cue/format: print defaults for function parameters by @mpvl in fc186c42760da7cf169827c78611bbcf2fc63f4c
  • internal/core/adt: carry parameter defaults on function signatures by @mpvl in 66c19a3c81fdc3a2fbbd7af1e274d6e9905d5998
  • cue: declare defaults for function parameters with = by @mpvl in 0066d632217d9a966d03db8738555ec72e4a46a1
  • specs/adknz: specify defaults for function parameters by @mpvl in b8bba8087069e60d901cb94dcdcce43c6f724624
  • Revert "doc/ref: specify experimental function literals, types, and calls" by @mvdan in 6d877bd1b3de12dd72fa26526ad857e0f96e0b33
  • adkmj: docs: cite the CL the regression was bisected to by @mpvl in 16cea1786b1a2a016c5c3954515d63dc6f055fe0
  • cue/load: load one instance per package regardless of import path spelling by @mpvl in 00a0a26268acef990c5f99199c9e0489ee0edbdb
  • cue/load: test loading one package via two import paths by @mpvl in 573be79272bd74eedcd40772e049cfc8c49f18bf
  • adkmj: docs: declare export-field-order by @mpvl in 1c1c6d9f03808bd94212881ce5b9437b41daeb76
  • cue/testdata: test calling a required field which is missing by @mvdan in 553d40047ace29cefa661a05ddc4f96579aff9e8
  • internal/core/adt: replay non-monotonic checks in their own cycle context by @mvdan in f31e492d6f47f1c55efa24cad5cd2032d76142a6
  • cmd/cue: add a regression test for issue 4176 by @mvdan in bdbb386794cffd220b4705e5eb6bc8058b370823
  • internal/ci: test with CUE_UPDATE=diff instead of a second run by @mvdan in 14ef61a294a526456bfd1d9e6a15d7e48f4bc69f
  • internal/cuetxtar: check generated test inputs under CUE_UPDATE=diff by @mvdan in eb0277f0ab8eb08e072954004a040e50e560d887
  • internal/cuetest: make CUE_UPDATE=diff a dry run of CUE_UPDATE=1 by @mvdan in ee70d1d38e28417eff28f81cabf6318afaf1917d
  • internal/core/adt: run a try body's own tasks when finalizing it by @mvdan in 495b0733e4491ae0af63a0190d76c65c17a47ecd
  • cue/testdata/comprehensions: cover try bodies evaluating optional siblings by @mvdan in 5f06d4baf8bf9115c48dc6d2d0fe06aa63db8ca5
  • internal/core/adt: keep the blocking queue intact under an outer unblock by @mvdan in f93219a864644403a3b78c5d3f98fe2e8e3fb98e
  • internal/core/adt: resolve ?-marked references through try body fields by @mvdan in d5d62b7af00339956be9257cc687bf4f6d4b7666
  • internal/core/adt: add regression test for try body field shadowing by @mvdan in 293be352d2fc8c23518fb23934d9b3e4cfccba1b
  • internal/ci: keep the release configuration out of the released tree by @mvdan in 1ee329a5a352707fe126ad83e73931dad7ba678a
  • private/internal/projection: leave published releases out of the report by @mvdan in e667f6b0b4df152adc75558b21a5885a18af72ea
  • private/projection: sanction the release configuration going private by @mvdan in 043479d3c74219667cb1c08bccaf7104f9b0ba52
  • internal/ci: build releases from this repository's configuration by @mvdan in 2730bdbf4bf5bc738a3ba482b8fdc0ad0ac251be
  • internal/core/adt: run comprehensions after sibling conjuncts they need by @mvdan in c00767b700312e64a6410cc190daed35cd3965a5
  • cue/testdata/comprehensions: cover comprehension declaration-order regressions by @mvdan in 88dd43eb59fd68a891564ecce744310147b23d0e
  • internal/ci: stop dispatching a re-test of cuelang.org by @mvdan in d41daf77c1744dd326fdca8e97bcff0d7f78796c
  • cue/load: map walked io/fs paths back to loader paths by @mvdan in 640ba24f555cab67f5433577a3a77ec02b64751d
  • cue/load: add regression test for issue 4480 by @mvdan in 52a92bf4af193c0886f6efd7ad09adb064347214
  • internal/ci: dispatch a release by version rather than at its tag by @mvdan in 060e87217a504fdf0cae169533f178bc9605ad99
  • internal/ci/goreleaser: take the release version from the environment by @mvdan in 446fe7b20c3efd182bcebe421f3b5ddec41060d2
  • private/projection: require a single maintainer approval by @mvdan in 9d6021af0c086f3e70caa08fae995e9c0d5768f4
  • private/projection: declare a goreleaser test tag on master by @mvdan in 9f42df5949a70a7244b0f0fd13d34db5bf4bb035
  • private/internal/projection: name release changes by Change-Id by @mvdan in fae16ef91b5c72ede5ea0a76fdf1fa33e465296d
  • .claude/skills/projection: name taggable commits and the branch argument by @mvdan in efe67874d1293cdc3789adba4d57c7931c727a57
  • private/internal/projection: mark tagged commits in the preview report by @mvdan in 65bb244a256ddb6f1bd5db55e83597bacddbd207
  • private/internal/projection: accept a remote-qualified branch name by @mvdan in bf6c34a65109845ab3c6a990d0f9f8c02f19399b
  • internal/ci: build releases and snapshots from the public projection by @mvdan in dfa6b3423cf0b971dd70d7e7cc7064b7dd8a8d17
  • private/internal/projection: publish into a local checkout of the target by @mvdan in 23a4200b17088b1d2b312747691f903c82af849f
  • internal/ci: trigger unity from the authoritative repository by @mvdan in 4f48517ecff576cc3a8e49af103774023eee7911
  • specs/adgp9/specify: document the current CI as a reference by @mvdan in 8d25ff8c21e9445db5a652917c90ed1516f86cb5
  • internal/ci: dispatch releases from the authoritative repository by @mvdan in 57f85be8aa35fac51c26811c125718f15ae3fed7
  • internal/ci/goreleaser: make the release configuration self-contained by @mvdan in 6e530a06b2b0cca53f499d80323ff5b3fbf5e7fe
  • private/internal/projection: publish release tags from declarations by @mvdan in 6954265c78c1e2fba9f27a92a2948d27b75ee12e
  • internal/ci: prune trybot dispatch branches after two hours by @mvdan in 6ee28f0cb41c67174238f9829316aa1deb33de47
  • internal/core/adt,cue: account for the exponent in integer conversions by @mvdan in 0e4f33099a190a337a9755296ce38f8852064ef4
  • internal/core/adt: test Num.BigInt on integers with an exponent by @mvdan in 1be152b2836ddbe3f39e645f293dd692df61cd8c
  • internal/core/convert: fix conversion of integral big.Rat values by @mvdan in d42f541b4723c95abaf011bb5b38fa3ce03d14a0
  • internal/core/convert,cue: test converting integral big.Rat values by @mvdan in 68be227879ca64d2cc8a114e3141c5fdcd41d0ca
  • internal/core/adt: do not treat an embed-only struct literal as a value by @mvdan in f96831bc8e16a7f0816817ef9435f41ffc7b8d6f
  • cue/testdata: test struct literals embedding a self-referencing scalar by @mvdan in fd5f77a787df9fe757a8e975a0320e8674ba09e5
  • internal/cuetxtar: honor the :todo qualifier on debugCheck by @mvdan in d653f980b46fadb052191610c50ae6d78f01f002
  • internal,internal/core/adt: remove unused decimal helpers by @mvdan in 9a118feb435510c260ca2783e79f3f8d00354686
  • internal/core/adt: point field freeze errors at their cause by @mvdan in d0176ae8f7926d3b30788743bbedcac3d225359d
  • cue/testdata: add regression test for issue 2615 by @mvdan in 49f1ce9843ddb727158ddf699e3401e06dc36263
  • lsp/eval: never bind _ and resolve self to the enclosing literal by @cuematthew in d1dd0289e9733ba8210eaa69d4d1ddabb28652dd
  • lsp/eval: record blank aliases and self within expressions by @cuematthew in 87fff28e0c1448d2bc722cbe5047293947750535
  • lsp/cache: reload the importers of a deleted module's packages by @cuematthew in 28dd735d735b9c0fc0c66494ff7150454e9614da
  • lsp/cache: test the importers of a module that fails to reload by @cuematthew in fd365445b35f9d5e045badc7884fd057ae90a32b
  • CLAUDE.md: document the CUE_UPDATE modes by @mvdan in 48b097e2be373bb0978c5fa598d5504be62a588a
  • internal/core/adt: allow let arcs in a frozen field set by @mvdan in 28ed2e6dd3f871809dbbaa8d3b97b87dd8256e22
  • internal/core/adt: add test for a let in a self-referencing comprehension by @mvdan in d8067438bb2fe5d0830adad9fafbdcc28bec9999
  • internal/core/adt: keep only the first instance of a let in its arc by @rogpeppe in c23e679869b998007e8fe707d3527716783e4009
  • cue/testdata: add test for embedding a let bound to an earlier element by @rogpeppe in 89389407a148093e3e3a9ca2f7f0d9aadffceb87
  • specs/add9s: record the comprehension divergence mitigations by @mvdan in a4f082aff18b9199a7a753b458dfa1ffbaa6a1f9
  • tools/fix: mark or avoid comprehension rewrites which change semantics by @mvdan in 3cc4aab4cdbaba4f702662cc24d4aa467f93c8ce
  • tools/fix: add tests for comprehensions the explicitopen fix mishandles by @mvdan in 4d9fb28d469dfab7ed9e0648ea2fff169c672064
  • internal/ci/checkproposals: drop the design-HTML sentinel gate by @mpvl in e99ef594fe775aa695ccd50a2cd6ad82d559714e
  • internal/ci/checks: reject duplicate commit message trailers by @mvdan in d9c2ddd563a79b93b19dc4237bc0eb72f8e7f049
  • private/internal/projection: name per-commit sanctions by Change-Id by @mvdan in 61b155b12277de5104ec302062c76f12f6526196
  • private/internal/projection: add test for overrides across a rewrite by @mvdan in f7e9260173b7cc0d5c709e91e4507d030a9404e1
  • encoding/jsonschema: give every decoded constant its position by @mvdan in 4efd9ea7145dde4a6c1958d685e8bae06c6a50ec
  • internal/core/adt: keep disjunction errors which differ in message by @mvdan in 21f7436146e3470b3d30e16387aba1c94793e3c4
  • cmd/cue,internal/core/adt: add tests for disjunction errors sharing positions by @mvdan in 27acc70083b03374bef52495fc05b829f25795df
  • specs/add9s: record the cue fix divergences by @mvdan in eee55d35f10dd72a924ede295aed962aaffae62f
  • tools/fix: stop distributing a literal over an embedded disjunction by @mvdan in d3d06c15311410d3fd0ded6da3c087e1d592b142
  • internal/core/adt: close each disjunct of an embedded disjunction by @mvdan in 5ae4c2b314d4f5bdef02ae6a77e384c60a5c8303
  • internal/core/adt: add tests for wrappers over embedded disjunctions by @mvdan in 0a6c7901b244a9115b4d384bd8d5d7e7417abfe5
  • cue: pin fewer tests to the pre-v0.18.0 embedding semantics by @mvdan in 8047099ef6de1e638e844cccb5bf690e66bd2b31
  • internal/ci: drop the unused Dispatch-Trailer extraction step by @mvdan in d9905085a78f0fdfd9243709ada845465b3a5c92
  • internal/ci: skip the test matrix for specs-only commits by @mvdan in 397120ad7848c2b4ff8255a0067b870b88326b3f
  • internal/ci: reuse a cached git mirror in the trybot dispatch by @mvdan in ee93fc67e3c14d4e97b859f58acb6cb5bf8f6730
  • internal/ci: cache the venv that pipx builds for the REUSE lint by @mvdan in f3b7425d20b130a057443d64dcf2e741dd8c5f87
  • internal/ci: only test the previous Go version on Linux for CLs by @mvdan in bd0a065c6875c27e205767c6917161d7e633be61
  • internal/ci: collapse repeated trybot dispatches into one run by @mvdan in bc919b35e49a1df0bc9d2d487b80b50d23e2f882
  • internal/ci: let all test runs use the Go test cache by @mvdan in febaccb88b82bfe84e4c5d290035dde6519b6380
  • cue/load: hint to run cue mod tidy when local-module.cue in play by @rogpeppe in fdeee299269d89cd90b85f7790b80064e599efe3
  • encoding/gocode/gocodec: fix reversed got and want in TestComplete by @mvdan in 89f7c71764bebd295957691e97abef6d7e31d30e
  • all: use quicktest assertions in place of hand-rolled go-cmp diffs by @mvdan in a233cfa19a926e5e4d619acbfd8e864312e35d81
  • cmd/cue,cue/format: cover round-trips of the spread operator by @mvdan in 062b221732324093cc73e015026d205e26240fd6
  • private/encoding/cue/wire: drop redundant explicitopen attributes by @mvdan in 3a7430fd5266d5277c2bcc24b3fc794caf745117
  • all: make the explicitopen experiment stable by @mvdan in a61d12da77dce94a3a6697f27d324b90176bc8a6
  • internal/core/adt: link closedness through cyclic embeddings by @mvdan in 72bdb01f51a9a4f962c5e30d5a93efbb3b811745
  • tools/fix: open the nested closedness of embedded literals by @mvdan in 62fc4b04289cd0541a39d76479fe3dab0ac6bff4
  • tools/fix: add tests for the nested closedness of embedded literals by @mvdan in 5123b4c67802e2450833f79859840beb27f9a3a2
  • tools/fix: leave embeddings which are a literal's whole value alone by @mvdan in 85e16d38e56467fbcfb9418e57c7c0d1905d9da2
  • tools/fix: add tests for embeddings which are a literal's whole value by @mvdan in 7a3e27db64ded3c24c209af15c8430995b93f00b
  • tools/fix: distribute a literal over an embedded disjunction by @mvdan in c4790223d8450a9831c75f5e6de8b2e96b7e3449
  • tools/fix: add tests for disjunctions embedded in literals with fields by @mvdan in 0e555bb6a5f35ed8bd03dde19f071a44f87b3702
  • tools/fix: keep the closing of undeclared comprehension fields by @mvdan in 659fb86defcc902612fe1d536f0f0069f87fa716
  • tools/fix: add tests for closed comprehension field values by @mvdan in d3efb3c92225e3b4c0449c13801b0aca0630a08e
  • all: pin tests of the pre-v0.18.0 embedding semantics by @mvdan in 35d4b0d6462ffa632b6416bb17937cad2e0e8b86
  • private/encoding/cue/wire: encode builtins used as values by @mvdan in 5ae4e9218cd5cf1cf84f29d386d9d3d7634983e4
  • tools/fix: do not open predeclared scalar identifiers by @mvdan in 1d81fcbfe6b7f7fd4e968d2c85bce2446cdf0003
  • tools/fix: add a test for spreads on predeclared scalar types by @mvdan in 096dec931429b6cea74fd7ae0a56d876bfb560aa
  • tools/fix: keep the closing of embedded struct literals by @mvdan in 1a9b9edfdaf700b8461397650ffe31444e27d726
  • tools/fix: add tests for the closing of embedded struct literals by @mvdan in a1e1e5b5705c8c3bda359b7c21ae695b722d1840
  • internal/core/adt: bound containment recursion under explicitopen by @mvdan in db71e3f7c788532d22140ed24de7395f3dc0da12
  • cmd/cue: report an error when fixing an already stable experiment by @mvdan in c357e19b44a8bcb00df742cf9ee8b053026126f6
  • cmd/cue: add tests for fixing an already stable experiment by @mvdan in 2df1e3045bf4e90245bdba2f27c6c97aa55b7b3a
  • tools/fix: remove experiment attributes that are stable at the target version by @mvdan in 735a105c5d323983fc57646c57745eda47d88c73
  • cmd/cue: add a test for redundant experiment attributes in cue fix by @mvdan in 7ad1451d1e1f817703f6ad639fd09625d95c2b32
  • doc/ref/spec.md: document new ... operator by @mpvl in d763a081f95e762a3806a38924de2a145a77a61f
  • specs/add9s: stabilize the explicitopen experiment by @mvdan in 4a56ae7d061b335e2bf54e008c6d507532bfdc37
  • ee/cue/gofunc: adapt Go functions and validators to CUE values by @rogpeppe in efe33b640024689864717436f6f35af3d61102fa
  • ee: add the enterprise module by @rogpeppe in 9fe6eb8ed477d0068a50c0ecfdd547ab15368e12
  • internal/core/adt: always bound re-entry into recursive disjunctions by @mvdan in 9a2ff9869f0ee57244ef1e1e9c497b34a6839086
  • internal/core/adt: keep disjuncts whose fields are not resolvable yet by @mvdan in 9f56da052c9d6048898b31bdd1f8842e27a7355b
  • cue/testdata: add a test for wrapped recursive disjunctions of issue #4475 by @mvdan in 2853bdd7689fbbba3157f065b913bfc4f387a0f7
  • mod/modregistry: report registry HTTP errors clearly and concisely by @mvdan in 0c933cb64e7ec52ef79fee1142890734c3f214fb
  • cmd/cue: add tests for unclear registry rate limit errors by @mvdan in b73dea11d0f41840f3583a2e30a682228b8e9daa
  • all: parse each module's files at that module's language version by @mvdan in 75a7b00cd6655cd86b7eb288a516ebdf7def00e8
  • internal/core/adt: add ExternalFunc and ExternalValidator by @rogpeppe in 24a1e994d4824549be73167485abbf973b806c8f
  • specs/ad8ap/plan: plan the tagged string literals implementation by @rogpeppe in d0dcb00e297e87cd1451e6ef760debf5b4770060
  • specs/ad8ap/specify: add the tagged string literals specification by @rogpeppe in 684fd040f1f6acd62e26049d785682c039325d42
  • specs/ad8ap: declare the tagged string literals feature by @rogpeppe in 3655058491ec713775f515b6a40694362b8036af
  • specs/acry1: clarify plugin machine boundaries by @mpvl in c9666035de5a58e4217d539491a45635088efe1a
  • specs/acry1: add plugin lifecycle sequences by @mpvl in e136532534841f97f40ff425a2d75c75a3d1f47a
  • specs/acry1/plan: plan the CUE Go plugins implementation by @rogpeppe in 48d3ebcb65ed25333a5391075700ee6a8d8026c8
  • specs/acry1/specify: add the CUE Go plugins specification by @rogpeppe in 38bdba6915e173cf564ee500f1d72eba2a1f1e40
  • specs/acry5: supersede plugin publishing by acry1-go-functions by @rogpeppe in fe7337669a809aa7b93690295a95e8f72613f9e7
  • specs/acry1: widen the placeholder to the whole Go plugin mechanism by @rogpeppe in ae73f4c1928cde770d734ed23a5a6fd475cea048
  • specs/topics: add the lang-interpolation and tooling-go-plugins topics by @rogpeppe in 36283d51c35145820379bf1e68dee97aaae24bd9
  • cmd/cue: parse expression flags at the module's language version by @mvdan in ba4e123ac11859ed6305f68cc5bb8d6e97e05da3
  • internal/core/compile: apply default experiments to expressions by @mvdan in ddabb2a9ab2f162d87f1575ae23e091233c4b0ec
  • internal/cueexperiment: cache the current version's default experiments by @mvdan in 47cda9411ba7fde0d2b5862b679bbf9113d5f8e0
  • cue/parser: record experiments on ParseExpr positions by @mvdan in ca2c874ff85db91c6d65c69eb8988ca484cc46e3
  • cmd/cue,cue: add regression tests for experiments in expressions by @mvdan in 7aad883174c5299e82773cbb4414a838b1644483
  • specs/ac6y1/plan: plan the cue run design with grounded research by @mpvl in 8857e009650f2c0d1bd740e4828f6af7288d820f
  • specs/ac6y1/clarify: pin source locations and the document split by @mpvl in f4a6c0f9349d6b39d4f8c9874c0286062de68e5f
  • specs/ac6y1/specify: specify the cue run grand design by @mpvl in dd2186e13829dbffc109877fd751464b3d7df6ca
  • specs/topics: add the cue-run topic by @mpvl in 250b0c140576f38726e68f721914498eb45a3c26
  • specs/acshg: author call-boundary semantics and reconcile the design by @mpvl in 9b72caee99aabe01fe4032477c5cd00d5dc355b6
  • specs/ac6y0: record the transitional validator declaration by @mpvl in b740c2ee0159321c037e11c93211739c2c6ba839
  • doc/ref: specify experimental function literals, types, and calls by @mpvl in 56428ea5bbcbd91b7055219a5ea721215f6662d8
  • cue: evaluate experimental functions natively and complete the feature by @mpvl in f018f538e38af230174471b60d59a45b97246613
  • internal/core/adt: preserve contract labels from attached function signatures by @mpvl in faea1b5c0231852b425d0e35da7b7b14d6775e6a
  • internal/core/adt: bind labeled builtin arguments through signatures by @mpvl in 4465dda129cea2743b267065429144ca95ac97b6
  • pkg: declare precise parameter types in the definition files by @mpvl in 93699a24ddc166df2936b310660b08589649e5a2
  • pkg: declare a validator as the disjunction of its two call shapes by @mpvl in 30d505ee549f8d1636858a29e9e74fb843826989
  • specs/acshg/implement: record the full conversion (US4) by @mpvl in d3925b5cea1f44dc9856081dc8d1bba3b7a6c200
  • pkg: sign the builtin packages: authored definitions, derived blob by @mpvl in 172db9ccb949afebf1d9cef3f46777ac39287c33
  • internal/core/adt: recognize more kind-only constraints by @mpvl in 941d3118dba4af6ef4c56b10aba8ca69998b8aae
  • internal/core/adt: preserve contract labels in positional matching by @mpvl in 0d33851ab30edd474af7af0f9566d0122378bc30
  • specs/acshg/implement: add the validator-encoding overview by @mpvl in e4c586733676f813377e572a3e06b502bd8c3b3b
  • internal/core/adt: index a vertex's arcs by label by @mpvl in a5a1bfef269a951ec7d97a648361f7b302365334
  • internal/pkg: compile a package's builtin CUE blob as a file by @mpvl in b73926406127070e59f0126c0834725114e68cb8
  • internal/core/export: do not render a builtin's function types by @mpvl in 7bfa396223048037b4cadfc86667ab9d125c8fad
  • internal/core/adt: allow named parameters in builtin signatures by @mpvl in 72aa856adeaab31b9d77edac1e5e45503eca1fbf
  • internal/core/adt: skip redundant kind-only constraints on builtin calls by @mpvl in 1b3448087fa6fea4a38455c60fbe3c7c3c1b9c97
  • specs/acshg/implement: record the file-level purity marking by @mpvl in 8c46385977b11afbe4c00b82bbb7650011bd8400
  • pkg: register a []byte result as bytes, not bytes|string by @mpvl in aa68c529a474904ebc4458ee87d2e134b5bdff36
  • specs/acshg/implement: record the pilot findings and signature syntax by @mpvl in a9d2f4d72d97d2bbe7592040f399cfad4a802996
  • cue: support partial application of experimental functions by @mpvl in 9037c9aacc45e1eba3c8f892c0b8112bd111e8ab
  • cue/parser: reject invalid parameter names in function signatures by @mpvl in cbf705ea4a2dfda4db27054487623dfb7aaae368
  • cue: reserve parameter references in function signatures by @mpvl in 00ad38226ca411c669550bdc396fca1fda47b37e
  • cue: complete experimental functions with canonical struct frames by @mpvl in 806040d694b637eec1311ce29a2735b86b807860
  • cue: implement experimental native functions via struct unification by @mpvl in 4a19139df45d4666729b7049628e7de15404584c
  • private: add a commit-time license-tier query by @myitcv in 9f7f28cc55941359d95046e5fdbeb0c977878ce9
  • private/internal/projection: extract the tier-neutral path predicate by @myitcv in 78b6918db474b40e4c5efa0a5bc3234533fa1c0f
  • specs/ad41p/tasks: generate the dependency-ordered task list by @myitcv in 29c4f2f159e7433a99a4d0b96f39ba1a72571367
  • specs/ad41p/plan: record research, decisions, and design artifacts by @myitcv in 4ad2de97dec4baa9fe98efd7d985b0407fef963c
  • internal/ci: use nscloud-checkout-action in the prune job by @mvdan in 53b4ee4ffcf518d6e5d2528d2ddd772223797cd9
  • pkg/tool/http: add a timeout field to Do by @mvdan in 4fe778b9ee0fe5a357c70aa00d5d65896b88c0bf
  • pkg/tool/http: tie Do requests to the task context by @mvdan in 74f567b3d492a5493be32365be8fcfaccd809e33
  • doc/ref: use block-local positions in spec errors by @mpvl in 9def32353cd01e5db15d38bc1d5b54e6f7ed5127
  • internal/core/adt: reclaim discarded arcs on structural cycle by @mpvl in 3de50538dd81708f19451d47d639145016aad07b
  • specs/acshg/implement: design document and overview (US1 MVP) by @mpvl in ed37c273394edbd167c29af042b14126457c88aa
  • specs/acshg: add the builtin function signatures design by @mpvl in 946912d1719bd4f714f82867cc837e59207d1c09
  • specs: add HTML overview pages for all design documents by @mpvl in 162ab2caffb5bc3b3e7c2331cf40892906ed1008
  • specs/topics: add the language topic by @mpvl in e2d57fe0cb8acdbf0e7ea61cf0373595feb03071
  • specs/ac6y0: add module-file impure declarations to the consent design by @mpvl in 8814c2b4f59e01113ca9a7c98403663888dc572c
  • specs/ac6y0: implement the validators and impure-functions proposals by @mpvl in 4ceca1c210180b98813ca9278b0d9147d4a85923
  • specs/topics: add the lang-functions topic by @mpvl in c2956bcaa44ce68732da8d1a2a07e8d7a703c286
  • pkg/tool/http: accept standard certificate PEM blocks in tls.caCert by @mvdan in 8275cddb51f57bc64eabaae6a0b9af2a05ca5778
  • pkg/tool/http: test caCert with the usual certificate encodings by @mvdan in 33e529ea8f789c16beff43330078d343f4e4976e
  • mod/modcache: fetch each module version at most once per process by @mvdan in fe772e3630c99d1cc2b29009dff8f001467f3a35
  • mod/modcache: retry .partial file stats on Windows by @mvdan in f0ba76745361ef0f13e7df254321cc412b579ff6
  • mod/modcache: add regression test for repeated module fetches by @mvdan in 7fa025557a6b9c66612b6c23500d69530547ef2d
  • private/internal/projection: trim the target's own issue qualifier by @mvdan in 61eb7272a6c8c887df9522d3fe26aa9cd8203550
  • private/internal/projection: check the projected module is tidy by @mvdan in bf514e3062d40a0af51e89dbf7454ad998c2197f
  • private/internal/projection: add test for projected module tidiness by @mvdan in ec4dc559eba94cbdce4e74f90ec00402534642dd
  • private/internal/projection: keep the origin's committer date by @mvdan in f88de13d282d19100ce57c288a2573ae755a0f2b
  • private/internal/projection: add test for projected commit dates by @mvdan in a5fce8be48208eae16b271b7f00ac822416f1872
  • README: drop the GitHub Actions CI badge by @mvdan in 22eea43bb98684a6fd36a27d30773d8335c3fb12
  • private/projection: sanction the internal/_e2e goes-private transition by @mvdan in b72efb02f1493e98e8fbb5ed8fc5b3051b4f5d1c
  • internal/_e2e: classify the end-to-end tests as private by @mvdan in cd58cb568617e7fedde3f1b5a1c958e4aef8d46c
  • encoding/jsonschema: use a list literal for the required part of an item prefix by @rogpeppe in 74a8f44678dbc0d34ee4ccc963385c1fa13a6c99
  • encoding/jsonschema: add tests for partially required item prefixes by @rogpeppe in 041d3a2e3646485efe92d1ff69de39a71e70e127
  • encoding/jsonschema: use list.MinItems for the "minItems" keyword by @rogpeppe in 2104053a2d1b0fb15da544e3bb7e5278883890de
  • internal/core/export: emit aliases for the target language version by @mvdan in 3efcaabf12b1a77d267ff02ec966017f46f3b81d
  • all: make the aliasv2 experiment stable by @mvdan in 68a2a844b855ddab8976084c26431b80fab70997
  • internal/core/adt: return the list vertex rather than an element iterator by @mvdan in 9fe92eabcfeb1758d3e02b4b287d6b386973e8e8
  • all: let golden tests pin the language version they parse with by @mvdan in eae4f10893cd2c9494c9d0dd39327288f328d119
  • cue/ast/astutil: reuse the new cue/ast.NilableNode by @mvdan in 971f57a2c76d442a01f7e0187995fa30a2bcfe94
  • cue/ast/astutil: pick the alias syntax by language version by @mvdan in 4a81805cf729dd387db20e7fa76d98a2d0be17f3
  • .claude: add a skill to prepare a repository projection by @mvdan in ce83fb2ce42d3e58550495ce6fbfa796a23dab70
  • internal/filetypes: remove references to nonexistent documents by @mvdan in 0a4b8397c0ddaf04b5bd7a7ab3585a652563d36e
  • private/projection: drop the "docs/" private-path hint by @mvdan in 3d5cdcb86c7a22abb82a9f61a8cfcf8934914026
  • cue: report the package scope on a failed hidden field lookup by @mvdan in af81683e362a2544cd611d4a74950cb59a51f723
  • cue: document the package scope of hidden fields by @mvdan in df3493443ad3c79cfabf1606e74525fb3768fb87
  • cue: add test for hidden field lookup scopes by @mvdan in 3879a3a1f28bee523d7c1cb7c381475db9a4f1d8
  • internal/core/adt: compare nested int and float values numerically by @rogpeppe in 53ca77a98973d3c2d6bff515381b165c593fd996
  • encoding/jsonschema: encode positional item schemas by index by @rogpeppe in 98d1049c54dff37679197d82dc66d6980fe66249
  • cue/testdata: add tests for numeric equality within structs and lists by @rogpeppe in c3a276d049d4ed9b869248ef00407424fbbdbeb3
  • cue/ast: let a File carry the experiments that apply to it by @mvdan in 7afc1a7d9cd7ae73e624c825291deabe3354e4fd
  • internal/_e2e: build cmd/cue with "go tool" by @mvdan in 1b41a462f9d47b2d65ac9249573f32ae82e40ac9
  • pkg/net: note that the idna workaround needs Go 1.27 to go away by @mvdan in 8f7ad33d4a394c0c528933a2fda81e7fadb68080
  • cue/parser: let Version("") select the current language version by @mvdan in 0d72982098ed3d80ac01af8f0b2fc6084b6d90e4
  • cmd/cue: unify data file inputs in cue cmd by @mvdan in d8e3d6ae29bca3408493147c7feed006e4d0dbb0
  • cmd/cue: add test for data file inputs to cue cmd by @mvdan in 2a0e3525d069f275fb321d74345507a51ce1e455
  • pkg/tool/file: only treat a missing path as RemoveAll success: false by @mvdan in 57e51c25c0cb54807e1fa67ce575de33e9625341
  • pkg/tool/file: add test for RemoveAll with an unreadable path by @mvdan in ac6de9692457110f5a0fde92075b03cdd8e578fd
  • cue/token: record the language version in File by @mvdan in 911d02c3c0d0868af9b67072011adcfeb4e651de
  • encoding/jsonschema: skip re-vendoring external tests when up to date by @mvdan in 7d6e0ced1a6b6b6465cf1752c5bb601e2f562385
  • cue/token: generate both String methods in one stringer run by @mvdan in f90a2d8086c38c3b7f0b9dd90e8cf905c25f515d
  • internal/core/adt: generate all String methods in one stringer run by @mvdan in 87f75cee268b7ffb2e8bb139f6749b69d740bd96
  • internal/encoding: use format.Compact option by @rogpeppe in f82d982b32bbfe8d5555219b23a8c6b1d7087531
  • cue/format: add Compact option by @rogpeppe in 943396b23d2777f19d4d6d836077f9645557150c
  • internal/lsp: transform cueFileParser into a last-value-cache by @cuematthew in 60ee89405d0d5d54225406595724cc6e9bcd694f
  • CLAUDE.md: move the inline @test guidance out of the instructions by @mvdan in 263b5f72eb728200939d2b25288ce8faa5f0dc5b
  • cue/testdata: complete the inline @test attribute reference by @mvdan in 4cb6de65d070f01e0df15a6ed76bf3506cc7ac51
  • CLAUDE.md: keep derived files up to date on every commit by @mvdan in 9f1d0819366d3f936ee186d1d4bbb82f4ec89c70
  • cmd/cue/cmd: stop exempting negated scripts from TestLatest by @mvdan in 95fac7c830abacd5c910f7e96e4fa8fd88619761
  • update dependencies for v0.18.0-alpha.2 by @mvdan in c0be1b93e4ec2886a1abda3fbd2f2f8315a87a14
  • tools/fix: keep the field's position when rewriting a label alias by @mvdan in 68e3abf10240772add4612756f657247ecf33a5c
  • cue/format: expose the AST style and the formatv2 layout options by @rogpeppe in de223c5a283ce30beb2928cd8405979c24dc1ea7
  • cue/ast: add Clone by @rogpeppe in a7168fe1f2a0f0bb8f399e3d635aa2bb1e4f0ef7
  • doc/ref/spec.md: define self and postfix aliases by @mpvl in 4eb8ea17900d0a73330026fbc57504076109ac17
  • internal/encoding: write CUE stream separator to encoder writer by @SebTardif in e891a6abfb380687d0cb08205f1e946ae661ae8c
  • pkg/tool/http: build the whole Serve response before writing any of it by @mvdan in 4ef51f8d0fd5deba8a68815bf5dd0b9cfa537f6a
  • cmd/cue: support %{http_code} in the testscript curl command by @mvdan in 38947b2ce6a6eac707900f2c0a68e4c5254368a8
  • cue/testdata: add regression test for issue #2568 by @mvdan in 0fcb2c4c702e6131b464dfde22b6b212d97fcc5f
  • internal/ci: sync the Go workspace on the trybots by @mvdan in 96d477351ea5d4a658d70464497b491e244e4d29
  • internal/tools: move the tooling module into its own directory by @mvdan in 018c3914924784ec0f060f9041e0c53c4dcbe014
  • internal/ci: check every Go module for tidiness and vet by @mvdan in 905bad5e4718c14eec364c16d9c084a73b2bc089
  • private: resolve the public module from the checkout by @mvdan in 7493ae3dc66553557bf05485593bb36611e0f461
  • private/internal/projection: keep Co-authored-by in projected messages by @mvdan in 8506e08d46a66ea9efdb79b44858814f0e8d57b1
  • specs: make the tree its own Go module by @mvdan in 2974fcb6f692f422c90c34fa9b62cbf74fadde25
  • internal/ci: fix two stale comments by @mvdan in bfec9be9ca16fd6b8b8525fe90df0ebc0acc64ff
  • internal/ci: update GitHub action dependencies by @mvdan in 1f6b013a4776a690b354d547d0c48d67ff10b219
  • internal/core/dep: descend into vertex conjuncts by @mvdan in fd76e84f74d9be4e5ce618beb2c8f50ea297d1c7
  • cue: add test for Syntax with InlineImports after Unify by @mvdan in 27647ea4a0c7b9e4e02b7e7301c8638ce21730ca
  • cmd/cue: add test for def --inline-imports with merged data files by @mvdan in 9ad7cd2c6f09b9e3be6a64689e571428f50af19f
  • internal/core/dep: descend into unresolved let references by @mvdan in 4c33c09d1c72ff10a581a3fdb448e3963eca9dcb
  • cmd/cue: add test for def --inline-imports with a let by @mvdan in 187a5287a05199df8aa1bccc7d076804cc1393a5
  • all: use new(expr) from Go 1.26 by @mvdan in c7f1d35499e836b0eb601053d0c1117245d6a3b2
  • all: use the reflect struct iterators from Go 1.26 by @mvdan in 67c1c4a5cfc9dc11f38ab12f393f1a19a0494ab6
  • internal/ci,private: use errors.AsType from Go 1.26 by @mvdan in 86ce148be61a85f97d0a08a28beaf3633ef7d17a
  • all: use errors.AsType from Go 1.26 by @mvdan in 4e0770bfc8bd7f2a14c5e19e9faa7f7da34ad533
  • internal/ci: use Namespace caching and checkouts on all platforms by @mvdan in d025c51300837af456c8d541d2f4a9d6ec51b805
  • all: require Go 1.26 and test with Go 1.27 by @mvdan in b5f18451a340d312ea7eb465498060ad8e271edb
  • private/internal/projection: add the Cross-Tier commit waiver by @mvdan in 2e43d9448e348e3cc659b6c6189c30e75cb126ce
  • specs/docs: summarize the monorepo, commit rules, and projection by @mvdan in 634176db058944a55b9980f895cd4ac8af203f02
  • specs/topics: strip accumulating sections from topic indexes by @mpvl in 63a137d40ddcd9d37db35586f8a299cd03ad2807
  • specs/topics: adopt write-once curation for topic indexes by @mpvl in 67792bf28219137e085406ab66d06c7882049058
  • private/internal/projection: let the spec record ride with its commit by @mpvl in 63f4edfbc3d5fd703129c999191840fd45366a3a
  • private/projection: re-pin the classification override after submit by @mvdan in d91d8a53335a2d4c7439ba142206e36887b24853
  • specs/ad403/plan: record research, decisions, and design artifacts by @mpvl in 3f93a3db4e745f0524c8c06ee268f39875002fcf
  • specs/ad403: specify the CUE Pro business model by @mpvl in 1c23f02344bec0dee395f73336319a5d98c570fe
  • ad403: docs: declare business-model-for-cue-pro by @mpvl in ca3ae95e25c84c5998123dfea0dc8e415bb74fff
  • specs/ad41p/specify: add the commit-time tier-awareness spec by @myitcv in e286826c4ac620d4659771092b0a9ec7a1179d41
  • private/internal/projection: commit projected history as cueckoo by @mvdan in 37ff5dabd05d7e162538219dfdd65036ea139be1
  • private/internal/projection: place the target's root LICENSE by @mvdan in 28f65c095d173aa3b35c5ccca2e651d47b0c54cf
  • all: conform to REUSE 3.3 and lint it on the trybots by @mvdan in 70b41d7fb72875c599601ae8706f020fcff5992a
  • private/projection: commit the public target configuration by @mvdan in e86e3a427a25f014e819b32e721680498edaa88f
  • private/internal/projection: surface reshaped messages and skips by @mvdan in ea69e28a8dc6ce742460ee1e9d37a3ccfec92008
  • private/internal/projection: recover the frontier by Change-Id by @mvdan in 8ad238ea22a91694ef07541d595c23c3b2e7a715
  • private/internal/projection: project only sign-off and change-id trailers by @mvdan in bad4534007dff2e653310807fa83d3ab28e77f92
  • private/internal/projection: add per-target message overrides by @mvdan in 0ad4ead501be114740392feaadebc7c141669c64
  • specs/acqav: record that REUSE.toml is private, exposure derived later by @mvdan in abe4e898ad43795d42243950bada82c1d6e9b4dc
  • specs/docs: take the projection contributing notes internal by @mvdan in dd52cb67cec41c7203071dd34fcac9cfaa60367a
  • internal/ci: lint every pushed commit on protected branches by @myitcv in b45859522879716a00f78a032d405736b440c110
  • _scripts: remove the OpenSpec setup script and ignore entries by @myitcv in 853feea0549d99ab12eae67be43d2f8b32e18c6c
  • doc: remove the OpenSpec spec and context directories by @myitcv in 3cb9f6ec5a97a340517963911fd287be1c5e1912
  • CONTRIBUTING.md: restructure the guide around issue-first contributions by @mvdan in 466d15a6c3ae6cfe169a8ad75842341c6bb59ecf
  • CONTRIBUTING.md: drop the GerritHub contribution workflow by @mvdan in ed71887b9664601cad992e1bb5d1c1237ea1f3ba
  • specs/docs: record the 2026-08-20 history rewrite by @myitcv in 9c49f529908b72602286560526418a5382ad2edd
  • internal/ci: run the source-commit rules lint on trybots by @mvdan in df3896e971b20c657900c2a1e255009c3f57401a
  • private/internal/projection: add preview, HTML reports, and the lint by @mvdan in 8351e7485fd26440b72ed9a5ad055d9a5e40029b
  • doc: describe contributing through the projected repository by @mvdan in ccaa056c40afc204f8016041685a5c848e0ea482
  • private/internal/projection: add the projection pipeline by @mvdan in 1c88a489d1e52c4d619e456185bd55d51d36e9e6
  • private/internal/tierclass: add the shared REUSE tier resolver by @mvdan in a36a3de334be0eac6ec0ae54188e5d0efa8d40a1
  • specs/acqav: specify and plan repository projection tooling by @mvdan in de21833a8cfc674835c778a54aaceae4f881bad4
  • specs/ad1wc: retire the overview waiver for the new one-pager by @mvdan in 330589839aaa7f973c42212472a083377cdec631
  • lsp/eval: deduplicate the worklists on enqueue by @cuematthew in 185a0cb3f2c7c97d6796fdf7dc3ad7f5a5044dc8
  • specs/acr8y: add grouping one-pager under new tooling-editor topic by @mpvl in b31dba7e15a08cc198060b3e78d7b41b02fa5882
  • specs/ad1wc: add distribution-enablement architecture one-pager by @mpvl in a802cc8b141a7a360817e12f629ae50f685f6617
  • specs/topics: document planned-work dependencies by @mpvl in f81d96aeaa0958aad047e7d182e63c42ca9dad1e
  • specs/acqas: add the wire chain re-headering change record by @mpvl in ba3cc3d7ab1870c8c8ad0268f0a9c8358ee408d0
  • specs/acnav: align the wire marking contract with its import layout by @mpvl in 7e34930cc3ed6dbac8beb326999462e6ab5ee8d2
  • private/encoding/cue/wire: add dynamic wire registration by @mpvl in fb43b33e6735b12607e685a38d50253986144a9c
  • specs/acc2q: add the design document and design pages by @mpvl in 926138b4223baa7a48ee59c022f0ee3324749ab9
  • private/encoding/cue/wire: reference imported user packages symbolically by @mpvl in 540b1974b464dc70fb856d33bbf0c9b1eba625bb
  • private/encoding/cue/wire: carry struct pattern constraints on the value plane by @mpvl in 29b1075c3a20dde15e7929af1663dd76caa4fec6
  • private/encoding/cue/wire: point diagnostics of decoded values at the source by @mpvl in 0831983d1b960f4cea0535dc0541af93ab8fb540
  • private/encoding/cue/wire: extend the txtar corpus and sync the format docs by @mpvl in fc040080bc6580d2b2a129de01794d7f31b5d42d
  • private/encoding/cue/wire: emit compact JSON and refine decoding by @mpvl in 976eba17cf10750ce651f925f4748a5a26d75324
  • private/encoding/cue/wire: add fuzzers and benchmarks; fix what they found by @mpvl in a0bbe513f604ca281d481229eab96fe93ee288ea
  • private/encoding/cue/wire: encode patterns, spreads, and error detail by @mpvl in 647c55ee6f9e990756693d46c6acb059d52101fe
  • private/encoding/cue/wire: record source files; document $ref cycles by @mpvl in d78984d52ed580b56c6860019a3c5db2381bea2b
  • internal/cueexperiment: add File.Experiments by @mpvl in 7c72affffe1fed3653e0d79d663378c3812363ba
  • private/encoding/cue/wire: add usage guides and builtin documentation by @mpvl in ec1d706df96b3119648c2d39e5afe80cce11fc22
  • private/encoding/cue/wire: round-trip field attributes and doc comments by @mpvl in b54cb5caa331b4fb03b287297a5334d7cb86aa23
  • private/encoding/cue/wire: sync FORMAT.md with the extended format by @mpvl in 5e847493cf67b05727263b781fde5e4588b10d7d
  • private/encoding/cue/wire: decode soundly and reject malformed input by @mpvl in ce6c272170cd9bcc910df36e047649bfa4a2acf3
  • private/encoding/cue/wire: encode references, calls, and imported values by @mpvl in 74fddb64f11498de64c2b23913c66c9fe7bbc357
  • private/encoding/cue/wire: add a JSON wire format for CUE values by @mpvl in 767aa7397f38a667919c78690d06557e43cf6917
  • internal/core: add hooks for serializing evaluated values by @mpvl in abe14a063f7e1c3967e0193985e848a5566e9063
  • specs/acc2q: restructure the wire-format spec into the SpecKit layout by @mpvl in 4999dcb0857a13dc9f2d1e63814fe10afdf65128
  • specs/topics: record licensing-layout questions and answers by @mpvl in 9f6c3af4d6b0ef0cf15224d91158766aaffc6a3f
  • specs/acqaw: declare the enterprise-modules placeholder feature by @mpvl in 891dd32dbe7f4adac8be41e48fe97ecef80eedfc
  • specs/acqav: declare the repository-projection placeholder feature by @mpvl in 14faccb2eebdb64664211dfa12803b425754b8fa
  • specs/acqas: declare the wire re-headering placeholder feature by @mpvl in 61ddca272ed99afd77be174d3609e01c25dbc2e1
  • specs/acqar: declare the tier-enforcement placeholder feature by @mpvl in a3b3ee997ec0f1ad1cbc8c498ba8771305ae6c15
  • all: track the pp toolbelt's rename to porcuepine by @myitcv in c36969228abd627d422bbe1cec0a6b739f524f6a
  • specs/ad1wc: replace empty distribution placeholder features by @mvdan in cfce6746d5b7aabff6ec80eda53757e4624430a7
  • specs/ad1wc: record redistribution-terms gap in acrvt counsel handoff by @mvdan in 453a64b26f93228d56eeaed0812ea5c51597d108
  • specs/ad1wc: specify enterprise end-user distribution and enablement by @mvdan in e59cf59d5ba02c2dcf64ab8bc348cce1536cd9e2
  • lsp/eval: resolve Decl elements by node identity, not offset by @cuematthew in b452c15d4ce807277aa324fd222449711a49f997
  • lsp/eval: offer no completions within attributes by @cuematthew in ed3bbe8f8e6670dd6cf9b78ecf588d8ecc08df9e
  • lsp/eval: offer no completions within import specs by @cuematthew in ef1309dbeb852f3b662b88c1f63371efe6b33520
  • lsp/eval: keep sibling binary operands out of completions by @cuematthew in de323a3287099c89f6429db6498ca0c940a4da4a
  • lsp/eval: record completions in binary operands and attributes by @cuematthew in d710adeb6480744b8c5f73a9cf42df3fca041917
  • lsp/eval: expose doc comments on comprehensions by @cuematthew in 1a917e20e7c9f891d0bfb1c661aabc4aa4a30c96
  • lsp/eval: record missing doc comments on comprehensions by @cuematthew in b16b113ec8cd00b3b935a2db066b028dd6ba0c4f
  • lsp/eval: expose doc comments on lets by @cuematthew in 9ecf27f930263c4a6babb21b600ebcd67faae3b0
  • lsp/eval: record missing doc comments on lets by @cuematthew in 38b002858b1975ccbc94a96c8d57f8463283ed7c
  • lsp/eval: expose doc comments on embeddings by @cuematthew in 536e4eec47a1a8a7ecf15a6b9a5d39fda769992b
  • lsp/eval: record missing doc comments on embeddings by @cuematthew in 49356567b0bfdfee6036b59032c84e466d71d0cf
  • lsp/eval: expose doc comments on call arguments by @cuematthew in 469143a88d4acdcf19bd53707de58ec23e2ce3ee
  • lsp/eval: record missing doc comments on call arguments by @cuematthew in 971c2f324d7cd3da3fe0d2681799a19706abf661
  • lsp/eval: expose doc comments on list elements and ellipses by @cuematthew in bb66611f1d123951823012c17e4c0df07e035d59
  • lsp/eval: record missing doc comments on list elements and ellipses by @cuematthew in 80cd4fd9fcd3cc0d30ff46b60285c66aee77d0f0
  • lsp/cache: replace DefinitionsForOffset with the Node-based API by @cuematthew in 26198e64e0215452bf7145a28e6da99b87c4a9db
  • lsp/cache: show builtin signatures in hover and completion by @cuematthew in 56f30098f5369a55a3503fb5e917d0cd505ac72c
  • lsp/cache: resolve standard library imports on demand by @cuematthew in 327eb94427637d1f89993da7d15673a9773b3c5a
  • pkg: generate CUE definitions describing the standard library by @cuematthew in 68221a701c3cc7e4c9282bf2b45fc8c18e95337f
  • pkg: mark validator builtins with a Validator result type by @cuematthew in 8ba88f6daa2a0c38e5099dbc4063f9f2fa2460e3
  • pkg: restructure gen.go around an emitter interface by @cuematthew in acbe00d01f26bb7e4221cea207bb17e4ea82f9ad
  • specs/acr8y: record implementation completion and catalog delta by @cuematthew in 3fb175f29b3d554ac0c494dfd21dcbf1469443a2
  • lsp/cache: assert organize-imports idempotence and format stability by @cuematthew in 59d059532317cf157dcf9a5ffb997e30d47628b4
  • lsp/cache: keep detached comment groups as import group headers by @cuematthew in 43562655feb24ef7d5eb94fd8b274ffc4a8726d4
  • lsp/cache: group organized imports like goimports by @cuematthew in b4be607631c1d8940618e4ab9e598a66cf979bd4
  • specs/acr8y: add the goimports-grouping change record by @cuematthew in 7cc70dd9b52eba762a1f70050eadca43c524b58b
  • specs/ackz0: record phase 2 and user story 1 completion by @cuematthew in 1674aa7b7b1ee66e56a3fb255e0145084ea638b8
  • lsp/cache: construct organize-imports output via the AST by @cuematthew in 7bdc6ac440ad683ea64903d6300b81d80da34532
  • lsp/cache: gate organize imports on a clean parse of the buffer by @cuematthew in e3654a3f5c6dc55f35a2aa63cdbe577caeb7c175
  • internal/pretty: render comments in import blocks in place by @cuematthew in c23e5a85ec5ce66e253662f2c6c113fdb6d93de0
  • specs/ackz0: add the organize-imports AST-construction change record by @cuematthew in f978997eefe112c312b3599a89216a9b71294b1c
  • cue/parser: add txtar test recording comment attachment around imports by @cuematthew in 39a923fe1df5ef1405db6433e72c620a8ad81d5a
  • all: take the shared guidance from pp rather than cueckoo by @myitcv in 317a2a7a902e34a85327faa75098b642cef8f315
  • all: ignore machine-local Claude Code worktrees by @myitcv in 1c9dad7026268bc2004d38119cbc71c96aebcbf4
  • specs/acrvt: add indicative prices and the portal-audience note by @mpvl in bc311c2b07dfde0a3b50277bbd7adb8c7b7d52f6
  • specs/acrvt: add the pricing and seat-counting matrix by @mpvl in fc4e8d675feb3a196deddaec1d7c8ce9a089705c
  • specs/acrvt: implement the verification passes and counsel handoff by @mpvl in 8837d8338e3456ec9cb8b31959b05c6c4a1472e9
  • specs/acrvt/tasks: generate the verification and handoff task list by @mpvl in 8aae16c7be83ccb351c0388fe1034dc6e20bc493
  • specs/acrvt/plan: record the artifact boundary and seat metrics (D-007) by @mpvl in 9299cf9768d5da55cebfdb4e3a5e088bf27bde73
  • specs/acs1j: add CUE V1 dependency graph by @mpvl in 1c8fb8b3ae132c03728aa3c107214935a39a5a9c
  • specs/acrvt: declare the cross-feature after dependency graph by @mpvl in bc880980c0475f0da6ecb32163b85c223bc0bf50
  • specs/acrvt/plan: formalize distribution decisions and gates by @mpvl in dc5594da93540902281097484092082038153f25
  • specs/acrvt/clarify: record venue staging, ee path, launch posture by @mpvl in 63dde98d34e2ba9d520455d8b10ef784ba709fe4
  • encoding/jsonschema: allow functions returning concrete values by @rogpeppe in 98588794f30625c4c58d116405163f04389066bf
  • internal/cueconfig: mention env vars in cache and config dir errors by @mvdan in 4a0ecec12200de967f6ca6201da7bd5e904c3080
  • cue/testdata: cover a recursive macro over a nested struct by @mvdan in 6f8cdaba55c69a156884ea755827b29b457489fc
  • specs/acrvt: specify enterprise distribution and production-use policy by @mpvl in 09b8fd623bf3192c6d6835c3d6f70c0852b073ec
  • internal/ci: support topic metadata files by @mpvl in dd613665e9a573879179267e53c41b7ed4a2df9e
  • specs/acqbg: record the rejected private-upstream OSS/EE projection by @mvdan in 692bedc58a8cb864e351d2d9f8d0ff980822bbd4
  • specs: migrate to the consolidated CUE Labs specs/topics layout by @mpvl in 3fbac7b9a90f18929ce0913912dd0b9bc255c897
  • specs/acnav: implement the license outcomes and record the BUSL flip by @mpvl in 83560a1f09c91f01ac65334932eeb16c9bbc498f
  • specs/acnav: specify tier marking and pick the enterprise license by @mpvl in 5f01d625f0a64883e4e0ac66c30a00542c5c1094
  • specs/ace8n: record prevalidated registration and performance paths by @mpvl in 1cffdb42fd80600a7c9ef9db40b1c553fba7bb11
  • unstable/encodingregistry: add prevalidated registration by @mpvl in 991addc2c9addf28582b1448d80977ece96432fb
  • specs/ace8n: record the value-plane codec decision by @mpvl in 56abb3ec51d888f7660e137530b5258845aa3df7
  • unstable/encodingregistry: add value-plane codecs by @mpvl in a8158dd5ebd36fe5f22875cc4be9df192f05aa0d
  • specs/ace8n: record implementation validation and reconcile the change by @mpvl in 317f15b0bd1633861f04821d7d33b2860ce36c68
  • specs/ace8n: extend the registration-schema contract by @mpvl in 113c84d392c7aadc9e2d1f88c5508a06fbd81fec
  • unstable/encodingregistry: add runtime registration and wire dispatch by @mpvl in 522c5dfe31a575ddcfe1658cf207d614b5b2bd18
  • internal/filetypes: replace generated tables with an open-data driver by @mpvl in ed484e3f6d6a647279a43308256e4c6755eac0b2
  • cmd/cue: add file-type coverage for extensions, output forms, and pb by @mpvl in b471bea37d2611df2d3d0da874fe52dabe99f47d
  • specs/ace8n: record dynamic filetypes design and proposal by @mpvl in dc7b72e5ec3870b0e99ef166cda9c52872d200b0
  • specs/ace8n: record the dynamic-filetypes prototype research by @mpvl in 0f3cb62cb43f0ee096b2fb847eff6b00f784196a
  • internal/filetypes: prototype dynamic file type registration by @mpvl in 17f2ec7dce3184bbef2fd6f0dd322f8420896387
  • specs/ace8n: add the dynamic file types spec, plan, and tasks by @mpvl in ca5ff3890f0a2d323e17e3de8732df41af34109f
  • internal/ci/checks: reject split commit message trailer blocks by @mvdan in 985fb770c7e3c8195d4d9deae1370035fbe0170a
  • speckit: upgrade to spec-kit 0.14.2 and adopt the CUE Labs unit by @mpvl in 0e7d48dca5cc61734f99e7042ff3c051fd3c6b61
  • .specify/feature.json: remove by @mpvl in 8a4574c99ee81121f072f7304055390d13621417
  • internal/ci: push each trybot dispatch to a uniquely named branch by @mvdan in 45b60e0192815b5cf314aa7b6adeb3cebb91c610
  • chore: install acdpw host agent attention hooks by @mpvl in 28337ba827de0bf1af19a3bbed6443156ff2e2ee
  • AGENTS.md: replace with a symlink to CLAUDE.md by @mvdan in 89e23c6bb724cb33b6c9d175ac862a23681ac693
  • specs/ac78e: docs: add the design pages under a declared proposal by @mpvl in bbf0ce06cb008e985c1c11278abd978cf501366e
  • specs/ac78e: docs: record the inner-default domain gap on the ballot by @mpvl in 1eec98dc0b94fb638aa03837e523bf7b10bac922
  • specs/ac78e: review: apply the round-6 adversarial repairs (D-031) by @mpvl in 569cbff8e8e971bbde4fcd289ddf72d9cebbdec4
  • specs/ac78e: review: record round 3-bis, adopt D-030, and rebuild the checker by @mpvl in cbad1a701c1c32f64ee23d5a6aae4b0984cff72d
  • specs/ac78e: review: record and apply the round-3 findings (formal.md v5) by @mpvl in e8c43168a2280d0b63aed60660a9c37b80b4afc9
  • specs/ac78e: review: adjudicate and apply D-027 through D-029 by @mpvl in 713236826c1519032df5e4cac8a90673bb0e3317
  • specs/ac78e: fix: remediate the defaults formal model after external review by @mpvl in da36ad8b44e14ff4e202b10ed2cc63b9379b8321
  • specs/ac78e: feat: add the design outcomes of the defaults exploration by @mpvl in f1227bc1c9bd727281413e6e6d6ec9fc8b2f7c2e
  • specs/ac78e: feat: plan the defaults redesign and record its decisions by @mpvl in 28bfce19b29438768c60db9d06cc3f4ee7907cdf
  • specs/ac78e: feat: specify the CUE defaults redesign by @mpvl in fd6101ecb135fdfe4b0058b6003a4c5bc2dea2d1
  • internal/ci: cue-labs repos should use porcuepine, not cueckoo by @mvdan in 0f016ea0b18ce1dd14c517012590456c18c87eee
  • internal/ci: run CL trybot builds in the source repository by @mvdan in 79d2230e41928a10892d9dc437e92de06a041eb9
  • internal/ci: split the repository identity into source and public by @mvdan in e949ac2cbbc34f87581035c5799503bf54e98403
  • speckit: adopt base32-time feature IDs by @mpvl in eae3870c872be87bbd8500472c237a27744147b1
  • speckit: honor the feature pointer in prerequisite checks by @mpvl in 2f567f8f500d38d0a31e38648fb966ecf09d3d3d
  • ci: enforce the proposal-frontmatter gate in TryBot by @mpvl in 1edd3ab3b47e22395e88cf337463d192c5ba76c1
  • speckit: adopt the CUE Labs proposal convention by @mpvl in 282fc38229161fa8736205c084a899517836fc7a
  • speckit: install the attention-hook registration unit by @mpvl in bedfb0aed7c8cb2efe471c5ef21e48dc38548954
  • speckit: add a generated gemini command surface by @mpvl in cd7ebfd2243bf04b7c9032f2254f6fa1abc1377b
  • speckit: resolve overlapping feature numbers by name by @mpvl in 048e1445850668bed7c539dffebf26a2c723bfe3
  • speckit: enforce composite spec commit prefixes by @mpvl in 019a7e02f0d472a66e86c4a74b2137f46339a0f2
  • speckit: define change lifecycle and governance gates by @mpvl in 94fdcf4f01aa5e2796df7c313e1f340af41f2c0b
  • speckit: add capability catalog and durable change records by @mpvl in bea3807a927621a8bcd4e514a7e235921c334830
  • speckit: add spec-driven-development skills for agents by @mpvl in 91166e3d8eb6455385def220d388414dac2226cf
  • internal/ci: move the Gerrit URL but not the GitHub one by @mvdan in 000b62277923304da4b0a3bbefce9cf2377ee6cc
  • REUSE.toml: cover the whole repository with three-tier annotations by @mpvl in b02a65594944e6db1afca6efefe92d86cac3af7e
  • internal/cmd/testscript-plugin-cue: new command by @rogpeppe in f356f8f
  • internal/cuetestscript: factor out the cue testscript environment by @rogpeppe in 388c29d

Don't miss a new cue release

NewReleases is sending notifications on new releases.