Skip to content

26.1.0

Latest

Choose a tag to compare

@hynek hynek released this 22 Jul 09:09
26.1.0
708821a

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 attrs namespace). #134

Added

  • Support for Python 3.14 and 3.15. #134

Changed

  • environ-config now uses @attrs.define et al instead of @attr.s to 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 the MissingSecretError exceptions to include all missing secrets, not just the first one. #100

Fixed

  • Type hints for environ.group() now respects the optional argument. #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.gz

and

$ gh attestation verify --owner hynek environ-config-26.1.0-py3-none-any.whl