Changes for version 3.0.0

  • Changes made since 2.3.0
    • BREAKING CHANGE: get_text() now returns the page's wikitext. Blank pages return ""; nonexistent pages return undef. These both evaluate to false; you can differentiate between them with defined(). get_id() now returns undef instead of 2 when there is no pageid (page is nonexistent or title is invalid).
    • BREAKING CHANGE: All subs return undef when they encounter an error that is passed off to _handle_api_error(). Error details are still available in $bot->{'error'}.
    • BREAKING CHANGE: linksearch() now uses keys 'url' and 'title' like the API does. This is to avoid confusion when using a callback hook, which is now exposed to callers. linksearch() now uses the API.
    • BREAKING CHANGE: login()'s return values are reversed, and properly documented. Returns true for success; false for failure: $bot->login($user, $pass) or die "Login failed\n"; # This is in accord with Perl standards
    • BREAKING CHANGE: what_links_here() no longer handles transclusions. To get transclusions, use list_transclusions(). Also, key names are now 'title' and 'redirect' (defined when the page is a redirect; undefined otherwise).
    • Codebase underwent spring cleaning.
    • Default useragent now includes the version number.
    • Functionality which still uses index.php no longer fails on non-English wikis. Patch by piotr.kubowicz.
    • Crypt::SSLeay is now correctly listed as a prerequisite,
    • is_blocked() replaces test_blocked(), and now uses the API. test_blocked() remains for backwards compatibility,
    • was_blocked() replaces test_block_hist(), and now uses the API. test_block_hist() remains for backwards compatibility.
    • $summary is now optional for undelete(); a generic reason will be used if ommitted. undelete() also uses API now.
    • edit() now uses an md5 hash to ensure data integrity.
    • set_highlimits() can now be used to *not* use highlimits.
    • revert() now uses the API.
    • get_last() now uses the API.
    • undo() now uses the API, and is documented accurately.
    • logout() was added.
    • purge_page() now uses the API and returns the number of pages successfully purged, which may be useful for the caller's error-checking.
    • New methods were added to query WMF's sitematrix, and convert between db name (enwikibooks) to the domain name (en.wikibooks.org): db_to_domain() and domain_to_db().
    • Admin functions were moved into the plugin MediaWiki::Bot::Plugin::Admin, which is auto-loaded if present.
    • The constructor now does more for script authors. It sets the wiki, logs in, and does some autoconfiguration. See updated POD for details.
    • edit() now accepts a hashref of options. See updated POD for details.
    • expandtemplates() now uses the API.

Modules

a Wikipedia bot framework written in Perl
PWP
Alias for Perlwikipedia, now known as MediaWiki::Bot