Gaupol 0.14
===========

 [ ] Switch to git, find a host for master branch
 [ ] Use weakref.WeakValueDictionary in gaupol.Observable
 [ ] Implement clean-methods for Markup classes

 [?] Handle fancy quotes, dashes and ellipses in text corrections
     - As bogus regular expression groups, e.g. (?gaupol-quote)?
 [?] Add notebooked panes to the side and bottom
 [?] Move the output window to the bottom pane
 [ ] Add an extension system
     - gaupol.gtk.Extension
     - gaupol.gtk.ExtensionManager
     - New tab in the preferences dialog
     - UI manager placeholders
     - Add signals to observable classes
     - Allow extensions to use gaupol.gtk.conf?
 [ ] Add an example extension (bookmark/notes column?)

Gaupol 1.0
==========

 * Add documentation on writing extensions
 * Add documentation on writing pattern files
 * Add a wiki page for publishing extensions
 * Add a wiki page for publishing pattern files

Gaupol 3000
===========

 * Migrate from Glade to gtk.Builder
 * Adher to freedesktop.org's XDG Base Directory Specification
 * Add a built-in GStreamer video player (as extension?)
 * Replace the headers-dialog with a more general properties-dialog
   - SubRip: Write coordinates (extended SubRip format)
   - MicroDVD: Write framerate information subtitle
 * PyGObject 2.16
   - Try gobject.option.OptionParser (see #378704)
   - Try gio.AppInfo for launching web browser and video player
 * PyEnchant 1.4
   - All dictionary providers now use a shared default personal word
     file (largely obsoleting the DictWithPWL class)
   - Dict.add_to_pwl renamed to Dict.add
