Clean Options Plugin Release Candidate

The first version of the Clean Options plugin became available in April of 2007. Since then there have been a few bug fixes, a few enhancements, a few version compatibility updates, and couple of minor tweaks.

Two issues still remain that could, and will most likely, be handled differently, but it is believed that the current methods of dealing with them should suffice for the time being.

One relatively rare problem is in dealing with rows in the wp_options table that do not have option_name values. Although it is possible that some plugins or themes create options without a name, it is more likely that they alter the row's values incorrectly at some point in their code. Currently the Clean Options plugin uses the option_name values when first displaying the rows, then, if selected, the row contents, and, if again selected, deletes them. When a row in the wp_options table does not have an option_name value an error message is displayed to alert the user of the problem, but does not provide any further information about them or provide a way to remove them from the table.

TO DO: Find a way to at least display whatever information is available about these rows.

Another more common problem occurs when the wp_options table contains an extreme number of "rss_hash" rows. These rows are entered when RSS feeds are cached. Unfortunately, although WordPress does well at entering them into the table, it does not remove them. As the Clean Options plugin gathers the names of every row to display them, this can cause memory and timeout problems when there are an extreme number of them. Earlier changes added code to increase both the time limit and the memory limit, but the plugin author does not believe that simply "throwing more memory at it" is the best solution. The Clean Options Release Candidate version 1.0.0 deals with this problem by providing a way to "blind delete" them. Whereas deleting option rows that a plugin or theme might require is a very bad idea, deleting the RSS cache rows does not appear to cause any problems other than WordPress needing to reload the RSS feed content and re-add those that the blog is currently displaying back into the wp_options table. In this version, the "blind delete", i.e. "Delete ALL 'rss' Options", is not shown unless the wp_option table contains more than 250 rows total, including both plugin and theme options, and the "rss_hash" options.

TO DO: Find a way to minimize risk of any possible problems that might be caused by the removal of currently active RSS feed rows.
Possible solution 1: Find a way to "batch" the "rss_hash" options into smaller groups to avoid time and memory limit problems while still allowing for a preview of their contents prior to their removal.
Possible solution 2: Find a way to minimize the chance of currently active RSS feed rows from being removed during the "blind delete". That is, instead of deleting ALL "rss_hash" rows, only delete the oldest, and once the number of them is manageable in terms of time and memory usage, allow for the preview and removal of those remaining.

For more information please visit the Clean Options Plugin page.
This post is for comments, suggestions etc. If you need support for the plugin
– please visit the Mittineague Forums (registration required to post).

Comments regarding the following questions are desired and will be greatly appreciated.
1. Do you feel that the simple "blind delete" is a good enough solution to the "rss_hash" problem?
2. Would you prefer to have the plugin "blind delete" only the older "rss_hash" rows?
3. Or would you prefer to "batch" the rows into smaller groups and preview the contents prior to their removal?

Technorati Tags: , ,

44 Comments

  1. Posted January 27, 2009 at 9:16 pm | Permalink

    I have made quite a few changes to the Clean Options release candidate

    1.1.0 RC 27-Jan-2009

    * limit 'delete all' rss delete to < 100 highest id * added rss_hash limited find * fixed and updated the $known_ok array - improved robustness - * fixed searchdir() return type initialization - * set explicit return type in $wpdb->get_results queries
    – * ini_get('safe_mode') fixes
    * changed found rss_hash options section
    * added javascript select/deselect all
    * various other minor tweaks

  2. Posted February 21, 2009 at 8:12 pm | Permalink

    Changes made to handle query failures

    1.1.1 21-Feb-2009

    * query syntax change
    * query error catching added
    * error scope changes

  3. Posted February 26, 2009 at 12:34 am | Permalink

    One of the plugin's users has been having problems with the plugin getting the "rss_hash" options. So I have added code that will show any WordPress Database error messages in the hopes it will be helpful.

    See Clean Options warning message

    I was concerned that the plugin's CSS styles might be a bit too "general" so I made the selectors more plugin specific.

    Lastly, for better accessibility and usability, I have added label tags to increase the selectable option's "click area".

    1.1.2 25-Feb-2009

    * added show_errors to DB objects
    * friendlier CSS selectors
    * added label tags

  4. Posted March 7, 2009 at 3:24 am | Permalink

    Some important changes.

    Anytime a database or filesystem error occurs during use of the plugin, anytime an option is found with no name, and anytime a plugin uses "alternate syntax", a Warning message will be shown to bring it to attention.

    Because some plugin users have experienced problems related to memory limitations, the database queries have been optimized and the "limited Find" feature has been expanded to allow for fine tuning the query.

    1.1.3 07-Mar-2009

    * added error message info
    * added find non-string option names
    * changed the way limit_query works
    * optimized database queries
    * refined 'yes' regex
    * more minor tweaks yet again

  5. Posted March 8, 2009 at 7:30 pm | Permalink

    Hot on the heels of version 1.1.3 comes version 1.1.4 thanks to some prompt and helpful feedback. Perhaps the most notable change is the show/hide Alternate Syntax Warning feature.

    1.1.4 08-Mar-2009

    * added link to options.php page
    * some regex refinement
    * added "known Core" wording
    * removed %s from yes in queries
    * added category_children as known core
    * added show/hide AS warnings

  6. Posted March 9, 2009 at 5:49 am | Permalink

    !! Important Bug Fix !!
    If you have used this plugin's "delete all" feature in an earlier version, it is possible that you may be missing some Core WordPress Options. i.e.
    'rss_excerpt_length'
    'rss_use_excerpt'
    'rss_language'
    Upgrading to Clean Options version 1.1.5 will restore these options to their default install values if they are missing.
    My apologies to any that this Bug may have inconvenienced.

    1.1.5 09-Mar-2009

    * "delete all" Bug Fix

  7. Posted March 18, 2009 at 2:32 pm | Permalink

    In Clean Options version 1.1.6 I have reduced possible Warning message clutter by grouping individual messages under their common type. For example, instead of displaying the warnings like

    File System Error
    whatever_file.php whatever
    File System Error
    another_file.php whatever
    File System Error
    and_another.php whatever

    they now display like

    File System Error
    whatever_file.php whatever
    another_file.php whatever
    and_another.php whatever

    I don't know how many hosts have older versions of MySQL, but if one plugin user does possibly others do too. The recently optimized database query will now "fall back" to older query syntax for those with older versions of MySQL.

    And thanks to a suggestion by Bruce of bioneural.net, I have also added "Google it" links for options that appear in the orphaned options list to help with identifying where they came from.

    1.1.6 18-Mar-2009

    * reduced # of dt in warnings
    * searchdir tweak
    * added support for MySQL < 4.1 * $rss_ts_arr sort tweak * added option_name Google search links

  8. tcd
    Posted March 22, 2009 at 5:23 am | Permalink

    If I've understood correctly, your plugin searches in all the folders within the wordpress folder, right?
    However, I have wp installed straight inside the root folder, which contains also other folders that aren't directly related to WP like the gallery2 installation, for example. Could you please put in the options a chance to exclude such folders from the plugin search?

  9. Posted March 22, 2009 at 1:24 pm | Permalink

    Good point. My own installation only has a few "non-WordPress" folders residing in the blog's top level directory so searching through those folder's PHP files has not been a problem for me. But it certainly would make more efficient use of resources to only go through the Core WordPress folders and files.

    I am currently working on a few enhancements to the plugin, and I will add some modification to address this.

    Thanks for the heads-up.

  10. Posted March 24, 2009 at 1:26 am | Permalink

    Because the known WordPress core options that the Clean Options plugin finds can not be selected for review and removal, starting with version 1.1.7, they are by default not displayed.

    Thanks to another good suggestion, a Search of files under the wp-content folder has been added. This will work with up to 3 strings. This will find plugins that add_option('entire_string'), update_option('entire_string'), etc. even though they do not have a get_option{'entire_string'). And the 2 and 3 string Search will help locate files that contain both 'prefix' and 'rest_of_string', or 'part_of_string' and 'another_part_of_string' and 'another_part_of_string'.

    As tcd commented, some blogs contain non-WordPress folders under their main install folder. As it is inefficient to needlessly search them for WordPress options, the file search has been modified to only search WordPress folders and files.

    1.1.7 24-Mar-2009

    * added show/hide Known Core
    * added Search feature
    * exclude non WP folders in searchdir()
    * tweaked nonce calls
    * changed fopen to is_readable
    * changed fread to file_get_contents

  11. Posted March 24, 2009 at 3:28 am | Permalink

    First of all: Thank you for that very useful plugin!

    For some strange reason I am not able to take all the hurdles required for the forum registration (I gave up after the third attempt) I'll post my problem with the current verion here.

    After activating 1.1.7 under WordPress 2.3.3 and clicking "Find Orphaned Options" I get a somewhat garbled sceen and the dialogue (translated from German) "Are you sure you want to do this? Yes/No" without any indication on what's happening (of course I didn't click the button).

    What's wrong and how can I fix it?

    Thank you!

    Gunther

  12. Posted March 24, 2009 at 1:05 pm | Permalink

    Sorry about the forum's registration process. It started out easy but as SPAM bots kept getting through I kept adding more and more steps. It's been over 2 years since one got through but even now they still keep trying. My hope was that eventually they would give up and I could make it easier for real humans, but as my tolerance for dealing with SPAM is still low, it's still more difficult for real people than it should need to be.

    I'm not sure what you mean by "garbled", it may be that the file was corrupted during upload/install. Did you already remove it and try again?

    The "are you sure" message is due to the nonce. Using nonces is an important security precaution to help prevent outside POST requests from getting at things. I don't have any problems with it on my blog, so it may be that your plugin file was corrupted and that's why the nonce check failed. Or it may be something else. I'll look more into how nonces work regarding exactly what they check for (I know one thing is a time limit) and post back.

  13. Posted March 25, 2009 at 1:08 am | Permalink

    I have tried to use the plugin a few times but the results were always the same – after cklicking "Find …" I was presented the dialog shown at http://www.stdk.de/temp/clean-options-problem.png. The fact that this WordPress logo is shown here puzzles me; I don't see it anywhere else on my blog in that form.

    But maybe there is a conflict with another plugin; I'll try to look at that closer in the next days.

    Thank you for your effort!

  14. Posted March 25, 2009 at 1:43 pm | Permalink

    I looked at the functions involved with nonces and didn't see anything obvious that could be causing a problem. I don't think it's related to the version of WordPress, as I used the nonces before 2.3 without trouble. So it very well could be a conflict with another plugin.

    The link you posted gives me a 403 forbidden, but I imagine what you're seeing is the "nonce fail" screen. That is, WordPress thinks the HTTP request may be an attack attempt.

    As you can install and activate the plugin successfully, and the first page loads OK, if you look at view-source do you see something like ( indicates code is part of the previous line)

    <input type="hidden" id="_mitt_co_fo"
    .. .. ..↳ name="_mitt_co_fo" value="[10 hex chars]" />
    <input type="hidden" name="_wp_http_referer"
    .. .. ..↳ value="/[install folder]/wp-admin/tools.php?page=cleanoptions.php" />

  15. Posted March 25, 2009 at 11:31 pm | Permalink

    Thank you for your reply.

    Sorry for the trouble with the link. It works for me so I maybe it was a temporarily problem.

    I have looked at the source but the only line with "_mitt_co_fo" reads

  16. Posted March 25, 2009 at 11:33 pm | Permalink

    Oops – the code snippet didn't get through. I'll try to describe it: I found the line you have mentioned but it didn't contain the "id=".

  17. Posted March 26, 2009 at 12:58 pm | Permalink

    The link still gives me the 403 forbidden
    "Hier gibt es leider nichts zu sehen."

    If the input doesn't have the id, the core nonce functions mave have changed between versions 2.3 and 2.7

    I only recently added the name argument to the plugin's nonce calls, as letting WordPress use the default value was resulting in multiple occurences of inputs having the same non-unique id value (not valid and possibly buggy).

    I'll take a look at some older versions of WordPress and see if there's a fix so it will still be compatible with older versions and not require an upgrade (which IMHO you should probably consider doing anyway for security reasons).

  18. Posted March 26, 2009 at 10:24 pm | Permalink

    For some reason in WordPress 2.3, although the wp_nonce_field function accepts a name argument, the check_admin_referer function only looks for a name with the default value of "_wpnonce". This is fixed in WordPress version 2.5+ but I have added some code to make the plugin compatible with older versions.

    1.1.8 27-Mar-2009

    * nonce compatibility with WordPress < 2.5 * minor tweak

  19. Posted March 27, 2009 at 12:06 am | Permalink

    Thank you very much for your effort.

    It works better but at the end of the page with the orphaned options I get the error

    Fatal error: Call to undefined method wpdb::db_version() in […]/clean-options/cleanoptions.php on line 808

    instead of the button.

    But I don't want to cause any more trouble; I'll consider an upgrade.

  20. Posted March 27, 2009 at 2:01 am | Permalink

    :d'oh: $wpdb->db_version started in WordPress version 2.5 and I should have caught that when I added it to make the plugin compatible with MySQL < 4.1 Without that part working, you won't be able to delete rows containing old cached RSS feeds. But it's no problem making the plugin backwards compatible, it's alreadty done :) The query won't be as optimized, but if you work with smaller batches you should be OK

    1.1.9 27-Mar-2009
    * $wpdb compatibility with WordPress < 2.5

  21. Posted March 27, 2009 at 10:15 am | Permalink

    Thank you very, very much for your effort! As soon as I'm home I'll install and try the new version.

    Regarding the 403 error: I am sorry for the trouble with that. I have renamed it to http://www.stdk.de/temp/cop.png and now it works (albeit it is too late now). I'm puzzled.

  22. Posted March 27, 2009 at 1:39 pm | Permalink

    I just tried that link and got another 403. So instead of using Firefox I tried it in Opera and IE and both show an image with

    Bist du sicher, dass du das tun mochtest?

    Which according to the translator is
    (Yahoo)
    Are you sure that you might have done that?
    (Google)
    Are you sure you want to do?

    So anyway, yes, that is the nonce fail screen, which hopefully won't be a problem for you any more with Clean Options version 1.1.9

    As for the 403, I don't know why Firefox won't work for me. Your site loads OK so it may be something about the temp folder and Firefox's user agent string.

  23. Posted March 28, 2009 at 8:16 am | Permalink

    Again, thank you very much and please excuse the trouble with the screenshots.

    I have just installed version 1.1.9 and it works perfect!

  24. Posted June 1, 2009 at 9:00 pm | Permalink

    hi. I can clean up wp_postmeta. ((from Blogger import) )example;

    INSERT INTO `wp_postmeta` VALUES(2937, 981, 'blogger_permalink', '/2007/10/kark-de');

  25. Posted June 1, 2009 at 9:04 pm | Permalink

    I do not know. How can I clean them? (wp_postmeta)please, help me

  26. Posted June 2, 2009 at 4:19 pm | Permalink

    Hi baron,

    The Clean Options plugin cleans the wp_options table, not the wp_postmeta table.

    I'm not so sure you should clean the postmeta table. It contains data such as _edit_last, _edit_lock, and Custom Fields, which if removed may break your blog.

    The table's fields are
    * meta_id: A unique id for each entry
    * post_id: The ID of the post for this metadata
    * meta_key: The name of the 'key'
    * meta_value: The value associated with the key

    If you wish to go against my advice, which is to leave the postmeta table alone, you could try something like phpMyAdmin. As I do not have the experience or time to study the possible effects of deleting rows from the postmeta table, you should try to get advice from others more knowledgeable before you do so.

  27. Posted June 4, 2009 at 9:57 am | Permalink

    i think try phpMyAdmin. Thanks..

  28. Posted June 21, 2009 at 3:48 pm | Permalink

    Hi! When I was running my blog with WP 2.7.1, I sometimes used to manually delete all the useless “rss_hash” rows from the wp_options table using phpMyAdmin. This caused the Clean Options plugin to report a database error until the next time I refreshed the dashboard page with the standard feeds.

    Now today I realized that all of the ten rss_hash rows were ten days old (which seemed to be the time when I updated my blog to WP 2.8). Like I did several times before, I manually deleted these rows in the wp_optiosn table…

    I was prepared to get the "database error":

    WARNING !!
    Database Error
    SELECT ts_opts.option_name , ts_opts.option_value FROM ( SELECT option_name , option_value FROM wp_options WHERE autoload NOT LIKE 'yes' AND option_name LIKE 'rss\_%\_ts' ) AS ts_opts UNION ALL SELECT non_ts_rss_opts.option_name , NULL FROM ( SELECT option_name FROM wp_options WHERE autoload NOT LIKE 'yes' AND option_name LIKE 'rss\_%' AND option_name NOT LIKE 'rss\_%\_ts' ) AS non_ts_rss_opts (the "rss_" Options query) did not return an array

    But,unlike before, Clean Options continues to alert me with this error message since WP does NOT write new “rss_hash” rows. The dashoard page, however, works fine and shows all of the usual feeds.

    It seems to me that the WordPress programmers changed the way of handling those feeds, making the entries in the wp_options table obsolete. My blog works fine, but of course I'm still a little bit worried about the "red alert" announced by your plugin. Could you please verify that looking for those “rss_hash” rows entries is no longer necessary at all? Then there would be no need anymore to report a "database error" when these entries are missing…

    Thanks and keep up the good work!

    Yours,
    Ralph

  29. Posted June 22, 2009 at 12:46 am | Permalink

    Hi Ralph,

    Yes, the core files did change. Cached RSS feeds now seem to be prepended with "_transient_feed_" and "_transient_timeout_feed_" instead of "rss_".

    So the plugin's Warning Message explanation
    "….. This error message may be the result of fact. i.e. There actually are no wp_option rows with autoload=yes (next to impossible) ….."
    is now wrong in that with WordPress version 2.8 it is no longer next to impossible, but increasingly more likely that there will truly be no "rss_" rows.

    I will have to work out some way to allow for removal of obsolete "rss_" rows when they exist, yet not error when they don't exist. Most likely it will require checking for the version of WordPress, and if 2.8 handle things differently.

    Although this means a bit of work for me, I'm hopeful that the problem of outdated "rss_" rows cluttering up the wp_options table will soon be a thing of the past.

    I did make some modifications to get the plugin compatible with WordPress 2.8 and didn't want to wait until I was certain about the "transient" bit to release the current version because I was concerned that some may mistakingly delete some of the new core options.

    1.2.0 19-Jun-2009

    * Internationalization
    * updated the $known_ ok array (for WordPress 2.8)
    * changed admin CSS hook
    * plugin page Settings link
    * option count in admin menu
    * minor tweaks

  30. Posted June 22, 2009 at 1:05 am | Permalink

    Thanks for the quick reply! Yes, I realized already that there are many "_transient_feed_" and "_transient_timeout_feed_" rows now, but I didn't draw the (obvious) conclusion myself that these are the "replacements" of the "rss_" rows of previous WordPress versions.

    I'm happy to see that I mustn't take the "database error" warning of your plugin too seriously! That makes me feel much more comfortable with my precious blog… 😉

    Thanks again for doing that cumbersome work which should have been done by the WordPress programmers in the first place!

    Greetings from across the Atlantic,
    Ralph

  31. Riccardo
    Posted June 23, 2009 at 4:17 am | Permalink

    Great plugin mate. How about adding a function to remove orphaned/unused tags?

  32. Posted June 24, 2009 at 6:23 pm | Permalink

    Hi Riccardo,

    Tags are not kept in the wp_options table. Writing code to allow Clean Options to delets unused tags would most likey amount to writing so much code that it would end up being like a plugin in a plugin.

    And I'm not sure deleting tags requires a plugin. If you log in and go to Posts -> Post Tags, you will see a paginated table of tags with the number of posts they're associated with under the Posts column. I don't have any "0" tags so I haven't tried it, but my guess is that if you delete a tag from there, it will handle the job well.

  33. Riccardo
    Posted July 2, 2009 at 9:29 am | Permalink

    Hi there, the trouble is I have thousands tags with 0 count! It looks like there's no simple way to achieve this!

  34. Posted July 10, 2009 at 4:24 am | Permalink

    Love this plugin. Use it on all my wordpress.org blogs. I am glad to know I can delete the _transient_feed lines … I was looking to compact my databases before I backed them up and used to delete the RSS lines, but I was a bit worried when I just checked and didn't see what I was used to! Thanks.

  35. Posted August 15, 2009 at 9:34 pm | Permalink

    Clean Options version 1.2.1 has quite a few changes. Some Core options that were missed in version 1.2.0 have been added to the "known core" array so that they won't be accidently removed. Thankfully, the SimplePie "transient" options seem to take care of themselves and do not clutter the database with obsolete feed data like Magpie did. Because of this, bloggers that are using WordPress version 2.8+ can now remove all of the "rss" options.

    As not all blogs have the default content and plugin folder arrangement, the Clean Options plugin now works for those non-default blogs.

    Even though the plugin has been using nonces, it now also has a capability check for even more security.

    The first of the translations, in ru_RU Russian, has been completed and is included in this version.

    1.2.1 14-Aug-2009

    * added more "transient"s
    * allow 2.8+ blogs to remove all obsolete rss_hash rows
    * allow for non-default folder locations/names
    * improved unpaired rss block
    * capability check for added security
    * eliminate 2.8+ false warnings
    * ru_RU translation
    * minor tweaks
    * changed Version History to Changelog in readme

  36. Posted August 27, 2009 at 8:28 pm | Permalink

    This release does not contain any code changes, but includes language files for Spanish, Russian and Ukrainian.

    1.2.2 27-Aug-2009

    * es_ES Spanish translation
    * corrected ru_RU Russian translation
    * uk_UA Ukrainian translation

  37. Posted September 10, 2009 at 7:24 pm | Permalink

    Despite the security hole with versions of WordPress < 2.8.4, some users still run older versions. So I have added a fix for those with WordPress < 2.7 But I have also removed a feature that is only available with WordPress < 2.3, that being the option description in the "pre-delete review" screen. This version also has a Belarusian translation. 1.2.3 10-Sep-2009 * removed WordPress < ver. 2.3 feature * WordPress < ver. 2.7 fix * be_BY Belarusian translation

  38. Posted September 28, 2009 at 3:01 am | Permalink

    I think it's better to move CleanOptions link under Settings tab.

  39. Posted January 16, 2010 at 6:00 pm | Permalink

    With WordPress version 2.9 comes some major relief for this plugin. WordPress removes the troublesome "rss_hash" options! Woot!

    Also included are 3 new translations:
    Brazilian Portuguese
    Simplified Chinese
    Croation (Hrvatski)

    1.3.0 16-Jan-2010

    * updated the $known_ok array (for WordPress 2.9)
    * optimized for WordPress 2.9
    * replaced deprecated user_role
    * pt_BR Portuguese translation
    * zh_CN Chinese translation
    * hr_HR Croation translation

  40. Posted March 28, 2010 at 12:19 am | Permalink

    This version release contains some improvements and another translation or two. For those that are using the current version of WordPress (and we all really should be IMHO) the plugin allows for the removal of obsolete core options.
    In the option pre-delete preview panel, timestamps are now also shown in human readable time format to aid those that can't easily understand timestamp values (and who can?).
    The string search feature now also searches WordPress core files.
    The regular expressions have been improved to better find legitimate options.
    And there is a Serbian (Cyrillic) translation in the main languages folder as well as a Serbian (Latinica) translation in the languages/extra folder for those that may prefer that instead.

    1.3.1 27-Mar-2010
    * allow 2.9.1 blogs to remove 2.8 transient options
    * added timestamp to blog date/time format in review
    * updated $known_ok array
    * get_all_yes_autoload_options() optimization
    * expanded string search to core files
    * added 'site' to regex pattern
    * added get_transient regex
    * sr_RS Serbian Cyrillic translation
    * sr_RS Serbian Latinica translation
    * minor typo fixes
    * updated older translation files

  41. Posted April 10, 2010 at 10:30 pm | Permalink

    I have installed this but nothing appears to work??

    "The Options table currently has 16777 found rows."

    I clicked on the button below that and nothing but "Clean Options" and times out in seconds.

    Any suggestions?

  42. Posted April 10, 2010 at 10:31 pm | Permalink

    All I get is "Clean Options"

    I have "The Options table currently has 16781 found rows."

    Plugin Doesnt appear to be working

    Suggestions??

  43. Posted April 14, 2010 at 12:12 am | Permalink

    Hi Graham,

    I'm sorry to hear you're having problems with it. I'll be happy to help you trouble shoot your problem.

    This post is meant for comments and suggestions, not support which can get lengthy at times. Please either add to this Forum thread Clean Options Plugin or start a new thread in the Mittineague Forum's WordPress forum.

    Thanks.

  44. Posted June 26, 2010 at 9:45 pm | Permalink

    WordPress version 3.0 has some significant changes from earlier versions.

    Clean Options version 1.3.2 should work with WordPress 3.0 with the exception that if MULTISITES is enabled, the plugin will only find options found in the primary blog's wp_options table.

    Clean Options version 1.3.2 is the last planned version release for older WordPress versions. No new features or translations will be added.

    It is highly recommended that you keep your blog up to date. If for some reason you can not upgrade and are running a WordPress version older than 3.0, you can still find support for Clean Options 1.3.2 at the Mittineague Forums (registration required to post)

    Clean Options 2.0.0 is currently being developed. It will not be fully compatible with older versions of WordPress, but it will be compatible with WordPress 3.0, including finding options if MULTISITES is enabled. However, portions of the i18n l10n files will not have translations for any of the new text – unless and until they are provided.

    In short:
    If you are running WordPress less than 3.0, use Clean Options 1.3.2
    If you are running WordPress 3.0 or greater, please use Clean Options 2.0.0 as soon as it is available.

    * 1.3.2 26-Jun-2010
    * – updated the $known_ok array (for WordPress 3.0)
    * – de_DE German translation
    * – nl_NL Dutch translation