Released: FeedWordPress 2012.1218. WordPress 3.5 compatibility, PHP 5.4 compatibility, bug fixes, diagnostics improvements, and a great deal more.

It’s been a long time, much too long, since my last official release announcement. But I’m happy to announce that today I have released FeedWordPress v. 2012.1218, now available for download from the WordPress Plugins Repository or from Github.

This announcement is actually doing double duty as an announcement for two releases. The first release, FeedWordPress version 2012.1212, which came out last Wednesday, was an important compatibility release to ensure compatibility with WordPress 3.5 and PHP 5.4; as well as a roll-up of the many changes and improvements in FeedWordPress, which have been documented here, but which never got into the WordPress plugins repository since the previous official public release in 2011. Today’s release, FeedWordPress 2012.1218, is an incremental update improving on 2012.1212 by rolling in some bug fixes in response to issues reported by users after the 2012.1212 upgrade.

There are many more changes in the big release than I’ll try to document here, but we can hit up some of the highlights:

FeedWordPress 2012.1212 changes

  • WORDPRESS 3.5 COMPATIBILITY: This release has been tested for compatibility with new releases of WordPress, up to version 3.5, and any documented compatibility issues have been cleared — in particular, if you were seeing error pages stating that you don’t have permission to access the FeedWordPress Syndication page within the WordPress admin interface, then upgrading to this release should fix the problem.

    As always, if you encounter any compatibility problems after upgrading your version of WordPress and your version of FeedWordPress to the most recent versions, please contact me with as detailed a description as possible of the issue you are encountering, the circumstances you’re encountering it under, what you expect to see happening, and what is happening instead.

  • PHP 5.4 COMPATIBILITY: This release has been audited to fix potential problems with deprecation notices or fatal errors under recent versions of PHP. In particular, all uses of run-time pass-by-reference have been eliminated from the code; if you were seeing a fatal error reading “Call-time pass-by-reference has been removed …” then upgrading to this release should fix the problem.

  • CUSTOMIZATION FRAMEWORK: A great deal of work has been done to make the underlying framework more flexible, so that PHP add-ons can be written to adapt FeedWordPress to handle custom XML vocabularies, expiration of posts under specified conditions, and other custom behavior.

  • BUGFIX: MANUALLY EDITED POST SLUGS NOT OVERWRITTEN. Thanks to a report by Chris Fritz, I’ve identified some code that causes post slugs for the posts generated by FWP to be rewritten with every update, even if the user has manually updated the slug from within the WordPress editing interface. This has been fixed: FWP will continue to generate new slugs for syndicated posts, but when syndicated posts are updated, they will retain the slug that they had at the time of the update; any manual changes to the post slug should be preserved.

  • USER-AGENT STRING: FeedWordPress now sends a distinctive User-Agent string identifying itself, and noting that it is a feed aggregator.

  • MISCELLANEOUS PERFORMANCE IMPROVEMENTS: A number of changes have been made to try to reduce the intensity and expense in terms of both database performance and web server memory consumption.

  • DIAGNOSTICS IMPROVEMENTS: A number of new and improved diagnostics have been added which should aid in understanding and troubleshooting issues that may arise.

Here are the specific incremental changes and bugfixes made in today’s release, 2012.1218.

FeedWordPress 2012.1218 changes

  • WORDPRESS VISUAL EDITOR FIXED. There was an unlisted change in the 2012.1212 release which had the effect of disabling the WordPress Visual Editor for all posts syndicated by FeedWordPress. Many users reported this as a bug. It was actually a deliberate decision — a crappy way to try to deal with a crappy situation. (Many users had previously reported a “bug” in which all the paragraph or line breaks seemed to be stripped out of their syndicated posts; the issue turned out to be that the Visual Editor was stripping out

    and <br/> tags on the assumption that the resulting post would be sent through standard WordPress formatting filters. But under default settings, posts syndicated by FWP deliberately bypass WordPress formatting filters.) In any case, this version adopts a more flexible compromise. If FeedWordPress is set up to bypass WordPress formatting filters (as it is by default), then the Visual Editor will be disabled for syndicated posts (since using it would produce incorrect results). If on the other hand FeedWordPress is set up to expose syndicated posts to WordPress formatting filters (as it usually is for those using the Visual Editor to manually edit posts), then the Visual Editor tab will be re-enabled for syndicated posts.

  • BUG FIX: PERMALINKS REWRITTEN FOR CUSTOM POST TYPES AS WELL AS NORMAL WORDPRESS POSTS. If you had WordPress set up to syndicate incoming posts to a custom post type (under Syndication > Posts & Links), and asked FeedWordPress to make “permalinks point to the original site”, then previous versions of FeedWordPress would fail to do the rewriting — permalinks would only be rewritten to point to the original source for normal WordPress posts, not for custom post types. In 2012.1218 this bug has been fixed: all post types will now have permalinks rewritten unless you request for permalinks to point to the local copy on your aggregator site.

  • BUG FIX: ELIMINATES “PHP Fatal error: Call to a member function setting() on a non-object….” Some changes to the in-memory caching of information about feed subscriptions in 2012.1212 could result in a fatal PHP error in cases where you have de-activated one of your subscriptions, but posts from that subscription were still in the archive. This would normally show up through half-completed feeds or half-completed pages that suddenly broke off in the middle, and displayed or logged an error message like: “PHP Fatal error: Call to a member function setting() on a non-object in {…}/wp-content/plugins/feedwordpress/feedwordpress.php on line 615”. This bug has been eliminated, so affected feeds and pages should now render correctly, and the error message should no longer appear.

  • BUG FIX: CATEGORY BOXES IN SYNDICATION > CATEGORIES & TAGS. Some minor bugs in the appearance and animation of category checkboxes (for example, the checkbox used to select categories for syndicated posts on the Syndication > Categories & Tags settings page) have been fixed.

As always…

If you notice any problems, have any questions, need any help, or just want to say “Hi,” don’t hesitate to drop me a line via e-mail or through the comment form. If you have a specific problem that you need help with, please try to describe the circumstances and the problem you are seeing in as much detail as possible — what you expected to happen, what you see happening instead, what you are doing (if anything) when the error comes up. If the problem has to do with one or more particular feeds, it helps a lot to include the URL(s) of the feed or feeds that you’re seeing the problem with. If the problem has to do with an error message appearing that you do not understand, a screenshot of the error message would help a lot.

Now get on out there and check out the new release! Download and enjoy!

FWP+ / Add-ons: At GitHub, radgeek pushed to master at radgeek/FWP—Add-Attribution

Recent code updates from Rad Geek at github.com:

Check out the details at GitHub.com ...

FWP+ / Add-ons: At GitHub, radgeek created repository FWP—Add-Attribution

Recent code updates from Rad Geek at github.com:

radgeek created repository FWP---Add-Attribution
An add-on for FeedWordPress, which provides a convenient interface for adding boilerplate text to syndicated posts without editing your WordPress theme.

Check out the details at GitHub.com ...

FeedWordPress 2011.1019. HTTP Authentication support improved, bug causing HTTP transport error for some users squashed

Today I put out an incremental release, FeedWordPress v. 2011.1019, which is now available for download.

This release was intended mainly to provide a quick fix for a problem that some users encountered after installing yesterday’s release, 2011.1018. Users whose web hosting environments have the curl module for PHP installed got an important new feature — the ability to set usernames and passwords on feeds to use with HTTP Basic or HTTP Digest authentication. Users who didn’t have the curl module unfortunately got a bug, which caused error messages like “WP HTTP Error: There are no HTTP transports available which can complete the requested request.” to pop up. If you’ve been seeing an error message like that, this release should hopefully fix your problem.

While I had my hands in the code, I went ahead and did some general work to improve the interface and better generalize the HTTP authentication feature for users who do not have the curl module installed. (Most web hosts install it, but not all.) You should hopefully now find the process of adding an authenticated feed much more natural: just put the URL into the Subscribe box and tell FeedWordPress to check it out; when FWP detects that the feed requests login credentials, it will come back and suggest that you enter a username and password before subscribing. When you enter the credentials and re-check the feed, FeedWordPress will allow you to subscribe and immediately set up those credentials for future feed updates. I hope it should all be fairly straightforward, but if you have any questions, don’t hesitate to ask.

Here’s the official changelog for this release:

  • BUGFIX: “THERE ARE NO HTTP TRANSPORTS AVAILABLE” ERROR FIXED: The initial
    support for HTTP Basic and Digest authentication in version 2011.1018
    contained a bug that could cause HTTP requests for feeds or for other
    WordPress resources to break down if you do not have the PHP curl module
    installed. This bug has been fixed, and these errors should no longer
    appear.

  • IMPROVED HTTP AUTHENTICATION SUPPORT: In addition, the HTTP Authentication
    support in FeedWordPress has been extended, to ensure that Basic
    authentication is available in many web host configurations, and to allow
    you to add a username and password for a feed immediately when you
    subscribe to it.

As always, if you notice any problems, have any questions, need any help, or just want to say “Hi,” don’t hesitate to drop me a line via e-mail or through the comment form.

Please remember that your ongoing gifts to the project tip jar, besides being immensely kind, and very much appreciated, are also what make it possible for me to take out the time for ongoing development, timely fixes, and support for the FeedWordPress project.

Now get on out there and check out the new release.

FeedWordPress 2011.0706: WordPress 3.2 compatibility, better performance

FeedWordPress version 2011.0706 is now available for download..

This release has two major functions: first, to provide compatibility with the most recent release of WordPress, WordPress 3.2. If you encountered a fatal error like this:

 Call to undefined method WP_SimplePie_File::WP_SimplePie_File()
 in [1]/wp-content/plugins/feedwordpress/feedwordpress.php
 on line 1841.

… then this release should eliminate that problem.

Second, to provide some significant performance improvements, mainly in the SQL queries used to determine whether incoming syndicated posts have been previously syndicated, or whether they represent new content. If you’ve been having CPU, memory or other database-related problems with the most recent couple releases of FeedWordPress, this update may offer some relief.

In addition, this release provides some important bugfixes related to sticky posts and duplicate post issues.

Here are the major changes since Version 2011.0602:

  • WP 3.2 COMPATIBILITY: ELIMINATES FATAL ERROR “Call to undefined method
    WPSimplePieFile::WPSimplePieFile() in
    [2]/wp-content/plugins/feedwordpress/feedwordpress.php on line 1841.” The
    latest release of WordPress, version 3.2, has shifted the minimum
    requirements up to PHP 5.2, and in line with the shift to PHP5 they have
    rewritten a number of code segments that made use of now-obsolete PHP4
    idioms. Unfortunately, this caused a fatal error whenever FeedWordPress
    attempted to make use of the cache, since FWP’s caching plugin was written
    to match the older idiom. FeedWordPress has been updated to follow the new,
    PHP5 idiom when possible, thus eliminating the fatal error.

  • PERFORMANCE: The handling of queries to determine whether posts had been
    previously syndicated produced some very slow queries (usually, but not
    always, involving a scan over the MD5(postguid) column of the table). The
    code that prepares MySQL queries for previously-syndicated checks has been
    revised to eliminate the MD5(post
    guid) scan entirely, and to significantly
    improve performance by eliminating other unnecessary clauses.

  • BUGFIX: NO LONGER DESTROYS STICKY POSTS. Previous versions could destroy
    (or, more precisely, replace the content of) sticky posts due to some
    queries mashed together in unexpected ways by WordPress. Version 2011.0706
    accounts for and eliminates the problem; your sticky posts should be safe
    once again.

  • BUGFIX: GUIDS CONTAINING MYSQL-ESCAPED CHARACTERS NO LONGER CAUSE DUPLICATE
    POSTS TO APPEAR.
    One remaining source of duplicate post issues in 2011.0602
    was guids that contained characters that needed to be escaped for MySQL,
    such as single quotes and double quotes. The work-around for handling
    filtered URIs has now been corrected to ensure that these do not cause
    duplicate posts.

If, after making this upgrade, you experience (or continue to experience) any serious issues with WP 3.1.3-3.1.4 or with WP 3.2, please contact me with as detailed as possible a description of what you’re seeing. It will help out a lot if you can include the following diagnostic information. (If you don’t include it, you’ll probably just get an e-mail back from me asking you to provide it.)

  1. The versions of WordPress and FeedWordPress you’re currently using.

  2. The specific URL(s) of the feed or feeds where you are encountering the problem;

  3. An indication of whether you are seeing the problem on all your feeds, or seeing it on some feeds but not on others; and whether you are seeing it on all posts from the affected feeds, or just seeing it on some posts but not on others;

  4. The update method that you are using (automatic updates before page load, after page load, manual updates from within the WordPress interface, a cron job…); and

  5. Any FeedWordPress-related add-ons you may be using, if any, or any significant special settings you may have set under Syndication –> Posts & Links (for example, whether you have set syndicated posts to come in as Drafts or hold them as Pending, rather than publishing immediately; whether you are making any use of Custom Post Types under the Advanced settings; etc.).

Please remember that your ongoing gifts to the project tip jar, besides being immensely kind, and very much appreciated, and an ongoing source of real satisfaction for which I am deeply greatful, are also what make it possible for me to take out the time for ongoing development, timely fixes, and support for the FeedWordPress project.

Now get on out there and check out the new release.

FeedWordPress 2011.0602: More compatibility fixes, fewer duplicated posts

FeedWordPress 2011.0602 is now available for download.. This is a follow-up to Tuesday’s release; it fixes a couple of bugs, and covers a couple of important new edge cases, related to the identification of previously syndicated posts. If you continued to get duplicate posts even after upgrading to 2011.0531, or if you were seeing posts oddly reassigned or copied with a different post status (for example, posts unexpectedly being restored from the trash can, or unexpectedly reappearing as Drafts), then this release may help get rid of these problems.

Here are the major changes since Version 2011.0531:

  • WP 3.1.3 COMPAT / BUGFIX: WHITESPACE IN GUIDS NO LONGER PRODUCES DUPLICATE POSTS. The work-around for handling filtered URIs in guid elements has now been extended to handle URIs that were filtered because of leading or trailing whitespace, in addition to URIs that were filtered because of unapproved schemes.

  • WP 3.1.3 COMPAT / BUGFIX: RELATIVE URLS IN GUIDS NO LONGER PRODUCE DUPLICATE POSTS. The work-around for handling filtered URIs in guid elements has now been extended to handle URIs that were altered without being filtered out entirely (most commonly because a scheme was added to a relative URL).

  • BUGFIX: UPDATES TO POST NO LONGER CAUSE DUPLICATE DRAFT VERSION TO APPEAR. Under certain conditions in 2011.0531, an update to an existing post would not be properly applied to the post itself, but rather would appear as a duplicate post with Draft status. This bug has been eliminated, and updates will now be properly inserted as revisions to the existing post.

If, after making this upgrade, you continue to experience serious compatibility problems with WP 3.1.3, especially including duplicate posts, please contact me with as detailed as possible a description of what you’re seeing. It will help out a lot if you can include the following diagnostic information:

  1. The specific URL(s) of the feed or feeds where you are encountering the problem;

  2. An indication of whether you are seeing the problem on all your feeds, or seeing it on some feeds but not on others; and whether you are seeing it on all posts from the affected feeds, or just seeing it on some posts but not on others;

  3. The update method that you are using (automatic updates before page load, after page load, manual updates from within the WordPress interface, a cron job…); and

  4. Any FeedWordPress-related add-ons you may be using, if any, or any significant special settings you may have set under Syndication –> Posts & Links (for example, whether you have set syndicated posts to come in as Drafts or hold them as Pending, rather than publishing immediately; whether you are making any use of Custom Post Types under the Advanced settings; etc.).

If everything looks alright on your end — and I think that this changes should fix most of the issues that have thus far been reported to me — then great. As usual, any other issues you may have with the release, or any other questions I can help answer, or anything that you would like to see included in a future release, are all good reasons to drop me a line and let me know how I can help you. And as always, your ongoing gifts from the FWP user community to the project tip jar, besides being generous and immensely kind and an ongoing source of real and sustaining gratitude for me as a developer, are also what make ongoing development, timely fixes, and support for FeedWordPress possible.

Now y’all get out of here and enjoy the new release.

FeedWordPress 2011.0531: WordPress 3.1.3 compatibility issue producing duplicate posts now resolved

FeedWordPress 2011.0531 is now available for release. This is a compatibility release intended to bring FeedWordPress up to compatibility with the most recent release of WordPress, version 3.1.3. In particular, it fixes an issue introduced by WordPress 3.1.3 which caused numerous duplicate posts on some feeds.

Here’s what’s changed since Version 2011.0512:

  • WORDPRESS 3.1.3 COMPATIBILITY: DUPLICATE POSTS ISSUE FIXED. Due to internal changes in the way that WordPress handles post guids in the most recent release (3.1.3), many users experienced problems with many duplicate posts appearing in rapid succession. (Specifically, this would happen with any posts using tag: URL guids — such as all the posts coming from Blogger feeds or feeds from other Google services.) This compatibility release of FeedWordPress eliminates the issue by working around the new restrictions on tag: URLs.

  • NEW AND IMPROVED DIAGNOSTICS: Syndication –> Diagnostics now contains some new diagnostics settings useful for debugging problems with duplicate posts (allowing you to easily view the guid of posts in the WordPress posts database and allowing you to track the SQL used to check for existing versions of a syndicated post).

As always, if you have any issues with the release, or any questions I can help answer, or if there is anything that you would like to see included in a future release, please use the comments form or drop me a line to let me know about it. If you have an issue to report, please be sure to tell me what version of FeedWordPress you’re using, what version of WordPress you’re using it with, which web browser you are using to view the FeedWordPress user interface, and try to tell me, as clearly as possible, (1) what you were trying to do, (2) what the circumstances were, (3) what you expected to see, and (4) what you ended up seeing instead.

Please remember that your generous gifts to the project tip jar make ongoing development, compatibility releases and support for FeedWordPress possible.

Download and enjoy!