This important release has been long awaited as it focused on improving overall performance of py3status as well as dramatically decreasing its memory footprint!
I want once again to salute the impressive work of @lasers, our amazing contributors from the USA who has become top one contributor of 2017 in term of commits and PRs.
Thanks to him, this release brings a whole batch of improvements and QA clean ups on various modules. I encourage you to go through the changelog to see everything.
Deep rework of the usage and scheduling of threads to run modules has been done by @tobes.
- now py3status does not keep one thread per module running permanently but instead uses a queue to spawn a thread to execute the module only when its cache expires
- this new scheduling and usage of threads allows py3status to run under asynchronous event loops and gevent will be supported on the upcoming 3.8
- memory footprint of py3status got largely reduced thanks to the threads modifications and thanks to a nice hunt on ever growing and useless variables
- modules error reporting is now more detailed
The next release will bring some awesome new features such as gevent support, environment variable support in config file and per module persistent data storage as well as new modules!
This release is their work, thanks a lot guys!