github cue-lang/cue v0.4.3

latest releases: v0.11.0-alpha.5, v0.11.0-alpha.4, v0.10.1...
2 years ago

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

Don't miss a new cue release

NewReleases is sending notifications on new releases.