Skip to content

v1.25.0

Compare
Choose a tag to compare
@release-drafter release-drafter released this 09 Feb 16:29
· 3052 commits to develop since this release
40c8b71

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