What's Changed
- Remove deprecated logic slated for removal in 4.0.0 by @GrahamCampbell in #266
- [1/7] Migrate AWS variable sources to SDK v3 by @GrahamCampbell in #193
- [2/7] Migrate AWS read paths and state discovery to SDK v3 by @GrahamCampbell in #194
- [3/7] Migrate S3 deployment data plane to SDK v3 by @GrahamCampbell in #195
- [4/7] Migrate AWS ECR Lambda IAM operational flows to SDK v3 by @GrahamCampbell in #223
- [5/7] Migrate CloudFormation deploy/remove core to SDK v3 by @GrahamCampbell in #224
- [6/7] Migrate API Gateway cleanup flows to SDK v3 by @GrahamCampbell in #236
- [7/7] Migrate invoke local credential env vars to SDK v3 by @GrahamCampbell in #260
- Remove AWS SDK v2 by @GrahamCampbell in #271
- Remove standalone upgrade command by @GrahamCampbell in #273
- Remove standalone uninstall command by @GrahamCampbell in #275
- Publish prereleases with matching npm dist-tags by @GrahamCampbell in #276
- feat(schedule): add support for groupName by @fbnfgc in #279
- Fix circular JSON error in AWS request cache keys by @GrahamCampbell in #284
- Don't compare stat.dev when streaming zip entries by @GrahamCampbell in #285
- Add missing GA Lambda regions and sort region list by @GrahamCampbell in #283
- Delay removal of deprecated provider IAM settings to v5 by @GrahamCampbell in #286
- Restore provider IAM settings deprecated for removal in v5 by @GrahamCampbell in #287
- Avoid conflicting AWS credential sources during invoke local by @GrahamCampbell in #288
- Clean up partial remote package artifact downloads on failure by @GrahamCampbell in #289
- Paginate stack events during CloudFormation stack monitoring by @GrahamCampbell in #290
- Update main branch references to 3.x by @GrahamCampbell in #291
- Update 3.x branch references to 4.x by @GrahamCampbell in #292
- Prune older function versions by @mnapoli in #278
- Retry Windows safe move rename locks by @GrahamCampbell in #293
- Add a v4 upgrade guide by @mnapoli in #277
- Refactor readme by @GrahamCampbell in #294
- Clarify 3.x README installation by @GrahamCampbell in #295
- Add test migration foundation tooling by @GrahamCampbell in #296
- Remove unused aws4 dependency by @GrahamCampbell in #297
- Migrate function package compiler tests by @GrahamCampbell in #298
- Migrate layer package compiler tests by @GrahamCampbell in #299
- Add remote artifact deploy coverage by @GrahamCampbell in #300
- Migrate S3 and Cognito event coverage by @GrahamCampbell in #301
- Migrate API Gateway package compiler tests by @GrahamCampbell in #302
- Refactor API Gateway low-level compiler tests by @GrahamCampbell in #303
- Migrate API Gateway lifecycle hack tests by @GrahamCampbell in #304
- Migrate WebSocket compiler tests by @GrahamCampbell in #305
- Refactor leaf event compiler tests by @GrahamCampbell in #306
- Migrate stream compiler tests by @GrahamCampbell in #307
- Refactor CloudWatch log compiler tests by @GrahamCampbell in #308
- Refactor CloudFront compiler tests by @GrahamCampbell in #309
- Migrate check-for-changes deploy tests by @GrahamCampbell in #310
- Migrate deploy lifecycle test stubs by @GrahamCampbell in #311
- Migrate Lambda action plugin tests by @GrahamCampbell in #312
- Migrate invoke local input tests by @GrahamCampbell in #313
- Migrate remove command lifecycle tests by @GrahamCampbell in #314
- Migrate AWS operational info tests by @GrahamCampbell in #315
- Migrate AWS provider helper tests by @GrahamCampbell in #316
- Migrate AWS common helper tests by @GrahamCampbell in #317
- Migrate AWS package and deploy helper tests by @GrahamCampbell in #318
- Modernize AWS stub-map test callers by @GrahamCampbell in #319
- Replace package service fixture wrapper by @GrahamCampbell in #320
- Replace core fixture wrappers by @GrahamCampbell in #321
- Replace small core Serverless fakes by @GrahamCampbell in #322
- Replace commands fixture wrappers by @GrahamCampbell in #323
- Replace variable source Serverless fakes by @GrahamCampbell in #324
- Replace non-AWS plugin Serverless fakes by @GrahamCampbell in #325
- Replace package ZIP service Serverless fake by @GrahamCampbell in #326
- Replace utility and class Serverless fakes by @GrahamCampbell in #327
- Remove temporary test migration artifacts by @GrahamCampbell in #328
- Include SnapStart in Lambda version hashes by @GrahamCampbell in #330
- Harden target alias dependencies by @GrahamCampbell in #331
- Clean up 4.x target alias merge by @GrahamCampbell in #332
- Support qualified existing event targets by @GrahamCampbell in #333
- Propagate function conditions to generated resources by @GrahamCampbell in #334
- Cache custom-resource artifacts by content by @GrahamCampbell in #335
- Read deprecation environment at call time by @GrahamCampbell in #337
- Only replace S3 notification configs owned by the function by @GrahamCampbell in #336
- Make existing-event delete cleanup idempotent by @GrahamCampbell in #338
- Allow Cognito permission cleanup for removed functions by @GrahamCampbell in #339
- Tolerate denied S3 notification cleanup on delete by @GrahamCampbell in #340
- Fix existing S3 target migration cleanup by @GrahamCampbell in #341
- Pin Cognito update-path missing-pool guard by @GrahamCampbell in #342
- Clean up S3 notifications on rename migrations by @GrahamCampbell in #343
- Tighten Cognito migration IAM by @GrahamCampbell in #344
- Regenerate missing custom-resource artifacts on copy by @GrahamCampbell in #345
- Regenerate missing ajv validator artifacts on read by @GrahamCampbell in #346
- Isolate health-status test and clear artifact copy cache by @GrahamCampbell in #347
- Take over conflicted Lambda permissions by @GrahamCampbell in #348
- Serialize existing-event custom resources by @GrahamCampbell in #349
- Document condition semantics by @GrahamCampbell in #351
- Upgrade to mocha 12.0.0-beta-9.4 by @GrahamCampbell in #350
- Fail fast for conditional async destinations by @GrahamCampbell in #352
- Pin async destination condition mismatch by @GrahamCampbell in #353
- Constrain function name to the Lambda character set by @GrahamCampbell in #354
- Align function name schema tests with the 4.x harness by @GrahamCampbell in #355
- Pin alias targeting for new buckets and pools by @GrahamCampbell in #356
- Add Lambda Durable Functions support by @GrahamCampbell in #329
- Standardize temp file random suffixes by @GrahamCampbell in #357
- Update the upgrading guide to note pruning and durable functions by @GrahamCampbell in #358
- Fix flaky invoke tests by @GrahamCampbell in #359
- Fix invoke local layer reuse by @GrahamCampbell in #360
- Pass ECR Docker login token via stdin by @GrahamCampbell in #361
- Cleanup no longer needed packages by @GrahamCampbell in #362
- Upgrade to
simon22 by @GrahamCampbell in #363 - Upgrade eslint by @GrahamCampbell in #364
- Upgrade to content-disposition v2 by @GrahamCampbell in #365
- Remove dayjs by @GrahamCampbell in #366
- Remove cachedir by @GrahamCampbell in #367
- Remove require-from-string by @GrahamCampbell in #368
- Remove object-hash by @GrahamCampbell in #369
- Remove unused ws dev-dependency by @GrahamCampbell in #370
- Upgrade to mocha 12.0.0-beta-9.6 by @GrahamCampbell in #371
- Upgrade simon to v22 by @GrahamCampbell in #372
- Harden the AWS SDK v3 auth shim by @GrahamCampbell in #373
- Document AWS credential and request behavior changes by @GrahamCampbell in #374
- Guard removed AWS SDK v2 surfaces and improve error reporting by @GrahamCampbell in #375
- Improve AWS transport resilience by @GrahamCampbell in #376
- Document proxy configuration and transport corrections by @GrahamCampbell in #377
- Harden YAML parser unsafe key assignment by @GrahamCampbell in #378
- Standardize temp file random suffixes by @GrahamCampbell in #379
- Document proxy support in the compose guide by @GrahamCampbell in #380
- Align AWS SDK dependency floors by @GrahamCampbell in #381
- Fix flaky large zip memory smoke test by @GrahamCampbell in #383
- Add YAML external ref policies by @GrahamCampbell in #382
- Fix YAML file ref policy for missing paths by @GrahamCampbell in #386
- Make YAML external refs safe by default by @GrahamCampbell in #385
- Avoid leaking resolved values in variable syntax errors by @GrahamCampbell in #387
- Document security model by @GrahamCampbell in #388
- Validate layer paths by @GrahamCampbell in #389
- Harden plugin npm argv handling by @GrahamCampbell in #390
- Clean up plugin uninstall tests by @GrahamCampbell in #391
- Fix plugin install test fixture by @GrahamCampbell in #393
- Remove shell from Java and Ruby invoke local by @GrahamCampbell in #392
- Harden runtime spawn policy by @GrahamCampbell in #394
- Resolve Proxy-backed JS file variable addresses by @GrahamCampbell in #396
- Harden plugin spec handling by @GrahamCampbell in #395
- Flesh out the upgrading guide a little more by @GrahamCampbell in #397
- Skip invalid plugins entries for help and plugin commands by @GrahamCampbell in #398
- Document scope of Proxy-backed file address resolution by @GrahamCampbell in #399
- Fix plugin name example in the upgrading guide by @GrahamCampbell in #401
- Harden JS file address property access by @GrahamCampbell in #400
- Resolve Proxy-backed addresses in configuration property traversal by @GrahamCampbell in #402
- Set placeholder dev version by @GrahamCampbell in #403
- Document the Compose security model by @GrahamCampbell in #404
- Update 3.x setup docs and command examples by @GrahamCampbell in #407
- Update 4.x setup docs and command examples by @GrahamCampbell in #406
- Pin 4.x install examples by @GrahamCampbell in #408
- Upgrade mocha to
12.0.0-rc.1by @GrahamCampbell in #409 - Pin 3.x install guidance by @GrahamCampbell in #410
- Pin remaining 4.x install guidance by @GrahamCampbell in #411
- Improve documentation navigation, accuracy, and coverage by @GrahamCampbell in #412
- Fix invalid examples and broken links in the docs by @GrahamCampbell in #413
- Raise minimum js-yaml version to 4.3.0 by @GrahamCampbell in #414
New Contributors
Full Changelog: v3.72.0...v4.0.0