Starting with v3.0.0, environment variables will be automatically loaded from .env and .env.{stage} files if they're present.
Adapt to this behavior now by adding useDotenv: true to service configuration.
Note that env vars are handled differently than with serverless-dotenv-plugin, check documentation for more info.
service property object notationStarting with v3.0.0, object notation for service property will no longer be recognized. Set service property directly with service name.
cloudFront event behavior.ForwardedValues propertyCloudfront cache behavior ForwardedValues, MinTTL, MaxTTL and DefaultTTL fields are deprecated. We recommend that you use a cache policy instead of this field. Please follow cache policy documentation for implementation details.
${service}-${stage}Starting with v3.0.0, API Gateway naming will be changed from ${stage}-${service} to ${service}-${stage}.
Adapt to this convention now by setting provider.apiGateway.shouldStartNameWithService to true.
Eventually if you have a strong reason to stick to current convention, you may ensure it's kept after upgrading by setting: provider.apiName: ${opt:stage, self:provider.stage, 'dev'}
alexaSkill event without appId is to be removedStarting with v3.0.0, support for alexaSkill event without appId provided will be removed.
resources.extensionsStarting with v3.0.0, extensions to nonexistent resources in resources.extensions will throw an error instead of passing silently.
enableLocalInstallationFallback setting is to be removedStarting with v3.0.0, framework will unconditionally run service local installation of serverless if it's found.
serverless installationStarting with v2.0.0, globally installed CLI will by default run (fallback to) service local installation of serverless if it's found.
Adapt to this behavior now by adding enableLocalInstallationFallback: true to service configuration. Alternatively you may opt-out by setting it to false (note that'll be ineffective starting from v3.0.0, where support for this setting will be dropped, and CLI will unconditionally favor locally installed serverless installations when found)
timeoutprovider.httpApi.timeout and functions[].events[].httpApi.timeout settings will no longer be recognized with v2.0.0.
Endpoints are configured to automatically follow timeout setting as configured on functions (with extra margin needed to process HTTP request on AWS side)
slss aliasSupport for slss command will be removed with v2.0.0. Use sls or serverless instead.
maximumEventAge & maximumRetryAttemptsmaximumEventAge and maximumRetryAttempts should be defined directly at function level. Support for those settings on destinations level, will be removed with v2.0.0
Default HTTP API Payload version will be switched to 2.0 with next major release (For more details see payload format documentation)
Configure httpApi.payload explicitly to ensure seamless migration.
Support for Node.js v6 and v8 will be dropped with v2.0.0 release
Ensure to rely on at least Node.js v10 (It's recommended to use LTS version, as listed at https://nodejs.org/en/)
allowUnauthenticatedPlease use onUnauthenticatedRequest instead. allowUnauthenticated will be removed with v2.0.0
bin/serverlessPlease use bin/serverless.js instead. bin/serverless will be removed with v2.0.0
awsKmsKeyArn referencesPlease use provider.kmsKeyArn and functions[].kmsKeyArn. service.awsKmsKeyArn and functions[].awsKmsKeyArn will be removed with v3.0.0