Hello, users and developers of gPodder! In the last few weeks, I've carried out some long-awaited refactoring of the gPodder codebase. Apart from splitting the different dialogs of gui.py in separate modules (which allows for a more modular design and also allows to replace and modify existing dialogs more easily), I have also removed some global variables that have been used previously (if you've been around in the code, you've probably noticed the "gl" object that had the configuration attached to it). So, the database and configuration objects are now created in two spots only and passed to other objects from there: * For the GUI, it's created in gui.py * For the CLI + API, it's created in api.py Several objects that were needed for gPodder to function (i.e. the config object) had GTK+-related code inside them. Now, the GTK+- related code has been moved to separate GUI model classes or to subclasses of the original classes (for example the Config object is GTK+-free, with its subclass UIConfig adding GTK+-related functionality for the GUI mode). These changes will allow for better unit testing in the future, and are already coming in handy for some features and improvements. I've also reworked the code for adding new subscriptions, which is now a bit more slipstreamed. I have not added GUI code for the subscriptions, so the GUI will freeze while new podcasts are being added, but it will come before the next release. The new structure will also allow easier support for different UI modes (like Maemo 4, Maemo 5 and "normal" GTK+ mode) by allowing us to easily exchange dialogs and modules with platform-specific ones. Oh, and messages that are not critical are now displayed using libnotify (except on Ubuntu, where notify-osd does not allow placement of the notification bubbles - we fall back to a custom notification window there). I still need to clean up gui.py a bit more and factor some things out, because there is still too much program logic hidden in the GUI code. These big changes also mean that the next release will be delayed for some weeks, but maintaining and testing will be easier after that ;) If you're working with the Git version of gPodder (that'd be really helpful for spotting any bugs I introduced during the refactoring), please report problems that you encounter on http://bugs.gpodder.org. Thanks, Thomas