Sat, 21 Jul 2007 12:31:14 +0200 <thp@perli.net>
        * README: ** gPodder 0.9.4 released **
        * doc/man/gpodder.1: Updated manpage for release
        * TODO: Updated TODO list for release
        * bin/gpodder: Pushed version to 0.9.4; new release date
        * data/messages.pot: Re-generated on release
        * data/po/*.po: Re-generated on release

Fri, 20 Jul 2007 20:27:40 +0200 <thp@perli.net>
        * data/gpodder.desktop: Added Ukrainian .desktop file translation 
          by Mykola Nikishov <mn mn.com.ua>
        * data/po/uk.po: Updated Ukrainian translation by Mykola Nikishov
        * bin/gpodder: Pushed version + release date

Thu, 19 Jul 2007 14:38:19 +0200 <thp@perli.net>
        ! Support for HTTP/FTP username/password authentication, mostly 
          written by Nick <nikosapi gmail.com> with some corrections from thp
        * src/gpodder/libwget.py: Refactor wget command line
          generation and add support for HTTP/FTP authentication
        * src/gpodder/liblocdbreader.py: Add support for HTTP/FTP
          authentication by reading username/password from localdb
        * src/gpodder/libpodcasts.py: Password obfuscation, loading
          and saving of passwords; bugfix from Nick (nikosapi gmail.com)
          for zero-length channel cover files
        * src/gpodder/liblocdbwriter.py: Save username/password from 
          channel in localdb file
        * src/gpodder/libgpodder.py: Add "get_auth_data" function that 
          extracts the username/password pair from a URL (or None, None 
          when there is no authentication data in the URL)
        * src/gpodder/gpodder.py: On channel add, ask if the user wants 
          to save username/password for downloading episodes if there is 
          authentication data in the added URL; added support code for 
          username/password in gPodderChannel dialog handling code
        * data/gpodder.glade: Username/password entry boxes for channel

Sun, 15 Jul 2007 15:05:52 +0200 <thp@perli.net>
        * data/po/nl.po: Updated Dutch translation from Roel
	  Groeneveld <roel roelgroeneveld.com>

Sun, 15 Jul 2007 13:20:09 +0200 <thp@perli.net>
        * TODO: Updated TODO list (translations)

Sat, 14 Jul 2007 13:06:19 +0200 <thp@perli.net>
        * data/messages.pot: Refreshed POT file to new strings
        * data/po/*.po: Refreshed PO files to new strings
        * data/po/de.po: Updated German translation

Sat, 14 Jul 2007 12:47:10 +0200 <thp@perli.net>
        * data/po/uk.po: New Ukrainian translation by
          Mykola Nikishov <mn mn.com.ua>
        * setup.py: Add "uk" to list of languages to install

Thu, 12 Jul 2007 15:49:21 +0200 <thp@perli.net>
        * src/gpodder/libipodsync.py: Add support for error reporting by 
          adding a "errors" list to gPodderSyncMethod; make errors in the 
          file copying method cancel the sync process; this fixes an error
          when the output file cannot be acessed or a disk full error
          happens; thanks to Mykola Nikishov <mn mn.com.ua> for reporting 
          this error via the Debian BTS (fixes Debian bug #432805)
        * src/gpodder/gpodder.py: GUI support for displaying error messages
          after a sync error happened
        * bin/gpodder: Pushed version + release date

Thu, 12 Jul 2007 15:02:26 +0200 <thp@perli.net>
        * src/gpodder/gpodder.py.orig: Re-generated from tepache so we don't
          get an error when doing "make generators"

Wed, 11 Jul 2007 20:27:21 +0200 <thp@perli.net>
        * src/gpodder/gpodder.py: Fix some race condition but that could 
          possibly overwrite existing channels
        * data/gpodder.glade: Make the gPodderChannel editor dialog modal

Wed, 11 Jul 2007 20:09:03 +0200 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Add description field to opmlChannel
        * src/gpodder/libgpodder.py: Default OPML directory URL changed from
          Opml.org's top Podcasts to gPodder's own podcast directory :)
        * src/gpodder/libopmlreader.py: Add description of channel to the 
          data model if possible, so we can display it in the new chooser
        * src/gpodder/gpodder.py: Improved the OPML channel importer and 
          added the ability to directly load another OPML URL into the 
          importer; make the OPML URL reading threaded, so we have a non-
          blocking GUI; only ask for new episodes once (after all OPML channels 
          have been added)
        * data/gpodder.glade: Re-designed the OPML import dialog and moved 
          around the "Import OPML from web" menu item

Wed, 11 Jul 2007 12:59:53 +0200 <thp@perli.net>
        * src/gpodder/libgpodder.py: New configuration defaults for new 
          installations: Use environment for proxy, download new episodes 
          after feed cache update, display channel navigator by default
        * src/gpodder/gpodder.py: Fix some bugs with empty channel lists; 
          notify user of already-added channels; adapt the "add channel" 
          functionality for the new GUI; make editing channels work more 
          reliably (revert to old list if new channel URL cannot be fetched);
          huge clean-up of the Gpodderchannel class
        * bin/gpodder: Pushed version + release date
        * data/gpodder.glade: Slipstream the gPodderChannel UI dialog and 
          add a channel URL adding entry + "add" button to the channel 
          navigator, adding channels is now done using these widgets

Sat, 07 Jul 2007 17:01:59 +0200 <thp@perli.net>
        * src/gpodder/libipodsync.py: Added support for the new time_t 
          type of the "track_released" field from libgpod. This adds 
          support for libgpod >= 0.5.0 (Python bindings). Thanks to 
          Todd Zullinger (tmz pobox.com) from the gpod-devel mailing 
          list for suggesting this check and also thanks to Götz Waschk
          (goetz.waschk gmail.com) for initially reporting this problem
        * bin/gpodder: Pushed version + release date

Thu, 05 Jul 2007 22:59:19 +0200 <thp@perli.net>
        ! The channel navigator is here :) Suggested by Carlos. Enjoy.
        * src/gpodder/libpodcasts.py: New function get_new_episodes() that
          returns a list of episodes that are considered "new"; rework the 
          channelsToModel() function to incorporate information that is 
          needed for the new channel navigator
        * src/gpodder/libgpodder.py: New configuration options:
            paned_position .... width (in pixels) of channel navigator
            default_new ....... number of episodes considered "new" for 
                                new channels
          also added maximum size for cover image (currently 400x400) and 
          made the cover loading functions more thread-compatible by using
          gobject.idle_add()
        * src/gpodder/librssreader.py: Use channel's URL as its description
          if there is no channel description after parsing has finished
        * src/gpodder/gpodder.py: Full support for new channel navigator, 
          including setup of new channel treeview, updated combobox, link 
          for combobox<->treeview (channels), use the get_new_episodes() 
          function wherever new episodes have to be searched and displayed;
          escape channel and episode titles so there are no problems with 
          ampersands (&), greater-than (>) and less-than (<) characters; 
          fix some stupid code parts in gPodderChannel class code
        * data/gpodder.glade: Updated main interface for channel navigator,
          ellipsize headings in episode info window
        * bin/gpodder: Pushed version + release date

Mon, 02 Jul 2007 22:05:13 +0200 <thp@perli.net>
        * src/gpodder/libwget.py: Set number of download retries
          from infinite to the wget default setting, so we will 
          finally arrive at an error in case the server has probs;
          thanks to Mykola Nikishov (mn at mn.com.ua) for reporting
          this bug and submitting the patch on the Debian BTS

Mon, 02 Jul 2007 22:00:47 +0200 <thp@perli.net>
        * src/gpodder/librssreader.py: Patched the RSS reader to 
          set the podcast title to some sane default in case the 
          title tag is missing from the RSS file (invalid RSS!); 
          thanks to Holger Leskien (holger at leskien.com) for 
          reporting this bug on the Debian BTS
        * bin/gpodder: Version + release date bump (development)

Thu, 28 Jun 2007 12:30:01 +0200 <thp@perli.net>
        * TODO: Updated TODO list

Mon, 25 Jun 2007 22:55:28 +0200 <thp@perli.net>
        * README: ** gPodder 0.9.3 released **
        * doc/man/gpodder.1: Updated manpage for gPodder 0.9.3
        * bin/gpodder: Update version + release date for 0.9.3

Thu, 21 Jun 2007 16:13:56 +0200 <thp@perli.net>
        * Makefile: Add support for creating a translations tarball

Thu, 21 Jun 2007 16:03:42 +0200 <thp@perli.net>
        * data/messages.pot: Re-generated messages.pot with new strings
        * data/po/*.po: Updated translations from Launchpad.net Rosetta
        * bin/gpodder: Version + release date push

Tue, 19 Jun 2007 19:38:38 +0200 <thp@perli.net>
        * TODO: Updated TODO list (skip button for channel refetch)

Mon, 11 Jun 2007 08:01:23 +0200 <thp@perli.net>
        * src/gpodder/libopmlreader.py: Import liblogger's log() function,
          thanks to Nick (nikosapi) for reporting

Mon, 11 Jun 2007 07:28:00 +0200 <thp@perli.net>
        * src/gpodder/libipodsync.py: Re-organized the track length detection
          algorithm to prefer mplayer before any other method; this fixes a 
          bug for enhanced AAC files; thanks to Götz Waschk <goetz.waschk at 
          gmail.com> for reporting
        * bin/gpodder: Version + release date push

Wed,  6 Jun 2007 13:52:52 +0200 <thp@perli.net>
        * src/gpodder/console.py: Use urllib.unquote() for URLs that are 
          printed in the CLI interface, so we don't get a bt when there is a
          '%'-escaped URL; thanks to Thomas Matthijs <axxo keanu.be> for 
          testing the CLI, reporting the bug and suggesting this fix
        * src/gpodder/libpodcasts.py: Use urllib.unquote() for error messages
          so that there's no problem with '%' in the CLI
        * bin/gpodder: Version + release date push

Sun,  3 Jun 2007 15:41:30 +0200 <thp@perli.net>
        * src/gpodder/console.py: Fix a problem with URLs containing the "%"
          character and Python format strings; thanks go out to Thomas 
          Matthijs <axxo gentoo.org> for reporting this bug and help fixing it

Fri, 25 May 2007 12:04:20 +0200 <thp@perli.net>
        * src/gpodder/gpodder.py: Update the feed cache after everything
          else has been changed, so that we now really have a working 
          update-on-startup option; thanks to Götz Waschk and Stephan Buys
          for reporting and helping to fix this long-standing problem :)

Thu, 24 May 2007 16:45:43 +0200 <thp@perli.net>
        * src/gpodder/libipodsync.py: Mark strings as translatable
          that appear in the GUI (bugfix ;)
        * bin/gpodder: We're in development again ("+svn" version)

Wed, 23 May 2007 14:56:56 +0200 <thp@perli.net>
        * README: ** gPodder 0.9.2 released **
        * bin/gpodder: Updated version + release date for 0.9.2
        * doc/man/gpodder.1: Updated manpage for gPodder 0.9.2
        * README: Updated README file for gPodder 0.9.2
        * TODO: Updated TODO list for 0.9.2 release

Tue, 22 May 2007 22:53:13 +0200 <thp@perli.net>
        * data/messages.pot: Updated messages.pot from source code
        * data/po/de.po: Updated German translation
        * bin/gpodder: pushed version + release date
        * TODO: updated TODO list

Mon, 21 May 2007 11:50:56 +0200 <thp@perli.net>
        * src/gpodder/libgpodder.py: Add escape_html() function to escape 
          ampersands, greater-than and less-than characters
        * src/gpodder/gpodder.py: Use escape_html() to fix a bug in
          the episode info dialog window when the title of the episode 
          contains one of the special HTML characters
        * bin/gpodder: pushed version + release date

Mon, 14 May 2007 21:11:32 +0200 <thp@perli.net>
        * TODO: Updated TODO list

Mon,  7 May 2007 22:11:37 +0200 <thp@perli.net>
        * data/po/pt.po: Updated Portuguese translation by Joel Calado

Mon,  7 May 2007 21:06:20 +0200 <thp@perli.net>
        * data/gpodder.glade: Mark "download to label" placeholder string 
          as not translatable (thanks to Pieter De Decker for pointing
          that out)
        * data/messages.pot: Updated template from current source
        * data/po/nl.po: Updated Dutch translation (new prefs dialog, ..) 
          from Pieter De Decker (pdedecker gmail.com)
        * data/po/*.po: Refreshed from new source

Sun,  6 May 2007 17:24:49 +0200 <thp@perli.net>
        * src/gpodder/libwget.py: Add support for dynamic download queue 
          resizing; improve support for enabling/disabling download queue 
          while downloads are in progress
        * data/gpodder.glade: Remove info text "download queue changes need 
          a restart of gpodder", because it's not needed anymore - yay! :)
        * TODO: Dynamic Download Queue marked as done :)

Sun,  6 May 2007 15:56:37 +0200 <thp@perli.net>
        * data/gpodder.desktop: Added German and Russian translations to the 
          desktop entry file

Sun,  6 May 2007 14:41:37 +0200 <thp@perli.net>
        * src/gpodder/libopmlwriter.py: Write UTF-8 encoded files by default
        * src/gpodder/liblocdbwriter.py: Write UTF-8 encoded files by default
        * data/po/ru.po: Added Russian translation by Vladimir Zemlyakov
          (zemlyakov gmail.com)
        * setup.py: Added "ru" to list of languages to install
        * bin/gpodder: Pushed vers + rel.date

Sat,  5 May 2007 20:47:33 +0200 <thp@perli.net>
        * TODO: Updated TODO list (delete all episodes function)

Sat,  5 May 2007 10:06:58 +0200 <thp@perli.net>
        * data/gpodder.glade: Brand new, shiny preferences dialog with
          nice structuring, bold headings and icons
        * src/gpodder/gpodder.py: Removed "symlink on desktop" code
        * TODO: Updated TODO list (translations needed, prefs done)
        * bin/gpodder: Pushed version + release date

Thu,  3 May 2007 22:25:47 +0200 <thp@perli.net>
        * TODO: Updated TODO list to reflect release goals for the 0.9.2
          release

Tue,  1 May 2007 21:58:58 +0200 <thp@perli.net>
        * src/gpodder/libwget.py: Implement support for download queue using
          a semaphore in the downloadStatusManager class
        * src/gpodder/libgpodder.py: Configuration options "max_downloads"
          and "max_downloads_enabled" for the download queue
        * src/gpodder/gpodder.py: Add support for configuration of the
          download queue code (gPodderProperties dialog)
        * data/gpodder.glade: Add checkbox + spinbutton for download queue
        * TODO: Updated TODO list (download queue done)
        * bin/gpodder: Pushed version + release date

Sat, 28 Apr 2007 11:10:18 +0200 <thp@perli.net>
        * TODO: Updated TODO list

Sat, 21 Apr 2007 21:23:08 +0200 <thp@perli.net>
        * src/gpodder/gpodder.py: Add support for saving podcast episodes
          to files (in episode information dialog)
        * data/gpodder.glade: Support for saving podcast episodes to files

Sat, 21 Apr 2007 13:10:35 +0200 <thp@perli.net>
        ! Support for "only sync not-yet-played episodes", written by Nick
          <nikosapi gmail.com>
        * src/gpodder/libpodcasts.py: Add is_played() function to channel
        * src/gpodder/libgpodder.py: Add only_sync_not_played config option
        * src/gpodder/libipodsync.py: Add support for syncing only not yet 
          played episodes; set video podcast flags correctly (fix by Nick)
        * src/gpodder/gpodder.py: Add support for sync only unpladed episodes
        * data/gpodder.glade: Add check box to preferences dialog for above
        * bin/gpodder. Pushed version + release date

Wed, 11 Apr 2007 19:18:50 +0200 <thp@perli.net>
        * TODO: Updated TODO list

Mon,  9 Apr 2007 21:31:34 +0200 <thp@perli.net>
        ! BitTorrent support (mostly done by Nick <nikosapi gmail.com>) and
          per-episode download bandwidth throttling (as suggested by Paul 
          Elliot <omahns.home gmail.com>)
        * src/gpodder/libwget.py: Support the --limit-rate option of wget to
          enable per-download bandwidth throttling for slow connections
        * src/gpodder/libpodcasts.py: Support torrent files, add new method
          get_torrent_filename() by Nick (nikosapi gmail.com) that extracts
          the "real" filename from torrent files
        * src/gpodder/libgpodder.py: Add support for torrents and for download
          rate limiting; add get_float_from_parser() and invoke_torrent(); 
          BitTorrent support needs gnome-btdownload
        * src/gpodder/gpodder.py: Add support for torrents and rate limiting
        * data/gpodder.glade: Add configuration options for torrents and 
          download rate limiting
        * bin/gpodder: Pushed version + release date
        * TODO: Added new items
        * README: Mention additional dependency on gnome-btdownload if the 
          user wants direct BitTorrent download support (not needed for the 
          "copy torrent file" option)

Fri,  6 Apr 2007 20:04:50 +0200 <thp@perli.net>
        * src/gpodder/liblocdbwriter.py: Write the item's GUID into the 
          localdb RSS file so we can resurrect is in case the item gets 
          removed from the "live" RSS feed; also, only write items to localdb
          that really have been downloaded (i.e. the downloaded item exists)
        * src/gpodder/libpodcasts.py: re-work the get_all_episodes() method 
          of the channel to prefer localdb episodes over "new" episodes and 
          also keep track of GUIDs (this makes it possible to skip already-
          downloaded episodes with a different download URL bit same GUID);
          then, put everything together and sort by date
        * src/gpodder/gpodder.py: Utilize get_all_episodes() function for the
          newer episodes search function, so we skip over all episodes that
          have the same GUID but different URL (hopefully these changes fix 
          a problem with subscription-only podcasts that change the episodes 
          download URL every so often, but keep the GUID the same); this 
          problem has been reported by Jon (jon sd-6.org)
        * bin/gpodder: oh, btw - we're developing away from 0.9.1 again, so 
          set revision + release date to some svn-ish string again so that 
          everyone knows we're not 0.9.1 anymore :)

Fri,  6 Apr 2007 19:08:29 +0200 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Remove checking of valid url, 
          because this is now done in librssreader
        * src/gpodder/librssreader.py: Only add podcastItem if it has 
          a valid url (i.e. the "enclosure" tag exists for that item)
          thanks to Gerrit Sangel (z0idberg gmx.de) who discovered that
          bug when gPodder was looking for new items in the (unfiltered)
          episode list

Thu,  5 Apr 2007 09:46:36 +0200 <thp@perli.net>
        * README: ** gPodder 0.9.1 released **
        * doc/man/gpodder.1: Generated manpage for the 0.9.1 release
        * bin/gpodder: Updated version + release date for 0.9.1
        * data/messages.pot: Updated data from source files
        * data/po/*.po: Updated data from source files
        * data/po/de.po: Updated German translation for the 0.9.1 release

Thu,  5 Apr 2007 09:09:01 +0200 <thp@perli.net>
        * src/gpodder/libipodsync.py: Only allow alphanumeric, space, dot,
          dash and underscore characters when syncing to filesystem-based
          MP3 players; this should get rid of a lot of problems with the 
          restrictions of filesystems; thanks to Johann Uhrmann for bringing
          yet another problem with the charset problem to my attention :)

Thu,  5 Apr 2007 07:49:19 +0200 <thp@perli.net>
        * src/gpodder/libipodsync.py: Increment playcount from zero to one
          if we've played a podcast locally, but playcount is still zero on
          iPod

Wed,  4 Apr 2007 18:10:17 +0200 <thp@perli.net>
        * data/po/pt.po: Updated Portuguese translation from Joel Calado
          (joelcalado gmail.com)

Tue,  3 Apr 2007 16:21:26 +0200 <thp@perli.net>
        * data/po/nl.po: Updated Dutch translation from Pieter De Decker 
          (pdedecker gmail.com)

Tue,  3 Apr 2007 13:43:35 +0200 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Only display icon on unplayed items
        * src/gpodder/gpodder.py: Rename "Played" column to "New"
        * data/gpodder.glade: Rewrite text to display "New/Unplayed" column

Tue,  3 Apr 2007 13:14:02 +0200 <thp@perli.net>
        * src/gpodder/liblogger.py: Enhance the log() function to accept a 
          "sender" keyword argument that contains the object tha sends the 
          message; the message will be transformed into "(objectclass) message"
        * src/gpodder/libpodcasts.py: Add "Played" icon to the model for 
          played status display; use gtk.STOCK_NEW instead of "document-new" 
          for new items; mark the latest three items as new if no episodes 
          have been downloaded so far from this channel; generalize the 
          DownloadHistory class and derive a PlaybackHistory class from it
        * src/gpodder/libgpodder.py: Make use of PlaybackHistory; add config
          option "show_played" (disable/enable "Played" column in treeview);
          replace openFilename() function with playback_episode() function 
          that also updates the playback history accordingly
        * src/gpodder/libipodsync.py: Synchronize playback state ("blue dot") 
          to iPod when syncing (also update playback state when episodes is
          already on iPod); fixed a small bug that didn't set podcast flags
        * src/gpodder/gpodder.py: Make use of new playback_episode function;
          add support for the "Played" column (+config disable/enable)
        * data/gpodder.glade: Add GtkCheckButton for displaying/hiding the 
          "Played" column in the available episodes list
        * TODO: Updated TODO list (display played episodes task is done now;
          mark tag update and search box as partially implemented)

Tue,  3 Apr 2007 08:18:28 +0200 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Remove background color code in model;
          add icons; add new get_file_type() function to check if an episode 
          is either audio or video; add full description to liststore model
        * src/gpodder/libgpodder.py: Remove code related to configurable 
          treeview row colors
        * src/gpodder/gpodder.py: Remove code for treeview colors; add new 
          "status" column with icon; set rules hint on treeAvailable to get 
          alternating tree view row colors (if gtk theme supports it); add 
          type-to-search capabilities to treeAvailable by providing the 
          new treeAvailable_search_equal function
        * data/gpodder.glade: Remove properties tab for colors
        * bin/gpodder: Pushed version + release date
	* TODO: Removing background colors is a GoodThing(tm), so we are now
	  compatible with high contrast themes and dark gtk themes (this has 
	  been a problem with custom cell backgrounds); mark the item as done

Mon,  2 Apr 2007 16:31:46 +0200 <thp@perli.net>
        * src/gpodder/gpodder.py: Added some intelligence for enabling and 
          disabling the "cancel download" toolbar button depending on the 
          current downloading status (disable when not downloading)

Mon,  2 Apr 2007 14:11:29 +0200 <thp@perli.net>
        * src/gpodder/libgpodder.py: Added some sanity checks to get_size()
        * src/gpodder/gpodder.py: Implemented a message dialog informing the 
          user about a failed download directory move operation; thanks to 
          Andy (apblist speakeasy.net) for suggesting this usability
          improvement (in case of write errors, etc..)

Mon,  2 Apr 2007 13:42:21 +0200 <thp@perli.net>
        * src/gpodder/libplayers.py: Added /usr/share/applications/kde/ to 
          list of directories to search for ".desktop" files so that gPodder 
          will also detect KDE player applications (at least on Gentoo); 
          thanks to Gerrit Sangel (z0idberg gmx.de) for pointing that out
        * bin/gpodder: pushed version + release date

Sun,  1 Apr 2007 19:45:28 +0200 <thp@perli.net>
        * src/gpodder/libtagupdate.py: Return false on error
        * src/gpodder/libpodcasts.py: Don't set the album tag to "gPodder 
          podcasts" when tagging downloaded files
        * src/gpodder/libgpodder.py: save/restore main window size and position
        * src/gpodder/libipodsync.py: Update tags on converted MP3 files, so 
          applications accessing files on the iPod without reading the meta-
          data in the iTunesDB will be able to correctly identify the episodes;
          do not set the track artist to "gPodder podcast" when syncing to the
          podcasts playlist
        * src/gpodder/gpodder.py: Fix bad behaviour of the available podcasts
          treeview (thanks to Pieter De Decker [pdedecker gmail com] for 
          bringing this problem to my attention); save and restore window size 
          and position of gPodder's main window; fix some strings to ease 
          translations
        * data/gpodder.glade: Make certain strings in the toolbar translatable
          thanks to Pieter De Decker for pointing that out :)
        * data/messages.pot: Updated translation template from new code
        * data/po/de.po: Updated German translation
        * data/po/*.po: Updated translations from new code

Sat, 31 Mar 2007 03:56:48 +0200 <thp@perli.net>
        * src/gpodder/gpodder.py: Fixed some UI changes, add support for 
          new toolbar in GUI; add title in the information and confirmation 
          dialogs; 
        * data/gpodder.glade: Fix some UI on the gPodder main window; add new
          toolbar and remove the bottom dynamic buttons; remove "Channel:" 
          label in channel overview tab
        * data/gpodder.{svg,png}: New icon of the gPodder tentacle with iPod
        * data/icons/*/gpodder.png: New icon of the gPodder tentacle with iPod
        * bin/gpodder: Pushed version + date

Thu, 29 Mar 2007 21:22:15 +0200 <thp@perli.net>
        * src/gpodder/gpodder.py: Fixed a bug with empty podcast channels
          that have not been detected right and could not be edited or 
          deleted (thanks to Pieter De Decker (pdedecker gmail com) for 
          pointing that out)
        * bin/gpodder: Bumped version + release date

Wed, 28 Mar 2007 04:27:06 +0200 <thp@perli.net>
        * TODO: Updated TODO list

Tue, 27 Mar 2007 19:55:31 +0200 <thp@perli.net>
        * data/gpodder.glade: Remove dependency on icon file from same path
        * Makefile: Make the gtk-update-icon-cache a seperate makefile target

Mon, 26 Mar 2007 20:13:18 +0200 <thp@perli.net>
        * data/po/nl.po: Updated Dutch translation from Pieter De Decker
          (pdedecker gmail.com)

Mon, 26 Mar 2007 20:06:12 +0200 <thp@perli.net>
        * bin/gpodder: Fix small bug for detecting DISPLAY variable, thanks to
          Alain Tauch for pointing that out

Sun, 25 Mar 2007 21:51:24 +0200 <thp@perli.net>
        * src/gpodder/libwget.py: Use a more verbose command line for wget
        * src/gpodder/gpodder.py: Use default name-based icon for all gtk
          windows and use installed SVG icon loaded in the AboutDialog
        * setup.py: Install new icons in the hicolor icon theme
        * bin/gpodder: Check if the $DISPLAY variable is set and abort if it 
          is not; set path to the SVG icon in startup / setup code
        * data/gpodder.svg: Added new Tango-style SVG icon for gPodder
        * data/gpodder.png: Modified gPodder logo; 48x48 render of the Tango-
          style SVG (see above)
        * data/icons/*: Added new Tango-style icons for gPodder
        * data/gpodder.desktop: Change names and comments to fit into the 
          Gnome HIG guidelines better (descriptive name, ...); removed the 
          filename extension from the Icon setting
        * Makefile: Do not simple resize the icon but generate 24x24 icon out
          of the provided 22x22 icon

Thu, 22 Mar 2007 17:33:06 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Added support for (optional) cancelling
          of the Podcast synchronization process; add some more support for 
          setting status on the dialog; wait for iPod to be connected when 
          syncing to iPod (for 30 seconds at the moment); manually write and 
          read the episode files for FS-based MP3 player sync, so we can have 
          a more detailed and more often updated progress bar
        * src/gpodder/gpodder.py: Support code for new gPodderSync dialog
          goodness (yay!)
        * data/gpodder.glade: Add cancel button to gPodderSync dialog

Thu, 22 Mar 2007 13:14:57 +0100 <thp@perli.net>
        * bin/gpodder: Bump version + release date for debian packaging

Wed, 21 Mar 2007 21:32:43 +0100 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Convert numeric HTML entities to 
          symbolic entities so these will be replaced with the right unicode
          character (for podcast descriptions); thanks to Gerrit Sangel 
          (newsletter sangel.eu) for reporting this bug on gpodder-devel

Tue, 20 Mar 2007 19:47:14 +0100 <thp@perli.net>
        * data/po/nl.po: Added Dutch translation from Pieter De Decker
          (pdedecker gmail com)
        * setup.py: Added Dutch to list of translations
        * data/gpodder.desktop: Added Dutch translation for desktop entry

Mon, 19 Mar 2007 21:14:57 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Add the double-quote character to the 
          list of not-allowed-chars in FS-based Podcast sync code, thanks to 
          Pieter De Decker (pdedecker gmail com) for reporting this bug

Mon, 19 Mar 2007 21:12:17 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Fix grammar mistake in gettext string, thanks
          to Pieter De Decker (pdedecker gmail com) for pointing that out :)

Mon, 19 Mar 2007 20:10:07 +0100 <thp@perli.net>
        * README: Mention dependencies for newly-added ogg-to-mp3 converter 
          feature

Mon, 19 Mar 2007 20:03:40 +0100 <thp@perli.net>
        * src/gpodder/libconverter.py: Added libconverter.py that implements
          file conversion from (anything-to-mp3) using lame; currently the 
          only supported format is ogg (using oggdec); this is needed to sync
          ogg podcasts to an iPod (that only supports MP3)
        * src/gpodder/libipodsync.py: Re-work synchronization code to support 
          the new libconverter.py library for syncing oggs to iPods and also 
          re-work the status-setting code to be compatible with the new sync 
          dialog (see below)
        * src/gpodder/gpodder.py: Add some hooks for controlling the new 
          synchronization dialog so it gets better display of progress; only 
          have one icon (the iPod/audio player) in sync dialog
        * data/gpodder.glade: New synchronization dialog for FS-based and iPods
        * bin/gpodder: Push version + release date (again ;)

Sun, 18 Mar 2007 19:31:44 +0100 <thp@perli.net>
        * AUTHORS: Added Preben Randhol to list of patch writers

Sun, 18 Mar 2007 19:23:46 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Add support for selected episodes to be 
          transferred to the device; get configuration data directly 
          from gPodderLib()
        * src/gpodder/gpodder.py.orig: Updated by tepache
        * src/gpodder/gpodder.py: Add support for "transfer" to device of 
          selected episodes instead of all episodes based on a patch by 
          Preben Randhol <randhol+gpodder pvv.org>; simplified and cleaned-up
          code for device sync and device cleanup to allow for easier addition 
          of aforementioned patch
        * data/gpodder.glade: Support for "transfer" to device button and menu
          item based on a patch by Preben Randhol <randhol+gpodder pvv.org>
        * bin/gpodder: pushed version + release date

Sun, 18 Mar 2007 17:18:17 +0100 <thp@perli.net>
        * Makefile: Bugfix - remove manpage "gpodder.1" in "make uninstall"

Sun, 18 Mar 2007 17:08:29 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Do not do i18n stuff in gpodder.py; do not 
          set direct paths to /usr in glade_dir and icon_dir, but use lists 
          that will be filled by the initialization code in bin/gpodder
        * bin/gpodder: Complete re-work of path detection, based on some 
          suggestions from Preben Randhol <randhol+gpodder pvv.org> to make 
          gpodder work when installed in /usr/local
        * setup.py: Use /usr/bin/env python instead of /usr/bin/env python2.4
          in shebang line
        * Makefile: Display $(PREFIX) in makefile help text instead of hard-
          coded "/usr" string

Sun, 18 Mar 2007 16:42:32 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Bugfix - only play a podcast episode when it 
          has been downloaded and the download filename exists
        * data/gpodder.glade: Add Shift+Return accelerator to the "Play selected
          episode" menu item and add a separator to the menu

Sun, 18 Mar 2007 15:04:03 +0100 <thp@perli.net>
        * bin/gpodder: Use "/usr/bin/env python" instead of "/usr/bin/python" 
          to fix problems with FreeBSD's default Python location of 
          "/usr/local/bin/python" (thanks to Alain Tauch for pointing that out)

Sat, 17 Mar 2007 13:57:50 +0100 <thp@perli.net>
        * data/gpodder.desktop: Clean-up the desktop entry file
        * Makefile: Make PREFIX a variable defaulting to /usr and pass it 
          to setup.py's install method and to the "make uninstall" target

Sat, 17 Mar 2007 13:30:37 +0100 <thp@perli.net>
        * data/gpodder.glade: Update preferences dialog and main window's 
          "About" menu item to be (more) compliant to the GNOME HIG 
          specification 2.0
        * src/gpodder/gpodder.py: Code changes for GUI update

Sat, 17 Mar 2007 13:07:06 +0100 <thp@perli.net>
        * src/gpodder/libtagupdate.py: add tagging_supported() to report if 
          we can support tagging (dependent on python-eyed3 installed or not)
        * src/gpodder/libplayers.py: use gtk.STOCK_EXECUTE instead of string
        * src/gpodder/libpodcasts.py: Fix log messages; only call tag update 
          functions when tagging_supported() returns a true value
        * src/gpodder/librssreader.py: Remove parseXML logging output (not
          needed anymore, seems stable enough)
        * src/gpodder/gpodder.py: clean local db cache when adding download 
          items with addDownloadedItem(); disable update tags checkbox in 
          preferences dialog when taggint_supported() returns a false value
        * bin/gpodder: version + release date bump
        * README: cleaned up readme file and removed unnecessary cruft
        * TODO: Updated TODO list

Thu, 15 Mar 2007 22:28:52 +0100 <thp@perli.net>
        * src/gpodder/libtagupdate.py: Add libtagupdate.py, which takes care 
          of writing metadata to audio files on the user's harddisk; initially
          supporting MP3 (through eyeD3) and OGG vorbis (through vorbiscomment 
          command-line utility called with Python's popen2)
        * src/gpodder/libpodcasts.py: Utilize libtagupdate to write metadata 
          from episode info to the audio file
        * src/gpodder/libgpodder.py: Support the update_tags configuration 
          option for enabling/disabling audio file tag updating after download
        * src/gpodder/gpodder.py: Support for update_tags flag in properties
        * bin/gpodder: version + release date bump
        * data/gpodder.glade: Add a checkbox "Updat tags on audio files after 
          downloading" that makes sure metadata is written from the episode 
          info to the downloaded audio file

Wed, 14 Mar 2007 20:27:19 +0100 <thp@perli.net>
        * src/gpodder/libwget.py: Cosmetic change to check if some variables 
          have values
        * src/gpodder/libpodcasts.py: Only write localDB file if needed in 
          addDownloadedItem; remove downloaded file in delete_episode_by_url();
          in podcastItem's __cmp__() function, return -1 if there has been 
          an error comparing some value (returning zero, as before, lead to 
          many problems this week.. oh my.. ;)
        * src/gpodder/gpodder.py: Try to add item to localdb (if it has not 
          yet been added) when trying to playback a already downloaded item;
          simply call delete_episode_by_url() in the remove function code, 
          because podcastChannel will now care about carrying out the 
          necessary steps to remove the item completely

Wed, 14 Mar 2007 19:39:41 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Replace some more characters in podcast
          channel sync code (for filesystem-based MP3 players) to fix issues 
          with podcasts that have stupid titles (thanks to Pieter De Decker 
          for reporting this issue)
        * bin/gpodder: version + release date bump

Tue, 13 Mar 2007 19:45:17 +0100 <thp@perli.net>
        * src/gpodder/librssreader.py: Make sorting a single step by using
          sort( reverse = True) instead of sort() + reverse() -- thanks to 
          Michel Salim for pointing that out :)

Mon, 12 Mar 2007 22:06:45 +0100 <thp@perli.net>
        * TODO: Updated TODO list (search box request)

Mon, 12 Mar 2007 12:17:02 +0100 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Add can_sort_by_pubdate() to 
          podcastChannel and add __cmp__() to podcastItem to enable sorting 
          of podcastChannel items by pubDate (ascending, descending by using
          reverse()..)
        * src/gpodder/librssreader.py: If after parsing a RSS file it is 
          possible to sort the resulting channel by pubDate, do so
        * src/gpodder/gpodder.py: Omit output of excessive episodes if there
          are more than ten new episodes (so everything fits on the screen 
          nicely); thanks to Michel Salim for reporting this and the bug 
          above (channel with wrongly sorted episodes in RSS file)
        * bin/gpodder: version + release date bump

Sat, 10 Mar 2007 18:35:41 +0100 <thp@perli.net>
        * src/gpodder/libwget.py: Clean-up libwget (remove class members of 
          downloadThread, use proper os.kill() instead of os.system("kill..,
          remove _very_ old getWebData and downloadProcedure functions)
        * src/gpodder/libpodcasts.py: Fix error callback when download fails 
          and we do not have a backup cache file to restore
        * src/gpodder/gpodder.py: Re-factor showMessage and showConfirmation 
          to show_message() and show_confirmation(), respectively and make the
          dialog creation as suggested in the Gnome HIG; update all invocations
          of showMessage and showConfirmation to give better feedback on what
          is going on; also clean up some things in gPodderEpisode dialog
        * data/gpodder.glade: Fix some things in gPodderEpisode dialog and 
          use the "gtk-down" icon for download buttons
        * bin/gpodder: Bump version + release date

Sat, 10 Mar 2007 16:52:22 +0100 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Support cancelling downloading an RSS 
          file by supplying a callback_is_cancelled variable that should
          return True when the download should be cancelled (and the old, 
          backed up cache file [if any] be used instead); additionally, get 
          rid of gtk events_pending code, as we call downloadRss only in 
          threads as of now
        * src/gpodder/libgpodder.py: Support for cancelling the read() 
          operation of a gPodderChannelReader (uses old cache files instead)
        * src/gpodder/gpodder.py: Re-design of the update feed cache dialog 
          following Gnome HIG guidelines for progress windows and making 
          use of the update_feed_cache() function (which now is threaded) in 
          every part of the gpodder window code; also provide the option of
          cancelling a running update of the feed cache :)

Fri,  9 Mar 2007 20:05:20 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Fix sanitize_feed_url() function
        * src/gpodder/gpodder.py: Add support for dialogs to be centered on 
          the main gPodder window
        * data/gpodder.glade: Make dialogs center on parent by definition ;)

Thu,  8 Mar 2007 15:01:20 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Add support for "download after update"
        * src/gpodder/gpodder.py: Support for "download after update" setting
        * data/gpodder.glade: Move automatic options to "Advanced" tab and 
          add checkbox for download new episodes after updating channels
        * TODO: Updated, sorted and cleaned up TODO list

Thu,  8 Mar 2007 13:20:02 +0100 <thp@perli.net>
        * src/gpodder/librssreader.py: Keep track of a "parse_tree" variable 
          and check that the elements that set channel metadata are just below
          the <channel> item; this bug has been spotted while examining RSS 
          feeds on Radio Canada that have a <image> item which <title> tags 
          would be mis-interpreted by gPodder as being the channel's title

Thu,  8 Mar 2007 13:05:29 +0100 <thp@perli.net>
        * src/gpodder/liblocdbreader.py, src/gpodder/liblocdbwriter.py: Add
          support for override_title in channel's gpodder:info, so we can set 
          a custom title to be displayed in the GUI
        * src/gpodder/libpodcasts.py: Add support for override_title (custom
          title set by the user) and handle feeds with missing/empty title 
          gracefully (display URL as title instead)
        * src/gpodder/libgpodder.py: Read metadata from localdb when reading 
          the channel list (so we get the override_title if it is set
        * src/gpodder/gpodder.py: Fix typo for channel adding; update combo 
          box on channel properties change (for custom title); add support 
          for custom title to Gpodderchannel dialog handling code
        * data/gpodder.glade: Add custom title to the gPodder channel dialog
	  Thanks to Konstantin Ryabitsev (mricon.com) for suggesting this 
	  feature and for the donation :)

Thu,  8 Mar 2007 11:44:29 +0100 <thp@perli.net>
        * src/gpodder/console.py: Add support for error messages on update
        * src/gpodder/libpodcasts.py: Backup and restore cache file, so we
          can fallback to the old cache file if the server is down/we have 
          no network connectivity
        * src/gpodder/libgpodder.py: Support for error message callback
        * src/gpodder/gpodder.py: Display a message box when updating info 
          from a channel results in a error message

Wed,  7 Mar 2007 15:46:34 +0100 <thp@perli.net>
        * doc/man/gpodder.1: Updated with new info and description
        * src/gpodder/console.py: Clean-up of old/attic code; better output
        * src/gpodder/liblogger.py: Debugging depending on the "--verbose" flag
        * src/gpodder/libgpodder.py: Sanitize feed URL; URL callback for reader
        * src/gpodder/gpodder.py: Don't display popup dialog, but modify main 
          window title if we're running a svn version of gPodder; use the new 
          sanitize_feed_url function from libgpodder; small clean-ups
        * bin/gpodder: Description in docstring; better handling of command 
          line arguments and calling of gpodder.console functions; the old 
          --debug flag is now called --local (makes more sense, after all)
        * Makefile: Don't run generators on "make release"; use new --local 
          and --verbose flags for "make test"; specify application name in 
          help2man call for manpage generation

Wed,  7 Mar 2007 11:53:37 +0100 <thp@perli.net>
        * data/artwork: Removed Tango artwork
        * src/gpodder/gpodder.py: Use artwork from current icon theme
        * setup.py: Do not install removed artwork data
        * bin/gpodder: Push version + release date

Wed,  7 Mar 2007 00:57:59 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py, setup.py, bin/gpodder: Clean-up and 
          small fixes to make package installation smoother

Tue,  6 Mar 2007 21:36:44 +0100 <thp@perli.net>
        * src/gpodder/liblogger.py: We're developing again - debugging on :)
        * bin/gpodder: We've got a svn version number again... (as always =)

Tue,  6 Mar 2007 21:24:06 +0100 <thp@perli.net>
        * README: ** gPodder 0.9.0 released **

Tue,  6 Mar 2007 20:55:19 +0100 <thp@perli.net>
        * doc/man/gpodder.1: Updated for 0.9.0
        * TODO: Updated for 0.9.0
        * src/gpodder/liblogger.py: Updated for 0.9.0
        * bin/gpodder: Updated for 0.9.0
        * data/messages.pot: Updated for 0.9.0
        * data/po/de.po: Updated for 0.9.0

Sat,  3 Mar 2007 14:08:18 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Added can_write_directory() function
        * src/gpodder/libipodsync.py: Add support for MP3 player cleanup
        * src/gpodder/gpodder.py: Add support for MP3 player cleanup
        * bin/gpodder: version + svn release date push

Tue, 27 Feb 2007 21:11:47 +0100 <thp@perli.net>
        * data/po/es.po: Updated Spanish translation by
          José Luis Fustel (dr_psy terra.es)
        * bin/gpodder: Version + svn release date push

Sat, 24 Feb 2007 13:02:51 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Scroll down to last position after 
          starting a download in the available podcasts tab
        * bin/gpodder: Version + svn release date push
        * TODO: Updated TODO list

Mon,  5 Feb 2007 17:47:07 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Applied patch from Mike Coulson 
          (miketcoulson gmail com) to fix lexists fallback bug related to 
          late logger import - thanks!
        * AUTHORS: Added Mike Coulson to list of patch writers
        * bin/gpodder: Pushed version + svn release date

Sun,  4 Feb 2007 10:38:27 +0100 <thp@perli.net>
        * src/gpodder/liblogger.py: Write log output to stdout again
        * bin/gpodder: Version is now a "+svn" version again as we're 
          slowly progressing towards 0.9.0
        * data/po/pt.po: Updated Portuguese (pt) translation, thanks to
          Joel Calado (joelcalado gmail.com) who did the translation

Sat,  3 Feb 2007 11:59:34 +0100 <thp@perli.net>
        * src/gpodder/liblogger.py: Don't write log output to stdout 
          because we're doing a release today :)

Sat,  3 Feb 2007 11:55:37 +0100 <thp@perli.net>
        * doc/man/gpodder.1: Updated manpage for 0.8.9 release
        * bin/gpodder: Version + date for 0.8.9 release
        * README: 0.8.9 release info

Sat,  3 Feb 2007 11:46:49 +0100 <thp@perli.net>
        * src/gpodder/libwget.py: Add has_items() to downloadStatusManager
        * src/gpodder/libgpodder.py: Make deleting partial downloads optional
        * src/gpodder/gpodder.py: Only ask gPodderLib to delete partially 
          downloaded files when our downloadStatusManager does not have any 
          downloads going at the moment (bugfix!)

Sun, 28 Jan 2007 16:17:40 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Comment-out deletion of partial 
          downloads for now (so we won't have broken, finished downloads)
        * src/gpodder/gpodder.py.orig: Updated by tepache
        * data/messages.pot: Updated from source code files
        * data/po/de.po: Updated German translation

Sun, 28 Jan 2007 10:20:26 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Fixed a small encoding warning
        * data/gpodder.glade: Added color chooser tab in preferences
        * src/gpodder/libgpodder.py: Added support for loading/saving 
          episode list color values + default values
        * src/gpodder/libpodcasts.py: Added support for color config
        * src/gpodder/gpodder.py: Added support for episode list colors

Sun, 28 Jan 2007 09:21:47 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Added mediatype flag for iPod nano 
          as suggested by José Luis Fustel (dr_psy terra.es) - thanks!
        * AUTHORS: Added JLF to list of patch writers
        * bin/gpodder: pushed release date + version

Wed, 24 Jan 2007 22:33:30 +0100 <thp@perli.net>
        * TODO: Updated TODO list

Wed, 24 Jan 2007 22:26:15 +0100 <thp@perli.net>
        * data/gpodder.desktop: Added Spanish translation for desktop file
        * data/po/es.po: Updated Spanish translation from José Luis

Tue, 23 Jan 2007 20:59:33 +0100 <thp@perli.net>
        * data/po/es.po: Spanish translation file from José Luis
          Fustel (dr_psy@terra.es) -- thanks!
        * setup.py: Added Spanish translation

Mon, 22 Jan 2007 13:15:11 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Fix based on a patch from Robert
          Young (robertkyoung gmail.com) to replace special characters 
          in channel folder name on MP3 player sync
        * AUTHORS: added Robert Young to list of patch writers

Mon, 22 Jan 2007 13:07:51 +0100 <thp@perli.net>
        * doc/dev/redhat-wget-output.txt: Added info about the modified 
          "wget" in RedHat/Fedora Core, based on Nick's mailing list 
          discussion thread of January 2007
        * src/gpodder/libwget.py: Applied slightly modified patch from 
          Nick (nikosapi gmail com) to add support for Fedora's custom 
          wget version so that the speed can be detected on Fedora Core 
          desktops (should also enable RHEL workstations)
        * bin/gpodder: version + rel.date

Wed, 17 Jan 2007 19:09:27 +0100 <thp@perli.net>
        * src/gpodder/libwget.py: Set transfer timeout to 15 seconds when 
          downloading with wget (thanks to Nick [nikosapi gmail com] again 
          for suggesting this and thanks for testing gPodder :)
        * bin/gpodder: version + release date bump :)

Tue, 16 Jan 2007 19:26:50 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Nick (nikosapi gmail com) reported 
          that when compiling PyID3 from source, its name will be lowercase, 
          so we simply check for both cases now (all uppercase/all lowercase)
          and try to cope with both possibilities. Why is the naming different 
          from distro to distro, anyway? ;)
        * bin/gpodder: version + release date bump

Mon, 15 Jan 2007 21:06:41 +0100 <thp@perli.net>
        * src/gpodder/libopmlreader.py: Fixed a small bug, thanks (again) 
          to Nick [nikosapi gmail com] for pointing that out :)

Mon, 15 Jan 2007 19:09:57 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Fixed a bug with the download dir when 
          starting off with a fresh gPodder install (thanks to Nick [nikosapi 
          gmail com] for reporting)
        * bin/gpodder: bumped version + release date

Wed, 10 Jan 2007 18:47:26 +0100 <thp@perli.net>
        * data/po/pt.po: Updated pt_PT translation (thanks to Joel Calado)

Sat,  6 Jan 2007 15:33:33 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Fixed a bug that prevented reading 
          the download location from the config file. sorry ;)

Sat,  6 Jan 2007 14:45:20 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Re-factured gPodderChannelReader
          to not have static members when they're not needed; only add 
          channel to the list if our rssReader returns a valid channel
        * src/gpodder/librssreader.py: Removed rssErrorHandler class 
          and added handling routines directly to rssReader class; re-factor 
          static members to object members; do better error handling, etc..
        * src/gpodder/libopmlreader.py: Don't use rssErrorHandler from 
          librssreader but handle errors directly in opmlReader
        * src/gpodder/gpodder.py: Only ask user to download newer episodes 
          when the channel really has been added (thanks to Alain Tauch for 
          bringing this bug to my attention)
        * bin/gpodder: Bumped version + release date - this being the first 
          svn revision to mention 2007 in the version string :) Enjoy!

Sat,  6 Jan 2007 14:06:31 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Set the default download dir to 
          some same value when initializing gPodderLib
        * src/gpodder/gpodder.py: Small translation bugfix from Alain 
          Tauch; only set filename of chooserDownloadTo when gPodderLib 
          has a value for "downloaddir"
        * data/po/fr.po: Updated translation from Alain Tauch

Sun, 31 Dec 2006 15:30:46 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: PyID3 seems to be uppercase in 
          Ubuntu and Debian (new upstream version changed this?), so we 
          will use and import the "ID3" package instead of the "id3" one 
          now (thanks to Jon Ferguson <jon sd-6.org> for reporting)

Fri, 29 Dec 2006 16:50:17 +0100 <thp@perli.net>
        * doc/dev/copyright_notice, INSTALL, src/gpodder/libopmlwriter.py,
          src/gpodder/libwget.py, src/gpodder/liblocdbreader.py,
          src/gpodder/console.py, src/gpodder/liblogger.py,
          src/gpodder/libplayers.py, src/gpodder/libpodcasts.py,
          src/gpodder/liblocdbwriter.py, src/gpodder/libgpodder.py,
          src/gpodder/libipodsync.py, src/gpodder/librssreader.py,
          src/gpodder/libopmlreader.py, src/gpodder/gpodder.py,
          src/gpodder/liblocaldb.py, setup.py, bin/gpodder,
          data/po/Makefile, Makefile, README: Version number in text 
	  and info files bumped to 0.9.0 in preparation of the release;
	  changed website URL to http://gpodder.berlios.de/ and updated 
	  copyright notice to reflect development in 2007 :) Enjoy.

Thu, 28 Dec 2006 14:39:06 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Add support for non-mp3 file 
          length detection using mplayer if available (thanks to
          Nick <nikosapi gmail com> for the patch)
        * bin/gpodder: bumped version + release date

Wed, 20 Dec 2006 20:43:02 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Added modified patch from Seth 
          Remington to add support for a "download new episodes from 
          all channels" menu item
        * data/gpodder.glade: Added Ctrl+N menu item (Download all new 
          episodes from all channels) to gPodder's main menu

Wed, 20 Dec 2006 20:08:29 +0100 <thp@perli.net>
        * TODO: Updated gPodder 0.9.0 release goals

Wed, 20 Dec 2006 17:35:48 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Added get_size() and 
          size_to_string() functions to gPodderLib to get the size 
          of a folder/file and to convert the byte size to a string
        * src/gpodder/libpodcasts.py: Utilize gPodderLib's new 
          size_to_string() function for getting the size string; 
          fixed a bug when moving the download directory to another 
          device (thanks to Andy <apblist speakeasy net> for reporting)
        * src/gpodder/gpodder.py: Added moving progress dialog to 
          show progress of moving download directory to another device
        * bin/gpodder: the usual version bumping

Sun, 17 Dec 2006 02:19:04 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Re-factor general sync method 
          interface to "gPodderSyncMethod" and let gPodder_iPodSync 
          and gPodder_FSSync implement the syncing (added class 
          gPodder_FSSync that simply syncs to a specified folder)
        * src/gpodder/gpodder.py: Use new libipodsync + add support
          for filesystem-based MP3 players (please test this :)
        * TODO: fs-based mp3 player support seems to be working now
        * bin/gpodder: the usual version bumping

Sat, 16 Dec 2006 18:43:04 +0100 <thp@perli.net>
        * data/gpodder.glade: Re-structured the main menu
        * src/gpodder/gpodder.py: Added some code to make the main menu 
          appear more dynamic and context-specific + added some hotkeys
        * bin/gpodder: The usual: push version + date

Wed, 13 Dec 2006 13:57:54 +0100 <thp@perli.net>
        * src/gpodder/libwget.py: Make wget "continue" (-c) and "retry 
          infinite" (-t0) so we don't get strange results when server 
          connection is closed or other network problems come up
        * src/gpodder/liblocdbreader.py: Remove bogus log message when 
          iPod sync is deactivated for a channel
        * src/gpodder/libgpodder.py: Handle broken channels more 
          graceful when saving the channels list (instead of completely 
          breaking the channel list.. oh my ;))
        * src/gpodder/gpodder.py: Remove the cache file first when adding 
          a channel that has been subscribed to before; display a more 
          specific message when trying to download an episode that has 
          already been downloaded

Wed, 13 Dec 2006 02:05:23 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Switch to (new) last channel when 
          deleting the last channel in the channel list in combobox

Wed, 13 Dec 2006 01:58:25 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: New-style channel editor dialog (code)
        * data/gpodder.glade: New-style channel editor dialog

Wed, 13 Dec 2006 01:28:11 +0100 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Bugfix for newest_pubdate_downloaded

Wed, 13 Dec 2006 01:22:30 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Utilize a FileChooserButton instead of
          "emulating" it using our own widgets and methods
        * data/gpodder.glade: Add FileChooserButton to gPodderProperties

Wed, 13 Dec 2006 01:14:41 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Code to support new style episode info 
          dialog
        * data/gpodder.glade: New style for your neat episode info dialog

Wed, 13 Dec 2006 00:17:40 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Fix location of gPodder icon file
        * setup.py: Install gPodder 48x48 icon in /usr/share/gpodder for 
          libglade to pick it up

Wed, 13 Dec 2006 00:10:11 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Add support for "Play" button in main 
          gpodder dialog (depending on which episode is selected)
        * data/gpodder.glade: Add support for "Play" button (see above)
        * TODO: Release goals for 0.8.0 updated
        * bin/gpodder: Updated release date + version

Mon, 11 Dec 2006 16:11:54 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Don't treat already downloaded but 
          deleted episodes as "new" when clicking on "download new" - 
          thanks to Seth Remington for the suggestion
        * bin/gpodder: Pushed release date + version

Mon, 11 Dec 2006 15:02:56 +0100 <thp@perli.net>
        * TODO: Added release goals for gPodder 0.9.0

Mon, 11 Dec 2006 01:23:31 +0100 <thp@perli.net>
        * src/gpodder/libplayers.py: Fixed a bug when there are non-
          dotdesktop files in /usr/share/applications/ - thanks to Joel 
          Calado for reporting this bug on gpodder-devel :)
        * bin/gpodder: Pushed release date + version

Sat,  9 Dec 2006 03:04:06 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Fixed a bug that prevented opening the 
          gPodder preferences window

Sat,  9 Dec 2006 02:56:52 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Massive cleanup, this might introduce 
          new bugs from refactoring; please report if you find any
        * src/gpodder/liblocaldb.py: Fix get_filename_by_podcast() function 
          to check for errors in return value of get_channel()
        * bin/gpodder: pushed version + release date
        * data/gpodder.glade: Removed the downloaded episodes tab and 
          added a "Play" button to the gPodderEpisode window (if the episode
          has already been downloaded

Sat,  9 Dec 2006 01:38:35 +0100 <thp@perli.net>
        * src/gpodder/liblocdbreader.py: Read mimetype + calc filesize
        * src/gpodder/liblocdbwriter.py: Write out mimetype
        * src/gpodder/libpodcasts.py: re-design getItemsModel to new 
          function items_liststore(), added get_all_episodes() function 
          to retrieve episodes both in the feed and in the localdb; removed 
          getActiveByUrl() and replaced with find_episode(); added new 
          function calculate_filesize() to podcastItem
        * src/gpodder/gpodder.py: Removed some orphaned comment lines; 
          adopt GUI code for changes in libpodcasts (see above)
        * src/gpodder/liblocaldb.py: Adopt for changes in libpodcasts
        * data/gpodder.glade: Added first try on "Episodes" menuitem

Fri,  8 Dec 2006 21:50:39 +0100 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Add DownloadHistory class that saves 
          a list of already downloaded URLs; Make the podcastChannel class 
          utilize DownloadHistory through gPodderLib (background color for 
          already downloaded but already deleted episode is light green, 
          mark as downloaded when adding to localdb, utilize the history 
          in newest_pubdate_downloaded(), but keep the old method as a 
          fallback)
        * src/gpodder/libgpodder.py: Make a single DownloadHistory object 
          available through gPodderLib (+ functions to utilize it)
        * src/gpodder/liblocaldb.py: Mark downloaded items when loading 
          the model for the downloaded list (in case one has downloaded 
          episodes before this commit)
	* bin/gpodder: pushed release date + version

Wed,  6 Dec 2006 21:23:53 +0100 <thp@perli.net>
        * merged svn branch thp-december-2006 into trunk

Wed,  6 Dec 2006 21:03:35 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Added "device_type" and
          "mp3_player_folder" configuration parameters
        * src/gpodder/gpodder.py: Don't disable menu items based on the 
          ipod_supported() functions; sync menu items now decide what to 
          do based on what device the user selected in the properties;
          properties dialog adds ipod mountpoint + mp3 player folder 
          FileChooserDialog and UI code
        * data/gpodder.glade: Rename sync UI items from "iPod" to "device" 
          or "synchronization", add support for other non-iPod devices, 
          currently filesystem-based MP3 players

Wed,  6 Dec 2006 19:56:33 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Add columns, resizable and reorderable
          columns to the downloaded podcasts tab (nearly the same as in 
          the available podcasts tab)

Wed,  6 Dec 2006 19:43:11 +0100 <thp@perli.net>
        * src/gpodder/libwget.py: Don't log wget's output for now (too 
          noisy for testing, also wget seems to be stable for gPodder);
          added change_notification parameter to downloadStatusManager
        * src/gpodder/console.py: Only download episodes that are newer 
          than the latest downloaded episodes (like the "download new" 
          button) when running "gpodder -r" (as suggested by Stephen, 
          "urban at inetdesign.org" a while ago)
        * src/gpodder/libpodcasts.py: Refactor isDownloaded() to new name 
          is_downloaded() in podcastChannel; add a downloading_callback 
          parameter to getItemsModel(); have new colors for available 
          episodes list (green, orange-red and white)
        * src/gpodder/libipodsync.py: Check if iTunesDB has a master 
          and a podcasts playlist, bug out if there is none; also fix 
          some minor problems that might lead to crashes
        * src/gpodder/gpodder.py: update available tree view when the 
          downloadStatusManager reports a change; mark "downloading" 
          episodes with special color; when adding a channel that already 
          exists, switch the available podcasts view to the existing 
          channel; download "newer" episodes with the same timestamp as 
          the latest downloaded podcast; fix indentation
        * TODO: Removed items marked as done already

Wed,  6 Dec 2006 17:49:43 +0100 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Added newest_pubdate_downloaded() 
          to podcastChannel, added compare_pubdate() and newer_pubdate() 
          to podcastItem to enable getting most recent "pubDate" of the 
          downloaded episodes list (for finding "new" episodes, see below)
        * src/gpodder/gpodder.py: Update list of available episodes when
          switching notebook tabs (to mark downloaded episodes with another 
          color); ask user to download some new episodes after a channel 
          has been added; handle "download new" button to download either 
          the three newest episodes (if no downloads yet) or all episodes 
          that are newer than the newest downloaded episode
        * data/gpodder.glade: Added "download new" button for downloading 
          episodes as described above
	* TODO: one of the items in the TODO list is now partially done 
	  after the changes above
	* bin/gpodder: update release date and version

Wed,  6 Dec 2006 03:36:51 +0100 <thp@perli.net>
        * src/gpodder/libwget.py: Clean up downloadStatusManager 
          and add support for a GTK window that will have its 
          title updated based on the current download status (show 
          total download progress in titlebar of gPodder window)
        * src/gpodder/gpodder.py: Send the main window to the 
          downloadStatusManager object so it can access the window 
          title
        * data/gpodder.glade: Main window title is now "gPodder"

Wed,  6 Dec 2006 02:59:10 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Add support for updating 
          symlink on Desktop when moving downloads folder

Wed,  6 Dec 2006 02:45:43 +0100 <thp@perli.net>
        * TODO: Remove items on TODO list that have been done now

Wed,  6 Dec 2006 02:26:43 +0100 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Use shutil.rmtree() instead of 
          hand-crafted folder remove code in remove_downloaded();
          convert deleteDownloadedItemByUrlAndTitle() to a simpler 
          delete_episode_by_url() function (and get rid of duplicate 
          code in the process)
        * src/gpodder/libgpodder.py: Fix static<->object variables in 
          gPodderLibClass, re-factor downloaddir in a property that 
          automatically tries to move the downloaded folder when it 
          changes; also save download_dir as a config file value
        * src/gpodder/gpodder.py: Fix the delete single/multiple episodes 
          in a downloaded channel bug introduced by last commit (thanks 
          to Seth Remington for testing and reporting this :)
          Make Gpodderproperties open a FileChooserDialog to select 
          download directory
        * data/gpodder.glade: Make "download to" input field a button 
          that (when clicked) opens a folder chooser dialog

Tue,  5 Dec 2006 23:36:41 +0100 <thp@perli.net>
	* svn branch gpodder-thp-december-2006: This branch will be 
	  used to develop and test the new filenaming scheme and some 
	  code clean-ups. After the code has been tested and the 
	  codebase seems stable, this branch will be merged back into 
	  the gpodder trunk. This codebase breaks compatibility with 
	  the old download directory scheme, but also makes the code 
	  simpler and easier to manage. See below for the first cut of 
	  these changes and enjoy!            -- Thomas Perl
        * src/gpodder/liblocdbreader.py: Code clean-ups, utilize real 
          channel URL when reading localdb
        * src/gpodder/libpodcasts.py: Code clean-ups; new file naming 
          scheme; remove unnecessary download_dir property (you just 
          want to use save_dir instead); add remove_cache_file() and 
          remove_downloaded() methods to podcastChannel; remove support 
          for legacy (pre-0.7) filename locations - the old download 
          directory scheme is not supported anymore with this change; 
          channelsToModel function code cleanup
        * src/gpodder/libgpodder.py: Do not save channel name in the 
          gPodder channel list (because the name will be calculated 
          depending on the URL as of now); simplify the channel reading 
          process by getting rid of the "filename-discovery" code parts
          and do not read in the download_dir variable for the channel
        * src/gpodder/gpodder.py: Clear available episodes list when 
          there are no channels selected; do not disable/enable menu 
          items based on which page of the gtknotebook we are; only 
          fetch channel feed once, because we do not need to fetch it
          twice with the new channel naming scheme; added support for 
          feed:// URLs; remove downloaded items when removing a channel;
          some more code clean-ups to increase code readability
        * src/gpodder/liblocaldb.py: Major code overhaul, cleanup and 
          simplification; getting rid of camelCasedFunctionNames
	* bin/gpodder: Note version and release date for svn branch

Tue,  5 Dec 2006 03:31:38 +0100 <thp@perli.net>
        * src/gpodder/console.py: Removed unneeded import
        * src/gpodder/librssreader.py: Use "append" instead of 
	  the old "addItem" method on the podcastChannel class
        * bin/gpodder: Bumped version + release date

Tue,  5 Dec 2006 01:37:23 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Added support for "feed://" URLs 
          which are the same as "http://" URLs. Thanks to Timm 
	  Preetz (timm at preetz us) for suggesting this addition.
        * TODO: Updated TODO list (above item marked as done)

Mon,  4 Dec 2006 14:04:04 +0100 <thp@perli.net>
        * setup.py: Copy gPodder icon(s) to share/pixmaps now, and 
          only the artwork files to share/gpodder/images
        * Makefile: Generate 22x22 and 48x48 icons from gpodder.png
        * README: Note "imagemagick" as new developer dependency - 
          this is needed for the new image conversion in Makefile
        * data/gpodder.glade: Added three new links to help menu
        * src/gpodder/gpodder.py: Added three new link handlers for 
          help menu to link to website, wishlist and mailing list

Sun,  3 Dec 2006 19:07:27 +0100 <thp@perli.net>
        * src/gpodder/libwget.py: Remove partially downloaded files 
	  after download is cancelled or an error occured
        * src/gpodder/libgpodder.py: Added clean_up_downloads() function 
	  to gPodderLibClass to do some housekeeping in the download 
	  directory (remove temporary files from old sessions and remove 
	  empty download directories)
        * src/gpodder/gpodder.py: Call clean_up_downloads() when 
	  gPodder starts
        * bin/gpodder: Minor code cleanup, bumped version + release date

Fri,  1 Dec 2006 15:42:07 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Applied patch from Seth Remington
          to fix a synchronization error with newer libgpod versions
        * bin/gpodder: bumped version and release date

Thu, 30 Nov 2006 23:07:22 +0100 <thp@perli.net>
        * src/gpodder/libgpodder.py: Remove '.cover.jpg' file for 
	  episode if left on disk by libipodsync.py (see below)
        * src/gpodder/libipodsync.py: Applied iPodSync patch from 
	  Nick <nikosapi gmail com> to add support for ID3v2 
	  embedded cover art (please test this if you can)
	* README: Note optional pyid3 dependency

Tue, 28 Nov 2006 21:04:45 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Added patch from Seth Remington (sremington 
          at saberlogic dot com) to fix about dialog close button

Sun, 26 Nov 2006 18:21:23 +0100 <thp@perli.net>
        * TODO: Updated TODO list

Wed, 22 Nov 2006 17:02:23 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Add support for pymad, because
          it gives more correct track length of MP3 files for me; 
          if pymad is not installed, gPodder will fallback to eyeD3;
          if you only installed eyeD3 for gPodder, you can remove it 
          now and install pymad instead
        * README: Note pymad dependency (and now-optional eyeD3)
        * doc/dev/ipod-sync.txt: State that pymad is now preferred

Wed, 22 Nov 2006 16:13:33 +0100 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Small bugfix for description in 
          podcast item (80 instead of 20 chars is what we want ;)

Mon, 20 Nov 2006 13:33:00 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Fixed a stupid bug that prevented you 
          from changing a channel's url in the channel editor (didn't 
          anyone notice this bug before? ;)

Mon, 20 Nov 2006 12:46:54 +0100 <thp@perli.net>
        * src/gpodder/libpodcasts.py: Added one_line_description() to 
          podcastItem; modified getItemsModel to return description
        * src/gpodder/gpodder.py: Added description to "available 
          episodes" list; made columns resizable and reorderable and 
          added "ellipsize" property to both name and description field
	* bin/gpodder: bumped release date again (wonder if we should 
	  use svn:keywords on that file some time soon ;)

Mon, 20 Nov 2006 11:58:37 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Applied patch from Nick (nikosapi 
          gmail com) to add file size to iTunesDB. This should fix the 
          constant disk spinning on 5G iPods. Thanks :)

Sat, 18 Nov 2006 11:41:16 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: Applied modified patch from (nikosapi
          gmail com) to add "blue bullet" and "remember playback position" 
	  for fifth generation iPods when syncing to Podcasts playlist

Fri, 17 Nov 2006 21:42:18 +0100 <thp@perli.net>
        * src/gpodder/gpodder.py: Clear list of downloaded items after
          deleting the last channel (thanks to Alain Tauch for reporting)

Fri, 17 Nov 2006 11:10:42 +0100 <thp@perli.net>
        * src/gpodder/liblogger.py: Added new logging facility
        * src/gpodder/libgpodder.py: Removed isDebugging() and debug flag
        * src/gpodder/*: Use new liblogger instead of isDebugging() in
          libwget.py, liblocdbreader.py, libplayers.py, libpodcasts.py,
          libgpodder.py, libipodsync.py, gpodder.py and liblocaldb.py
        * TODO: Updated TODO list
        * bin/gpodder: bumped release date again

Thu, 16 Nov 2006 23:44:43 +0100 <thp@perli.net>
        * src/gpodder/liblocaldb.py: Applied modified version of patch 
	  from Alain Tauch to fix a bug in liblocaldb.py; re-factored the 
	  whole module to get rid of caching cruft and old code; this 
	  should also fix the long-standing "new downloaded channel doesn't
	  appear and requires a restart of gPodder" problem :)
        * bin/gpodder: bumped version + release date

Wed, 15 Nov 2006 12:12:13 +0100 <thp@perli.net>
        * setup.py: Added "pt" to list of languages to install
        * data/gpodder.desktop: Added Portuguese description
        * data/po/pt.po: Added Portuguese translation by Joel Calado
        * Makefile: Improved "make cl" target (also process added files)

Tue, 14 Nov 2006 19:44:03 +0100 <thp@perli.net>
        * Makefile: FreeBSD compatibility fix (sed command)
          Thanks to Alain Tauch for reporting this bug

Mon, 13 Nov 2006 12:06:12 +0100 <thp@perli.net>
        * src/gpodder/libipodsync.py: incorporated (slightly modified) 
          patch from (nikosapi gmail com) to add "time released" and 
          cover (for photo/color/nano iPods) to iTunesDB
        * AUTHORS: updated list of patch writers
        * bin/gpodder: bumped version + release date

Sat, 21 Oct 2006 12:15:30 +0200 <thp@perli.net>
        * src/gpodder/libipodsync.py: Defaulting to 60 minutes podcast time
	  when not able to get real length (and spit out a warning for it)

Sat, 30 Sep 2006 20:34:19 +0200 <thp@perli.net>
        * TODO: updated TODO list

Wed, 20 Sep 2006 13:10:47 +0200 <thp@perli.net>
        * setup.py: Added sv + it to languages list
        * data/po/it.po: Added Italian translation by Antonio Roversi

Thu, 10 Aug 2006 16:28:39 +0200 <thp@perli.net>
        * data/gpodder.desktop: Added patch from Thomas Nilsson

Thu, 10 Aug 2006 15:30:22 +0200 <thp@perli.net>
        * Makefile: Modified some statements to work better on BSD-like
          systems (like Mac OS X)
        * data/po/sv.po: Added Swedish translation by Thomas Nilsson

Mon, 07 Aug 2006 13:57:59 +0200 <thp@perli.net>
	* src/gpodder/libpodcasts.py: Improvements in get_filename
	* src/gpodder/libgpodder.py: Generate new filenames when 
	  different URL channels have same "filename" property, so 
	  these don't collide (thanks to ubunt2@gmail.com for reporting)
	* src/gpodder/gpodder.py: Removed shortname property references
	* Clean-up: Removed orphaned "shortname" property on channel

Wed, 02 Aug 2006 20:21:49 +0200 <thp@perli.net>
	* src/gpodder/libpodcasts.py: strip channel and episode title 
          when changing it (so titles with a trailing newline don't mess 
          up the episode list -- first seen with the play.fm podcast)
	* Makefile: improved "make cl" target support

Sun, 30 Jul 2006 15:11:51 +0200 <thp@perli.net>
	* Added new makefile target "cl" to automatically generate a 
          new changelog entry with right formatting
        * Housekeeping for going svn again (version. debugging variable)

Fri, 28 Jul 2006 14:34:37 +0200 <thp@perli.net>
	* ** gPodder version 0.8.0 is here! **
	* Thanks to all the contributors that helped make this release
	  possible, especially thanks to the gpodder-devel list users
	* Updated README, TODO, ...

Sun, 23 Jul 2006 23:57:25 +0200 <thp@perli.net>
	* Patched data/gpodder.glade with patch from Alain Tauch
	* Added French comment to data/gpodder.desktop
	* Updated French translation (data/po/fr.po) from Alain Tauch

Thu, 20 Jul 2006 15:11:57 +0200 <thp@perli.net>
	* Starting integrating changes and fixes suggested by 
	  feedback on gPodder 0.7.9
	* Thanks to Haim Roitgrund (and his son :) for suggesting 
	  the "select all" features (see next three entries)
	* Added "download all" button that downloads not-already 
	  downloaded episodes from available podcast list
	* Added "cancel all" button that cancels all current 
	  running downloads to the downloads tab
	* Added "delete all" (cleanup) button to the downloaded 
	  podcast list - deletes all episodes in currently 
	  selected channel (and removes the empty channel)
	* Bumped version + date to a SVN devel version
	* Debugging variable set to "True" for the next few 
	  days now before the 0.8.0 release
	* Updated TODO list

Mon, 17 Jul 2006 17:02:15 +0200 <thp@perli.net>
	* Set update_on_startup in gPodderLib so gPodder doesn't 
	  crash for first-time users with no gPodder configuration
	* Updated German translation file + messages.pot
	* Version set to 0.7.9 - this is a testing version before 
	  the 0.8.0 release
	* References to 0.8 have been changed to 0.8.0 - gpodder 
	  will have a 3-digit version number beginning from now 
	  so we can put out smaller bugfix releases (0.8.1, etc..) 
	  between the bigger releases if needed
	* Debugging output disabled for this testing release. if 
	  you want to enable it, set the "debugging" variable to 
	  True in src/gpodder/libgpodder.py
	* Preparations for the 0.8.0 release (TODO list, etc..)

Fri, 14 Jul 2006 21:07:56 +0200 <thp@perli.net>
	* Multiple selection support for downladed items list
	* Bumped up version and release dates
	* Updated parts of README file for upcoming 0.8 release
	* Updated TODO list
	* Do nothing if zero elements are selected for the new 
	  multiple selection items (previously showed bogus 
	  confirmation message to user - not good! ;)
	* Re-designed "Updating feed cache" dialog, simplified 
	  it and added a progress bar to it
	* gPodderChannelReader now accepts an optional callback
	  parameter for download status indication (see above)
	* Fixed multiple selection for downloaded item info box
	* Added direct download button to episode info when 
	  opened from "available podcasts" tab; now you can 
	  double-click, read description, download if you like 
	  or dismiss the dialog; should speed things up for ya!

Fri, 07 Jul 2006 14:21:59 +0200 <thp@perli.net>
	* Added workarounds to libopmlreader to support 
	  subscription lists from odeo.com (Import from web)
	* Unquote URL-encoded text from odeo.com opml feeds

Thu, 06 Jul 2006 20:55:37 +0200 <thp@perli.net>
	* Multiple selection support for download progress list
	* Pushed version number and release date

Thu, 22 Jun 2006 23:37:50 +0200 <thp@perli.net>
	* Added support for multiple-selection in available podcasts 
	  tab and starting simultaneous downloads at once
	* Updated TODO list

Tue, 13 Jun 2006 22:38:17 +0200 <thp@perli.net>
	* Added libopmlreader, first cut of OPML input support -- you 
	  can now select from a list of channels and add them to your 
	  local channel list
	* Added config option "opml_url" to specify URL which will  
	  be used as source for the OPML input support feature

Tue, 13 Jun 2006 20:20:07 +0200 <thp@perli.net>
	* Removed ipod-dbus support (has now its extra branch in svn)
	* Bumped version date + release date
	* You can run gPodder on python2.3 again (instead of 2.4 only)
	* libplayers now handles .desktop command lines according to 
	  the freedesktop.org spec (%F, %f, %U and %u supported)

Fri, 09 Jun 2006 12:37:54 +0200 <thp@perli.net>
	* Applied a modified version of Camille's patch to get videos 
	  (mov, mp4, m4v) working with iPod video devices on sync -
	  can anyone w/ a video iPod test this if it's working?

Thu, 08 Jun 2006 23:58:49 +0200 <thp@perli.net>
	* Fixed a bug where a "&" character in the channels list would 
	  result in gPodder to crash - thanks to Haim Roitgrund for 
	  pointint out that error and providing a nice bug report!
	* Pushed version and release date

Mon, 05 Jun 2006 15:55:01 +0200 <thp@perli.net>
	* Packages you will need for debian compile (in README)

Sun, 28 May 2006 16:13:38 +0200 <thp@perli.net>
	* Added "only download new podcasts" to TODO list

Mon, 01 May 2006 21:28:24 +0200 <thp@perli.net>
	* Applied patch from Adrien Beaucreux <informancer at web.de>
	  to support "update on startup" option (updates feed cache)
	  (fixes bug #7346)

Fri, 14 Apr 2006 14:40:47 +0200 <thp@perli.net>
	* Commented-out the "eject" call on end of iPod sync for now
	* Fallback to default download dir if not able to create it

Thu, 13 Apr 2006 12:06:50 +0200 <thp@perli.net>
	* Added support for DESTDIR= in Makefile (thanks to Steve for 
	  pointing this out..)

Tue, 11 Apr 2006 18:53:00 +0200 <thp@perli.net>
	* Make directories recursively, more efficient (in libgpodder)

Mon, 10 Apr 2006 18:44:48 +0200 <thp@perli.net>
	* Added "Released" column to available podcasts list

Mon, 10 Apr 2006 09:48:00 +0200 <thp@perli.net>
	* Updated TODO list

Sun, 09 Apr 2006 18:10:54 +0200 <thp@perli.net>
	* Added iPodManager and iPod to libipodsync (D-BUSified)
	* Automatically detect connected iPod, ask if user wants to sync
	* Automatically eject iPod device on sync finish (should be opt.)
	* Python 2.4 is now used instead of Python 2.3 (for D-BUS)
	* Lots of D-BUS magic, still VERY experimental..
	* gPodder SVN will now feature very experimental D-BUS stuff in 
	  the near future, related to iPod, but it should keep working 
	  if you either haven't installed "gpod" or "dbus" for Python2.4
	* Send your RANTS about svn not working to thp@perli.net.. hehe
	* Updated German translation

Sun, 09 Apr 2006 14:10:28 +0200 <thp@perli.net>
	* Enabled podcast flag setting (works with libgpod cvs)
	* Fixed a brainfart of mine -- new localDB could not be created

Sat, 08 Apr 2006 16:39:08 +0200 <thp@perli.net>
	* Save more details in localDB
	* Show more details in podcast window

Sat, 08 Apr 2006 14:39:28 +0200 <thp@perli.net>
	* "debugging" variable set to True again
	* [ Bug #7016 ] corrupt file length -- fixed
	* Pushed version (we'll now keep 0.7+svn... until 0.8)
	* If debug output is disabled, also don't display wget commandline

Sat, 08 Apr 2006 12:30:59 +0200 <thp@perli.net>
	* ** gPodder version 0.7 is here! **
	* Bumped version number to 0.7
	* Updated documentation files, Manifest, ...
	* Thanks to all the contributors that helped make this release
	  possible, especially thanks to the gpodder-devel list users
	* Now, also set "debugging" variable to False for release

Sat, 08 Apr 2006 09:56:41 +0200 <thp@perli.net>	
	* Added choice to podcast channel config dialog to select if the 
	  user wants to sync to the "Podcasts" playlist or to a specially
	  named playlist on the iPod.
	* Fixed a bug that doesn't save settings of a channel when the 
	  localDB was empty
	* Updated German translation
	* Fixed a bug with localDB channel list display

Sat, 08 Apr 2006 08:44:31 +0200 <thp@perli.net>
	* Applied patch for French translation (thanks Alain Tauch)
	* Updated Makefile to give the user a overview of commands on "make"
	* Updated Makefile to only generate the messages.pot file when 
	  explicitly called with "make messages" - this should put us in 
	  for less useless SVN diffs, as suggested by Alain
	* Modified "doc/dev/i18n.txt" to reflect changes of today
	* Applied patch from Adrien Beaucreux to make the podcastChannel 
	  class act like a Python list and therefore make code more cute
	* Modified "data/po/Makefile" and "Makefile" for modifying the 
	  *.po files only when explicitly requested by the developer

Fri, 07 Apr 2006 22:00:06 +0200 <thp@perli.net>
	* Uhh! Gotta love bureaucracy (bureaucrazy?) -- anyway, got some 
	  more GPL-related copyright notices into the source tree
	* Removed "debian/" structure for now.. Currently working with 
	  people at Ubuntu ("REVU") to get a decent Ubuntu package for 
	  gPodder, based on the great work of Peter Hoffmann
	* The debian build structure will probably be seen elsewhere soon

Fri, 07 Apr 2006 21:22:11 +0200 <thp@perli.net>
	* Put podcasts onto the iPod in a more iTunes-like way

Fri, 07 Apr 2006 20:06:29 +0200 <thp@perli.net>
	* Make iPod mountpoint configurable (gPodderLib, glade GUI)
	* Display error message when iPod cannot be found/accessed
	* Updated gpodder.desktop file
	* Updated german translation
	* Updated deb package source for upload to Ubuntu's REVU
	* Fixed BUG that prevented user from adding channels (huh!?)

Fri, 07 Apr 2006 04:59:01 +0200 <thp@perli.net>
	* Added "Suggests" to the Debian control file
	* Updated Debian changelog, pushed version of debian package
	* Pushed version date in bin/gpodder

Fri, 07 Apr 2006 03:33:18 +0200 <thp@perli.net>
	+ Added new XML tag to localDB so we can save channel metdata
	* Channel metadata save/read functions
	* Added sync_to_devices metadata field to podcastChannel
	* Disabled some unneeded debug output
	* Callback-function support in libipodsync (for GUI feedback)
	* iPod synchronization status window
	+ Added data/artwork/* stuff for iPod sync window graphics
	* iPod synchronization - check if an episode is already on iPod
	* call "sync" on episode copy end to iPod to show real progress
	* Sync all channels (that are enabled) instead of just one to iPod
	* Added "sync to devices" to Channel Editor window
	* Updated German translation
	* Updated TODO list

Thu, 06 Apr 2006 15:38:45 +0200 <thp@perli.net>
	* Applied patch from Ortwin Forster (ortwin@videotron.ca) to fix 
	  special characters in XML files (escape ampersands, ...)
	* Applied patch from Alain Tauch to search for *.desktop files in 
	  the libplayers in more than one directory
	+ Added French translation (Thanks to Alain Tauch)
	* Experimental iPod sync stuff (see doc/dev/ipod-sync.txt)
	* Added libipodsync and functionality
	* Added iPod sync + cleanup menu items in gladefile
	* iPod support will always remain OPTIONAL for gPodder, and gPodder 
	  will keep to have all functionality (except iPod-related of 
	  course) without the user having to have an iPod. If you don't 
	  install the additional dependencies, iPod support will be disabled,
	  but gPodder will still work as expected..

Wed, 05 Apr 2006 21:04:10 +0200 <thp@perli.net>
	* Migrated to new config file style, retaining import support for old
	* Using Python's ConfigParser to read/write ini-style config file
	* Added option to properties + config to use environment's proxy
	* Made gPodderLib a quasi-singleton (only load config once, etc..)

Wed, 05 Apr 2006 16:50:40 +0200 <thp@perli.net>
	* Today is the "debian packaging" day - thanks to Peter Hoffmann 
	  for his hard work on getting the "debian/" directory into gPodder
	  and his work on creating packages - here are some fixes to 
	  streamline package generation and installation..
	* setup.py now installs the translation files
	* Updated debian/* files (see seperate debian/changelog)
	* Modified setup.py to generate "right" source pkg (make release)
	* Renamed version in bin/gpodder to "0.7svn", pushed date
	* Renamed manpage from gpodder.man.1 to gpodder.1 (obvious error?!)
	* Updated MANIFEST.in to include the "debian" subfolder
	* Updated Makefile to create "deb" with debuild instead of bdist_deb
	* Do not generate binary gettext files (*.mo) on "make release"
	* Added Makefile target "debclean" to clean up debian-related stuff
	* Fixed several warnings reported by "lintian" for the debian pkg
	* Updated TODO list

Tue, 04 Apr 2006 00:16:28 +0200 <thp@perli.net>
	* New podcast download location (save_dir + md5 of url + ext), 
	  while still supporting "legacy" locations (for already downloaded 
	  episodes)
	* Cleanup of libwget (removed two orphaned functions)
	* Notification on startup when running SVN-based version ("warn user")
	* Updated data/po/de.po (german translation)

Mon, 03 Apr 2006 21:40:39 +0200 <thp@perli.net>
	* Retry adding item to localDB on new download attept when not
	  yet added to localDB (helps when already downloaded "grey" item 
	  in available list doesn't appear in "downloaded" list)
	* Put contents of description into <![CDATA[ ... ]]> in case it 
	  includes HTML (parser chokes on entities like &amp; and also &)
	* Better threading, shouldn't fuck up GUI responsiveness after 
	  download has finished (also gives us realtime "downloading" 
	  status updates - yeah, I've now read the pygtk threading faq..)
	* Catch exception when wget's URL contains a % sign and the 
	  download thread tries to convert it to an integer
	* Today is testing day - fixed some small bugs (see SVN log)

Fri, 31 Mar 2006 18:13:16 +0200 <thp@perli.net>
	* Major code clean-up in gpodder.py and other modules
	* Updated strings in all source code + gladefile (for i18n)
	* Added support for itunes image ("Cover") in channel editor
	* Removed orphaned (for a very long time) download status window
	* User applications (from libplayers) only readed once now
	* Fixed gPodder window icon when running with "make test"
	* Updated gladefile (removed status, non-translatable strings)
	* Updated data/messages.pot and updated german translation (de.po)

Thu, 30 Mar 2006 23:00:44 +0200 <thp@perli.net>
	* Modified makefile for i18n purposes
	* Added data/po directory structure
	* Localized all strings in src/gpodder/*.py
	* Added data/messages.pot
	* THIS IS ONLY VERY EARLY i18n SUPPORT...
	* Please see "doc/dev/i18n.txt" for more information!

Thu, 30 Mar 2006 21:27:08 +0200 <thp@perli.net>
	* First cut of i18n preparation

Thu, 30 Mar 2006 00:03:11 +0200 <thp@perli.net>
	* Bumped version number to 0.7-svn
	* Set "debugging" variable to True again
	* Added "libplayers", which searches for feasible audio players
	* Properties dialog uses libplayers to display cute players menu

Wed, 29 Mar 2006 16:54:38 +0200 <thp@perli.net>
	* ** gPodder version 0.6 is here! **
	* Bumped version number to 0.6
	* Updated documentation files, Manifest, ...
	* Thanks to all the people who made this release possible! You rock
	* Now, also set "debugging" variable to False for release

Wed, 29 Mar 2006 16:19:07 +0200 <thp@perli.net>
	* Locking of tree_model access in libwget - should be more stable
	* Ask for confirmation when cancelling a ongoing download
	* Fixed problems that appeared when starting with a fresh install
	* Added even more information dialogs to error situations

Wed, 29 Mar 2006 15:21:32 +0200 <thp@perli.net>
	* Re-designed gPodder properties dialog
	+ Added option to create a symlink on users' desktop to downloaddir
	* Added "Download to" field to gPodder channel editor
	* Added showConfirmation function to main gPodder window
	* Ask for confirmation on channel / episode delete

Wed, 29 Mar 2006 13:29:51 +0200 <thp@perli.net>
	* Only create one localDB object in the main gPodder window
	* localDB is now caching data read from localDB XML files
	* localDB cache is cleared when a download is completed
	* Applied patch from Alain Tauch (bad URL "Add channel.." fix)
	* Updated AUTHORS, TODO, contributors list, pushed version date
	* Moved getPodcastFilename/podcastFilenameExists into podcastChannel
	* Added showMessage function to main gPodder window
	* Use showMessage function to show error messages GUI-wise
	* Removed orphaned code parts for "not_implemented" function

Tue, 28 Mar 2006 20:30:00 +0200 <thp@perli.net>
	* Disable some menu items when not on "available" tab
	* Reload the localDB only when changing to "downloaded" tab

Fri, 24 Mar 2006 19:34:21 +0100 <thp@perli.net>
	+ Applied yet another patch from Alain (delete downloaded podcasts)
	* Delete empty local db index.xml files when no items left
	* Updated TODO list

Sun, 19 Mar 2006 18:38:42 +0100 <thp@perli.net>
	+ Applied another patch from A. Tauch (stripHTML enhancements)

Sun, 19 Mar 2006 15:11:32 +0100 <thp@perli.net>
	+ Applied two patches from A. Tauch <contrib@maisondubonheur.com>:
	* fix for local db writer's encoding -> is now really iso-8859-1)
	* fixed race condition bug which made some episodes to disappear

Sat, 04 Mar 2006 21:36:56 +0100 <thp@perli.net>
	+ Added channel info + general/advanced tabs to channel editor
	+ Added channel info/edit button to gPodder main window view
	+ Added episode info dialog + open on double-click (available list)
	* Fixed getPodcastFilename (returned wrong value)
	+ Added Adrien Beaucreux to list of authors/contributors
	+ Added Tooltips object + tooltip for info/edit button
	* Fixed addDownloadedItem (getChannelIndexFiles doesn't exist anymore)
	* Removed URL display in gPodder main window channel combobox
	* Updated TODO-List

Fri, 03 Mar 2006 20:59:17 +0100 <thp@perli.net>
	* Applied patch from informancer@web.de (see below)
	- Reverted to old-style channel properties dialog for now
	* Changed debug output to only output when debugging ;)

Sun, 26 Feb 2006 00:11:28 +0100 <thp@perli.net>
	* Bumped version number and date in bin/gpodder
	* Updated TODO-List
	* Strip html inside <description> tags (Reported by Leo Gomez)

Sat, 25 Fen 2006 12:00:00 +0100 <informancer@web.de>
	* Added download dir field to channel property window
	* Changed save/load of channel.xml to use download dir
	* Added download_dir as a property of podcastChannel
	* moved chan properties from gPodderLib to podcastChannel
	* merged configChannel in podcastChannel

Sat, 04 Feb 2006 19:07:33 +0100 <thp@perli.net> 
	* ** gPodder version 0.5 is here! **
	+ Added "downloaded episodes" tab
	+ Added "liblocaldb" for abstraction of readLocalDB
	* Fixed version to 0.5
	* Small clean-ups
	* Updated TODO-List

Sat, 04 Feb 2006 11:54:55 +0100 <thp@perli.net>
	* Bumped up version number and date in bin/gpodder

Sat, 04 Feb 2006 11:36:08 +0100 <thp@perli.net>
	* Fixed localdb read/write support

Tue, 10 Jan 2006 01:19:44 +0100 <thp@perli.net>
	+ Added first cut of localdb support (liblocdbwriter + liblocdbreader)

Mon, 09 Jan 2006 00:13:10 +0100 <thp@perli.net>
	+ Added gPodder Properties dialog with http/ftp proxy settings
	+ Added very basic config file support to gPodderLib, for proxy

Son Dez 25 10:07:19 CET 2005 <thp@perli.net>
	* Fixed "add channel" dialog "OK" button handling (works again)

Sam Dez 24 15:41:57 CET 2005 <thp@perli.net>
	+ Added "tepache" tool + tepache howto in doc/dev
	+ Added document for development on ubuntu breezy in doc/dev
	* Moved is_downloaded to isDownloaded in libpodcasts

Don Dez  8 20:16:40 CET 2005 <thp@perli.net>
	+ Added "edit channel" dialog
	+ Added "libopmlwriter.py" (a dirty hack to write opml format)
	+ Added "export to OPML" functionality
	* Fixed wget calls (not using /usr/bin/wget, but "wget", using $PATH)
	* Wget detection code on startup with warning when not found
	* Updated AUTHORS list in about dialog
	* Updated TODO list

Mit Nov 23 20:46:33 CET 2005 <thp@perli.net>
	* Improved download status list support
	- Removed download status window (code still in codebase)
	+ Added ability to remove downloads from download status list
	* Prohibit downloading the same podcast twice
	* Port "?" handling and "%20" handling in URLs from gPodder 0.4
	* Cancel all download threads on gPodder exit ("clean shutdown")

Die Nov 22 23:03:39 CET 2005 <thp@perli.net>
	+ Added download status list support

Tue Nov 22 15:12:10 CET 2005 <tosh@cs.tu-berlin.de>
	* Build deb packages
	* Changed TreeView model, mark already downloaded podcasts
	* Add Drag and Drop suppurt for adding channels
	* Set icon in window title
	* Add deb rule in Makefile
	+ Added deb package build instructions doc/dev/debian.txt

Son Nov 20 22:28:10 CET 2005 <thp@perli.net>
	* Fixed version info reading in setup.py
	+ Added "INSTALL" file
	+ Updated TODO list
	+ Added GPL (file COPYING)

Sam Nov 19 18:17:35 CET 2005 <thp@perli.net>
	+ Created ChangeLog
	* Updated TODO list
	* Cleanup of source tree
	* Makefile changed to fit to new source structure
	* Unified version info (only have to edit bin/gpodder)

