The latest, HTML version of this document is always available at http://plagger.org/trac.cgi/wiki/PlaggerChangeLog

== 0.6.3 (2006/04/15) ==

=== Core ===

 * EntryFullText: Fixed bug that date format is not properly decoded as UTF-8
 * requires URI::Fetch 0.06. #168
 * Added various sites upgrader files (miyagawa, s_nobu, ko, mamorou, nTeTs, youpy)
 * Added atode.cc sample in examples directory

=== New Plugins ===

 * Filter::BreakEntriesToFeeds: Break entries in each entry as a feed containing single entry (miyagawa)
 * Filter::2chRSSPermalink: Fix rss.s2ch.net feeds permalink (youpy)
 * Subscription::2chThreadList: Add 2ch threads to Subscription using rss.s2ch.net feeds (youpy)

=== Plugins Updates ===

 * Subscription::Planet: Allow multiple keywords set in config files. Allow non utf-8 URI escape (Suggested by secondlife)
 * CustomFeed::Mixi: Fix newline are not correctly extracted in Messages feed. Fixed first-time access bug without cookies
 * Subscription::Bloglines: Fix atom:id bug when permaLink="false"

== 0.6.2 (2006/04/10) ==

=== Core ===

 * When character set declared is invalid, falls back to auto detection (Reported by typester)
 * Fix Atom feeds handling when there's no content
 * requires URI::Fetch 0.06 which has better redirection support
 * Fixed $plugin->assets_dir bug that it doesn't respect global config (Reported by s_nobu)
 

=== New Plugins ===

 * Filter::HatenaDiaryKeywordUnlink: strip links to Hatena Diary Keywords (miyagawa)
 * CustomFeed::GoogleNews: Create custom feeds off of Google News (miyagawa)
 
=== Plugins Updates ===

 * CustomFeed::Yahoo360JP: Separate blast feed as a different feed (miyagawa)
 * Filter::EntryFullText: Added lots of site upgrade files (miyagawa, typester, s_nobu)
 * CustomFeed::Frepa: Fix buddy icon link to your own comment (miyagawa)
 * Subscription::Bloglines: Fix $entry->permalink bug when atom:id is tag (miyagawa)
 * Subscription::Config: now allows empty list of feeds (miyagawa)


== 0.6.1 (2006/04/03) ==

=== Core ===

 * New Feed Upgrade framework: CustomFeed::Simple and Filter::EntryFullText
 * Supports .pl and .yaml file based site upgrader scripts
 * Plagger::Util has decode_content and extract_title
 * Support metadata in config.yaml
 * Support automatic config rewriting for password fields using Base64 for now
 * New dependencies: Module::Pluggable::Fast and HTML::ResolveLink
 * Uses Encode::Detect and falls back to Encode::Guess to guess charset of HTML
 * New author: typester (Daisuke Murase)
 * Added lots of site upgrade scripts

=== New Plugins ===

 * Filter::YahooBlogSearchPermalink: Fixes permalink redirector of Y! Blog Search (.jp) (miyagawa)

=== Plugins Updates ===

 * WebService::Bloglines: Fix guid stringification bug (typester)
 * CustomFeed::iTunesRecentPlay: Amazon Web Services Integration (mizzy)
 * CustomFeed::Frepa: Fixed blast error logic (secondlife)
 * Subscription::Planet: Added Yahoo! Blog Search, Feedster and BlogPulse



== 0.6.0 (2006/04/02) ==

=== Core ===

 * revamped CustomFeed API 
 * Aggregator::Simple supports RSS/Atom auto-discovery. #20
 * Fixed CustomFeed multiple instances bug. #110 
 * Autoload Aggregator::Simple when no Aggregator is used. #125
 * Added $context->is_loaded($plugin). #125
 * $plugin->log is now supported
 * Uses newly added $plugin->plugin_id method to avoid cache gotcha. #95
 * $plugin->cache->path_to automatically creates sub directories. #118
 * SmartFeed now uses permalink to dedupe entries
 
=== New Plugins ===

 * Filter::FeedFlareStripper: Strip FeedFlare from FeedBurner feeds (miyagawa)
 * Widget::BloglinesSubscription: Link to edit subscription of Bloglines #123 (miyagawa)
 * Subscription::DBI: manage subscriptions using database (Franck Cuny)
 * CustomFeed::SVNLog: Create feeds from subversion log (Michiya Honda)
 * Filter::Profanity: replace profane terms to !%$@# (miyagawa)
 * Filter::Thumbnail: create thumbnail screenshot to use as feed icon (miyagawa)
 * Widget::BulkfeedsSpamReport: Report feed as Splog to Bulkfeeds. #135 (miyagawa) 
 * Filter::NamaanPermalink: extract permalink from redirector URL (miyagawa)
 * Filter::Romanize: uses kakasi to filter content into Roman (miyagawa)
 * Subscription::Planet: Aggregates entries from various RSS search engines (youpy)
 * Subscription::PingServer: Load pinged feeds to ping servers as subscription (ko)
 * Filter::Rule: generic rule based feed trimming (miyagawa)
 * Publish::Takahashi: Published feed entry titles as takahashi.xul file (miyagawa)
 * Filter::EntryFullText: Fetch Full-Text using site handler files (miyagawa)
 * Rule::URLBL: rule used with Aggregator to skip URLBL'ed feeds (ko)
  
=== Plugins Updates ===

 * Filter::StripRSSAd: More Google AdSense patterns, FeedBurner ads, seesaa.jp
 * Filter::FeedBurnerPermalink: Now work with RSS 1.0 feeds. #122
 * CustomFeed::Frepa: Update HTML pattern.
 * Filter::Base: new base class to handle HTML-only filter. #88
 * Publish::Speech: MacOSX impementation supported (Ryo Okamoto)
 * Publish::Planet: don't use HTML::Tidy for now. Fixed templates
 * Aggregator::Xango: Now requires Xango 1.04. Support RSS/Atom auto-discovery
 * Publish::Gmail: overwrite X-Mailer header
 * CustomFeed::Frepa: support FriendStatus and RecentComment (tokuhirom)
 * CustomFeed::Mixi: support Message and RecentComment (tokuhirom)
 * Subscription::Bloglines: Set RSS 2.0 guid as permalink (typester)

== 0.5.7 (2006/03/13) ==

=== Core ===

 * $entry->id tries hard to get unique ID
 * $entry->feed_link to point feed's link
 * Rename define_recipes and recipes

=== New Plugins ===

 * Publish::Maildir: Store updates to local mailbox (s_nobu)
 * Publish::IMAP: Store updates to IMAP mailbox (s_nobu)
 * CustomFeed::Debug: Create feed using config.yaml for debugging (naoya)
 * Filter::Emoticon: filter emoticons of MSN, Yahoo! or Google Talk (naoya)
 
=== Plugin Updates ===

 * Publish::MTWidget: fixed template rebuild bug (Thanks to charsbar)

== 0.5.6 (2006/03/08) ==

=== Core ===

 * New AUTHORS: Yuichi Tateno, Gosuke Miyashita, Casey West, Jesse Vincent, Naoya Ito and Kenichi Ishigaki
 * Make ~/.plagger directory not readable by other users. (Thanks to typester)
 * Better package management and pod tests (obra)
 * config examples/ directory (cwest)
 * Templates and other plugins resource rename (cwest)
 * SmartFeed now has $entry->source to point to source feed (miyagawa)
 * $context->templatize($plugin, $file, $var) conveniene method (miyagawa)
 * Plagger::Date now uses local timezone as a default, when there's no config
 * Added aggregator.aggregate.filter experimental hook for Aggregator::Simple (miyagawa)
 * Implement define_recipes, recipes and includes directive in config for DRY (Yappo, secondlife)
 * $plugin->cache->path_to() to point plugin specifc temp file (miyagawa)
 * Added 'plugin.init' hook (miyagawa)

=== New Plugins ===

 * Notify::SSTP: Notify updates to Sakura Script Transfer Protocol (secondlife)
 * Publish::Playlog: Use Atom Publishing Protocol to post iTunes playlog (mizzy)
 * CustomFeed::iTunesRecentPlay: iTunes' recent playlist as a custom feed (mizzy)
 * SmartFeed::All: All updates as one feed (miyagawa, cwest)
 * Publish::CSV: publish updates as Comma Separated Value format (naoya)
 * Filter::HatenaFormat: filter hatena format (naoya)
 * Publish::MT: publish updates using MT XML-RPC API (naoya)
 * Publish::Planet: Planet-Planet clone in Plagger (cwest)
 * Publish::OPML: publish OPML files based on subscription (miyagawa)
 * CustomFeed::FlickrSearch: Use Flickr API to create custom feeds (cwest)
 * CustomFeed::AmazonAssociateReportJP: Fetch Amazon's associate report (naoya)
 * Filter::ImageInfo: fetch information of $feed->image and $entry->icon (miyagawa)
 * Subscription::HatenaGroup: fetch Hatena Group blogs as subscription (tokuhirom)
 * Filter::BlogPet: Strip BlogPet's post (naoya)
 * Filter::SpamAssassin: Use SpamAssassin to strip spam posts (charsbar)
 * Filter::RSSLiberalDateTime: parses pubDate sring liberally (miyagawa)

=== Plugins Updates ===

 * Aggregator::Xango: Added conditional GET support #93 (Daisuke)
 * CustomFeed::Mixi: Support links to deleted entry #96 (miyagawa)
 * Aggregator::Simple: Fixed error handling bug when URL is 404 #97 (miyagawa)
 * CustomFeed::POP3: Create one feed per one mail (tokuhirom)
 * Publish::Gmail: Fixed bad MAIL FROM: when used with Sendmail (Thanks to maru.gs)
 * Subscription::Config: Support array of just URLs (miyagawa)
 * Publish::PSP: template typo fix in permalink (miyagawa)
 * Rule::Fresh: no datetime field means it's fresh (miyagawa)
 * Subscription::Bloglines: Liberal parser support. Fallbacks to loop mode when it still finds error (miyagawa)
 * Aggregator::Simple: uses XML::RSS::Liberal if it's installed (miyagawa)
 * Publish::Gmail: resizes feed and entry images when it's too big (miyagawa)
 * Filter::StripRssAd: Support Pheedo ads pattern (miyagawa)
 * Rule::Fresh: Handle empty dates better (cwest)
 * Aggregator::Simple: handle Atom 1.0 date fields (miyagawa, cwest)
 * Widget::HatenaBookmarkUsersCount: Support '#' in the URL (otsune)
 * CustomFeed::Frepa: Fixed to support Frepa's new HTML (miyagawa)

== 0.5.5 (2006/03/03) ==

=== Core ===

 * Added --version and shorter -c & -v to plagger script
 * $entry->body_text now decode HTML entities correctly. #82
 * New Plagger::Cache framework, accessible via $plugin->cache
 * Added cookie_jar method to cache. $plugin->cache->cookie_jar
 * config.yaml is now found using FindBin, rather than the current directory (Naoya Ito)
 * New AUTHORS: Yoshiki Kurihara, Fumiaki Yoshimatsu, Masafumi Otsune, Takeshi Nagayama and fuba

=== New Plugins ===

 * Filter::HatenaDiaryKeywordLink: Automatically link Hatena Diary Keywords in entry body (tokuhirom)
 * Publish::Feed: Output Atom and RSS feeds using XML::Feed (clouder)
 * Filter::ResolveRelativeLink: Fix relative links in entry body (miyagawa)
 * CustomFeed::Yahoo360JP: Login to Yahoo! 360 Japan and fetch blogs and blasts (miyagawa)
 * Filter::BulkfeedsTerms: Use Bulkfeeds API to fetch specific terms in entry (miyagawa)
 * Filter::2chNewsokuTitle: Add prefix and postfix to entry title ala 2ch.net Newsoku style (miyagawa)
 * Notify::Eject: eject your CD drive to notify feed updates! :-) (Yappo, fumiakiy, otsune)
 * Publish::Pipe: use UNIX pipe to notify the updates to commands (e.g: lpr, /usr/bin/say) (youpy)
 * Notify::Campfire: Notify feed updates to 37 signals' Campfire chat service (nagayama)
 * Filter::Regexp: Update entry body by a regular expression in config (miyagawa)
 * Publish::HatenaBookmark: post updates to Hatena Bookmark using Atom Protocol (fuba)
 * CustomFeed::POP3: Fetch email using POP3 protocl and creates feed off of it (tokuhirom)
 * Filter::RSSTimeZoneString: Fix RSS 2.0 bad timezone string in RFC 822 date format (miyagawa)
 * Filter::FloatingDateTime: Fix floating datetime (dc:date and such) to your local timezone (kazeburo)

=== Plugins Updates ===
 
 * Publish::Delicious: fix UTF-8 escape bug.
 * Subscription::Bloglines: Added 'fetch_meta' option to fetch folder structure and feed URL
 * Subscription::Bloglines: Fix annoying UTF-8 bad sequences by upgrading to WebService::Bloglines 0.10
 * Filter::TTP: Added 'text_only' option to filter text element only in HTML. #76
 * Fitler::StripRSSAd: Now it works with Bloglines subscription. Added Google AdSense pattern.
 * Publish::IRC, Publish::MSAgent and Publish::Growl are now renamed to Notify::*
 * Publish::Gmail: fixed typo in "Permalink" footer
 * CustomFeed::Mixi, CustomFeed::Frepa now uses Cache framework to store persistent cookies 
 * CustomFeed::Frepa: support PNG buddyicon
 * Publish::Gmail: do POP before SMTP authentication only once per whole publish
 * Subscription::OPML and Aggregator::Simple now use URI::Fetch and Cache framework for conditional GET

== 0.5.4 (2006/02/27) ==

=== Core ===

 * Makefile.PL has a much better dependencies definition #59 (Thanks to Daisuke Maki)
 * Fixed multiple categories handling bug in Aggregator::Simple (Thanks to koyachi)
 * Added body_text, title_text convinience methods to Feed and Entry
 * Now uses FindBin module to find templates directory in a better way (youpy)
 * New authors: Daisuke Maki, Tokuhiro Matsuno and Tsutomu Koyachi

=== New Plugins ===

 * Aggregator::Xango - POE based high-speed parallel crawling (daisuke)
 * Publish::PDF - Create PDF files based on feeds (miyagawa)
 * Publish::Speech - Make the feeds as an audio using Text-to-Speech (miyagawa)
 * Publish::MSAgent - Let Microsoft Agent speak feeds content (miyagawa)
 * Publish::Growl - Send feed notifications to Mac OSX Growl (kazeburo)
 * Filter::tDiaryComment - strip comments from tDiary RSS (tokuhirom)
 * Filter::TTP - replace ttp: with http: (tokuhirom)
 * Filter::DeliciousFeedTags - split del.icio.us "foo bar baz" tags into array (miyagawa)
 * Publish::Delicious - post entries to del.icio.us automatically (koyachi)

=== Plugins Updates ===

 * Publish::Spotlight: Now it fallbacks to osascript when Mac::Glue is not installed
 * Publish::MTWidget: Added an option to rebuild the blog templates after updating widgets
 * Publish::Gmail: Added an option to support POP3 before SMTP (tokuhirom)

== 0.5.3 (2006/02/25) ==

=== Core ===

 * Added aggregator.finalize, publish.entry and publish.init hook
 * Added Plagger::Rule::Fresh to match with 'fresh' entries (thanks to youpy)
 * Fixed bug with SmartFeed creating duplicated entries #61
 * Support log:level global configuration flag to set min loglevel

=== Plugins ===

 * Added Publish::Spotlight to create WebBookmark searchable with Spotlight (youpy)
 * Added Search::Namazu to create HTML files searchable with Namazu (miyagawa)
 * Added Search::Rast to index entries with Rast (Yappo)
 * Added Publish::MTWidget to publish Movable Type Sidebar Manager widget (miyagawa)
 * Added an option 'show_icon: 1', to show users pic in Frepa and Mixi custom feeds
 * Fixed Subscription::Mailman to handle subject prefixes without index
 * Publish::IRC now has 'announce: action' option to use CTCP ACTION rather than NOTICE
 * Filter::StripRSSAd now strips Rakuten Hiroba (plaza.rakuten.co.jp) ad pattern
 * Fixed CustomFeed::Frepa to complete the trimmed title under fetch_body mode
 * Fixed typo in Subscription::HatenaRSS

== 0.5.2 (2006/02/22) ==

 * Added Subscription::HatenaRSS plugin to fetch subscription from Hatena RSS (http://r.hatena.ne.jp/)
 * Added Subscription::Odeo plugin to fetch subscription from Odeo (http://www.odeo.com/): #43
 * Added Publish::IRC plugin to notify updates to IRC channel: #46 (Masayoshi Sekimura)
 * Fixed critical bug that Rule::Expression is broken: #51
 * Fixed Mailman CustomFeed bug around English localization: #49
 * Added Filter::RSSStripAd plugin to strip ads of Google AdSense or RssAd.jp: #33

== 0.5.1 (2006/02/17) ==
 
 * Updated package name from "plagger" to "Plagger"
 * Fixed MANIFEST problem that doesn't contain "config.yaml.sample"

== 0.5.0 (2006/02/17) ==

 * First release