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 and dotnetcore2.1 reached end of support on AWS and are no longer recognized in configuration.
  • Default runtime has been changed from nodejs12.x to nodejs14.x
  • Properties service.awsKmsKeyArn and functions[].awsKmsKeyArn are no longer supported. Use provider.kmsKeyArn and functions[].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 in sls <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), the identitySource will no longer be set to method.request.header.Authorization by default.
  • Support for usagePlan, resourcePolicy and apiKeys on provider level is removed. Use provider.apiGateway level instead to set them.
  • Support for http.request.schema has been removed and replaced with http.request.schemas.
  • AWS HTTP API: Tags from provider.tags are applied by default to HTTP API Gateway.
  • AWS CloudFront: Support for MinTTL, MaxTTL, DefaultTTL and ForwardedValues on cloudfront.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 now appId is required for all alexaSkill events.- Serverless Components (@serverless/components) CLI is no longer integrated with Framework CLI.
  • Dashboard: tenant configuration setting is no longer respected. Ensure to rely on org 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 to service.
  • When creating Serverless class instance programatically, both options and commands have to be passed via config 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 and package.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 native createRequire (d18efc2)
  • Upgrade @serverless/utils to v6 (74d9c70)
  • Upgrade ajv to v8 along with related packages (15cd724)

Comparison since last release


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!
Continue with GitHub
Continue with Google
or