All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog.
- Python >=3.10 required
2.0 - 2024-12-26
- Resolving ambiguity using positional distance
overload
is redundant with instance checking
1.12 - 2024-07-04
multidispatch
supports variable keyword argumentsmultidispatch
base implementation always matches- Type and Annotated aliases supported
1.11.2 - 2024-02-27
- Subclassed generics allowed
1.11.1 - 2024-02-19
- Unions with custom metaclasses supported
- Concrete protocol classes supported
- Dispatch on base implementation of
multidispatch
1.11 - 2024-01-28
- Python >=3.9 required
isinstance
and generic dispatch optimized
- Resolving ambiguity using positional distance
overload
is redundant with instance checking
- Custom instance checks
subtype
andparametric
utilities
1.10 - 2023-09-21
- Python >=3.8 required
Type[...]
dispatches on class arguments|
syntax for union typesoverload
supports generics and forward references- Dispatch on optional parameters
1.9.1 - 2022-12-21
- Dispatch is thread-safe
1.9 - 2022-09-14
- Python 3.11 supported
- Fixes for
Callable
andobject
annotations
1.8 - 2022-04-07
Callable
checks parameters and return type- Support for
NewType
1.7 - 2022-01-28
overload
allows types and converts them to anisa
check- Only functions with docstrings combine signatures
- Fixes for subscripted union and literal checks
1.6 - 2021-09-12
- Python >=3.7 required
- Improved checking for TypeErrors
multidispatch
has provisional support for dispatching on keyword argumentsmultidispatch
supports static analysis of return type- Fix for forward references and subscripts
- Checking type subscripts is done minimally based on each parameter
- Provisionally dispatch on
Literal
type - Provisionally empty iterables match subscript
1.5 - 2021-01-29
- Postponed evaluation of nested annotations
- Variable-length tuples of homogeneous type
- Ignore default and keyword-only parameters
- Resolved ambiguous
Union
types - Fixed an issue with name collision when defining a multimethod
- Resolved dispatch errors when annotating parameters with meta-types such as
type
1.4 - 2020-08-05
- Python >=3.6 required
- Expanded support for subscripted type hints
1.3 - 2022-02-19
- Python 3 required
- Support for subscripted ABCs
1.2 - 2019-12-07
- Support for typing generics
- Stricter dispatching consistent with singledispatch
1.1 - 2019-06-17
- Fix for Python 2 typing backport
- Metaclass for automatic multimethods
1.0 - 2018-12-07
- Missing annotations default to object
- Removed deprecated dispatch stacking
0.7 - 2017-12-07
- Forward references allowed in type hints
- Register method
- Overloads with predicate dispatch
0.6 - 2017-01-02
- Multimethods can be defined inside a class
0.5 - 2015-09-03
- Optimized dispatching
- Support for
functools.singledispatch
syntax
0.4 - 2013-11-10
- Dispatch on Python 3 annotations