0.13 added "stream context" support to rippy_readfile and higher-level routines; this allows use of HTTP proxies, and user agent setting improved parsing of unclosed tags when scraping old non-XML HTML fixed handling of failed self-modifying format commands; this has the effect of fixing "empty URL" bug in default item format added sanity check for top-level tag in feed file; this fixes crash when delinquent feeds return HTML instead minor syntax cleanup 0.12 added @ to reduce the error messages during installation tweaked the conditions for cache updating fixed a longstanding bug in XML parsing that affected attribute values added translations for a few &#numeric entities more cautious clearing of the "recent" flag, to prevent seeing an entire feed as new when it comes back from having been broken. added rippy_export_opml() added Skippy scraping extension - alpha code, not fully documented 0.11 added "nofollow" support, and commentary for it 0.10 added per-feed "key" option to allow for title-less entries, etc. removed user-controlled filter dependence on register_globals (which probably shouldn't be turned on if allow_url_fopen, which the caching code needs, is also turned on - SECURITY ISSUE) added per-feed retention and display time limits and counts added global config parameter for retention and display limits fixed keep-everything-forever bug (tsk, that one should never have existed) and several secondary bugs created or revealed by this fix added "extended" formatting commands: FILTERIN and FILTEROUT (and the "kill" formatting variable) for regexp-based item filtering; FIRSTCHOICE (support of the existing formatting system in the new framework); HTMLESCAPE (used for RSS output); and REPLACE (to edit items, for instance to remove constructs). added experimental Atom support added UTF-8 translation kludge added RSS output demo (achwood-blogs.php) changed caching to load feed files in random order, so aggregation will still work when there are slow feeds on the list, as long as there are enough page loads in total. 0.9 changed filtering code to display items still in the RSS, even if they are old, if we're low on items to display (makes aggregator less likely to run dry) changed filtering code to only display items from feeds that are in the feeds array (even if others are in the aggregation file) to permit the next feature to work and solve some startup issues added optional "display only one or a few feeds" feature, managed by form variable, to aggregate.php added support for image caching the usual addition and removal of default feeds moved reading of files (both local and remote) into rippy_readfile() and built in my own timeout; this fixes problem noted at baremetal.com where Rippy sleeps forever waiting on a delinquent feed, eventually filling process table, and neither PHP nor Apache timeouts kill it file locking procedures revised and expanded change to rippy_updatecache: don't overwrite on failed HTTP transaction 0.8 fixed inconsistent version number in page title (minor typo) added "rippy_" prefix to function names to solve name clash with aggregate() built-in function of PHP 4.2 and future problems of this type - WARNING - this means you can't upgrade by just dropping in the new rippy,php, but must actually edit your calling code added translation for ' character entity fixed Ozy&Millie scraper script added clarifications to the README 0.7 new "formatting" system, allows comprehensive redefinition of the generated HTML without touching rippy.php (should ease future upgrades for the majority of users who customize the code) per-feed information placed in an array of arrays to allow more detailed configuration control cache updating moved into aggregate() (although you can still do it the old way if you really want to); now a new feed only needs to be added in one place in the code, although you still have to think about creating the cache file. more new feeds in the default list, some delinquent ones commented out reduced the emphasis on gDefaultIconURL because people hated it 0.6 made it process all new items in a given update at the same virtual time, to fix a bug that would mess up the order of items if there were many new in the same file. repaired the Ozy&Millie scraper script to accomodate changes on that site two changes suggested by Ewen McNeill: - changed HTML to be more XHTML-compliant (probably still not perfect) - only display
when there is a description (see comment in code) 0.5 reorganized source into multiple files for better maintenance/upgrading included copies of my comic-scraping scripts provided defaults for feeds which lack per-feed icon, title, link 0.4 added some new default feeds learned how to do pass-by-reference in PHP, and used that to move the basic parsing operation into a function improved parser to deal with RSS 1.0 - it's still a kludge, but now it's a more compatible kludge 0.3 made it use .= throughout - I somehow had the idea that that was one of the things Perl has and PHP doesn't. made it set the image and title for a feed unconditionally, which makes for faster recovery if bad data should get stored for those. Thanks Les Benson for reporting the problem that led to this change. changes to purging algorithm to handle very slow feeds improved internal documentation added a time limit and a probabilistic update feature, both to improve response for systems that aggregate from a lot of different inputs 0.2 added
between entries made eliminate outdated entries (shame on me, I meant to do that in 0.1) 0.1 initial release