-------------------
The Maude version used by the library is now [Maude 3.1](https://maude.cs.illinois.edu), including some new features and bug fixes.
* The new command `variant match` has been mapped to `Module.variant_match`, and `filtered variant unify` and `irredundant unify` can be selected with additional Boolean arguments to `Module.variant_unify` and `Module.unify`.
* Access to the external objects of the `FILE` and `PROCESS` modules can be enabled and disabled with the `allowFiles` and `allowProcesses` functions. The release packages for Windows do not support processes.
New features
------------
* New method `Module.upStrategy` to obtain the metarepresentation of a strategy expression.
* Terms, symbols and sorts are hashable with `Term.hash`, `Symbol.hash` and `Sort.hash`. In Python, the `hash` builtin function can be used too.
* Keyword arguments can now be used in methods having more than one default argument like `Term.match`, `get_variants`, `search`, `vu_narrow`, and `Module.variant_unify`.
Changes
-------
* In the previous version, interrupts were handled by Maude by default (the `handleInterrupts` argument of `maude.init` was true by omission). This may print misleading messages attributing to Maude errors that are caused by a misuse of the library or by foreign code, and typing <kbd>Ctrl</kbd>+<kbd>C</kbd> will terminate the program. The current version recovers as default the behavior in all other previous versions, where the signal handlers set by the target language are kept, with some improvements in the case of Python. Typing <kbd>Ctrl</kbd>+<kbd>C</kbd> when running Maude code will try to abort gracefully and raise a `KeyboardInterrupt` exception. Signals handlers set with the [signal](https://docs.python.org/3/library/signal.html) package will be effectively executed, if they are set before calling `maude.init`.
Bug fixes
---------
* Terms and other objects can be safely compared in Python with `None` using the `==` operator.
* Error or kind sorts `[s]` were incorrectly printed as `s`.