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