- Add
discard
method which return a new immutabledict without the item at the given key, if present. Thanks to @matthiasdiener for the PR #307
- Do not store cached hash value when pickling. Thanks to @matthiasdiener for the PR #287
- Replace
__init__
by__new__
. Thanks to @spacether for the PR #263 - Add explicit items()/keys()/values() methods to speedup these methods. Thanks to @matthiasdiener for the PR #265
- Add set/delete/update functions. Thanks to @matthiasdiener for the PR #271
- Add documentation at immutabledict.corenting.fr
copy()
(breaking change): remove the option to pass keyword arguments (which were present as key/value pairs in the copy). Now the method doesn't take any arguments (it behaves the same as a normaldict
).- Python versions: drop Python 3.7 support
- Typing: fixes
- Make the key covariant. Thanks to @spacether for the PR #244
- Fix key/value typing missing for ImmutableOrderedDict
- Fix hard-coded class reference in fromkeys() resulting in always using
dict
forfromkeys()
(instead of OrderedDict in ImmutableOrderedDict for example). Thanks to @cthoyt for the PR #234
- Include tests in sdist for easier packaging
- Fix TypeError message when using
|=
. Thanks to @ronshapiro for the PR #66 - Update docstring for ImmutableOrderedDict to indicate that is not needed anymore for Python >= 3.7 but kept for compatibility purposes
- Use postponed evaluation of annotations (PEP 563) for the typing
- Update classifiers, Github Actions... for Python 3.11 (no code changes)
- Update classifiers, Github Actions... for Python 3.10 (no code changes)
- Fix type annotation on keyword argument in copy(**add_or_replace). Thanks to @techsy730 for the PR #54.
- Support more typing (fix issue #47)
⚠️ Remove*args, **kwargs
from thefromkeys()
method.
- Support PEP 584 union operators. Thanks to @lambdalisue for the PR #34.
- Add Python 3.9 to supported versions, remove Python 3.5
- Bump dev dependencies
- Improve README
- Initial stable release