Skip to content

Releases: aws/aws-sam-cli

Lambda provisioned concurrency support

04 Dec 00:12
71e5959
Compare
Choose a tag to compare

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

02 Dec 22:53
69daba3
Compare
Choose a tag to compare

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

26 Nov 21:43
39f1915
Compare
Choose a tag to compare

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

25 Nov 21:54
c8642d2
Compare
Choose a tag to compare

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

21 Nov 22:28
647ef14
Compare
Choose a tag to compare

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

15 Nov 00:37
11b80b6
Compare
Choose a tag to compare

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

07 Nov 00:38
f183dbb
Compare
Choose a tag to compare

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

Release 0.30.0: Interactive Init

31 Oct 18:22
380183e
Compare
Choose a tag to compare

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).

Mark Python2.7 as Deprecated

23 Oct 17:30
5caeb32
Compare
Choose a tag to compare

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

18 Sep 19:03
1802ed8
Compare
Choose a tag to compare

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)