Seed uses the following scheme while deciding which Serverless Framework version to use.
We use a recent stable release as a default when your app or service is created. We do this because Serverless Framework releases can sometimes be buggy and these end up breaking previously working builds. We update the default version every once in a while.
However, we do not update previously deployed apps with the new default version. These changes only affect any newly created apps or services.
You can see the version of Serverless Framework that Seed has globally installed at the top of your builds. You can see this in the build logs as well.
To use a specific version of Serverless Framework for your builds you can:
Starting with Serverless Framework v2, it supports using the locally installed version. This means that you can add a specific version as a dependency. And Seed will use that, instead of the globally installed version.
For older versions of Serverless Framework, you can pin the version in your
To tell Seed which version to use (for example
1.63.0), you can set the
frameworkVersion in the top of your
frameworkVersion: "1.63.0" service: my-service provider: name: aws ...
Alternatively, you can set a range.
frameworkVersion: ">=1.0.0 <2.0.0"
Where the Serverless Framework version to be used should be in between (and including)
1.0.0 or anything less than
2.0.0. In this case, Seed will use the highest locally cached version that matches the range.
Seed internally caches versions of Serverless Framework to speed up your builds. So if you pin your service to use a specific version, Seed will first check if it’s been previously cached. If not, then it’ll be added to a queue to cache it in the future.
You can read more about version pinning in the Serverless Framework docs.