Repository navigation
Releases
Releases · immijimmi/objectextensions
Property Fixes & Wrapping
- Removed Extension._set_setter() and reworked Extension._set_property() to also handle setters and deleters
- Added Extension._wrap_property()
- Misc. refactoring of code for cleanliness
- Updated tests and readme
This release features breaking changes, in the form of a removed method and a modified method signature.
Update to README
- Minor correction of package name in README
No breaking changes.
Python 3.11 Compatibility
- Updated wrapt dependency version for compatibility with python 3.11
No breaking changes.
Exception Message Improvements
- Misc minor improvements to various exception messages
No breaking changes.
Minor Extendable Refactor
- Extendable.extensions is now a class property (meaning it can now be read on the class itself rather than only on an instance)
- Extendable.extensions now returns a tuple rather than a frozenset, so that the order in which extensions were applied is preserved and extensions can be applied multiple times if necessary
- Extendable.with_extensions() has been improved in various minor ways; primarily, the returned class's name attribute now indicates the base class and what extensions were applied
- Added tests for new functionality
- Minor edits to comments and docstrings
This release features breaking changes, as some of the values being returned by Extendable are now slightly different as a result of the above.
Style Changes
- Minor update to test suite
- Re-ordered Extension members: .can_extend() and .extend() should be hoisted to the top, and then the ordering should mimic that of a non-Extension class with wrapper methods going where the methods they wrap would be placed (etc.)
No breaking changes.
Properties and Setters
- Added Extension.set_property() and Extension._set_setter()
- Extension.extend() is now abstract rather than virtual (it is pointless to use Extension without overriding .extend())
- Extendable now has an _extensions attribute at all times, rather than just once it has been modified
- Extendable and Extension now implement ABC (there is no point in using them as-is with subclassing, so this change just indicates as much)
- Minor edits for clarity in docstrings
- Corrections to type hints
- Updated readme accordingly
No breaking changes.
Added Public Extendable.extension_data Property
- Added Extendable.extension_data property to allow reading a snapshot of extension data from outside the instance
Minor Setup Fix
- From v1.0.0 onwards, this package will follow SemVer
- Dependencies are now correctly pinned
Readme Update
- Updated README file
No breaking changes.