github aws-powertools/powertools-lambda-python v1.25.0

latest releases: v2.39.1, v2.39.0, v2.38.1...
2 years ago

Summary

This release continues to focus on addressing suboptimal experiences (a.k.a papercuts).

But first... big thanks to our first time contributors @am1ru1, @houbie - thank you for helping us improve everyone's experience!

Major improvements you should know

  1. Fully mypy compliant. After a multi-month task addressing over 600 issues, Mypy users can accurately use all 14 utilities typing annotations - thanks @mploski for getting us to the finishing line!
  2. New specialized Event Handler Resolvers. When using ApiGatewayResolver to access event properties, customers didn't have full IntelliSense support from their IDEs. This release introduces APIGatewayRestResolver, APIGatewayHttpResolver, and ALBResolver to accurately provide self-documented access to all properties available - big thanks to @michaelbrewer.
  3. Testing your code docs. We've updated Parameters & Event Handler GraphQL docs to be more realistic on how you can unit test your code - thanks to @cakepietoast

Roadmap changes

We're going to fully turn our attention to our list of papercuts. Due to new features and other bugs, we let it slip a couple of times, one being as old as ~7 months. We also learned that a central roadmap didn't work well for us. It made planning harder due to the split view (2x repos to look at) situation despite its best intentions.

With GitHub's new Beta projects, we're confident we can migrate the roadmap back to each repository and give the visibility customers have been asking us. That is work we're currently doing, themes that need further research, areas we'd love contributions, and ideas we'd love to execute but lack bandwidth.

Once this is complete, we will start a draft RFC of what a modularized Powertools v2 could look like. We will take everyone's input as much as possible to help shape what breaking changes are necessary, how we might facilitate new utilities like Testing, and what an early beta as well as migration guide should look like.

Changes

🌟New features and non-breaking changes

  • feat(event-handler): new resolvers to fix current_event typing (#978) by @michaelbrewer
  • feat(logger): log_event support event data classes (e.g. S3Event) (#984) by @michaelbrewer
  • feat(mypy): complete mypy support for the entire codebase (#943) by @mploski

πŸ“œ Documentation updates

  • docs: fix syntax errors and line highlights (#1004) by @michaelbrewer
  • docs(parameters): add testing your code section (#1017) by @cakepietoast
  • docs(theme): upgrade mkdocs-material to 8.x (#1002) by @heitorlessa
  • docs(event-handler): improve testing section for graphql (#996) by @cakepietoast
  • docs(tutorial): fix broken internal links (#1000) by @heitorlessa
  • feat(event-handler): new resolvers to fix current_event typing (#978) by @michaelbrewer
  • fix(docs): indentation in tutorial snippets (#988) by @am1ru1
  • fix(apigateway): remove indentation in debug_mode (#987) by @heitorlessa

πŸ› Bug and hot fixes

  • fix(batch): delete >10 messages in legacy sqs processor (#818) by @whardier
  • fix(logger): exclude source_logger in copy_config_to_registered_loggers (#1001) by @houbie
  • feat(event-handler): new resolvers to fix current_event typing (#978) by @michaelbrewer
  • fix(logger): test generates logfile (#971) by @michaelbrewer
  • fix(docs): indentation in tutorial snippets (#988) by @am1ru1
  • fix(apigateway): remove indentation in debug_mode (#987) by @heitorlessa

πŸ”§ Maintenance

This release was made possible by the following contributors:

@am1ru1, @cakepietoast, @dependabot, @dependabot[bot], @heitorlessa, @houbie, @mergify[bot], @michaelbrewer, @mploski and @whardier

Don't miss a new powertools-lambda-python release

NewReleases is sending notifications on new releases.