Skip to content

Latest commit

 

History

History
260 lines (164 loc) · 6.77 KB

CHANGELOG.md

File metadata and controls

260 lines (164 loc) · 6.77 KB

All notable changes to this project are documented in this file.

[0.4.0] - 2023-05-16

Added

  • Code

    • initiated awsmate.sns module with awsmate.sns.LambdaMessageEvent
  • Example application

    • Python and Terraform source code to demonstrate awsmate.sns

Changed

  • Code

    • transparently moved code from class awsmate.s3.LambdaNotificationEvent to awsmate.lambdafunction.LambdaEvent for mutualization
  • Example application

    • Terraform version upgrade

Deprecated

nothing

Removed

nothing

Fixed

  • Code

    • awsmate.apigateway.LambdaProxyEvent.__init__(): fixed return type hint
    • awsmate.s3.LambdaNotificationEvent.__init__(): fixed return type hint
  • Example application

    • Fixed erroneous S3 bucket ACL in Terraform code that is now rejected by AWS

Security

nothing

[0.3.1] - 2023-04-28

Added

nothing

Changed

  • Example application

    • Terraform version upgrade
  • Documentation

    • wording
    • README structure

Deprecated

nothing

Removed

nothing

Fixed

  • Code

    • awsmate.lambdafunction.LambdaEvent.__init__(): fixed error message if passed parameter is not a dict
    • awsmate.s3.LambdaNotificationEvent.object_url(): fixed missing return type hint
  • Documentation

    • example application: protected curl URLs with quotes so that the shell does not interpret &
    • example application: fixed typos in some example URLs

Security

nothing

[0.3.0] - 2023-04-17

Added

  • Code

    • added class awsmate.apigateway.HttpServerError
    • added class awsmate.apigateway.HttpError, which is the base class of awsmate.apigateway.HttpClientError and awsmate.apigateway.HttpServerError
    • added class awsmate.apigateway.HttpServerError hierarchy
    • added method awsmate.s3.LambdaNotificationEvent.object_url()
  • Example application

    • added a Lambda function specific to awsmate.logger

Changed

  • Code

    • awsmate.logger.log_internal_error(): explanatory message has been made optional
    • awsmate.apigateway.HttpClientError doesn't log an error anymore at construction time
    • awsmate.apigateway.build_http_server_error_response() has a new signature and logs a critical error and a stack trace by default
    • awsmate.apigateway.build_http_client_error_response() now logs an error by default
    • awsmate.s3.LambdaNotificationEvent.object_key() performs URL decoding on the returned value
  • Documentation

    • example application: rewording
  • Example application

    • made the AWS region used for deployment configurable through an environment variable, without editing any file

Deprecated

nothing

Removed

nothing

Fixed

  • Code
    • awsmate.apigateway: corrected type hints for **kwargs
  • Example application
    • deployment scripts: . was mistakenly assumed to be in the PATH.
    • API Gateway: fixed the redeployment issue

Security

nothing

[0.2.0] - 2023-04-05

Added

  • Code

    • added awsmate.apigateway.LambdaProxyEvent.source_ip()
    • added all missing awsmate.apigateway.HttpClientError subclasses
    • initiated awsmate.eventbridge module with awsmate.eventbridge.LambdaBridgePutEvent
  • Documentation

    • Flyout menu that allows switching between versions
    • Available for download in PDF and HTML (zip)

Changed

  • Code

    • Made all awsmate.apigateway.HttpClientError subclasses to rely on http.HTTPStatus for status codes and standard messages
    • Refactoring
  • Documentation

    • Direct access to sub-levels of the documentation from the table of contents in the sidebar
  • Example application

    • Terraform version upgrade
    • Refactoring: Terraform code structure and AWS resources naming

Deprecated

  • Code
    • awsmate.apigateway.build_http_server_error_response() will change in version 0.3.0: the message positional parameter will be replaced by an error parameter of type HttpServerError to be introduced in the same version.

Removed

nothing

Fixed

  • Code

    • fixed status code of awsmate.apigateway.HttpUnauthorizedError: was erroneously set to 403. Now set to 401.
  • Example application

    • API Gateway route "forbidden" was not using the correct exception (awsmate.apigateway.HttpForbiddenError)

Security

nothing

[0.1.0] - 2023-03-31

Added

  • Documentation

    • Contributing guidelines
    • Code of conduct
  • Example application

    • Deployment scripts
    • Python and Terraform source code to demonstrate awsmate.apigateway, awsmate.s3 and awsmate.logger
    • Corresponding documentation
  • Code

    • added variable awsmate.__version__
    • added awsmate.apigateway.LambdaProxyEvent.http_protocol()
    • added awsmate.apigateway.LambdaProxyEvent.http_user_agent()
    • added awsmate.apigateway.LambdaProxyEvent.query_domain_name()
    • added awsmate.apigateway.LambdaProxyEvent.authorizer_claims()
    • added awsmate.s3.LambdaNotificationEvent.object_size()
    • added awsmate.s3.LambdaNotificationEvent.object_etag()
    • added awsmate.s3.LambdaNotificationEvent.bucket_name()
    • added awsmate.s3.LambdaNotificationEvent.bucket_arn()
    • added awsmate.s3.LambdaNotificationEvent.event_name()

Changed

  • Documentation

    • improved documentation in general
  • Code

    • made awsmate.apigateway.LambdaProxyEvent.http_method() based on event['requestContext']['httpMethod'] instead of event['httpMethod']
    • made awsmate.apigateway.build_http_server_error_response() to handle **kwargs to pass to awsmate.apigateway.build_http_response
    • made awsmate.apigateway.build_http_client_error_response() to handle **kwargs to pass to awsmate.apigateway.build_http_response
    • renamed awsmate.apigateway.LambdaProxyEvent.call_path() -> awsmate.apigateway.LambdaProxyEvent.query_path() and made it based on event['requestContext']['path'] instead of event['path']
    • renamed awsmate.apigateway.LambdaProxyEvent.call_string() -> awsmate.apigateway.LambdaProxyEvent.query_string() and made it include the prototype and the domain name of the call
    • renamed awsmate.apigateway.LambdaProxyEvent.payload() -> awsmate.apigateway.LambdaProxyEvent.query_payload_()

Deprecated

nothing

Removed

nothing

Fixed

nothing

Security

nothing

[0.0.3] - 2023-03-18

Added

  • this changelog
  • documentation of the existing code
  • function awsmate.logger.log_internal_error()

Changed

  • Almost all functions: Python naming convention applied to parameters
  • Method awsmate.s3.LambdaNotificationEvent.object_key(): corrected a typo in its name

Deprecated

nothing

Removed

nothing

Fixed

nothing

Security

nothing

[0.0.2] and before - 2023-02-28

Genesis.