2026.10.21
- Fix
return_if_raiseraisingTypeErrorwhen given a tuple of exceptions (#808). - Fix
subprocess.CommandraisingUnboundLocalErrorfor list/tuple commands (#808). - Fix
loadfnignoring a customclsdecoder for YAML files (#808). - Fix
bisect.index(..., atol=...)missing values just above an element; it now returns the leftmost value within tolerance (#808). - Fix
dumpfnerror messages for a missing msgpack/YAML backend (#808). - Preserve callable signatures and types in the
requiresanddeprecateddecorators (#806, @Andrew-S-Rosen). - Replace hand-rolled helpers with stdlib equivalents:
Command.runusesPopen.communicate(timeout=...),termcolor.get_terminal_sizewrapsshutil.get_terminal_size,iuptriusesitertools.combinations,singletonusesfunctools.cache. Remove unusedfunctools._HashedSeq/_make_key(#809). - Deprecate
monty.os.cdandmonty.os.makedirs_pin favor ofcontextlib.chdirandos.makedirs(path, exist_ok=True)(#809). lazy_propertynow subclassesfunctools.cached_property. Fixes private (name-mangled) lazy properties never caching on subclass instances, and aliased names recomputing on every access (#810).monty.functools.TimeoutErrornow subclasses the built-inTimeoutError(and thereforeOSError) (#810).- Update README: Python 3.11+ requirement, installation, optional extras and usage examples (#810).