Releases: cue-lang/cue
v0.5.0-beta.5
Full release notes to follow in the final v0.5.0 release.
- internal/ci: fix goreleaser in non-snapshot mode again by @mvdan in 576d0e4
- internal/core/adt: fix 2235 by @mpvl in ca411de
- internal/core/adt: add tests for 2235 by @mpvl in 89693e1
- cmd/cue: include Go in the version command by @mvdan in 9b1f248
- internal/ci: fix and test the release workflow on branches by @mvdan in 63749fe
- cmd/cue: add evaluator stats support by @mpvl in d573e0c
- cmd/cue: add tests for issue 345 by @mpvl in 352a736
- internal/core/adt: filter more disjunctions by @mpvl in 5a6bd19
- internal/core/adt: add tests for 2209 by @mpvl in 6b45d7e
- internal/core/adt: improve mechanism for conjunct insertion by @mpvl in 887f564
- internal/core/adt: add tests for conjunct insertion by @mpvl in 81e4cba
- internal/core/adt: only set scalar if not already defined by @mpvl in f23e3d5
- github: bring the bug report template up to date by @mvdan in b75fdc8
- internal/ci: make github CLI shell invocations safer by @mvdan in 94765d6
- internal/core: clone let upon use of for var references by @mpvl in 3a79e96
- internal/core/debug: change notation for "multi" lets by @mpvl in fd05908
- internal/core/adt: don't add errors to "void" arcs by @mpvl in 0b41dbb
- cue/testdata/benchmarks: add benchmark for let key by @mpvl in a8d7c59
- internal/core/adt: evaluate expressions directly by @mpvl in 8fb13d4
- internal/core/eval: node should not finalize itself mid flight by @mpvl in 9d27e0d
- cmd/cue: don't panic in vet if a schema has incomplete errors by @mvdan in f6841d1
- internal/ci: deploy tip.cuelang.org via repository_dispatch by @myitcv in 632cc62
- internal/ci: enable push_to_tip_trybot by @myitcv in fe692c5
- internal/ci: apply various CI-related changes from cuelang.org repo by @myitcv in 4eaa946
- internal/ci/goreleaser: actually make builds reproducible by @myitcv in 45aa5c0
- internal/ci/goreleaser: make builds reproducible by @myitcv in 16edb00
- cue/export/extract: fix comments with comprehensions by @mpvl in 959dc46
- internal/core/adt: don't evaluate inlined structs prematurely by @mpvl in 45ff282
- internal/core/adt: add tests for issue #2163 by @mpvl in a9f4fc3
- internal/ci: review follow-up changes to goreleaser_tool.cue by @mvdan in 7ea44a3
- internal/ci: switch to CUE based definition for goreleaser by @myitcv in 79a476b
- internal/ci: import for current goreleaser configuration by @myitcv in e69c517
- internal/ci: upgrade to later GitHub workflow schema by @myitcv in f036b34
- internal/ci: upgrade to latest GoReleaser version by @myitcv in 248f2b3
- goreleaser: formatting changes in Yaml file by @myitcv in e93b5ed
- internal/ci: use newer versions of the docker github actions by @mvdan in f56600d
v0.5.0-beta.2
Full release notes to follow in the final v0.5.0 release.
- internal/core/adt: base error mode on requested state by @mpvl in 214e112
- internal/core/adt: only set validation result when safe by @mpvl in 88857e0
- internal/core/adt: pass desired state to more functions by @mpvl in 55cdb74
- internal/core/adt: pass more state around by @mpvl in 3dfeb41
- internal/core/adt: pass state to validation by @mpvl in 0954c6f
- internal/core/adt: pass state to evaluate by @mpvl in 7d50228
- internal/core/adt: avoid duplicate insertion of conjuncts by @mpvl in d341814
- internal/core/adt: tighten uniqueness of conjuncts by @mpvl in a68c6ce
- cue/parser: disallow deprecated language features in API by @mpvl in 67ace83
- internal/core/adt: remove nested comprehension special casing by @mpvl in 3c0b2ec
- README: fix the stale GitHub Actions badge by @mvdan in 4fee020
- internal/core/adt: disambiguate let cache by @mpvl in 43fc681
- internal/core/adt: update stats to fix build breakage by @mpvl in a800e6f
- internal/core/adt: merge Conjunct and Partial processing by @mpvl in 121894c
- internal/core/adt: remove assertion by @mpvl in 129c343
- internal/core/adt: add test cases for issue 2119 by @mpvl in 2499719
- internal/core/adt: add tests related to Issue #2113 by @mpvl in 525648d
- internal/core/adt: evaluate let fields earlier in comprehensions by @mpvl in e5fb5af
- internal/core/adt: detect cycles in patterns by @mpvl in c048135
- cue: update Value.Source doc comment by @rogpeppe in 45ce7a3
- tools/flow: add debug support via CUE_DEBUG_TOOLS_FLOW by @myitcv in d85f950
- internal/core/adt: fix comprehension cycle regression by @mpvl in 32bfffd
- internal/core/adt: add tests to address regressions by @mpvl in 82bf036
- internal/core/adt: split some tests into files by @mpvl in 69ee994
- infra: upgrade goreleaser by @myitcv in 7bdeb14
v0.5.0-beta.1
Full release notes to follow in a later pre-release.
- doc: simple whitespace change to track down GerritHub replication issue by @myitcv in 1bb7fed
- cmd/cue: fix --ignore errors flag by @mpvl in ab14c86
- pkg/list: make error of MaxItems consistent with MinItems by @mpvl in c5fbbab
- pkg/struct: fix MinFields analogously to MinItems by @mpvl in 849371d
- all: remove mistakenly added file by @mpvl in 68445d8
- internal/core/adt: fix panic using builtin validators by @mpvl in 9bbc14b
- internal/core/adt: don't bump state by @mpvl in b18d00f
- internal/core/adt: prevent early error assignment by @mpvl in 27b6e87
- internal/core/adt: relax cycle tracking by @mpvl in 9c761dd
- pkg/internal: allow incomplete list.MinItems by @mpvl in 354f4e6
- internal/core/adt: add tests for #2052 by @mpvl in 6162b95
- internal/core/adt: fix redundant errors in calls by @mpvl in 959605e
- drop support for Go 1.17.x ahead of the v0.5 release by @mvdan in 0292e7f
- internal/core/adt: improved reporting disjunction errors by @mpvl in a8d68ad
- internal/core/adt: avoid uninformative cyclic error by @mpvl in 1d8d8ff
- internal/core/adt: remove over-aggressive deduplication by @mpvl in 74b4288
- internal/core/adt: fix error checking bug by @mpvl in 28088ac
- internal/core/adt: add cycle detection for alt evaluation path by @mpvl in 4eb2280
- internal/core/adt: errors in let expressions are okay by @mpvl in 30b2007
- pkg: improve error messages by @mpvl in fa36be4
- internal/core/adt: add stats by @mpvl in e2a0ef6
- internal/core/dep: handle recursive lets by @mpvl in 1d8663e
- internal/core/adt: fix comprehension bug by @mpvl in 87347d2
- internal/core/adt: remove redundant state change by @mpvl in 24576a0
- cue/ast: fix StructLit.End by @rogpeppe in b23ece3
- internal/third_party/yaml: fix float parsing by @rogpeppe in a4941ed
- internal/third_party/yaml: slim down API by @rogpeppe in 794d078
- doc/ref/spec.md: binary literals support
_
separators as well by @spachava753 in 712d8c6 - internal/core/adt: recursively pre-expand comprehensions by @mpvl in 102b034
- internal/core/adt: represent comprehension clauses as list by @mpvl in b3bcc7a
- internal/core/dep: remove useless code by @mpvl in 309b965
- internal/core/adt: fix cycle detection bug for lets by @mpvl in f2b9479
- internal/core/adt: allow self-referential comprehensions by @mpvl in f1daf4b
- internal/core/adt: update state constants and docs by @mpvl in e4f4900
- internal/core/adt: add conjuncts to dynamic list as well by @mpvl in 637a325
- internal/core/adt: report cycle error in comprehension source by @mpvl in 6668dc8
- internal/core/adt: rename test by @mpvl in f30a8e7
- internal/core/adt: add IsDefined to filter out void arcs by @mpvl in 2ae37df
- internal/core/adt: fix closedness regression by @mpvl in ed4f885
- internal/core/dep: fix comprehension environment binding by @mpvl in 6824f7d
- deps: bump golang.org/x/text dependency by @joaopapereira in dd1169c
- .gitignore: add .DS_Store by @mpvl in 79d80ef
- internal/core/adt: fix broken let lookup in embedded scalars by @mpvl in cad3f23
- internal/core/adt: optimize cycle detection for disjunctions by @mpvl in 830b138
- internal/ci: test and release on Go 1.19.x by @mvdan in fe50dff
- internal/core/adt: remove problematic Ref deletion by @mpvl in 7518952
- cue/testdata/benchmarks: add stats by @mpvl in 3bcf4a4
- encoding/gocode: encode hex consistently like Go 1.19+ by @mvdan in f5c3e4e
- doc/tutorial/kubernetes: mark both tests as long by @mvdan in 06aaef6
- internal/core/adt: add test for issue 1837 by @mpvl in 839e33b
- internal/core/adt: make some errors semi-permanent by @mpvl in 4a3a494
- internal/core/adt: reduce size of ErrorCode by @mpvl in 53dfffa
v0.5.0-alpha.1
Full release notes to follow in a later pre-release.
- internal/core/export: fix crash in dynamic fields by @mpvl in ad253ed
- all: apply and follow Go 1.19's gofmt by @mvdan in 519d326
- internal/core: implement let as fields by @mpvl in 36bd656
- pkg: reuse pkg/gen to generate package godocs by @mvdan in df148ee
- internal/core/adt: eliminate disjuncts for incomplete errors by @mpvl in c556a19
- doc/tutorial/kubernetes: only run as a long test by @mvdan in 6551ea5
- internal/core/adt: fix test by @mpvl in d3959eb
- internal/core/adt: add tests for let by @mpvl in 7c7056c
- internal/core/compile: prepare for let change by @mpvl in 739713c
- internal/core/...: fix various attributes printing issues by @mpvl in 82933ad
- internal/core/adt: remove StructInfo for unused structs by @mpvl in c89ab8b
- internal/core/compile: add missing import in test by @mpvl in be9cc0d
- internal/cuetxtar: add method for getting a single instance by @rogpeppe in e5f21db
- internal/filetypes: not a file extension if the file starts with a dot by @rogpeppe in db0897b
- internal/core/adt: defensive use of CloseInfo by @mpvl in 9e9786e
- internal/filetypes: fix TestParseFile tests by @rogpeppe in 3290797
- internal/cuetxtar: improve docs by @rogpeppe in d2250b9
- encoding/gocode: be resilient to Go string literal changes by @rogpeppe in 1cfb57c
- doc/tutorial/basics: make test scripts run again by @mvdan in 6cb877e
- encoding/openapi: update API by @rogpeppe in 74566cf
- cue/stats: new package for getting operation statistics by @mpvl in 535d188
- errors: make Errors and Print respect wrapped errors by @rogpeppe in 4007775
- internal/core/path: package for Selector to Feature conversion by @mpvl in 4c9d0ac
- cue: tweaks to selector API by @mpvl in cd27b12
- cue: add Value.BuildInstance method by @rogpeppe in a552c1f
- encoding/yaml: be clearer about the role of the src argument by @rogpeppe in 351a9fb
- internal/core/adt: fix cycles in evaluation by @mpvl in ac11215
- internal/core/adt: tighten structural cycle detection by @mpvl in f8e363e
- internal/core/adt: tighten structural cycle detection by @mpvl in 68152ec
- internal/core/adt: fix spurious cycle for inline recursion by @mpvl in c997044
- internal/core/adt: fix issue with references cycles by @mpvl in cd4bf2b
- internal/core/adt: some fixes to structural cycle detection by @mpvl in 8133f55
- internal/core/compile: fix aliases to dynamic fields by @mpvl in 353833c
- cue: add Selector.Type API by @rogpeppe in 8e8f1cf
- cue/load: deterministically sort CUE files when loading by @mvdan in 295786e
- internal/core/adt: count conjuncts by @mpvl in 1a12916
- internal/core/adt: finalize arcs that are almost done by @mpvl in 8ee1127
- internal/core/adt: remove redundant line by @mpvl in 37ee967
- internal/core/adt: clean up some span logic and add a comment by @mpvl in ce30e67
- internal/core/adt: move Label for better bin packing by @mpvl in e398e10
- internal/core/adt: clean up some closedness code by @mpvl in 9e15ca1
- internal/core/adt: fix spurious child error by @mpvl in 830847b
- all: start using testscript.Params.RequireExplicitExec by @mvdan in 37a2a07
- internal/core/adt: pick defaults for label evaluation by @mpvl in 83d37e7
- cmd/cue/cmd: testscript moved its gopath location by @mvdan in 4a73630
- internal/core/adt: SpawnRef loop optimization by @rogpeppe in 7292034
- all: use txtar filename extensions consistently by @mvdan in c1689bb
- mod: drop x/xerrors from the module graph by @mvdan in 0460b47
- mod: drop apd v1 from the module graph by @mvdan in d663a8c
- all: apply Go 1.19's gofmt by @mvdan in 3f3f181
- internal/core/adt: fix spurious cycle by @mpvl in e187f9f
- internal/core/adt: reimplementation of cycle algorithm by @mpvl in 6b3fd65
- internal/core/adt: hoist cycle logic by @mpvl in eab8c8e
- internal/core/adt: pass Conjunct instead of Environment to Resolve by @mpvl in 428d395
- internal/core/adt: don't spawn duplicate locations by @mpvl in 3bedf8e
- internal/core/adt: fix env linking for comprehensions by @mpvl in b00f5d6
- cmd/cue: remove all stdin buffering by @mvdan in b4d1b16
- all: use the .test TLD for module paths in tests by @mvdan in 5a08d2f
- CI: only pull master commits through a proxy on Linux by @mvdan in 395df20
- CI: try "pull through proxy" go get up to five times by @mvdan in 4f15036
- all: fix migration to x/tools/txtar by @myitcv in 0a46a16
- cmd/cue/cmd: add --inline-imports flag by @mpvl in 974a09b
- cue: support InlineImports for Syntax by @mpvl in ae56267
- internal/core/export: don't inline for errors by @mpvl in e87bc25
- internal/core/export: enhancements for import inlining by @mpvl in 62fedc3
- internal/core/export: implement self-contained algo for export by @mpvl in c71f674
- all: fix common pattern of calling cuextxtar.Load by @myitcv in bdaadc9
- pkg/tool/cli: rework Stdin and make Ask read an entire line by @mvdan in 4432aa6
- all: swap rogpeppe/go-internal/txtar for x/tools/txtar by @mvdan in 9f3d9d2
- internal/ci: use consistent name for CUELANGORGTIPREBUILDHOOK by @myitcv in a9f8bd2
- cmd/cue/cmd: remove bits of unused code by @mvdan in 4d7edeb
- internal/diff: two different errors are equal by @mpvl in 6e95220
- interal/diff: skip hidden fields by default by @mpvl in 5151417
- .gitignore: ignore some binaries by @mpvl in 2d10d0f
- internal/core/export: cleanup of initialization and finalize by @mpvl in 8a7ebf9
- internal/core/export: simplify dynamic labels by @mpvl in 8edd739
- internal/core/export: refactor uniqueFeature by @mpvl in 9777511
- internal/core/export: fix bug exporting dynamic references by @mpvl in 360ef5f
- internal/core/adt: clarify examples for references by @mpvl in 5cb52c8
- internal/core/export: hoist FieldReference logic by @mpvl in 82a2513
- internal/core/export: pass Environment by @mpvl in 254d0de
- internal/core/export: move tests to subdir by @mpvl in 08c0689
- tools/fix: remove rewriting support for old-style let by @mpvl in 9a66c51
- internal/core/export: hoist reference logic by @mpvl in 580edf4
- cue/format: fix
StructLit
trailing comma bug by @satotake in d16c799 - internal/ci/github: skip non-race tests when running race tests by @myitcv in 4113ec3
- internal/ci: refactor CI workflows by @myitcv in 236a565
- internal/ci: split github workflows into separate files by @myitcv in 9d366cd
- internal/ci: write netrc file for triggering trybots by @myitcv in 62ccbc0
- internal/ci: move to using gerritstatusupdater by @myitcv in f28ad41
- internal/ci: rename test and repository_dispatch workflows by @myitcv in d4526fe
- cuego: fix example in docs by @rogpeppe in 2fea90a
- internal/ci: move workflow declarations to their own package by @myitcv in 2795dcc
- cue/load: actually apply the latest doc wording per the reviews by @mvdan in f32ea8e
- cue/load: remove...
v0.4.3
This release includes various bug fixes, including fixing some crashes. It also fixes a memory leak that would cause long-running servers to OOM (see #1418). It also now supports Go 1.18.
It also fixes various builtin extensions.
This release also makes a lot of preparations for the upcoming comprehension rework, which will allow us to do all kinds improvements and performance enhancements.
As a reminder: users can register their projects with unity
, our regression and performance testing setup. unity
is used to ensure that a project's CUE evaluations do not unexpectedly stop working, or regress in terms of performance. unity
continues to catch multiple issues with each release. Adding your project to unity
not only guarantees that we will not break your tests (if we do, we will work with you to fix your CUE code), but it also helps to improve the quality of each CUE release. We are in the process of adding support for adding private projects to unity
.
Thank you to @benmoss, @cuichenli, @danbison, @emcfarlane, @eonpatapon, @jared-gs, @jdreaver, @jlongtine, @mattmoor, @mvdan, @oncilla, @roidelapluie, @slewiskelly, @xinau, and @yannk for contributing to this release!
Language changes
This release removes all remaining support for quoted identifiers. Although this hasn't been supported for a while, there were still parts of the code that handled them, resulting in cryptic error messages.
Core evaluator
This release sees an overall improvement in error location reporting. These changes are quite substantial but largely, aside from a few resulting bug fixes, do not alter behavior.
Builtins
net
Add CIDR
range verification function.
regexp
Add ReplaceAll
and ReplaceAllLiteral
time
Fixes a hermeticity issues where a local time zone may be selected. Added FormatString
to ultimately replace Format
, where Format
will first have to be deprecated.
Add FormatString
, FormatDuration
and Split
tool/file
Add MkdirTemp
, RemoveAll
tool/http
Add Support for TLS settings.
Changelog
- 5c43a87 all: apply Go 1.18's gofmt -s
- 41ad3a0 all: bump x/text
- e74624b all: drop golang.org/x/xerrors
- b6cdc74 all: format .cue files in txtar archives
- 054cc31 all: move to go1.17-based go.mod
- f396ea8 all: upgrade github.com/spf13/cobra to v1.4.0
- f26cc29 all: upgrade go-internals
- 83a1700 build: fix typo inclduded -> included
- dc2c9e0 ci: add Go 1.18 and bump action and Go versions
- f44242c ci: optimize CI build runtimes
- 256f1f9 ci: update to the latest goreleaser version
- 935a926 cmd/cue/cmd: make get go work with go 1.18
- 37cc8ac cmd/cue/cmd: support byte in get go
- 5127136 cmd/cue/cmd: support uintptr in get go
- 69e2dcc cmd/cue: make long tests pass with Go 1.18
- aca00a0 cmd/cue: thread cue.Context throughout calls
- 583c11e cmd/import: fix typo in doc
- 89d6078 crypto/ed25519: support signature verification
- 6b138e4 cue/load: remove some unused code
- 4136481 cue/tools/flow: allow tasks in hidden fields
- 699ce65 cue: allow incomplete errors in Fields method
- 71b43a8 cue: fix doc string for CompileBytes and references
- 84d3cad cue: fix IsClosed
- 24c9117 cue: fix TextUnmarshal bug in Decode
- b1edc14 cue: fix nil pointer deref in BuildInstances
- a7eda13 cue: remove all support for quoted identifiers
- 49e295b cue: try harder to find a position for Pos
- 2eb7d1e doc/ref/spec.md: fix hello world example in spec
- 1c52d6a doc/spec: specify default constraint is not implemented
- ba164f5 doc: delete whitespace in README to test master build
- a6995f5 doc: fix "click" typo
- eaaf5f0 doc: fix up k8s tutorial
- 7627c93 doc: mention the commit message hook for --signoff
- 2020208 doc: remove duplicate GerritHub clone instructions
- b67dc4d interal/core/adt: improve error locations
- fa141c2 internal/cmd/qgo: make go 1.18 compatibility
- 569fcbd internal/core/adt: add nested logging support
- 09c1ee0 internal/core/adt: adjust error positions
- 0a4d48d internal/core/adt: change to incomplete error
- b995f5b internal/core/adt: debug options for sorting arcs
- 448b94c internal/core/adt: don't yield struct on comprehension
- 1e45d06 internal/core/adt: fix closedness for API disjunctions
- 6b37a01 internal/core/adt: get rid of NotExistError
- e70db24 internal/core/adt: hoist code to prep for comprehension change
- 8f3c71b internal/core/adt: introduce Comprehension type
- f045a5a internal/core/adt: make comprehension value an Expr
- b2d9e16 internal/core/adt: merge if and for comprehension lists
- e499dae internal/core/adt: pass Conjunct to addVertexConjuncts
- 28f8d47 internal/core/adt: performance: improve lists disambiguation
- 49fdab8 internal/core/adt: prepare for field conflict message
- e0577bb internal/core/adt: prevent state erasure
- be2ee9b internal/core/adt: prevent state inversion
- 7cdcc70 internal/core/adt: reintroduce Conjunct.Expr
- 0e634cf internal/core/adt: report error for integer fields
- 975f57c internal/core/adt: store Ellipsis instead of Expr in Additional
- 2421553 internal/core/adt: track positions for incomplete types
- 8dee602 internal/core/adt: use partial lookup
- 19782a6 internal/core/dep: prevent crash
- 195cdf7 internal/core/runtime: don't share import cache
- c561f1f internal/core: automated rename
- 28c1adb internal/cuetxar: provide CUE_FORMAT_TXTAR to format .cue files
- 4cbd2e6 pkg/crypto/ed25519: format generated test case
- 189de92 pkg/net: add CIDR range verification function
- 37eb22b pkg/regexp: add ReplaceAll and ReplaceAllLiteral
- 53a108d pkg/regexp: bring docs more inline with Go equivalents
- fe20132 pkg/regexp: delete duplicate test case in txtar
- 08fa1c7 pkg/regexp: reorder for ease of maintenance
- a15720b pkg/time: add FormatDuration
- 71e9d03 pkg/time: add FormatString and Split
- 65ff0f4 pkg/time: fix hermeticity issue
- e32817a pkg/time: use time.UTC for ParseInLocation
- 977d353 pkg/tool/cli: Fix Ask task
- 8dee549 pkg/tool/file: add MkdirTemp, RemoveAll
- da75cdf pkg/tool/http: add tls settings
- ffb044f pkg/tool/http: check tls.verify exists
- 05f74a8 pkg: remove usage of qgo in go generate
- 04ac666 tools/flow: add Value() to retrieve controller value
- a03817f tools/flow: fix test race
- 1b4b7e9 tools/trim: appropriately label vertex
- 8a2e832 tools/trim: don't remove structs with comprehensions
Full Changelog: v0.4.2...v0.4.3
Docker images
docker pull docker.io/cuelang/cue:0.4.3
v0.4.3-beta.2 - bug fixes
This release fixes a couple of bugs and slight incompatibilities introduced with the last release and adds various documentation fixes.
Changelog
- 41ad3a0 all: bump x/text
- f396ea8 all: upgrade github.com/spf13/cobra to v1.4.0
- 83a1700 build: fix typo inclduded -> included
- aca00a0 cmd/cue: thread cue.Context throughout calls
- 583c11e cmd/import: fix typo in doc
- 2eb7d1e doc/ref/spec.md: fix hello world example in spec
- ba164f5 doc: delete whitespace in README to test master build
- ffb044f pkg/tool/http: check tls.verify exists
- a03817f tools/flow: fix test race
Docker images
docker pull docker.io/cuelang/cue:0.4.3-beta.2
v0.4.3-beta.1
This release includes various bug fixes, including fixing some crashes. It also fixes a memory leak that would cause long-running servers to OOM (see #1418).
It also fixes various builtin extensions.
This release also makes a lot of preparations for the upcoming comprehension rework, which will allow us to do all kinds improvements and performance enhancements.
As a reminder: users can register their projects with unity
, our regression and performance testing setup. unity
is used to ensure that a project's CUE evaluations do not unexpectedly stop working, or regress in terms of performance. unity
continues to catch multiple issues with each release. Adding your project to unity
not only guarantees that we will not break your tests (if we do, we will work with you to fix your CUE code), but it also helps to improve the quality of each CUE release. We are in the process of adding support for adding private projects to unity
.
Language changes
This release removes all remaining support for quoted identifiers. Although this hasn't been supported for a while, there were still parts of the code that handled them, resulting in cryptic error messages.
Core evaluator
This release sees an overall improvement in error location reporting. These changes are quite substantial but largely, aside from a few resulting bug fixes, do not alter behavior.
Builtins
net
Add CIDR
range verification function.
regexp
Add ReplaceAll
and ReplaceAllLiteral
time
Fixes a hermeticity issues where a local time zone may be selected. Added FormatString
to ultimately replace Format
, where Format
will first have to be deprecated.
Add FormatString
, FormatDuration
and Split
tool/file
Add MkdirTemp
, RemoveAll
tool/http
Add Support for TLS settings.
Full Changelog: v0.4.2...v0.4.3-beta.1
Changelog
- 71b43a8 Fix doc string for CompileBytes and references
- b6cdc74 all: format .cue files in txtar archives
- 054cc31 all: move to go1.17-based go.mod
- f44242c ci: optimize CI build runtimes
- 89d6078 crypto/ed25519: support signature verification
- 4136481 cue/tools/flow: allow tasks in hidden fields
- 699ce65 cue: allow incomplete errors in Fields method
- 84d3cad cue: fix IsClosed
- 24c9117 cue: fix TextUnmarshal bug in Decode
- b1edc14 cue: fix nil pointer deref in BuildInstances
- a7eda13 cue: remove all support for quoted identifiers
- 49e295b cue: try harder to find a position for Pos
- 1c52d6a doc/spec: specify default constraint is not implemented
- a6995f5 doc: fix "click" typo
- eaaf5f0 doc: fix up k8s tutorial
- 7627c93 doc: mention the commit message hook for --signoff
- 2020208 doc: remove duplicate GerritHub clone instructions
- b67dc4d interal/core/adt: improve error locations
- 569fcbd internal/core/adt: add nested logging support
- 09c1ee0 internal/core/adt: adjust error positions
- 0a4d48d internal/core/adt: change to incomplete error
- b995f5b internal/core/adt: debug options for sorting arcs
- 448b94c internal/core/adt: don't yield struct on comprehension
- 1e45d06 internal/core/adt: fix closedness for API disjunctions
- 6b37a01 internal/core/adt: get rid of NotExistError
- e70db24 internal/core/adt: hoist code to prep for comprehension change
- 8f3c71b internal/core/adt: introduce Comprehension type
- f045a5a internal/core/adt: make comprehension value an Expr
- b2d9e16 internal/core/adt: merge if and for comprehension lists
- e499dae internal/core/adt: pass Conjunct to addVertexConjuncts
- 28f8d47 internal/core/adt: performance: improve lists disambiguation
- 49fdab8 internal/core/adt: prepare for field conflict message
- e0577bb internal/core/adt: prevent state erasure
- be2ee9b internal/core/adt: prevent state inversion
- 7cdcc70 internal/core/adt: reintroduce Conjunct.Expr
- 0e634cf internal/core/adt: report error for integer fields
- 975f57c internal/core/adt: store Ellipsis instead of Expr in Additional
- 2421553 internal/core/adt: track positions for incomplete types
- 8dee602 internal/core/adt: use partial lookup
- 19782a6 internal/core/dep: prevent crash
- 195cdf7 internal/core/runtime: don't share import cache
- c561f1f internal/core: automated rename
- 28c1adb internal/cuetxar: provide CUE_FORMAT_TXTAR to format .cue files
- 4cbd2e6 pkg/crypto/ed25519: format generated test case
- 189de92 pkg/net: add CIDR range verification function
- 37eb22b pkg/regexp: add ReplaceAll and ReplaceAllLiteral
- 53a108d pkg/regexp: bring docs more inline with Go equivalents
- fe20132 pkg/regexp: delete duplicate test case in txtar
- 08fa1c7 pkg/regexp: reorder for ease of maintenance
- a15720b pkg/time: add FormatDuration
- 71e9d03 pkg/time: add FormatString and Split
- 65ff0f4 pkg/time: fix hermeticity issue
- e32817a pkg/time: use time.UTC for ParseInLocation
- 977d353 pkg/tool/cli: Fix Ask task
- 8dee549 pkg/tool/file: add MkdirTemp, RemoveAll
- da75cdf pkg/tool/http: add tls settings
- 04ac666 tools/flow: add Value() to retrieve controller value
- 1b4b7e9 tools/trim: appropriately label vertex
- 8a2e832 tools/trim: don't remove structs with comprehensions
Docker images
docker pull docker.io/cuelang/cue:0.4.3-beta.1
v0.4.2
This patch release largely focuses on bug fixes, but also includes some additions to the cmd/cue cmd
tooling layer and builtins. Some of the bug fixes were identified as part of preparing for an upcoming CUE talk at FOSDEM.
Thank you to @brandonbloom, @eonpatapon, @obowersa and @seh for contributing to this release!
Core evaluator
A number of bug fixes relating to edge cases of CUE evaluation. Notably, 1374dc9 fixes some subtle bugs where fields can be missed if patterns are inserted too late.
0aaf4c6 disallows _
as a field label, fixing a bug where the following CUE was previously accepted as valid:
_: 5
This now results in:
cannot use _ as label:
./x.cue:1:1
Tooling layer (cmd/cue cmd
)
@eonpatapon added Mkdir
, MkdirAll
to pkg/tool/file
. #1502 was raised as a follow-up, a wider review of how the pkg/…
API needs to change pre v1
.
Spec
@seh contributed to the "Declarations and scope" section, clarifying that top-level let identifiers are scoped to the containing file block.
cmd/cue
@slewiskelly highlighted a regression introduced as far back as aaf6e84 where cmd/cue
is used to validate data using a schema. In this regression, CUE inadvertently marks the failures as "fatal", instead of "incomplete" (that is, could be satisfied by making a value more concrete). 04812bf disables schema checking for now whilst we consider a more precise solution.
Builtins
Both pkg/encoding/yaml
and pkg/encoding/json
now support UnmarshalStream
.
Changelog
- 6bc922c tools/trim: prevent nil-pointer panic
- 9aeaf70 pkg/encoding/json: implement UnmarshalStream
- 480b28b pkg/encoding/yaml: implement UnmarshalStream
- 880863a encoing/json: made independent of pkg/encoding/json
- 802a852 cmd/cue/cmd: only consider "kind" field for known tasks
- bd3b6ea cmd/cue: add newline between imported objects
- 04812bf cmd/cue: fix spurious errors
- 2fe5251 doc/ref/spec.md: clarify scope of top-level let ID
- 556f57f doc/tutorial: fix typo in 55_defs.txt
- f0d03f3 cue/ast: fix typo in docstring
- f29b460 cmd/cue/cmd: remove stale reference to ::
- 50d69c9 all: prepare for private repository support in unity
- 5581d64 doc: fix heading level for div et al builtins
- 45c54f8 pkg/tool/file: add Mkdir, MkdirAll
- 34c4f9c Revert "pkg/tool/file: add Mkdir, MkdirAll"
- 23cc102 pkg/tool/file: add Mkdir, MkdirAll
- 0aaf4c6 internal/core: disallow
_
as field label - c1bf550 internal/core/eval: dereference indirections earlier
- 9f6a40e internal/core/adt: zero-value feature means "invalid"
- 1374dc9 internal/core/adt: single place for inserting matched patterns
Full Changelog: v0.4.1...v0.4.2
Docker images
docker pull docker.io/cuelang/cue:0.4.2
v0.4.2-rc.1
This patch release largely focuses on bug fixes, but also includes some additions to the cmd/cue cmd
tooling layer and builtins. Some of the bug fixes were identified as part of preparing for an upcoming CUE talk at FOSDEM.
Thank you to @brandonbloom, @eonpatapon, @obowersa and @seh for contributing to this release!
Core evaluator
A number of bug fixes relating to edge cases of CUE evaluation. Notably, 1374dc9 fixes some subtle bugs where fields can be missed if patterns are inserted too late.
0aaf4c6 disallows _
as a field label, fixing a bug where the following CUE was previously accepted as valid:
_: 5
This now results in:
cannot use _ as label:
./x.cue:1:1
Tooling layer (cmd/cue cmd
)
@eonpatapon added Mkdir
, MkdirAll
to pkg/tool/file
. #1502 was raised as a follow-up, a wider review of how the pkg/…
API needs to change pre v1
.
Spec
@seh contributed to the "Declarations and scope" section, clarifying that top-level let identifiers are scoped to the containing file block.
cmd/cue
@slewiskelly highlighted a regression introduced as far back as aaf6e84 where cmd/cue
is used to validate data using a schema. In this regression, CUE inadvertently marks the failures as "fatal", instead of "incomplete" (that is, could be satisfied by making a value more concrete). 04812bf disables schema checking for now whilst we consider a more precise solution.
Builtins
Both pkg/encoding/yaml
and pkg/encoding/json
now support UnmarshalStream
.
Changelog
- 6bc922c tools/trim: prevent nil-pointer panic
- 9aeaf70 pkg/encoding/json: implement UnmarshalStream
- 480b28b pkg/encoding/yaml: implement UnmarshalStream
- 880863a encoing/json: made independent of pkg/encoding/json
- 802a852 cmd/cue/cmd: only consider "kind" field for known tasks
- bd3b6ea cmd/cue: add newline between imported objects
- 04812bf cmd/cue: fix spurious errors
- 2fe5251 doc/ref/spec.md: clarify scope of top-level let ID
- 556f57f doc/tutorial: fix typo in 55_defs.txt
- f0d03f3 cue/ast: fix typo in docstring
- f29b460 cmd/cue/cmd: remove stale reference to ::
- 50d69c9 all: prepare for private repository support in unity
- 5581d64 doc: fix heading level for div et al builtins
- 45c54f8 pkg/tool/file: add Mkdir, MkdirAll
- 34c4f9c Revert "pkg/tool/file: add Mkdir, MkdirAll"
- 23cc102 pkg/tool/file: add Mkdir, MkdirAll
- 0aaf4c6 internal/core: disallow
_
as field label - c1bf550 internal/core/eval: dereference indirections earlier
- 9f6a40e internal/core/adt: zero-value feature means "invalid"
- 1374dc9 internal/core/adt: single place for inserting matched patterns
Full Changelog: v0.4.1...v0.4.2-rc.1
Docker images
docker pull docker.io/cuelang/cue:0.4.2-rc.1
v0.4.1
After an extended break following CUE's migration to cue-lang/cue
and multiple pre-releases, the v0.4.1
release mainly focuses on bug fixes. We also renew our pledge to in future release smaller changes more frequently on our way to language stability.
Thank you to @chai2010, @yujunz, @caarlos0, @hrvolapeter, @slewiskelly, @antong, @mvdan, @ameowlia and @palmamartin for contributing to this release!
Project-level changes
- Create
amd64
andarm64
release assets forlinux
,windows
anddarwin
, with accompanyingamd64
andarm64
Docker images and manifests:v0.4.1-beta.6
- Remove
go1.15
from build matrix:v0.4.1-beta.6
- Improve contribution project contribution guide:
v0.4.1-beta.6
Encoders
- Upgrade
gopkg.in/yaml.v3
; may result in some formatting changes for Yaml output:v0.4.1-beta.6
cmd/cue
- Support working directory in
tool/exec.Run
:v0.4.1-beta.6
- Numerous bug fixes relating to
cue eval
exporting oflet
expressions (#1116):v0.4.1-beta.6
- Fix for
cue def
bug where multiple list conjuncts resulted in an output containing a{}
conjunct:v0.4.1-beta.6
API
cue.ResolveReferences
fixed to work for the KubeVela project:v0.4.1-beta.6
- @ameowlia fixed an issue with a test example for
cue.Context
:v0.4.1-beta.6
- Allow concurrent use of
cue.Context
:v0.4.1-rc.1
Evaluator
- Fix a number of issues related to the use of aliases in lists by introducing a new scope with list values:
v0.4.1-beta.6
- Fix for issues related to defaults and string and number lists (#1025, #1404):
v0.4.1-beta.6
- Fix for a bug where comprehensions inside a definition resulted in an error (#1404):
v0.4.1-beta.6
- Important fix for bug related to the handling of default values that result in error (#1304 and #1257):
v0.4.1-beta.6
- Various unexpected panics have been fixed, including a panic in the case of circular
let
declarations (#1042):v0.4.1-beta.6
- Fix matching of
"_"
label:v0.4.1-rc.2
Language
This release makes no changes to the language.
- The CUE spec now correctly defines
$
as an identifier (#1264):v0.4.1-beta.6
Changelog
- internal/core/runtime: check non-existing builtin packages earlier d4d0f14
- cue: remove duplicate test code 8fbaf81
- internal/core/adt: use single return for LoadImport e5c7176
- internal/core/adt: fix matching of "_" label 3d3f721
- readme: fix Go version badge 60d6503
- cue/cuecontext: allow concurrent use 25cfb20
- gitiles: change logo from SVG to PNG 8a40ef0
- gitiles: customize navigation bar 28b4257
- doc: ensure all min Go versions refer to 1.16 79303b6
- ci: configure GoReleaser to mark prereleases as such 547e5cc
- ci: only trigger new version events after successful new version 6e68ca4
- ci: fix GoReleaser arm64 template details 795719e
- ci: fix target for homebrew tap b68f4c3
- ci: fix up GoReleaser image template names 02556bc
- ci: use GoReleaser v1.0.0 e7da62f
- cue: support ResolveReferences f68e000
- internal/core/export: keep open lists open d413bb8
- internal/core/export: fix let exporting 9a040dc
- pkg: fix default issue for string and numbers lists 910ff4d
- internal/core/adt: fix regression of dynamic closed fields in definitions 6c30678
- internal/core/export: treat empty data vertices as structs 9e7d4d6
- cmd/cue: confirm issues 1152 and 1153 are fixed 4d505e0
- cmd/cue: get go: ignore anonymous enums eb53c4e
- internal/core/adt: close open lists for Default b99ce0a
- cue: auto-unwrap single embedded value in Expr 061e661
- pkg/internal: compute combined error severity 7922f9b
- internal/core/export: fix bug with API-generated top-level close c490d4c
- ci: remove go1.15 from the build matrix e62a95a
- cue: fix output in ExampleContext f880467
- internal/core/adt: don't cache incomplete errors for let 9982526
- cue/testdata: hoist let cycle errors 4f3988f
- internal/core: use scope for lists 91476ab
- ci: correct location of unity 718c9a0
- internal/core/compile: remove unnecessary code f65dd0f
- cue: fix subsumption bug for disjuntion filtering b89ad85
- internal/encoding/yaml: upgrade go-yaml.v3 a8b721a
- encoding/openapi: fix crash in reference 15adb6c
- cmd/cue/cmd: improve shell arg parsing in tests 4e76bb4
- internal/core/export: don't add empty temp struct 0e56b82
- doc/ref/spec.md: include
$
in identifier 75c3d6b - internal/encoding/yaml: canonicalize non-string map keys c1c2cda
- encoding/yaml: quote strings more aggressively a83c6c6
- doc/tutorial/kubernetes: update types b9ac1ea
- internal/core/adt: fix bound simplification for floats 59bdbb5
- internal/core/adt: fix disjunction bug 62e876d
- cue: Expr handles empty lists to or/and builtins 9bb874c
- cue: define all Op constant values explicitly with that type 72936e4
- simplify install instructions assuming Go 1.16+ 29a686d
- doc: revamp contribution guide ahead of contributing live-stream dbf5992
- ci: update to use go1.17.3 and go1.16.10 9217c4d
- doc/ref/spec: fix typos and heading anchors 437920e
- cue: define all Kind constant values explicitly with that type fca61f5
- spec: Update example with regards to pattern constraints 8031fe7
- ci: latest Go versions in build matrix ddd96c6
- feat: update go build matrix 5cf1aa1
- doc: fix repeated word typos in spec 35c2f3c
- doc: remove useless whitespace in main README e8550b8
- doc/contrib: update git codereview change to use -s flag 0f53054
- cmd/cue: revert version string change ecb17c9
- ci: improve goreleaser workflow 370fac9
- doc/tutorial: fix errant use of list operators 38c8f7d
- ci: tidy up encoding of JSON args to curl a4a38ed
- ci: re-enable full CI workflows 7d25ee2
- ci: tidy up quoting of JSON args in workflow commands 59079b1
- readme: fix top-level CONTRIBUTING guide 5f28bb4
- readme: link to CoC from main readme and contributing guide 5ab75b8
- general: use cuelang.org/issues as the general issue link 35c4960
- github: fix up empty issue template a68df18
- github: tidy up issue templates 723a7fe
- general: update unity location 3d9cd71
- ci: fix Docker workflow 6da50d9
- all: change references from cuelang/cue to cue-lang/cue 06484a3
- internal/core/compile: fix let cycle error 20ed9ab
- ci: fix up new version trigger 0070bb1
- doc/tutorial/kubernetes: fix invalid user commands aa61ee7
- doc/tutorial/kubernetes: update k8s version 67bf363
- cmd/cue: fix up get go docs around "enum" types ec427f9
- Allow setting working directory for exec.Run 8e053d4
- interanal/core/runtime: remove commented out fields e8de4b1
Full Changelog: v0.4.0...v0.4.1
Docker images
docker pull docker.io/cuelang/cue:0.4.1