commit c9ee7d5488f6c5466e48c8fdaa817dc6c528442c
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon Jun 1 14:02:54 2009 +0200

    gPodder 0.16.0 "Man of Science, Man of Faith" released
    
    Updated README, refreshed translations, updated
    manpage and set version number in __init__.py.
    
    Also set the default download limit to 1 and enabled
    limiting of simultaneous downloads for first-time users.

commit 29bd7153d8e03b98d352c0e9836a1b6c91817f49
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon Jun 1 00:21:34 2009 +0200

    Updated German translation
    
    Some strings (mainly for the description of all
    configuration options) are still missing.

commit 19ba2313789c171ce4798f6278b14614946479ab
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sun May 31 13:20:43 2009 +0200

    Use Maemo's Bugzilla for bug reports on Maemo
    
    The menu item "Report a problem" is now going to
    open the Maemo.org Bugzilla instead of gPodder's
    Bugzilla for reporting bugs on Maemo devices.

commit 9f1061ef19a804d6f987f7e51705f0933359cc31
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sun May 31 11:45:54 2009 +0200

    T-Shirts, mugs and wishlist menu items

commit f83eb6a26e2f174cac7add224ed690a92d777436
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sun May 31 11:33:07 2009 +0200

    UI fixes for both Maemo 4 and Maemo 5
    
    * Make the preferences dialog modal
    * Always display the download button label

commit 7836974ceca9c363d3d912f5f00feccaf7a0ef65
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sat May 30 13:28:16 2009 +0200

    Make TreeView scrolling work on Maemo 5
    
    For some strange reason (again..), scrolling the
    TreeView widgets only works on Maemo 5 when we are
    setting the hildon-ui-mode to 1 for all TreeViews.

commit bfa8a0901a5c7de963e4e34de383f6d9ca402191
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sat May 30 13:14:15 2009 +0200

    Add support for Hildon's AppMenu if available
    
    If available (i.e. on Maemo 5), use the new AppMenu
    way of displaying the main menu. If not, fallback
    to the usual Hildon method of setting the menu.

commit 92af5d73df20192e24679699fa1ff5dcffb3a41d
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sat May 30 12:48:56 2009 +0200

    Fix cursor-changed with hildon.PannableArea
    
    For some reason, when putting a TreeView inside the
    PannableArea widget, it does not get the cursor-changed
    message when clicking on a podcast channel. This patch
    now always calls on_treeChannels_cursor_changed(), so
    the right episode list is loaded.

commit 7e65e621301dc679ab3b3a40865b125fa5de21d9
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sat May 30 12:34:36 2009 +0200

    Fix bug when download list model is not yet available
    
    This seems to happen for some reason on Maemo 5 but not
    in other environments, might be a timing issue, so we
    go the safe route by ensuring that the iteration can be
    done over the None value too by replacing it with a
    zero-size tuple.

commit 12f9bccf873448cc3b05da22c3f77ab9f8043dd5
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sat May 30 12:21:53 2009 +0200

    Support for hildon.PannableArea on Maemo 5
    
    Use Hildon's PannableArea widget instead of mokoui's
    FingerScroll when it's available (i.e. on Maemo 5).

commit e727b4cbaa18190f555d24d0ce0b2f4ab52223a4
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sat May 30 11:31:02 2009 +0200

    Make D-Bus an optional (recommended) dependency
    
    Make D-Bus optional if python-dbus is not available,
    not only if we're on Win32. Also, if we have D-Bus,
    but getting the session bus fails, show an error and
    exit. This should fix Debian Bug 520369.

commit 8e7b3d6b12d035d3087f25e33cde58590d407362
Author: Jérôme Chabod <jerome.chabod@ifrance.com>
Date:   Sat May 30 10:49:24 2009 +0200

    Updated French translation

commit d47631b683c06b5ee9cace68f3b4ee5b05f8c41c
Author: Silvio Sisto <sisto.silvio@gmail.com>
Date:   Sat May 30 10:48:42 2009 +0200

    Updated Spanish translation

commit cf5e2a8296e661ff7f5bbb98310c7cb5d4bd7615
Author: nikosapi <me@nikosapi.org>
Date:   Wed May 27 10:53:19 2009 -0400

    Set the nice value of the gPodder process to 0 on maemo
    
    This reduces the chance that gPodder will kill the tablet when
    doing a feed cache update.

commit ea3ba377b36915f9ad92930c8322d0ae8f0d33ef
Author: Jim Nygård <jim@nygard.priv.no>
Date:   Sat May 30 10:42:11 2009 +0200

    Updated Norwegian bokmål translation

commit 9d9e5afa4484494b73edeb6bf2fe2323d1901f9f
Author: Ville-Pekka Vainio <vpivaini@cs.helsinki.fi>
Date:   Sat May 30 10:41:18 2009 +0200

    Updated Finnish translation

commit 970cb54fc1cc2f50e8664d45883d8c7e925a0412
Author: Gonçalo Cordeiro <gonzalo@tagenata.com>
Date:   Sat May 30 10:36:59 2009 +0200

    Updated Galician translation

commit 9b5f53982576713cdc70e629761d083bb86ae854
Author: Fabio Fiorentini <fabio.fiorentini@gmail.com>
Date:   Sat May 30 10:35:49 2009 +0200

    Updated Italian translation

commit 8167f7365bd2f0de593db12646f771b6227cd703
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 26 14:25:42 2009 +0200

    Update translation templates for 0.16.0
    
    Please fill in missing translation and mail
    them in, so we have a good translation coverage
    for the next release.

commit a050637fd5f30c7df0694055366aa35484558e8e
Author: Torbjörn Wassberg <dev@wassberg.eu>
Date:   Tue May 26 13:56:49 2009 +0200

    Fix sort order in "Remove podcasts" dialog (bug 408)
    
    When I sort on the Copied-column in the Remove podcasts dialog, it sorts
    in lexicographical order. Also, files copied within the last day only
    show an empty string.
    
    This patch fixes these issues.

commit 437d5fa2a5e879887da6d0396a5d2c0ef6c2f716
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 26 13:55:40 2009 +0200

    Link the adjustments to the UI again (downloads tab)
    
    This has been left out in the previous commit that
    added the "Clean up" button to the downloads tab.

commit d64d27948a04f84da7565feabcad0bf48f15eb8f
Author: Bernd Schlapsi <brot@gmx.info>
Date:   Mon May 25 20:18:16 2009 +0200

    changed method 'get_tags_ogg' so it works if vorbiscomment is not installed

commit a1624ca39d4966538949ff99992abe9b54fab504
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 26 13:47:47 2009 +0200

    Add button to clean up download list (bug 434)
    
    Remove with one click of a button all failed, cancelled
    and finished downloads.

commit 521bd9e85fb5ad4f84ef7f04f4d18c83f4a888a7
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 26 13:01:33 2009 +0200

    Finger-friendly welcome screen on Maemo (bug 310)
    
    Make the two buttons (Import from example list and
    get from my gPodder) in the welcome screen really
    finger friendly by adding additional padding to them.

commit 02ed5cac7b8c8d992466ac9e83bee758a276f4ea
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 26 12:51:28 2009 +0200

    Add file extension to MTP-synchronized files (bug 463)
    
    This should fix the problem of files not appearing or
    being playable on Sansa Clip MTP devices.
    
    Thanks to Gianpaolo Racca for feedback and suggestions.

commit 20e743f300de00f52b70720284b4f1f66e48226a
Author: Ville-Pekka Vainio <vpivaini AT cs.helsinki.fi>
Date:   Thu May 21 00:10:46 2009 +0300

    Add options rewrite_genre_tag and rewrite_genre_tag_with.
    
    Some media players have special handling for the Podcast tag and some
    users may want to avoid using that tag. The rewrite_genre_tag option
    rewrites the genre tag with what is specified in the
    rewrite_genre_tag_with option.

commit c29c3c52bdf7f0f59adc3943e41d1aac1fa766a0
Author: nikosapi <me@nikosapi.org>
Date:   Thu May 14 11:25:04 2009 -0400

    Prevent old episodes from apearing as new
    
    By deleting old episodes last, it prevents an old episode from coming
    back as new (see bug #340).

commit 1eef2bb668ee518ceba2b500ee8512c54aed1668
Author: nikosapi <me@nikosapi.org>
Date:   Wed May 13 13:46:50 2009 -0400

    Add duplicate detection when adding new episodes
    
    This is needed for feeds where all the guids suddenly change. It compares both
    the pubDate and the title, if they are the same, the episode is assumed to be
    a duplicate (if this isn't the case, the feed's author should be shot).

commit 6a05e23a6c86673caada5d39edd85ce2bc25b89a
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 26 12:43:26 2009 +0200

    Set up socket timeout for lost connections (bug 174)
    
    Set a socket timeout of 1 minute for all sockets in
    gPodder. This should make downloads that will never
    finish fail after some time and allow other downloads
    in the queue to continue.

commit a963a60d260c9f79be332e25bedd53ed813b16a0
Author: Fabio Fiorentini <fabio.fiorentini@gmail.com>
Date:   Tue May 26 12:29:09 2009 +0200

    Updated Italian translation

commit 10bd0b4fcdac1037aeaa3ca718c1fee063bb631a
Author: Thomas Perl <thp@thpinfo.com>
Date:   Thu May 14 10:16:07 2009 +0200

    Improve wording ("episode list" instead of ("feed cache")
    
    Thanks to Silvio Sisto for pointing this out.

commit 3ef97a752c3e644b7f260de70c6817883b4a3fc2
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 12 19:48:45 2009 +0200

    Fix translation issues with gtk.Builder
    
    This should make the gtk.Builder translations work
    on Linux and other free operating systems with
    'bindtextdomain' in the locale module. For other
    systems (it seems like Windows does not have that
    function in the locale module), a small C module
    is provided that does the same thing. It will be
    used if available.

commit 54386f67bc60d9a7695fad74a7d75be57c17a98d
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 12 12:13:03 2009 +0200

    Properly implement changing podcast feed URLs (bug 367)
    
    Implement changing the feed URLs of podcast to switch
    between "latest" and "full" episode listings for e.g.
    the Chaosradio podcasts. The feed URL can now only be
    changed via the menu and not in the podcast editor.
    
    Thanks to Sebastian Krause for reporting this bug.

commit 9e44ec1d19b6a5b509a7f000e7e646e925199348
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 12 11:10:21 2009 +0200

    Rename the remove episodes from device menu item (bug 333)
    
    Rename from "Remove episodes from device" to the more
    proper "Select and remove episodes from device".
    
    Thanks to Silvio Sisto for pointing this out.

commit d81109d080198c10bd77b77d1eeaa43d2bd76568
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 12 11:03:59 2009 +0200

    Update podcast list after download status changes (bug 433)
    
    The podcast list is now updated correctly when the
    status of a download changes, the same as with the
    episodes list.

commit 1c9db7f5273ce457d3640fedb6582473e1f694fd
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 12 10:36:01 2009 +0200

    Add episode dialog opening to download list (bug 212)
    
    Users can now open the episode details dialog ("shownotes")
    by right-clicking on the episode in the downloads list.

commit 872b6cb91cc8fec06435329c669a7e95bfd57733
Author: Thomas Perl <thp@thpinfo.com>
Date:   Tue May 12 10:14:20 2009 +0200

    Filter tracks before synchronization (bug 446)
    
    This makes the sync dialog show the correct count of
    episodes that will be transferred to the device when
    there are files that are not going to be synced.
    
    Thanks to Götz Waschk for reporting this bug.

commit 7b1bdb6c84b099578ceca8448bb2957ad22f7d5f
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon May 11 23:10:56 2009 +0200

    Bugfixes and UI improvements for Maemo
    
    Some experimental UI improvements for the Maemo
    version and bugfixes for bugs introduced in the
    latest commits.

commit 57fb7777307d9bc6058670a25ad2e1e0baca5651
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon May 11 21:35:33 2009 +0200

    Maemo-specific UI changes (automatic FingerScroll)
    
    Refactor the finger scroll code so that it can be
    applied to all instances of gtk.ScrolledWindow by
    placing the relevant code in gpodder.uibase.
    
    Additional code changes to make the UI nicer on Maemo.

commit 4f1ff0ed00ae71d953b485440953b2434fe7f4ea
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon May 11 20:09:21 2009 +0200

    Add sys.exit(0) again to the gPodder closing code
    
    The previous change (removing the sys.exit) did not really
    work in some cases, so this commit reverts that change.

commit 9b0521b53fca612ec88bc3bea7456320a38cf3a4
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon May 11 20:06:39 2009 +0200

    Add proper player configuration on Maemo (preferences UI)
    
    Redo the Maemo preferences UI and add a player selector for
    audio and video. Remove the maemo_allow_custom_layer option
    and move the Maemo-specific "osso" file opening (with Media
    Player) to gpodder.util from libgpodder.

commit 8e935342b111759eca4eec0d1fd08e785243bee3
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon May 11 19:20:55 2009 +0200

    Do not call sys.exit when gPodder finishes
    
    This should remove the annoying excepthook error
    messages that sometimes appear after gPodder closes.

commit a74098aef9ffb855999782dc8f4146531da2dc30
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon May 11 17:05:51 2009 +0200

    Update README and remove old dependency
    
    We do not need ImageMagick anymore when building gPodder.

commit 736d0fa7997e4c609fe98f3ea5b7325679cafba1
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon May 11 17:01:47 2009 +0200

    Remove obsolete files from "doc/dev/"
    
    These files contained either outdated information,
    worked around bugs fixed some releases ago or are
    not relevant anymore. If you really need them,
    you can always get them from the VCS history.

commit 5c08f625357db30f97132c8b9bec641fe3c58bc0
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon May 11 16:55:54 2009 +0200

    Include Win32 launcher source in repository
    
    This is a small launcher that can be compiled into
    a nice executable for the Win32 version of gPodder.

commit 89f974de0ee1a3fc417229cdf4ee17e2192bddf5
Author: Thomas Perl <thp@thpinfo.com>
Date:   Mon May 11 00:22:30 2009 +0200

    Make Wifi auth page detection a bit more liberal
    
    This makes the feed at
    http://www.tagesschau.de/export/podcast/tagesschau/
    with a wrong content-type (text/html) work again.

commit aab4e524ef870a8883fdd22712ec6153194c1be4
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sun May 10 23:16:48 2009 +0200

    Enhanced the API; more features for "gpo"
    
    Add the ability to update feeds and download episodes
    from the API and implement more features in "gpo".

commit de3750e190b404ce0493b25872af36484f73d2b8
Author: Thomas Perl <thp@thpinfo.com>
Date:   Sat May 9 15:21:04 2009 +0200

    Win32-specific changes and bugfixes (bug 247, 442)
    
    This patch merges all the win32-specific changes that
    have been done to gPodder so far and also adds some
    generic bugfixes that will benefit other versions of
    gPodder, too.
    
    Thanks to Stefan Koegl and David Greenbaum for testing.

commit 952ea2854838be161fe37da749b3b0d4f0afe958
Author: Eric Le Lay <neric27@wanadoo.fr>
Date:   Sat May 9 17:57:00 2009 +0200

    Correct import for pysqlite2

commit 8a8b42322b4f61c08cb66be09cb79b70c2fe96a7
Author: Jim Nygård <jim@nygard.priv.no>
Date:   Fri May 8 15:44:47 2009 +0200

    Updated Norwegian bokmål translation

commit 1a7fca23bdaf55c8f295af23d81e556edc3ffc94
Author: Markus Golser <elmargol@gmail.com>
Date:   Fri May 8 14:55:48 2009 +0200

    Give YouTube downloads proper filenames (bug 441)
    
    watch.mp4 is not a very good filename.
    This patch uses the title from the feed as filename.

commit bffcab51d0b533e0579b4762f218e698902639be
Author: Shane Huntley <huntsman@gmail.com>
Date:   Fri May 8 07:55:51 2009 +1000

    Fix to only use iPod purge option when syncing to ipod (bug 440)

commit fa863df2c993148e80326d7e00bd007c195a5db0
Author: Thomas Perl <thp@thpinfo.com>
Date:   Fri May 8 14:28:53 2009 +0200

    Transition from LibGlade to GtkBuilder
    
    Get rid of the libglade dependency and the big
    gladefile and move to the newer GtkBuilder.
    
    Adopt the SimpleGladeApp to create the new uibase
    module and split the .ui files into one per dialog.
    
    Add helper scripts to doc/dev/ to clean ui GtkBuilder
    files after conversion from Glade.
    
    State changed dependencies in README.
    
    Update Makefile and setup.py to install .ui files.

commit 5a51e8c15fefb841220e410b35169b97a7f511af
Author: Thomas Perl <thp@thpinfo.com>
Date:   Thu May 7 21:27:00 2009 +0200

    Yet another fix for the script path detection
    
    This time, we get it right.. hopefully (os.readlink does
    require the argument to be a symlink).

commit a42f6ed1cac3c81c4a52c2155fb7a32710dc4603
Author: Thomas Perl <thp@thpinfo.com>
Date:   Thu May 7 19:15:08 2009 +0200

    Let scripts work even if symlinked from elsewhere
    
    In case the "gpodder" or "gpo" scripts are symlinked
    from somewhere else (e.g. in ~/bin/), they should still
    work and read their links to find the correct paths.

commit d6d70e39d5609a7980e2a511852100d7e03a729f
Author: Thomas Perl <thp@thpinfo.com>
Date:   Thu May 7 18:57:14 2009 +0200

    Bugfixes, API enhancements (episode status) and DB improvements
    
    Fix a bug in gui.py (add URLs without scheme did not work).
    
    Add is_new, is_downloaded and is_deleted as episode attributes.
    
    Make the DB code less locking and don't complain about not being
    able to write to the database when only trying to open it.

commit e17b41353234683c96316366317603f2228d82a0
Author: Thomas Perl <thp@thpinfo.com>
Date:   Thu May 7 18:26:12 2009 +0200

    Initial version of "gpo" CLI tool and API module
    
    In order to be able to allow for a more generic access
    to gPodder's data, we now provide a better CLI interface
    that acts like apt-get/svn/git/... and an API module
    that will allow developers to integrate gPodder functionality
    into their Python applications.

commit b1ec8f62e938f9f157feb51372272e3e7a97e7bc
Author: Thomas Perl <thp@thpinfo.com>
Date:   Thu May 7 16:26:07 2009 +0200

    Make gPodder more library-like; remove --local
    
    Do not install gettext globally, but have a gettext
    function in the gpodder module and import it from all
    dependent modules.
    
    Remove the --local command line option and instead
    automatically detect if the gpodder script is called
    from a source folder (determined by the existence of
    "src" and "data" in the parent folder and by the fact
    that prefix does not start with '/usr').
    
    Clean up setup.py and use metadata from the module.

commit 7d614772151bc479c00d61947b5f5cd096a7192b
Author: Thomas Perl <thp@thpinfo.com>
Date:   Thu May 7 13:21:29 2009 +0200

    Fix channel deletion in CLI mode (-d)
    
    Channel deletion did not work in CLI mode, because
    we were only saving the OPML file, and did not
    remove the channel from the database. This patch
    fixes it by calling delete() on the channel object.
    
    Thanks to Markus Golser (elmargol) for testing
    the CLI mode and bringing this to my attention.

commit 0f249100551be7ceed282732516505fef8b13dfc
Author: Thomas Perl <thp@perli.net>
Date:   Tue May 5 10:22:12 2009 +0200

    Truncate partial download file if resume is unsupported (bug 409)
    
    When downloading files, make sure that the server sends
    the correct content-range response header for the request.
    If not, truncate the file and start from the beginning.

commit d4c3e47b08ff38aec04e07fcb7120488a6489d13
Author: Shane Huntley <huntsman@gmail.com>
Date:   Sat May 2 15:22:52 2009 +1000

    Update minimize behavior when no tray icon (bug 258)
    
    "Auto download new episodes when gPodder is minimized" and "Start gPodder minimized"
    options now work when gPodder is minimized to task list rather than tray icon.

commit b06f6751e1099642d3654dda51d291ce53da02de
Author: Shane Huntley <huntsman@gmail.com>
Date:   Tue Apr 28 23:30:54 2009 +1000

    Part played episodes no longer marked new on iPod (bug 403)
    
    When syncing to iPod if an epsode has been partially played making
    the unplayed blue dot disappear, then the status is now maintained
    by not marking as unplayed if the bookmark_time > 0.

commit 5cf2c41d4f85ee32b691c1d33dddc83d4f59e226
Author: Markus Golser <elmargol@googlemail.com>
Date:   Tue May 5 09:23:36 2009 +0200

    Fetch the best YouTube video format available (bug 428)
    
    Not every youtube video has a mp4 version. This patch
    fetches the best version known (except for Maemo).

commit 71091f15aa5b131be65b9e2bb07df26ab6ea1f67
Author: Thomas Perl <thp@perli.net>
Date:   Tue May 5 09:17:43 2009 +0200

    Create .local/share/applications if necessary (bug 431)
    
    Thanks to Bernd Schlapsi for the bug report.

commit 0c7de30b2115a6752421f2b698f9b85d9527f832
Author: Thomas Perl <thp@perli.net>
Date:   Mon Apr 27 22:28:27 2009 +0200

    Update translation templates with new strings
    
    There have been lots of added strings since the
    last run due to the addition of configuration
    option descriptions.

commit 4572dbf29ad55118373403256deff8c67dfb0922
Author: Shane Huntley <huntsman@gmail.com>
Date:   Tue Apr 21 23:32:45 2009 +1000

    Ipod sync behaviour changes
    
    When syncing to ipod, played episodes are marked as
    played in gPodder and optionally deleted from new option
    ipod_delete_played_from_db.
    Checkbox added for this new option.

commit 0750587a83cab1080a25e523082fcc831eb118c6
Author: Thomas Perl <thp@perli.net>
Date:   Mon Apr 27 18:22:37 2009 +0200

    Add install-git-menuitem and remove-git-menuitem
    
    Allow users to install a menu item for running the
    development version (Git checkout) and a simple
    GUI updater for calling "git pull", so interested
    users can easily set up the development version.
    
    To install, run:
    
      make install-git-menuitem
    
    To remove the menu item again:
    
      make remove-git-menuitem

commit 6e445eecdca593d202062c308b8b2d3c725b0e3d
Author: Torbjörn Wassberg <dev@wassberg.eu>
Date:   Mon Apr 27 17:03:06 2009 +0200

    Better column sizing for the episode dialog (bug 131)
    
    A better approach to sizing the additional columns of
    the gPodderEpisodeDialog, so that more of the data is
    displayed while still leaving enough space for the
    episode and podcast titles.

commit 302436f89e30484db64e4b6f465a64b364219d36
Author: Thomas Perl <thp@perli.net>
Date:   Mon Apr 27 15:54:15 2009 +0200

    Sync episodes ordered by publishing date (bug 388)
    
    The episodes that are queued to sync are now ordered
    by the pubDate attribute, so that MP3 Players (like
    the Sansa Fuze) sort podcasts in the correct order.
    
    Some podcasts such as NPR's Science Friday podcast do
    break up a single episode in several parts, which has
    led to parts playing in reverse order.
    
    Thanks to Abraham D Smith for the bug report and an
    initial patch to solve this issue.

commit 36b75deb3eb5bea23e82478edaf92eefe797ec3e
Author: Thomas Perl <thp@perli.net>
Date:   Mon Apr 27 15:44:28 2009 +0200

    Use proxy server settings for feed downloads (bug 371)
    
    Use the configured proxy server settings if available for
    adding a ProxyHandler to the feedcache download request.
    
    This makes feed updates work over HTTP and FTP proxy servers
    configured in the preferences dialog.
    
    Based on a patch by Carlo Mandelli.

commit f133a757c88c69822827d43975504bcad0e4145e
Author: Shane Huntley <huntsman@gmail.com>
Date:   Sun Apr 19 16:09:36 2009 +1000

    Refresh episode status from db before reusing a DownloadTask (bug 414)

commit f8cd21d50ac11d3b1aa41aa7e2611edc18fe05c1
Author: nikosapi <me@nikosapi.org>
Date:   Sat Apr 18 11:39:32 2009 -0400

    Add script that generates a table of all the gPodder settings

commit 5398c1f3e9bcdc9ccc1d1c9a3c1c93f6df2a8dad
Author: Thomas Perl <thp@perli.net>
Date:   Mon Apr 27 14:54:02 2009 +0200

    Save the database after deletion and transfer (bug 293)
    
    The database was not committed after episodes have been
    deleted or files transferred to a portable device.
    
    This patch adds a db.commit() call after both scenarios.
    
    Thanks to Peter Cherriman for the bug report.

commit 0d6cbab91014a01c950f78427323a745848b3607
Author: Thomas Perl <thp@perli.net>
Date:   Sat Apr 11 13:21:13 2009 +0200

    Remove unnecessary check in 'make releasetest'
    
    We do not use svn anymore, so remove the bogus version
    info check in the releasetest target.

commit ac0552b294bca63b2578fcfac92494948fd4037f
Author: Bernd Schlapsi <brot@gmx.info>
Date:   Sat Apr 11 13:02:58 2009 +0200

    Fix "mp3_player_delete_played" config option (bug 398)
    
    Added a new field to the SyncTrack object. For my this patch
    works, but I couldn't test it with a MTPDevice or an iPod.

commit 05075a37a67a0e5df85e082fcf1a8c803d764b93
Author: Silvio Sisto <sisto.silvio@gmail.com>
Date:   Fri Apr 3 16:32:51 2009 -0300

    Updated Spanish translation
    
    Translation made on top of commit:
    84347eeaeaf0d4bda7ce196913b09fad272d4615

commit b61cffa01348be78fac07c837fd11597b1164f19
Author: Gonçalo Cordeiro <gonzalo@tagenata.com>
Date:   Sat Apr 11 11:59:58 2009 +0200

    Updated Galician translation
    
    data/po/gl.po

commit 87d591830328f7c45b325c69e9f8810c2eca72e2
Author: Fabio Fiorentini <fabio.fiorentini@gmail.com>
Date:   Sat Apr 11 11:55:18 2009 +0200

    Updated Italian translation
    
    data/po/it.po

commit deaee8d29d8b8e7f05058aac708b177eb870b2e2
Author: Jim Nygård <jim@nygard.priv.no>
Date:   Sat Apr 11 11:52:19 2009 +0200

    Added Norwegian bokmål translation
    
    Added nb.po, updated setup.py and gpodder.desktop

commit cc36294fc8e4cdce459693be785b3570aa1b14b7
Author: Torbjörn Wassberg <dev@wassberg.eu>
Date:   Sat Apr 11 11:17:52 2009 +0200

    Update episode list on "transfer to MP3 player" (bug 320)
    
    The episode status icons were not updated after
    transferring episodes to an MP3 player.
    
    Thanks to Andrew Bennett for reporting this bug.

commit ec6fc3d5f3eccca6248cb2a4fed9c5b7a8544133
Author: nikosapi <me@nikosapi.org>
Date:   Sat Feb 28 13:22:01 2009 -0500

    Add a description for every configuration option
    
    The descriptions are displayed in the advanced configuration editor.

commit ce70212ce447bd314baecd4b1d2f513f606f4ad4
Author: Thomas Perl <thp@perli.net>
Date:   Wed Apr 8 16:04:19 2009 +0200

    Remove bogus sender=self keyword arguments
    
    Thanks to Tim Barlotta in LP bug 341474 for the report.

commit 84347eeaeaf0d4bda7ce196913b09fad272d4615
Author: Thomas Perl <thp@perli.net>
Date:   Thu Apr 2 15:24:54 2009 +0200

    Make feed updates on Desktop more like on Maemo (bug 392)
    
    Do not display a "no new episodes" dialog, but show
    it in the update progress bar and/or tray icon tooltip.
    
    This allows for a more pleasant user experience :)
    
    Also fix a problem with the update progress bar not
    going away after an update when the window is minimized.

commit 918fe70cb7193910548dd06cf310c3a37a3e1666
Author: Thomas Perl <thp@perli.net>
Date:   Thu Apr 2 11:13:00 2009 +0200

    Fix minor UI issues in the downloads tab
    
    Do not expand the progress column, so we have more
    space for displaying the episode name.
    
    Only allow the "Remove from list" context menu item
    when the selection is finished, failed or cancelled.

commit 510c784e2954344f295cb7cfc7e22925148e180f
Author: Thomas Perl <thp@perli.net>
Date:   Thu Apr 2 02:22:09 2009 +0200

    Maemo UI fixes for the new downlaod task code
    
    Make the UI finger-friendly and remove some columns
    and UI elements that just waste space on Maemo.

commit d0cbbf55ede1323040517b25d95f66eb7c4a42c9
Author: Thomas Perl <thp@perli.net>
Date:   Thu Apr 2 01:40:53 2009 +0200

    Clean-up tray icon; re-enable download reporting
    
    Clean up the gPodder tray icon module and remove
    unncessary stuff that has become obsolete.
    
    Handle the displaying of download status from
    within the gPodder main window and push all download
    notifications to the tray icon object for display.

commit 48ddd441664a0ebfdb47dcf795f4eeeed4da57fd
Author: Thomas Perl <thp@perli.net>
Date:   Thu Apr 2 00:33:49 2009 +0200

    Remove cancelled and failed downloads on exit
    
    Cancelled and failed downloads should have their
    partial download files removed when gPodder is
    closed, while all other (non-finished) files should
    be paused to be resumed in the next session.

commit a8e53f60768a373e71e5ee14ab49322407818069
Author: Thomas Perl <thp@perli.net>
Date:   Thu Apr 2 00:21:08 2009 +0200

    Disable context menu items in downloads list
    
    For some running download tasks, some actions in the
    context menu of the downloads list do not make sense
    given a specific status. We disable these actions.

commit ed7a71dd970529d9875388991d8edc645f9beaac
Author: Thomas Perl <thp@perli.net>
Date:   Thu Apr 2 00:02:07 2009 +0200

    Add status_changed to DownloadTask for monitoring
    
    This allows our UI to directly monitor the status
    of all running DownloadTask objects by checking the
    truth value of the status_changed attribute and
    updating the UI for all relevant episodes.

commit 3f6b04ccca2c30e8d2886dcd7ccf26aef6682a8d
Author: Thomas Perl <thp@perli.net>
Date:   Wed Apr 1 21:54:17 2009 +0200

    Do not hide, but disable (popup) menu items
    
    We might change this in the future, but for now,
    hiding menu items is considered bad.

commit 65a70d37dca5d666becf75b7054b51a47f0a1dd0
Author: Thomas Perl <thp@perli.net>
Date:   Wed Apr 1 21:04:29 2009 +0200

    Figure out columns of the ListStore for episode lists
    
    This will be helpful for refactoring the liststore later.

commit d0b3537c34834bd548d88964789253d709cb5465
Author: Thomas Perl <thp@perli.net>
Date:   Wed Apr 1 18:46:19 2009 +0200

    Adapt episode shownotes window to new download code
    
    Make progress indication and buttons work again.

commit 38a1bf5c88b3ea8364296e279dbe10f4f5cd5e41
Author: Thomas Perl <thp@perli.net>
Date:   Wed Apr 1 13:34:19 2009 +0200

    DownloadStatusManager it not a global object anymore
    
    This lets us get rid of global state and also makes the
    code more readable and less interdependent, and allows
    us to more easily refactor code in the future.
    
    Obviously, this still breaks some things that need
    re-thinking - these parts have been marked with FIXMEs.

commit 0c3b31563f97c8c8baf384181405b68df92dfd76
Author: Thomas Perl <thp@perli.net>
Date:   Wed Apr 1 13:05:53 2009 +0200

    Use symbolic status names from DownloadTask
    
    In the DownloadStatusManager, use symbolic names
    from the DownloadTask class, so as to not duplicate
    code and to always pick the right icon, even when
    the status IDs in the DownloadTask change.

commit aa4eb0b4d0d15d7fd38e3c59634ef2464e3ec548
Author: Thomas Perl <thp@perli.net>
Date:   Wed Apr 1 12:53:13 2009 +0200

    Move ext_command_thread from gPodderLib to util
    
    We want to get rid of gPodderLib in the end, so move
    the utility function out of gPodderLib and correct
    its uses accordingly. Also add a unittest for it.

commit e3a8795a3eba37e720b0cd4f72b8be051d30fd8e
Author: Thomas Perl <thp@perli.net>
Date:   Wed Apr 1 01:12:17 2009 +0200

    Initial work on the new download manager code
    
    This is still a work-in-progress, and many things
    have been broken by introducing it, but the new
    code is easier to understand and maintain, and
    should also prove performance-enhancing on Maemo.
    
    Last but not least, when it's done, it will fix
    these bugs: 242, 361 (http://bugs.gpodder.org)

commit 9a3c45f082b1bfe5a6af865127e05a568aa14443
Author: Paul Rudkin <paul@rudkin.me.uk>
Date:   Mon Mar 30 20:53:01 2009 +0100

    Added advanced option to reverse m3u playlist order (bug 401)

commit 866712a765eac83a4e9267ed5adedd0d99a6e14e
Author: Thomas Perl <thp@perli.net>
Date:   Tue Mar 31 13:03:38 2009 +0200

    Add Fabio to the list of contributors (translation)
    
    Fabio now takes care of the Italian translation.

commit 835ec1b1ca333b1b9df51702d3f7c591f82b55db
Author: Fabio Fiorentini <fabio.fiorentini@gmail.com>
Date:   Tue Mar 31 12:55:09 2009 +0200

    Updated Italian translation
    
    I'm working on Italian translation of gpodder that
    was only at 7%. As soon as possible I will send you
    an updated file.

commit d69c50092de6f7cb55e1d1735bfa0831a4277fff
Author: Thomas Perl <thp@perli.net>
Date:   Mon Mar 30 20:45:31 2009 +0200

    Fix wording: "Sync episodes to device" (bug 399)
    
    The previous wording was "Copy episodes to device",
    but this does not really reflect what the menu item
    really does (it may also delete episodes).
    
    Thanks to Benjamin Elbers for reporting this bug.

commit f7e3e555fedafab6ea01b60c5e08ee7c684d8cde
Author: Thomas Perl <thp@perli.net>
Date:   Mon Mar 30 20:42:33 2009 +0200

    More detailed retrieval of episode description (bug 394)
    
    In case there are multiple fields, prefer "summary",
    but fallback to "subtitle" in case "summary" is empty.
    
    Thanks to kiko for reporting this bug.

commit 3212ba80807aa12581cb703bde42d052db816806
Author: Thomas Perl <thp@perli.net>
Date:   Mon Mar 30 20:30:19 2009 +0200

    Improve sanitize_filename and sanitize_encoding (bug 389)
    
    Make sure to always decode non-unicode strings in
    these functions, so to not get an UnicodeDecodeError
    when trying to decode/encode strings to/from unicode.
    
    Thanks to Andy Owen for reporting this bug.

commit a035150cd98f238dde2551aafa0cacab60d0d310
Author: Anders Kvist <kvistkvist@gmail.com>
Date:   Mon Mar 30 20:09:00 2009 +0200

    Updated Swedish translation
    
    data/po/sv.po

commit a388a992a240fb2ef5433f5944a5f9f847e90244
Author: Thomas Perl <thp@perli.net>
Date:   Mon Mar 30 18:59:50 2009 +0200

    Fix raising of ContentTooShortError (from urllib)
    
    Previously, this has not worked, because the name
    was not defined in this scope (we based the code on
    urllib, which was allowed to use it like this).

commit 27b660ac29cec419c1f1bd1cb690eef37021c664
Author: Thomas Perl <thp@perli.net>
Date:   Tue Mar 24 20:44:37 2009 +0100

    Doctest for util.username_password_from_url
    
    Add doctests for the username/password from URL
    function and raise a ValueError when the input
    data is invalid (wrong type or format - see below).
    
    Had a look at RFC1738 (Section 3.1) how username
    and password are specified in URLs. According to
    that RFC, "@", ":" and "/" have to be encoded in
    the username and password field.

commit 3aab8c1b87c4a274fd1bc311e29a8e8410f467af
Author: Thomas Perl <thp@perli.net>
Date:   Tue Mar 24 19:53:19 2009 +0100

    More doctests; test "find_mount_point" (using MiniMock)
    
    Add doctests for the find_mount_point() utility method
    and make it more robust while finding shortcomings of
    the current implementation by unexpected behaviour that
    has been checked with the doctest and mock objects.
    
    Note the unittest requirements (minimock + coverage) in
    the README file and rm the ".coverage" file on "make clean".

commit 9572c573d4fe5409439e9e9fee95c989131d47bb
Author: Thomas Perl <thp@perli.net>
Date:   Tue Mar 24 15:42:39 2009 +0100

    Support Coverage reporting in gpodder.unittests
    
    If "python-coverage" is installed, report the test
    coverage for all currently-tested modules in gPodder
    while doing the unittest with "make unittest".

commit 8b5fc60bd607b92e7ce31ab78e8d52b788cd63b8
Author: Thomas Perl <thp@perli.net>
Date:   Mon Mar 23 22:49:37 2009 +0100

    Avoid race condition when refreshing podcast list (bug 387)
    
    On at least Mac OS X, this bug could happen as a result of
    a race condition. We can avoid this by checking if the
    tree model is already set, and if not, just ignore it.
    
    Thanks to neric27 for reporting this bug in our bug tracker.

commit 22d4ce19d544147d5c0dab3c41c9fd3f4fed6402
Author: Marco Antonio Villegas Vega <marvil07@gmail.com>
Date:   Fri Mar 13 14:08:57 2009 -0500

    let search on treeChannels
    
    thanks thp to help me on do not waste lines repeating code and use set_cursor() instead of on_treeChannels_cursor_changed()
    thanks to diegoe to point me to the initial right method

commit 8b246ef484fdc115b48d8e9a815edc52238b52cf
Author: Torbjörn Wassberg <dev@wassberg.eu>
Date:   Mon Mar 23 22:31:25 2009 +0100

    Display MP3 tags when removing episodes (sync module)
    
    I have made a small patch to make the Remove episodes
    dialog look for tag-tiles in MP3-devices.

commit ddcebb75ab2aba22efbdfec50941502969439a03
Author: Gonçalo Cordeiro <gonzalo@tagenata.com>
Date:   Mon Mar 23 22:27:45 2009 +0100

    Updated Galician translation
    
    gl.po updated. Now 100% translated again.

commit 0a8784bdc6c0e03408c8de31a5dc464f884a8a91
Author: Bastian Kleineidam <calvin@debian.org>
Date:   Mon Mar 23 22:23:17 2009 +0100

    Fix dbus.exceptions.DBusException when running from cron
    
    Do not fail when we cannot connect via D-Bus when
    running as a cronjob ("dbus-launch failed to autolaunch").
    
    This patch has been attached to Debian Bug #520369.

commit 79f1278f80b3739a8e0f65c4cf14e7014a066892
Author: Thomas Perl <thp@perli.net>
Date:   Mon Mar 23 22:18:26 2009 +0100

    Allow pasting URLs from the clipboard (bug 395)
    
    Add a "paste from clipboard" button to the add new
    podcast via URL dialog to make it easier for users
    to subscribe to new podcasts when using copy'n'paste.
    
    Thanks to ad for suggesting this enhancement.

commit 6619fc5a793a4b36433bf7c374465935fd68ff61
Author: Steven Oxley <steven.aj.oxley@gmail.com>
Date:   Sun Mar 22 19:22:59 2009 +0530

    Added the ability to resize episode columns
    
    * Added ability to resize episode columns in the main episode list
    * Added ability to resize episode columns in the downloads list

commit d23bdd0067b92e706e6642bed890ff82c83de02b
Author: Thomas Perl <thp@perli.net>
Date:   Sat Mar 21 21:10:46 2009 +0100

    Migrate to subprocess; add unittests (LP bug #345003)
    
    Migrate the usage of the popen2 module to subprocess,
    as popen2 is deprecated in Python 2.6.
    
    Add unittests (doctests) for both MP3 and OGG tag
    reading, and add corresponding test data files.

commit 4c979301770bdea519684e263e02e5b36e1d3658
Author: Thomas Perl <thp@perli.net>
Date:   Wed Mar 18 21:33:50 2009 +0100

    Support Vim movement keys in shownotes window (bug 328)
    
    You can now use "j" and "k" to scroll through the
    shownotes, just like in vi/Vim :)

commit 973d6ff0d2ba32b7ac0911c198330c70ac1cc05d
Author: Thomas Perl <thp@perli.net>
Date:   Wed Mar 11 11:05:21 2009 +0100

    Retrieve size also for zero-value length fields
    
    This does retrieve file lengths when the length
    attribute is available, but set to zero (which is
    not really useful; zero-length files are not funny).

commit 5ede570f6f68357369ac5d987eb2e0ef9eed8aca
Author: Marco Antonio Villegas Vega <marvil07@gmail.com>
Date:   Tue Mar 10 21:51:32 2009 -0500

    Add get_length_from_http_header_if_empty option
    
    Let the user decide about this feature; default disabled.

commit 03ae704bd29e1996b1fe4a3cf163389882c1f657
Author: Marco Antonio Villegas Vega <marvil07@gmail.com>
Date:   Mon Mar 9 14:16:16 2009 -0500

    Let retrieve length metadata when length=0 (bug 24)

commit 7fbf04d54ca24a4f1f5cd9fe7617003a9e70e15c
Author: Jérôme Chabod <jerome.chabod@ifrance.com>
Date:   Wed Mar 11 10:30:37 2009 +0100

    Fix a regression in the MTP synchronization code
    
    I'm sorry but mtp device synchronisation is broken with this
    new version. Here is small patch to fix it.

commit f500f586cab5b93e15a78366811567792076f1a3
Author: Thomas Perl <thp@perli.net>
Date:   Wed Mar 11 10:18:51 2009 +0100

    Fix "You must not use 8-bit bytestrings" (bug 375)
    
    This happens for new versions of PySQLite that are available
    with Python 2.6 (i.e. Ubuntu Jaunty).
    
    Thanks to Fabian Scherschel and Tyler Rick for reporting this.

commit 177f3ab6f70eab21fcf18b598effa07704e491c8
Author: Thomas Perl <thp@perli.net>
Date:   Wed Mar 11 10:16:53 2009 +0100

    Add support for searching podcast.de in "Find pocasts"
    
    Thanks to Fabio for providing the necessary APIs.

commit e00ae8e267ef656df4f766351691723bc1a9440f
Author: Nick Nobody <me@nikosapi.org>
Date:   Tue Mar 10 08:45:28 2009 -0400

    Make default encoding 'utf8' on Maemo

commit 0cafc12941516488957531f14de818558ded4799
Author: Thomas Perl <thp@perli.net>
Date:   Tue Mar 10 14:59:01 2009 +0100

    Refactor libpodcasts; fix episode dialog
    
    Refactor libpodcasts:
     * Rename podcastChannel to PodcastChannel
     * Rename podcastItem to PodcastEpisode
     * Add a new base class with common functions for
       PodcastChannel/PodcastEpisode
     * Remove unneeded / orphaned functions and properties
    
    Fix the buttons in the episode shownotes dialog when a
    new episode finishes downloading by reloading the filename
    from the database (so we can display the play button).
