Back from holidays, this new version of py3status was due for a long time now as it features a lot of great contributions !
This version is dedicated to the amazing @ShadowPrince who contributed 6 new modules 🙂
- core : rename the ‘examples’ folder to ‘modules’
- core : Fix include_paths default wrt issue #38, by Frank Haun
- new vnstat module, by Vasiliy Horbachenko
- new net_rate module, alternative module for tracking network rate, by Vasiliy Horbachenko
- new scratchpad-counter module and window-title module for displaying current windows title, by Vasiliy Horbachenko
- new keyboard-layout module, by Vasiliy Horbachenko
- new mpd_status module, by Vasiliy Horbachenko
- new clementine module displaying the current “artist – title” playing in Clementine, by François LASSERRE
- module clementine.py: Make python3 compatible, by Frank Haun
- add optional CPU temperature to the sysdata module, by Rayeshman
Huge thanks to this release’s contributors :
What’s next ?
The next 1.7 release of py3status will bring a neat and cool feature which I’m sure you’ll love, stay tuned !
This release is important to me (and my company) as it officially introduces a few features we developed for our needs and then contributed to uWSGI.
Special congratulations to my co-worker @btall for his first contribution and for those nice features to the metrics subsystem with many thanks as usual to @unbit for reviewing and merging them so quickly.
- graceful reload of mule processes (Credits: Paul Egan) : SIGHUP is now sent to mules instead of directly killing them, by default you have 60 seconds to react before a SIGKILL
- –metrics-no-cores, –stats-no-cores, –stats-no-metrics : don’t calculate and process all those core related metrics (gevent anyone ?)
- reset_after_push for metrics (Credits: Babacar Tall) : this metric attribute ensures that the metric value is reset to 0 or its hardcoded initial_value every time the metric is pushed to some external system (like carbon, or statsd)
- new metric_set_max and metric_set_min helpers (Credits: Babacar Tall) : can be used to avoid having to call “metric_get“ when you need a metric to be set at a maximal or minimal value. Another simple use case is to use the “avg“ collector to calculate an average between some *max* and *min* set metrics. Available in C and python.
See the full changelog here, especially some interesting bugfixes.
This version bump was long overdue sorry and it has happened only thanks to the great work of Thomas D. aka @Whissi, thanks again mate.
Please read carefully because this version introduces major ebuild changes, you’ll probably have to adapt your current configuration !
"/var/log/syslog" log file is now deprecated
Beginning with rsyslog-7.6, the "/var/log/syslog" log file will no
longer being written per default. We are considering this file as
deprecated/obsolet for the typical user/system.
The content from this log file is still availble through other
(dedicated) log files, see
If you really need the old "/var/log/syslog" log file, all you have to
do is uncommenting the corresponding configuration directive in
If you do so, don't forget to re-enable log rotation in
- An additional input socket in /var/empty/dev/log (default chroot
location) will be created per default
- brand new and modern init script
Coming from the rsyslog release announcement page, this is what happened with the 7.6 branch release :
With 7.6 being the successor of the 7.5 development branch, everything that has been added there has now found its way into the stable version.
The major additions consist of :
- imrelp/omrelp now support TLS & (zip) compression
- impstats is now emitting resource usage counters, can directly emit delta values and can now be bound to a ruleset
- mmpstrucdata is a new module to parse RFC5424 structured data into JSON message properties
- mmutf8fix is a new module to fix invalid UTF-8 sequences
- mmsequence is a new module that helps with action load balancing
- new defaults for main/ruleset queues to be more enterprise-like
Also the new stable version has undergone a lot of bug fixes, performance improvements and optimizations that make rsyslog 7.6 a lot more reliable and performing than before.
This is a great pleasure to announce the version bump of mongoDB to the brand new v2.6 stable branch !
This bump is not trivial and comes with a lot of changes, please read carefully as you will have to modify your mongodb configuration files !
As a long time request and to be more in line with upstream’s recommendations (and systemd support) I moved the configuration of the mongoDB daemons to /etc so make sure to adapt to the new YAML format.
- the mongodb configuration moved from /etc/conf.d/mongodb to the new YAML formatted /etc/mongodb.conf
- the mongos configuration moved from /etc/conf.d/mongos to the new YAML formatted /etc/mongos.conf
- the MMS agent configuration file has moved to /etc/mms-agent.conf
The init scripts also have been taken care of :
- new and modern mongodb, mongos and mms-agent init scripts
- their /etc/conf.d/ configuration files are only used to modify the init script’s behavior
The changelog is long and the goal of this post is not to give you an already well covered topic on the release notes but here are my favorite features :
- MongoDB preserves the order of the document fields following write operations.
- A new write protocol integrates write operations with write concerns. The protocol also provides improved support for bulk operations.
- MongoDB can now use index intersection to fulfill queries supported by more than one index.
- Index Filters to limit which indexes can become the winning plan for a query.
- Background index build allowed on secondaries.
- New cleanupOrphaned command to remove orphaned documents from a shard.
- usePowerOf2Sizes is now the default allocation strategy for all new collections.
- Removed upward limit of 20 000 connections for the maxIncomingConnections for mongod and mongos.
- New cursor.maxTimeMS() and corresponding maxTimeMS option for commands to specify a time limit.
Make sure you follow the official upgrade plan to upgrade from a previous version, this release is not a simple drop-in replacement.
Special thanks go to Johan Bergström for his continuous efforts and responsiveness as well as Mike Limansky and Jason A. Donenfeld.
Quick post for an interesting version bump of uWSGI which brings an experimental loopengine for python3.4 asyncio (aka tulip) !
If you want to try it out, I added a python_asyncio USE flag. I’ve also made some cleanups on the ebuild wrt python versions and dropped older versions of uWSGI.
- experimental asyncio loop engine (python 3.4 only)
- httprouter advanced timeout management
- purge LRU cache (v2) feature
- allow duplicate headers in http parsers
- faster on_demand Emperor management
- fixed segfault for unnamed loggers
See the full changelog here.
Two weeks vacations always seem short yet the 900+ mails waiting for sorting on my Gentoo Linux inbox was a reminder that our beloved distribution is well alive ! So I guess it was time for a little bug killing spree 🙂
This release improves performance in a variety of conditions, adds monitoring information to identify performance bottlenecks, adds dynamically manageable shovels, and allows Java-based clients to reconnect automatically after network failure.
This release also corrects a number of defects in the broker and plugins, as well as introducing a host of smaller features as you can see on the changelog. Be warned that the behavior of the guest user has been altered !
I also fixed a long awaiting bug to bump the rabbitMQ C client to v0.5.0
Johan Bergström is as always doing a great and helpful job and is actively working on redis, thanks mate !
- [NEW] The HyperLogLog data structure. You can read more about it in this blog post
- [NEW] The Sorted Set data type has now support for lexicographic range queries, check the new commands ZRANGEBYLEX, ZLEXCOUNT and ZREMRANGEBYLEX, which are documented at http://redis.io
- fixes installation via pip
- added a –version command line argument to get the currently installed version of py3status
You might be interested in what’s next on the todo list :
- With the help of Thomas D. aka @Whissi, we’re working on bumping and enhancing rsyslog to v7.6.3. For this a series of its dependencies have been bumped today as well.
- mongoDB v2.6.0 is also on track, as usual the guys @mongodb have broken the scons building so it’s taking more time than it should to fix this hell (all help appreciated).
I’m glad to announce the release of py3status-1.4 which I’d like to dedicate to @guiniol who provided valuable debugging (a whole Arch VM) to help me solve the problem he was facing (see changelog).
I’m gathering wish lists an have some (I hope) cool ideas for the next v1.5 release, feel free to post your most adventurous dreams !
- new ordering mechanism with verbose logging on debug mode. fixes rare cases where the modules methods were not always loaded in the same order and caused inconsistent ordering between reloads. thx to @guiniol for reporting/debugging and @IotaSpencer and @tasse for testing.
- debug: dont catch print() on debug mode
- debug: add position requested by modules
- Add new module ns_checker.py, by @nawadanp
- move README to markdown, change ordering
- update the README with the new options from –help
Special thanks to this release’s contributors !
I’m glad to announce the release of py3status v1.3 which brings to life a feature request from @tasse and @ttyE0. Guys, I hope this one will please you !
what’s new ?
Along with a localization bug fix thanks to @zetok from Poland, the main new feature is that py3status now supports a standalone mode which you can use when you only want your own modules displayed in an i3bar !
As usual, this release is already available for my fellow Gentoo Linux users and on pypi !
Changelog is here and quick to get, enjoy !
Quick post for two quick bumps related to clustering.
- quite a lot of bug fixes and improvements
- contains a backport for libgfapi support for integrating with NFS Ganesha
- nfs/mount3: fix crash in subdir resolution
- autoconf: better libnl3 detection
- Fix memory allocation for MD5 digest
- Quite some nice memory leak fixes on different components
- vrrp: dont try to load ip_vs module when not needed
- Pim van den Berg work on libipvs-2.6 to sync with libipvs from ipvsadm 1.27
- vrrp: extend ip parser to support default and default6
- vrrp: fix/extend gratuitous ARP handling (multiple people reported issues where MASTER didnt recover properly after outage due to no gratuitous ARP sent)
- Multiple fixes to genhash
- vrrp: fix vrrp socket sync while leaving FAULT state (old old bug here)
- Full changelog here
Yesterday was a big day for the famous application container uWSGI. We released the brand new version 2.0 LTS along with quite a huge bump of the ebuild, closing 6 bugs at once. I thought I’d give some input about the ebuild changes and some quick notes about uWSGI. Many thanks again to @dev-zero !
New plugins selection : UWSGI_PLUGINS
We introduced a new USE_EXPAND named UWSGI_PLUGINS so that you can now select which plugins to build individually. This is a great step as it makes the compilation more clear and lets you fine tune your uWSGI installation.
Along this work, we had to describe each plugin which was also quite a challenge. To my knownledge, this has not been done anywhere else so here it is. Please ping me if you have something to add or if we failed to describe a plugin correctly.
Migration note : You will need to change your package.use configuration to switch to using UWSGI_PLUGINS. As an example, where you had the USE flag spooler enabled you’ll now need to use uwsgi_plugins_spooler.
uWSGI v2.0 highlights
These are my biased favorites, go check for more, it’s huge !