"Release changes log" for Specto
Individual entries in these release notes are alphabetical, not chronological.
This file is updated only at "release time".

Specto 0.3.1: 2009 07 12
======================
This is a small bug-fixing release, solving the following problems.

Bug fixes
    * Issue #255: entity problem for extra information pane
    * Issue #258: Use os.path.join in the About dialog

Maintainability
    * Clarify the sorting methods' names, and various code cleanups
    * Standardize our HTML entities sanitization using the CGI module, extend it to all watches
    * Use os.path.join everywhere to prevent problems

Specto 0.3: 2009 06 06
======================
Upgrading to this release is strongly recommended, as it solves a huge amount of issues reported in the 0.2.x series, is more stable, implements new features, is more secure and easier to maintain.
This release contains lots of architectural changes. The watch system is now a plugin system, the watch list has changed, GNOME keyring is now used for encrypting passwords by default (though you can disable it), and the configuration/cache directories are now based on the XDG user directory specification. As such, you will need to import your watch list if upgrading from Specto 0.2.x. You may also need to reset (overwrite) your passwords, or convert them to plain text before upgrading.

Features
    * Ability to run a command when a watch is cleared
    * Ability to run a command when a watch is updated
    * Action button for libnotify balloons (patch by Matias Torres) 
    * Add a balloon text for the process watch, and make it translatable
    * Add a "clear" button in the edit menu
    * Add a "Mark as read" menu to the notification icon popup-menu
    * Add a "Refresh all" button to the trayicon menu
    * Add an optional "Label" field for GMail watches
    * Adding watches is now done from the menubar or a menu from the toolbar
    * A dialog with debug info appears when a system/programming error occurs
    * Clarify the labels in the preferences
    * Clear the watch when you open it using the balloon
    * Console mode (specto --console or specto --console --help)
    * Disable renaming watches in the listview, make it a "Jump To" instead
    * Error log tab in notifier window
    * Gmail watch now shows more error information
    * Issue #12: Provide more information
    * Issue #13: Watch list importing and exporting
    * Issue #33: Ability to run a command instead of notifying
    * Issue #51: Integrate with GNOME Keyring for password encryption
    * Issue #54: FreeDesktop-compliant user directories
    * Issue #117: show more information for errors
    * Issue #128: Allow setting a port for mail watches (add 'port = 323' to your watch config)
    * Issue #135: Proxy support
    * Issue #136: Allow checking a specific IMAP folder
    * Issue #142: Don't scroll the notifier list view column headers
    * Issue #146: Per-watch option to prevent URL redirects; To use this option add "redirect = True" to the watch that is allowed to redirect
    * Issue #166: Add a checkbox in the preferences for gnome-keyring usage
    * Issue #178: Add direct access to the "remove" functionnality
    * Issue #180: keyring vs plaintext conversion should be smart and automatic
    * Issue #190: Insanely faster startup (performance profiling)
    * Issue #212: when adding a watch, focus the name entry
    * Major changes in terminology, as discussed on the mailing list
    * Make some watch names clearer
    * More error-handling
    * More space for the extra information in the info panel
    * Moved some code so the file dialog will show faster
    * New watch type: Bazaar (version control)
    * New watch type: Facebook (messages, notifications, requests, wall posts)
    * New watch type: Google Reader (issue #63)
    * Require all mandatory fields to be filled (add/edit watch)
    * Show/hide the notifier's scrollbar automatically
    * Show simple diff from webpage difference
    * The error log now shows the lines in color according to the severity
    * The GMail watch now saves what unread mails there already were last time
    * Watch importing from Specto 0.2
    * Watch menu when you right-click a watch entry in the notifier window

Bug fixes
    * Added a timeout in web_proxy
    * A watch will be marked updated when you didn't clear it on quit
    * Check on maximum port number (65535)
    * Do not crash when trying to create a broken plugin
    * Fix a division error when the old filesize is 0
    * Fix error log filtering for "All" (level 0)
    * Fix the logic for showing/hiding deactivated watches
    * Hack that shows the menu correctly positionned, when clicking Add button
    * Issue #1: Add a 10 seconds timeout for web watches to prevent hangs
    * Issue #3: startup quit warning dialog crashes if you click cancel
    * Issue #37: Save the filesize in a cache file (not in watches.list)
    * Issue #52: Ampersands in watch names in add_watch window
    * Issue #56: Ampersands in URLs pass a truncated address to browser
    * Issue #58: Redirected URLs should not be saved
    * Issue #63: Google Reader watch does not support more than 20 items
    * Issue #67: Update info pane if the unread message count goes down
    * Issue #69: Startup fails due to wrong glade file path
    * Issue #72: "Show in window list" preference is not saved
    * Issue #73: Brackets in watch name lead to startup crash
    * Issue #77: Don't mess up if ekiga's sound files are not present
    * Issue #93: Gmail library can support no more than 19 new mails
    * Issue #95: Statusbar should show something else when updates are done
    * Issue #100: Point to the right domain when using gmail with google apps
    * Issue #101: Show the import dialog after the file chooser
    * Issue #112: Hide error log tabs when debug mode is deactivated
    * Issue #114: Removing a watch should show a confirmation dialog
    * Issue #118: Add http:// and @ automatically if needed
    * Issue #119: Don't let the log file get huge
    * Issue #122: the quit warning dialog should not block the UI and watch check process
    * Issue #131: Bombs on special characters
    * Issue #132: Removing a watch should remove its cache files
    * Issue #134: Harmonized colors
    * Issue #143: Site adress in "About" box is not clickable
    * Issue #145: Abnormal behavior with ampersands in a web watch
    * Issue #150: Gmail.com is disabled in Germany, use mail.google.com
    * Issue #161: Process names are truncated (partial fix)
    * Issue #164: Icon is transparent in error libnotify balloon
    * Issue #169: Error log window filtering is wonky
    * Issue #172: Error balloons must not be attached to the notification area
    * Issue #174: GTK warnings about using the same menu twice
    * Issue #177: D-BUS error string not translated
    * Issue #181: "mark as read" button becomes insensitive after global watch refresh
    * Issue #185: network-manager 0.7 compatibility
    * Issue #222: folder-specific IMAP watch does not clear itself
    * Issue #225: "jump to" button for IMAP watches does not call the mail client by default
    * Issue #232: Gmail "jump to" doesn't work
    * Issue #250: Actually check for the user setting before using notification balloons
    * Issue #241: Facebook watch not working anymore
    * Prevent fuzzy text in the notifier on startup, using pango.WEIGHT_NORMAL
    * Slight label alignment adjustment in the log viewer
    * Touch up the notification balloon punctuation for multiple items watches

Maintainability
    * Add a method in i18n.py for plurals, untested
    * Better file size cache name
    * Catch untranslated "No updates yet" strings from the watch list
    * Change "Clear" to "Mark as read" and "Clear All" to "Mark all read"
    * Clarify the process watch's code
    * Clean up about.py so that it reads AUTHORS directly
    * Clean up the copyright string in about.py
    * Fields in the add and edit windows are now dynamic; when creating a new watch plugin, you don't have to write all the gui code anymore
    * Fix the gconf key for show_deactivated_watches, which was not used everywhere
    * Full PEP-8 compliance, except line lengths
    * gtkutil module to define widgets for the edit and add watch windows
    * Huge overall code cleanup
    * Issue #20: Code modularization
    * Issue #39: POP3 & IMAP watches not on par with gmail watch's message counting logic
    * Issue #176: Clean up translatable logger strings
    * Issue #211: remove the --help commandline parameter
    * Issue #215: remove balloon duration and action features to conform to notify-osd
    * Issue #221: error notifications should be meaningful
    * Issue #244: License 'error'
    * Move copyright headers to AUTHORS file to ease maintenance and relevance
    * New "watches as plugins" system
    * Refactor this ChangeLog to make it as release notes only
    * Remove double call to refresh the watch info
    * Remove prints and replace them by logger function calls
    * Remove pygettext.py, since it's provided by Python systemwide
    * Remove some garbage characters in the COPYING file
    * Remove the class name from the logger
    * Remove the description of the debug mode, it's redundant.
    * Remove the gnomevfs depency (xdg-open is now used)
    * Remove useless labels, alignments and methods from the Add Watch dialog
    * Standardize the "Unexpected error" strings
    * Standardize translatable strings

Specto 0.2.2: 2007-06-19
========================

Features
    * Add a hidden gconf key, "follow_website_redirects" (Issue #58)
    * Add a translatable "translator-credits" string for the about dialog
    * A statusbar tells the user if no network connection is detected

Bug fixes
    * Add a short delay to prevent misplaced balloons
    * Changes to the email counting logic, and more info for POP3 watches
    * Don't crash on corrupt watch list
    * Don't screw up when opening files/folders with spaces
    * Issue #4: info pane contents are not left aligned (patch by Yevgen Muntyan)
    * Issue #27: items jumping around the notifier's list (patch by Yevgen Muntyan)
    * Issue #29: murder dialog's cancel action makes Specto crash
    * Issue #59: invalid Specto.desktop file (patch by Dean Sas)
    * More error checking/reporting for web watch
    * Update the notification area icon before notifying
    * Work around evolution being braindead (refusing to start with %s). This somewhat fixes the "go to" button with POP3 and IMAP watches

Maintainability
    * Fix 'help' URLs that still pointed to the old wiki
	* Fix remaining bits of modules that still wanted to use the old icons
    * Flip the gconf keys in the right direction ("show_toolbar" instead of "hide_toolbar" which was an unelegant hack)
    * Issue #41: check if gconf values are set or not. Who needs stinking gconf schemas?
    * Kill the gconf subfolders '/apps/Specto/preferences/' and '/apps/Specto/ui/' by merging them in '/apps/Specto/'
    * Make some keys more obvious ("show_notifier" instead of "notifier_state")
    * Make use of transparency everywhere. Remove useless code and comments
    * Now possible to make icons transparent
    * Remove remaining "territory marks" (as per previous discussion)
    * Remove shebangs from non-scripts
	* Remove useless icons since we can now make stock icons transparent

Specto 0.2.1: 2007-04-22
========================

Features
    * New watch type: port watch (issue #32)
    * Usability and code fixes for the export dialog
    * Use SVG for the notification area icon
    * Use SVG for the notifier window titlebar (looks better with Avant Window Navigator)
    * Use the GTK theme icons for pretty much everything

Bug fixes
    * Added import_export.glade
    * HIG compliance for the "murder dialog"
    * Issue #45: "@gmail.com" appended to Gmail for your domain addresses. 
    * Issue #50: update the notifier infopane automatically
    * Updated watch_port so it works with ipv6 (or ssh localhost)

Maintainability
    * Clean up, rewrite a portion of port watch into something simpler
    * More themable icons
    * New GConf module
    * Revert the port watch to (safer) original code


Specto 0.2: 2007-02-08
======================

Features
    * Ability to hide the notifier from the window list applet in the panel
    * Add network connection icons for a possible network watch
    * Display a libnotify balloon when something goes wrong with a watch
    * Do not make the notification icon persistent by default, as per HIG
    * Issue #7: Ability to set the duration for balloons in the preferences
    * Issue #8: Kill libegg and use PyGTK's gtk.StatusIcon instead
    * Issue #9: Specto can now be fully translated, including glade files
    * Issue #10: Use threads to update watches
    * Issue #22: SSL support for mail watches
    * Libnotify balloons are now attached to the tray icon
    * Make the blue icon lighter again
	* Make the google-pinger smarter (once every 10 minutes, and assume that the network is still in the previous state between pings).
    * Make the utils module return absolute paths
	* Make the web and email watches network-aware
    * Network-Manager support
    * New watch type: process watch
    * Specto can now be launched without installing
    * Watch exporting

Bug fixes
    * Fix a traceback when you editing a gmail watch because main.py tried to grab the Host
    * Fix the y position of the balloons appearing from the notification area
    * Issue #2: watches.list would mess up if you cleared all watches after removing one, or if you removed a watch during the first update process.
    * Issue #3: a dialog is shown with the question to kill Specto
    * Issue #4: content is left aligned
    * Issue #5: sounds keep playing (new variable: self.actually_updated)
    * Issue #16: icons do not show in balloons
    * Issue #23: prevent other apps from impersonating our process ID
    * Issue #25: install icons into the hicolor theme. You may need to sudo gtk-update-icon-cache -f /usr/share/icons/hicolor. If you are a package maintainer, please include that post-install task.
    * Issue #26: add the executable bit to the file "Specto"
    * Issue #30: sorting order changes on startup, and fix a gmail watch bug
    * Issue #30: sort order is incorrectly saved
    * Issue #34: "display all watches" is checked at startup
    * Make all the watches display by default (reverse the display_all gconf key)

Maintainability
    * Killed the traypopup module, merged with trayicon
    * Remove prints from watch.py (used to debug issue #40)
    * Use Pango to ellipsize (truncate) labels. Better results, less hacks.

Specto 0.1: 2006-10-26
======================

Features
    * Ability to play sounds on updates
	* Checkbox is checked before the update from the watch when you activate it
    * Display the number of unread gmail messages
	* Error icon is shown when there was an error in the update
    * File watch
    * Gettext support, so that Specto can be translated
    * GMail watches clear themselves when unread message count reaches zero
	* Log file can be opened and cleared from the preferences dialog
    * Proper libnotify support with python-notify
	* Sorting choice is stored in a gconf key
    * SSL support for POP3/IMAP email watches
	* Watches are always updated top-down
	* When you add a web watch,"http://" is added if necessary

Bug fixes
    * Bug #49616: warning dialog if you try to quitting during the initial refresh
    * Bug #49811: when watching a syndication feed, point to the correct URL
    * Bug #54275: better gmail unread message counting
    * Bug #54463: truncate the URLs if they are too long to be displayed in notifier
    * Bug #55324: display the toolbar by default
    * Bug #60261: mime is used when you open a file watch
    * Bug #60261: no action associated with file watch - it now opens the parent directory containing the file
    * Bug #65931: removing a watch did not remove "updated = False", which caused crashes and corruption
