Populars: Dades actualitzades el 26 d’octubre del 2026

Categories

Internet1.355
Comunicació321
Àudio i vídeo898
Gràfics i disseny539
Ofimàtica i productivitat1.120
Eines per a desenvolupadors3.132
Eines d’IA527
Seguretat i privadesa385
Eines del sistema3.113
Jocs523
Educació i ciència239
Xarxa i TI284

Cue: baixar versions anteriors

CUE is an open source data constraint language which aims to simplify tasks involving defining and using data.

Cue Contenidors i DevOps #70 Contenidors i DevOps

Aquí hi ha 20 versions de Cue, des de 4 de desembre del 2023 fins a l’actual, 0.17.1. Cadascuna enllaça amb els instal·ladors del mateix desenvolupador.

2023: 2 2 23 2024: 2 2 24 2025: 11 11 25 2026: 5 5 26

20 versions en 3 anys · unes 7,6 per any

VersióDataMidaFitxers
0.17.1Darrera versió 16 de juliol del 2026 — 64 bits ZIPARM64 ZIP
Notes de la versió
Evaluator
Fix several regressions introduced in v0.17.0: a panic when evaluating some disjunctions (#4419), and spurious invalid interpolation (#4420), field not allowed (#4423), and structural cycle (#4430) errors involving comprehensions or self references.
Fix two regressions introduced in v0.17.0 where evaluation could hang (#4421, #4422), as well as two long-standing hangs on self-referencing configurations (#2766, #4231).
cmd/cue
Fix a panic in cue exp gengotypes, a regression introduced in v0.17.0, when a definition references a definition from another package via embedding (#4436).
Module replacements are now subject to minimum-version selection like any other dependency. cue mod tidy now normalizes a fully-pinned replacement to its major version and records the target as a regular dependency.
Full list of changes since v0.17.0
- internal/cueversion: bump for v0.17.1 by @mvdan in fc6c0b2
- internal/ci: bump pinnedReleaseGo for v0.17.1 by @mvdan in 9c720d0
- [release-branch.v0.17] internal/core: resolve import instances back to their build instance by @mvdan in 8ead2d9
- [release-branch.v0.17] internal/core/adt: allow chained re-instantiation of inline conjunctions by @mvdan in f81f772
- [release-branch.v0.17] cue/testdata/cycle: add regression test for spurious inline cycle by @mvdan in 993c44e
- [release-branch.v0.17] internal/core/adt: fix hang on let binding a self-referencing struct by @mvdan in 1cd5e1f
- [release-branch.v0.17] internal/core/adt: fix hang on self-feeding cycle advancing depth by @mvdan in ed51952
- [release-branch.v0.17] internal/core/adt: defer field-set freeze for a running resolver by @mvdan in e69e621
- [release-branch.v0.17] internal/core/adt: defer fieldSetKnown for a running field-adding conjunct by @mvdan in 459016a
- [release-branch.v0.17] internal/core/adt: do not defer resolvers during comprehension clauses by @mvdan in f89ebec
- [release-branch.v0.17] cue/testdata/comprehensions: test guard-driven premature finalization by @mvdan in 6176fb5
- [release-branch.v0.17] internal/core/adt,pkg: bound string, bytes, and list repeat counts by @mvdan in 3017156
- [release-branch.v0.17] cue/parser: limit expression nesting depth during parsing by @mvdan in f6f05bb
- [release-branch.v0.17] internal/encoding/yaml: limit the size of YAML alias expansion by @mvdan in 04d57ab
- [release-branch.v0.17] internal/core/adt: treat cyclic under-resolved values as incomplete scalars by @mvdan in 63994d5
- [release-branch.v0.17] cue/testdata/references: test a comprehension dynamic field under a let self by @mvdan in 0ba71ca
- [release-branch.v0.17] internal/core/adt: do not reclaim disjunct arc states before merging by @mvdan in b72d5b4
- [release-branch.v0.17] internal/core/adt: do not discard recomputed let cycle placeholders by @mvdan in f82d498
- [release-branch.v0.17] internal/core/adt: fix hang on dynamic field whose key is under evaluation by @mvdan in e0b974d
- [release-branch.v0.17] all: re-run tests with CUE_UPDATE=1 by @mvdan in 7d5a557
- [release-branch.v0.17] encoding/jsonschema: avoid panic on non-string element in "required" by @mvdan in f6bc350
0.17.0 29 de juny del 2026 — 64 bits ZIPARM64 ZIP
Notes de la versió
Changes which may break some users are marked below with: ⚠️
Language
The active try experiment renames the new fallback keyword, used with for comprehensions, to otherwise. fallback continues to be accepted for now, but is rewritten to the new form.
The active aliasv2 experiment now allows ~(X) as an alternative to ~X for the single postfix alias form. ~X is also rewritten as ~(X) for the sake of consistency and clarity.
Language versions v0.17.0 and later allow omitting commas in multi-line lists. Just like a newline after a struct field implies a comma, a newline after a list element now implies a comma as well.
Language versions v0.17.0 and later allow a newline or a comma before the closing bracket of an index expression, matching how lists and func arguments allow omitting trailing commas.
The language spec is tweaked to make $ a valid identifier, which was already allowed by the parser and evaluator.
⚠️ Support for the infix div, mod, quo, and rem operators has been removed. Since late 2020, these infix forms have been undocumented and rewritten by cue fix to the new function calls.
The new shortcircuit experiment
This release introduces the shortcircuit experiment, which changes the && and || operators to not evaluate the right operand if the left operand alone determines the result.
This matches the behavior already documented in the CUE spec and is consistent with most mainstream languages, but for the sake of a smooth transition for end users, we are rolling out this change via an experiment.
You can try this experiment via the @experiment(shortcircuit) file attribute. To mimic the old behavior with the experiment, you can use a hidden field:
_y: Y
if X && _y {}
Evaluator
Comprehensions
The comprehension algorithm now waits to run a comprehension's body until the fields it reads have a concrete value, rather than trying to produce its fields up front. This resolves a number of long-standing bugs, most notably the last known regressions from evalv2, where a comprehension that should have resolved instead failed as an incomplete value or a cycle.
This design also greatly simplifies upcoming evaluator work, such as introducing new builtins to replace comparing values to bottom, as well as the design of evalv4.
Other changes
The evaluator no longer deduplicates errors just by position, which was causing some useful errors from disjunctions or standard library calls to be dropped incorrectly.
Several long-standing cycle-detection bugs have been fixed, such as self-referential uses of matchN and matchIf, self-feeding disjunctions, and comprehensions that read a let binding which refers back to the comprehension's own fields.
Fixed a bug where the same package imported via different qualified import paths (e.g. foo.com/bar@v0 or foo.com/bar:baz) did not share the same hidden field namespace.
Resolving an unversioned import from a dependency module now respects that module's own default major version, instead of always using the main module's default.
Fix a number of issues where cue def could produce invalid CUE output, such as due to name conflicts.
Fix an evaluator regression where embedded disjunctions across packages may not correctly apply closedness.
Fix an evaluator bug where cue.Context.BuildExpr of close({}) did not actually result in a closed struct.
Fix a bug where some calls to standard library functions or validators did not include the "error in call to pkg.Func" error context, or included it twice.
A few changes to the evaluator should reduce allocated objects by up to 16%, reducing GC overhead and memory usage.
To ease the transition into the new formatter we plan to release with v0.18, CUE_EXPERIMENT=formatv2=0 is now allowed as a no-op.
A number of other bugs, panics, and hangs have been resolved as well.
cmd/cue
Module replaces
CUE now supports substituting a module dependency with a local directory or a different remote module during development - for example while testing a fix to a dependency before i
0.16.1 8 d’abril del 2026 — 64 bits ZIPARM64 ZIP
Notes de la versió
Language
The fallback keyword in the aliasv2 experiment is replaced by otherwise, which is clearer. cue fmt or cue fix can be used to rewrite existing code.
Evaluator
Fix a regression where the compiler could add comments to the input AST value, which could lead to increased memory usage.
Fix a bug where exporting certain schemas could result in "cannot have both alias and field in same scope" errors.
cmd/cue
Fix a panic which could occur when using non-label expressions in the --path flag.
Teach cue login to give helpful errors when used with OCI registries which don't support the OAuth2 device flow.
Go API
Fix a regression where cue.Context.Encode could panic on custom marshaler types with pointer receivers.
Full list of changes since v0.16.0
- internal/cueversion: bump to v0.16.1 by @mvdan in 6d609d7
- internal/ci: build releases with Go 1.26.2 by @mvdan in cedf4c8
- update all golang.org/x/... dependencies by @mvdan in b4efeef
- all: rename fallback keyword to otherwise by @mpvl in f813811
- lsp/cache: improve rename by @cuematthew in 8e47027
- integration/workspace: add test showing bad behaviour by @cuematthew in a5e0ef5
- cmd/cue: suggest docker/podman login when OAuth2 device flow is unsupported by @mvdan in c169605
- cmd/cue: add testscript for cue login when device code endpoint is unsupported by @mvdan in d7c882a
- cmd/cue: clarify how to authenticate with standard OCI registries by @mvdan in 2613edf
- internal/core/compile: avoid mutating AST by @rogpeppe in e4b0516
- internal/core/export: fix alias/field name conflict in pattern constraints by @mvdan in 1e46409
- internal/core/export: add regression test for alias/field name conflict by @mvdan in 1654f66
- pkg: fix godoc mistakes across several packages by @mvdan in eae9aaf
- internal/core/convert: fix panic when encoding pointer-receiver marshalers by @mvdan in 8e39aec
- cmd/cue: return an error for non-label --path expressions instead of panicking by @mvdan in 5a55849
- encoding: add godoc hints for cue/ast result types by @mvdan in 682c663
0.16.0 3 de març del 2026 — 64 bits ZIPARM64 ZIP
Notes de la versió
Changes which may break some users are marked below with: ⚠️
Language
As a reminder, we have two ongoing language experiments since v0.15; a replacement for struct embedding and a rework of aliases. Please give these a try and report any issues or feedback!
⚠️ The cmdreferencepkg global experiment is now stable, meaning that CUE_EXPERIMENT=cmdreferencepkg is always enabled.
#"""# is now accepted as a string literal quoting a double quote, ".
Multiline string literals now require a trailing newline, matching the language spec.
The new try experiment
This release introduces the try experiment, which adds a try clause in comprehensions as well as the use of ? in field selectors. This addition to the language is intended to provide a more concise syntax for handling optional fields without the risk of unintentionally swallowing errors.
This experiment also introduces the else clause for if and try comprehensions, and the fallback clause for for comprehensions, which trigger when a comprehension produces zero values.
You can try this experiment by following our how-to guides on the try clause and the else clause. For more information, see the proposal on GitHub and the spec change patch.
Evaluator
Performance
Further improve the use of caching in the typochecker algorithm; this provides speed-ups of up to 80% on some large projects.
Very large structs (tested with 20,000 fields) are up to 80% faster now, as we were repeating some work unnecessarily.
A great deal of effort has gone into reducing the allocations and memory usage across a number of projects. For some of these, memory usage is down by as much as 60%.
These improvements were possible thanks to our Unity service, letting us analyze CUE's performance and test for regressions on third party projects. Contact @mvdan on Discord, Slack, or via the Unity page to ensure that your project is included or you are running into slowness.
A number of changes were made to improve support for using cue.Values concurrently; see Issue #2733 for more details and ongoing progress.
Other changes
Fix a regression introduced in v0.13 where the or built-in with literal arguments could stop behaving like a disjunction.
A number of panics and other bugs in the evaluator which were reported since v0.15.0 have been fixed; thank you to all who reported these.
cmd/cue
Add support for $DOCKER_AUTH_CONFIG to directly provide the contents of $DOCKER_CONFIG/config.json to authenticate with module registries, matching Docker's current behavior.
The --outfile flag now works when given non-regular files such as named pipes or sockets.
⚠️ cue mod publish no longer ignores sub-directories containing a go.mod file.
⚠️ Using cue inside the cue.mod directory now fails consistently with a clear error message to not place CUE code there. Previously, some commands worked while others failed with confusing errors.
⚠️ The global --verbose and --trace flags have been moved to the cue get go and cue trim commands respectively, as they were the only ones actually using those flags, and this could be confusing to users.
Fix a bug where loading ./...:pkgname could lead to loading directories without CUE files as instances, which could cause poor performance for CUE packages with multiple parent directories.
cue exp writefs gains an encoding optional field for regular files, to specify an encoding rather than infer it from the filename extension.
LSP server
Initial LSP support for editing embedded JSON and YAML files. This feature provides completions and hover-docs when editing JSON or YAML files which are embedded into CUE via the @embed attribute. A teaser video is available on YouTube.
Code Actions: two code actions are now provided, Add surrounding struct braces and Remove surrounding struct braces, which convert between
a: b: c
and
a: {
b: c
}
with the cursor on b.
A complete overhaul of how the LSP server suggests code completions. This solves the previous naïve implementation which would only make suggestions afte
0.15.4 27 de gener del 2026 — 64 bits ZIPARM64 ZIP
Notes de la versió
Evaluator
Fix a panic which could occur when using the error built-in with cyclic references.
Fix a panic which could occur when loading @experiment(aliasv2) syntax with an invalid alias name.
cmd/cue
Relax the cue login --token validation to allow future Central Registry token types.
Encodings
Fix a bug in the TOML decoder where nested arrays were causing incorrect "duplicate key" errors.
Full list of changes since v0.15.3
- internal/cueversion: bump LanguageVersion for v0.15.4 by @mvdan in 50c137c
- internal/ci: bump Go and goreleaser for v0.15.4 by @mvdan in 8e3eaa9
- cmd/cue: relax login --token prefix validation by @rustyx in d0bd478
- cue/ast/astutil: fix nil pointer dereference in postfix alias error by @mvdan in c5df0af
- internal/core/debug: fix stack overflow in error formatting by @mvdan in bf7a40d
- encoding/toml: correctly check for duplicate keys with arrays by @mvdan in 4a5fd52
0.15.3 30 de desembre del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
Evaluator
Fix a panic which could occur when using Expr after LookupPath on a cue.Value.
cmd/cue
Fix a panic which could occur when using cue cmd tasks referencing definitions.
Fix a panic which could occur when cue get go encountered a Go enum type with zero named values.
Encodings
Fix a bug in the TOML decoder where nested arrays were not being correctly mapped to CUE values.
Full list of changes since v0.15.1
- internal/ci: bump Go and goreleaser versions by @mvdan in 8a91fed
- cmd/cue: avoid panic in get go when an enum has zero named values by @mvdan in f544b9c
- encoding/toml: forget nested arrays when starting a new array element by @mvdan in 641c64a
- tools/flow: support task results when defined via definitions by @mvdan in 6d86ce6
- cmd/cue: add test case for issue #2633 by @mvdan in 3544f15
- internal/core/adt: check opID before inheriting parent reqSets by @mvdan in 3cb0e2d
0.15.1 21 de novembre del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
Evaluator
Fix an evalv3 regression first introduced in v0.11.0 where the and built-in function started evaluating its arguments too eagerly, causing failures in cue def.
Fix an evalv3 regression where closedness info could be lost when using a comprehension.
Fix a bug where the evaluator would panic on alias cycles with dynamic fields rather than giving a good error.
LSP
Formatting standalone CUE files - either without a package name, or outside of a CUE module - now works correctly.
Fix a bug where trying to use "find references" on a CUE module with nested modules would cause a hang.
Fix a bug where resolving path roots did not work correctly in the presence of struct embeddings.
cmd/cue
Fix a regression in v0.15.0 where cue get go no longer skipped generating CUE files without any declarations.
Go API
Fix a bug in the subsume package where a struct with a pattern constraint did not subsume a closed struct with a matching field.
Rename the bootstrap build tag used in the internal/filetypes package to cuebootstrap to avoid conflicts with build tags in other Go modules.
Full list of changes since v0.15.0
- bump pinnedReleaseGo and LanguageVersion for v0.15.1 by @mvdan in 350755e
- lsp/fscache: improve removal of phantom package decls by @cuematthew in bcc9a45
- internal/lsp: format standalone files without phantom pkg names by @cuematthew in bf16055
- lsp/definitions: correct resolution of path roots by @cuematthew in e64569f
- lsp/definitions: add test to show faulty resolution by @cuematthew in f2076ae
- lsp/cache: stop nested modules from breaking find-references by @cuematthew in 6d75085
- internal/core/compile: don't panic on an alias cycle with a dynamic field by @mvdan in cf6c597
- internal/core/compile: revert and to use Func instead of RawFunc by @mvdan in 37e8637
- cue/testdata: add test case for #3719 by @mvdan in de5328e
- internal/core/subsume: fix duplicate logic for pattern constraints by @mvdan in a229275
- internal/core/subsume: add test cases for pattern constraints by @mvdan in bca0a55
- internal/filetypes: use a less generic bootstrap build tag by @mvdan in 94f2f0e
- cmd/cue: do not emit empty CUE files in get go again by @mvdan in 819474c
- cmd/cue: test that we don't emit empty CUE files without --outfile by @mvdan in e61516d
- internal/core/adt: check removed scope per conjunct by @mvdan in 2e8e111
- cue/testdata: add a test case for #4180 by @mvdan in f81118c
0.15.0 6 de novembre del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
Changes which may break some users are marked below with: ⚠️
Note that this release no longer includes a checksums.txt asset; GitHub now provide digests natively.
LSP
This release includes the initial version of cue lsp - with support for "go to definition", "find references", rename, code completion, hover documentation, and code formatting.
See our Getting Started wiki page for instructions on how to set it up with your editor.
Please report any bugs or missing features you encounter via the Issue tracker or via the #lsp channels on Discord or Slack.
Language
explicitopen experiment for #A...
The explicitopen per-file experiment enables the posfix ... operator to explicitly open closed structs, allowing additional fields to be added. This change simplifies CUE's semantics, reduces user confusion, and enables clearer expression of type extensibility patterns.
You can try this experiment by following our how-to guide. For more information, see the proposal on GitHub and the spec change patch.
aliasv2 experiment
The aliasv2 per-file experiment implements the new "postfix aliases" syntax, and introduces a "self" predeclared identifier referring to the innermost surrounding struct or list.
You can try this experiment by following our how-to guide. For more information, see the proposal on GitHub and the spec change patch.
Other experiments
⚠️ With its proposal accepted, the keepvalidators global experiment is now stable, meaning that CUE_EXPERIMENT=keepvalidators is always enabled.
With its proposal accepted, the structcmp per-file experiment is now stable with language.version at v0.15.0 or later, meaning that the @experiment(structcmp) attribute is unnecessary as it's always enabled.
Evaluator
⚠️ Removing evalv2
The old evalv2 evaluator, which previously could be re-enabled via CUE_EXPERIMENT=evalv3=0, is now deleted. The new evalv3 evaluator has been on by default since v0.13.0, and at this point our entire test suite including Unity is working.
Removing the old evaluator reduces significant load on development, as we were able to clear out 4000 lines of code, and simplify the internal types and code structure. This is a necessary step to unblock ongoing feature and performance work in the evaluator.
As a bonus, because the old and new evaluators shared many core evaluator types, removing the fields only used by the old evaluator yields modest memory usage improvements of around 4-6%.
Performance
Evaluating concrete CUE values no longer involves dependency analysis; this should result in modest speed improvements when marshaling to YAML, via either cue export -e expr -o yaml or yaml.Marshal.
Dependency analysis now avoids computing references more than once, which resolves an expontential performance issue for some configurations using chains of CUE references.
Add caching to a part of the typochecker algorithm; this has been measured to provide performance improvements of up to 30% on a few large projects.
cue/parser now reuses more memory, which results in parsing performance improvements of up to 30% and memory savings of up to 50%, especially when loading large CUE data files.
Other changes
File embedding via the @embed attribute has gained an allowEmptyGlob option, to allow glob patterns to match zero files without causing an error.
The evaluator now shows all user errors created with the error builtin when they can be related to a disjunction failure. Previously, the evaluator would try to only show user errors directly part of a disjunction error, but that caused too many omissions.
Some error positions which were lost in the transition from evalv2 to evalv3 have been reintroduced.
Fix a bug where required fields in a definition might not be enforced when unifying with an inline struct in an expression, such as (#RequiresFoo & {bar: "baz"}).bar.
Fix a regression introduced in v0.12.0 where incomplete errors were not being handled consistently if they directly involved the top-level value.
A number of panics and error re
0.14.2 10 d’octubre del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
Evaluator
Fix an unintended evalv2 regression in v0.14.1; the change only intended to affect evalv3.
Fix a panic in the parser which could occur when @experiment() file attributes are invalid.
Fix an edge case where binary streams with ''' sequences would not roundtrip correctly.
Full list of changes since v0.14.1
- internal/cueversion: bump for v0.14.2 by @mvdan in d3fd2fb
- internal/ci: build releases with Go 1.24.8 by @mvdan in 9d0a821
- update golang.org/x/... dependencies where we can by @mvdan in 3700db6
- cue/literal: properly include hashes in escape sequences in bytes by @mvdan in e307749
- cue/literal: add test case for lossy bytes quoting by @mvdan in cfb31dc
- cue/parser: backport a fix to avoid panics on experiment errors by @mvdan in 15e00c7
- internal/core/adt: revert unintended behavior change in evalv2 by @mvdan in 3bacdcc
0.14.1 11 d’agost del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
Evaluator
Fix three more regressions where evalv3 gave cycle errors and evalv2 did not.
Fix a regression where evalv3 was too strict with ellipses in certain situations, causing "field not allowed" regressions.
Fix a regression where errors in optional fields were not being ignored as intended.
Full list of changes since v0.14.0
- internal/core/adt: fix initArcs for errors in optional fields by @mpvl in 0c5769b
- internal/core/adt: add tests for Issue 4022 by @mpvl in 46cf125
- internal/cueversion: bump for v0.14.1 by @mvdan in ec4ae2d
- cmd/cue/cmd: use ParseInt with 64 bit size in cmd_after testdata by @folliehiyuki in 5bbc5af
- internal/core/adt: add missing dereference by @mpvl in 8a9fbbe
- internal/core/adt: add tests for 4011 by @mpvl in f5cb099
- internal/core/adt: detect non-cycle by @mpvl in a340364
- internal/core/adt: fix cycle for structural cycles by @mpvl in 2ac7ea6
- internal/core/adt: add tests for issue 3940 and 3990 by @mpvl in 6ef76be
- internal/core/adt: fix ellipsis strictness issue by @mpvl in a37c429
- internal/core/adt: add tests for #4015 by @mpvl in a65e053
- internal/ci: update the pinned Go version for v0.14.1 by @mvdan in 428968c
0.14.0 1 d’agost del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
This release brings significant performance improvements, three language changes, and initial support for Kubernetes CRDs.
Changes which may break some users are marked below with: ⚠️
Evaluator
Performance
A particularly slow part of the new closedness algorithm has been rewritten for speed, resulting in improvements of up to 10x in wall times for some projects.
Significant progress has been made to the new evaluator's memory usage; a few large projects experiencing high memory usage on v0.13 now see reductions of up to 80%.
Various other optimizations and performance bug fixes have been made to the new evaluator, yielding speed-ups of 5-20% on a variety of CUE projects.
error builtin
A new error builtin is added to the language, which allows users to create custom error values with a specified message.
Don't simplify validators into concrete values
A new CUE_EXPERIMENT=keepvalidators experiment is introduced, already on by default, which prevents validators from being simplified into concrete values.
X == Y and == X
Firstly, there were several bug fixes related to ==. Most notably, [int] == [int] incorrectly resolved to true. It now correctly resolves to an error.
All other changes are enabled using the @experiment(structcmp) file-level attribute.
Enabling this experiment allows all CUE values to be compared for equality. This includes comparing structs.
The same experiment also allows a unary == to enforce that a value is a specific concrete value.
Other changes
⚠️ The file embedding experiment can no longer be disabled via CUE_EXPERIMENT=embed=0, having been introduced in CUE v0.10.0.
File embedding is now enabled when using the cue/cuecontext or cue/load APIs; earlier versions could not expose it via the Go API due to an import cycle.
⚠️ The topological field sorting experiment can no longer be disabled via CUE_EXPERIMENT=toposort=0, having been introduced in CUE v0.11.0.
⚠️ CUE_EXPERIMENT=cmdreferencepkg, introduced in v0.13.0 to require referencing tool packages to declare cue cmd tasks, is now on by default.
The new closedness algorithm has been adjusted to fix a number of "field not allowed" bugs, particularly in the form of regressions compared to the old evaluator.
A particularly slow part of the new closedness algorithm has been optimized, resulting in improvements of up to 10x in wall times for some projects.
cmd/cue
⚠️ cue def --strict jsonschema:, deprecated in favor of cue def jsonschema+strict: in v0.11.0, is no longer supported.
Two bugs have been fixed in the new cue trim algorithm where disjunctions could incorrectly select defaults or be treated as ambiguous.
Encodings
cue get crd introduces support for extracting Kubernetes Custom Resource Definitions (CRDs) as CUE definitions; see cue help get crd.
The new encoding/jsonschema.ExtractCRDs Go API exposes the extractor used by cue get crd.
The JSON Schema decoder has gained support for dependencies, bringing the pass rate for the official JSON Schema test suite up from 79% to 81%.
Go API
cue/load now provides module information via the new Instance.ModuleFile field.
⚠️ In order to support the above change, the mod/modfile.File.Format method has been moved to the function mod/modfile.Format: an API-breaking change but necessary to avoid a cyclic package dependency.
cue/parser gains a new Config API, which allows other packages like cue/load to properly apply the right parser options such as the CUE language version.
⚠️ In order to support the above change, the cue/parser.Config.ParseFile and cue/build.ParseFile signatures have now changed (incompatibly) to add a parser.Config argument, enabling the CUE language version to be passed through.
Fix an issue where cue.Value.Decode did not work with *math/big.Float types.
Full list of changes since v0.13.0
- internal/core/adt: inline combinedFlags helpers by @mpvl in dffc5ce
- internal/core/adt: refactor combinedFlags from bit-packed uint32 to struct by @mpvl in f44480d
- ai: specify use of git codereview by @mpvl 
0.13.2 24 de juny del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
Evaluator
Fix a regression causing odd number of disjuncts to misbehave in some cases.
Full list of changes since v0.13.1
- internal/cueversion: bump for v0.13.2 by @mvdan in cfdcbe5
- internal/core/adt: fix default logic by @mpvl in 9d0e28d
- internal/core/adt: add tests for 3958 by @mpvl in fdf8a16
0.13.1 10 de juny del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
Evaluator
The evaluator's core packages no longer depend on the golang.org/x/mod module, which was only used to format version strings.
Fix a regression causing "cyclic field to reference" in some cases.
Fix a regression causing closedness rules to not apply in some cases.
Disable a minor optimization which was also causing closedness rules to not apply in some cases.
cmd/cue
Fix a build error triggered by changes in the upcoming Go 1.25 version, allowing v0.13 to be used further into the future.
cue mod mirror --dry-run now works as documented; it had been left unimplemented by accident.
Full list of changes since v0.13.0
- internal/ci: bump Go version for v0.13.1 by @mvdan in 65a5178
- internal/core/adt: also typo check disjuncts by @mpvl in 72bf578
- internal/core/adt: add tests for Issue 3957 by @mpvl in ea56b5a
- internal/golangorgx/tools/tokeninternal: remove by @mvdan in e316125
- internal/core/adt: partially revert CL 1214950 by @mpvl in 0f896f6
- internal/core/adt: add tests for 3946 by @mpvl in a7ab473
- internal/cueversion: avoid dependency on golang.org/x/mod by @rogpeppe in 85e1230
- internal/core/adt: do not always filter disjuncts by @mpvl in c5bc992
- internal/core/adt: add tests for 3947 by @mpvl in 8350f89
- cmd/cue: implement mirror --dry-run by @rogpeppe in 8e68892
0.13.0 22 de maig del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
This release finally enables the new evaluator by default -- the culmination of over a year's worth of work!
It also packs in lots of new features, such as support for absolute module packages, dozens of JSON Schema improvements, and a new experimental XML encoding.
Changes which may break some users are marked below with: ⚠️
Evaluator
The new evaluator first introduced in v0.9.0 via CUE_EXPERIMENT=evalv3 is now enabled by default! There are no remaining substantial regressions in our test suite, and the Unity corpus is almost entirely working now. Given that the new evaluator fixes dozens of bugs for many users, and is already significantly faster for the majority of CUE users, we believe it is time to turn it on by default.
We will continue to track any remaining issues for the new evaluator via the evalv3 label. If you encounter any regressions, please file a bug report. You can also revert to the old evaluator to temporarily work around bugs via CUE_EXPERIMENT=evalv3=0. See this FAQ page for more information.
We aim to resolve many of these remaining bugs in an upcoming v0.13.1 bugfix release.
An entirely new algorithm for cue trim and tools/trim has been implemented for evalv3, which resolves all known bugs when trimming CUE.
Closedness in evalv3 has been revisited to match the semantics of evalv2 much more closely, while at the same time reducing its overhead for larger configurations. This fixes most "field not allowed" regressions and improves the performance of some configurations by up to 5x. As a result, CUE_DEBUG=openinline is now removed as it is unnecessary.
Performance work for the new evaluator is ongoing; a number of changes in this release led to performance improvements of between 5% and 80% for a variety of projects. For more details, see Marcel's performance update last month.
⚠️ The new topological sort algorithm for field ordering has been tweaked to avoid becoming too slow in some cases. This may result in some ordering changes, but we expect them to be relatively small. See the change for more details.
The parser now correctly allows keywords as required field labels, such as if!: _, fixing a discrepancy with the spec.
Filenames beginning with a dot can now be embedded as long as the glob pattern uses an explicit dot, such as @embed(glob="dir/.data_*.json").
⚠️ @embed(glob="pattern...") directives whose file globbing results in zero files now result in an error, to avoid situations where a glob pattern silently stops working as intended.
cmd/cue
Initial support for absolute packages is introduced, which allow specifying a remote package at a particular version such as cue export foo.com/data@v1.2.3 or cue vet foo.com/schema@v1.2.3 -d '#schema' data.yaml without requiring a CUE module file locally.
The cue help filetypes logic, written itself in CUE, no longer requires using the evaluator to parse CLI arguments or load CUE packages. This results in significant speed-ups when using the CLI with many inputs.
The new cue refactor imports command rewrites import paths, making it easy to migrate between module locations and major versions.
The new cue mod mirror command copies modules from one registry to another.
cue mod tidy now preserves the top-level custom field as intended.
Hidden files, and files with build tags, should now be correctly filtered when loading a single CUE package.
cue get go should no longer attempt to import types from the Go standard library as CUE, which caused errors.
cue get go no longer fails on Go strings containing certain character escape sequences or non-UTF8 bytes.
cue get go now interprets Go fields with the new json:",omitzero" struct tag as CUE optional fields.
cue cmd now fails if no tasks were actually defined, to avoid situations where a user is misled into thinking a task was defined when it was not.
Encodings
The XML "Koala" encoding proposed in February is now available via an experimental implementation. Try it out via the CLI like cue export xml+koala: data.xml, o
0.12.1 3 d’abril del 2025 — 64 bits ZIPARM64 ZIP
Notes de la versió
Evaluator
Embedding binary files like @embed(file="foo", type=binary) no longer interprets the files as Unicode text, which mangled invalid UTF-8 bytes.
cmd/cue
The release archives are now built with Go 1.24, which should fix cue get go when used with Go installed at version 1.24.
Full list of changes since v0.12.0
- internal/ci: test and release on Go 1.24 by @mvdan in c03a715
- internal/encoding: don't interpret files as UTF8 with the binary encoding by @nichtsundniemand in df60e2f
- cmd/cue/cmd: show incorrect handling of binary files when embedded by @nichtsundniemand in 39aa9e4
0.12.0 30 de gener del 2025 — 64 bits ZIPARM64 ZIP
0.8.0 15 de març del 2024 — 64 bits ZIPARM64 ZIP
0.7.1 12 de febrer del 2024 — 64 bits ZIPARM64 ZIP
Notes de la versió
This release is a re-build of CUE v0.7.0 with Go 1.22.0 to prevent cue get go panics; see
0.7.0 6 de desembre del 2023 — 64 bits ZIPARM64 ZIP
0.6.0 4 de desembre del 2023 — 64 bits ZIPARM64 ZIP

El més popular a Contenidors i DevOps

Mostra-ho tot
  1. HelmContenidors i DevOps · Helm
  2. Docker DesktopContenidors i DevOps · Docker Inc.
  3. PulumiContenidors i DevOps · Pulumi Corp
  4. Serverless FrameworkContenidors i DevOps · Serverless
  5. Puppet AgentContenidors i DevOps · Puppet Inc
  6. Docker ComposeContenidors i DevOps · Docker Inc.
  7. k9sContenidors i DevOps · Derailed
  8. HashiCorp ConsulContenidors i DevOps · HashiCorp
  9. actContenidors i DevOps · cplee.org

Etiquetes

Comparteix