We follow Semantic Versions since the 0.1.0 release.
Fixes typing_extensions version resolution
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