New version of Akismet plugin released 2.5.6 blog…

New version of Akismet plugin released – 2.5.6:

  • blog post:
  • diff from 2.5.5 to 2.5.6:

summary from the change log:

  • Prevent retry scheduling problems on sites where wp_cron is misbehaving
  • Preload mshot previews
  • Modernize the widget code
  • Fix a bug where comments were not held for moderation during an error condition
  • Improve the UX and display when comments are temporarily held due to an error
  • Make the Check For Spam button force a retry when comments are held due to an error
  • Handle errors caused by an invalid key
  • Don’t retry comments that are too old
  • Improve error messages when verifying an API key

I’ll file a ticket to request updating to the 2.5.6 tag.


New version of Akismet plugin was released 2.5.5…

New version of Akismet plugin was released: 2.5.5

Diff of 2.5.4 to 2.5.5

Two items:

  • Nonce checks for removing comment author URL
  • Link to configuration page fixes


New version of Akismet plugin was released yesterday…

New version of Akismet plugin was released yesterday: 2.5.4.

Here is the diff between version 2.5.3 and 2.5.4.


FYI in regards to Akismet as a subversion…

FYI in regards to Akismet as a subversion external.

Older versions of WordPress used Akismet -trunk as an external. So for active Akismet plugin development we created a -dev directory, to avoid any accidental breakage.

Current versions of WordPress use a release tag of the Akismet plugin as an external. With that change there isn’t much point in having a -dev for the Akismet WP plugin. This is a heads up for anyone still using Akismet -trunk as an external that it will be used for current development work again. If you don’t want to get those changes you should switch your external to the current release tag (2.5.3):

I don’t think there are many folks left using Akismet -trunk as an external, but I still wanted to update people on the situation.


FYI – Akismet WordPress plugin 2.5.2 was…

FYI – Akismet WordPress plugin 2.5.2 was released today – announcement.

diff from 2.5.1 to 2.5.2

This release was mostly to refine a few issues that had been observed in 2.5.1.


Akismet 2.5.1 is now out, with several f…

Akismet 2.5.1 is now out, with several fixes for 2.5.0 items:

  • Fix a bug that caused the “Auto delete” option to fail to discard comments correctly
  • Remove the comment nonce form field from the ‘Akismet Configuration’ page in favor of using a filter, akismet_comment_nonce
  • Fixed padding bug in “author” column of posts screen
  • Added margin-top to “cleared by …” badges on dashboard
  • Fix possible error when calling akismet_cron_recheck()
  • Fix more PHP warnings
  • Clean up XHTML warnings for comment nonce
  • Fix for possible condition where scheduled comment re-checks could get stuck
  • Clean up the comment meta details after deleting a comment
  • Only show the status badge if the comment status has been changed by someone/something other than Akismet
  • Show a ‘History’ link in the row-actions
  • Translation fixes
  • Reduced font-size on author name
  • Moved “flagged by…” notification to top right corner of comment container and removed heavy styling
  • Hid “flagged by…” notification while on dashboard

We’d like to get 2.5.1 in as part of the WP3.1 release


As was discussed in the last dev chat I…

As was discussed in the last dev chat I’ll be posting here periodically about dev changes in the Akismet plugin since it ships with WP. With version 2.5 of the plugin coming soon (next day or two hopefully) we really want to make sure it is included with WP3.1 when it ships.

And with that, I give you:

Changes in upcoming Akismet WordPress Plugin, version 2.5 compared to version 2.4:

  • New files:
    • admin.php
    • akismet.css
    • akismet.js
    • widget.php

The new files should be reasonably self explanatory. We’ve been breaking out the different functions of the plugin to separate files.

  • Test mode

The test mode provides an additional parameter to API calls to let it know that you are only testing and that the API calls should not be used for learning. The test mode is enabled when WP_DEBUG is TRUE or when AKISMET_TEST_MODE is TRUE.

That last part is worth a repeat, when WP_DEBUG is TRUE then test mode is enabled.

  • Spam check history

The plugin now keeps a history for each comment and the interaction with Akismet. The ‘Edit Comment’ screen will display a ‘Comment History’ section with details.

Related to this is an indication on each comment explaining what Akismet did with the comment.

  • Auto retry

When a comment check fails we note that and schedule a cron job to try again later. We found that hosts would make firewall or routing changes that would prevent WordPress from reaching This retry feature will take care of processing the comments that were missed during that time once the server can reach again.

  • Clean up

Various little house cleaning items, like deprecated function calls.

  • WordPress HTTP API

The Akismet plugin now uses WordPress HTTP API. The big win here is being able use the built in proxy support.

  • Use complete details for spam/ham reports

When a user specifically clicks on spam/not spam we didn’t have all of the original data for the comment. This records that data so that Akismet can use it to learn from.

  • Passive comment nonce

The plugin adds a nonce field to the comment form. The result of the nonce check is then passed to Akismet to help look for abuse.

  • Call comment_check() on non-spam

Even if Akismet says the comment is not spam, call check_comment() to see if any other moderation items need to adjust the status of the comment.

  • Link highlighting

Make links that might not be obvious in comments a bit more obvious. Some comment spam would try to hide links, making them hard to find or see when reviewing comments in wp-admin.


Currently available from (our bleeding edge dev section) if you’d like to try it out. Once released we’ll also have a tag for it in (2.5) which we’ll use for the WP3.1 Akismet SVN external.

Tickets for the Akismet plugin can be created at – be sure to set ‘Component: akismet’