You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
snakeoil.cli.arghparse.ArgumentParser: options now accept space-separated values that start with a single dash (e.g. --checks -VisibilityCheck), matching the previously required --checks=-VisibilityCheck form. Unknown -- options keep reporting as unrecognized arguments (@arthurzam, #97)
snakeoil.dist.generate_man_rsts: fix man page generation failing under Python 3.14 with TypeError: 'str' object cannot be interpreted as an integer, caused by functools.partial becoming a method descriptor (@arthurzam, https://bugs.gentoo.org/957993)
snakeoil.dist.generate_man_rsts: emit arguments as .. option:: directives scoped by .. program:: instead of wrapping them in the :option:reference role, which made sphinx warn unknown option for every single argument. Options are now properly rendered, indexed and cross-referenceable (@arthurzam)
snakeoil.dist.generate_man_rsts: the synopsis is no longer emitted as one long line, and its continuation lines are no longer misaligned by the width of the stripped usage: prefix. It is now wrapped to fit an 80 column man page and kept as a literal block (@arthurzam)
snakeoil.klass.immutable.Simple/Strict: slotted subclasses are now picklable and copyable directly; a __setstate__ restoring state past the mutation protections is injected for them. Classes without slotting are left alone, keeping python's C level state restoration (@arthurzam, #117)
snakeoil.klass.immutable.Simple/Strict: fix state of name mangled private slots being silently dropped when pickling (@arthurzam)
snakeoil.klass.SlotsPicklingMixin: deprecated, removal in 0.12.0. Python pickles __slots__ natively; the mixin only added an uncached MRO walk per serialization. Dropping it makes serializing slotted objects ~4x faster (@arthurzam, #117)
snakeoil.klass.immutable.Simple: methods auto wrapped in a mutation block no longer build and drive a @contextmanager generator per call. Creating small immutable instances is up to 1.5x faster (@arthurzam)