Beartype 0.3.1 released. Changes include:
Compatibility Broken
- Python 3.5 unsupported. This release drops support for Python 3.5,
which recently hit its End of Life (EOL) in mid-September and thus now
constitutes a demonstrable security risk.
Issues Resolved
- #5, a critical edge case induced by repeated
@beartype
decorations
of different callables annotated by the same PEP-compliant type hints.
To resolve this, all metadata (notably, the
is_func_wrapper_needs_random_int
boolean previously not memoized)
required to communicate state between lower-level memoized callables
and higher-level callables calling the former is now properly passed
up the call stack as return values and thus properly memoized.
Tests Improved
test_p484()
, an existing unit test augmented to exercise this edge
case in the general case, reducing the likelihood of related issues.test_p484_sequence_standard_cached()
, a newly defined unit test
exercising this exact edge case, reducing the likelihood of
regressions.
(Sandblasted anthers of the crassly amped amphitheater!)