Today I’m happy to announce that pyuv 0.10.0 has been released! Following libuv’s versioning, this is a stable release, that is, no API changes will occur during the 0.10.x branch cycle.
It has been a while since the last stable release, there have been many changes, even though not all of them are directly visible in the public API. Here is a short list of the most relevant changes for version 0.10.0 since the 0.8 series:
- Added a true signal watcher
- Added ability to handle uncaught exceptions (Loop.excepthook)
- Added TCP.open and UDP.open methods
- Added support for compilation with Visual Studio in Windows
- Added thread module with several thread synchronization primitives
- Added mode parameter to Loop.run (default, once or nowait)
- Added fileno and get_timeout methods to Loop
- Added ability to cancel threadpool, getaddrinfo and fs requests
- Added ability to stop the event loop (Loop.stop)
- Moved getaddrinfo to util module
- Removed builtin c-ares resolver
- Removed get/set process title functions
- Fixed numerous refcounting issues
- Multiple fixes for Windows
- Multiple memory related internal optimizations
There are many more changes, all listed in the changelog file.
I’m glad to say that pyuv is now in better shape than it ever has been. Not only because I have learned many things along the way, but also because I got really good pull requests and help which enhanced pyuv in many different ways. I’m not a Windows guy and got invaluable help from people which helped make pyuv work properly on Windows. Releases 0.9.5-6 contain more commits from others than from myself, and I love that!
Last, I’d like to thank the libuv core team, more specifically Ben and Bert. They do a great job both coding libuv itself and helping others get involved in the project. This is one of the projects I’m really happy I contribute to. Oh, I also scored 4th in the libuv contributions (in lines of code) for Node 0.10.0!