We follow Semantic Versions since the 0.1.0
release.
Breaking: removes is_protocol
boolean argument from .instance
,
now use protocol=YourProtocol
instead
Adds support for concrete generic types like List[str]
and Set[int]
#24
Adds support for types that have __instancecheck__
defined
via delegate
argument #248
Adds support for multiple type arguments in Supports
type #244
Fixes that types referenced in multiple typeclasses
were not handling Supports
properly #249
Fixes typing bug with ABC
and mutable typeclass signature #259
Fixes that mypy
plugin was failing
on calling a typeclass without arguments #270
Breaking: drops python3.6
support
Breaking: now requires typing_extensions>=3.10
and mypy>=0.902
Breaking: now classes
traverses mro
of registered types
and fallbacks to super-types if some type is not registered
Adds generic typeclasses
Adds caching to runtime type dispatch, it allows to call already resolved instances way faster
Adds better typeclass validation during mypy
typechecking
Adds .supports()
method to typeclass to check
if some instance is supported in runtime
Makes .supports()
a typeguard
Adds Supports
type
Adds AssociatedType
variadic type
Improves docs
Breaking: renames mypy typeclass_plugin
to classes_plugin
Adds python3.9
support
Updates dependencies
Initial release