- Fix error when a class is extended to add others aggregated classes as parent classes. Before this fix, the builder used the list of all base classes of the final class as base classes for every class into the hierarchy. (#15)
- Fix isinstance and issublcass method on multi levels inheritance hierarchy. (#14)
- Add a before_init_registry hook method into the ExtendableRegistryListener class. This methods allows you to udpate the list of modules to load into the registry if you need to do so. (#before_hook)
- Simpler syntax for defining a class extending another class. The extends parameter now accepts True as its value. class PersonExt(Person, extends=True) means that PersonExt extends its first base class: Person. This is equivalent to class PersonExt(Person, extends=Person). (#2)
- Access to the context variable used to store the current extended Classes returns None if no context is available. Previously the access to the context throws an exception if no context was available.
- Calls to the classmethod "_get_assembled_cls" now raises RegistryNotInitializedError if the registry is not initialized.
- The metadaclass now provides the method _wrap_class_method. This method can be used to wrap class methods in a way that when the method is called the logic is delegated to the aggregated class if it exists.
- Preserve kwargs values in class defintion to ensure to properly create a concrete class with the same attributes as the original one.
- Fix registry rebuild (Details)
- Add missing type annotation
- Drop support fo py3.6
- Fix error when '__qualname__' is not provided (#6)
- Fix compatibility issue with py3.11. (#4)
First release.