Skip to content
Branch: master
Find file Copy path
Find file Copy path
7 contributors

Users who have contributed to this file

@jamesls @stealthycoin @kyleknap @joguSD @JordonPhillips @tomdyson @igable
610 lines (489 sloc) 22.2 KB


Next Release (TBD)

  • Add experimental support for websockets (#1017)


  • Make MultiDict mutable (#1158)


  • Update PIP to support up to 19.1.x (#1104)
  • Fix handling of more complex Accept headers for binary content types (#1078)
  • Raise TypeError when trying to serialize an unserializable type (#1100)
  • Update policies.json file (#1110)
  • Support repeating values in the query string (#1131)
  • Add layer support to chalice package (#1130)
  • Fix bug with route name kwarg raising a TypeError (#1112)
  • Change exceptions to always be logged at the ERROR level (#969)
  • Fix bug handling exceptions during chalice invoke on Python 3.7 (#1139)
  • Add support for API Gateway compression (#672)
  • Add support for both relative and absolute paths for --package-dir (#940)


  • Fall back to pure python version of yaml parser when unable to compile C bindings for PyYAML (#1074)
  • Add support for Lambda layers. (#1001)


  • Fix packaging multiple local directories as dependencies (#1047)
  • Add support for passing SNS ARNs to on_sns_message (#1048)
  • Add support for Blueprints (#1023)
  • Add support for opting-in to experimental features (#1053)
  • Provide Lambda context in event object (#856)


  • Add support for pip 18.2 (#991)
  • Add more detailed debug logs to the packager. (#934)
  • Add support for python3.7 (#992)
  • Support bytes for the application/json binary type (#988)
  • Use more compact JSON representation by default for dicts (#958)
  • Log internal exceptions as errors (#254)
  • Generate swagger documentation from docstrings (#574)


  • Fix local mode issue with unicode responses and Content-Length (#910)
  • Fix issue with requirements-dev.txt not setting up a working dev environment (#920)
  • Add support for pip 18 (#910)


  • Add chalice invoke command (#900)


  • Add support for S3 upload_file/download_file in policy generator (#889)


  • Add support for generating python 3.6 pipelines (#858)
  • Add support for connecting lambda functions to S3 events (#855)
  • Add support for connecting lambda functions to SNS message (#488)
  • Make watchdog an optional dependency and add a built in stat() based file poller (#867)
  • Add support for connecting lambda functions to an SQS queue (#884)


  • Add support for Lambdas in a VPC (#413, #837, #673)
  • Add support for packaging local directories (#653)
  • Add support for automatically reloading the local dev server when files are modified (#316, #846, #706)
  • Add support for viewing cloudwatch logs of all lambda functions (#841, #849)


  • Add support for pip 10 (#808)
  • Update policies.json file (#817)


  • Fix package command not correctly setting environment variables (#795)


  • Add CORS headers to error response (#715)
  • Fix parsing empty query strings in local mode (#767)
  • Fix regression in chalice package when using role arns (#793)


This release features a rewrite of the core deployment code used in Chalice. This is a backwards compatible change for users, but you may see changes to the autogenerated files Chalice creates. Please read the upgrade notes for 1.2.0 for more detailed information about upgrading to this release.

  • Print out full stack trace when an error occurs (#711)
  • Add image/jpeg as a default binary content type (#707)
  • Add support for AWS Lambda only projects (#162, #640)
  • Fix inconsistent IAM role generation with pure lambdas (#685)
  • Rewrite Chalice deployer to more easily support additional AWS resources (#604)
  • Update the chalice package command to support pure lambda functions and scheduled events. (#772)
  • Fix packager edge case normalizing sdist names (#778)
  • Fix SQLAlchemy packaging (#778)
  • Fix packaging abi3, wheels this fixes cryptography 2.2.x packaging (#764)


  • Add --connection-timeout to the deploy command (#344)
  • Fix IAM role creation issue (#565)
  • Fix chalice local handling of browser requests (#565)
  • Support async/await syntax in automatic policy generation (#565)
  • Support additional PyPi package formats (.tar.bz2) (#720)


  • Default to None in local mode when no query parameters are provided (#593)
  • Add support for binding a custom address for local dev server (#596)
  • Fix local mode handling of routes with trailing slashes (#582)
  • Scale lambda_timeout parameter correctly in local mode (#579)
  • Add --codebuild-image to the generate-pipeline command (#609)
  • Add --source and -buildspec-file to the generate-pipeline command (#609)


  • Fix issue deploying some packages in Windows with utf-8 characters (#560)
  • Add support for custom authorizers with chalice package (#580)


  • Fix issue with some packages with - or . in their distribution name (#555)
  • Fix issue where chalice local returned a 403 for successful OPTIONS requests (#554)
  • Fix issue with chalice local mode causing http clients to hang on responses with no body (#525)
  • Add --stage parameter to chalice local (#545)
  • Fix issue with analyzer that followed recursive functions infinitely (#531)


  • Fix issue where requestParameters were not being mapped correctly resulting in invalid generated javascript SDKs (#498)
  • Fix issue where api_gateway_stage was being ignored when set in the config.json file (#495)
  • Fix bug where raw_body would raise an exception if no HTTP body was provided (#503)
  • Fix bug where exit codes were not properly being propagated during packaging (#500)
  • Add support for Builtin Authorizers in local mode (#404)
  • Fix environment variables being passed to subprocess while packaging (#501)
  • Allow view to require API keys as well as authorization (#473)


  • Only use alphanumeric characters for event names in SAM template (#450)
  • Print useful error message when config.json is invalid (#458)
  • Fix api gateway stage being set incorrectly in non-default chalice stage


  • Change default API Gateway stage name to api (#431)
  • Add support for CORSConfig in chalice local (#436)
  • Propagate DEBUG log level when setting app.debug (#386)
  • Add support for wildcard routes and HTTP methods in AuthResponse (#403)
  • Fix bug when analyzing list comprehensions (#412)
  • Update chalice local to use HTTP 1.1 (#448)


Please read the upgrade notes for 1.0.0b2 for more detailed information about upgrading to this release.

Note: to install this beta version of chalice you must specify pip install 'chalice>=1.0.0b2,<2.0.0' or use the --pre flag for pip: pip install --pre chalice.

  • Set env vars from config in chalice local (#396)
  • Fix edge case when building packages with optional c extensions (#421)
  • Remove legacy policy.json file support. Policy files must use the stage name, e.g. policy-dev.json (#430)
  • Fix issue where IAM role policies were updated twice on redeploys (#428)
  • Validate route path is not an empty string (#432)
  • Change route code to invoke view function with kwargs instead of positional args (#429)


Please read the upgrade notes for 1.0.0b1 for more detailed information about upgrading to this release.

Note: to install this beta version of chalice you must specify pip install 'chalice>=1.0.0b1,<2.0.0' or use the --pre flag for pip: pip install --pre chalice.

  • Fix unicode responses being quoted in python 2.7 (#262)
  • Add support for scheduled events (#390)
  • Add support for pure lambda functions (#390)
  • Add support for wheel packaging. (#249)


  • Fix deployment issue for projects deployed with versions prior to 0.10.0 (#387)
  • Fix crash in analyzer when encountering genexprs and listcomps (#263)


  • Fix issue where provided iam_role_arn was not respected on redeployments of chalice applications and in the CloudFormation template generated by chalice package (#339)
  • Fix autogen_policy in config being ignored (#367)
  • Add support for view functions that share the same view url but differ by HTTP method (#81)
  • Improve deployment error messages for deployment packages that are too large (#246, #330, #380)
  • Add support for built-in authorizers (#356)


  • Add support for IAM authorizer (#334)
  • Add support for configuring lambda_timeout, lambda_memory_size, and tags in your AWS Lambda function (#347)
  • Fix vendor directory contents not being importable locally (#350)
  • Add support for binary payloads (#348)


  • Fix issue where --api-gateway-stage was being ignored (#325)
  • Add chalice delete command (#40)


  • Alway overwrite existing API Gateway Rest API on updates (#305)
  • Added more granular support for CORS (#311)
  • Fix duplicate content type header in local model (#311)
  • Fix content type validation when charset is provided (#306)
  • Add back custom authorizer support (#322)


  • Add support for python3! (#296)
  • Fix swagger generation when using api_key_required=True (#279)
  • Fix generate-pipeline to install requirements file before packaging (#295)


Please read the upgrade notes for 0.7.0 for more detailed information about upgrading to this release.

  • Add chalice package command. This will create a SAM template and Lambda deployment package that can be subsequently deployed by AWS CloudFormation. (#258)
  • Add a --stage-name argument for creating chalice stages. A chalice stage is a completely separate set of AWS resources. As a result, most configuration values can also be specified per chalice stage. (#264, #270)
  • Add support for iam_role_file, which allows you to specify the file location of an IAM policy to use for your app (#272)
  • Add support for setting environment variables in your app (#273)
  • Add a generate-pipeline command (#277)


Check out the upgrade notes for 0.6.0 for more detailed information about changes in this release.

  • Add port parameter to local command (#220)
  • Add support for binary vendored packages (#182, #106, #42)
  • Add support for customizing the returned HTTP response (#240, #218, #110, #30, #226)
  • Always inject latest runtime to allow for chalice upgrades (#245)


  • Add support for serializing decimals in chalice local (#187)
  • Add stdout handler for root logger when using chalice local (#186)
  • Map query string parameters when using chalice local (#184)
  • Support Content-Type with a charset (#180)
  • Fix not all resources being retrieved due to pagination (#188)
  • Fix issue where root resource was not being correctly retrieved (#205)
  • Handle case where local policy does not exist (29)


  • Add default application logger (#149)
  • Return 405 when method is not supported when running chalice local (#159)
  • Add path params as requestParameters so they can be used in generated SDKs as well as cache keys (#163)
  • Map cognito user pool claims as part of request context (#165)
  • Add chalice url command to print the deployed URL (#169)
  • Bump up retry limit on initial function creation to 30 seconds (#172)
  • Add support for DELETE and PATCH in chalice local (#167)
  • Add chalice generate-sdk command (#178)


  • Fix issue where role name to arn lookup was failing due to lack of pagination (#139)
  • Raise errors when unknown kwargs are provided to app.route(...) (#144)
  • Raise validation error when configuring CORS and an OPTIONS method (#142)
  • Add support for multi-file applications (#21)
  • Add support for chalice local, which runs a local HTTP server for testing (#22)


  • Fix bug with case insensitive headers (#129)
  • Add initial support for CORS (#133)
  • Only add API gateway permissions if needed (#48)
  • Fix error when dict comprehension is encountered during policy generation (#131)
  • Add --version and --debug options to the chalice CLI


  • Add support for input content types besides application/json (#96)

  • Allow ChaliceViewErrors to propagate, so that API Gateway can properly map HTTP status codes in non debug mode (#113)

  • Add windows compatibility (#31,

    #124, #103)


  • Require virtualenv as a package dependency. (#33)
  • Add --profile option when creating a new project (#28)
  • Add support for more error codes exceptions (#34)
  • Improve error validation when routes containing a trailing / char (#65)
  • Validate duplicate route entries (#79)
  • Ignore lambda expressions in policy analyzer (#74)
  • Print original error traceback in debug mode (#50)
  • Add support for authenticate routes (#14)
  • Add ability to disable IAM role management (#61)
You can’t perform that action at this time.