Upgrading from v0.26 to v0.27.0

This page lists every change in v0.27.0 that can affect code or a deploy that worked on v0.26.1. Each entry is one bullet: what changed, the old code, and the new code.

Run sky install once after the upgrade: it regenerates sky-ffi/ in the new surface format. Then run sky check and fix what it reports. The full story of each change is in CHANGELOG.md under v0.27.0.

Loud (fails to compile, the error shows the fix)

Value restriction

any in annotations

Comparable bound

Encodable bound

AEAD encrypt is a Task

FFI Result enforced

Sky Ffi is stdlib-only

Registry packages are checked

FFI opaque Go types

FFI pointer is Maybe

FFI map keys

FFI callback result

FFI Go interface params

FFI surface format 3

Auth verifyToken JSON

Server withCookie typed

Opaque handle constructors

New stdlib names

Stdlib combinators are checked

Recursive type alias

init takes unit

WebOpts record literals

Native permissions

Spa rpc body value

Spa split refusals

Stdlib module names are reserved

sky check runs the Spa split

fmt refuses a file that does not parse

sky add finds the project root

Release refuses local addresses

Dependency native code

Client crypto keys inside unions

TestFlight ipa must match the project

Upgrades and installs verify checksums

Dependency names and paths

Silent (compiles, behaves differently)

Each bullet below is printed once by the first run of the new sky.

Handles belong to their session

Handle ids are random

CAF handles are process-owned

Set-Cookie header holds every cookie

readFileLimit positive limit

File permissions no clamp

resolveWithin empty root

PTY size bound

Compare derived order

Compare NaN

Task parallel panic

Process tree close

Process release after exit

Field read strict

Dict Go map keys

Watch limit

FFI integer range

FFI Sky value to a Go interface

toString prints Sky syntax

decodeString rejects trailing text

Json encode NaN

Codec auto union

Codec auto unencodable

Ed25519 small-order keys

Loopback host guard

Desktop console

Console access follows the app sign-in

Served app namespace

Session rotation status codes

X-Sky-Sid tag

Session cookie name

Spa cookie sky spa

Spa legacy sessions

Spa session key

Spa sign-out store

Spa reload after deploy

Spa server links

Spa one event one view

Spa Msg order

Analytics per visitor

PubSub reaches every app

Default web port

Ui text wraps

sky test exit codes

sky verify in a project

sky test json report

sky doctor auth secret

Library check

Dependency version tags

Codec dict on the Spa wire

New tables in your database

Native shells

sky fmt record update layout

Rolling back to v0.26.1