Repository navigation
v4.18.0
·
188 commits
to main
since this release
Immutable
release. Only release title and notes can be modified.
The fork's first minor release: Pulumi and the providers updated, Astro 6 and 7, and fixes for sst dev and deploys. Still built on upstream v4.17.1.
⚠️ Breaking changes
All from the Pulumi and provider update (#18):
- Node.js 22 or later is required. Pulumi's Node.js SDK, which runs your
sst.config.ts, needs it. On an older Node.js the CLI warns that SST needs Node.js 22 or later. Node.js 20 mostly works, but inline Lambda callbacks fail. Upgrade Node.js everywhere you runsst, CI included. - A deploy role with limited permissions needs
cloudfront:TagResourceandcloudfront:ListTagsForResource. The first deploy updates the tags on every site's and Router's CloudFront Functions and KV stores. Add both before you deploy. - A provider version pinned in
sst.config.tshas to be at leastaws7.48.0,command1.2.1,docker-build0.0.22,random4.21.2 ortls5.6.1. A lower pin stops withYou specified version <pin> of the "<provider>" provider. SST needs <version> or higher.Raise the pin or remove it. - The first deploy after upgrading redeploys your containers. Every image SST builds with docker-build is rebuilt once, so each
Service,Taskand containerFunctiongets a new task definition revision and a rolling deployment. Your owncommand.local.Commandandremote.Commandresources run once more too.
Fixes
sst devno longer freezes when one of its clients stops reading. A pane, a browser tab or another client that stopped reading events used to block the whole event bus, so every function invocation timed out untilsst devwas restarted. That client now misses events instead, and the log file gets a warning. (#27, anomalyco/sst#7013)sst devno longer crashes withconcurrent map read and map writewhen many invocations arrive at once. (#23, anomalyco/sst#6970)- A new function URL or SSR site no longer fails to deploy now and then with
ResourceConflictException: The function could not be updated due to a concurrent update operation. The URL's permissions are now added after the URL exists. Existing stacks get the new ordering with no resource changes. (#22, anomalyco/sst#6933) ApiGatewayV2withcors: falseleaves the CORS configuration unset, as its docs say. It used to set an empty one, under which API Gateway answers preflight requests itself and ignores the CORS headers your routes return. The next deploy removes the empty configuration from an existing API, in place. (#26, anomalyco/sst#6748)SsrSitedeploys to Auckland (ap-southeast-6). The deploy crashed, because the region had no coordinates. (#18, anomalyco/sst#6792)
Changes
- Pulumi 3.267.0, and newer providers:
@pulumi/aws7.48.0,command1.2.1,docker-build0.0.22,random4.21.2 andtls5.6.1. Cloudflare stays at 6.15.0, because from 6.18 the first deploy of an existing D1 database fails (pulumi/pulumi-cloudflare#1583). Vercel stays at 4.6.0. (#18) Functionexposes its function URL resource asnodes.url, whenurlis set. (#22)- Pulumi's log files and workspace file go to SST's folder instead of
~/.pulumi. (#18)
Astro 6 and 7
SST's astro-sst 3.x can't build an Astro 6 or 7 app. The fork now publishes the adapter as @sst-community/astro-sst 4.0.0, which works with Astro 5.6 and later, 6 and 7. Install it under the old name so import aws from "astro-sst" keeps working:
npm install astro-sst@npm:@sst-community/astro-sstsst initinstalls it for a new Astro app.sst.aws.Astrostops before the build when an Astro 6 or 7 app still has SST's adapter, and names thepackage.jsonline to change.- It fixes bugs from 3.1.4: cookies keep
Max-Age, several cookies in stream mode arrive as separate headers, binary responses such as AVIF are no longer corrupted, trailing-slash redirects andsrc/fetch.tswork, andAstro.clientAddresscan't be spoofed. The adapter's changelog has the full list, including what changes when you switch. - Astro 5.0 to 5.5 need SST's 3.x, or an Astro upgrade.
(#47)
Install
npm install sst@npm:@sst-community/sst@4.18.0To switch an existing project, set its dependency to "sst": "npm:@sst-community/sst@4.18.0" and reinstall. Without Node:
curl -fsSL https://raw.githubusercontent.com/sst-community/sst/main/install | bash