Aegis v1.15.2 Release Notes

Release Date: 2018-07-05 // almost 3 years ago
  • ๐Ÿš€ This patch release includes additional fixes for deploy that include the addition a retry and delay. After creating new IAM roles, it is possible that they are not yet available to be used by a Lambda function. Previously there was a short delay in the deploy command. Now there's a longer delay, but it is done so incrementally in a retry loop/goroutine. This puts a limit on how many times things get retried, but also doesn't wait longer than necessary.

    โž• Additionally, an Error field has been added to the CognitoToken struct in the Cognito client service. This allows end user code to handle errors coming back from Cognito. Such cases can arise based on the pool configuration. More work on this service to come, but for now the ability to know there's an issue has been put in place.


    ๐Ÿ“š SQS triggers have been added by AWS! This release provides a new, easy to use, router for working with them. This release also focused on wrapping up documentation (including SQS router).

    • SQS message router
    • ๐Ÿ›  Various fixes to TraceStrategy and Tracer


    • ๐Ÿ›  The S3ObjectRouter received a couple of fixes (among them #29)
    • โœ… TraceStrategy interface was overhauled making it easier to implement your own trace strategies as well as making it easier for Aegis to run unit tests.
    • โœ… More test cases were added and the S3 router has high coverage now (more tests to come for other routers)


    • ๐Ÿšš Moved local HTTP server to Aegis interface; it will eventually handle more than just
      HTTP requests (which mimicks APIGatewayProxyRequest) - this creates a very small breaking
      ๐Ÿ”„ change, the old router.Gateway() is simply replaced by app.StartServer() where app
      is an instance of Aegis interface
    • ๐Ÿšš Moved test cases accordingly, many of the functions to convert requests/responses
      ๐Ÿšš were simply moved
    • โž• Added StartSingle() which takes an --event flag when running the binary for the
      ๐Ÿ–จ event and returns a pretty printed result (optional) or error message to the CLI
      ๐ŸŒฒ (also can flag --pretty for this and --nolog to hide any log output from the app)


    • โž• Added SES integration; configure rules in aegis.yaml and handle with SESRouter handlers
    • ๐Ÿ›  Fixed bug when handling with nil Router, it will now return an error explaining that no handleres have been set to handle the event (this can occur if a router was registered, but not added to aegis.Handlers{}, leading to some confusion)