v2.1.0
Summary
This release features: (1) Logger UX enhancements, (2) New docs community section (We Made This), and (3) New issue form to accept customer references in our docs.
Big thanks to new contributors 👏: @nayaverdier (logger mypy fix), @pierskarsenbarg (Pulumi docs), and @dmwesterhoff (idempotency_function
bug finding)
Logger
Simplifying log statements for additional metadata
You can now pass any arbitrary and ephemeral metadata as keyword-arguments when logging: logging.info("Incoming payment", customer_id="...")
Previously, you had to use the extras
parameter. This ergonomics improvement makes it easier to surface keys at the root of your structured log on a per log statement basis.
This has been a long overdue and we're so so excited to have this finally out!
Use RFC3339 date format with a single flag
You can now set use_rfc3339=True
to instruct Logger to change the timestamp
key to a value compliant with both RFC3339 and ISO8601: 2022-10-27T16:27:43.738+02:00
Big thanks to @kishaningithub @JJSphar for the discussion and UX here!
New community docs section
You can now submit blog posts, workshops, videos, and sample projects featuring Lambda Powertools.
Please check out the early submitted content from our awesome community!
PS: We accept content in any language!
Become a customer reference
You can now give us permission to list your organization name in the Lambda Powertools documentation..
This helps us tremendously and new customers looking to learn who's using it. This permission is explicit for our documentation.
Changes
🌟New features and non-breaking changes
- feat(logger): add use_rfc3339 and auto-complete formatter opts in Logger (#1662) by @heitorlessa
- feat(logger): accept arbitrary keyword=value for ephemeral metadata (#1658) by @heitorlessa
- feat(layers): add layer balancer script (#1643) by @rubenfonseca
📜 Documentation updates
- feat(logger): add use_rfc3339 and auto-complete formatter opts in Logger (#1662) by @heitorlessa
- feat(logger): accept arbitrary keyword=value for ephemeral metadata (#1658) by @heitorlessa
- docs(homepage): add Pulumi code example (#1652) by @pierskarsenbarg
- docs(community): fix social handlers for Ran (#1654) by @ran-isenberg
- docs(we-made-this): new community content section (#1650) by @leandrodamascena
🐛 Bug and hot fixes
- fix(logger): fix unknown attributes being ignored by mypy (#1670) by @nayaverdier
- fix(idempotency): idempotent_function should support standalone falsy values (#1669) by @heitorlessa
- fix(deps): update build system to poetry-core (#1651) by @rubenfonseca
🔧 Maintenance
- chore(deps-dev): bump aws-cdk-lib from 2.48.0 to 2.49.0 (#1671) by @dependabot
- chore(deps-dev): bump aws-cdk-lib from 2.47.0 to 2.48.0 (#1664) by @dependabot
- fix(deps): update build system to poetry-core (#1651) by @rubenfonseca
- chore(deps-dev): bump flake8-variables-names from 0.0.4 to 0.0.5 (#1628) by @dependabot
- chore(deps): bump docker/setup-qemu-action from 2.0.0 to 2.1.0 (#1627) by @dependabot
- chore(deps-dev): bump pytest-asyncio from 0.16.0 to 0.20.1 (#1635) by @dependabot
- chore(deps): bump peaceiris/actions-gh-pages from 3.8.0 to 3.9.0 (#1649) by @dependabot
This release was made possible by the following contributors:
@dependabot, @dependabot[bot], @heitorlessa, @leandrodamascena, @nayaverdier, @pierskarsenbarg, @ran-isenberg, @rubenfonseca and Release bot