PluginProbe
FeedWordPress / 0.95
FeedWordPress v0.95
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 +78 -307 0.980.95 View file →
@@ -1,341 +1,109 @@
1 -FeedWordPress Change Log
2 -========================
1 +Change Log
2 +==========
3 3
4 -Changes from 0.97 to 0.98
5 -
6 -* WORDPRESS 2.0 COMPATIBILITY: This is a narrowly-targeted release to
7 - solve a major outstanding problem. FeedWordPress is now compatible with
8 - both WordPress 1.5 and WordPress 2.0. Incompatibilities that caused
9 - fatal SQL errors, and a more subtle bug with off-kilter counts of posts
10 - under a given category, have been resolved. FeedWordPress tests for
11 - database schema using the global $wp_db_version variable (if null, then
12 - we presume that we're dealing with WordPress 1.5).
13 -
14 - NOTE: I have **not** fully tested FeedWordPress with WordPress 2.0.
15 - Further testing may reveal more bugs. However, you should now be able
16 - to get at least basic FeedWordPress functionality up and running.
17 -
18 -* AUTHOR MATCHING: FeedWordPress tests several fields to see if it can
19 - identify the author of the post as a user already in the WordPress user
20 - database. In previous versions, it tested the user login, the nickname,
21 - and tested for "aliases" listed in the Profile (see documentation). FWP
22 - now also matches authors on the basis of e-mail address (*if* an e-mail
23 - address is present). This is particularly helpful for formats such as
24 - RSS 2.0, in which authors are primarily identified by e-mail addresses.
25 -
26 -Changes from 0.96 to 0.97
27 -
28 -* INSTALLATION PROCEDURE: Some of the changes between 0.96 and 0.97
29 - require upgrades to the meta-data stored by FeedWordPress to work
30 - properly. Thus, if you are upgrading from 0.96 or earlier to 0.97, most
31 - FeedWordPress operations (including updates and template functions)
32 - WILL BE DISABLED until you run the upgrade procedure. Fortunately,
33 - running the upgrade procedure is easy: just go to either Options -->
34 - Syndication or Links --> Syndicated in the WordPress Dashboard and press
35 - the button.
36 -
37 -* FEED FORMAT SUPPORT: Support has been added for the Atom 1.0 IETF
38 - standard. Several other elements are also newly supported
39 - (dcterms:created, dcterms:issued, dcterms:modified, dc:identifier,
40 - proper support for the RSS 2.0 guid element, the RSS 2.0 author element,
41 - the use of Atom author or Dublin Core dc:creator constructs at the feed
42 - level to identify the author of individual items, etc.)
43 -
44 - N.B.: full support of several Atom 1.0 features, such as categories
45 - and enclosures, requires you to install the optional rss-functions.php
46 - upgrade in your wp-includes directory.
47 -
48 -* BUG FIX: Running `update-feeds.php` from command line or crontab
49 - returned "I don't syndicate..." errors. It turns out that WordPress
50 - sometimes tramples on the internal PHP superglobals that I depended on
51 - to determine whether or not the script was being invoked from the
52 - command line. This has been fixed (the variables are now checked
53 - *before* WordPress can trample them). Note that `update-feeds.php` has
54 - been thoroughly overhauled anyway; see below for details.
55 -
56 -* BUG FIX: Duplicate categories or author names. Fixed two bugs that could
57 - create duplicate author and/or category names when the name contained
58 - either (a) certain international characters (causing a mismatch between
59 - MySQL and PHP's handling of lowercasing text), or (b) characters that
60 - have a special meaning in regular expressions (causing MySQL errors when
61 - looking for the author or category due to regexp syntax errors). These
62 - should now be fixed thanks to careful escaping of names that go into
63 - regular expressions and careful matching of lowercasing functions
64 - (comparing results from PHP only to other results from PHP, and results
65 - from MySQL only to other results from MySQL).
66 -
67 -* BUG FIX: Items dated Decembr 31, 1969 should appear less often. The
68 - function for parsing W3C date-time format dates that ships with
69 - MagpieRSS can only correctly parse fully-specified dates with a
70 - fully-specified time, but valid W3C date-time format dates may omit the
71 - time, the day of the month, or even the month. Some feeds in the wild
72 - date their items with coarse-grained dates, so the optional
73 - `rss-functions.php` upgrade now includes a more flexible parse_w3cdtf()
74 - function that will work with both coarse-grained and fully-specified
75 - dates. (If parts of the date or the time are omitted, they are filled in
76 - with values based on the current time, so '2005-09-10' will be dated to
77 - the current time on that day; '2004' will be dated to this day and time
78 - one year ago.
79 -
80 - N.B.: This fix is only available in the optional `rss-functions.php`
81 - upgrade.
82 -
83 -* BUG FIX: Evil use of HTTP GET has been undone. The WordPress interface
84 - is riddled with inappropriate (non-idempotent) uses of HTTP GET queries
85 - (ordinary links that make the server do something with significant
86 - side-effects, such as deleting a post or a link from the database).
87 - FeedWordPress did some of this too, especially in places where it aped
88 - the WordPress interface (e.g. the "Delete" links in Links -->
89 - Syndicated). That's bad business, though. I've changed the interface so
90 - that all the examples of improper side-effects that I can find now
91 - require an HTTP POST to take effect. I think I got pretty much
92 - everything; if there's anything that I missed, let me know.
93 -
94 - Further reading: [Sam Ruby 2005-05-06: This Stuff Matters] (http://www.intertwingly.net/blog/2005/05/06/This-Stuff-Matters)
95 -
96 -* BUG FIX: Categories applied by `cats` setting should no longer prevent
97 - category-based filtering from working. In FeedWordPress, you can (1)
98 - apply certain categories to all syndicated posts, or all posts from
99 - a particular feed; and (2) filter out all posts that don't match one
100 - of the categories that are already in the WordPress database (allowing
101 - for simple category-based filtering; just load up WordPress with the
102 - categories you want to accept, and then tell FeedWordPress not to create
103 - new ones). However, the way that (1) and (2) were implemented meant that
104 - you couldn't effectively use them together; once you applied a known
105 - category to all syndicated posts from a particular feed, it meant that
106 - they'd have at least one familiar category (the category or categories
107 - you were applying), and that would get all posts past the filter no
108 - matter what categories they were originally from.
109 -
110 - Well, no longer. You can still apply categories to all syndicated posts
111 - (using either Syndication --> Options, or the feed-level settings under
112 - Links --> Syndicated). But these categories are not applied to the post
113 - until *after* it has already passed by the "familiar categories" filter.
114 - So now, if you want, you can do category filtering and *then* apply as
115 - many categories as you please to all and only posts that pass the filter.
116 -
117 -* BUG FIX: Other minor typos and HTML gaffes were fixed along the way.
118 -
119 -* PERFORMANCE: get_feed_meta() no longer hits the database for information
120 - on every call; it now caches link data in memory, so FeedWordPress only
121 - goes to the database once for each syndicated link. This may
122 - substantially improve performance if your database server resources
123 - are tight and your templates make a lot of use of custom settings from
124 - get_feed_meta().
125 -
126 -* API CHANGE: Link ID numbers, rather than RSS URIs, are now used to
127 - identify the feed from which a post is syndicated when you use template
128 - functions such as get_feed_meta(). The practical upshot of this is you
129 - can switch feeds, or change the feed address for a particular syndicated
130 - site, without breaking your templates for all the posts that were
131 - syndicated from the earlier URI.
132 -
133 -* API CHANGE: if you have plugins or templates that make use of the
134 - get_feed_meta() function or the $fwp_feedmeta global, note that the
135 - data formerly located under the `uri` and `name` fields is now located
136 - under the `link/uri` field and the `link/name` field, respectively. Note
137 - also that you can access the link ID number for any given feed under the
138 - global $fwp_feedmeta['link/id'] (in plugins) or
139 - get_feed_meta('link/id') (in a template in post contexts).
140 -
141 -* FEATURE: the settings for individual feeds can now be edited using a
142 - humane interface (where formerly you had to tweak key-value pairs in the
143 - Link Notes section). To edit settings for a feed, pick the feed that you
144 - want under Links --> Syndicated and click the Edit link.
145 -
146 -* FEATURE: The "Unsubscribe" button (formerly "Delete") in Links -->
147 - Syndicated now offers three options for unsubscribing from a feed: (1)
148 - turning off the subscription without deleting the feed data or affecting
149 - posts that were syndicated from the feed (this works by setting the Link
150 - for the feed as "invisible"); (2) deleting the feed data and all of the
151 - posts that were syndicated from the feed; or (3) deleting the feed data
152 - and *keeping* the posts that were syndicated from the feed
153 - setting the Link to "Invisible" (meaning that it will not be displayed
154 - in lists of the site links on the front page, and it won't be checked
155 - for updates; (2) deleting the Link and all of the posts that were
156 - syndicated from its feed; or (3) deleting the feed data but keeping the
157 - posts that were syndicated (which will henceforward be treated as if
158 - they were local rather than syndicated posts). (Note that (1) is usually
159 - the best option for aggregator sites, unless you want to clean up the
160 - results of an error or a test.)
161 -
162 -* FEATURE / BUG FIX: If you have been receiving mysterious "I don't
163 - syndicate...", or "(local) HTTP status code was not 200", or "(local)
164 - transport error - could not open socket", or "parse error - not well
165 - formed" errors, then this update may solve your problems, and if it does
166 - *not* solve them, it will at least make the reasons for the problems
167 - easier to understand. That's because I've overhauled the way that
168 - FeedWordPress goes about updating feeds.
169 -
170 - If you use the command-line PHP scripting method to run scheduled
171 - updates, then not much should change for you, except for fewer
172 - mysterious errors. If you have done updates by sending periodic HTTP
173 - requests to <http://your-blog.com/path/wp-content/update-feeds.php>,
174 - then the details have changed somewhat; mostly in such a way as to make
175 - things easier on you. See the README file or online documentation on
176 - Staying Current for the details.
177 -
178 -* FEATURE: FeedWordPress now features a more sophisticated system for
179 - timed updates. Instead of polling *every* subscribed feed for updates
180 - *each* time `update-feeds.php` is run, FeedWordPress now keeps track of
181 - the last time it polled each feed, and only polls them again after a
182 - certain period of time has passed. The amount of time is normally set
183 - randomly for each feed, in a period between 30 minutes and 2 hours (so
184 - 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
185 - directly by the feed, which brings us to ...
186 -
187 -* FEATURE: FeedWordPress now respects the settings in the `ttl` and
188 - Syndication Module RSS elements. Feeds with these elements set will not
189 - be polled any more frequently than they indicate with these feeds unless
190 - the user manually forces FeedWordPress to poll the feed (see Links -->
191 - Syndicated --> Edit settings).
192 -
193 -Changes from 0.95 to 0.96
194 -
195 -* FEATURE: support has been added for enclosures in RSS 2.0 and Atom
196 - 0.6+ newsfeeds. WordPress already supports adding enclosures to an
197 - item; FeedWordPress merely gets the information on the enclosure
198 - from the feed it is syndicating and plugs that information directly
199 - into the WordPress database so that (among other things) that post
200 - will have its enclosure listed in your blog's RSS 2 newsfeed.
201 -
202 - Note that enclosure support requires using the optional MagpieRSS
203 - upgrade (i.e., replacing your `wp-includes/rss-functions.php` with `OPTIONAL/wp-includes/rss-functions.php` from the FWP archive)
204 -
205 -* FEATURE: for completeness's sake, there is now a feed setting,
206 - `hardcode url`, that allows you to set the URI for the front page
207 - of a contributor's website manually (that is, prevent it from being
208 - automatically updated from the feed channel link on each update). To
209 - set the URI manually, put a line like this in the Link Notes section
210 - of a feed:
211 -
212 - hardcode url: yes
213 -
214 - You can also instruct FeedWordPress to use hardcoded URIs by default
215 - on all feeds using Options --> Syndication
216 -
217 -* FEATURE: by default, when FeedWordPress finds new syndicated posts,
218 - it (1) publishes them immediately, (2) turns comments off, and (3)
219 - turns trackback / pingback pings off. You can now alter all three
220 - default behaviors (e.g., to allow pings on syndicated posts, or to
221 - send newly-syndicated posts to the draft pile for moderation) using
222 - Options --> Syndication
223 -
224 -
225 4 Changes from 0.91 to 0.95
226 5 -------------------------
227 6
228 -* BUG FIX: Fixed an obscure bug in the handling of categories:
229 - categories with trailing whitespace could cause categories with
230 - duplicate names to be created. This no longer happens. While I was
231 - at it I tightened up the operation of
232 - FeedWordPress::lookup_categories() a bit in general.
7 +* BUG FIX: Fixed an obscure bug in the handling of categories: categories
8 + with trailing whitespace could cause categories with duplicate names to
9 + be created. This no longer happens. While I was at it I tightened up the
10 + operation of FeedWordPress::lookup_categories() a bit in general.
233 11
234 12 * FEATURE DEPRECATED: the feed setting `hardcode categories` is now
235 - deprecated in favor of `unknown categories` (see below), which
236 - allows you to strip off any syndication categories not already in
237 - your database using `unknown categories: default` or `unknown
238 - categories: filter`. If you have `hardcode categories: yes` set on a
239 - feed, this will be treated as `unknown categories: default` (i.e.,
240 - no new categories will be added, but if a post doesn't match any of
241 - the categories it will be added in the default category--usually
242 - "Uncategorized" or "General").
13 + deprecated in favor of `unknown categories` (see below), which allows
14 + you to strip off any syndication categories not already in your database
15 + using `unknown categories: default` or `unknown categories: filter`. If
16 + you have `hardcode categories: yes` set on a feed, this will be treated
17 + as `unknown categories: default` (i.e., no new categories will be added,
18 + but if a post doesn't match any of the categories it will be added in
19 + the default category--usually "Uncategorized" or "General").
243 20
244 21 * FEATURE: You can now set global defaults as to whether or not
245 - FeedWordPress will update the Link Name and Link Description
246 - settings for feeds automatically from the feed title and feed
247 - tagline. (By default, it does, as it has in past versions.) Whether
248 - this behavior is turned on or off, you can still override the
249 - default behavior using feed settings of `hardcode name: yes`,
250 - `hardcode name: no`, `hardcode description: yes`, or `hardcode
251 - description: no`.
22 + FeedWordPress will update the Link Name and Link Description settings
23 + for feeds automatically from the feed title and feed tagline. (By
24 + default, it does, as it has in past versions.) Whether this behavior is
25 + turned on or off, you can still override the default behavior using
26 + feed settings of `hardcode name: yes`, `hardcode name: no`,
27 + `hardcode description: yes`, or `hardcode description: no`.
252 28
253 -* FEATURE: Users can now provide one or several "aliases" for an
254 - author, just as they can for a category. For example, to make
255 - FeedWordPress treat posts by "Joseph Cardinal Ratzinger" and "Pope
256 - Benedict XVI" as by the same author, edit the user profile for Pope
257 - Benedict XVI and add a line like this to the "User profile" field:
29 +* FEATURE: Users can now provide one or several "aliases" for an author,
30 + just as they can for a category. For example, to make FeedWordPress
31 + treat posts by "Joseph Cardinal Ratzinger" and "Pope Benedict XVI" as
32 + by the same author, edit the user profile for Pope Benedict XVI and add
33 + a line like this to the "User profile" field:
258 34
259 35 a.k.a.: Joseph Cardinal Ratzinger
260 36
261 - You can add several aliases, each on a line by itself. You can also
262 - add any other text you like to the Profile without interfering with
263 - the aliases.
37 + You can add several aliases, each on a line by itself. You can also add
38 + any other text you like to the Profile without interfering with the
39 + aliases.
264 40
265 -* FEATURE: Users can now choose how to handle syndicated posts that
266 - are in unfamiliar categories or by unfamiliar authors (i.e.,
267 - categories or authors whose names are not yet in the WordPress
268 - database). By default, FeedWordPress will (as before) create a new
269 - category (or new author) and use it for the current post and any
270 - future posts. This behavior can be changed, either for all feeds or
271 - for one or another particular feed.
41 +* FEATURE: Users can now choose how to handle syndicated posts that are
42 + in unfamiliar categories or by unfamiliar authors (i.e., categories or
43 + authors whose names are not yet in the WordPress database). By default,
44 + FeedWordPress will (as before) create a new category (or new author) and
45 + use it for the current post and any future posts. This behavior can be
46 + changed, either for all feeds or for one or another particular feed.
272 47
273 48 There are now three different options for an unfamiliar author: (1)
274 49 FeedWordPress can create a new author account and attribute the
275 - syndicated post to the new account; (2) FeedWordPress can attribute
276 - the post to an author if the author's name is familiar, and to a
277 - default author (currently, this means the Site Administrator
278 - account) if it is not; (3) FeedWordPress can drop posts by
279 - unfamiliar authors and syndicate only posts by authors who are
280 - already in the database.
50 + syndicated post to the new account; (2) FeedWordPress can attribute the
51 + post to an author if the author's name is familiar, and to a default
52 + author (currently, this means the Site Administrator account) if it is
53 + not; (3) FeedWordPress can drop posts by unfamiliar authors and
54 + syndicate only posts by authors who are already in the database.
281 55
282 - There are, similarly, two different options for an unfamiliar
283 - category: (1) FeedWordPress can create new categories and place the
284 - syndicated post in them; (2) FeedWordPress can drop the unfamiliar
285 - categories and place syndicated posts only in categories that it is
286 - already familiar with. In addition, FeedWordPress 0.95 lets you
287 - choose whether posts that are in *no* familiar categories should be
288 - syndicated (and placed in the default category for the blog) or
289 - simply dropped.
56 + There are, similarly, two different options for an unfamiliar category:
57 + (1) FeedWordPress can create new categories and place the syndicated
58 + post in them; (2) FeedWordPress can drop the unfamiliar categories and
59 + place syndicated posts only in categories that it is already familiar
60 + with. In addition, FeedWordPress 0.95 lets you choose whether posts that
61 + are in *no* familiar categories should be syndicated (and placed in the
62 + default category for the blog) or simply dropped.
290 63
291 - You can set the default behavior for both authors and categories
292 - using the settings in Options --> Syndication. You can also set
293 - different behavior for specific feeds by adding the `unfamiliar
294 - author` and / or `unfamiliar categories` settings to the Link Notes
295 - section of a feed:
64 + You can set the default behavior for both authors and categories using
65 + the settings in Options --> Syndication. You can also set different
66 + behavior for specific feeds by adding the `unfamiliar author` and / or
67 + `unfamiliar categories` settings to the Link Notes section of a feed:
296 68
297 69 unfamiliar author: (create|default|filter)
298 70 unfamiliar categories: (create|default|filter)
299 71
300 - A setting of `unfamiliar author: create` will make FeedWordPress
301 - create new authors to match unfamiliar author names *for this feed
302 - alone*. A setting of `unfamiliar author: default` will make it
303 - assign posts from unfamiliar authors to the default user account. A
304 - setting of `unfamiliar author: filter` will cause all posts (from
305 - this feed alone) to be dropped unless they are by an author already
306 - listed in the database. Similiarly, `unfamiliar categories: create`
307 - will make FeedWordPress create new categories to match unfamiliar
308 - category names *for this feed alone*; `unfamiliar categories:
309 - default` will cause it to drop any unfamiliar category names; and
72 + A setting of `unfamiliar author: create` will make FeedWordPress create
73 + new authors to match unfamiliar author names *for this feed alone*. A
74 + setting of `unfamiliar author: default` will make it assign posts from
75 + unfamiliar authors to the default user account. A setting of
76 + `unfamiliar author: filter` will cause all posts (from this feed alone)
77 + to be dropped unless they are by an author already listed in the
78 + database. Similiarly, `unfamiliar categories: create` will make
79 + FeedWordPress create new categories to match unfamiliar category names
80 + *for this feed alone*; `unfamiliar categories: default` will cause it
81 + to drop any unfamiliar category names; and
310 82 `unfamiliar categories: filter` will cause it to *both* drop any
311 - unfamiliar category names *and* to only syndicate posts that are
312 - placed in one or more familiar categories.
83 + unfamiliar category names *and* to only syndicate posts that are placed
84 + in one or more familiar categories.
313 85
314 - These two new features allow users to do some coarse-grained
315 - filtering without having to write a PHP filter. Specifically, they
316 - offer an easy way for you to filter feeds by category or by author.
317 - Suppose, for example, that you only wanted to syndicate posts that
318 - your contributors place in the "Llamas" category. You could do so by
319 - setting up your installation of WordPress so that the only category
320 - in the database is "Llamas," and then use Options --> Syndication to
321 - set "Unfamiliar categories" to "don't create new categories and
322 - don't syndicate posts unless they match at least one familiar
323 - category". Now, when you update, only posts in the "Llamas" category
324 - will be syndicated by FeedWordPress.
86 + These two new features allow users to do some coarse-grained filtering
87 + without having to write a PHP filter. Specifically, they offer an easy
88 + way for you to filter feeds by category or by author. Suppose, for
89 + example, that you only wanted to syndicate posts that your contributors
90 + place in the "Llamas" category. You could do so by setting up your
91 + installation of WordPress so that the only category in the database is
92 + "Llamas," and then use Options --> Syndication to set "Unfamiliar
93 + categories" to "don't create new categories and don't syndicate posts
94 + unless they match at least one familiar category". Now, when you update,
95 + only posts in the "Llamas" category will be syndicated by FeedWordPress.
325 96
326 97 Similarly, if you wanted to filter one particular feed so that only
327 98 posts by (for example) the author "Earl J. Llama" were syndicated to
328 - your site, you could do so by creating a user account for Earl J.
329 - Llama, then adding the following line to the settings for the feed
330 - in Link Notes:
99 + your site, you could do so by creating a user account for Earl J. Llama,
100 + then adding the following line to the settings for the feed in Link
101 + Notes:
331 102
332 103 unfamiliar author: filter
333 104
334 - This will cause any posts from this feed that are not authored by
335 - Earl J. Llama to be discarded, and only the posts by Earl J. Llama
336 - will be syndicated. (If the setting is used on one specific feed, it
337 - will not affect how posts from other feeds are syndicated.)
105 + This will cause any posts from this feed that are not authored by Earl
106 + J. Llama to be discarded, and only the posts by Earl J. Llama will be
107 + syndicated. (If the setting is used on one specific feed, it will not
108 + affect how posts from other feeds are syndicated.)
338 109