Releases: aws/aws-sam-cli
Lambda provisioned concurrency support
SAM CLI now supports validate, build, package, deploy and local execution of SAM templates that include Lambda provisioned concurrency configurations.
sam init supports EventBridge Schemas
This release introduces support for Amazon EventBridge schema registry. sam init now includes additional options to create an EventBridge app from scratch, with a specific event schema as a trigger. This will automatically generate strongly-typed class files for the event in your serverless application, including the AWSEvent payload, a marshaller, and an EventBridge rule in your SAM template. You can easily try out the feature by using one of the existing aws.events service schemas available in the schema registry.
Changelog
- 2090431 - Revert "release: 0.20.0"
- e218d29 - chore: Update version to 0.20.1
- 18908c1 - Revert "Revert "release: 0.20.0"" (#1377)
- 1ff9914 - chore: Integ tests for fail-on-empty-changeset flag (#1608)
- 3888c15 - Param overrides unit tests (#1609)
- 545cd95 - fix: do not exit after throttling retries have been exhausted (#1611)
- fb03b34 - fixing typos on sam deploy documentation (#1612)
- 88fc444 - feat(init): enabled extra_context with custom cookiecutter templates (#1547)
- be8ac65 - Fix for stackTrace not returned in new Lambda containers. (#1620)
- c75944e - Revert "Fix for stackTrace not returned in new Lambda containers. (#1620)" (#1621)
- 7f39f8c - chore: Version bump to v0.35.0 (#1622)
- c1ddbb3 - feat(init): Support for EventBridge Schemas (#1625)
- 24bdc50 - chore: Version bump aws-sam-translator (#1627)
`sam init` from code samples without cookiecutter
With this release, you can initialize SAM apps directly from a Git repository using sam init
command. This allows you to copy a Github URL and run sam init -l <url>
to download it locally. Previously, sam init
could initialize only from cookiecutter templates (ie. projects with cookiecutter.json file in the root).
Changelog
- 00345ed - feat: Initialize a project from non-cookiecutter github repo or zip file (#1595)
- 32b048e - chore: version bump to 0.34.0 (#1597)
- da5cf77 - Fixed typo of "sam deploy" option (#1601)
- 7d2728a - fix: Ignore .git when init from arbitrary github repo (#1599)
- d8b84bb - feat: Upgrade SAM Translator to 1.16.0 (#1596)
- c2cdfab - fix: Add --no-fail-on-empty-changeset back (#1607)
- 1c7ea72 - fix: pretty error msg when init location is invalid (#1606)
Enhanced Deployment Experience with single command deploy
SAM CLI, now allows you to deploy applications with a single command: sam deploy
. Previously, deploying applications through SAM CLI required more than one step and needed you to provide an Amazon S3 bucket for the Lambda deployment package. SAM CLI now creates and manages this S3 bucket for you. It also allows you to easily configure the deployment parameters, and execute subsequent deployments by running the sam deploy
command without parameters.
The sam deploy
command now comes with a guided interactive mode (sam deploy —guided
). This mode walks you through the parameters required for deployment, provides default options, and saves your input for the given application. You can also see changes made to the application stack that will be deployed through the sam deploy
command output, as well as configure the command to ask for confirmation on changes before deploying.
SAM CLI now supports a new samconfig.toml
configuration file which currently will act as a passthrough for parameters to SAM CLI commands.
Changelog
- 8614c57 - Deploy off aws cli (#1455)
- 070105f - design: samconfig (#1503)
- 44d65f0 - feat: configuration file for sam cli commands (#1502)
- 260e2c5 - design:
sam deploy
also packages built artifacts (#1521) - f26dddd - Package and deploy in one command (#1532)
- 2d4ed78 - Managed S3 Bucket via optional bootstrap command (#1526)
- 43b3f8a - Colors for deploy (#1535)
- 4c10734 - fix: deploy error on not supplying s3 bucket (#1534)
- 4a08c35 - fix: override botocore logging to a NullHandler (#1538)
- a44a4a1 - Guided deployment when flag is specified
- 2b8399d - fixing linter
- b793184 - feat: save params to config file on interactive deploy
- b8c2ebd - fixing unit tests
- 750ea12 - fix: pass
--confirm-changeset
through to deploy command - 362a12f - ux: improvements on sam deploy --interactive
- 2f2cbbe - fix:
samconfig.get_all
- 93d5568 - feat: allow
--interactive
to ask for parameters - aefe2a6 - fix: interactive deploy specifies parameter defaults
- a77b5b6 - fix: always use a managed stack on deploy interactive
- 6d70440 - fix: smoke tests for deploy
- 1e6ca14 - fix: usability fixes on deploy --guided (#1555)
- e69bd23 - fix: stack outputs on deploy (#1556)
- a7068f9 - Guided Deploy UX Improvements (#1554)
- 6fe78f2 - fix: always showcase deploy args (#1557)
- 9d2063a - fix: parameter override prompts during guided deploy (#1558)
- 10b4357 - fix: only create config file on write (#1559)
- 935b1f1 - fix: usability fixes on deploy error with no s3 bucket (#1561)
- b2f2d22 - Add Exception Handling for Client Misconfiguration (#1560)
- 16cbbea - fix: helpful error message when deploy happens across regions (#1562)
- e93897a - tests: integration tests for
sam deploy
(#1565) - e5d3409 - Reduce guided output (#1563)
- 4c95eff - bugfixes:
stack-name
is required on deploy (#1573) - e4e2490 - feat: s3 bucket versioning - managed stack (#1579)
- beb0c00 - Tests for samconfig use with all commands (#1575)
- 961af97 - fix: add version to
samconfig.toml
file (#1581) - b7dfd3f - feat: Init README Deploy Updates (#1580)
- 92a6a00 - chore: release v0.33.0 (#1582)
- 65dd732 - fix: move the sleep before applying bucket policy (#1584)
- 0b9d5bd - fix: managed stack (#1585)
- f7b7e55 - tests: close tempfile before attempting to delete (#1586)
- ee13133 - integ tests: throttling with cloudformation (#1587)
- 33c9b7f - fix: samconfig.toml links in
sam deploy --guided
(#1588) - 0431602 - refactor: Use communicate with a timeout for build and invoke integ tests (#1571)
- f2e66d8 - fix: move tests to a
static
bucket solution (#1589) - aec0809 - refactor: move all process.wait to process.communicate (#1590)
- b9bf7c3 - fix: showcase changeset arn on deploy (#1592)
- 14d5d34 - chore: Version bump to 0.33.1 (#1593)
Support for Python3.8, Nodejs12.x, and Java11 Runtimes
With this release, you can now use Python3.8, Nodejs12.x, and Java11 Runtimes!
Changelog
- fix: Remove attach_api and replace with docker library calls (#1552)
- fix: collect prior output from attached containers (#1566)
- fix: Update extra_context to extra-context to match other command options (#1568)
- chore: Version bump to 0.32.0 (#1567)
- feat: Support Java11, Python3.8, and Nodejs12.x runtimes (#1549)
Improvements to `sam package` command
Improvements to sam package
command
SAM CLI now supports running sam package
without AWS CLI installed. This release also includes user experience improvements to interactive sam init
command.
Breaking Change
sam local invoke
command will no longer require an event data by default. Previously, this behavior was available by passing the --no-event
parameter. To pass event data via stdin, you can use the --event
parameter with a value of -
.
Example: echo '{"message": "Hey, are you there?" }' | sam local invoke "HelloWorldFunction" --event -
Changelog
- 42586d4 - exposed extra_context CLI option to pass cookiecutter parameter (#1500)
- 6f6a8cf - fix: zip files were ignored by .gitignore (#1514)
- 6327d33 - fix: Move validation of timeout is an int further down the stack (#1515)
- 9f08f81 - chore: Simplify how timeouts are casted to an int (#1518)
- 8ee1c74 - chore: fix java build and ruby appveyor builds (#1524)
- 412590f - fix: compare dictionaries instead of json strings for regression test (#1527)
- 52708db - chore: Bump version to 0.31.1 (#1523)
Improvements to `sam package` command
Improvements to sam package
command
SAM CLI now supports running sam package
without AWS CLI installed. This release also includes user experience improvements to interactive sam init
command.
Breaking Change
sam local invoke
command will no longer require an event data by default. Previously, this behavior was available by passing the --no-event
parameter. To pass event data via stdin, you can use the --event
parameter with a value of -
.
Example: echo '{"message": "Hey, are you there?" }' | sam local invoke "HelloWorldFunction" --event -
Changelog
- 2090431 - Revert "release: 0.20.0"
- e218d29 - chore: Update version to 0.20.1
- 18908c1 - Revert "Revert "release: 0.20.0"" (#1377)
- 6d1dd92 - Make --no-event the default for local invoke
- 0812b24 - Remove Exception Test for Local Invoke
- a54a4ff - fix: slack channel link (#1498)
- 7cbcfff - feat: sam package without awscli pre-installed (#1437)
- aa26502 - Init User Flow Rework (#1501)
- 7e272ef - Remove non-interactive command explainer (#1508)
- e2e2071 - chore: Bump version to 0.31.0 (#1510)
Release 0.30.0: Interactive Init
This release provides an interactive workflow for the sam init
command. To use the interactive init feature, just call sam init
without any parameters and follow the prompts!
This release also ends support for installing the AWS SAM CLI on Python 2.7 (building and invoking Python 2.7 functions for AWS Lambda is still supported).
- Interactive 'sam init' Command
- Remove Python 2.7 Support
- Resolve symbols order for intrinsics
- Allow exposing of multiple ports when running in debug mode
- Lambda timeout from parameter
- Fixes empty account id in CloudWatch Scheduled Event
- Fix typo in CloudFrontServeObjectOnViewer event
- Add SageMaker Ground Truth Lambda events
Mark Python2.7 as Deprecated
SAM CLI now marks installations under python2.7 as deprecated with intentions to drop support for python 2.7 from next release. This release also has the latest aws-sam-translator version of 1.15.1.
Changelog
- 9d527c1 - Fix Ruby Integ Test
- 704c1ea - fix: isolated requirements (#1430)
- 11db934 - fix: appveyor runs windows build tests per language (#1428)
- af52032 - fix: py2 warning message to be deprecated instead (#1431)
- 83d4d49 - feat(perf): Improve load time of help text (#1444)
- 8a76a3c - fix: pin pytest-forked to 1.0.2 (#1465)
- 8954e04 - chore: version bump on aws-lambda-builders to 0.5.0 (#1468)
- ec80eb0 - fix: add timeouts on docker local-invoke, start-api and start-lambda integration tests (#1478)
- 0464b27 - Update aws-sam-translator Dependency (#1448)
- 79f524e - fix: Inline data that was defined with AWS::Include (#1472)
- 593fc5e - chore: bump version to 0.23.0 (#1474)
Improved compatibility with latest SAM capabilities
SAM CLI now supports validating and parsing SAM templates that contain latest SAM capabilities such as OpenApi3, IAM Authorizers, API Key authorizers etc. This release also includes several bug fixes in the build
and start-api
commands.
Changelog
- 2090431 - Revert "release: 0.20.0"
- e218d29 - chore: Update version to 0.20.1
- 18908c1 - Revert "Revert "release: 0.20.0"" (#1377)
- 32cf6be - fix(generate-event): Remove two remaining cases of double mustache (#1389)
- a9d69d5 - updates to yamlhelper and related tests (#1388)
- a83aa9e - chore: Apply Black automatic code formatting (#1186)
- 06a91c5 - chore: Run black --check on make pr (#1399)
- 2a55807 - feat: Provide pinned requirements to allow for reproducible builds (#1391)
- 78274a0 - Require Cors header values to be specified with double quotes. (#1395)
- 9355b7b - chore: Handle pytest warnings (#1406)
- 37d0e39 - fix(build): Disallow --build-dir to resolve to cwd (#1403)
- aa336bb - fix(intrinsics): Attempt to resolve all intrinsics but leave untouched in failure (#1410)
- 4b3336d - chore: Bumping SAM Translator version (#1412)
- feeb1a2 - fix: Run Integration tests on Windows with AppVeyor (#1269)
- f896920 - chore: black format tests (#1415)