Serverless Framework - v3.0.0
Security
⚠️ A complete blog post with upgrade notes and overview of new features will be published in a couple of hours, stay tuned!
⚠ BREAKING CHANGES
- Variables: Old variables resolver is permanently removed. Any resolution error as approached with current resolver is assumed as final (there's no longer fallback to old resolver)
- AWS Lambda:
- Default lambda hashing algorithm was changed to
20201221
- Runtimes
nodejs10.x
,python2.7
,ruby2.5
anddotnetcore2.1
reached end of support on AWS and are no longer recognized in configuration. - Default runtime has been changed from
nodejs12.x
tonodejs14.x
- Properties
service.awsKmsKeyArn
andfunctions[].awsKmsKeyArn
are no longer supported. Useprovider.kmsKeyArn
andfunctions[].kmsKeyArn
instead. - CLI:
- CLI params put before command tokens are no longer recgonized (e.g.
sls -f <function-name> deploy function
will no longer work). In all cases construct CLI args insls <command> <options>
order - Unrecognized CLI options will no longer be supported and will result in an error.
enableLocalInstallationFallback
configuration property is no longer supported.- Remove
studio
command schema - The
--verbose
CLI flag does no longer support-v
alias - Opt-in tab-tab autocompletion feature is removed due to performance and security issues
- AWS API Gateway:
- Enabling logs or tracing for imported API Gateway will now result in an error instead of warning
- For authorizers with
request
type and caching disabled (resultTtlInSeconds: 0
), theidentitySource
will no longer be set tomethod.request.header.Authorization
by default. - Support for
usagePlan
,resourcePolicy
andapiKeys
onprovider
level is removed. Useprovider.apiGateway
level instead to set them. - Support for
http.request.schema
has been removed and replaced withhttp.request.schemas
. - AWS HTTP API: Tags from
provider.tags
are applied by default to HTTP API Gateway. - AWS CloudFront: Support for
MinTTL
,MaxTTL
,DefaultTTL
andForwardedValues
oncloudfront.behavior
has been removed. - AWS EventBridge: By default, EventBridge resources now will be deployed using native CloudFormation resources instead of Custom Resources.
- AWS Alexa: Support for simple
alexaSkill
event was removed and nowappId
is required for allalexaSkill
events.- Serverless Components (@serverless/components
) CLI is no longer integrated with Framework CLI. - Dashboard:
tenant
configuration setting is no longer respected. Ensure to rely onorg
instead - Serverless Components v1 (
@serverless/cli
) CLI is no longer integrated with Framework CLI. - Custom nested configuration paths will no longer be supported and such usage will result in an error.
- Object notation is no longer supported for
service
property. Set name directly toservice
. - When creating
Serverless
class instance programatically, bothoptions
andcommands
have to be passed viaconfig
to the constructor. - Duplicate plugin definition in configuration will now result in an error instead of a warning.
- Using
--aws-s3-accelerate
flag will result in an error instead of deprecation when custom S3 bucket is used. - Removed support for
provider.disableDefaultOutputExportNames
- Node.js versions lower than 12 is no longer supported
- Lifecycle events marked as deprecated (in context of v1) are no longer evaluated
Features
- Variables: Remove old variables resolver (9bf6c16)
- Packaging: Deprecate
package.include
andpackage.exclude
(aa4f9e3) - CLI:
- Deprecate support for
deploy -f
alias (09c9ea3) - Deprecate missing options schema (0db9c49)
- Deprecate recognition of
projectDir
configuration setting (00fcd83) - Global
--debug
flag for debug logging (3b4f267) - Global
--verbose
flag for verbose logging (2eef264) - Register
-v
as global--version
alias (211db81) - Remove
-v
alias for--verbose
flag (03b77c0) - Remove support for unrecognized cli options (7c2b2ea)
- Simplify CLI args parsing to
format (8229812) - Support
serverless-tencent
CLI (10db944) - Do not decorate
cli.log
logs (1f44227) - Expose
sls doctor
command (d403bfc) - Remove
studio
command schema (7f1e7e1) - Remove tab autocomplete feature (519ce0c)
- AWS Lambda:
- Change default hashing algorithm (775debf)
- Change default runtime to
nodejs14.x
(30e99fb) - Remove support for
awsKmsKeyArn
setting (6de37bf) - Remove support for obsolete runtimes (23cfb63)
- AWS HTTP API:
- Always apply
provider.tags
to HTTP API (b34d549) - Deprecate
provider.httpApi.useProviderTags
(fee410a) - AWS API Gateway:
- Change default identity source for authorizers (1139255)
- Error on tracing or logs set for external API (64ea6e5)
- Remove API specific settings from
provider
(99941f0) - Remove support for
request.schema
(b8019d8) - AWS CloudFront: Remove support for deprecated
behavior
props (c22277f) - AWS EventBridge: Change default deployment method to native CF (46956f3)
- AWS IAM: Deprecate IAM settings grouped directly at
provider
(d7fd239) - Plugins: Pass log writers to plugin constructor (57079b7)
- Config Schema: Deprecate
warn
as a validation mode default (6e27cc1) - Standalone: Upgrade
npm
to v8 (6bfdc0c) - Dashboard: Drop support for
tenant
(9894875) - AWS Alexa: Remove support for alexaSkill without appId (a9edd06)
- Disallow custom nested configuration path (aeb9a57)
- Error instead of warning when missing "commands" or "options" (f86f691)
- Remove
@serverless/cli
CLI integration (396cfb9) - Remove
@serverless/components
CLI integration (3395395) - Remove support for
provider.disableDefaultOutputExportNames
(a9cd331) - Remove support for Node v10 (90f00b7)
- Remove support for object notation for
service
(bccd188) - Restrict stage name with pattern (c8c9f49)
- Simplify
logs
command output (d4124a3) - Support
params
configuration (4675b57) - Throw error on duplicated plugin definition (d3aca0a)
- Throw for
--aws-s3-accelerate
when custom bucket used (b7d48e5) - Unconditionally fallback when local installation found (137554c)
Maintenance Improvements
- AWS Deploy: Use change sets in CF deployments (e2c65a2)
- Adapt to rename in
@serverless/dashboard-plugin
(88234a5) - CLI Onboarding: Download templates from v3 examples branch (ded1b0e)
- CLI:
- Convert
isLocallyInstalled
to export result directly (ad0bbb0) - Export resolved local installation path directly (fb3b39a)
- Improve post install log to reflect modern style (843764b)
- Improve progress for CloudFormation updates (14b1443)
- Seclude
paramRegExp
(703e40f) - Seclude uncaught exception handling (b4bd0d4)
- Simplify deploy function args patch (6527f8a)
- Unify finalization of a process handling (29357f4)
- Move
isLocalyInstalled
util to CLI context (3dc8395) - Config Schema: Do not rely on
ajv-keywords
(#10490) (4a22a4e) - Telemetry: Include
paramsCount
in telemetry (dd721b0) - Rely on
require.resolve
to detect wether module exist (040be5f) - Remove
legacy
logs (a92ab91) - Remove
lib/classes/Error.js
(44391fa) - Remove evaluation of deprecated lifecycle events (34bb51e)
- Remove internal
suppressLogIfPrintCommand
method (584286e) - Unify file naming convention
- Replace
ncjsm/resolve
usage with nativecreateRequire
(d18efc2) - Upgrade
@serverless/utils
to v6 (74d9c70) - Upgrade
ajv
tov8
along with related packages (15cd724)
Security
Security wording was detected, but no CVEs were found.
Details
date
Jan. 27, 2022, 3:20 p.m.
name
3.0.0 (2022-01-27)
type
Major
👇
Register or login to:
- 🔍View and search all Serverless Framework releases.
- 🛠️Create and share lists to track your tools.
- 🚨Setup notifications for major, security, feature or patch updates.
- 🚀Much more coming soon!