Highlights
Mostly packaging, small bugs, and docs updates. Only heads-up is that the created classes are now using attrs's NG-style ones with subtly different defaults.
Full changelog below!
Special Thanks
This release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If you would like to join them, go to https://github.com/sponsors/hynek and check out the sweet perks!
Above and Beyond
Variomedia AG (@variomedia), Tidelift (@tidelift), Kraken Tech (@kraken-tech), Klaviyo (@klaviyo), Privacy Solutions GmbH (@privacy-solutions), FilePreviews (@filepreviews), Ecosystems (@ecosyste-ms), Doist (@Doist), Daniel Fortunov (@asqui), and Kevin P. Fleming (@kpfleming).
Maintenance Sustainers
Buttondown (@buttondown), Christopher Dignam (@chdsbd), Magnus Watn (@magnuswatn), David Cramer (@dcramer), Rivo Laks (@rivol), Polar (@polarsource), Mike Fiedler (@miketheman), Duncan Hill (@cricalix), Colin Marquardt (@cmarqu), Nick Libertini (@libertininick), Brian M. Dennis (@crossjam), Al Sweigart (@asweigart), Celebrity News AG (@celebritynewsag), The Westervelt Company (@westerveltco), Sławomir Ehlert (@slafs), Mostafa Khalil (@khadrawy), Filip Mularczyk (@mukiblejlok), Thomas Klinger (@thmsklngr), Andreas Poehlmann (@ap--), August Trapper Bigelow (@atbigelow), Carlton Gibson (@carltongibson), and Roboflow (@roboflow).
Full Changelog
Removed
-
Support for Python 3.8 and 3.9. #134
-
Support for attrs older than 21.3.0 (the one that introduced the
attrsnamespace). #134
Added
- Support for Python 3.14 and 3.15. #134
Changed
-
environ-config now uses
@attrs.defineet al instead of@attr.sto help with typing support. This should not make any difference in practice, but people doing weird things (I know y'all are out there!) might run into paper cuts. #134 -
Secrets are now handled like environment variables in optional groups, so that if all secrets (and environment variables) are missing, the group becomes
None. This change also causes theMissingSecretErrorexceptions to include all missing secrets, not just the first one. #100
Fixed
- Type hints for
environ.group()now respects theoptionalargument. #98
This release contains contributions from @hynek, @magnuswatn, @offbyone, and @WouldYouKindly.
Artifact Attestations
You can verify this release's artifact attestions using GitHub's CLI tool by downloading the sdist and wheel from PyPI and running:
$ gh attestation verify --owner hynek environ-config-26.1.0.tar.gzand
$ gh attestation verify --owner hynek environ-config-26.1.0-py3-none-any.whl