Changelog
All notable changes to this project are documented in this file.
Next release [x.x.x] - XXXX-XX-XX
Added
nothing
Changed
Example application
Terraform version upgrade
Terraform providers upgrade
Github workflow
actions/checkout version upgrade
actions/setup-python version upgrade
Deprecated
nothing
Removed
nothing
Fixed
Documentation: the version switch layout height was excessive
Security
nothing
[0.4.2] - 2024-10-15
Added
nothing
Changed
nothing
Deprecated
nothing
Removed
nothing
Fixed
Documentation:
Fixed a warning issue that was preventing the documentation for 0.4.1 from compiling
Fixed a minor formatting issue
Security
nothing
[0.4.1] - 2024-10-15
Added
Code
Supported Python versions: added 3.12 (according to AWS Lambda supported runtimes to date)
Changed
Example application
Terraform version upgrade
Deprecated
nothing
Removed
Code
Supported Python versions: removed 3.7 and 3.8 (according to AWS Lambda supported runtimes to date)
Fixed
Example application
Fixed the installation/deinstallation scripts’ shebang:
shwas erroneously used instead ofbash, causing errors with UbuntuSwitched the Lambda runtime from Python 3.9 to Python 3.10
Security
nothing
[0.4.0] - 2023-05-16
Added
Code
initiated
awsmate.snsmodule withawsmate.sns.LambdaMessageEvent
Example application
Python and Terraform source code to demonstrate
awsmate.sns
Changed
Code
transparently moved code from class
awsmate.s3.LambdaNotificationEventtoawsmate.lambdafunction.LambdaEventfor mutualization
Example application
Terraform version upgrade
Deprecated
nothing
Removed
nothing
Fixed
Code
awsmate.apigateway.LambdaProxyEvent.__init__(): fixed return type hintawsmate.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 adictawsmate.s3.LambdaNotificationEvent.object_url(): fixed missing return type hint
Documentation
example application: protected
curlURLs 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.HttpServerErroradded class
awsmate.apigateway.HttpError, which is the base class ofawsmate.apigateway.HttpClientErrorandawsmate.apigateway.HttpServerErroradded class
awsmate.apigateway.HttpServerErrorhierarchyadded 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 optionalawsmate.apigateway.HttpClientErrordoesn’t log an error anymore at construction timeawsmate.apigateway.build_http_server_error_response()has a new signature and logs a critical error and a stack trace by defaultawsmate.apigateway.build_http_client_error_response()now logs an error by defaultawsmate.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 thePATH.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.HttpClientErrorsubclassesinitiated
awsmate.eventbridgemodule withawsmate.eventbridge.LambdaBridgePutEvent
Documentation
Flyout menu that allows switching between versions
Available for download in PDF and HTML (zip)
Changed
Code
Made all
awsmate.apigateway.HttpClientErrorsubclasses to rely onhttp.HTTPStatusfor status codes and standard messagesRefactoring
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: themessagepositional parameter will be replaced by anerrorparameter of typeHttpServerErrorto 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.s3andawsmate.loggerCorresponding 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 onevent['requestContext']['httpMethod']instead ofevent['httpMethod']made
awsmate.apigateway.build_http_server_error_response()to handle**kwargsto pass toawsmate.apigateway.build_http_responsemade
awsmate.apigateway.build_http_client_error_response()to handle**kwargsto pass toawsmate.apigateway.build_http_responserenamed
awsmate.apigateway.LambdaProxyEvent.call_path()->awsmate.apigateway.LambdaProxyEvent.query_path()and made it based onevent['requestContext']['path']instead ofevent['path']renamed
awsmate.apigateway.LambdaProxyEvent.call_string()->awsmate.apigateway.LambdaProxyEvent.query_string()and made it include the prototype and the domain name of the callrenamed
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.