PluginProbe
FeedWordPress / 0.96
FeedWordPress v0.96
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 | ChangeLog.text +2 -417 0.9920.96 View file →
@@ -1,427 +1,6 @@
1 -FeedWordPress Change Log
2 -========================
3 -
4 -Changes from 0.991 to 0.992
5 -* AUTHOR RE-MAPPING: FeedWordPress now offers considerable control over
6 - how author names on a feed are translated into usernames within the
7 - WordPress database. When a post by an unrecognized author comes in,
8 - Administrators can now specify any username as the default username to
9 - assign the post to by setting the option in Syndication --> Options
10 - (formerly FeedWordPress only allowed you to assign such posts to user
11 - #1, the site administrator). Administrators can also create re-mapping
12 - rules for particular feeds (under Syndication --> Syndicated Sites -->
13 - Edit), so that (for example) any posts attributed to "Administrator"
14 - on the feed <http://praxeology.net/blog/feed/> will be assigned to
15 - a user named "Roderick T. Long," rather than a user named
16 - "Administrator." These settings also allow administrators to filter out
17 - posts by particular users, and to control what will happen when
18 - FeedWordPress encounters a post by an unrecognized user on that
19 - particular feed.
20 -
21 -* BUG RELATED TO URIS CONTAINING AMPERSAND CHARACTERS FIXED: A bug in
22 - WordPress 2.x's handling of URIs in Blogroll links created problems for
23 - updating any feeds whose URIs included an ampersand character, such as
24 - Google News RSS feeds and other feeds that have multiple parameters
25 - passed through HTTP GET. If you experienced this bug, the most likely
26 - effect was that FeedWordPress simply would not import new posts from a
27 - feed when instructred to do so, returning a "0 new posts" response. In
28 - other cases, it might lead to unpredictable results from feed updates,
29 - such as importing posts which were not contained in the feed being
30 - syndicated, but which did appear elsewhere on the same website. This bug
31 - has, hopefully, been resolved, by correcting for the bug in WordPress.
32 -
33 -Changes from 0.99 to 0.991
34 -* WORDPRESS MU COMPATABILITY: FeedWordPress should now be compatible with
35 - recent releases of WordPress MU. Once FeedWordPress is made available
36 - as a plugin, each individual blog can choose to activate FeedWordPress
37 - and syndicate content from its own set of contributors.
38 -
39 -* DISPLAY OF MAGPIE WARNINGS: A number of MagpieRSS warnings or error
40 - messages that were displayed when performing an automatic update are
41 - no longer displayed, unless debugging parameters have been explicitly
42 - enabled.
43 -
44 -* BUG RELATED TO INTERNATIONAL CHARACTERS IN AUTHOR NAMES FIXED: Due to a
45 - subtle incompatability between the way that FeedWordPress generated new
46 - user information, and the way that WordPress 2.0 and later added new
47 - authors to the database, FeedWordPress might end up creating duplicate
48 - authors, or throwing a critical error message, when it encountered
49 - authors whose names included international characters. This
50 - incompatability has now been fixed; hopefully, authors with
51 - international characters in their names should now be handled properly.
52 -
53 -* media:content BUG IN MAGPIERSS FIXED: A bug in MagpieRSS's handling of
54 - namespaced elements has been fixed. Among other things, this bug caused
55 - items containing a Yahoo MediaRSS `<media:content>` element (such as
56 - many of the feeds produced by wordpress.com) to be represented
57 - incorrectly, with only a capital "A" where the content of the post
58 - should have been. Feeds containing `<media:content>` elements should now
59 - be syndicated correctly.
60 -
61 -* update_feedwordpress PARAMETER: You can now use an HTTP GET parameter
62 - (`update_feedwordpress=1`) to request that FeedWordPress poll its feeds
63 - for updates. When used together with a crontab or other means of
64 - scheduling tasks, this means that you can keep your blog automatically
65 - updated on a regular schedule, even if you do not choose to use the
66 - cron-less automatic updates option.
67 -
68 -* Some minor interface-related bugs were also fixed.
69 -
70 -
71 -Changes from 0.981 to 0.99
72 -Version 0.99 adds several significant new features, fixes some bugs, and
73 -provides compatability with WordPress 2.2.x and 2.3.x.
74 -
75 -* WORDPRESS 2.2 AND 2.3 COMPATIBILITY: FeedWordPress should now be
76 - compatible with WordPress version 2.2 and the upcoming WordPress
77 - version 2.3. In particular, it has been tested extensively against
78 - WordPress 2.2.3 and WordPress 2.3 Release Candidate 1.
79 -
80 -* AUTOMATIC UPDATES WITHOUT CRON: FeedWordPress now allows you to
81 - automatically schedule checks for new posts without using external task
82 - scheduling tools such as cron. In order to enable automatic updates, go
83 - to **Syndication --> Options** and set "Check for new posts" to
84 - "automatically." For details, see "Automatic Feed Updates" in
85 - README.text.
86 -
87 - An important side-effect of the changes to the update system is that if
88 - you were previously using the cron job and the `update-feeds.php` script
89 - to schedule updates, you need to change your cron set-up. The old
90 - `update-feeds.php` script no longer exists. Instead, if you wish to use
91 - a cron job to guarantee updates on a particular schedule, you should
92 - have the cron job fetch the front page of your blog (for example, by
93 - using `curl http://www.zyx.com/blog/ > /dev/null`) instead of activating
94 - the `update-feeds.php` script. If automatic updates have been enabled,
95 - fetching the front page will automatically trigger the update process.
96 -
97 -* INTERFACE REORGANIZATION: All FeedWordPress functions are now located
98 - under a top-level "Syndication" menu in the WordPress Dashboard. To
99 - manage the list of syndicated sites, manually check for new posts on
100 - one or more feeds, or syndicate a new site, you should use the main page
101 - under **Syndication**. To change global settings for FeedWordPress,
102 - you should use **Syndication --> Options**.
103 -
104 -* FILE STRUCTURE REORGANIZATION: Due to a combination of changing styles
105 - for FeedWordPress plugins and lingering bugs in the FeedWordPress admin
106 - menu code, the code for FeedWordPress is now contained in two different
107 - PHP files, which should be installed together in a subdirectory of your
108 - plugins directory named `feedwordpress`. (See README.text for
109 - installation and upgrade instructions relating to the change.)
110 -
111 -* MULTIPLE CATEGORIES SETTING: Some feeds use non-standard methods to
112 - indicate multiple categories within a single category element. (The most
113 - popular site to do this is del.icio.us, which separates tags with a
114 - space.) FeedWordPress now allows you to set an optional setting, for any
115 - feed which does this, indicating the character or characters used to
116 - divide multiple categories, using a Perl-compatible regular expression.
117 - (In the case of del.icio.us feeds, FeedWordPress will automatically use
118 - \s for the pattern without your having to do any further configuration.)
119 - To turn this setting on, simply use the "Edit" link for the feed that
120 - you want to turn it on for.
121 -
122 -* REGULAR EXPRESSION BUG FIXED: Eliminated a minor bug in the regular
123 - expressions for e-mail addresses (used in parsing RSS `author`
124 - elements), which could produce unsightly error messages for some users
125 - parsing RSS 2.0 feeds.
126 -
127 -* DATE / UPDATE BUG FIXED: A bug in date handling was eliminated that may
128 - have caused problems if any of (1) WordPress, or (2) PHP, or (3) your
129 - web server, or (4) your MySQL server, has been set to use a different
130 - time zone from the one that any of the others is set to use. If
131 - FeedWordPress has not been properly updating updated posts, or has been
132 - updating posts when there shouldn't be any changes for the update, this
133 - release may solve that problem.
134 -
135 -* GOOGLE READER BUGS FIXED: A couple of bugs that made it difficult for
136 - FeedWordPress to interact with Google Reader public feeds have been
137 - fixed. Firstly, if you encountered an error message reading "There was a
138 - problem adding the newsfeed. [SQL: ]" when you tried to add the feed,
139 - the cause of this error has been fixed. Secondly, if you succeeded in
140 - getting FeedWordPress to check a Google Reader feed, only to find that
141 - the title of posts had junk squashed on to the end of them, that bug
142 - has been fixed too. To fix this bug, you must install the newest version
143 - of the optional MagpieRSS upgrade.
144 -
145 -* FILTER PARAMETERS: Due to an old, old bug in WordPress 1.5.0 (which was
146 - what was available back when I first wrote the filter interface),
147 - FeedWordPress has traditionally only passed one parameter to
148 - syndicated_item and syndicated_post filters functions -- an array
149 - containing either the Magpie representation of a syndicated item from
150 - the feed, or the database representation of a post about to be inserted
151 - into the WordPress database. If you needed information about the feed
152 - that the item came from, this was accessible only through a pair of
153 - global variables, $fwp_channel and $fwp_feedmeta.
154 -
155 - Since it's been a pretty long time since WordPress 1.5.0 was in
156 - widespread usage, I have gone ahead and added an optional second
157 - parameter to the invocation of the syndicated_item and syndicated_post
158 - filters. If you have written a filter for FeedWordPress that uses either
159 - of these hooks, you can now register that filter to accept 2 parameters.
160 - If you do so, the second parameter will be a SyndicatedPost object,
161 - which, among other things, allows you to access information about the
162 - feed from which an item is syndicated using the $post->feed and the
163 - $post->feedmeta elements (where $post is the name of the second
164 - parameter).
165 -
166 - NOTE THAT THE OLD GLOBAL VARIABLES ARE STILL AVAILABLE, for the time
167 - being at least, so existing filters will not break with the upgrade.
168 - They should be considered deprecated, however, and may be eliminated in
169 - the future.
170 -
171 -* FILTER CHANGE / BUGFIX: the array that is passed as the first argument
172 - syndicated_post filters no longer is no longer backslash-escaped for
173 - MySQL when filters are called. This was originally a bug, or an
174 - oversight; the contents of the array should only be escaped for the
175 - database *after* they have gone through all filters. IF YOU HAVE WRITTEN
176 - ANY syndicated_post FILTERS THAT PRESUME THE OLD BEHAVIOR OF PASSING IN
177 - STRINGS THAT ARE ALREADY BACKSLASH-ESCAPED, UPDATE YOUR FILTERS
178 - ACCORDINGLY.
179 -
180 -* OTHER MINOR BUGFIXES AND INTERNAL CHANGES: The internal architecture of
181 - FeedWordPress has been significantly changed to make the code more
182 - modular and clean; hopefully this should help reduce the number of
183 - compatibility updates that are needed, and make them easier and quicker
184 - when they are needed.
185 -
186 -Changes from 0.98 to 0.981
187 -Version 0.981 is a narrowly targeted bugfix and compatibility release, whose
188 -main purpose is to resolve a major outstanding problem: the incompatibility
189 -between version 0.98 of WordPress and the recently released WordPress 2.1.
190 -
191 -* WORDPRESS 2.1 COMPATIBILITY: FeedWordPress is now compatible with
192 - WordPress 2.1, as well as retaining its existing support for WordPress
193 - 2.0 and 1.5. Incompatibilities that resulted in database warnings, fatal
194 - errors, and which prevented FeedWordPress from syndicating new posts,
195 - have been eliminated.
196 -
197 -* RSS-FUNCTIONS.PHP RENAMED TO RSS.PHP: if you use the upgraded MagpieRSS
198 - replacement that's included with FeedWordPress, be sure to note that
199 - there are now *two* files to upload from the `OPTIONAL/wp-includes`
200 - subdirectory in order to carry out the upgrade: rss-functions.php and
201 - rss.php. **It is necessary to upload both files**, due to a change in
202 - the file naming scheme in WordPress 2.1, and it is necessary to do so
203 - whether you are using WordPress 2.1 or not. If you only upload the
204 - `rss-functions.php` file as in previous installations you will not have
205 - a working copy of MagpieRSS; the rss.php file contains the actual code.
206 -
207 -* DATE BUG AFFECTING SOME PHP INSTALLATIONS RESOLVED: due to a subtle bug
208 - in parse_w3cdtf(), some installations of PHP encountered problems with
209 - FeedWordPress's attempt to date posts, which would cause some new posts
210 - on Atom feeds to be dated as if they had apppeared in 1969 or 1970
211 - (thus, effectively, never appearing on front apge at all). This bug in
212 - the date handling should now be fixed.
213 -
214 -* PHP <?=...?> SHORT FORM ELIMINATED: some installations of PHP do not
215 - allow the <?=...?> short form for printing PHP values, which was used
216 - extensively in the FeedWordPress interface code. Since this could cause
217 - fatal errors for users with the wrong installation of PHP, the short
218 - form has been replaced with full PHP echo statements, and is no longer
219 - used in FeedWordPress.
220 -
221 -* BETTER USER INTERFACE INTEGRATION WITH WORDPRESS 2.x: Some minor changes
222 - have been made to help the FeedWordPress interface pages blend in better
223 - with the user interface when running under WordPress 2.x.
224 -
225 -* GLOBAL CATEGORIES BUG RESOLVED: a bug that prevented some users from
226 - setting one or more categories to apply to syndicated posts from all
227 - feeds (using the checkbox interface under Options --> Syndication) has
228 - been resolved.
229 -
230 -Changes from 0.97 to 0.98
231 -
232 -* WORDPRESS 2.0 COMPATIBILITY: This is a narrowly-targeted release to
233 - solve a major outstanding problem. FeedWordPress is now compatible with
234 - both WordPress 1.5 and WordPress 2.0. Incompatibilities that caused
235 - fatal SQL errors, and a more subtle bug with off-kilter counts of posts
236 - under a given category, have been resolved. FeedWordPress tests for
237 - database schema using the global $wp_db_version variable (if null, then
238 - we presume that we're dealing with WordPress 1.5).
239 -
240 - NOTE: I have **not** fully tested FeedWordPress with WordPress 2.0.
241 - Further testing may reveal more bugs. However, you should now be able
242 - to get at least basic FeedWordPress functionality up and running.
243 -
244 -* AUTHOR MATCHING: FeedWordPress tests several fields to see if it can
245 - identify the author of the post as a user already in the WordPress user
246 - database. In previous versions, it tested the user login, the nickname,
247 - and tested for "aliases" listed in the Profile (see documentation). FWP
248 - now also matches authors on the basis of e-mail address (*if* an e-mail
249 - address is present). This is particularly helpful for formats such as
250 - RSS 2.0, in which authors are primarily identified by e-mail addresses.
251 -
252 -Changes from 0.96 to 0.97
253 -
254 -* INSTALLATION PROCEDURE: Some of the changes between 0.96 and 0.97
255 - require upgrades to the meta-data stored by FeedWordPress to work
256 - properly. Thus, if you are upgrading from 0.96 or earlier to 0.97, most
257 - FeedWordPress operations (including updates and template functions)
258 - WILL BE DISABLED until you run the upgrade procedure. Fortunately,
259 - running the upgrade procedure is easy: just go to either Options -->
260 - Syndication or Links --> Syndicated in the WordPress Dashboard and press
261 - the button.
262 -
263 -* FEED FORMAT SUPPORT: Support has been added for the Atom 1.0 IETF
264 - standard. Several other elements are also newly supported
265 - (dcterms:created, dcterms:issued, dcterms:modified, dc:identifier,
266 - proper support for the RSS 2.0 guid element, the RSS 2.0 author element,
267 - the use of Atom author or Dublin Core dc:creator constructs at the feed
268 - level to identify the author of individual items, etc.)
269 -
270 - N.B.: full support of several Atom 1.0 features, such as categories
271 - and enclosures, requires you to install the optional rss-functions.php
272 - upgrade in your wp-includes directory.
273 -
274 -* BUG FIX: Running `update-feeds.php` from command line or crontab
275 - returned "I don't syndicate..." errors. It turns out that WordPress
276 - sometimes tramples on the internal PHP superglobals that I depended on
277 - to determine whether or not the script was being invoked from the
278 - command line. This has been fixed (the variables are now checked
279 - *before* WordPress can trample them). Note that `update-feeds.php` has
280 - been thoroughly overhauled anyway; see below for details.
281 -
282 -* BUG FIX: Duplicate categories or author names. Fixed two bugs that could
283 - create duplicate author and/or category names when the name contained
284 - either (a) certain international characters (causing a mismatch between
285 - MySQL and PHP's handling of lowercasing text), or (b) characters that
286 - have a special meaning in regular expressions (causing MySQL errors when
287 - looking for the author or category due to regexp syntax errors). These
288 - should now be fixed thanks to careful escaping of names that go into
289 - regular expressions and careful matching of lowercasing functions
290 - (comparing results from PHP only to other results from PHP, and results
291 - from MySQL only to other results from MySQL).
292 -
293 -* BUG FIX: Items dated Decembr 31, 1969 should appear less often. The
294 - function for parsing W3C date-time format dates that ships with
295 - MagpieRSS can only correctly parse fully-specified dates with a
296 - fully-specified time, but valid W3C date-time format dates may omit the
297 - time, the day of the month, or even the month. Some feeds in the wild
298 - date their items with coarse-grained dates, so the optional
299 - `rss-functions.php` upgrade now includes a more flexible parse_w3cdtf()
300 - function that will work with both coarse-grained and fully-specified
301 - dates. (If parts of the date or the time are omitted, they are filled in
302 - with values based on the current time, so '2005-09-10' will be dated to
303 - the current time on that day; '2004' will be dated to this day and time
304 - one year ago.
305 -
306 - N.B.: This fix is only available in the optional `rss-functions.php`
307 - upgrade.
308 -
309 -* BUG FIX: Evil use of HTTP GET has been undone. The WordPress interface
310 - is riddled with inappropriate (non-idempotent) uses of HTTP GET queries
311 - (ordinary links that make the server do something with significant
312 - side-effects, such as deleting a post or a link from the database).
313 - FeedWordPress did some of this too, especially in places where it aped
314 - the WordPress interface (e.g. the "Delete" links in Links -->
315 - Syndicated). That's bad business, though. I've changed the interface so
316 - that all the examples of improper side-effects that I can find now
317 - require an HTTP POST to take effect. I think I got pretty much
318 - everything; if there's anything that I missed, let me know.
319 -
320 - Further reading: [Sam Ruby 2005-05-06: This Stuff Matters] (http://www.intertwingly.net/blog/2005/05/06/This-Stuff-Matters)
321 -
322 -* BUG FIX: Categories applied by `cats` setting should no longer prevent
323 - category-based filtering from working. In FeedWordPress, you can (1)
324 - apply certain categories to all syndicated posts, or all posts from
325 - a particular feed; and (2) filter out all posts that don't match one
326 - of the categories that are already in the WordPress database (allowing
327 - for simple category-based filtering; just load up WordPress with the
328 - categories you want to accept, and then tell FeedWordPress not to create
329 - new ones). However, the way that (1) and (2) were implemented meant that
330 - you couldn't effectively use them together; once you applied a known
331 - category to all syndicated posts from a particular feed, it meant that
332 - they'd have at least one familiar category (the category or categories
333 - you were applying), and that would get all posts past the filter no
334 - matter what categories they were originally from.
335 -
336 - Well, no longer. You can still apply categories to all syndicated posts
337 - (using either Syndication --> Options, or the feed-level settings under
338 - Links --> Syndicated). But these categories are not applied to the post
339 - until *after* it has already passed by the "familiar categories" filter.
340 - So now, if you want, you can do category filtering and *then* apply as
341 - many categories as you please to all and only posts that pass the filter.
342 -
343 -* BUG FIX: Other minor typos and HTML gaffes were fixed along the way.
344 -
345 -* PERFORMANCE: get_feed_meta() no longer hits the database for information
346 - on every call; it now caches link data in memory, so FeedWordPress only
347 - goes to the database once for each syndicated link. This may
348 - substantially improve performance if your database server resources
349 - are tight and your templates make a lot of use of custom settings from
350 - get_feed_meta().
351 -
352 -* API CHANGE: Link ID numbers, rather than RSS URIs, are now used to
353 - identify the feed from which a post is syndicated when you use template
354 - functions such as get_feed_meta(). The practical upshot of this is you
355 - can switch feeds, or change the feed address for a particular syndicated
356 - site, without breaking your templates for all the posts that were
357 - syndicated from the earlier URI.
358 -
359 -* API CHANGE: if you have plugins or templates that make use of the
360 - get_feed_meta() function or the $fwp_feedmeta global, note that the
361 - data formerly located under the `uri` and `name` fields is now located
362 - under the `link/uri` field and the `link/name` field, respectively. Note
363 - also that you can access the link ID number for any given feed under the
364 - global $fwp_feedmeta['link/id'] (in plugins) or
365 - get_feed_meta('link/id') (in a template in post contexts).
366 -
367 -* FEATURE: the settings for individual feeds can now be edited using a
368 - humane interface (where formerly you had to tweak key-value pairs in the
369 - Link Notes section). To edit settings for a feed, pick the feed that you
370 - want under Links --> Syndicated and click the Edit link.
371 -
372 -* FEATURE: The "Unsubscribe" button (formerly "Delete") in Links -->
373 - Syndicated now offers three options for unsubscribing from a feed: (1)
374 - turning off the subscription without deleting the feed data or affecting
375 - posts that were syndicated from the feed (this works by setting the Link
376 - for the feed as "invisible"); (2) deleting the feed data and all of the
377 - posts that were syndicated from the feed; or (3) deleting the feed data
378 - and *keeping* the posts that were syndicated from the feed
379 - setting the Link to "Invisible" (meaning that it will not be displayed
380 - in lists of the site links on the front page, and it won't be checked
381 - for updates; (2) deleting the Link and all of the posts that were
382 - syndicated from its feed; or (3) deleting the feed data but keeping the
383 - posts that were syndicated (which will henceforward be treated as if
384 - they were local rather than syndicated posts). (Note that (1) is usually
385 - the best option for aggregator sites, unless you want to clean up the
386 - results of an error or a test.)
387 -
388 -* FEATURE / BUG FIX: If you have been receiving mysterious "I don't
389 - syndicate...", or "(local) HTTP status code was not 200", or "(local)
390 - transport error - could not open socket", or "parse error - not well
391 - formed" errors, then this update may solve your problems, and if it does
392 - *not* solve them, it will at least make the reasons for the problems
393 - easier to understand. That's because I've overhauled the way that
394 - FeedWordPress goes about updating feeds.
395 -
396 - If you use the command-line PHP scripting method to run scheduled
397 - updates, then not much should change for you, except for fewer
398 - mysterious errors. If you have done updates by sending periodic HTTP
399 - requests to <http://your-blog.com/path/wp-content/update-feeds.php>,
400 - then the details have changed somewhat; mostly in such a way as to make
401 - things easier on you. See the README file or online documentation on
402 - Staying Current for the details.
403 -
404 -* FEATURE: FeedWordPress now features a more sophisticated system for
405 - timed updates. Instead of polling *every* subscribed feed for updates
406 - *each* time `update-feeds.php` is run, FeedWordPress now keeps track of
407 - the last time it polled each feed, and only polls them again after a
408 - certain period of time has passed. The amount of time is normally set
409 - randomly for each feed, in a period between 30 minutes and 2 hours (so
410 - 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
411 - directly by the feed, which brings us to ...
412 -
413 -* FEATURE: FeedWordPress now respects the settings in the `ttl` and
414 - Syndication Module RSS elements. Feeds with these elements set will not
415 - be polled any more frequently than they indicate with these feeds unless
416 - the user manually forces FeedWordPress to poll the feed (see Links -->
417 - Syndicated --> Edit settings).
1 +Change Log
2 +==========
418 3
419 4 Changes from 0.95 to 0.96
420 5 -------------------------
421 6