We're happy to release v1.4.0 of the Serverless Framework today!
This release is packed with lots of great new features. Let's take a look at the highlights!
Highlights of 1.4.0
Here are the highlights of this release. You can find a complete list of all the updates in the changelog.
Alexa event support
v1.4 introduces a new event alexaSkill
event source.
You can now hook up your Lambdas with alexaSkill
events like this:
functions:
hello:
handler: handler.hello
events:
- alexaSkill
You can learn more about this new event source in the docs. You can also check out examples for setting up your own Alexa skill for Node.js or Python in the Serverless Examples Repository.
C# service template
AWS introduced .NET core support for Lambda at re:Invent.
Serverless has you covered and ships with the new aws-csharp
template. You can use it to create C# services on AWS Lambda.
Simply run:
serverless create --template aws-csharp
to create a new C# service.
The C# "hello world" example will show you how you can setup and deploy your C# service.
Note: Serverless supports all AWS Lambda runtimes out of the box. You can change the runtime with the help of the runtime
property in serverless.yml
file.
Directory support for service installation via GitHub URL
The serverless install
command makes it possible for you to download services based on GitHub repository URLs. The downside was that only full repositories could be downloaded.
Until now! A recent enhancement makes it possible to download specific directories from a GitHub URL.
Want to play around with the REST API example which connects to a DynamoDB?
Just install the service with the following command:
serverless install --url https://github.com/serverless/examples/tree/master/aws-node-rest-api-with-dynamodb
Service-wide metrics
v1.3 introduced service metrics support allowing you to get function metrics by running:
serverless metrics --function hello
v1.4 enhances this command so that you can get service-wide metrics (all functions combined) when you run:
serverless metrics
Stdin support for invoke
serverless invoke
and its local equivalent serverless invoke local
are a great way to invoke your function to test its behavior.
v1.4 now supports stdin so that you can pipe data directly into the serverless invoke
call like this:
echo "hello world!" | serverless invoke --function hello --stage dev --region us-east-1
This provides way more flexibility to invoke a function with different data. Here's an example of how a dataGenerator.js
file could be used to generate data for your function:
node dataGenerator.js | serverless invoke local --function hello
Enhancements, refactorings and bug fixes
As usual we've also pushed a bunch of enhacements, refactorings and bug fixes (thanks for reporting!) in this release.
Next Steps
We've already started filling in the next milestones. Check out the 1.5 milestone to see what you can expect in two weeks.
We hope that you have fun with the new release! Let us know if you have any questions or feedback in our Forum or GitHub Issues.
The Serverless Examples Repository is an excellent resource if you want to explore some real world examples and learn more about what Serverless architectures look like.
Using Semver
Note that we're using strict Semver for our Serverless Framework versioning. This way you'll know when we introduce major features or breaking changes.