Aggregator2 changes:

20/10/2005 - ahwayakchih - Try to use GUID/ID for identifing items. Only if it's not possible (no unique identifier found in aggregated data) use item's link.
18/10/2005 - ahwayakchih - Now "apply changes to existing items" option is for adminitrators only, and it's default value can be set in admin/content/configure. Also now it includes updating filter format of items.
18/10/2005 - ahwayakchih - Fixed stupid bug in syntax.
16/10/2005 - ahwayakchih - Use drupal_access_denied() instead of own messages.
16/10/2005 - ahwayakchih - ATOM's title for feed image is now shortened to max 250 bytes if it's longer than 250 bytes :).
16/10/2005 - ahwayakchih - Now new url from "moved permanently" (HTTP 301 code) response is saved in database (feed's url is updated).
16/10/2005 - ahwayakchih - Added "Latest sources" block.
16/10/2005 - ahwayakchih - Added "sources" page. Now "source" link points to aggregator2/sources/{fid} instead of node/{fid}.
16/10/2005 - ahwayakchih - Fixed bug in parsing item's link in ATOM feeds.
15/10/2005 - ahwayakchih - Decode all entities at parse time. BTW should fix php5 problem issued here: http://drupal.org/node/34112.
15/10/2005 - ahwayakchih - Fix creation date, publish, and promote properties. They were getting overwritten by node.module validate function when user without 'administer nodes' permission updated feed.
15/10/2005 - ahwayakchih - Once again changed promoting code. Now it will keep items promoted from all feeds, not just one ;)
15/10/2005 - ahwayakchih - Now items can show link to "source" (to their feed).
15/10/2005 - ahwayakchih - More changes for permissions. Added "refresh own feed items" permission.
14/10/2005 - ahwayakchih - Separated CHANGES from .module file into CHANGES.txt file. Same for TODO list.
14/10/2005 - ahwayakchih - Fix maxlength of "image" input field for feed node. 250 was too short. 1024 should be ok.
12/10/2005 - ahwayakchih - With new permissions and access check handling we don't need to require permission for aggregating data at cron run :)
12/10/2005 - ahwayakchih - Changed permissions. It's a bit messy now... if it will work (it works on tests, but...) try to find a way to clean it up.
12/10/2005 - ahwayakchih - Fixed CHANGES - i forgot to mention JLo's (Jonathan Lowrance) change. Sorry for that.
09/10/2005 - ahwayakchih - Fixed loading aggregator2-item from database (original author was not recognized because it should be named "aggregator2_author" in node :).
09/10/2005 - ahwayakchih - Change SQL commands used for promoting items. Now it should be compatible with PostgreSQL and older MySQL.
07/10/2005 - ahwayakchih - Added simple caching for blocks. Now it doesn't support access rules :(
07/10/2005 - ahwayakchih - Added temporary property to item node object, called rss_item_data, which points to point in tree from which node is created.
07/10/2005 - ahwayakchih - Update aggregator2-feed's body only if it's not set already. This will allow user to use own description instead of the one from aggregated data.
06/10/2005 - ahwayakchih - Extended list of predefined time intervals defining how long items should be kept.
30/09/2005 - ahwayakchih - Fixes to parsing - decode named entities to UTF-8 characters, strip tags from title.
28/09/2005 - ahwayakchih - Removed post-filtering temlates thing to separate module.
27/09/2005 - ahwayakchih - First (very basic, unoptimal) try at item's content filter which will allow setting "template" for viewing each item: [node|author] writes: <i>[node|body]</i>.
27/09/2005 - ahwayakchih - Fix for generating title for item from content - i broke it with some earlier changes
25/09/2005 - ahwayakchih - Added support for <author><name>NAME</name></author> way used in ATOM
22/09/2005 - ahwayakchih - First attempt to fix relative URLs :)
21/09/2005 - ahwayakchih - Fixed some bugs. Added de-escaping of entities. That should prevent things like &#dddd; showing up when viewing pages (Drupal escapes entities, so "&" from entity was escaped again creating &amp;#dddd; horror ;(
13/09/2005 - ahwayakchih - Fixed bug which prevented updating "checked" value in database (there's not such thing as $feed->fid, there's only $feed->nid :)
03/09/2005 - ahwayakchih - Now items remember data found in <source> tag (source_title and source_link properties of aggregator2-item node). RSS generated by Drupal will contain them, or, if not available, Drupal's feed link
03/09/2005 - ahwayakchih - Removed call to refresh feed from aggregator2_insert()
02/09/2005 - ahwayakchih - Changed item_promote setting into promoted_items. Now it's count of items to be promoted to front page at a time
30/08/2005 - Jonathan Lowrance <joncup@gmail.com> - Added link to create feed to admin/aggregator2 page.
30/08/2005 - ahwayakchih - Added option to decide which news items should be deleted if their date is "too old to keep"
30/08/2005 - ahwayakchih - Added "Freeze" option to stop updating feed at cron run
28/08/2005 - ahwayakchih - Added "Image link" field, so now "logo" can be edited. Also now image field is updated from aggregated data only if there's no image set yet (ie. "Image link" field is empty)
27/08/2005 - ahwayakchih - Now item's date of creation is set only when creating new item (so not when updating already existing item :)
27/08/2005 - ahwayakchih - Added option to not update items if they already exist in database. If "Update items" is not set, items in databse will not have properties (body, title, and any other changes) overwritten at next cron run
26/08/2005 - ahwayakchih - Fix timestamps and workaround buggy hour format (24:xx:xx should be 00:xx:xx)
24/08/2005 - Richard Eriksson - Added promoted/unpromoted option for items. Now it depends on feed setting if new items will be promoted or not
23/08/2005 - ahwayakchih - Don't add items which will be deleted at the same cron run (huge speedup for some feeds which contain a lot of items)
23/08/2005 - ahwayakchih - Fix for handling "<description />" and similar tags properly (in fact it was there, just not used -  i thought it will nto happen and wanted to get some speedup... i was wrong again ;)
22/08/2005 - ahwayakchih - Now items in RSS generated by drupal will contain <source> tag with url of source feed
19/08/2005 - ahwayakchih - Added "update existing items" option to feed form, so taxonomy changes can be applied to all existing items. This implementation will have ti be changed later, to split updated for many cron runs
19/08/2005 - ahwayakchih - Moved sniffing which field to use for content to inside loop (for example, some feeds use 'SUMMARY' for first item, and 'CONTENT' for other items). This probably further slows down whole thing, not much but still :(
19/08/2005 - ahwayakchih - Added support for weird "content:encoded" tag
19/08/2005 - ahwayakchih - Now "checked" property is updated every time and feeds are updated "first updated goes last" order, so all feeds have a chance to be updated sooner or later (even if they're outside of limit count :)
17/08/2005 - ahwayakchih - Added option for publish/don't publish items. Now it depends on feed setting if new items will be published or not
15/08/2005 - ahwayakchih - Improved support for Atom, added support for RSS 1.1
14/08/2005 - ahwayakchih - Handle mode="escaped", now such content will be de-escaped :)
14/08/2005 - ahwayakchih - Improved preg_replace rule used for "pre-parsing" aggregated Atom data
13/08/2005 - ahwayakchih - Added "temporary" hacks to support Atom feeds
13/08/2005 - ahwayakchih - Tiny cleanup - now all links are "refresh items" (they were "refresh" in one place and "update" in others)
13/08/2005 - ahwayakchih - Moved functions around so now first go hooks, next menu callbacks, and last are private functions
13/08/2005 - ahwayakchih - Changed aggregator2_parse_feed() to aggregator2_parse_items() for readability
13/08/2005 - ahwayakchih - Moved parsing code to it's own function aggregator2_parse_xml(). Now it will be easier to implement more parsers
13/08/2005 - ahwayakchih - Fixed code for timing parser... i can't believe i made such a stupid mistake...
13/08/2005 - ahwayakchih - Tiny change to support Atom:Tagline as description of feed
13/08/2005 - ahwayakchih - Added limit counter for how many feed nodes will be updated at one cron run
08/08/2005 - ahwayakchih - Added aggregator2_validate() function. Now duplicated URL (or other error) will not allow saving node and not inserting data to aggregator2_feed database table (that should prevent those "invalid schema" errors when updating items :).
06/08/2005 - ahwayakchih - Rewritten XML parsing code to use references instead of eval(). Parsing time of OSNews feed dropped from 0.0003x to 0.0001x :)
05/08/2005 - ahwayakchih - Fixed bug in agregator2_parse_feed() - after changes to parser, i forgot to update code for creating title from description. THX to John Bransford for report
04/08/2005 - ahwayakchih - Now generating blocks for feeds is optional, and can be enabled/disabled on admin/settings/aggregator2 page
01/08/2005 - ahwayakchih - Basic support for Atom feeds
01/08/2005 - ahwayakchih - New XML parsing code. Now we get full XML tree parsed into PHP array
01/08/2005 - ahwayakchih - Fixed bug in aggregator2_admin_remove_feed_items() - now it first checks if $edit['nodes'] is array :)
31/07/2005 - ahwayakchih - Bring back support for "show link" option in feed node, show update & remove links only to admin
31/07/2005 - Budda - Cleanups in watchdog() calls passed data
31/07/2005 - Budda - Added selection list with feeds to item node form
31/07/2005 - Budda - Added detailed feed stats to the aggregator2-feed node views & removed use of l() for external urls
31/07/2005 - Budda - Improved feed remove items conformation page with quick access to view nodes being deleted
31/07/2005 - Budda - Added more traditional /admin/aggregator2 access to refresh & remove items
30/07/2005 - Budda - Removed need to store RSS data in dbase along side drupal node formatted data
30/07/2005 - ahwayakchih - Added storing parsed RSS data along with feeds and items, so other modules can use them (nice way for extending aggregator2 without putting everything into base code)
30/07/2005 - ahwayakchih - Added checking of feed->nid when finding out if aggregated item is already in database. Now it shouldn't overwrite items from other feeds
30/07/2005 - ahwayakchih - Changed SQL query for item in aggregator2_load() so it will work even if feed was deleted and only items left
30/07/2005 - ahwayakchih - Added workaround for l() generating wrong link for node, when clean URLs are disabled
22/07/2005 - Budda - Added feed remove items and confirmation page
21/07/2005 - Budda <mike@buddasworld.co.uk> - Added aggregator admin page
??/??/???? - ahwayakchih - Few first pre releases


Aggregator2 autotaxonomy changes:

09/10/2005 - ahwayakchih - Fix: Don't add tid to taxonomy array if it already exists there.
07/10/2005 - ahwayakchih - Added support for DublinCore's Subject and Atom's Category.
07/10/2005 - ahwayakchih - Fix: If there's no vocabulary set return without creating terms.
??/??/???? - Budda - First release.
