1.24 (2012-11-22)
* Documentation:
+ Document KGB protocol (currently v4 JSON only).
+ kgb-client.conf(5): add single-line-commit option.
+ Document web-link configuration via git-config.
* Client:
+ Add a few checks on the configuration file.
+ Add --man and --help command-line options.
+ Fix validation of --single-line-commits argument.
+ Support web-link option via git configuration.
* Server:
+ Avoid responding to senders having .bot. in their hostname.
+ change default port to 5391. Closes Debian bug #691562 -- port conflict
with approx.
+ kgb-add-project: chown/chmod config (snippet) like kgb.conf.
+ Use asterisk for web link separator (used also for commit message
separator).
+ Explicitly check and die if included conf file doesn't exist.
+ Put URL on first line of multi-line notifications.
+ Put back SVN in requirements now that Module::Build is fixed. See
https://rt.cpan.org/Public/Bug/Display.html?id=59593
1.23 (2012-10-20)
* t/compile*: use Test::Compile::Internal in order to show verbose errors
* Server:
+ add --debug command line switch
+ replace --config-dir option with 'include:' configuration item
add 'include: "/etc/kgb-bot/kgb.conf.d"' to the default config
+ default pid_dir to /var/run/kgb-bot
* Documentation:
+ add manuals for kgb.conf and kgb-client.conf
+ pod.t: test documentation in man*/ too
+ give example for gitweb URL
* Client:
+ show expanded web-link in verbose mode
+ dump processed configuration in verbose mode
+ shorten_url: really return plain URL if shortening is not enabled
+ send_changes: detailed dump in verbose mode
+ introduce module-and-branch-re setting and deprecate
branch-and-module-re-swap
1.22 (2012-10-14)
* kgb-add-project: document the new --dir option
* Add API documentation (JSON-RPC only)
* Server:
+ prepend all IRC strings with a hidden character to avoid addressing
+ honour --foreground when reloading and don't reopen the log
+ change the delimiters around web links to make konsole users' life
easier
+ pass --config-dir too on restart
+ add new kgb-split-config script
+ refuse to load world-readable configuration files
* fix a bug in determining the longest common directory in a change set
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