Repository navigation
envsbot 2.5.1 is a maintenance release focused on clearer production logging and safer user tracking under concurrent XMPP events. There are no command, configuration, or database schema changes in this release.
Highlights
- Prevent duplicate
Creating userlog entries when overlapping room-presence or direct-message events discover the same JID at nearly the same time. UserManager.create()now reports whether a user was actually created, so only the winning creation path emits the creation log.- User tracking now uses its own
core_plugins.users.trackinglogger instead of reusing the roles logger. - XMPP startup logging now says
Connection initiated. Starting event loop..., accurately distinguishing transport initiation from a fully established XMPP session.
Logging cleanup
- Centralized generic plugin lifecycle logging in the plugin manager.
- Removed redundant
Plugin loading,Plugin loaded, andPlugin unloadedmessages from Ducks, Karma, Poll, IdleRPG, Birthday Notify, Admin, and Reminder lifecycle paths. - Kept plugin-specific operational messages where they carry useful information, such as XKCD background task startup/shutdown.
- Clarified IdleRPG event pruning from
retained event row(s)toexpired event row(s).
Reliability and tests
- Added regression coverage for concurrent MUC and direct-message user creation logging.
- Added coverage for the clarified XMPP connection lifecycle message.
- Updated plugin lifecycle tests for the centralized logging behavior.
- Full project quality checks pass cleanly.
Compatibility
- No configuration changes required.
- No command changes.
- No database migration required.
- Requires
envs-xmpp >=1.7.2,<2.0. - Python 3.12, 3.13, and 3.14 remain supported.
Upgrade
sudo ./scripts/deploy.sh update --to v2.5.1