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