Revision history for Net-Jabber-Bot
2.1.8 2026-03-19 Todd Rinaldo
[Fixes]
- #12 Fix broken reconnection (called nonexistent InitJabber), fix
IsConnected always returning truthy, handle undef jabber_client
after disconnect, and plug memory leak in messages_sent_today (PR #18)
- #14 Fix GTalk connection failures and from_full operator precedence bug
that returned only the username instead of user@server/alias (PR #16)
- #9 Update POD docs to match newline-preserving regex behavior and add
multiline message tests (PR #19)
- #28 Remove legacy developer names from bot_example.pl AUTHOR section
(PR #29)
- #30 Migrate from Moose to Moo, replace MooseX::Types with
Type::Tiny/Types::Standard, remove Config::Std dependency (PR #47)
- #37 Remove disproportionate sleep 30 from BUILD legacy parameter
handling (PR #43)
- #38 Fix MockJabberClient::Disconnect setting is_connected=1 instead
of 0 (PR #44)
- #39 Add missing RosterDB/RosterRequest/RosterDBJIDs stubs to mock
client (PR #45)
- #40 Fix uninitialized value warnings from .= on fresh variables in
tests (PR #42)
- #48 Suppress 'Subroutine redefined' warnings in MockJabberClient
(PR #50)
- #32 Eliminate unnecessary sleeps from mock test suite, cutting runtime
from ~120s to ~60s (PR #51)
- Fix four bugs in Bot.pm: broken string interpolation of method call,
typo in error message, variable shadowing in SetForumSubject, and crash
on reconnect from undefined background_function (PR #20)
- Mask plaintext password in DEBUG log output and fix operator precedence
bug (PR #26)
[Improvements]
- #13 Add optional $from parameter to SendPersonalMessage,
SendGroupMessage, and SendJabberMessage for relay bots (PR #17)
- #36 Make auto-subscribe to presence requests configurable via new
auto_subscribe attribute (PR #46)
[Maintenance]
- #23 Consolidate three CI workflows into single testsuite.yml, update
actions/checkout v1→v4, use perldocker/perl-tester images, add
dynamic perl-actions/perl-versions matrix (PR #24)
- #33 Extend CI test matrix back to Perl 5.10 (PR #52)
- Modernize Makefile.PL: separate TEST_REQUIRES, add CONFIGURE_REQUIRES,
MIN_PERL_VERSION, upgrade META_MERGE to meta-spec v2 (PR #21)
- Modernize POD: fix typos, update URLs to cpan-authors org, fix command
injection in bot_example.pl, fix string comparison bug in
gtalk_RSSbot.pl (PR #22)
- Add cpanfile for modern CI dependency management (PR #24)
- Add CLAUDE.md with project conventions (PR #25)
- Move README.md to .github
2.1.7 2020-11-05 Todd Rinaldo
- #15 Fix _send_individual_message to not strip new lines.
2.1.6
- Fix examples for new moose code
- Spelling errors in documentation
- Display server error message when we think there was a disconnect event.
- Allow the user to specify the path to the CA cert bundle via the 'ssl_ca_path' parameter.
- Move jabber object creation to lazy moose
- Add ignore file to repo
- Clean up POD so new() documentation lays out correctly
- Remove DD from code. Moose has a helper sub already for this anyways
- Explicitly set priority of users - Adam Malone
- Allow the user to specify the path to the CA cert bundle via the 'ssl_ca_path' parameter - Jan Schaumann
- Don't bail if the IQ message doesn't contain a query - Jan Schaumann
- Allow user to disable server certificate validity check - eleksir
- Use Mozilla::CA for default path for ssl_ca_path - eleksir
- Fix undefined warnings due to insufficient Moose Laziness
- Misc distro file cleanup.
- Automated testing with github actions
- Remove author tests from user installs.
- Point support to github now.
2.1.5
- resource now unique per instance of bot based on alias_hostname_pid
- new dependency from core modules - Sys::Hostname
- __PACKAGE__->meta->make_immutable; for performance.
- Removed gtalk option. Use tls => 1, server_host => 'gmail.com' instead.
- using 'componentname' in connect rather than after connection like we were hacking it in.
- All non-printable characters stripped and replaced with '.' via [:printable:] regex
- Added documentation on minimal connect parameters now we have quite a few optionals.
2.1.4
- _process_jabber_message was failing to parse multiline strings - fixed
- Move to github - http://github.com/toddr/perl-net-jabber-bot
- Tickets/Groups will stay on Google for now.
- Discussed using Backend of POE::Component::Jabber which would be a more stable/supported solution but requires perl 5.10
- MooseX::Types now.
- no Moose and no MooseX::Types at end of object for droppings
2.1.3
- Tests were failing if people didn't have Config::Std installed which is only used for Author tests
2.1.2
- Added warning message for legacy users initializing with message_callback or background_activity.
2.1.1
- Add proper meta data into makefile.pl
- Cleanup debug messages. Used to be able to do them inline but moose subs don't call inside a string any more.
2.1.0
- MOOSE!!!
2.0.9
- New subroutines (AddUser, RmUser, GetStatus, GetRoster) to track ???
- IsConnected reports connect status now.
- ReConnect now works as expected. Calls background each re-connect attempt.
2.0.8
- Bot now resonds to iq requests for version info. Also added gtalk example into the manifest (forgot for 2.0.7)
2.0.7
- Fix to get gtalk working, kindly provided by Yago Jesus. It's doing something really funky with setting the hostname to gmail.com.
- Need to later review why we're doing this. maybe we're ignorning connect messages from the server?
- Also added gtalk bot example courtesy of Yago
- New subs: GetRoster, ChangeStatus
2.0.6
- Test::Pod::Coverage not configured to skip tests if not avail. Corrected this.
2.0.5
- Missed a test file mentioning IO::Prompt (t/03)
2.0.4
- Removed some email addresses present.
- Tidy up manifest
- Referring to google project in POD now.
- Inserted gtalk fixes so the module will work with them.
- Funky eval issue with gtalk client commented out. We'll have to look at that later, but for now we don't need it at all
2.0.3
- Creation of Mock Client to allow automation of testing without a server.
- Also added Example script so someone can see how to use the module.
2.0.2
- Added Log::Log4Perl as dependancy. This should be in everyone's CPAN so it shouldn't be a big deal that people need to install it even though it's not necessary for people to use the module...
2.0.1
- Oops! Guess I need to make this module dependant on Net::Jabber if it's ever going to make test.
2.0.0
- Move to 3 digit version (see pause.perl.org FAQ about starting with 2 digit version and going to 3)
- internal callback maker created to reduce code.
1.2.1
- Call back functions how call self funcion via anonymous subs.
- Minor bug fixes and cleanup.
1.2.0
- Re-enabled config test, plus fixed some docs. Versioning changes from here out to be 3 digit.
- Bot will respond to different addressings per forum (all messages, jbot:, etc.)
1.1
- Initial CPAN release - Basic tests built. Still more needed. Some of the limits are hard
- coded. Arguably, these should be more in a child module, not the base class?
- 1.0 Initial pre-CPAN release -- Does basic stuff but no tests yet. not CPAN ready