1.21 (2012-10-11) * Server: + fix exception handling + better error messages * Debli: prepend 'http://deb.li/' to the returned key 1.20 (2012-10-11) * kgb-add-project: avoid using 'keys($hashref)' which requires too recent perl * Client: + add --reposotory to synopsis + fix --repository in CVS example + CVS: silence debugging output + WWW:Shorten::Debli implementation (uses deb.li for URL shortening) + determine default repository type from the environment (makes --repository useless) + determine default module from git directory (makes --module redundant for Git) + allow explicit protocol configuration + saving of last contacted server -- in a separate method * Server: + ensure trailing \n in KGB->out + note repository id on internal errors + conf.d/*.conf style configuration + use exceptions for handling argument errors + turn on utf8 mode on STDOUT/ERR + use shorter timestamp representation * Both: + protocol 4 (JSON-RPC) + plain message relaying (Closes: #689641) * some spellchecking 1.19 (2012-10-05) * Bot: + add timestamp to log messages + use KGB->out() instead of plain warn() for consistent log messages + tighten auto-responce rate-limit to stop storms in the first screen + silently ignore empty changes + do not crash on internal errors while processing requests * kgb-add-project: sort the channel hashes to make sure "name" is the first key. 1.18 (2012-10-05) * bot: fix channel-must-have-a-repository check for broadcast channels 1.17 (2012-10-05) * improve wording of web-link description * 50-client.t: support keeping temporary directory * declare POD encoding * additional documentation for web-link * explain status-dir in the sample client config * add support for URL shortening via WWW::Shorten + kgb-client: add libwww-shorten-perl to Recommends * client: add --fake option. Fakes a commit to help testing server connection (Closes: #689540) * bot: introduce broadcast channels which receive notifications from all repositories Closes: #688993 + introduce private repositories * bot: fail if a repository has no associated channels * typo/doc fixes * kgb-add-project: add option to save config back to file 1.16 (2012-10-03) * Misc + Typos in documentation fixed * Server + indicate replacement using 'brown' (which should be displayed as low intensity red or something) instead of inverse + add script to add simple projects quickly + call $poe_kernel->has_forked in the child process Makes the reload action of the bot work (Closes: #689018) + reopen logs on reload + create log file in the init script, not in postinst + init script: depend on $network facility and add status option. + init script: add pidfile argument to status option + add bot reload to logrotate configuration * Client + honour 'repository' setting in kgb-client.conf (Closes: 688992) + fix forced single-line commit mode. reported by joeyh, fix by dondelelcaro * Both + Add support for plain web links. No URL shortening yet + Protocol v3 (used by client when extra parameters, e.g. web link need to be sent) + Add CVS support (Closes: #689288) (Mostly in the client, but server needed some changes to drop assumptions that commits always have IDs) 1.15 (2011-09-14) * Client: + make File::Touch usage optional, used only when status_dir is present + use single line note for annotated tags + document --status-dir + consistent POD formatting + POD fix for --single-line-commits in synopsis * Server: + fix single line commits with multi-line explaination + move detect_common_dir to App::KGB::Change (as a class method) + no bold revision by default + drop (bold) repository name from the notification * Misc: + fix eg/run-test-bot-dump + My::Builder: make the 'orig' target also provide a (hardlinked) distribution archive * Tests: + initially trim the dump file only if existing + fix single line notification separator + tags are single line too + add tests for decect_common_dir + more extensive tests for debian/patches series some.patch (still passing) 1.14 (2011-08-24) * Client: + pass the client instance to the server ref + add an option to keep the last used server in a directory * Server: + do not pre-pad $path_string if it is empty + make the message separator colorizable (and leave gray for now) + avoid calling md5_hex with wide characters * Both: + add support for single line commit notifications * Meta: + add MANIFEST and META.yml to MANIFEST (and the distribution) * Misc + provide examples for running two test bots + provide test client configuration + use sample test client config in tests 1.13 (2011-08-13) * bot: add --simulate option * remove dead code * run-test-bot passes arguments to kgb-bot * change the port of the test bot * silence more git jabber during tests * add tests for simulated IRC output 1.12 (2011-08-13) * Updated META.* 1.11 (no public release) * test creation of brand new, orphan branch * fix: no warnings when commits have no author * bot: log repository on authentication failure * put tag name in changes for plain tags too * bot: always decode parameters 1.10 (2011-08-11) [ Daman Ivanov ] * disable indexing of privinc/ * fix a couple of cases of conrdirtional declaration * add a Perl::Critic test for conditional declarations * bot: do not answer back if no answers are configured * rate-lmit autoresponses 1.09 (no official release) [ Damyan Ivanov ] * Skip some tests when required SVN::* or Git modules are unavailable * Fix dist_name from App::KGB to App-KGB 1.08 (2011-08-05) [ Damyan Ivanov ] * Fix version disparity between App::KGB and kgb-bot 1.07 (2011-07-26) [ Damyan Ivanov ] * Client::Git: use --format=raw when describing annotated tags 1.06 (2010-12-04) [ gregor herrmann ] * kgb-bot: - fix typo when accessing global config - call polygen_available with full class name [ Damyan Ivanov ] * kgb-bot: drop the asterix prefix from revision number * Makefile: fix (real|dist)clean targets to use ./Build for the real work * App::KGB::Change: + fix typo in POD + make the stringification method public and document it * t/52-client-git.t: when comparing changes, force objects to stringify * MANIFEST.SKIP: add MYMETA.yml * fix typo in Client::Subversion POD 1.05 (2010-09-10) * kgb-bot: use File::Which to find polygen binary; split out the polygen-finding function; closes: #593631 * kgb-bot: check existence of polygen binary before using it; closes: #593633 * add gregor to copyright holders * move polygen detection entirely at runtime * any problems in finding polygen binary are logged only when debug is enabled as a counter-measure against remotely-assisted log abuse 1.04 (2010-08-03) * use Digest::SHA from core instead of ::SHA1 * remove references to Svn::* from Build.PL Closes: #582739 (by working around #589812) 1.03 (2010-04-28) * Synchronized versions of kgb-bot and KGB 1.02 (no official release) * Protocol v2 + Adds a new parameter, revision prefix, which is printed plain before the bold commit ID + The default revision prefix is empty ('') + Subversion revision prefix is 'r' 1.01 (2009-12-05) * Client: drop branch/module detection if not all changed paths are in the same branch/module 1.00 (2009-12-02) * ServerRef: send commit_id as a string * Commit: decode UTF-8 log messages * ServerRef: encode all strings before sending 0.16 (2009-11-24) * bot: + print the path information part along the author and revision 0.15 (2009-11-07) * bot: + bump years of copyright + make manual page speak about 'kgb-bot', not 'KGB' + out(): this is a class method, do not print the first argument + remove the '_ECHO_' network * Git: + more robust commit parsing + fix describing newly created branches * client: + fail gracefuly when repo type module is not available * tests + support sending test commits to a live running bot when TEST_KGB_BOT_RUNNING is in the environment 0.14 (2009-11-02) * Git: fix describing merge commits * bot: replace change flags (A+)... with colors * bot: avoid sending changed files list for commits that don't contain changed files * bot: always detect common changes directory 0.13 (2009-11-01) * kgb-bot: fix the code detecting common root for all changes 0.12 (2009-10-31) * add a test ensuring that App::KGB and kgb-bot are the same version * client + honor branch and module supplied by commit + make server choice stable within one client call + Git - drop autodie and check for error when calling open() - when describing changes, use App::KGB::Change objects - fix parsing of multi-line log messages - fix reverse commit order on branch updates - special handling of signed/annotated tags - use raw commit logs to detect file additions/removals 0.11 (2009-10-26) * move generation of a smart answers to a subroutine * make the autoresponder use polygen * fix typo in an error message 0.10 (2009-10-25) * kgb-bot has its own version. no longer pulls the client via App::KGB 0.09 (2009-10-24) * print unhandled IRC stuff only when debugging is enabled * implement logging * drop auto-rejoin TODO item (sort of done) * move discovery of sender's net into a subroutine * respond to CTCP requests * implement !version command * MANIFEST.SKIP: also skip blib * make orig target invoke d/rules clean to ensure the tarball is created off a clean tree * test-server.conf: use local irc server for testing test server considers all local users admins * handle both public and private messages