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