All notable changes to this project will be documented in this file. See standard-version for commit guidelines.
integration
schema (#8574) (09231c0) (Mariusz Nowak)resources
(#8553) (9399f2b) (Frédéric Barthelet).env
files (#8413) (d1a22c8) (Piotr Grzesik)--help
and remove --verbose
option (#8532) (4287494) (Vinod Tahelyani)service
(#8537) (6c6881c) (Frédéric Barthelet)aws-nodejs-typescript
: Import type definitions from @serverless/typescript
project (#8543) (fef389b) (Frédéric Barthelet)Packaging: Fix compatibility with npm v7.0 (#8505) (fdd962b) (Dmitry Gorbash)
AWS API Gateway: Fix usagePlan.throttle
handling (#8472) (04e18cb) (andreizet)
CLI: Ensure to not fallback to Framework on components run error (#8530) (15332c5) (Mariusz Nowak)
Templates: Fix service rename (#8508) (8c0d892) (Mariusz Nowak)
aws-nodejs-typescript
:
aws-go-mod
: Fix cleanup (#8507) (2791c71) (Fukaya Temma)defineFunctionEventProperties
schema extension method (#8486) (e32b771) (Frédéric Barthelet)defineFuntionEventProperties
schema extension method (#8471) (b5abfd8) (Frédéric Barthelet)service
object notation (#8466) (c0a2ecf) (A. Singh)that = this
pattern (#8463) (4ae192c) (telenord)sls config --autoupdate
(#8428) (e3f4546) (Mariusz Nowak){stage}-{service}
format in favor of {service}-{stage}
with suggestion to opt-in to new way (#8339) (8566135) (Fabian Schneider)ForwardedValues
to cache policies (#8381) (479727e) (Frédéric Barthelet)isAutoUpdateEnabled
(#8428) (48a3e11)(Mariusz Nowak)provider
as set in config file (#8450) (b04ab55)(Mariusz Nowak)package-lock.json
(#8409) (78f159b) (Mark Tse)blluebird
removal:
BbPromise.props
with Promise.all
(#8414) (2d6824c) (Piotr Grzesik)layers[].path
as required (#8398) ((0394025) (Mariusz Nowak)stream
event consumer
schema(#8405) (b0fe67d) (Mariusz Nowak)oneOf
to more optimal anyOf
(#8405) (2c874e2) (Mariusz Nowak)arn
(#8335) (9303d8e) (Raul Zaldana)functions[]
async invocation related properties(#8385) (719fa3a) (Frédéric Barthelet)context.awsRequestId
(#8380) (6a81137) (Frédéric Barthelet)package.artifact
(#8351) (661caad) (Ryan Roemer)IS_LOCAL
env variable in docker (#8372) (21babec) (Marek Piotrowski)oneOf
based validation (#8376) (a9b28b6) (Mariusz Nowak)undefined
valued service config properties as undefined
after normalizing for schema (#8374) (2e26e07) (Mariusz Nowak)provider
properties (#8297) (38c2047) (Frédéric Barthelet)layers
(#8299) (4168dc1) (Oz Weiss)provider.logs.restApi
(#8309) (dd9a011) (Frédéric Barthelet)Fn::Transport
at resoures.Resources
(#8337) (11a9d37) (Raul Zaldana)cloudFront
event behavior
schema (#8308) (5b740f6) (Johannes Edelstam)Fn::Join
delimiter length (#8349) (faa1dce) (Geoff Baskwill)provider.tags
schema (#8314) (fc34140) (Noel Martin Llevares)sns
event displayName
property as optional (#8323) (a020a4a) (Frédéric Barthelet)${self:}
(#8343) (ac34110) (Mariusz Nowak)required
value (#8329) (d2fb696) (Oz Weiss)RoleName
on custom role (#8219) (60cfa75) (David Wells)provider.alb.authorizers
as optional (#8295) (e990c09) (Mariusz Nowak)msk
event (#8164) (05d703e) (Piotr Grzesik)alexaSmartHome
event (#8255) (bd5099e) (Oz Weiss)awsKmsKeyArn
in favor of kmsKeyArn
(#8277) (a55009e) (Frédéric Barthelet)lodash
replacement:
_.forEach
with Object.entries().forEach
(#8280) (76e02cc) (Piotr Grzesik)_.forOwn
with Object.entries().forEach
(#8284) (56c7e44) (Piotr Grzesik)sqs
event (#8227) (4f96ce1) (Oz Weiss)functions[]
properties (#8222) (feece9a) (Frédéric Barthelet)cloudfront
event (#8250) (8943693) (Oz Weiss)cloudwatchLog
event (#8228) (42676d3) (Oz Weiss)websocket
event (#8218) (e1ca63c) (Raul Zaldana)fileSystemConfig.arn
(#8265) (4bf6543) (Piotr Grzesik)null
or undefined
as no value (#8272) (e5e42ba) (Mariusz Nowak)lodash
replacement:
_.{entries|entriesIn|toPairs}
with Object.entries
(#8275) (b867df1) (Piotr Grzesik)_.values
with Object.values
(#8274) (57d1ce1) (Piotr Grzesik)@serverless/enterprise-plugin
^4.0.4Transform
schema (#8229) (6961b62) (Michael Wolfenden)Condition
attribute in resources.extensions
(#8217) (16bae33) (Geoff Baskwill)fastest-levenshtein
(#8238) (0cd9cca) (Mariusz Nowak)semver-regex
as dev dependency (#8245) (4c46663) (Mariusz Nowak)archiver
to v5 (#8235) (389e3eb) (Mariusz Nowak)chalk
to v4 (#8236) (26628ff) (Mariusz Nowak)download
to v8 (#8237) (5931c7c) (Mariusz Nowak)filesize
to v6 (#8239) (5616603) (Mariusz Nowak)fs-extra
to v9 (#8240) (370c097) (Mariusz Nowak)get-stdin
to v8 (#8241) (372ce54) (Mariusz Nowak)is-docker
to v2 (#8242) (0c78259) (Mariusz Nowak)p-limit
to v3 (#8243) (e136d8b) (Mariusz Nowak)semver
to v7 (#8244) (c6c3804) (Mariusz Nowak)untildify
to v4 (#8246) (282b9be) (Mariusz Nowak)yargs-parser
to v20 (#8248) (ce51c8f) (Mariusz Nowak)uuid
to v8 (#8234) (b40b11b) (Mariusz Nowak)cli-progress-footer
(#8247) (08cb86a) (Mariusz Nowak)jwt-decode
(#8247) (f38c7c5) (Mariusz Nowak)mocha-lcov-reporter
(#8247) (822adbd) (Mariusz Nowak)rc
dependency (#8247) (4f6e354) (Mariusz Nowak)write-file-atomic
(#8247) (c375120) (Mariusz Nowak)node_modules
) CLI will be run instead of global one, when globally installed serverless
CLI is invoked in a context of a service, which has locally installed serverless
.slss
alias for serverless
CLI command was removed. Rely on sls
or serverless
insteadbin/serverless
was removed. If you target CLI script directly, point bin/serverless.js
insteadpayload
was changed from 1.0
to 2.0
timeout
setting as configured directly for httpApi
event is no longer supported. Timeout value is now unconditionally resolved from function timeout setting (it's to guarantee that configured endpoint has necessary room to process function invocation)providers.alb.authorizers[].allowUnauthenticated
setting was removed. Rely on providers.alb.authorizers[].onUnauthenticatedRequest
insteadserverless
installation by default (#8180) (dfc7839) (Mariusz Nowak).
In their names (#8130) (c620af3) (Christian Musa)slss
, serverless
command alias (#8161) (33eef9f) (Christian Musa)bin/serverless
file (#8142) (4ceaca0) (Piotr Grzesik)authorizers[].allowUnauthenticated
(#8160) (7c304df) (morgan-sam)timeout
setting (#8184) (1cfd1f2) (Mariusz Nowak)mkdrip
with esnureDir
from fs-extra
(#8183) (1beb8d0) (Mariusz Nowak)resources
section (#8139) (00d6f79) (Geoff Baskwill)schedule
event (#8143) (d9b91e9) (Andy Duncan)batchWindow: 0
(#8202) (b0547e6) (Mariusz Nowak)iot
event (#8177) (e55fc36) (Piotr Grzesik)update-notifier
notifications (as those are now covered by more accurate backend notifications, which also support notifications for multiple majors) (#8185) (11fb888) (Mariusz Nowak)frameworkVersion
requirement plan (#8178) (6dd0596) (Mariusz Nowak)serverless
(#8158) (9fb62f1) (Mariusz Nowak)frameworkVersion
requirement (#8158) (9f7f9d3) (Mariusz Nowak)slss
CLI alias (#8156) (a2d1031) (Christian Musa)sns
event (#8112) (87fd3c1) (Frédéric Barthelet)Fn::ImportValue
instructions in env vars (#8157) (06ed01b) (Frédéric Barthelet)httpApi.authorizer.id
(#8171) (453b802) (Frédéric Barthelet)frameworkVersion
in all templates (#8175) (3089abc) (Mariusz Nowak)google-nodejs
template (#8152) (40fb8ae) (Viacheslav Dobromyslov)isLocallyInstalled
characteristics (#8158) (246e4a6) (Mariusz Nowak)aws-sdk
dependency if installed (#8145) (2561ae8) (Mariusz Nowak)vscode
to .vscode
(#8168) (f308382)(Frédéric Barthelet)frameworkVersion
(#8175) (0d5a480) (Mariusz Nowak)frameworkVersion
validation (#8166) (c0fb04a) (Mariusz Nowak)resources
as fully provider specific (#8144) (6d7e967) (Mariusz Nowak)timeout
usage warnings to deprecations (#8172) (3b294fb) (Mariusz Nowak)serverless.onExitPromise
for internal processing (#8146) (0ab1283) (Georges Biaux)eventBridge
event (#8114) (796ce0b) (Frédéric Barthelet)cognitoPool
event (#8105) (184cb48) (Frédéric Barthelet)aws-sdk
dependency (as it's provided in AWS environment unconditionally) (#8103) (f45da3c) (Yogendra Sharma)aws-sdk
installation step when packaging custom resource lambda (#8110) (258c692) (Sedat Can Yalçın)async
dependency in CloudFormation stack deployment monitoring logic (#8132) (f9bcaae) (Mariusz Nowak)provider.resourcePolicy
(#8051) (20d9c64) (Geoff Baskwill)maximumRetryAttempts
set to 0
(#8048) (bab0d56) (Mariusz Nowak)disabledDeprecations
property (#8091) (c9ee6d5) (Mariusz Nowak)help
as command that doesn't depend on external plugins (#8056) (4660acd) (Mariusz Nowak)aws-nodejs-ecma-script
(#8064) (e7efca4) (Sam Hulick)SystemTextJson
initialization in aws-sharp
(#8092) (0490e8b) (Matt Davis)frameworkVersion
and disabledDeprecations
) (#8044) (a3f624e) (Mariusz Nowak)oneOf
case (#8044) (f4803ee) (Mariusz Nowak)isStandalone
for metrics (#8045) (0ad5cd7) (Mariusz Nowak)maximumEventAge
and maximumRetryAttempts
(#7987) (8573ec1) (Piotr Grzesik)versionFunctions
to true only in AWS provider case (9897120) (Mariusz Nowak)aws-kotlin-jvm-gradle-kts
template (#7992) (4727216) (Diego Marzo)gradle-wrapper
and gradle
in Java runtime templates (#7972) (6da0964) (Yuji Yamano)java11
support. (#7956) (dc1edc1) (Yuji Yamano)invoke-bridge
build error handling (#7968) (87e7480) (Yuji Yamano)ContextClassLoader
for groovy
and clojure
(#7955) (25263fd) (Yuji Yamano)--version
is only top level command option (#7949) (1f7534c) (Mariusz Nowak)logDeprecation
through which plugins may signal deprecations #7941 (f444a8d) (Mariusz Nowak)--help-interactive
#7924 (ff0af1e) (Mariusz Nowak)-v
or --version
#7924 (c042dd5) (Mariusz Nowak)PackageReference
in aws-fsharp template (#7914) (7848b6d) (Matt Davis)lodash
replacement:
_.concat
with array.concat
(#7851) (fce0b18) (RT)_.findKey
with Object.keys(object).find
(#7881) (d6cf036) (Duc Nguyen)_.has
with better counterparts (#7915) (7bbd04a) (andreizet)_.keyBy
with native constructs (#7882) (e7163ce) (Duc Nguyen)_.some
usage with array.some
(#7901) (75bf185) (Piotr Grzesik)_.toString
with native String
(#7893) (028e467) (Anh Dev)lodash
replacement:
_.isInteger
(#7878) (3b19a5a) (Dai Van Nguyen)lodash
replacement:
_.isBoolean
usage (#7880) (57f70f9) (Anh Dev)_.chain
with native constructs (#7862) (288cb25) (Nguyễn Việt Đức)_.compact
with array.filter(Boolean)
(#7858) (7e68a0c) (Çalgan Aygün)_.isEmpty
with native counterparts (#7873) (4c33476) (Dai Van Nguyen)_.min
with native constructs (#7840) (ee94dce) (Nguyễn Việt Đức)_.parseInt
with Number
(#7877) (f2e1942) (Dai Van Nguyen)_.pullAllWith
with native constructs (#7861) (f6743e9) (Çalgan Aygün)_.reduce
with array.reduce
(#7883) (297f7d8) (Dai Van Nguyen)_.sortBy
with array.sort
(#7823) (57e4212) (Nguyễn Việt Đức)usagePlan
array (85cc447) (Mariusz Nowak)maximumRecordAgeInSeconds
property (#7833) (003fcfb) (Demián Rodriguez)maximumRetryAttempts
option (#7832) (5a5a986) (Mariusz Nowak)serverless.ts
is handled properly at plugin commands (#7806) (dc96b9a) (Bryan Hunter)lodash
replacement:
_.first
with array[0]
(#7816) (a527744) (Chris Villanueva)_.head
with array[0]
(#7817) (8991ceb) (Chris Villanueva)_.includes
with val.includes
(#7818) (77fbb59) (Chris Villanueva)_.indexOf
with arr.includes
(#7825) (332524d) (Nguyễn Việt Đức)_.isFunction
with typeof value === 'function'
(#7810) (e42ab2c) (Wing-Kam)_.isNil(value)
with value == null
(#7809) (6cf4901) (Wing-Kam)_.isString(value)
with typeof value === 'string'
(#7812) (9f3ee94) (Wing-Kam)_.isUndefined
with native checks (#7826) (20cef81) (Nguyễn Việt Đức)_.join
with array.join
(#7805) (5cf46bf) (Chris Villanueva)_.map
with array.map
(#7827) (4c6f8be) (Nguyễn Việt Đức)_.nth
with array[index]
(#7841) (d5de0ec) (Nguyễn Việt Đức)_.repeat
with string.repeat
(#7842) (a549517) (Nguyễn Việt Đức)_.replace
with string.replace
(#7843) (aaa2f96) (Nguyễn Việt Đức)_.split
with string.split
(#7820) (053f5f4) (srd2014)_.takeRight
with array.slice
(#7831) (3b3db7a) (Jishnu Mohan P R)_.toUpper(string)
with string.toUpperCase
(#7808) (22a4ed2) (Wing-Kam)_.unset
with delete
(#7813) (e39cdfd) (Chris Villanueva)@serverless/util/config
(#7811) (96afed4) (Mariusz Nowak)customerId
in API keys (#7786) (c6894b5) (Greg Campion)bin/serverless
binary (#7759) (a60d2c7) (Mariusz Nowak)serverless.ts
(TypeScript type) as configuration input (#7755) (4db8b63) (Bryan Hunter)uuid
to v3 (#7778) (e9be1c8) (Mariusz Nowak)lodash
replacement:
_.assign
and _.extend
with Object.assign
(#7766) (85e9cd4) (Nguyễn Việt Đức)_.every
with array.every
(#7764) (d1721cb) (Chris Villanueva)_.filter
with array.filter
(#7775) (dac7c56) (Midhun Rajendran)_.keys
with Object.keys
(#7784) (d43241e) (Chris Villanueva)_.find
with array.find
(#7782) (0036962) (Chris Villanueva)_.forEach
and _.each
with array.forEach (#7748) (5e0af21) (Tatsuno Yasuhiro)_.size
with native counterparts (#7798) (2b00928) (Chris Villanueva)inquirer
with @serverless/inquirer
(#7729) (4724cb8) (Ahmad Mahmoud Mohammad)json-refs
to v3 (#7763) (97e99fc) (Frédéric Barthelet)globby
to v9 (#7750) (b245596) (Nguyễn Việt Đức)_.{startsWith,endsWith,includes}
with native methods (#7715) (8bb5517) (Tatsuno Yasuhiro)globby
to v9 (#7750) (b245596) (Nguyễn Việt Đức)--config
param (7bcad68) (Mariusz Nowak)fs-extra
v8 bug in chocolatey package generation script (548bd98) (Mariusz Nowak)disableLogs
setting for functions, to disable generation of log group resources (#7720) (3144be8) (Ahmad Mahmoud Mohammad)provider.stackParameters
for configuring CloudFormation deployment Parameters (#7677) (a0a43a6) (Nikody Keating)DependsOn
section (#7722) (d8222fa) (Ahmad Mahmoud Mohammad)--config
params (#7728) (ca2a73f) (Ahmad Mahmoud Mohammad)fs-extra
to v8 (#7719) (c106d53) (Kenan Christian Dimas)_.isArray
with native Array.isArray
(#7703) (3fe2e98) (Tatsuno Yasuhiro)archiver
to v3 (#7712) (dd9bf9) (Frédéric Barthelet)uuid
to v8 (#7707) (5b4fd0) (Kazuki Takahashi)rollback function
command (#7648) (03ad56b) () (Ahmad Mahmoud Mohammad)operationId
setting (#7617) (23bbcea) (Ryan Toussaint)maximumRetryAttempts
option (#7620) (9416e72) (Conrad Kurth)cors: true
(#7482) (57fec3f) (Bhuser)Enabled
setting (#7552) (10c016f) (Clar Charron)ruby2.7
runtime (#7538) (a6b3154) (Yotaro)Enabled
property (#7532) (8abae84), closes #7438 (Michael Wolfenden)~/..
paths (#7381) (962506b) (Ada Ye)httpApi
event (#7467) (841aac9) (Mariusz Nowak)timeout
setting is respected (#7420) (b52a41d) (Mariusz Nowak)timeout
configuration (#7401) (df9846d) (Mariusz Nowak)resource.extensions
for safe resource extensions (#7352) (08ec261) (Geoff Baskwill).
case) for local invocation (#7398) (d84e9e7) (Arben Bakiu)redrivePolicy
(#7277) (292b1ca) (tcastelli)provider.logs.restApi.roleManagedExternally
(#7333) (9b701a4) (coyoteecd)authorizer.managedExternally
option for http
event authorizers (#7327) (7abb23e) (Geoff Baskwill)provider.rolePermissionsBoundary
to set IAM boundary (#7319) (09466b5) (Thomas Schaaf)provider.alb.targetGroupPrefix
setting (#7322) (3910df1) (isen-ng & jinhong-)deploymentBucket.maxPreviousDeploymentArtifacts
customization (#7283) (0241468) (Edmundo Santos)destinations
config on stream events (#7262) (ea4ac26)sls logs
so it also covers output from aliases (#7270) (4468805), closes #7214
redrivePolicy
configuration on SNS events (#7239) (4f27378)azure-nodejs-typescript
template (#7252) (0549d85)go.mod
on make
in Go template (#7245) (1793cf8)code
parameter on ServerlessError
(f6c5179)BisectBatchOnFunctionError
option on event streams (#7105) (560ceee)RollbackConfiguration
in service config (#7193) (5973c9f)yargs-parser
) (#7187) (780fb46), closes #6083
resourcePolicy
setting (e662a91), closes #6789
Internal Failure
(04a7657)boxen
package (80f9a65)open
util issue (f29d169)$context.status
from websocket access log formatserverless_sdk
docsserverless
createnpm i
output about the serverless
quickstart command--config
optionCustom Response Headers
into [Responses]
config
invoke local
support for Ruby lambdas--env
being shadowed when using sls invoke local
/tmp/node-dependencies*
invoke local
of AWS Lambda Async Functionsserverless.js
configuration file--template-path
option to serverless create
X-Amz-User-Agent
to list of allowed headers in CORS - #3614serverless create
generated .gitignore (#3355)serverless create
(#3334)We've removed the IamPolicyLambdaExecution
resource template and replaced it with inline policy within the role as it's been causing issues with VPC and bloating the CF template. This is a breaking change only for users who are depending on that resource with Ref
or similar CF intrinsic functions.
sls info
The function name displayed when you run sls info
is now the short function name as found in serverless.yml
rather than the actual lambda name to keep it more provider agnostic. This could be breaking for any user who is depending or parsing the CLI output.
A minimal patch release that fixes an issue with rendering README.md on npm registry.
Important Note: This release includes breaking changes. If your services stopped working after upgrading to v1.6.0, please read the following section.
Up until this release, CloudWatch log groups were created implicitly by AWS/Lambda by default and were not included in your service stack. However, some users were able to easily reach the CloudWatch log group limits (currently at 500 log groups), and it wasn't an easy task to clear them all. Because of that we decided to explicitly create the log groups using CloudFormation so that you can easily remove them with sls remove
. This was also optionally possible with the cfLogs: true
config option.
If your service doesn't have the cfLogs: true
set, and one of the function has been invoked at least once (hence the log groups were created implicitly by AWS), then it's very likely that you'll receive a "log group already exists" error after upgrading to v1.6.0. That's because CF is now trying to create the already created log groups from scratch to include it in the stack resources. To fix this breaking change, simply delete the old log group, or rename your service if you must keep the old logs.
Up until this release, the output section of the generated CloudFormation template included an output resource for each function Arn. This caused deploying big services to fail because users were hitting the 60 outputs per stack limit. This effectively means that you can't have a service that has more than 60 functions. To avoid this AWS limit, we decided to remove those function output resources completely, to keep the stack clean. This also means removing the function Arns from the sls info
command, and at the end of the deployment command.
This is a breaking change for your project if you're depending on those function output resources in anyway, or if you're depending on function arn outputs from the deploy or info commands. Otherwise, your project shouldn't be affected by this change. Fixing this issue depends on your needs, but just remember that you can always create your own CF outputs in serverless.yml
.
getStackName()
methodThis is a breaking change for plugin authors only. If your plugin used the provider.getStackName()
method, it has been moved to naming.js
, and should be referenced with provider.naming.getStackName()
instead.
defaults
property from serverless.yml
We've finally dropped support for the defaults
property which we introduced in v1. All child properties should now be moved to the provider
object instead.
sls create
command (#3122)role
(#3083)serverless.yml
file reference (#2703)event.json
file on service creation (#2786)--noDeploy
flag to generate deployment files offline without needing internet connection (#2648)include
packaging feature with the help of globs (#2460)We will include the LogGroup for your Lambda function in the CloudFormation template in the future. This will break deployments to existing applications because the log group was already created. You will get a warning about this if you deploy currently. We will force this behaviour in a future release, for now you can set it through the cfLogs: true
parameter in your provider config. This change will also limit the logging rights to only this LogGroup, which should have no impact on your environment. You can read more in our docs.
Following is a selection of features, bug fixes and other changes we did since 1.0.2. You can also check out all changes in the Github Compare View
Accidentally released 1.0.1 to NPM, so we have to skip this version (added here to remove confusion)
Following is a selection of the most important Features of the 1.0.0 since 1.0.0-rc.1.
You can see all features of 1.0.0-rc.1 in the release blogpost
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。