The latest, HTML version of this document is always available at http://plagger.org/trac.cgi/wiki/PlaggerChangeLog == 0.7.8 (2006/08/18) == === Core === * More fixes to Chimps client to deal with dependencies * Win32 fix to $t::TestPlagger::BaseDirURI * Deal with Unicode filenames on Win32 * DWIM config filter for t::TestPlagger * Cookies parser warns if cookie file is not found (reported by otsune) * Fix to t/core/cache.t for more time interval (charsbar) * More tests to more plugins! * Set cache base to File::Temp::tempdir in tests * Bump up XML::Feed requirement to 0.12 * refactored include/recipes handler to Plagger::ConfigLoader so bin/* scripts can use * Fixed Aggregator::Simple bug to deal with single MediaRSS element in Flickr feeds * Added tools/plugin-start.pl to start a new plugin module * test_requires_network() now can take an argument host to test (youpy) * Update include_deps in Makefile.PL to include YAML dependencies === New Plugins === * UserAgent::RequestHeader: Add arbitary HTTP request header based on URL (miyagawa) * Filter::ExtractAuthorName: Extract author name from RFC 2822 address in RSS 2.0 (miyagawa) * Widget::Simple: config based simple Widget creator (miyagawa) === Plugin Updates === * Publish::CHTML: Insert generated time in HTML (otsune) * Filter::BreakEntriesToFeeds: Support rules (suggested by otsune) * Search::Estraier: use "estmaster stop". Work with estmaster 1.3.x config files (reported by youpy) * Filter::Delicious: scrape big users count (taro) * Filter::Thumbnail: Add 'set_per_entry' config == 0.7.7 (2006/08/10) == === Core === * Misc test fixes to work on Win32 (reported by charsbar) * use File::HomeDir on Win32 if available rather than $ENV{HOME} * Plagger::Date->set_time_zone now doesn't die even if it can't figure out TZ * require HTML::Parser 3.51 to handle nasty HTML entities in tag attributes (reported by mizzy) * Fix core/cache.t to sleep a little bit (suggested by charsbar) * require XML::Feed 0.11 to handle Atom links without @rel (jwang) * Fix to Publish::Feed to emit valid Atom 1.0 * Fix parsing RSS 2.0 category tags with @domain (reported by typester) * Add Plagger::UserAgent hooks * Support Atom 1.0 category extraction (reported by jwang) * SUpport Atom 1.0 entry date handling without published (reported by jwang) === New Plugins === * UserAgent::AuthenRequest: Add per-site credentials to Plagger::UserAgent (typester) * Filter::GuessLanguage: guess language using Text::Language::Guess and other technique (charsbar) === Plugins Updates === * Notify::IRC: move to publish.entry so Rule plugin can work per entry (reported by clkao) * EntryFullText: Coule updates to sites (otsune) * Filter::Babelfish: use Filter::GuessLanguage (charsbar) * CustomFeed::YouTube: HTML layout update (yoshiki) * Publish::MT: hack SOAP::Transport::HTTP to use Plagger::UserAgent instead of LWP == 0.7.6 (2006/08/07) == === Core === * $context->run_hook can now take callbacks to pass result value * Use title specified in Subscription (Suggested by John Wang) #344 * Aggregator::Simple: looks_like_feed handles RSS 1.0 feed more generously * CustomFeed::Simple: fixed UUV warnings * Now plugin dependencies are defined in separate files in deps/ * Plagger::Date now supports $date->format( DateTime::Format object ) * SmartFeed::All: dedupe_entries now respects feed source domain, older date entry and full content feed. #333 * Publish::Feed: Make sure that generated Atom 1.0 and RSS feeds are valid using feedvalidator === New Plugins === * Search::KinoSearch: Use KinoSearch as a search backend (miyagawa) * Filter::Babelfish: Use WWW::Babelfish to translate entry content (charsbar) * Notify::NetSend: Use NetSend to notify entries (jiro) * Publish::Excel: Store feed entries body to .xls spreadsheet (jiro) === Plugins Updates === * EntryFullText: Fix YouTube handler. * Search::Estraier: Added unit test. Support searcher.search API * StripRSSAd: Add namaan.net ad entry stripper * Publish::SWF: Added j/k keyboard shortcut (akihito) == 0.7.5 (2006/07/26) == === Core === * Merge from branches/refactoring-planet * Plagger::UserAgent now deals with local files to get their MIME type correct * Big refactoring done for $plugin->templatize() usage. #229 * Start using Test::Base for unit tests and convert most of existent tests to TB based * Plagger->bootstrap() now returns $context * Added $plugin->load_assets method in a base class * decode $content before feed auto-discovery to avoid HTML::Parser warnings * Bump up XML::Feed requirement to 0.09 so it can generate RSS 2.0 with content:encoded. #104 * remove inc from svn * $feed->primary_author to return feed author by invsesting entries authors === New Plugins === * Bundle::Planet: to load bunch of plugins under the table to create Planet site with a few lines of config * Filter::StripTagsFromTitle: Strip tags found in title. #289 * Filter::HTMLScrubber: standalone HTML filter to scrub HTML, merged from feature-server (typester) * Publish::FOAFRoll: generate foafroll RDF ala Planet === Plugin Updates === * Publish::Planet: accept style_url as a list. #316 * Publish::Planet: Fixed typo in sixapart-std template. #309 * Publish::Planet: members_list is now deprecated and on by default * Publish::Planet: Bye to HTML::Tidy and HTML::Scrubber * Publish::Planet: 'skin' config is now renamed to 'theme' * Publish::Planet: skip non-http URLs * Subscription::Planet: add URL based search. #286 * Subscription::Planet: language based goruping. #288 * Bundle::Planet: Add OPML generation support * Bundle::Planet: Add FOAFRoll generation support * Aggregator::Null: fixed the fatal bug so it works * Rule::Fresh: now you can use human readable duraion format like '7 days'. Requires Time::Duration::Parse * Publish::Feed: 'full_content' config (defaults to 1) specified whether to publish fullcontent in the feeds * Publish::Feed: now generate Atom 1.0 by default if you use XML::Atom >= 0.20 * Publish::OPML: Now OPML validator compatible == 0.7.4 (2006/07/24) == === Core === * Support parsing multiple enclosures in RSS 2.0 * require URI::Fetch 0.071 which is not broken * Aggregator::Simple: More Liberal RSS 2.0 detection code * Rule::Deduped: Use entry's datetime as a part of key if it's there * Purge cache on the global destruction phase of every run. #306 * Fix Mac dependencies * RSS 2.0 feed will have the 1st enclosure with the URL defined. #325 * CustomFeed::Simple now resolves relative link before parsing. #325 * SmartFeed now allows setting 'link' (otsune, Dave Cross) * Don't override XML::LibXML with Liberal other than feed parsing. #324, #328 * plugin_path now can be a scalar * Use Term::Encoding to detect terminal encoding automatically if available. #329 * Updated Encode.pm dependency for callbacks. * Filter::EntryFullText now allows to write XPath expression to extract entry body (youpy) * Replace 'FOREACH foo IN bar' with 'FOREACH foo = bar' for TT backward compatibility (cmarcelo) === New Plugins === * CustomFeed::PerlMonks: Newest nodes on perlmonks (Jeff Bisbee) * Publish::LivedoorClip: Post entries to Livedoor Clip (Yappo) * Notify::Balloon: Notify updates using BalloonNotify on Win32 (miyagawa) * Publish::PowerPoint: Publish slides off of feeds (charsbar) * Publish::SWF: Publish Flash .swf file off of feed entries (akihito) === Plugins Updates === * Notify::IRC: better document, ick_taken error handling (Thanks to Jeff Bisbee), update template * Notify::IRC: refactored internal code and check IKC on init (Jeff Bisbee) * Subscription::LivedoorReader: Better JSON error handling * CustomFeed::Debug: Now being able to set datetime * Widget::Delicious: Update the post URI to v4. No username needed anymore. * Widget::HatenaBookmarkUsersCount: Use image based API if XMLRPC is not enabled (default) * Publish::Gmail: use permalink rather then entry.link * CustomFeed::AmazonAssociateReportJP: Added ordersReport (otsune) * CustomFeed::YouTube: update regular expressions (mizzy) * Filter::BreakEntriesToFeeds: Added 'use_entry_title' config == 0.7.3 (2006/06/22) == === Core === * Added Net::SMTP::TLS as a dependency * rewrite_config doesn't die if there's permission error * rewrite_config escapes regexp meta characters (Reported by s_fujiwara) * Don't include t/core in the distro now * === New Plugins === * Filter::FetchEnclosure::Curl: download enlcosures using Curl * CustomFeed::MixiDiarySearch: CustomFeed handler for mixi.jp diary search * Rule::Deduped: dedupe entries based on URL * CustomFeed::2chSearch: CustomFeed to handle find.2ch.net SERP * Notify::Beep: Beep your PC for feed notification using Audio::Beep * Subscription::Bookmarks: Extract subscription from Bookmarks of IE, Firefox and Safari (miyagawa, youpy) === Plugins Updates === * Publish::Gmail: wrap MIME::Lite errors in eval * Filter::FindEnclosures: Added yourfilehost.com, Mainichi Interactive and TypePad.com enclosure finder * CustomFeed::Flickr: refactored from scratch and added enclosure support * Filter::FetchEnclosure::ParallelUA: support Cookie sharing * Filter::EntryFullText: misc upgrader files (topia, otsune, youpy, drawnboy) * Notify::SSTP: added missing template (secondlife) * Filter::2chRSSContent: Support id-less boards * Publish::Gmail: don't send email when there's no entry #297 * Filter::EntryFullText: Added config parameter "force_upgrade" * Rule::URLBL: support DNS caching * Filter::TruePermalink: Don't rewrite permalink but link * Publish::JavaScript: code tweaks and document updates * Filter::EntryFullText: use Last-Modified to populate entry date even if there's no match * Publish::CHTML: don't die if entry body contains non-sjis mappable entities. Change default to cp932 * Subscription::Planet: Added feedster.jp * CustomFeed::Mixi: don't try to get unknown owner_id in RecentComment == 0.7.2 (2006/06/02) == === Core === * Make Cookies instances Singleton (suggested by Yappo) * Calls env_proxy on Plagger::UserAgent so that HTTP_PROXY env variable is respected (woremacx) * Add w3m cookie files support * Aggregator::Simple globally overrides LibXML parser with Liberal if possible * Recommend newest XML::Liberal 0.11 so that liberal XML parsing would take the best effect * $ua->mirror can take $req so that plugins can add custom HTTP headers like Referer. #208 * Change flv MIME value to video/x-flv * Media RSS support in RSS parsers to extract enclosures and thumbnails. #141 * XML::Feed, XML::Atom, XML::LibXML and XML::RSS::LibXML are now core required modules. #176 * Support Hatena Fotolife and Apple photocast namespaces for thumbnail extraction. === New Plugins === * Filter::LivedoorKeywordUnlink: strip and normalize links to livedoor keywords (miyagawa) * Subscription::File: subscribe to URLs in plain text file (wolverian) * Subscription::FOAF: subscribe to friends' weblogs in FOAF:knows (wolverian) * Subscription::Feed: subscribe to item links in RSS/Atom Feeds (miyagawa) * Filter::FetchEnclosure::Xango: Xango-based asynchronous POE downloader (dmaki) * Filter::FetchEnclosure::Wget: use wget command line tool for async download (miyagawa) * Filter::FetchEnclosure::ParallelUA: use LWP::Parallel for async download (miyagawa) === Plugins Updates === * Filter::2chRSSContent: Updated regexp so that it works without milliseconds (miagawa) * Filter::FeedBurnerPermalink: Work with Atom 1.0 feed to extract permalink * Subscription::Bloglines: Try with mark_read=0, then fallback to loop mode if it failed, to avoid data loss * CustomFeed::YouTube: updated regexp for thumbnail servers (fujiwara) * Filter::EntryFullText: move the place of hook before date parser to hack date format * Filter::BreakEntriesToFeeds: Don't change feed title. #220 * Filter::FetchEnclosure: Added fake_referer config to add Referer header. * Publish::Gmail: attaches inline img enclosures as multipart/related and replace img src with Content-IDs. * Publish::Gmail: attach_enclosures is now optional, defaults to off. * Fliter::RSSLiberalDateTime: Fixed bug around minus timezones * Filter::EntryFullText: Support icon extraction * Filter::EntryFullText: Added NoNetwork option to URI::Fetch so that it's much faster * Filter::EntryFullText: thinkit.co.jp and pasonatech.co.jp (otsune) * Subscription::Planet: Added new Bloglines feed search * Filter::*Permalink: removed in favor of TruePermalink == 0.7.1 (2006/05/24) == === Core === * Added woremacx, topia and cheebow as AUTHORS * Plagger::Cookies and Plagger::Mechanize allows Plagger to share cookies with your browser like Firefox, IE or Safari. === New Plugins === * Notify::UpdatePing: notify updates via XMLRPC pings (miyagawa) * Notify::Tiarra: notify updates via Tiarra control socket (topia) * Publish::PalmDoc: publish updates to PalmDoc (cheebow) * Publish::OutlineText: publish updates as outline text (cheebow) === Plugins Updates === * Filter::Regexp: now you can use utf-8 regular expressions (woremacx) * Widget::Delicious: Support one_click_post to automatically post by clicking (s_nobu) * Filter::FindEnclosures: Now it's extensible using meta-plugins. Added youtube.pl as an example. Thanks to mizzy * CustomFeed::Simple: deduplicate links by URLs. Don't add links associated with images without alt (miyagawa) * Filter::TruePermalink: Added YouTube, MSN Mainichi * Publish::MT: Fixed blog_id config bug. #252 * Subscription::LivedoorReader: Adds ApiKey as a sticky query to their API (suggested by mala) * Publish::Gmail: Don't trim lines over 1000 by using quoted-printable. * CustomFeed::GoogleNews: now accepts keyword search result page as well * Filter::HatenaRSS: Update OPML URL. Uses Cookie sharing framework. * CustomFeed::Frepa: Uses Cookie sharing. * CustomFeed::Mixi: Uses Cookie sharing. * CustomFeed::Yahoo360JP: Uses Cookie sharing. * Subscription::LivedoorReader: Uses Cookie sharing. * Notify::Campfire: Uses Cookie sharing. == 0.7.0 (2006/05/17) == === Core === * Shiny new Enclosure support! * Dependency for MIME::Types * Fix $cache->path_to auto creation bug * Allow plugins/Foo/Bar.pm directory strcuture to be backward compatible * Added regression and plugins tests suite for the first time === New Plugins === * Filter::FetchEnclosure: Download enclosures automatically to local * CustomFeed::YouTube: Search YouTube and find enclosures (mizzy) * Filter::RewriteEnclosureURL: Rewrite enclosure's URL when you republish downloaded enclosures * Filter::POPFile: Use POPFile XMLRPC API to classify feeds (charsbar) * Filter::TagsToTitle: Add tags to title as prefixes (charsbar) * Filter::FindEnclosures: Automatically discover enclosures in entry content * Filter::HEADEnclosureMetadata: Send HEAD requests to enclosures to get Length and correct filename * Subscription::XPath: extract subscriptions from XHTML using XPath (youpy) * Subscription::PlanetINI: extract subscriptions from Planet's config.ini file === Plugins Updates === * Publish::2chdat: Internal fix to use id_safe method * Subscription::Bloglines: support enclosures taken from sync API * Publish::Gmail: Attach enclosures if they're downloaded locally with FetchEnclosure * Filter::TruePermalink: Now supports rewriting enclosure URL as well. * Filter::TruePermalink: Support recursive mode and redirector resolution * Publish::Feed: Support enclosure creation in RSS 2.0 and Atom feeds * Filter::SpamAssassin: Nuked some options (charsbar) * Filter::HatenaKeyword: Use title to extract keywords as well * Filter::StripRSSAd: Added pheedo.jp pattern. Now can strip entry if it contains certain pattern. * == 0.6.6 (2006/05/12) == === Core === * Added sites upgrade files (woremacx) * Don't truncate newline after password rewrite #200 * Share $feed object between subscription and update * encode detection now uses XML encoding declaration first * Unhandled feed is removed from $context->subscription * Plagger::Date->parse doesn't force preference timezone if parsed datetime is floating * Load plugins from plugins/*/lib #212 === New Plugins === * Filter::HatenaKeywordTag: Use Hatena Keyword API to auto-tag (secondlife) * Search::Estraier: Search plugin to use Hyper Estraier Node API (miyagawa) * Subscription::XOXO: load subscription from XOXO microformats (miyagawa) * Publish::2chdat: Create 2ch subject.txt and *.dat files (miyagawa) * Filter::2chRSSContent: Fix rss.s2ch.net feed content (miyagawa) * Filter::Markdown: Filter entry body using Markdown syntax (s_nobu) === Plugins Updates === * Notify::IRC: added password config to plagger-ircbot #197 * Filter::TruePermalink: Updated Y! Blogsearch pattern. Added reedit.com * rename Publish::Spotlight to Search::Spotlight #207 * CustomFeed::Mixi: support "ashiato". Update WWW::Mixi deps * Rule::URLBL: now works with $args->{entry} to be used with Filter::Rule * Publish::Planet: get members from subscription rather than update #198 * CustomFeed::BloglinesCitation: Handle local datetime PST #187 * Filter::EntryFullText: now work with rule == 0.6.5 (2006/04/28) == === Core === * Aggregator::Simple: Allow bad content-type feeds like text/plain (miyagawa) * Aggregator::Simple: Hack nasty Unicode unflagness in Atom feed with XML::Feed (miyagawa, reported by otsune) === New Plugins === * Subscription::LivedoorReader: Fetch subscription via LDR (miyagawa) * Filter::CompositeFeed: pack all the feeds into entries of single feed (miyagawa) * Filter::AtomLinkRelated: Use link rel="related" as a link in Atom feeds (miyagawa) === Plugins Updates === * Filter::TruePermalink: minor updates in refrss (otsune) updated Yahoo! blog redirector (miyagawa) * Filter::ResolveRelativeLink: don't die even if there's no link found * Subscription::OPML: broken OPML feed support with XML::Liberal (miyagawa) * Filter::EntryFullText: Lots of feed upgrade files (manabou, woremacx, kazeburo) * Filter::StripRSSAd: support branded feed domain in FeedBurner (miyagawa) * Widget::HatenaBookmarkUsersCount: Autoload Filter::HBUC (reported by otsune) * CustomFeed::Frepa: defaults to all feed types * Publish::Delicious: Fixed interval bug == 0.6.4 (2006/04/19) == === Core === * Fixed MANIFEST to include assets * Reorganized assets directory naming. Keep cases of plugin names. #106 * More feed upgrader files (manabou, youpy) * Update XML::RSS::LibXML to avoid non-UTF8 feed breakage (Thanks to dmaki, Reported by manabou) === New Plugins === * Filter::BloglinesContentNormalize: normalize HTML attributes in Bloglines body (miyagawa) * Filter::TruePermalink: Permalink rewriting framework (youpy, miyagawa) === Plugins Updates === * Filter::StripRSSAd: now load pattern files from assets directory #179 (miyagawa) * Filter::StripRSSAd: Add npr.org valueclick feed ads. Updated Google AdSense pattern * CustomFeed::Mixi: Make cache TTL of fetch_body longer to avoid Footprint issue (miyagawa) * Subscription::2chThread: Accept multiple thread URLs (youpy) * Deprecate NamaanPermalink, 2chRSSPermalink and YahooBlogSearchPermalink in favor of TruePermalink (miyagawa) * Subscription::Planet: nuked MSN Search, added Technorati Tag search == 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