Skip to content

v4.19.0

Choose a tag to compare

@github-actions github-actions released this 10 Oct 20:20
· 100 commits to main since this release
Immutable release. Only release title and notes can be modified.

A new MicroVm component, streaming for SvelteKit, and fixes for sites with a base path and for accounts that encrypt SSM parameters. Still built on upstream v4.17.2.

⚠️ Before you upgrade

  • sst/aws/workflow now uses @aws/durable-execution-sdk-js 2.6.0, and two errors have new classes. A step that fails inside promise.all throws PromiseCombinatorError, not StepError. A failed waitForCallback callback throws CallbackExternalError, not ChildContextError. Update code that checks for the old classes. (#62, anomalyco/sst#7024)

New

  • sst.aws.MicroVm and the sst/aws/microvm SDK, for AWS Lambda MicroVMs: isolated, stateful sandboxes with their own HTTPS endpoint. Lambda builds the image from your Dockerfile, and a linked function starts MicroVMs with microvm.run() and calls them with fetch(). It supports VPC egress and sst dev, and deletes old image versions. (#58)
    • For now every MicroVM has 2 GB and no lifecycle hooks, until the AWS provider supports them.
    • sst remove fails while MicroVMs from the image are running. Terminate them first.
    • A deploy role with limited permissions needs the Lambda MicroVMs actions, including lambda:ListMicrovms, lambda:ListMicrovmImageVersions and lambda:DeleteMicrovmImageVersion to delete old versions.
  • sst.aws.SvelteKit can stream responses. Turn it on with adapter({ streaming: true }) in @sst-community/svelte-kit-sst 3.1.0, out with this release. It needs this CLI or later. Update the adapter with npm install svelte-kit-sst@npm:@sst-community/svelte-kit-sst@3.1.0. (#40, #76, anomalyco/sst#6674)

Fixes

  • A site with a base path loads its static files again, instead of getting a 403 from S3. This covers Next.js basePath and SvelteKit's and Astro's base. (#72, anomalyco/sst#6980)
  • The Router takes a base path off the start of a request path only. A request with the base text in the middle of its path, or /administrator on a site based at /admin, got the wrong S3 key. (#75)
  • SST works where a policy encrypts SSM parameters. Before, every command stopped with invalid character 'A' looking for beginning of value. With a customer managed KMS key, the role needs kms:Decrypt on it. (#73, anomalyco/sst#6856)
  • SSR sites stop right away in the 11 regions without Lambda function URLs, instead of failing minutes into the deploy. Auckland is one of them. Spain (eu-south-2) works again. Sites without a server function aren't affected. (#60)

Examples

  • The Astro examples use Astro 7, which needs Node.js 22.12 or later. Those that deploy with the adapter use @sst-community/astro-sst. (#53, #54, #55, #56, #57)

Also

  • The docs site has a logo. The workflow SDK's tests load again (#69). The automatic review asks for a Closes line when a pull request fixes an SST issue (#71). A release that fails partway can be finished by re-running it.

Install

npm install sst@npm:@sst-community/sst@4.19.0

To switch an existing project:

  1. Check that node --version shows v22 or later, wherever you run sst, CI included.
  2. Set its dependency to "sst": "npm:@sst-community/sst@4.19.0" and reinstall.

For a project that isn't JavaScript, install the CLI globally. It still needs Node.js 22 or later, to run sst.config.ts:

curl -fsSL https://raw.githubusercontent.com/sst-community/sst/main/install | bash