5.4 KiB
Serverless Framework Deprecations
Automatic loading environment variables from .env and .env.{stage} files
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 notation
Starting 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 property
Cloudfront 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.
API Gateway naming will be changed to ${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'}
Support for alexaSkill event without appId is to be removed
Starting with v3.0.0, support for alexaSkill event without appId provided will be removed.
Defining extensions to nonexistent resources in resources.extensions
Starting with v3.0.0, extensions to nonexistent resources in resources.extensions will throw an error instead of passing silently.
Support for enableLocalInstallationFallback setting is to be removed
Starting with v3.0.0, framework will unconditionally run service local installation of serverless if it's found.
Fallback to a service local serverless installation
Starting 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)
AWS HTTP API timeout
provider.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 alias
Support for slss command will be removed with v2.0.0. Use sls or serverless instead.
AWS Lambda Function Destinations maximumEventAge & maximumRetryAttempts
maximumEventAge and maximumRetryAttempts should be defined directly at function level. Support for those settings on destinations level, will be removed with v2.0.0
AWS HTTP API payload format
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.
Outdated Node.js version
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/)
AWS ALB allowUnauthenticated
Please use onUnauthenticatedRequest instead. allowUnauthenticated will be removed with v2.0.0
bin/serverless
Please use bin/serverless.js instead. bin/serverless will be removed with v2.0.0
awsKmsKeyArn references
Please use provider.kmsKeyArn and functions[].kmsKeyArn. service.awsKmsKeyArn and functions[].awsKmsKeyArn will be removed with v3.0.0