PluginProbe
FeedWordPress / 2012.1212
FeedWordPress v2012.1212
trunk 0.8 0.9 0.91 0.95 0.96 0.97 0.98 0.981 0.99 0.991 0.992 0.993 2008.1030 2008.1101 2008.1105 2008.1214 2009.0612 2009.0613 2009.0618 2009.0707 2009.1111 2009.1112 2010.0127 2010.0528 All 65 releases
← All changes | readme.txt +221 -333 trunk2012.1212 View file →
@@ -1,295 +1,100 @@
1 1 === FeedWordPress ===
2 -Contributors: radgeek
3 -Donate link: https://fwpplugin.com/donate/
2 +Contributors: Charles Johnson
3 +Donate link: http://feedwordpress.radgeek.com/
4 4 Tags: syndication, aggregation, feed, atom, rss
5 -Requires at least: 4.5
6 -Tested up to: 7.0
7 -Stable tag: 2026.0517
8 -License: GPLv2 or later
9 -License URI: https://www.gnu.org/licenses/gpl-2.0.html
5 +Requires at least: 3.0
6 +Tested up to: 3.5
7 +Stable tag: 2012.1212
10 8
11 -FeedWordPress syndicates content from feeds you choose into your WordPress weblog.
9 +FeedWordPress syndicates content from feeds you choose into your WordPress weblog.
12 10
13 11 == Description ==
14 12
15 -* Author: [C. Johnson](https://fwpplugin.com/contact/)
16 -* Project URI: <http://fwpplugin.com/>
13 +* Author: [Charles Johnson](http://radgeek.com/contact)
14 +* Project URI: <http://projects.radgeek.com/feedwordpress>
17 15 * License: GPL 2. See License below for copyright jots and tittles.
18 16
19 -FeedWordPress is an Atom/RSS aggregator for WordPress. It syndicates content from feeds that you choose into your WordPress weblog, and then the content it syndicates appears as a series of special posts in your WordPress posts database. If you syndicate several feeds then you can use WordPress's posts database and templating engine as the back-end of an aggregation ("planet") website. It was developed, originally, as a utility/hobby project, because I needed a more flexible replacement for [Planet][] for aggregator sites that I administered.
17 +FeedWordPress is an Atom/RSS aggregator for WordPress. It syndicates content
18 +from feeds that you choose into your WordPress weblog; the content it syndicates
19 +appears as a series of special posts in your WordPress posts database. If you
20 +syndicate several feeds then you can use WordPress's posts database and
21 +templating engine as the back-end of an aggregation ("planet") website. It was
22 +developed, originally, because I needed a more flexible replacement for
23 +[Planet][] to use at [Feminist Blogs][].
20 24
21 -[Planet]: https://web.archive.org/web/20051029095046/http://www.planetplanet.org/
25 +[Planet]: http://www.planetplanet.org/
26 +[Feminist Blogs]: http://feministblogs.org/
22 27
23 -FeedWordPress is designed with flexibility, ease of use, and ease of configuration in mind. You'll need a working installation of WordPress (version [4.5][] or later), and it helps to have SFTP or FTP access to your web host. The ability to create cron jobs on your web host is helpful but not required.
28 +FeedWordPress is designed with flexibility, ease of use, and ease of
29 +configuration in mind. You'll need a working installation of WordPress or
30 +WordPress MU (version [3.0] or later), and also FTP or SFTP access to your web
31 +host. The ability to create cron jobs on your web host is helpful but not
32 +required. You *don't* need to tweak any plain-text configuration files and you
33 +*don't* need shell access to your web host to make it work. (Although, I should
34 +point out, web hosts that *don't* offer shell access are *bad web hosts*.)
24 35
25 - [WordPress]: https://wordpress.org/
26 - [4.5]: http://codex.wordpress.org/Version_4.5
36 + [WordPress]: http://wordpress.org/
37 + [WordPress MU]: http://mu.wordpress.org/
38 + [3.0]: http://codex.wordpress.org/Version_3.0
27 39
28 40 == Installation ==
29 41
30 42 To use FeedWordPress, you will need:
31 43
32 -* an installed and configured copy of [WordPress](https://wordpress.org/) (version 4.5 or later).
44 +* an installed and configured copy of [WordPress][] or [WordPress MU][]
45 + (version 3.0 or later).
33 46
34 -* the ability to install new plugins on your site using either WordPress's Plugins Repository, SFTP, FTP or shell access to your web host
47 +* FTP, SFTP or shell access to your web host
35 48
36 49 = New Installations =
37 50
38 -1. Download the FeedWordPress installation package and extract the files on your computer.
51 +1. Download the FeedWordPress installation package and extract the files on
52 + your computer.
39 53
40 -2. Create a new directory named `feedwordpress` in the `wp-content/plugins` directory of your WordPress installation. Use an FTP or SFTP client to upload the contents of your FeedWordPress archive to the new directory that you just created on your web host.
54 +2. Create a new directory named `feedwordpress` in the `wp-content/plugins`
55 + directory of your WordPress installation. Use an FTP or SFTP client to
56 + upload the contents of your FeedWordPress archive to the new directory
57 + that you just created on your web host.
41 58
42 59 3. Log in to the WordPress Dashboard and activate the FeedWordPress plugin.
43 60
44 -4. Once the plugin is activated, a new **Syndication** section should appear in your WordPress admin menu. Click here to add new syndicated feeds, set up configuration options, and determine how FeedWordPress will check for updates. For help, see the [FeedWordPress Quick Start][] page.
45 -
61 +4. Once the plugin is activated, a new **Syndication** section should
62 + appear in your WordPress admin menu. Click here to add new syndicated
63 + feeds, set up configuration options, and determine how FeedWordPress
64 + will check for updates. For help, see the [FeedWordPress Quick Start][]
65 + page.
66 +
46 67 [FeedWordPress Quick Start]: http://feedwordpress.radgeek.com/wiki/quick-start
47 68
48 69 = Upgrades =
49 70
50 -To *upgrade* an existing installation of FeedWordPress to the most recent release:
71 +To *upgrade* an existing installation of FeedWordPress to the most recent
72 +release:
51 73
52 -1. Download the FeedWordPress installation package and extract the files on your computer.
74 +1. Download the FeedWordPress installation package and extract the files on
75 + your computer.
53 76
54 -2. Upload the new PHP files to `wp-content/plugins/feedwordpress`, overwriting any existing FeedWordPress files that are there.
77 +2. Upload the new PHP files to `wp-content/plugins/feedwordpress`,
78 + overwriting any existing FeedWordPress files that are there.
79 +
80 +3. Log in to your WordPress administrative interface immediately in order
81 + to see whether there are any further tasks that you need to perform
82 + to complete the upgrade.
55 83
56 -3. Log in to your WordPress administrative interface immediately in order to see whether there are any further tasks that you need to perform to complete the upgrade.
84 +4. Enjoy your newer and hotter installation of FeedWordPress
57 85
58 -4. Enjoy your newer and hotter installation of FeedWordPress!
59 -
60 86 == Using and Customizing FeedWordPress ==
61 87
62 -FeedWordPress has many options which can be accessed through the WordPress Dashboard, and a lot of functionality accessible programmatically through WordPress templates or plugins. For further documentation of the ins and outs, see the documentation at the [FeedWordPress project homepage][].
88 +FeedWordPress has many options which can be accessed through the WordPress
89 +Dashboard, and a lot of functionality accessible programmatically through
90 +WordPress templates or plugins. For further documentation of the ins and
91 +outs, see the documentation at the [FeedWordPress project homepage][].
63 92
64 93 [FeedWordPress project homepage]: http://feedwordpress.radgeek.com/
65 94
66 -== Screenshots ==
67 -
68 -1. Syndicated Sites Settings
69 -2. Dashboard widget for Syndicated Sources
70 -3. Feed and Update Settings (single feed)
71 -4. Feed and Update Settings (defaults for all feeds)
72 -
73 95 == Changelog ==
74 96
75 -= 2026.0517 =
76 -
77 -* BUG FIX FOR Custom Post Settings AFTER WordPress/FeedWordPress UPGRADE: If you used "Custom Post Settings" fields in Syndication > Posts to set custom post fields on syndicated articles (either static text or dynamic values using the XPath-like syntax), these may have stopped creating custom settings fields as expected after upgrading FeedWordPress or after upgrading WordPress to the most recent version. This is due to a regression introduced by the SimplePie version compatibility fix in 2025.1209. That has been fixed thanks to a patch submitted by @fl0om on Github; if you noticed that posts were being syndicated but syndicated posts were not assigned, then the custom post setting fields that you expected, upgrading to this point release should hopefully resolve that issue for you.
78 -
79 -= 2025.1209 =
80 -
81 -* COMPATIBILITY FIXES FOR WORDPRESS 6.9 (Fixes "PHP Fatal error: Cannot make static method SimplePie\\Parser::declare_html_entities() non static in class FeedWordPie_Parser" error, "PHP Fatal error: Uncaught TypeError: Return value of SimplePie\\File::get_headers() must be of the type array, null returned" error, or "PHP Fatal error: Uncaught TypeError: Argument 1 passed to SimplePie\\File::SimplePie\\{closure}() must be of the type string, array given" error after WordPress 6.9 upgrade): This version includes fixes to critical compatibility issues with WordPress 6.9 and WP 6.9's upgrade to SimplePie 1.9.0+. If you recently upgraded to WordPress 6.9 and noticed problems with updating or accessing your site, or messages about a "Critical issue" or fatal PHP errors in the interface or your error logs then a quick upgrade to this point release should hopefully resolve that issue for you.
82 -
83 -= 2024.1119 =
84 -
85 -* COMPATIBILITY FIX FOR WORDPRESS 6.7 (Fixes "Uncaught TypeError: Argument 1 passed to SimplePie\Cache\BaseDataCache::__construct() must implement interface SimplePie\Cache\Base" error after WordPress 6.7 upgrade): This version includes a fix to a critical compatibility issue with SimplePie 1.8.0+'s new requirements for namespaced classes and interfaces. (Updating to WordPress 6.7 also means that you get an update to a more recent version of SimplePie included with the platform; unfortunately, the new version of SimplePie introduces code changes which are no doubt a good idea in the long run, but which broke backward compatibility with the technique that FeedWordPress uses to extend SimplePie classes.) If you recently upgraded to WordPress 6.7 and noticed that FeedWordPress suddenly stopped updating, or that you started seeing messages about a "Critical issue" or fatal PHP errors in the interface or your error logs -- especially when attempting to check feeds for updates within the FeedWordPress admin interface -- then a quick upgrade to this point release should hopefully resolve that issue for you.
86 -
87 -= 2024.0511 =
88 -
89 -* COMPATIBILITY FIX FOR "Uncaught TypeError: in_array()" ERROR: This version includes a fix to a fatal error that some users encountered with some versions of PHP 8. If after upgrading to a recent version of FeedWordPress, you encountered a message about a "critical error" or error messages indicating something like "Uncaught TypeError: in_array() Argument #2", then a couple of code changes in this version should hopefully resolve that error for you.
90 -
91 -= 2024.0428 =
92 -
93 -* IMPORTANT SECURITY FIX: This version includes an important fix for a security vulnerability reported to me through Wordfence and WordPress support channels.
94 -
95 - Vulnerability CVE-2024-0839 allowed for an insecure Direct Object Reference which could allow contents of Private, Pending, or otherwise non-Published post objects to be accessed by an attacker possessing or generating the internal guid URI of the post object. This vulnerability has been eliminated in the current version; to protect your site's security PLEASE BE SURE TO UPGRADE AS SOON AS POSSIBLE to version 2024.0428 or later, via the WordPress Plugin Repository or via Github.
96 -
97 -* ADDITIONAL COMPATIBILITY FIXES AND CODE CLEANUP: This version includes numerous fixes to improve compatibility fixes for ongoing new releases of PHP, and does some additional code clean-up to remove some obsolete methods of generating output, and to do a better job of sanitizing input and escaping output in the FeedWordPress administrative dashboard. It features numerous fixes and improvements contributed by user @GwynethLlewelyn and several new hooks allowing for translation of interface elements.
98 -
99 -= 2022.0222 =
100 -
101 -* ADDITIONAL CODE CLEANUP: This version does some additional code clean-up to remove some obsolete methods of generating output, and to do a better job of sanitizing input and escaping output in the FeedWordPress administrative dashboard.
102 -
103 -= 2022.0204 =
104 -
105 -* ADDITIONAL CODE CLEANUP: This version does some additional code clean-up to remove some obsolete methods of generating output, and to do a better job of sanitizing input and escaping output in the FeedWordPress administrative dashboard.
106 -
107 -= 2022.0123 =
108 -
109 -* IMPORTANT SECURITY FIX: This version includes an important fix for a security vulnerability reported to me through WPScan and WordPress support channels.
110 -
111 - Vulnerability CVE-2021-25055 allowed for an XSS (Cross-Site Scripting) attack using a specially crafted URL for a page within the FeedWordPress admin interface. (To be exploited, an existing user with login credentials that allow them to access the FeedWordPress dashboard would have to follow the malicious URL and log in.) This vulnerability has been corrected in the current version; to protect your site's security PLEASE BE SURE TO UPGRADE AS SOON AS POSSIBLE to version 2022.0123 or later, via the WordPress Plugin Repository or via Github.
112 -
113 -* BUG FIXES: Fixes a number of small possible bugs when creating new syndicated posts under unusual conditions -- a sanity check is built in to avoid infinite loops in case of certain unexpected error outcomes when creating new users; some more possible sources of PHP 8 "Countable" warnings are eliminated, etc.
114 -
115 -= 2021.0713 =
116 -
117 -* WORDPRESS 5.6, 5.7.x COMPATIBILITY FIXES. This release introduces fixes to annoying or worse warnings resulting from
118 - the deprecation of WordPress's built-in WP_Feed_Cache class. This should resolve the problem if you are encountering
119 - annoying, worrying, or breaking problems related to the PHP warnings: "Deprecated: class-wp-feed-cache.php is
120 - <strong>deprecated</strong> since version 5.6.0", and/or "Message: ./cache is not writable. Make sure you've set the
121 - correct relative or absolute path, and that the location is server-writable."
122 -
123 -* Fixes PHP warning for "count(): Parameter must be an array or an object that implements Countable in
124 - .../wp-content/plugins/feedwordpress/feedwordpress.php on line 1566"
125 -
126 -* Miscellaneous fixes for other missing variable and global warnings.
127 -
128 -* Code cleanup and reorganization to allow better modularization of error messages, warning dialogs, and extended text.
129 -
130 -= 2020.0818 =
131 -
132 -* WORDPRESS 5.5 COMPATIBILITY FIXES, RESOLVES WARNING NOTICES OR WP-ADMIN LOCKOUT. WordPress 5.5 incorporated a newer release of SimplePie, version 1.5.5, which is pretty rad, but FeedWordPress classes that relied on SimplePie 1.3.1's method signatures would then produce PHP warning notices. That should be pretty innocuous, but depending on web server configurations, some users could get locked out of their own wp-admin interface by the display of error notices in the browser at inopportune times. In any case, I have added code to switch between backward-compatible modules for SimplePie 1.3.1 or updated modules compatible with SimplePie 1.5.5, based on the version available in your WordPress installation; so these notices and their untoward effects should be eliminated.
133 -
134 -* PHP 7.4 COMPATIBILITY FIX: Magic quotes were deprecated and then removed back in PHP 5.x, and in PHP 7.4 the vestigial `get_magic_quotes_gpc()` function has been deprecated. We don't need to worry about it anymore for versions of PHP still supported by WordPress. The reference to the function in the MyPHP utility class caused PHP warnings in more recent versions of PHP; so it has now been removed.
135 -
136 -* DIVERS BUG FIXES AND PHP WARNING NOTICES RESOLVED, thanks to @oppiansteve's fixes and pull requests. (Thanks!)
137 -
138 -* JQUERY COMPATIBILITY FIXES, RESOLVES MYSTERIOUS VANISHING FEED SELECTOR IN WP-ADMIN. An upgrade to WordPress's packaged jQuery caused the drop-down box for feed settings (in Syndication > Feeds & Updates, Syndication > Posts & Links, etc.) to vanish shortly after pageload. That was awkward, so I disabled the now-incompatible interface chrome that was causing it to vanish.
139 -
140 -= 2020.0118 =
141 -
142 -* WORDPRESS COMPATIBILITY TESTING. It's been some time since a public release of FeedWordPress; so I have tested the plugin functionality with recent versions of WordPress and incorporated a number of PHP 7-compatibility related tweaks.
143 -
144 -* FEED PARSING FAULT TOLERANCE. If FeedWordPress fails to parse a feed using normal XML functions, it will attempt to convert any named entities that may be causing a problem, and then try to parse again. Props to @inanimatt for utility functions that help make the code go.
145 -
146 -* PAUSING UPDATES. In Syndication > Feeds & Updates, you can now instruct FeedWordPress to temporarily pause or resume updating feeds -- whatever update method you are using, you can put new updates on hold for a while so that you can fiddle with setings, run tests, or do whatever you need to do before allowing updates to resume.
147 -
148 -* CODE MODERNIZATION, PHP 7.x COMPATIBILITY AND CLEANUP AND REORGANIZATION. I have been dusting out nooks and crannies in the code and hiving more functionality off into discrete modules. A number of FeedWordPress users have also offered pull requests to eliminate bothersome PHP notices and warnings related to PHP 7.x compatibility -- in particular removing uses of deprecated `each()` functions, and avoiding use of `count()` on null values -- which I have rolled into the main branch release. Props to @manzoorwanijk, @tristanleboss, @martinburchell and @oppiansteve
149 -
150 -= 2017.1020 =
151 -
152 -* ADD BOILERPLATE / CREDITS FEATURE AVAILABLE IN POSTS & LINKS SETTINGS PANEL. I have added a new settings panel to the off-the-shelf features of FeedWordPress, under Syndication > Posts & Links (or under the Posts settings page for any individual feed), which allows you to define boilerplate text that should appear in connection with every syndicated post, or with every post syndicated from a particular feed. So, for example, if you want each syndicated post to include a byline reading "This is a syndicated post, reprinted from (LINK TO ORIGINAL SOURCE WEBSITE).", you could set up this byline from within the FeedWordPress settings interface, by going to the Boilerplate / Credits panel, and adding a line to appear BEFORE the CONTENT of each syndicated post, using the text and shortcode "This is a syndicated post, reprinted from [source]." For those of you who have corresponded with me about this feature before, you may be familiar with it from the long-standing "experimental" add-on, FWP+: Add Attribution; I've decided that it's been enough years, and I've had enough requests, that the Add Attribution feature may as well be included in the main FeedWordPress code.
153 -
154 - Back when FeedWordPress was first created, the assumption was that a well-behaved aggregator would include boilerplate text to indicate the source of syndicated posts, but that the best way to do this was to provide a set of syndication-specific template tags so that the administrator setting up the site could edit their Theme template files with constructs like:
155 -
156 - <?php if (is_syndicated()) : ?>
157 - <p class="byline">This post by <?php the_author(); ?> originally
158 - appeared at <a href="<?php the_syndication_source_link(); ?>"><?php
159 - the_syndication_source(); ?></a>.</p>
160 - <?php else : ?>
161 - <p class="byline">By <?php the_author(); ?>.</p>
162 - <?php endif; ?>
163 -
164 - You can still do this, of course, and for maximum expressive power and flexibility, it is certainly the best way to do it. Template Tags are documented here: <http://feedwordpress.radgeek.com/wiki/templates/> However, (1) it requires writing PHP code, which not everyone is comfortable doing; and (2) it requires altering template files within your Theme, which is not always possible, especially given the increasing role that prepackaged commercial themes have come to play in the WordPress ecosystem. So, now, you can get some basic features for adding boilerplate text and attribution credits even without touching your template files, and without having to add custom add-ons for FeedWordPress. Enjoy!
165 -
166 -* MINOR CODE MODERNIZATION, PHP 7.1 COMPATIBILITY AND BUG FIXES. This project is now 12+ years old (good lord), and there are still some places where code was written at a time when PHP was a very different language from what it is now. Props to @david-robinson-practiceweb for pointing out and sending a pull request to fix some instances where obsolete PHP reference notation (`&$q` on parameters and so on) created a compatibility problem for PHP 7.1. Props to an email correspondent for pointing out a place in SyndicatedPost where excerpts should be generated from post content using encoding-aware mb_substr(), instead of naively running them through substr(). I've begun making some efforts throughout to begin auditing some of the creakiest old code in the project, to update what needs updating and improve documentation throughout.
167 -
168 -= 2017.0913 =
169 -
170 -* PARTIAL FIX FOR 2X DUPLICATE POSTS APPEARING ON DUAL HTTP/HTTPS SITES: Some users reported an issue in which their FeedWordPress sites, which are over both insecure HTTP and over HTTPS, would pick up exactly 2 copies of every post or almost every post from certain feeds, and where the guids for each of the pair of duplicate posts would look exactly alike, except for a difference in the protocol, for example:
171 -
172 - http://www.example.com/?guid=c1cd28da39e8d7babcf6499983aca545
173 - https://www.example.com/?guid=c1cd28da39e8d7babcf6499983aca545
174 -
175 - ... where www.example.com is the server that your own copy of FeedWordPress is installed. This release of FeedWordPress normalizes post guid prefixes so as to avoid or limit the scope of this problem.
176 -
177 -* PHP 7 Compatibility: eliminate remaining sources of PHP 7 compatibility-check failures -- remove the use of depreciated mysql_error() function, and make sure all classes make use of __construct() convention for constructors.
178 -
179 -* AVOID "PHP Warning: shell_exec() has been disabled for security reasons in [...]/feedwordpress/feeds-page.php on line 197": FeedWordPress uses the PHP shell_exec() function in a very narrowly limited way for information gathering, trying to find the real path to curl or wget on your system, so that it can give as realistic as possible a recommendation for the sample crontab line displayed in Syndication > Feeds & Updates. Some web hosting environments disable shell_exec for security reasons (since it could in theory be used to do a lot more stuff than the very limited information gathering FWP uses it for); in which case, this part of the code in FeedWordPress could spit out a nasty-looking and potentially worrisome-looking error message. So, now this code is fenced with checks to make sure that shell_exec is available, before FWP attempts to make use of it.
180 -
181 -= 2016.1213 =
182 -
183 -* WORDPRESS BACKWARD COMPATIBILITY FOR VERSIONS [4.5, 4.7]: This change fixes a fatal PHP error (on some web server configurations you'd see the message "Fatal error: require_once(): Failed opening required '[...]/wp-includes/class-wp-feed-cache.php'" on others, you might just see an HTTP 500 Internal Server Error or a blank page) when using FeedWordPress with versions of WordPress before 4.7. A change that I introduced to avoid a code module that had been deprecated in version 4.7 ended up relying on code modules that were only introduced as of version 4.7; so now, instead, FeedWordPress attempts to detect which modules the current version of the WordPress core makes available, and load the right modules depending on your WordPress version.
184 -
185 - In theory, up to this point, FeedWordPress supported any version of WordPress from version 3.0 onward. In practice, version 3.0 was released over 6 years ago, and I can realistically commit only to testing out new releases of FeedWordPress with a few prior versions of WordPress; so I've updated the "Requires at least" field to version 4.5, the first major release issued in 2016. If you've really got to use FeedWordPress with older versions of WordPress, it will probably still work with any moderately modern release of WordPress, but I won't promise to keep it working with releases of WordPress that are more than about a year old.
186 -
187 -= 2016.1211 =
188 -
189 -* WORDPRESS COMPATIBILITY: Tested with new versions of WordPress up to 4.7.
190 -
191 -* PHP WARNINGS UNDER WP 4.7: Eliminated cause of a PHP warning under WP 4.7 "Parameter 1 to FeedWordPressHTTPAuthenticator::set_auth_options expected to be reference" Warnings were due to a change in how http_api_curl hook is sometimes called in WP 4.7; so I changed the signature of the event handling method to avoid the notice. Props to @cogdog, @froomkin, @gwynethllewelyn et al. for flagging the issue and @garymarkfuller for suggesting a preliminary fix to the issue that was fairly similar to the solution I ended up adopting.
192 -
193 -* PHP 7 and PHP Strict Standards compatibility changes: @alexiskulash @daidais and @zoul0813 all sent pull requests through Github to fix some issues from a very old code base that has made its way from PHP 3.x through 5.x to the roll-out of PHP 7. Class methods should now fare better under modern versions of PHP and generate fewer "Deprecated" notices.
194 -
195 -* IMPROVEMENTS TO SCHEDULED AND AUTOMATIC UPDATES: use wp_loaded hook to check for magic URL parameters and to execute updates, to do pageload-based automatic updates, etc. Ensures that anything plugins or themes need to do in init to set up custom post types, taxonomies, etc. will be done before the update_feedwordpress updates are attempted. If you saw posts not getting put into the correct custom post type or custom taxonomies or similar problems when performing scheduled updates, but the problem seemed to go away when you manually performed updates through the wp-admin interface, then you might be able to solve those problems with this update.
196 -
197 -= 2016.0420 =
198 -
199 -* WORDPRESS COMPATIBILITY: Tested with new versions of WordPress up to 4.5.
200 -
201 -* FILTERS AND ADD-ONS: Allow filters and add-ons to filter terms and taxonomy (categories, tags, custom taxonomies, etc.) more thoroughly and more fine-grainedly using syndicated_post_terms_match, syndicated_post_terms_match_{taxonomy}, syndicated_post_terms_unfamiliar, syndicated_post_terms_mapping, syndicated_item_feed_terms, and syndicated_item_preset_terms filters.
202 -
203 -* FILTERS AND ADD-ONS: Globals $fwp_channel and $fwp_feedmeta REMOVED. These global variables, originally introduced to allow filters access to information about the source feed in `syndicated_item` filters were deprecated 6+ years ago. If you have any filters or add-ons which still depend on these global variables, you've been using obsolete techniques and you should see about fixing them to access data about the source feed using the SyndicatedPost::link element instead. For documentation, see the FeedWordPress documentation wiki at <http://feedwordpress.radgeek.com/wiki/syndicatedpost> and <http://feedwordpress.radgeek.com/wiki/syndicatedlink>.
204 -
205 -* BUGFIX: Syndication > Diagnostics HTTP diagnostic test widget was broken due to a dumb error on my part. Now fixed.
206 -
207 -* SMALL CODING CHANGES: Lots of small changes to code organization, incorporation of some PHP 5.x coding conventions, etc.
208 -
209 -= 2015.0514 =
210 -
211 -* IMPORTANT SECURITY UPDATE: This version includes two important fixes for potential security vulnerabilities reported to me through support channels.
212 -
213 - The first is a common problem across several plugins due to an ambiguity in the WordPress documentation and a change in the behavior of WordPress's built-in add_query_arg() and remove_query_arg() functions which could, under certain low-probability conditions, allow for potential XSS attack vectors. This fixes issue # 39 reported at <https://github.com/radgeek/feedwordpress/issues/39> Thanks to github.com/quassy
214 -
215 - The second fixes a security vulnerability that was reported to me privately (thanks to Adrián M. F.) which, under other low-probability conditions, could allow for SQL insertion attacks by a malicious user with access to login credentials, which would compromise data security.
216 -
217 - It is *IMPORTANT* and worth your while to upgrade FeedWordPress as soon as possible in order to eliminate these vulnerabilities. If you have any questions or if there is something blocking you from making the upgrade which you need my help with, don't hesitate to get in touch.
218 -
219 -* ADMIN UI BUGFIX: "Update Now" button in feeds setting pages should now work once again instead of causing a PHP fatal error. See <https://github.com/radgeek/feedwordpress/issues/46>
220 -
221 -* SEVERAL OTHER SMALL BUG FIXES. See <https://github.com/radgeek/feedwordpress/issues/32> <https://github.com/radgeek/feedwordpress/issues/30> <https://github.com/radgeek/feedwordpress/issues/29> etc.
222 -
223 -= 2014.0805 =
224 -
225 -* FILTERS AND ADD-ONS: A number of new hooks for filters and add-ons to further customize the behavior of FWP have been added.
226 -
227 -* COMPATIBILITY/BUGFIX: Many users saw odd characters, especially "n," appearing in posts in versions of WordPress from 3.6 on, due to a change in when the API expects HTML data for posts to be slashed and when it does not. This has been fixed, so that the junk characters should no longer appear, regardless of your version of WordPress.
228 -
229 -* BUGFIX: A bug preventing FWP from saving categories assigned under Syndication > Categories & Tags has been fixed.
230 -
231 -* BUGFIX: Post-editing related metaboxes should now show up when you edit items of any post type, including custom types, not only normal WordPress posts.
232 -
233 -* BUGFIX: A bug in the admin UI that caused the "Alternative Feeds" / "Find Feeds" box to throw a permissions error has been fixed.
234 -
235 -* BUGFIX: A bug preventing proper mapping of categories and other terms in 2013.0504 has been fixed.
236 -
237 -* BUGFIX: A number of small fixes contributed through Github by Flynsarmy should eliminate PHP warnings for many users on several methods that are called as static methods within FeedWordPress.
238 -
239 -= 2013.0504 =
240 -
241 -* BUGFIX: PHP 5.4 compatibility -- includes some more extensive fixes to compatibility issues with PHP 5.4's handling of global variables
242 -
243 -* DIAGNOSTICS: New diagnostics settings added to help track behavior of terms (categories, post tags, etc.) for syndicated posts.
244 -
245 -= 2012.0504 =
246 -
247 -* MODULE REORGANIZATION: Should ensure that all needed submodules will be properly included regardless of whether you are installing from github, from SVN, or from the WordPress plugins page. If you've been getting fatal errors about required modules not being found, this release should hopefully resolve the issue.
248 -
249 -= 2012.0503 =
250 -
251 -* BUGFIX: Works properly again with WordPress installations that use a MySQL table name prefix other than the default `wp_` prefix.
252 -
253 -* BUGFIX: Includes a couple of significant PHP 5.4 compatibility fixes. Now that PHP 5.4 is more widely deployed, Diagnostics will now also show PHP version and some other potentially useful troubleshooting information.
254 -
255 -* ADMIN UI: Better indicates your options when deleting a syndicated post so as to let you know whether it will be Trashed (and thus not resyndicated) or Erased (and thus potentially resyndicated)
256 -
257 -* ADMIN UI: Adds an AJAXy Test Expression button to allow live testing of sample results from expressions in Custom Post Settings.
258 -
259 -= 2012.1218 =
260 -
261 -* 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 `<p>` 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.
262 -
263 -* BUG FIX: PERMALINKS REWRITTEN FOR CUSTOM POST TYPES AS WELL AS NORMAL
264 - WORDPRESS POSTS. If you had WordPress set up to syndicate incoming posts
265 - to a custom post type (under Syndication > Posts & Links), and asked
266 - FeedWordPress to make "permalinks point to the original site", then
267 - previous versions of FeedWordPress would fail to do the rewriting --
268 - permalinks would only be rewritten to point to the original source for
269 - normal WordPress posts, not for custom post types. In 2012.1218 this bug
270 - has been fixed: all post types will now have permalinks rewritten unless
271 - you request for permalinks to point to the local copy on your aggregator
272 - site.
273 -
274 -* BUG FIX: ELIMINATES "PHP Fatal error: Call to a member function
275 - setting() on a non-object...." Some changes to the in-memory caching of
276 - information about feed subscriptions could result in a fatal PHP error
277 - in cases where you have de-activated one of your subscriptions, but
278 - posts from that subscription were still in the archive. This would
279 - normally show up through half-completed feeds or half-completed pages
280 - that suddenly broke off in the middle, and displayed or logged an error
281 - message like: "PHP Fatal error: Call to a member function setting() on a
282 - non-object in {...}/wp-content/plugins/feedwordpress/feedwordpress.php
283 - on line 615". This bug has been eliminated, so affected feeds and pages
284 - should now render correctly, and the error message should no longer
285 - appear.
286 -
287 -* BUG FIX: CATEGORY BOXES IN SYNDICATION > CATEGORIES & TAGS. Some minor
288 - bugs in the appearance and animation of category checkboxes (for
289 - example, the checkbox used to select categories for syndicated posts on
290 - the Syndication > Categories & Tags settings page) have been fixed.
291 -
292 97 = 2012.1212 =
293 98
294 99 * WORDPRESS 3.5 COMPATIBILITY: This release has been tested for compatibility
295 100 with new releases of WordPress, up to version 3.5, and any documented
@@ -323,9 +128,9 @@
323 128 interface. This has been fixed: FWP will continue to generate new slugs
324 129 for syndicated posts, but when syndicated posts are updated, they will
325 130 retain the slug that they had at the time of the update; any manual
326 131 changes to the post slug should be preserved.
327 -
132 +
328 133 * USER-AGENT STRING: FeedWordPress now sends a distinctive User-Agent
329 134 string identifying itself, and noting that it is a feed aggregator.
330 135
331 136 * MISCELLANEOUS PERFORMANCE IMPROVEMENTS: A number of changes have been
@@ -360,9 +165,9 @@
360 165 Username/Password" link underneath the Feed URL. Enter the username and
361 166 password for accessing the feed, then select the authentication method. (If
362 167 you're not sure which method your feed provider uses, try Basic first.)
363 168 Save Changes, and syndicate away.
364 -
169 +
365 170 NOTE: HTTP Digest support requires the curl module for PHP. If you are not
366 171 sure whether this module has been installed, contact your web hosting
367 172 provider to check.
368 173
@@ -403,9 +208,9 @@
403 208 static pages. What actually happened is that in these rare cases the
404 209 existing static page was mistaken for an older version of the new incoming
405 210 syndicated post, which was then stored as a new revision of the original
406 211 page. The bug that caused these mistaken identities has been fixed.
407 -
212 +
408 213 * BUGFIX: UNWANTED AUTOMATIC PAGE-LOAD-BASED UPDATES NO LONGER A NUISANCE.
409 214 Some users encountered a bug in which FeedWordPress would adopt an automatic
410 215 page-load-based update method, even if they had requested that it not do
411 216 so, and that it use a manual or cron job update method instead. The bug
@@ -422,9 +227,9 @@
422 227 * FEED UPDATE SCHEDULING IMPROVEMENTS: UI. The Syndicated Sources table now
423 228 provides considerably more data to understand update scheduling, when
424 229 specific scheduling decisions are made because of, e.g., requests from the
425 230 feed producer.
426 -
231 +
427 232 * FEED UPDATE SCHEDULING IMPROVEMENTS: ENFORCEABLE "MINIMUM INTERVAL" SETTING
428 233 TO SPACE OUT UPDATES. Some feeds request specific update schedules, using
429 234 standard elements such as sy:updateFrequency and rss:ttl. Normally,
430 235 FeedWordPress respects any scheduling requests that a feed makes -- if it
@@ -441,9 +246,9 @@
441 246 over a longer interval of time. Before, they could not do this: FWP always
442 247 sped up to meet the indicated update schedule. Now, they can do this, by
443 248 using the new "Minimum Interval" setting in Syndication --> Feeds &
444 249 Updates..
445 -
250 +
446 251 = 2011.0706 =
447 252
448 253 * WP 3.2 COMPATIBILITY: ELIMINATES FATAL ERROR "Call to undefined method
449 254 WP_SimplePie_File::WP_SimplePie_File() in
@@ -460,9 +265,9 @@
460 265 previously syndicated produced some very slow queries (usually, but not
461 266 always, involving a scan over the MD5(post_guid) column of the table). The
462 267 code that prepares MySQL queries for previously-syndicated checks has been
463 268 revised to eliminate the MD5(post_guid) scan entirely, and to significantly
464 - improve performance by eliminating other unnecessary clauses.
269 + improve performance by eliminating other unnecessary clauses.
465 270
466 271 * BUGFIX: NO LONGER DESTROYS STICKY POSTS. Previous versions could destroy
467 272 (or, more precisely, replace the content of) sticky posts due to some
468 273 queries mashed together in unexpected ways by WordPress. Version 2011.0706
@@ -482,9 +287,9 @@
482 287 POSTS. The work-around for handling filtered URIs in guid elements has now
483 288 been extended to handle URIs that were filtered because of leading or
484 289 trailing whitespace, in addition to URIs that were filtered because of
485 290 unapproved schemes.
486 -
291 +
487 292 * WP 3.1.3 COMPAT / BUGFIX: RELATIVE URLS IN GUIDS NO LONGER PRODUCE DUPLICATE
488 293 POSTS. The work-around for handling filtered URIs in guid elements has now
489 294 been extended to handle URIs that were altered without being filtered out
490 295 entirely (most commonly because a scheme was added to a relative URL).
@@ -552,9 +357,9 @@
552 357
553 358 * AUTHOR LISTS: Lists of authors presented on the Author settings pages
554 359 should now be easier to scan through, with author names arranged in
555 360 alphabetical order.
556 -
361 +
557 362 * FEED ITEM DATE PARSING: More tweaks to make date-time handling more
558 363 resilient when feeds provide broken or weird values for the timestamps
559 364 on syndicated items. FWP will now attempt to work around unparseable
560 365 timezone values.
@@ -562,12 +367,12 @@
562 367 * AUTHOR MATCHING: Now attempts to match author names against the WP login
563 368 name in addition to display_name; when creating user record, also fills
564 369 in some best-guess values for nickname, firstname and lastname. Also
565 370 properly picks up Atom 1.0 author/uri data from feed.
566 -
371 +
567 372 * COMPATIBILITY: FeedWordPress has been successfully tested for
568 373 compatibility with recent releases of WordPress, up to version 3.1.2.
569 -
374 +
570 375 = 2011.0211 =
571 376
572 377 * BUGFIX: DUPLICATE POSTS WHEN GUIDS ARE TOO LONG: When feeds included
573 378 exceptionally long GUIDs, FeedWordPress could occasionally get into
@@ -588,9 +393,9 @@
588 393 Feeds & Updates. This is especially helpful for making quick, short-term
589 394 changes to a subscription (for example, to pull in all the previous
590 395 items from a web service, before settling down to pulling in only newly
591 396 updated items).
592 -
397 +
593 398 * DIAGNOSTICS SYSTEM: Added several new diagnostics which are useful in
594 399 troubleshooting, and established a framework for add-on modules to hook
595 400 in with their own diagnostic messages.
596 401
@@ -596,9 +401,9 @@
596 401
597 402 * UI: Adjusted some internal coding, which should allow for settings
598 403 pages and add-ons to properly display multiple category pickers on a
599 404 single settings page.
600 -
405 +
601 406 * PHP4 COMPATIBILITY TWEAKS: This version makes some tweaks to the handling
602 407 of object references which should improve compatibility with older
603 408 versions of PHP. (Although, I should note, web hosts that still force
604 409 you to run under PHP 4 -- in 2011! -- are *bad web hosts*.)
@@ -603,9 +408,9 @@
603 408 versions of PHP. (Although, I should note, web hosts that still force
604 409 you to run under PHP 4 -- in 2011! -- are *bad web hosts*.)
605 410
606 411 * IMPROVED PERFORMANCE: This version eliminates a *major* performance drag
607 - that shows up on sites with large numbers of users (due to some poor
412 + that shows up on sites with large numbers of users (due to some poor
608 413 decisions about where to place a user query, which caused the user table
609 414 to be scanned frequently when it did not need to be). If you experienced
610 415 serious problems with CPU load or slow database performance under
611 416 2010.0905, which kicked in immediately when FWP was loaded and tended
@@ -628,9 +433,9 @@
628 433 Tags being assigned. This bug has now been fixed: in 2010.0905, Tags and
629 434 Categories should be correctly assigned to all posts, regardless of
630 435 whether they were added from manual updates, cron jobs, or automatic
631 436 updates.
632 -
437 +
633 438 = 2010.0903 =
634 439
635 440 * WORDPRESS 3 REQUIRED: Please note that this release of FeedWordPress
636 441 *requires* WordPress 3.0 or later. If you are currently using a 2.x
@@ -649,9 +454,9 @@
649 454 problem for myself on my own machines. However, the markup of Syndicated
650 455 Sources has undergone significant changes and corrections since
651 456 2010.0623, and two independent sources who had been having this problem
652 457 confirm that they no longer encounter it with the updated version. For
653 - the time being, I am going to declare this bug squashed.
458 + the time being, I am going to declare this bug squashed.
654 459
655 460 * BUGFIX: MORE PROTECTION AGAINST FATAL ERRORS FROM PLUGGABLE VERSIONS OF
656 461 SimplePie: FeedWordPress now takes some precautions that should help to
657 462 better avoid conflicts for users who have installed pluggable versions
@@ -678,9 +483,9 @@
678 483 * ADDING MULTIPLE FEEDS: FeedWordPress now provides a convenient mode for
679 484 adding multiple feeds at once, using either a copy-and-pasted list, or
680 485 else an OPML file. Go to Syndication --> Syndicated Sources and check
681 486 out the two new buttons underneath the New Source input box. When you
682 - have to add a number of feeds at once, this can save you considerable
487 + have to add a number of feeds at once, this can save you considerable
683 488 time and trouble.
684 489
685 490 * IMPROVED HANDLING OF AUTHORS WITH DUPLICATE E-MAIL ADDRESS AND AUTHORS
686 491 WITH NAMES WRITTEN IN FOREIGN SCRIPTS: WordPress 3 is increasingly picky
@@ -692,9 +497,9 @@
692 497 better, and systematically works to avoid clashes between syndicated
693 498 authors' account names or in their e-mail addresses, which should result
694 499 in significantly better results in mapping author names to WordPress
695 500 user accounts.
696 -
501 +
697 502 * MAPPING CATEGORIES ON SYNDICATED POSTS TO TAGS NOW BETTER SUPPORTED:
698 503 In previous versions, the only way for the Categories provided by a
699 504 syndicated feed to be mapped into Post Tags was to instruct FWP to
700 505 create new tags, rather than new categories, for unfamiliar categories
@@ -704,14 +509,14 @@
704 509 now do this by creating a tag (under Posts ==> Post Tags) before
705 510 importing the post; when the syndicated category matches a pre-existing
706 511 tag, the incoming post will be tagged with that tag, without creating
707 512 a local Post Category.
708 -
513 +
709 514 * REL-TAG MICROFORMAT SUPPORT FOR INLINE TAGS: Syndicated posts that
710 515 contain inline tags, marked up using the Rel-Tag microformat
711 516 <http://microformats.org/wiki/rel-tag>, are now tagged with the tags
712 517 provided by Rel-Tag format links.
713 -
518 +
714 519 * MUCH GREATER CONTROL OVER CATEGORY AND TAG MAPPING: This is partly the
715 520 result of building in support for a potentially endless set of custom
716 521 taxonomies (see below), but in general there has been a great deal of
717 522 effort towards giving you more control over how categories and tags
@@ -732,9 +537,9 @@
732 537 taxonomies, you may be pleased to find that FeedWordPress now allows you
733 538 to feed incoming posts into any custom feed type that you wish, and to
734 539 map categories and tags from the feed to custom taxonomies as well as
735 540 to the standard Category and Tag taxonomies.
736 -
541 +
737 542 * STORING NAMESPACED CUSTOM FEED ELEMENTS IN POST CUSTOM FIELDS: If you
738 543 would like to use FeedWordPress's support for storing custom meta-data
739 544 from feed elements in the custom fields for a post (for example, to
740 545 store geolocation data or iTunes media meta-data), you'll find that it's
@@ -761,9 +566,9 @@
761 566 it means that much more power and ease for folks who are customizing
762 567 FeedWordPress through PHP filters or add-on modules. Fuller
763 568 documentation will be put up at the Wiki at feedwordpress.radgeek.org
764 569 soon.
765 -
570 +
766 571 = 2010.0623 =
767 572
768 573 * WORDPRESS 3.0 COMPATIBILITY / AUTHOR MAPPING INTERFACE ISSUES: I
769 574 resolved a couple of outstanding issues with the author mapping
@@ -770,9 +575,9 @@
770 575 interface (Syndication --> Authors), which were preventing new users
771 576 from being created correctly and author mapping rules from being set up
772 577 correctly. These partly had to do with new restrictions on user account
773 578 creation introduced in WordPress 3.0; anyway, they should now be fixed.
774 -
579 +
775 580 * MORE EFFICIENT SYNDICATED URL LOOKUPS: Several users noticed that the
776 581 bug fix introduced in 2010.0528 for compatibility with post-listing
777 582 plugins caused a lot more queries to the database in order to look up
778 583 numerical post IDs from the URL provided to the filter. This shouldn't
@@ -796,14 +601,14 @@
796 601 unsubscribed feed can now easily be viewed in a special "Inactive"
797 602 section of the Syndicated Sources page. (As a side benefit, if you've
798 603 accidentally, or only temporarily, turned off the subscription to a
799 604 feed, it is now much easier to restore the feed to being active, or to
800 - delete it permanently, if you prefer.
605 + delete it permanently, if you prefer.
801 606
802 607 * UI: FEED FINDER / SWITCH FEED INTERFACE IMPROVEMENTS: changes to styling
803 608 and options for the feed finder / switch feed, which should now make it
804 609 easier, in some cases, to find alternative feeds, and make interface
805 - options more clearly visible.
610 + options more clearly visible.
806 611
807 612 * FILTERS: `syndicated_item_published` and `syndicated_item_updated` NOW
808 613 PROPERLY AFFECT THE DATING OF POSTS. These filters used to affect some
809 614 date-related settings, but not others -- and, most importantly, not the
@@ -863,10 +668,10 @@
863 668 use the `syndicated_item_published` and `syndicated_item_updated` filter
864 669 hooks to write filters or add-ons which directly change the post date
865 670 and most-recently-updated timestamps on incoming syndicated posts. Props
866 671 to niska for pointing out where the filters needed to be applied in
867 - order to change WordPress's internal timestamps for incoming posts.
868 -
672 + order to change WordPress's internal timestamps for incoming posts.
673 +
869 674 = 2010.0531 =
870 675
871 676 * PERMALINK / CUSTOM FIELDS PROBLEM RESOLVED: An issue in 2010.0528 caused
872 677 some posts to be imported without the proper syndication-related
@@ -907,9 +712,9 @@
907 712 advantage of the SimplePie object representations of items, feeds, etc.,
908 713 rather than the MagpieRSS arrays, but the MagpieRSS arrays will still
909 714 be available and older filters should continue to work as they have in
910 715 the past.
911 -
716 +
912 717 * COMPATIBILITY WITH WORDPRESS 2.9.x and 3.0: This release has been tested
913 718 for the existing WordPress 2.9.x branch and with the upcoming release of
914 719 WordPress 3.0. Changes in the user interface JavaScript between WordPress
915 720 2.8.x and WordPress 2.9 caused the tag box interface element to break in
@@ -935,9 +740,9 @@
935 740 been eliminated entirely for pages that cover each aspect of handling
936 741 a feed: Feeds & Updates, Posts & Links, Authors, Categories & Tags,
937 742 and Back End handling of the database and diagnostic information.
938 743 Extensive new interface hooks allow add-on modules to significantly
939 - change or extend the FeedWordPress admin interface and workflow.
744 + change or extend the FeedWordPress admin interface and workflow.
940 745
941 746 * STORING INFORMATION FROM THE FEED IN CUSTOM FIELDS: Many users
942 747 have written to request the ability to store information from elements
943 748 in the feed in a custom field on each post. (So that, for example, if
@@ -992,9 +797,9 @@
992 797 correctly parse a date, to fall back to a more intelligent default. This
993 798 should hopefully avoid most or all error conditions that have resulted
994 799 in articles being erroneously dated to the dawn of the Unix epoch
995 800 (31 December 1969 or 1 January 1970).
996 -
801 +
997 802 * FULL-TEXT "EXCERPTS" NOW PROPERLY SHORTENED. Based on a straightforward
998 803 reading of the existing RSS specs, it's reasonable for the
999 804 rss:description element to be read as a plaintext summary or excerpt for
1000 805 the item containing the description -- with the full text of the item,
@@ -1028,9 +833,9 @@
1028 833 documentation wiki at
1029 834 <http://feedwordpress.radgeek.com/wiki/add-ons-and-filters>
1030 835
1031 836 * FILTER API: A number of new utility methods have been added to the
1032 - SyndicatedPost class to make it easier for filters and add-ons to
837 + SyndicatedPost class to make it easier for filters and add-ons to
1033 838
1034 839 * FILTER API: Globals $fwp_channel and $fwp_feedmeta DEPRECATED. These
1035 840 global variables, originally introduced to allow filters access to
1036 841 information about the source feed in `syndicated_item` filters (which
@@ -1102,14 +907,14 @@
1102 907 encountered an error in which any time they attempted to add a new feed
1103 908 through the FeedFinder interface, FeedWordPress would fail and display
1104 909 an HTTP request failure diagnostic message. The subtle bug has been
1105 910 fixed, and with it, most of these errors should now be eliminated.
1106 -
911 +
1107 912 Be sure to upgrade your MagpieRSS to the most recent MagpieRSS version
1108 913 after you have insalled FeedWordPress 2009.0618, or this bug fix will
1109 914 not take effect.
1110 915
1111 -= 2009.0613 =
916 += 2009.0613 =
1112 917
1113 918 * INTERFACE/BUGFIX: WORDPRESS 2.8 CATEGORY BOX FIX. Thanks to a subtle
1114 919 change in class names between the WordPress 2.7 and 2.8 stylesheets,
1115 920 category boxes in the FeedWordPress settings interface tended to overflow
@@ -1114,9 +919,9 @@
1114 919 change in class names between the WordPress 2.7 and 2.8 stylesheets,
1115 920 category boxes in the FeedWordPress settings interface tended to overflow
1116 921 and have a lot of messy-looking overlapping text under WordPress 2.8.
1117 922 This has now been fixed.
1118 -
923 +
1119 924 * FeedFinder FAILURE DIAGNOSTICS: When FWP's FeedFinder fails to find any
1120 925 feeds at a given URL (for example, when you are trying to add a
1121 926 subscription through the administrative interface and you run into an
1122 927 error message), FeedWordPress now provides more diagnostic information
@@ -1144,9 +949,9 @@
1144 949 Corresponding to these new subpages, the old Syndication Settings and
1145 950 Feed Settings subpages have been cleaned up and simplified, and now only
1146 951 link to the appropriate subpages for options that can be set in the
1147 952 Posts, Authors, or Categories & Tags subpages.
1148 -
953 +
1149 954 * FEATURE: ADD CUSTOM SETTINGS TO EACH SYNDICATED POST: FeedWordPress has
1150 955 long had an interface for creating custom settings for each syndicated
1151 956 *feed* which could be retrieved in templates using the `get_feed_meta()`
1152 957 template function. But it had no feature for adding custom fields to
@@ -1334,9 +1139,9 @@
1334 1139 Please note that if you have already encountered this issue on your
1335 1140 blog, upgrading FeedWordPress will prevent it from re-occurring in the
1336 1141 future, but you still need to do two other things to fix the existing
1337 1142 problem on your blog.
1338 -
1143 +
1339 1144 First, for each feed where posts have been mis-attributed, you need to
1340 1145 change the existing author mapping rules to re-map a a syndicated
1341 1146 author's name to the proper target account. Go to **Syndication -->
1342 1147 Authors**, select the feed you want to change from the drop-down list,
@@ -1342,9 +1147,9 @@
1342 1147 Authors**, select the feed you want to change from the drop-down list,
1343 1148 and then change the settings under the "Syndicated Authors" section.
1344 1149 (You will probably need to select "will be assigned to a new user..." to
1345 1150 create a new user account with the appropriate name.)
1346 -
1151 +
1347 1152 Second, for each feed where posts have been mis-attributed, you need to
1348 1153 re-assign already-syndicated posts that were mis-attributed to the
1349 1154 correct author. You can do that from **Syndication --> Authors** by
1350 1155 using the author re-assignment feature, described below.
@@ -1364,9 +1169,9 @@
1364 1169 your templates and feeds: you can have FeedWordPress report that the
1365 1170 source of a post is the aggregator feed itself, or you can have it
1366 1171 report that the source of a post is the original source that the
1367 1172 aggregator originally syndicated the post from.
1368 -
1173 +
1369 1174 By default, FeedWordPress will report the aggregator, not the original
1370 1175 source, as the source of a syndicated item.
1371 1176
1372 1177 * LOAD BALANCING AND TIME LIMITING FEATURES FOR UPDATES: Some users have
@@ -1380,9 +1185,9 @@
1380 1185 time limits are usually in the vicinity of 30 seconds, so an update
1381 1186 time limit of 25 seconds or so should provide plenty of time for updates
1382 1187 while allowing a cushion of time for other, non-update-related functions
1383 1188 to do their work.)
1384 -
1189 +
1385 1190 If feed updates are interrupted by the time limit, FeedWordPress uses
1386 1191 some simple load balancing features to make sure that updates to other
1387 1192 feeds will not be blocked by the time-hogging feed, and will also make
1388 1193 sure that when the interrupted update is resumed, FeedWordPress will
@@ -1447,9 +1252,9 @@
1447 1252 familiar category; (3) to create a new category with that name, or,
1448 1253 now, you can also have FeedWordPress (4) create a new *tag* with that
1449 1254 name. This option can be set site-wide under Syndication --> Options,
1450 1255 or it can be set on a feed-by-feed basis in a feed's Edit screen.
1451 -
1256 +
1452 1257 In addition, you can now set particular tags to apply to all incoming
1453 1258 syndicated posts, under Syndication --> Options, or you can set tags
1454 1259 to apply to all incoming syndicated posts from a particular feed in that
1455 1260 feed's Edit screen.
@@ -1467,9 +1272,9 @@
1467 1272 setting from "Protect" to "Expose."
1468 1273
1469 1274 * `<atom:source>` ELEMENTS NOW INCLUDED IN ATOM FEED: Atom 1.0 provides
1470 1275 a standard method for aggregators to indicate information about the original source of
1471 - a syndicated post, using the `<atom:source>` element. FeedWordPress now
1276 + a syndicated post, using the `<atom:source>` element. FeedWordPress now
1472 1277 introduces standard `<atom:source>` elements including the title, homepage, and
1473 1278 feed URI of the source from which a syndicated post was syndicated. Cf.
1474 1279 <http://www.atomenabled.org/developers/syndication/atom-format-spec.php#element.source>
1475 1280
@@ -1511,9 +1316,9 @@
1511 1316 categories by separating them at whitespace.) Unfortunately, del.icio.us
1512 1317 recently broke the existing behavior by changing host names for their
1513 1318 feeds from del.icio.us to feeds.delicious.com. Version 0.993 accounts
1514 1319 for the new host name and un-breaks the tag splitting.
1515 -
1320 +
1516 1321 = 0.992 =
1517 1322
1518 1323 * AUTHOR RE-MAPPING: FeedWordPress now offers considerable control over
1519 1324 how author names on a feed are translated into usernames within the
@@ -1529,9 +1334,9 @@
1529 1334 "Administrator." These settings also allow administrators to filter out
1530 1335 posts by particular users, and to control what will happen when
1531 1336 FeedWordPress encounters a post by an unrecognized user on that
1532 1337 particular feed.
1533 -
1338 +
1534 1339 * BUG RELATED TO URIS CONTAINING AMPERSAND CHARACTERS FIXED: A bug in
1535 1340 WordPress 2.x's handling of URIs in Blogroll links created problems for
1536 1341 updating any feeds whose URIs included an ampersand character, such as
1537 1342 Google News RSS feeds and other feeds that have multiple parameters
@@ -1676,9 +1481,9 @@
1676 1481 which, among other things, allows you to access information about the
1677 1482 feed from which an item is syndicated using the $post->feed and the
1678 1483 $post->feedmeta elements (where $post is the name of the second
1679 1484 parameter).
1680 -
1485 +
1681 1486 NOTE THAT THE OLD GLOBAL VARIABLES ARE STILL AVAILABLE, for the time
1682 1487 being at least, so existing filters will not break with the upgrade.
1683 1488 They should be considered deprecated, however, and may be eliminated in
1684 1489 the future.
@@ -1847,9 +1652,9 @@
1847 1652 category to all syndicated posts from a particular feed, it meant that
1848 1653 they'd have at least one familiar category (the category or categories
1849 1654 you were applying), and that would get all posts past the filter no
1850 1655 matter what categories they were originally from.
1851 -
1656 +
1852 1657 Well, no longer. You can still apply categories to all syndicated posts
1853 1658 (using either Syndication --> Options, or the feed-level settings under
1854 1659 Links --> Syndicated). But these categories are not applied to the post
1855 1660 until *after* it has already passed by the "familiar categories" filter.
@@ -1876,11 +1681,11 @@
1876 1681 get_feed_meta() function or the $fwp_feedmeta global, note that the
1877 1682 data formerly located under the `uri` and `name` fields is now located
1878 1683 under the `link/uri` field and the `link/name` field, respectively. Note
1879 1684 also that you can access the link ID number for any given feed under the
1880 - global $fwp_feedmeta['link/id'] (in plugins) or
1685 + global $fwp_feedmeta['link/id'] (in plugins) or
1881 1686 get_feed_meta('link/id') (in a template in post contexts).
1882 -
1687 +
1883 1688 * FEATURE: the settings for individual feeds can now be edited using a
1884 1689 humane interface (where formerly you had to tweak key-value pairs in the
1885 1690 Link Notes section). To edit settings for a feed, pick the feed that you
1886 1691 want under Links --> Syndicated and click the Edit link.
@@ -1924,9 +1729,9 @@
1924 1729 certain period of time has passed. The amount of time is normally set
1925 1730 randomly for each feed, in a period between 30 minutes and 2 hours (so
1926 1731 as to stagger updates over time rather than polling all of the feeds at once. However, the length of time between updates can also be set
1927 1732 directly by the feed, which brings us to ...
1928 -
1733 +
1929 1734 * FEATURE: FeedWordPress now respects the settings in the `ttl` and
1930 1735 Syndication Module RSS elements. Feeds with these elements set will not
1931 1736 be polled any more frequently than they indicate with these feeds unless
1932 1737 the user manually forces FeedWordPress to poll the feed (see Links -->
@@ -1950,11 +1755,11 @@
1950 1755 of a contributor's website manually (that is, prevent it from being
1951 1756 automatically updated from the feed channel link on each update). To
1952 1757 set the URI manually, put a line like this in the Link Notes section
1953 1758 of a feed:
1954 -
1759 +
1955 1760 hardcode url: yes
1956 -
1761 +
1957 1762 You can also instruct FeedWordPress to use hardcoded URIs by default
1958 1763 on all feeds using Options --> Syndication
1959 1764
1960 1765 * FEATURE: by default, when FeedWordPress finds new syndicated posts,
@@ -1966,59 +1771,142 @@
1966 1771
1967 1772
1968 1773 = From 0.91 to 0.95 =
1969 1774
1970 -* BUG FIX: Fixed an obscure bug in the handling of categories: categories with trailing whitespace could cause categories with duplicate names to be created. This no longer happens. While I was at it I tightened up the operation of FeedWordPress::lookup_categories() a bit in general.
1775 +* BUG FIX: Fixed an obscure bug in the handling of categories:
1776 + categories with trailing whitespace could cause categories with
1777 + duplicate names to be created. This no longer happens. While I was
1778 + at it I tightened up the operation of
1779 + FeedWordPress::lookup_categories() a bit in general.
1971 1780
1972 -* FEATURE DEPRECATED: the feed setting `hardcode categories` is now deprecated in favor of `unknown categories` (see below), which allows you to strip off any syndication categories not already in your database using `unknown categories: default` or `unknown categories: filter`. If you have `hardcode categories: yes` set on a feed, this will be treated as `unknown categories: default` (i.e., no new categories will be added, but if a post doesn't match any of the categories it will be added in the default category--usually "Uncategorized" or "General").
1781 +* FEATURE DEPRECATED: the feed setting `hardcode categories` is now
1782 + deprecated in favor of `unknown categories` (see below), which
1783 + allows you to strip off any syndication categories not already in
1784 + your database using `unknown categories: default` or `unknown
1785 + categories: filter`. If you have `hardcode categories: yes` set on a
1786 + feed, this will be treated as `unknown categories: default` (i.e.,
1787 + no new categories will be added, but if a post doesn't match any of
1788 + the categories it will be added in the default category--usually
1789 + "Uncategorized" or "General").
1973 1790
1974 -* FEATURE: You can now set global defaults as to whether or not FeedWordPress will update the Link Name and Link Description settings for feeds automatically from the feed title and feed tagline. (By default, it does, as it has in past versions.) Whether this behavior is turned on or off, you can still override the default behavior using feed settings of `hardcode name: yes`, `hardcode name: no`, `hardcode description: yes`, or `hardcode description: no`.
1791 +* FEATURE: You can now set global defaults as to whether or not
1792 + FeedWordPress will update the Link Name and Link Description
1793 + settings for feeds automatically from the feed title and feed
1794 + tagline. (By default, it does, as it has in past versions.) Whether
1795 + this behavior is turned on or off, you can still override the
1796 + default behavior using feed settings of `hardcode name: yes`,
1797 + `hardcode name: no`, `hardcode description: yes`, or `hardcode
1798 + description: no`.
1975 1799
1976 -* FEATURE: Users can now provide one or several "aliases" for an author, just as they can for a category. For example, to make FeedWordPress treat posts by "Joseph Cardinal Ratzinger" and "Pope Benedict XVI" as by the same author, edit the user profile for Pope Benedict XVI and add a line like this to the "User profile" field:
1977 -
1800 +* FEATURE: Users can now provide one or several "aliases" for an
1801 + author, just as they can for a category. For example, to make
1802 + FeedWordPress treat posts by "Joseph Cardinal Ratzinger" and "Pope
1803 + Benedict XVI" as by the same author, edit the user profile for Pope
1804 + Benedict XVI and add a line like this to the "User profile" field:
1805 +
1978 1806 a.k.a.: Joseph Cardinal Ratzinger
1979 -
1980 - You can add several aliases, each on a line by itself. You can also add any other text you like to the Profile without interfering with the aliases.
1981 -
1982 -* FEATURE: Users can now choose how to handle syndicated posts that are in unfamiliar categories or by unfamiliar authors (i.e., categories or authors whose names are not yet in the WordPress database). By default, FeedWordPress will (as before) create a new category (or new author) and use it for the current post and any future posts. This behavior can be changed, either for all feeds or for one or another particular feed.
1983 -
1984 - There are now three different options for an unfamiliar author: (1) FeedWordPress can create a new author account and attribute the syndicated post to the new account; (2) FeedWordPress can attribute the post to an author if the author's name is familiar, and to a default author (currently, this means the Site Administrator account) if it is not; (3) FeedWordPress can drop posts by unfamiliar authors and syndicate only posts by authors who are already in the database.
1985 -
1986 - There are, similarly, two different options for an unfamiliar category: (1) FeedWordPress can create new categories and place the syndicated post in them; (2) FeedWordPress can drop the unfamiliar categories and place syndicated posts only in categories that it is already familiar with. In addition, FeedWordPress 0.95 lets you choose whether posts that are in *no* familiar categories should be syndicated (and placed in the default category for the blog) or simply dropped.
1987 -
1988 - You can set the default behavior for both authors and categories using the settings in Options --> Syndication. You can also set different behavior for specific feeds by adding the `unfamiliar author` and / or `unfamiliar categories` settings to the Link Notes section of a feed:
1989 -
1807 +
1808 + You can add several aliases, each on a line by itself. You can also
1809 + add any other text you like to the Profile without interfering with
1810 + the aliases.
1811 +
1812 +* FEATURE: Users can now choose how to handle syndicated posts that
1813 + are in unfamiliar categories or by unfamiliar authors (i.e.,
1814 + categories or authors whose names are not yet in the WordPress
1815 + database). By default, FeedWordPress will (as before) create a new
1816 + category (or new author) and use it for the current post and any
1817 + future posts. This behavior can be changed, either for all feeds or
1818 + for one or another particular feed.
1819 +
1820 + There are now three different options for an unfamiliar author: (1)
1821 + FeedWordPress can create a new author account and attribute the
1822 + syndicated post to the new account; (2) FeedWordPress can attribute
1823 + the post to an author if the author's name is familiar, and to a
1824 + default author (currently, this means the Site Administrator
1825 + account) if it is not; (3) FeedWordPress can drop posts by
1826 + unfamiliar authors and syndicate only posts by authors who are
1827 + already in the database.
1828 +
1829 + There are, similarly, two different options for an unfamiliar
1830 + category: (1) FeedWordPress can create new categories and place the
1831 + syndicated post in them; (2) FeedWordPress can drop the unfamiliar
1832 + categories and place syndicated posts only in categories that it is
1833 + already familiar with. In addition, FeedWordPress 0.95 lets you
1834 + choose whether posts that are in *no* familiar categories should be
1835 + syndicated (and placed in the default category for the blog) or
1836 + simply dropped.
1837 +
1838 + You can set the default behavior for both authors and categories
1839 + using the settings in Options --> Syndication. You can also set
1840 + different behavior for specific feeds by adding the `unfamiliar
1841 + author` and / or `unfamiliar categories` settings to the Link Notes
1842 + section of a feed:
1843 +
1990 1844 unfamiliar author: (create|default|filter)
1991 1845 unfamiliar categories: (create|default|filter)
1992 -
1993 - A setting of `unfamiliar author: create` will make FeedWordPress create new authors to match unfamiliar author names *for this feed alone*. A setting of `unfamiliar author: default` will make it assign posts from unfamiliar authors to the default user account. A setting of `unfamiliar author: filter` will cause all posts (from this feed alone) to be dropped unless they are by an author already listed in the database. Similiarly, `unfamiliar categories: create` will make FeedWordPress create new categories to match unfamiliar category names *for this feed alone*; `unfamiliar categories: default` will cause it to drop any unfamiliar category names; and `unfamiliar categories: filter` will cause it to *both* drop any unfamiliar category names *and* to only syndicate posts that are placed in one or more familiar categories.
1994 -
1995 - These two new features allow users to do some coarse-grained filtering without having to write a PHP filter. Specifically, they offer an easy way for you to filter feeds by category or by author. Suppose, for example, that you only wanted to syndicate posts that your contributors place in the "Llamas" category. You could do so by setting up your installation of WordPress so that the only category in the database is "Llamas," and then use Options --> Syndication to set "Unfamiliar categories" to "don't create new categories and don't syndicate posts unless they match at least one familiar category". Now, when you update, only posts in the "Llamas" category will be syndicated by FeedWordPress.
1996 -
1997 - Similarly, if you wanted to filter one particular feed so that only posts by (for example) the author "Earl J. Llama" were syndicated to your site, you could do so by creating a user account for Earl J. Llama, then adding the following line to the settings for the feed in Link Notes:
1998 -
1846 +
1847 + A setting of `unfamiliar author: create` will make FeedWordPress
1848 + create new authors to match unfamiliar author names *for this feed
1849 + alone*. A setting of `unfamiliar author: default` will make it
1850 + assign posts from unfamiliar authors to the default user account. A
1851 + setting of `unfamiliar author: filter` will cause all posts (from
1852 + this feed alone) to be dropped unless they are by an author already
1853 + listed in the database. Similiarly, `unfamiliar categories: create`
1854 + will make FeedWordPress create new categories to match unfamiliar
1855 + category names *for this feed alone*; `unfamiliar categories:
1856 + default` will cause it to drop any unfamiliar category names; and
1857 + `unfamiliar categories: filter` will cause it to *both* drop any
1858 + unfamiliar category names *and* to only syndicate posts that are
1859 + placed in one or more familiar categories.
1860 +
1861 + These two new features allow users to do some coarse-grained
1862 + filtering without having to write a PHP filter. Specifically, they
1863 + offer an easy way for you to filter feeds by category or by author.
1864 + Suppose, for example, that you only wanted to syndicate posts that
1865 + your contributors place in the "Llamas" category. You could do so by
1866 + setting up your installation of WordPress so that the only category
1867 + in the database is "Llamas," and then use Options --> Syndication to
1868 + set "Unfamiliar categories" to "don't create new categories and
1869 + don't syndicate posts unless they match at least one familiar
1870 + category". Now, when you update, only posts in the "Llamas" category
1871 + will be syndicated by FeedWordPress.
1872 +
1873 + Similarly, if you wanted to filter one particular feed so that only
1874 + posts by (for example) the author "Earl J. Llama" were syndicated to
1875 + your site, you could do so by creating a user account for Earl J.
1876 + Llama, then adding the following line to the settings for the feed
1877 + in Link Notes:
1878 +
1999 1879 unfamiliar author: filter
2000 -
2001 - This will cause any posts from this feed that are not authored by Earl J. Llama to be discarded, and only the posts by Earl J. Llama will be syndicated. (If the setting is used on one specific feed, it will not affect how posts from other feeds are syndicated.)
2002 -
1880 +
1881 + This will cause any posts from this feed that are not authored by
1882 + Earl J. Llama to be discarded, and only the posts by Earl J. Llama
1883 + will be syndicated. (If the setting is used on one specific feed, it
1884 + will not affect how posts from other feeds are syndicated.)
1885 +
2003 1886 == License ==
2004 1887
2005 -The FeedWordPress plugin is copyright © 2005-2021 by Charles Johnson. It uses code derived or translated from:
1888 +The FeedWordPress plugin is copyright © 2005-2010 by Charles Johnson. It uses
1889 +code derived or translated from:
2006 1890
2007 1891 - [wp-rss-aggregate.php][] by [Kellan Elliot-McCrea](kellan@protest.net)
2008 -- [SimplePie][] feed parser by Ryan Parman, Geoffrey Sneddon, Ryan McCue, et al.
2009 -- [MagpieRSS][] feed parser by [Kellan Elliot-McCrea](kellan@protest.net)
1892 +- [MagpieRSS][] by [Kellan Elliot-McCrea](kellan@protest.net)
2010 1893 - [Ultra-Liberal Feed Finder][] by [Mark Pilgrim](mark@diveintomark.org)
2011 1894 - [WordPress Blog Tool and Publishing Platform](http://wordpress.org/)
2012 1895
2013 1896 according to the terms of the [GNU General Public License][].
2014 1897
2015 -This program is free software; you can redistribute it and/or modify it under the terms of the [GNU General Public License][] as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
1898 +This program is free software; you can redistribute it and/or modify it under
1899 +the terms of the [GNU General Public License][] as published by the Free
1900 +Software Foundation; either version 2 of the License, or (at your option) any
1901 +later version.
2016 1902
2017 -This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
1903 +This program is distributed in the hope that it will be useful, but WITHOUT ANY
1904 +WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A
1905 +PARTICULAR PURPOSE. See the GNU General Public License for more details.
2018 1906
2019 1907 [wp-rss-aggregate.php]: http://laughingmeme.org/archives/002203.html
2020 - [SimplePie]: http://www.simplepie.org/
2021 1908 [MagpieRSS]: http://magpierss.sourceforge.net/
1909 + [HTTP Navigator 2]: http://www.keyvan.net/2004/11/16/http-navigator/
2022 1910 [Ultra-Liberal Feed Finder]: http://diveintomark.org/projects/feed_finder/
2023 1911 [GNU General Public License]: http://www.gnu.org/copyleft/gpl.html
2024 1912