Akismet Anti-Spam - Version 4.1.5

Version Description

Release Date - 29 April 2020

  • Based on user feedback, we have dropped the in-admin notice explaining the availability of the "privacy notice" option in the AKismet settings screen. The option itself is available, but after displaying the notice for the last 2 years, it is now considered a known fact.
  • Updated the "Requires at least" to WP 4.6, based on recommendations from https://wp-info.org/tools/checkplugini18n.php?slug=akismet
  • Moved older changelog entries to a separate file to keep the size of this readme reasonable, also based on recommendations from https://wp-info.org/tools/checkplugini18n.php?slug=akismet
Download this release

Release Info

Developer stephdau
Plugin Icon 128x128 Akismet Anti-Spam
Version 4.1.5
Comparing to
See all releases

Code changes from version 4.1.4 to 4.1.5

Files changed (6) hide show
  1. _inc/akismet.js +0 -9
  2. akismet.php +2 -2
  3. changelog.txt +418 -0
  4. class.akismet-admin.php +0 -33
  5. readme.txt +10 -413
  6. views/notice.php +0 -6
_inc/akismet.js CHANGED
@@ -293,15 +293,6 @@ jQuery( function ( $ ) {
293
  img.src = akismet_mshot_url( linkUrl );
294
  }
295
 
296
- /**
297
- * Sets the comment form privacy notice display to hide when one clicks Core's dismiss button on the related admin notice.
298
- */
299
- $( '#akismet-privacy-notice-admin-notice' ).on( 'click', '.notice-dismiss', function () {
300
- $.ajax( {
301
- url: './options-general.php?page=akismet-key-config&akismet_comment_form_privacy_notice=hide',
302
- } );
303
- });
304
-
305
  $( '.akismet-could-be-primary' ).each( function () {
306
  var form = $( this ).closest( 'form' );
307
 
293
  img.src = akismet_mshot_url( linkUrl );
294
  }
295
 
 
 
 
 
 
 
 
 
 
296
  $( '.akismet-could-be-primary' ).each( function () {
297
  var form = $( this ).closest( 'form' );
298
 
akismet.php CHANGED
@@ -6,7 +6,7 @@
6
  Plugin Name: Akismet Anti-Spam
7
  Plugin URI: https://akismet.com/
8
  Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key.
9
- Version: 4.1.4
10
  Author: Automattic
11
  Author URI: https://automattic.com/wordpress-plugins/
12
  License: GPLv2 or later
@@ -37,7 +37,7 @@ if ( !function_exists( 'add_action' ) ) {
37
  exit;
38
  }
39
 
40
- define( 'AKISMET_VERSION', '4.1.4' );
41
  define( 'AKISMET__MINIMUM_WP_VERSION', '4.0' );
42
  define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
43
  define( 'AKISMET_DELETE_LIMIT', 100000 );
6
  Plugin Name: Akismet Anti-Spam
7
  Plugin URI: https://akismet.com/
8
  Description: Used by millions, Akismet is quite possibly the best way in the world to <strong>protect your blog from spam</strong>. It keeps your site protected even while you sleep. To get started: activate the Akismet plugin and then go to your Akismet Settings page to set up your API key.
9
+ Version: 4.1.5
10
  Author: Automattic
11
  Author URI: https://automattic.com/wordpress-plugins/
12
  License: GPLv2 or later
37
  exit;
38
  }
39
 
40
+ define( 'AKISMET_VERSION', '4.1.5' );
41
  define( 'AKISMET__MINIMUM_WP_VERSION', '4.0' );
42
  define( 'AKISMET__PLUGIN_DIR', plugin_dir_path( __FILE__ ) );
43
  define( 'AKISMET_DELETE_LIMIT', 100000 );
changelog.txt ADDED
@@ -0,0 +1,418 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ === Akismet Anti-Spam ===
2
+
3
+ == Archived Changelog Entries ==
4
+
5
+ This file contains older changelog entries, so we can keep the size of the standard WordPress readme.txt file reasonable.
6
+ For the latest changes, please see the "Changelog" section of the [readme.txt file](https://plugins.svn.wordpress.org/akismet/trunk/readme.txt).
7
+
8
+ = 4.0.8 =
9
+ *Release Date - 19 June 2018*
10
+
11
+ * Improved the grammar and consistency of the in-admin privacy related notes (notice and config).
12
+ * Revised in-admin explanation of the comment form privacy notice to make its usage clearer.
13
+ * Added `rel="nofollow noopener"` to the comment form privacy notice to improve SEO and security.
14
+
15
+ = 4.0.7 =
16
+ *Release Date - 28 May 2018*
17
+
18
+ * Based on user feedback, the link on "Learn how your comment data is processed." in the optional privacy notice now has a `target` of `_blank` and opens in a new tab/window.
19
+ * Updated the in-admin privacy notice to use the term "comment" instead of "contact" in "Akismet can display a notice to your users under your comment forms."
20
+ * Only show in-admin privacy notice if Akismet has an API Key configured
21
+
22
+ = 4.0.6 =
23
+ *Release Date - 26 May 2018*
24
+
25
+ * Moved away from using `empty( get_option() )` to instantiating a variable to be compatible with older versions of PHP (5.3, 5.4, etc).
26
+
27
+ = 4.0.5 =
28
+ *Release Date - 26 May 2018*
29
+
30
+ * Corrected version number after tagging. Sorry...
31
+
32
+ = 4.0.4 =
33
+ *Release Date - 26 May 2018*
34
+
35
+ * Added a hook to provide Akismet-specific privacy information for a site's privacy policy.
36
+ * Added tools to control the display of a privacy related notice under comment forms.
37
+ * Fixed HTML in activation failure message to close META and HEAD tag properly.
38
+ * Fixed a bug that would sometimes prevent Akismet from being correctly auto-configured.
39
+
40
+ = 4.0.3 =
41
+ *Release Date - 19 February 2018*
42
+
43
+ * Added a scheduled task to remove entries in wp_commentmeta that no longer have corresponding comments in wp_comments.
44
+ * Added a new `akismet_batch_delete_count` action to the batch delete methods for people who'd like to keep track of the numbers of records being processed by those methods.
45
+
46
+ = 4.0.2 =
47
+ *Release Date - 18 December 2017*
48
+
49
+ * Fixed a bug that could cause Akismet to recheck a comment that has already been manually approved or marked as spam.
50
+ * Fixed a bug that could cause Akismet to claim that some comments are still waiting to be checked when no comments are waiting to be checked.
51
+
52
+ = 4.0.1 =
53
+ *Release Date - 6 November 2017*
54
+
55
+ * Fixed a bug that could prevent some users from connecting Akismet via their Jetpack connection.
56
+ * Ensured that any pending Akismet-related events are unscheduled if the plugin is deactivated.
57
+ * Allow some JavaScript to be run asynchronously to avoid affecting page render speeds.
58
+
59
+ = 4.0 =
60
+ *Release Date - 19 September 2017*
61
+
62
+ * Added REST API endpoints for configuring Akismet and retrieving stats.
63
+ * Increased the minimum supported WordPress version to 4.0.
64
+ * Added compatibility with comments submitted via the REST API.
65
+ * Improved the progress indicator on the "Check for Spam" button.
66
+
67
+ = 3.3.4 =
68
+ *Release Date - 3 August 2017*
69
+
70
+ * Disabled Akismet's debug log output by default unless AKISMET_DEBUG is defined.
71
+ * URL previews now begin preloading when the mouse moves near them in the comments section of wp-admin.
72
+ * When a comment is caught by the Comment Blacklist, Akismet will always allow it to stay in the trash even if it is spam as well.
73
+ * Fixed a bug that was preventing an error from being shown when a site can't reach Akismet's servers.
74
+
75
+ = 3.3.3 =
76
+ *Release Date - 13 July 2017*
77
+
78
+ * Reduced amount of bandwidth used by the URL Preview feature.
79
+ * Improved the admin UI when the API key is manually pre-defined for the site.
80
+ * Removed a workaround for WordPress installations older than 3.3 that will improve Akismet's compatibility with other plugins.
81
+ * The number of spam blocked that is displayed on the WordPress dashboard will now be more accurate and updated more frequently.
82
+ * Fixed a bug in the Akismet widget that could cause PHP warnings.
83
+
84
+ = 3.3.2 =
85
+ *Release Date - 10 May 2017*
86
+
87
+ * Fixed a bug causing JavaScript errors in some browsers.
88
+
89
+ = 3.3.1 =
90
+ *Release Date - 2 May 2017*
91
+
92
+ * Improve performance by only requesting the akismet_comment_nonce option when absolutely necessary.
93
+ * Fixed two bugs that could cause PHP warnings.
94
+ * Fixed a bug that was preventing the "Remove author URL" feature from working after a comment was edited using "Quick Edit."
95
+ * Fixed a bug that was preventing the URL preview feature from working after a comment was edited using "Quick Edit."
96
+
97
+ = 3.3 =
98
+ *Release Date - 23 February 2017*
99
+
100
+ * Updated the Akismet admin pages with a new clean design.
101
+ * Fixed bugs preventing the `akismet_add_comment_nonce` and `akismet_update_alert` wrapper functions from working properly.
102
+ * Fixed bug preventing the loading indicator from appearing when re-checking all comments for spam.
103
+ * Added a progress indicator to the "Check for Spam" button.
104
+ * Added a success message after manually rechecking the Pending queue for spam.
105
+
106
+ = 3.2 =
107
+ *Release Date - 6 September 2016*
108
+
109
+ * Added a WP-CLI module. You can now check comments and recheck the moderation queue from the command line.
110
+ * Stopped using the deprecated jQuery function `.live()`.
111
+ * Fixed a bug in `remove_comment_author_url()` and `add_comment_author_url()` that could generate PHP notices.
112
+ * Fixed a bug that could cause an infinite loop for sites with very very very large comment IDs.
113
+ * Fixed a bug that could cause the Akismet widget title to be blank.
114
+
115
+ = 3.1.11 =
116
+ *Release Date - 12 May 2016*
117
+
118
+ * Fixed a bug that could cause the "Check for Spam" button to skip some comments.
119
+ * Fixed a bug that could prevent some spam submissions from being sent to Akismet.
120
+ * Updated all links to use https:// when possible.
121
+ * Disabled Akismet debug logging unless WP_DEBUG and WP_DEBUG_LOG are both enabled.
122
+
123
+ = 3.1.10 =
124
+ *Release Date - 1 April 2016*
125
+
126
+ * Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
127
+ * Fixed a bug that could have resulted in comments that were caught by the core WordPress comment blacklist not to have a corresponding History entry.
128
+ * Fixed a bug that could have caused avoidable PHP warnings in the error log.
129
+
130
+ = 3.1.9 =
131
+ *Release Date - 28 March 2016*
132
+
133
+ * Add compatibility with Jetpack so that Jetpack can automatically configure Akismet settings when appropriate.
134
+ * Fixed a bug preventing some comment data from being sent to Akismet.
135
+
136
+ = 3.1.8 =
137
+ *Release Date - 4 March 2016*
138
+
139
+ * Fixed a bug preventing Akismet from being used with some plugins that rewrite admin URLs.
140
+ * Reduced the amount of bandwidth used on Akismet API calls
141
+ * Reduced the amount of space Akismet uses in the database
142
+ * Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
143
+
144
+ = 3.1.7 =
145
+ *Release Date - 4 January 2016*
146
+
147
+ * Added documentation for the 'akismet_comment_nonce' filter.
148
+ * The post-install activation button is now accessible to screen readers and keyboard-only users.
149
+ * Fixed a bug that was preventing the "Remove author URL" feature from working in WordPress 4.4
150
+
151
+ = 3.1.6 =
152
+ *Release Date - 14 December 2015*
153
+
154
+ * Improve the notices shown after activating Akismet.
155
+ * Update some strings to allow for the proper plural forms in all languages.
156
+
157
+ = 3.1.5 =
158
+ *Release Date - 13 October 2015*
159
+
160
+ * Closes a potential XSS vulnerability.
161
+
162
+ = 3.1.4 =
163
+ *Release Date - 24 September 2015*
164
+
165
+ * Fixed a bug that was preventing some users from automatically connecting using Jetpack if they didn't have a current Akismet subscription.
166
+ * Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
167
+ * Error messages and instructions have been simplified to be more understandable.
168
+ * Link previews are enabled for all links inside comments, not just the author's website link.
169
+
170
+ = 3.1.3 =
171
+ *Release Date - 6 July 2015*
172
+
173
+ * Notify users when their account status changes after previously being successfully set up. This should help any users who are seeing blank Akismet settings screens.
174
+
175
+ = 3.1.2 =
176
+ *Release Date - 7 June 2015*
177
+
178
+ * Reduced the amount of space Akismet uses in the commentmeta table.
179
+ * Fixed a bug where some comments with quotes in the author name weren't getting history entries
180
+ * Pre-emptive security improvements to ensure that the Akismet plugin can't be used by attackers to compromise a WordPress installation.
181
+ * Better UI for the key entry field: allow whitespace to be included at the beginning or end of the key and strip it out automatically when the form is submitted.
182
+ * When deactivating the plugin, notify the Akismet API so the site can be marked as inactive.
183
+ * Clearer error messages.
184
+
185
+ = 3.1.1 =
186
+ *Release Date - 17th March, 2015*
187
+
188
+ * Improvements to the "Remove comment author URL" JavaScript
189
+ * Include the pingback pre-check from the 2.6 branch.
190
+
191
+ = 3.1 =
192
+ *Release Date - 11th March, 2015*
193
+
194
+ * Use HTTPS by default for all requests to Akismet.
195
+ * Fix for a situation where Akismet might strip HTML from a comment.
196
+
197
+ = 3.0.4 =
198
+ *Release Date - 11th December, 2014*
199
+
200
+ * Fix to make .htaccess compatible with Apache 2.4.
201
+ * Fix to allow removal of https author URLs.
202
+ * Fix to avoid stripping part of the author URL when removing and re-adding.
203
+ * Removed the "Check for Spam" button from the "Trash" and "Approved" queues, where it would have no effect.
204
+ * Allow automatic API key configuration when Jetpack is installed and connected to a WordPress.com account
205
+
206
+ = 3.0.3 =
207
+ *Release Date - 3rd November, 2014*
208
+
209
+ * Fix for sending the wrong data to delete_comment action that could have prevented old spam comments from being deleted.
210
+ * Added a filter to disable logging of Akismet debugging information.
211
+ * Added a filter for the maximum comment age when deleting old spam comments.
212
+ * Added a filter for the number per batch when deleting old spam comments.
213
+ * Removed the "Check for Spam" button from the Spam folder.
214
+
215
+ = 3.0.2 =
216
+ *Release Date - 18th August, 2014*
217
+
218
+ * Performance improvements.
219
+ * Fixed a bug that could truncate the comment data being sent to Akismet for checking.
220
+
221
+ = 3.0.1 =
222
+ *Release Date - 9th July, 2014*
223
+
224
+ * Removed dependency on PHP's fsockopen function
225
+ * Fix spam/ham reports to work when reported outside of the WP dashboard, e.g., from Notifications or the WP app
226
+ * Remove jQuery dependency for comment form JavaScript
227
+ * Remove unnecessary data from some Akismet comment meta
228
+ * Suspended keys will now result in all comments being put in moderation, not spam.
229
+
230
+ = 3.0.0 =
231
+ *Release Date - 15th April, 2014*
232
+
233
+ * Move Akismet to Settings menu
234
+ * Drop Akismet Stats menu
235
+ * Add stats snapshot to Akismet settings
236
+ * Add Akismet subscription details and status to Akismet settings
237
+ * Add contextual help for each page
238
+ * Improve Akismet setup to use Jetpack to automate plugin setup
239
+ * Fix "Check for Spam" to use AJAX to avoid page timing out
240
+ * Fix Akismet settings page to be responsive
241
+ * Drop legacy code
242
+ * Tidy up CSS and Javascript
243
+ * Replace the old discard setting with a new "discard pervasive spam" feature.
244
+
245
+ = 2.6.0 =
246
+ *Release Date - 18th March, 2014*
247
+
248
+ * Add ajax paging to the check for spam button to handle large volumes of comments
249
+ * Optimize javascript and add localization support
250
+ * Fix bug in link to spam comments from right now dashboard widget
251
+ * Fix bug with deleting old comments to avoid timeouts dealing with large volumes of comments
252
+ * Include X-Pingback-Forwarded-For header in outbound WordPress pingback verifications
253
+ * Add pre-check for pingbacks, to stop spam before an outbound verification request is made
254
+
255
+ = 2.5.9 =
256
+ *Release Date - 1st August, 2013*
257
+
258
+ * Update 'Already have a key' link to redirect page rather than depend on javascript
259
+ * Fix some non-translatable strings to be translatable
260
+ * Update Activation banner in plugins page to redirect user to Akismet config page
261
+
262
+ = 2.5.8 =
263
+ *Release Date - 20th January, 2013*
264
+
265
+ * Simplify the activation process for new users
266
+ * Remove the reporter_ip parameter
267
+ * Minor preventative security improvements
268
+
269
+ = 2.5.7 =
270
+ *Release Date - 13th December, 2012*
271
+
272
+ * FireFox Stats iframe preview bug
273
+ * Fix mshots preview when using https
274
+ * Add .htaccess to block direct access to files
275
+ * Prevent some PHP notices
276
+ * Fix Check For Spam return location when referrer is empty
277
+ * Fix Settings links for network admins
278
+ * Fix prepare() warnings in WP 3.5
279
+
280
+ = 2.5.6 =
281
+ *Release Date - 26th April, 2012*
282
+
283
+ * Prevent retry scheduling problems on sites where wp_cron is misbehaving
284
+ * Preload mshot previews
285
+ * Modernize the widget code
286
+ * Fix a bug where comments were not held for moderation during an error condition
287
+ * Improve the UX and display when comments are temporarily held due to an error
288
+ * Make the Check For Spam button force a retry when comments are held due to an error
289
+ * Handle errors caused by an invalid key
290
+ * Don't retry comments that are too old
291
+ * Improve error messages when verifying an API key
292
+
293
+ = 2.5.5 =
294
+ *Release Date - 11th January, 2012*
295
+
296
+ * Add nonce check for comment author URL remove action
297
+ * Fix the settings link
298
+
299
+ = 2.5.4 =
300
+ *Release Date - 5th January, 2012*
301
+
302
+ * Limit Akismet CSS and Javascript loading in wp-admin to just the pages that need it
303
+ * Added author URL quick removal functionality
304
+ * Added mShot preview on Author URL hover
305
+ * Added empty index.php to prevent directory listing
306
+ * Move wp-admin menu items under Jetpack, if it is installed
307
+ * Purge old Akismet comment meta data, default of 15 days
308
+
309
+ = 2.5.3 =
310
+ *Release Date - 8th Febuary, 2011*
311
+
312
+ * Specify the license is GPL v2 or later
313
+ * Fix a bug that could result in orphaned commentmeta entries
314
+ * Include hotfix for WordPress 3.0.5 filter issue
315
+
316
+ = 2.5.2 =
317
+ *Release Date - 14th January, 2011*
318
+
319
+ * Properly format the comment count for author counts
320
+ * Look for super admins on multisite installs when looking up user roles
321
+ * Increase the HTTP request timeout
322
+ * Removed padding for author approved count
323
+ * Fix typo in function name
324
+ * Set Akismet stats iframe height to fixed 2500px. Better to have one tall scroll bar than two side by side.
325
+
326
+ = 2.5.1 =
327
+ *Release Date - 17th December, 2010*
328
+
329
+ * Fix a bug that caused the "Auto delete" option to fail to discard comments correctly
330
+ * Remove the comment nonce form field from the 'Akismet Configuration' page in favor of using a filter, akismet_comment_nonce
331
+ * Fixed padding bug in "author" column of posts screen
332
+ * Added margin-top to "cleared by ..." badges on dashboard
333
+ * Fix possible error when calling akismet_cron_recheck()
334
+ * Fix more PHP warnings
335
+ * Clean up XHTML warnings for comment nonce
336
+ * Fix for possible condition where scheduled comment re-checks could get stuck
337
+ * Clean up the comment meta details after deleting a comment
338
+ * Only show the status badge if the comment status has been changed by someone/something other than Akismet
339
+ * Show a 'History' link in the row-actions
340
+ * Translation fixes
341
+ * Reduced font-size on author name
342
+ * Moved "flagged by..." notification to top right corner of comment container and removed heavy styling
343
+ * Hid "flagged by..." notification while on dashboard
344
+
345
+ = 2.5.0 =
346
+ *Release Date - 7th December, 2010*
347
+
348
+ * Track comment actions under 'Akismet Status' on the edit comment screen
349
+ * Fix a few remaining deprecated function calls ( props Mike Glendinning )
350
+ * Use HTTPS for the stats IFRAME when wp-admin is using HTTPS
351
+ * Use the WordPress HTTP class if available
352
+ * Move the admin UI code to a separate file, only loaded when needed
353
+ * Add cron retry feature, to replace the old connectivity check
354
+ * Display Akismet status badge beside each comment
355
+ * Record history for each comment, and display it on the edit page
356
+ * Record the complete comment as originally submitted in comment_meta, to use when reporting spam and ham
357
+ * Highlight links in comment content
358
+ * New option, "Show the number of comments you've approved beside each comment author."
359
+ * New option, "Use a nonce on the comment form."
360
+
361
+ = 2.4.0 =
362
+ *Release Date - 23rd August, 2010*
363
+
364
+ * Spell out that the license is GPLv2
365
+ * Fix PHP warnings
366
+ * Fix WordPress deprecated function calls
367
+ * Fire the delete_comment action when deleting comments
368
+ * Move code specific for older WP versions to legacy.php
369
+ * General code clean up
370
+
371
+ = 2.3.0 =
372
+ *Release Date - 5th June, 2010*
373
+
374
+ * Fix "Are you sure" nonce message on config screen in WPMU
375
+ * Fix XHTML compliance issue in sidebar widget
376
+ * Change author link; remove some old references to WordPress.com accounts
377
+ * Localize the widget title (core ticket #13879)
378
+
379
+ = 2.2.9 =
380
+ *Release Date - 2nd June, 2010*
381
+
382
+ * Eliminate a potential conflict with some plugins that may cause spurious reports
383
+
384
+ = 2.2.8 =
385
+ *Release Date - 27th May, 2010*
386
+
387
+ * Fix bug in initial comment check for ipv6 addresses
388
+ * Report comments as ham when they are moved from spam to moderation
389
+ * Report comments as ham when clicking undo after spam
390
+ * Use transition_comment_status action when available instead of older actions for spam/ham submissions
391
+ * Better diagnostic messages when PHP network functions are unavailable
392
+ * Better handling of comments by logged-in users
393
+
394
+ = 2.2.7 =
395
+ *Release Date - 17th December, 2009*
396
+
397
+ * Add a new AKISMET_VERSION constant
398
+ * Reduce the possibility of over-counting spam when another spam filter plugin is in use
399
+ * Disable the connectivity check when the API key is hard-coded for WPMU
400
+
401
+ = 2.2.6 =
402
+ *Release Date - 20th July, 2009*
403
+
404
+ * Fix a global warning introduced in 2.2.5
405
+ * Add changelog and additional readme.txt tags
406
+ * Fix an array conversion warning in some versions of PHP
407
+ * Support a new WPCOM_API_KEY constant for easier use with WordPress MU
408
+
409
+ = 2.2.5 =
410
+ *Release Date - 13th July, 2009*
411
+
412
+ * Include a new Server Connectivity diagnostic check, to detect problems caused by firewalls
413
+
414
+ = 2.2.4 =
415
+ *Release Date - 3rd June, 2009*
416
+
417
+ * Fixed a key problem affecting the stats feature in WordPress MU
418
+ * Provide additional blog information in Akismet API calls
class.akismet-admin.php CHANGED
@@ -32,10 +32,6 @@ class Akismet_Admin {
32
  if ( isset( $_POST['action'] ) && $_POST['action'] == 'enter-key' ) {
33
  self::enter_api_key();
34
  }
35
-
36
- if ( ! empty( $_GET['akismet_comment_form_privacy_notice'] ) && empty( $_GET['settings-updated']) ) {
37
- self::set_form_privacy_notice_option( $_GET['akismet_comment_form_privacy_notice'] );
38
- }
39
  }
40
 
41
  public static function init_hooks() {
@@ -70,11 +66,6 @@ class Akismet_Admin {
70
 
71
  add_filter( 'all_plugins', array( 'Akismet_Admin', 'modify_plugin_description' ) );
72
 
73
- if ( class_exists( 'Jetpack' ) ) {
74
- add_filter( 'akismet_comment_form_privacy_notice_url_display', array( 'Akismet_Admin', 'jetpack_comment_form_privacy_notice_url' ) );
75
- add_filter( 'akismet_comment_form_privacy_notice_url_hide', array( 'Akismet_Admin', 'jetpack_comment_form_privacy_notice_url' ) );
76
- }
77
-
78
  // priority=1 because we need ours to run before core's comment anonymizer runs, and that's registered at priority=10
79
  add_filter( 'wp_privacy_personal_data_erasers', array( 'Akismet_Admin', 'register_personal_data_eraser' ), 1 );
80
  }
@@ -890,14 +881,6 @@ class Akismet_Admin {
890
  ) );
891
  }
892
 
893
- public static function display_privacy_notice_control_warning() {
894
- if ( !current_user_can( 'manage_options' ) )
895
- return;
896
- Akismet::view( 'notice', array(
897
- 'type' => 'privacy',
898
- ) );
899
- }
900
-
901
  public static function display_spam_check_warning() {
902
  Akismet::fix_scheduled_recheck();
903
 
@@ -1031,10 +1014,6 @@ class Akismet_Admin {
1031
  $notices[] = array( 'type' => $akismet_user->status );
1032
  }
1033
 
1034
- if ( false === get_option( 'akismet_comment_form_privacy_notice' ) ) {
1035
- $notices[] = array( 'type' => 'privacy' );
1036
- }
1037
-
1038
  /*
1039
  // To see all variants when testing.
1040
  $notices[] = array( 'type' => 'active-notice', 'time_saved' => 'Cleaning up spam takes time. Akismet has saved you 1 minute!' );
@@ -1105,14 +1084,6 @@ class Akismet_Admin {
1105
  else if ( isset( $_GET['akismet_recheck_error'] ) ) {
1106
  echo '<div class="notice notice-error"><p>' . esc_html( __( 'Akismet could not recheck your comments for spam.', 'akismet' ) ) . '</p></div>';
1107
  }
1108
-
1109
- $akismet_comment_form_privacy_notice_option = get_option( 'akismet_comment_form_privacy_notice' );
1110
- if ( ! in_array( $akismet_comment_form_privacy_notice_option, array( 'hide', 'display' ) ) ) {
1111
- $api_key = Akismet::get_api_key();
1112
- if ( ! empty( $api_key ) ) {
1113
- self::display_privacy_notice_control_warning();
1114
- }
1115
- }
1116
  }
1117
 
1118
  public static function display_status() {
@@ -1227,10 +1198,6 @@ class Akismet_Admin {
1227
  update_option( 'akismet_comment_form_privacy_notice', $state );
1228
  }
1229
  }
1230
-
1231
- public static function jetpack_comment_form_privacy_notice_url( $url ) {
1232
- return str_replace( 'options-general.php', 'admin.php', $url );
1233
- }
1234
 
1235
  public static function register_personal_data_eraser( $erasers ) {
1236
  $erasers['akismet'] = array(
32
  if ( isset( $_POST['action'] ) && $_POST['action'] == 'enter-key' ) {
33
  self::enter_api_key();
34
  }
 
 
 
 
35
  }
36
 
37
  public static function init_hooks() {
66
 
67
  add_filter( 'all_plugins', array( 'Akismet_Admin', 'modify_plugin_description' ) );
68
 
 
 
 
 
 
69
  // priority=1 because we need ours to run before core's comment anonymizer runs, and that's registered at priority=10
70
  add_filter( 'wp_privacy_personal_data_erasers', array( 'Akismet_Admin', 'register_personal_data_eraser' ), 1 );
71
  }
881
  ) );
882
  }
883
 
 
 
 
 
 
 
 
 
884
  public static function display_spam_check_warning() {
885
  Akismet::fix_scheduled_recheck();
886
 
1014
  $notices[] = array( 'type' => $akismet_user->status );
1015
  }
1016
 
 
 
 
 
1017
  /*
1018
  // To see all variants when testing.
1019
  $notices[] = array( 'type' => 'active-notice', 'time_saved' => 'Cleaning up spam takes time. Akismet has saved you 1 minute!' );
1084
  else if ( isset( $_GET['akismet_recheck_error'] ) ) {
1085
  echo '<div class="notice notice-error"><p>' . esc_html( __( 'Akismet could not recheck your comments for spam.', 'akismet' ) ) . '</p></div>';
1086
  }
 
 
 
 
 
 
 
 
1087
  }
1088
 
1089
  public static function display_status() {
1198
  update_option( 'akismet_comment_form_privacy_notice', $state );
1199
  }
1200
  }
 
 
 
 
1201
 
1202
  public static function register_personal_data_eraser( $erasers ) {
1203
  $erasers['akismet'] = array(
readme.txt CHANGED
@@ -1,9 +1,9 @@
1
  === Akismet Anti-Spam ===
2
  Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, cfinke, automattic, jgs, procifer, stephdau
3
  Tags: akismet, comments, spam, antispam, anti-spam, anti spam, comment moderation, comment spam, contact form spam, spam comments
4
- Requires at least: 4.0
5
  Tested up to: 5.4
6
- Stable tag: 4.1.4
7
  License: GPLv2 or later
8
 
9
  Akismet checks your comments and contact form submissions against our global database of spam to protect you and your site from malicious content.
@@ -30,6 +30,13 @@ Upload the Akismet plugin to your blog, activate it, and then enter your Akismet
30
 
31
  == Changelog ==
32
 
 
 
 
 
 
 
 
33
  = 4.1.4 =
34
  *Release Date - 17 March 2020*
35
 
@@ -70,414 +77,4 @@ Upload the Akismet plugin to your blog, activate it, and then enter your Akismet
70
  * Hooked into the new "Personal Data Eraser" functionality from WordPress 4.9.6.
71
  * Added functionality to clear outdated alerts from Akismet.com.
72
 
73
- = 4.0.8 =
74
- *Release Date - 19 June 2018*
75
-
76
- * Improved the grammar and consistency of the in-admin privacy related notes (notice and config).
77
- * Revised in-admin explanation of the comment form privacy notice to make its usage clearer.
78
- * Added `rel="nofollow noopener"` to the comment form privacy notice to improve SEO and security.
79
-
80
- = 4.0.7 =
81
- *Release Date - 28 May 2018*
82
-
83
- * Based on user feedback, the link on "Learn how your comment data is processed." in the optional privacy notice now has a `target` of `_blank` and opens in a new tab/window.
84
- * Updated the in-admin privacy notice to use the term "comment" instead of "contact" in "Akismet can display a notice to your users under your comment forms."
85
- * Only show in-admin privacy notice if Akismet has an API Key configured
86
-
87
- = 4.0.6 =
88
- *Release Date - 26 May 2018*
89
-
90
- * Moved away from using `empty( get_option() )` to instantiating a variable to be compatible with older versions of PHP (5.3, 5.4, etc).
91
-
92
- = 4.0.5 =
93
- *Release Date - 26 May 2018*
94
-
95
- * Corrected version number after tagging. Sorry...
96
-
97
- = 4.0.4 =
98
- *Release Date - 26 May 2018*
99
-
100
- * Added a hook to provide Akismet-specific privacy information for a site's privacy policy.
101
- * Added tools to control the display of a privacy related notice under comment forms.
102
- * Fixed HTML in activation failure message to close META and HEAD tag properly.
103
- * Fixed a bug that would sometimes prevent Akismet from being correctly auto-configured.
104
-
105
- = 4.0.3 =
106
- *Release Date - 19 February 2018*
107
-
108
- * Added a scheduled task to remove entries in wp_commentmeta that no longer have corresponding comments in wp_comments.
109
- * Added a new `akismet_batch_delete_count` action to the batch delete methods for people who'd like to keep track of the numbers of records being processed by those methods.
110
-
111
- = 4.0.2 =
112
- *Release Date - 18 December 2017*
113
-
114
- * Fixed a bug that could cause Akismet to recheck a comment that has already been manually approved or marked as spam.
115
- * Fixed a bug that could cause Akismet to claim that some comments are still waiting to be checked when no comments are waiting to be checked.
116
-
117
- = 4.0.1 =
118
- *Release Date - 6 November 2017*
119
-
120
- * Fixed a bug that could prevent some users from connecting Akismet via their Jetpack connection.
121
- * Ensured that any pending Akismet-related events are unscheduled if the plugin is deactivated.
122
- * Allow some JavaScript to be run asynchronously to avoid affecting page render speeds.
123
-
124
- = 4.0 =
125
- *Release Date - 19 September 2017*
126
-
127
- * Added REST API endpoints for configuring Akismet and retrieving stats.
128
- * Increased the minimum supported WordPress version to 4.0.
129
- * Added compatibility with comments submitted via the REST API.
130
- * Improved the progress indicator on the "Check for Spam" button.
131
-
132
- = 3.3.4 =
133
- *Release Date - 3 August 2017*
134
-
135
- * Disabled Akismet's debug log output by default unless AKISMET_DEBUG is defined.
136
- * URL previews now begin preloading when the mouse moves near them in the comments section of wp-admin.
137
- * When a comment is caught by the Comment Blacklist, Akismet will always allow it to stay in the trash even if it is spam as well.
138
- * Fixed a bug that was preventing an error from being shown when a site can't reach Akismet's servers.
139
-
140
- = 3.3.3 =
141
- *Release Date - 13 July 2017*
142
-
143
- * Reduced amount of bandwidth used by the URL Preview feature.
144
- * Improved the admin UI when the API key is manually pre-defined for the site.
145
- * Removed a workaround for WordPress installations older than 3.3 that will improve Akismet's compatibility with other plugins.
146
- * The number of spam blocked that is displayed on the WordPress dashboard will now be more accurate and updated more frequently.
147
- * Fixed a bug in the Akismet widget that could cause PHP warnings.
148
-
149
- = 3.3.2 =
150
- *Release Date - 10 May 2017*
151
-
152
- * Fixed a bug causing JavaScript errors in some browsers.
153
-
154
- = 3.3.1 =
155
- *Release Date - 2 May 2017*
156
-
157
- * Improve performance by only requesting the akismet_comment_nonce option when absolutely necessary.
158
- * Fixed two bugs that could cause PHP warnings.
159
- * Fixed a bug that was preventing the "Remove author URL" feature from working after a comment was edited using "Quick Edit."
160
- * Fixed a bug that was preventing the URL preview feature from working after a comment was edited using "Quick Edit."
161
-
162
- = 3.3 =
163
- *Release Date - 23 February 2017*
164
-
165
- * Updated the Akismet admin pages with a new clean design.
166
- * Fixed bugs preventing the `akismet_add_comment_nonce` and `akismet_update_alert` wrapper functions from working properly.
167
- * Fixed bug preventing the loading indicator from appearing when re-checking all comments for spam.
168
- * Added a progress indicator to the "Check for Spam" button.
169
- * Added a success message after manually rechecking the Pending queue for spam.
170
-
171
- = 3.2 =
172
- *Release Date - 6 September 2016*
173
-
174
- * Added a WP-CLI module. You can now check comments and recheck the moderation queue from the command line.
175
- * Stopped using the deprecated jQuery function `.live()`.
176
- * Fixed a bug in `remove_comment_author_url()` and `add_comment_author_url()` that could generate PHP notices.
177
- * Fixed a bug that could cause an infinite loop for sites with very very very large comment IDs.
178
- * Fixed a bug that could cause the Akismet widget title to be blank.
179
-
180
- = 3.1.11 =
181
- *Release Date - 12 May 2016*
182
-
183
- * Fixed a bug that could cause the "Check for Spam" button to skip some comments.
184
- * Fixed a bug that could prevent some spam submissions from being sent to Akismet.
185
- * Updated all links to use https:// when possible.
186
- * Disabled Akismet debug logging unless WP_DEBUG and WP_DEBUG_LOG are both enabled.
187
-
188
- = 3.1.10 =
189
- *Release Date - 1 April 2016*
190
-
191
- * Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
192
- * Fixed a bug that could have resulted in comments that were caught by the core WordPress comment blacklist not to have a corresponding History entry.
193
- * Fixed a bug that could have caused avoidable PHP warnings in the error log.
194
-
195
- = 3.1.9 =
196
- *Release Date - 28 March 2016*
197
-
198
- * Add compatibility with Jetpack so that Jetpack can automatically configure Akismet settings when appropriate.
199
- * Fixed a bug preventing some comment data from being sent to Akismet.
200
-
201
- = 3.1.8 =
202
- *Release Date - 4 March 2016*
203
-
204
- * Fixed a bug preventing Akismet from being used with some plugins that rewrite admin URLs.
205
- * Reduced the amount of bandwidth used on Akismet API calls
206
- * Reduced the amount of space Akismet uses in the database
207
- * Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
208
-
209
- = 3.1.7 =
210
- *Release Date - 4 January 2016*
211
-
212
- * Added documentation for the 'akismet_comment_nonce' filter.
213
- * The post-install activation button is now accessible to screen readers and keyboard-only users.
214
- * Fixed a bug that was preventing the "Remove author URL" feature from working in WordPress 4.4
215
-
216
- = 3.1.6 =
217
- *Release Date - 14 December 2015*
218
-
219
- * Improve the notices shown after activating Akismet.
220
- * Update some strings to allow for the proper plural forms in all languages.
221
-
222
- = 3.1.5 =
223
- *Release Date - 13 October 2015*
224
-
225
- * Closes a potential XSS vulnerability.
226
-
227
- = 3.1.4 =
228
- *Release Date - 24 September 2015*
229
-
230
- * Fixed a bug that was preventing some users from automatically connecting using Jetpack if they didn't have a current Akismet subscription.
231
- * Fixed a bug that could cause comments caught as spam to be placed in the Pending queue.
232
- * Error messages and instructions have been simplified to be more understandable.
233
- * Link previews are enabled for all links inside comments, not just the author's website link.
234
-
235
- = 3.1.3 =
236
- *Release Date - 6 July 2015*
237
-
238
- * Notify users when their account status changes after previously being successfully set up. This should help any users who are seeing blank Akismet settings screens.
239
-
240
- = 3.1.2 =
241
- *Release Date - 7 June 2015*
242
-
243
- * Reduced the amount of space Akismet uses in the commentmeta table.
244
- * Fixed a bug where some comments with quotes in the author name weren't getting history entries
245
- * Pre-emptive security improvements to ensure that the Akismet plugin can't be used by attackers to compromise a WordPress installation.
246
- * Better UI for the key entry field: allow whitespace to be included at the beginning or end of the key and strip it out automatically when the form is submitted.
247
- * When deactivating the plugin, notify the Akismet API so the site can be marked as inactive.
248
- * Clearer error messages.
249
-
250
- = 3.1.1 =
251
- *Release Date - 17th March, 2015*
252
-
253
- * Improvements to the "Remove comment author URL" JavaScript
254
- * Include the pingback pre-check from the 2.6 branch.
255
-
256
- = 3.1 =
257
- *Release Date - 11th March, 2015*
258
-
259
- * Use HTTPS by default for all requests to Akismet.
260
- * Fix for a situation where Akismet might strip HTML from a comment.
261
-
262
- = 3.0.4 =
263
- *Release Date - 11th December, 2014*
264
-
265
- * Fix to make .htaccess compatible with Apache 2.4.
266
- * Fix to allow removal of https author URLs.
267
- * Fix to avoid stripping part of the author URL when removing and re-adding.
268
- * Removed the "Check for Spam" button from the "Trash" and "Approved" queues, where it would have no effect.
269
- * Allow automatic API key configuration when Jetpack is installed and connected to a WordPress.com account
270
-
271
- = 3.0.3 =
272
- *Release Date - 3rd November, 2014*
273
-
274
- * Fix for sending the wrong data to delete_comment action that could have prevented old spam comments from being deleted.
275
- * Added a filter to disable logging of Akismet debugging information.
276
- * Added a filter for the maximum comment age when deleting old spam comments.
277
- * Added a filter for the number per batch when deleting old spam comments.
278
- * Removed the "Check for Spam" button from the Spam folder.
279
-
280
- = 3.0.2 =
281
- *Release Date - 18th August, 2014*
282
-
283
- * Performance improvements.
284
- * Fixed a bug that could truncate the comment data being sent to Akismet for checking.
285
-
286
- = 3.0.1 =
287
- *Release Date - 9th July, 2014*
288
-
289
- * Removed dependency on PHP's fsockopen function
290
- * Fix spam/ham reports to work when reported outside of the WP dashboard, e.g., from Notifications or the WP app
291
- * Remove jQuery dependency for comment form JavaScript
292
- * Remove unnecessary data from some Akismet comment meta
293
- * Suspended keys will now result in all comments being put in moderation, not spam.
294
-
295
- = 3.0.0 =
296
- *Release Date - 15th April, 2014*
297
-
298
- * Move Akismet to Settings menu
299
- * Drop Akismet Stats menu
300
- * Add stats snapshot to Akismet settings
301
- * Add Akismet subscription details and status to Akismet settings
302
- * Add contextual help for each page
303
- * Improve Akismet setup to use Jetpack to automate plugin setup
304
- * Fix "Check for Spam" to use AJAX to avoid page timing out
305
- * Fix Akismet settings page to be responsive
306
- * Drop legacy code
307
- * Tidy up CSS and Javascript
308
- * Replace the old discard setting with a new "discard pervasive spam" feature.
309
-
310
- = 2.6.0 =
311
- *Release Date - 18th March, 2014*
312
-
313
- * Add ajax paging to the check for spam button to handle large volumes of comments
314
- * Optimize javascript and add localization support
315
- * Fix bug in link to spam comments from right now dashboard widget
316
- * Fix bug with deleting old comments to avoid timeouts dealing with large volumes of comments
317
- * Include X-Pingback-Forwarded-For header in outbound WordPress pingback verifications
318
- * Add pre-check for pingbacks, to stop spam before an outbound verification request is made
319
-
320
- = 2.5.9 =
321
- *Release Date - 1st August, 2013*
322
-
323
- * Update 'Already have a key' link to redirect page rather than depend on javascript
324
- * Fix some non-translatable strings to be translatable
325
- * Update Activation banner in plugins page to redirect user to Akismet config page
326
-
327
- = 2.5.8 =
328
- *Release Date - 20th January, 2013*
329
-
330
- * Simplify the activation process for new users
331
- * Remove the reporter_ip parameter
332
- * Minor preventative security improvements
333
-
334
- = 2.5.7 =
335
- *Release Date - 13th December, 2012*
336
-
337
- * FireFox Stats iframe preview bug
338
- * Fix mshots preview when using https
339
- * Add .htaccess to block direct access to files
340
- * Prevent some PHP notices
341
- * Fix Check For Spam return location when referrer is empty
342
- * Fix Settings links for network admins
343
- * Fix prepare() warnings in WP 3.5
344
-
345
- = 2.5.6 =
346
- *Release Date - 26th April, 2012*
347
-
348
- * Prevent retry scheduling problems on sites where wp_cron is misbehaving
349
- * Preload mshot previews
350
- * Modernize the widget code
351
- * Fix a bug where comments were not held for moderation during an error condition
352
- * Improve the UX and display when comments are temporarily held due to an error
353
- * Make the Check For Spam button force a retry when comments are held due to an error
354
- * Handle errors caused by an invalid key
355
- * Don't retry comments that are too old
356
- * Improve error messages when verifying an API key
357
-
358
- = 2.5.5 =
359
- *Release Date - 11th January, 2012*
360
-
361
- * Add nonce check for comment author URL remove action
362
- * Fix the settings link
363
-
364
- = 2.5.4 =
365
- *Release Date - 5th January, 2012*
366
-
367
- * Limit Akismet CSS and Javascript loading in wp-admin to just the pages that need it
368
- * Added author URL quick removal functionality
369
- * Added mShot preview on Author URL hover
370
- * Added empty index.php to prevent directory listing
371
- * Move wp-admin menu items under Jetpack, if it is installed
372
- * Purge old Akismet comment meta data, default of 15 days
373
-
374
- = 2.5.3 =
375
- *Release Date - 8th Febuary, 2011*
376
-
377
- * Specify the license is GPL v2 or later
378
- * Fix a bug that could result in orphaned commentmeta entries
379
- * Include hotfix for WordPress 3.0.5 filter issue
380
-
381
- = 2.5.2 =
382
- *Release Date - 14th January, 2011*
383
-
384
- * Properly format the comment count for author counts
385
- * Look for super admins on multisite installs when looking up user roles
386
- * Increase the HTTP request timeout
387
- * Removed padding for author approved count
388
- * Fix typo in function name
389
- * Set Akismet stats iframe height to fixed 2500px. Better to have one tall scroll bar than two side by side.
390
-
391
- = 2.5.1 =
392
- *Release Date - 17th December, 2010*
393
-
394
- * Fix a bug that caused the "Auto delete" option to fail to discard comments correctly
395
- * Remove the comment nonce form field from the 'Akismet Configuration' page in favor of using a filter, akismet_comment_nonce
396
- * Fixed padding bug in "author" column of posts screen
397
- * Added margin-top to "cleared by ..." badges on dashboard
398
- * Fix possible error when calling akismet_cron_recheck()
399
- * Fix more PHP warnings
400
- * Clean up XHTML warnings for comment nonce
401
- * Fix for possible condition where scheduled comment re-checks could get stuck
402
- * Clean up the comment meta details after deleting a comment
403
- * Only show the status badge if the comment status has been changed by someone/something other than Akismet
404
- * Show a 'History' link in the row-actions
405
- * Translation fixes
406
- * Reduced font-size on author name
407
- * Moved "flagged by..." notification to top right corner of comment container and removed heavy styling
408
- * Hid "flagged by..." notification while on dashboard
409
-
410
- = 2.5.0 =
411
- *Release Date - 7th December, 2010*
412
-
413
- * Track comment actions under 'Akismet Status' on the edit comment screen
414
- * Fix a few remaining deprecated function calls ( props Mike Glendinning )
415
- * Use HTTPS for the stats IFRAME when wp-admin is using HTTPS
416
- * Use the WordPress HTTP class if available
417
- * Move the admin UI code to a separate file, only loaded when needed
418
- * Add cron retry feature, to replace the old connectivity check
419
- * Display Akismet status badge beside each comment
420
- * Record history for each comment, and display it on the edit page
421
- * Record the complete comment as originally submitted in comment_meta, to use when reporting spam and ham
422
- * Highlight links in comment content
423
- * New option, "Show the number of comments you've approved beside each comment author."
424
- * New option, "Use a nonce on the comment form."
425
-
426
- = 2.4.0 =
427
- *Release Date - 23rd August, 2010*
428
-
429
- * Spell out that the license is GPLv2
430
- * Fix PHP warnings
431
- * Fix WordPress deprecated function calls
432
- * Fire the delete_comment action when deleting comments
433
- * Move code specific for older WP versions to legacy.php
434
- * General code clean up
435
-
436
- = 2.3.0 =
437
- *Release Date - 5th June, 2010*
438
-
439
- * Fix "Are you sure" nonce message on config screen in WPMU
440
- * Fix XHTML compliance issue in sidebar widget
441
- * Change author link; remove some old references to WordPress.com accounts
442
- * Localize the widget title (core ticket #13879)
443
-
444
- = 2.2.9 =
445
- *Release Date - 2nd June, 2010*
446
-
447
- * Eliminate a potential conflict with some plugins that may cause spurious reports
448
-
449
- = 2.2.8 =
450
- *Release Date - 27th May, 2010*
451
-
452
- * Fix bug in initial comment check for ipv6 addresses
453
- * Report comments as ham when they are moved from spam to moderation
454
- * Report comments as ham when clicking undo after spam
455
- * Use transition_comment_status action when available instead of older actions for spam/ham submissions
456
- * Better diagnostic messages when PHP network functions are unavailable
457
- * Better handling of comments by logged-in users
458
-
459
- = 2.2.7 =
460
- *Release Date - 17th December, 2009*
461
-
462
- * Add a new AKISMET_VERSION constant
463
- * Reduce the possibility of over-counting spam when another spam filter plugin is in use
464
- * Disable the connectivity check when the API key is hard-coded for WPMU
465
-
466
- = 2.2.6 =
467
- *Release Date - 20th July, 2009*
468
-
469
- * Fix a global warning introduced in 2.2.5
470
- * Add changelog and additional readme.txt tags
471
- * Fix an array conversion warning in some versions of PHP
472
- * Support a new WPCOM_API_KEY constant for easier use with WordPress MU
473
-
474
- = 2.2.5 =
475
- *Release Date - 13th July, 2009*
476
-
477
- * Include a new Server Connectivity diagnostic check, to detect problems caused by firewalls
478
-
479
- = 2.2.4 =
480
- *Release Date - 3rd June, 2009*
481
-
482
- * Fixed a key problem affecting the stats feature in WordPress MU
483
- * Provide additional blog information in Akismet API calls
1
  === Akismet Anti-Spam ===
2
  Contributors: matt, ryan, andy, mdawaffe, tellyworth, josephscott, lessbloat, eoigal, cfinke, automattic, jgs, procifer, stephdau
3
  Tags: akismet, comments, spam, antispam, anti-spam, anti spam, comment moderation, comment spam, contact form spam, spam comments
4
+ Requires at least: 4.6
5
  Tested up to: 5.4
6
+ Stable tag: 4.1.5
7
  License: GPLv2 or later
8
 
9
  Akismet checks your comments and contact form submissions against our global database of spam to protect you and your site from malicious content.
30
 
31
  == Changelog ==
32
 
33
+ = 4.1.5 =
34
+ *Release Date - 29 April 2020*
35
+
36
+ * Based on user feedback, we have dropped the in-admin notice explaining the availability of the "privacy notice" option in the AKismet settings screen. The option itself is available, but after displaying the notice for the last 2 years, it is now considered a known fact.
37
+ * Updated the "Requires at least" to WP 4.6, based on recommendations from https://wp-info.org/tools/checkplugini18n.php?slug=akismet
38
+ * Moved older changelog entries to a separate file to keep the size of this readme reasonable, also based on recommendations from https://wp-info.org/tools/checkplugini18n.php?slug=akismet
39
+
40
  = 4.1.4 =
41
  *Release Date - 17 March 2020*
42
 
77
  * Hooked into the new "Personal Data Eraser" functionality from WordPress 4.9.6.
78
  * Added functionality to clear outdated alerts from Akismet.com.
79
 
80
+ For older changelog entries, please see the [additional changelog.txt file](https://plugins.svn.wordpress.org/akismet/trunk/changelog.txt) delivered with the plugin.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
views/notice.php CHANGED
@@ -138,10 +138,4 @@
138
  </p>
139
  <?php endif; ?>
140
  </div>
141
- <?php elseif ( $type == 'privacy' ) :?>
142
- <div class="notice notice-warning is-dismissible" id="akismet-privacy-notice-admin-notice">
143
- <p><strong><?php esc_html_e( 'Akismet & Privacy.', 'akismet' );?></strong></p>
144
- <p><?php esc_html_e( 'To help your site with transparency under privacy laws like the GDPR, Akismet can display a notice to your users under your comment forms. This feature is disabled by default, however, you can turn it on below.', 'akismet' ); ?></p>
145
- <p><?php printf( __(' Please <a href="%s">enable</a> or <a href="%s">disable</a> this feature. <a href="%s" id="akismet-privacy-notice-control-notice-info-link" target="_blank">More information</a>.', 'akismet' ), admin_url( apply_filters( 'akismet_comment_form_privacy_notice_url_display', 'options-general.php?page=akismet-key-config&akismet_comment_form_privacy_notice=display' ) ), admin_url( apply_filters( 'akismet_comment_form_privacy_notice_url_hide', 'options-general.php?page=akismet-key-config&akismet_comment_form_privacy_notice=hide' ) ), 'https://akismet.com/privacy/' ); ?></p>
146
- </div>
147
  <?php endif;?>
138
  </p>
139
  <?php endif; ?>
140
  </div>
 
 
 
 
 
 
141
  <?php endif;?>