Fixes: - Fix line wrapping in `patch_stdout` on Windows. - Make `formatted_text.split_lines()` accept an iterable instead of lists only. - Disable the IPython workaround (from 3.0.41) for IPython >= 8.18. - Restore signal.SIGINT handler between prompts.
Fixes: - Improved Python 3.12 support (fixes event loop `DeprecationWarning`).
New features: - Vi key bindings: `control-t` and `control-d` for indent/unindent in insert mode. - Insert partial suggestion when `control+right` is pressed, similar to Fish. - Use sphinx-nefertiti theme for the docs.
3.0.39
------------------
Fixes: - Fix `RuntimeError` when `__breakpointhook__` is called from another thread. - Fix memory leak in filters usage. - Ensure that key bindings are handled in the right context (when using contextvars).
New features: - Accept `in_thread` keyword in `prompt_toolkit.shortcuts.prompt()`. - Support the `NO_COLOR` environment variable.
3.0.38
------------------
Fixes: - Fix regression in filters. (Use of `WeakValueDictionary` caused filters to not be cached).
New features: - Use 24-bit true color now by default on Windows 10/11.
3.0.37
------------------
Bug fixes: - Fix `currentThread()` deprecation warning. - Fix memory leak in filters. - Make VERSION tuple numeric.
New features: - Add `.run()` method in `TelnetServer`. (To be used instead of `.start()/.stop()`.
Breaking changes: - Subclasses of `Filter` have to call `super()` in their `__init__`. - Drop support for Python 3.6: * This includes code cleanup for Python 3.6 compatibility. * Use `get_running_loop()` instead of `get_event_loop()`. * Use `asyncio.run()` instead of `asyncio.run_until_complete()`.