- Fixed buffering issue on Python 3.11. See :issue:`66`.
- Cleaned up some packaging/test problems.
- Removed more leftover Python 2 code.
- Fixed license metadata. See: :issue:`68`.
- Simplified connection closing code. Contributed by Anton Ryzhov in :pr:`62`.
- Made connection shutdown in
manhole-climore graceful. Contributed by Anton Ryzhov in :pr:`63`.
- Fixed memory leak via
sys.last_type,sys.last_value,sys.last_traceback. Contributed by Anton Ryzhov in :pr:`59`. - Fixed a bunch of double-close bugs and simplified stream handler code. Contributed by Anton Ryzhov in :pr:`58`.
- Loosen up
pidargument parsing inmanhole-clito allow using paths with any prefix (not just/tmp).
- Testing improvements (changed some skips to xfail, added osx in Travis).
- Fixed long standing Python 2.7 bug where
sys.getfilesystemencoding()would be broken after installing a threaded manhole. See :issue:`51`. - Dropped support for Python 2.6, 3.3 and 3.4.
- Fixed handling when
socket.setdefaulttimeout()is used. Contributed by "honnix" in :pr:`53`. - Fixed some typos. Contributed by Jesús Cea in :pr:`43`.
- Fixed handling in
manhole-cliso that timeout is actually seconds and not milliseconds. Contributed by Nir Soffer in :pr:`45`. - Cleaned up useless polling options in
manhole-cli. Contributed by Nir Soffer in :pr:`46`. - Documented and implemented a solution for using Manhole with Eventlet. See :issue:`49`.
- Added two string aliases for
connection_handleroption. Now you can conveniently useconnection_handler="exec". - Improved
handle_connection_exec. It now has a clean way to exit (exit()) and properly closes the socket.
- Added the
connection_handlerinstall option. Default value ismanhole.handle_connection_repl, and alternatemanhole.handle_connection_execis provided (very simple: no output redirection, no stacktrace dumping). - Dropped Python 3.2 from the test grid. It may work but it's a huge pain to support (pip/pytest don't support it anymore).
- Added Python 3.5 and 3.6 in the test grid.
- Fixed issues with piping to
manhole-cli. Nowecho foobar | manhole-cliwill wait 1 second for output from manhole (you can customize this with the--timeoutoption). - Fixed issues with newer PyPy (caused by gevent/eventlet socket unwrapping).
- Allowed Manhole to be configured without any thread or activation (in case you want to manually activate).
- Added an example and tests for using Manhole with uWSGi.
- Fixed error handling in
manhole-clion Python 3 (exc vars don't leak anymore). - Fixed support for running in gevent/eventlet-using apps on Python 3 (now that they support Python 3).
- Allowed reinstalling the manhole (in non-
strictmode). Previous install is undone.
- Changed
manhole-cli:- Won't spam the terminal with errors if socket file doesn't exist.
- Allowed sending any signal (new
--signalargument). - Fixed some validation issues for the
PIDargument.
- Added support for installing the manhole via the
PYTHONMANHOLEenvironment variable. - Added a
strictinstall option. Set it to false to avoid getting theAlreadyInstalledexception. - Added a
manhole-cliscript that emulatessocat readline unix-connect:/tmp/manhole-1234.
- Added
socket_pathinstall option (contributed by Nir Soffer). - Added
reinstall_delayinstall option. - Added
localsinstall option (contributed by Nir Soffer). - Added
redirect_stderrinstall option (contributed by Nir Soffer). - Lots of internals cleanup (contributed by Nir Soffer).
- Fix OS X regression.
- Support for OS X (contributed by Saulius Menkevičius).