Skip to content
This repository was archived by the owner on Feb 22, 2024. It is now read-only.

v0.16.1

Compare
Choose a tag to compare
@lusentis lusentis released this 30 Jan 17:14
· 237 commits to master since this release

New features & improvements

  • adds support for enhanced context for custom authorizers (94e8c0e, 142aee6, 3a7a9d2). See https://aws.amazon.com/about-aws/whats-new/2016/12/enhanced-context-for-custom-authorizers-in-amazon-api-gateway/
  • fixes an error parsing CloudFront configuration in package.json, which caused CF Distributions to always be deployed
  • processCFTemplate() has been updated and it cannot be used to add or change Outputs anymore (c25e5bb). It still has access to the full template and can be used to add Resources.
  • customTemplateFragment() has been added and can be used to add template Resources and Outputs (but has no access to the template which is being processed) (8b10a11)
  • Stage Outputs will now be passed to Lambda via Environment Variables, instead of APIG's stageVariables (8b10a11, 08d6b40). Env Variable name matches Cfn's Output Name prefixed with DAWSON_ (c24c4c4)
  • process.env.NODE_ENV is now available in Lambda Functions (86092bf)
  • ChangeSets have been dropped due to lack of support for nested templates (fe7e63b)
  • the following Cfn Outputs have been removed: ApiGatewayUrl, S3AssetsDNS, CloudFrontDNS, RestApiId, DeploymentId (4547921)
  • the following Cfn Outputs have been renamed: S3AssetsBucket -> BucketAssets, WWWDistribution -> DistributionWWW (bc81c61)
  • the Account Role for APIGateway has been cleaned up (6b12394)
  • x-www-form-urlencoded Content-Type is now supported (6c3fd8f)
  • fixes an error in the describe command which broke in an earlier release (0dacca1)
  • signs the Cfn Template URL when running with --verbose, for easier debugging (b39bc7f)
  • improves dev proxy auto reloading, and adds support for macOS (7892d38, 034e0af, ee91009, a906845, bab2142)
  • updates Function's path validation RegExp (bd16ab8)
  • a new property fn.excludeEnv has been added which can be used to exclude some Outputs from Lambda's Environment, preventing a Circular Dependencies error between Cfn Resources (c643f0f)
  • prints the full stack trace when a Lambda Error is catched (5d208eb)
  • adds a --fast flag to dev proxy, which skips cleanup & deps install (0ca139c, 4457ffe)
  • fixes a config check which required docker to be present even when not running the dev proxy (4b6c26c)
  • when Functions are invoked with a { "__ping": <truthy> }, the whole execution is skipped and "pong__" is returned as response (useful for implementing Lambda keep alive logic, more coming soon)
  • Lambda functions now use Resource-based permissions, instead of invocation Roles (6225994)
  • updates many dependencies

⚠️️ Breaking changes

  • the behaviour of processCFTemplate has been updated, see above
  • variables previously accessed as event.stageVariables.abcD must now be accessed by process.env.DAWSON_abcD, see above for details. A codemod can be used to migrate most of the occurrences: event-stagevariables-to-process-env.js
  • some implicit Cfn Template Outputs have been removed