-------------------------------------------------------------------------------
0.4.9Final by The SABnzbd-Team
- Important security fix, preventing "Cross-Site Request Forgery" vulnerability
  as reported by Secunia.
  - All self-references to SABnzbd require a session key (invisible for the user).
  - API requests now require an API-key (can be found in Config->General)
    This will influence scripts and third-party utilities.
- Fixed false unrar error messages when using Linux wth a non-UTF filesystem
- Fixed another potential par2 problem for OSX
-------------------------------------------------------------------------------
0.4.8Final by The SABnzbd-Team
-------------------------------------------------------------------------------
- Fixed various par2-repair problems for OSX
- Solved long queue display problem for OSX
- Fixed news-group and newzbin-category to SABnzbd-category conversion
-------------------------------------------------------------------------------
0.4.7Final by The SABnzbd-Team
-------------------------------------------------------------------------------
- Support end-of-queue standby/shutdown for OSX
- Solved accented character problems on OSX
- OSX: Fall back to classic par2 when filenames contain accented characters
- Reduce character filtering in filenames to absolute minumum
- Do not remove ';' from foldernames
- After file-joining, the .1 files are sometimes not removed
- Scheduled or end-of-queue Hibernate and Standby sometimes crash.
- When trimming newzbin titles do not add unique number (defeats duplicate detection)
- Show correct free space for very large disks on Windows
- Add "Date" header to emails
- Unix/OSX: Do not change permissions of existing folders
- Prevent creation of folders starting with a dot "."
- Sort RSS previews newest-job-first
- Names of compressed NZB files were not sanitized, leading to post-processing problems
-------------------------------------------------------------------------------
0.4.6Final by The SABnzbd-Team
-------------------------------------------------------------------------------
- Add option/parameters for ionice, default off (Linux)
- Semicolon will be treated as an illegal character
- Updated par2 and unrar for OSX
- Fix problem with deleting nameless files from queue
- Extra measures to prevent duplicate downloads in RSS feeds
- "No duplicates" option
  (Do not download an NZB whose name is already present in the backup folder)
- Option to choose between transposing or removing illegal filename characters
- Properly close server connections
  This should prevent servers from complaining about "too many connections" after
  pauses and empty queues
- Restore the "auto-disconnect" option
- Keep Windows awake while downloading/post-processing
- Restore support for rar's with .nnn extensions
- Removed warning for correct, but empty RSS feeds
- Solved incorrect logging for OSX
- Prevent change of cache and download folders when queues not empty
-------------------------------------------------------------------------------
0.4.5Final by The SABnzbd-Team
-------------------------------------------------------------------------------
- Proper handling of accented characters
- Use ionice (if present) to run external utilities (Linux)
- Support GZipped NZB files in RSS run
- Allow override of the newzbin category in the RSS scanner
- No longer disable RSS schedule flag when changing filters
- Support RSS feeds from nzbindex.nl
- API-addid did not accept "cat" parameter
- Category-determined pp/script was not handled properly
- IE and Opera could not delete first schedule
- Plush did not show "download failed" message properly
- Repaired pp/script derivation from category on main page
- Repaired option handling for RSS feeds
- Encrypted and obfusticated RAR files were deleted from the Watched folder
  instead of ignored.
- Retry on incomplete NZB files in RSS run
- Reduce number of warnings for a single missing article
- Map illegal file characters to look-alikes
- Make sure PAR2 files always have lowercase extension
- Solve hanging-unrar on Linux
- Current (scheduled) speed should show in the speedbox
- Retry malformed yEnc articles on other server(s)
- Improve handling of underscores in TV Sorting
- Refine TV Special support in TV Sorting
- Prevent potential crash in Post-Processor crash for TV files
- Refuse UNC paths in Windows for "incomplete" (due to par2)
- Watched folder scanner crashed when file access is prohibited
- Warning when no active primary servers are defined
-------------------------------------------------------------------------------
0.4.4Final by The SABnzbd-Team
-------------------------------------------------------------------------------
- Fix crashing Historypage when names contain accented characters
- Clearing the download speed shows an error
- Missing incomplete folder for a download causes par2 errors
- Filtering files on extension in the queue can lead to failed jobs
- Rename similar files in TV sorting
- Better error reporting for problems with external programs
- SMPL: Status does not always display Downloading when it should
- RSS feeds not staying enabled through restart
- Filtering files on extension in the queue can lead to failed jobs
- Rename similar files in TV sorting
- Un-openable RAR files crash the dirscanner
- File-upload does not accept RARred NZB files
-------------------------------------------------------------------------------
0.4.3Final by The SABnzbd-Team
-------------------------------------------------------------------------------
- Dirscanner: if ignored file is replaced it will still be ignored
- Accept RAR files that contain NZB-s as input.
- Duplicate RSS jobs were not filtered out
- Delete history made safer
- Proper script is not set when fetching from newzbin bookmarks
- Strip white-space around server host name
- Par2 checking can fail if first article of a par2 file is missing
- No error report when server authentication is missing
- Sort the category list
- On schedule change, evaluate pause/resume state properly
- %s.n bug in the TV Sorting Preview
- %s.n and %s_n bug in TV Sorting output
- Add API call to retrieve version
-------------------------------------------------------------------------------
0.4.2Final by The SABnzbd-Team
-------------------------------------------------------------------------------
- Repair "Changed sorting of nzb contents to be more accurate"
-------------------------------------------------------------------------------
0.4.1Final by The SABnzbd-Team
-------------------------------------------------------------------------------
- Fix for NZB files containing empty files (e.g. coming from nzbindex.nl)
- Changed sorting of nzb contents to be more accurate
- Fix for iPhone-skin on Linux/OSX
- The "~" character in filenames is kept
- Some Plush fixes
- Fix for Linux packagers (solves problem of #include paths in Default-skin)
-------------------------------------------------------------------------------
0.4.0Final by The SABnzbd-Team
-------------------------------------------------------------------------------
fixed:   Restored context-help in Default-skin
changed: Plush improvements
-------------------------------------------------------------------------------
0.4.0RC5 by The SABnzbd-Team
-------------------------------------------------------------------------------
fixed:   Prevent lockups of SSL during and after disconnect
fixed:   In Plush replace Config->Directories by Config->Folders to conform
         to other skins and documentation.
fixed:   Crash on Linux when "download" or "complete" folders are
         unmounted volumes
changed: Plush improvements
-------------------------------------------------------------------------------
0.4.0rc4  by The SABnzbd-Team
-------------------------------------------------------------------------------
fixed:   Crash in Config->Folders when INI file is empty
-------------------------------------------------------------------------------
0.4.0rc3  by The SABnzbd-Team
-------------------------------------------------------------------------------
changed: RSS filters prefixed with "re:" are now
         Python-style regular expressions
changed: Send group as extra user script parameter
changed: Allow groups as selectors in user-categories
changed: Allow user to set tuning parameters for PAR2
changed: Replaced all yes/no radio buttons with checkboxes.
added:   Speedlimit box on the Queue page
fixed:   Retrieve NZB from URL sometimes fails (due to extra quotes)
fixed:   Plush and Smpl problems.
fixed:   Dirscanner crashed on missing network drive
fixed:   Only warn about ipv6 when browser does not use localhost
fixed:   Failed URL/Newzbin fetches now go to History to be retried manually
fixed:   Some shutdown improvements
fixed:   Improve check if https is usable
fixed:   Download will now resume after broken internet connection
         although speed will still look to be stuck to last speed.
fixed:   Replace all v3.newzbin.com refs by www.newzbin.com
fixed:   Plush did not pass default job parms correctly
fixed:   URL-fetches had problems when filename was embedded in quotes
fixed:   Numerous Smpl and Plush touch-ups
-------------------------------------------------------------------------------
0.4.0rc2  by The SABnzbd-Team
-------------------------------------------------------------------------------
changed: Windows binary distribution now uses a multi-core PAR2 program.
changed: Force logging level to maximum for non-Final releases.
changed: Remove option "disconnect-on-pause" (always disconnect now)
changed: Remove group-based folders
changed: Remove newzbin-based folders (use user-defined categories instead)
fixed:   Set permissions for full folder paths
changed: RSS feed user interface simplified.
changed: RSS and Bookmark scanrates: interval in minutes
fixed:   Handle password-protected archives better
         (no hangups any more, but a message in history)
fixed:   Servers that were set to 0 connections (to stop them)
         caused sometimes problems
fixed:   Use http for newzbin if SSL is not available
added:   "Standby" is now an end-of-queue option.
changed: Improved Plush skin
changed: Improved Smpl skin
-------------------------------------------------------------------------------
0.4.0rc1  by The SABnzbd-Team
-------------------------------------------------------------------------------
         withdrawn
-------------------------------------------------------------------------------
0.4.0Beta5  by The SABnzbd-Team
-------------------------------------------------------------------------------
fixed:   Queue incompatibility between Beta2 and Beta4 was not detected
         causing problems.
         queue.sab and bytes.sab will now have a version identifier in their
         names. This prevents the newer release from refusing to work and will
         not require the user to erase the old queue. The old queue can even
         be used again by the older release.
         This release uses queue7.sab and bytes7.sab.
fixed:   Many TV Season support issues.
fixed:   Unix permissions for job folders now also covers parent folders.
fixed:   Bookmark function sometimes fails to delete completed bookmarks and
         sometimes repeats downloads
fixed:   Occasional hangup in shutdown (due to UrlGrabber)
fixed:   PP, category and script overrides used on the main page were ignored
fixed:   Prevent storing of full path in the GZ backup of the NZB
fixed:   Improvements and bug fixes in Smpl and Plush skins.
fixed:   Category "default" script was not handled properly.
         Please verify your category settings!
changed: Allow nzb-zips to contain nfos.
changed: Show failure of job in email subject line
added:   Sort-by-size button on the queue page
-------------------------------------------------------------------------------
0.4.0Beta4  by The SABnzbd-Team
-------------------------------------------------------------------------------
fixed:   Postprocessor crashes when no categories set.
-------------------------------------------------------------------------------
0.4.0Beta3  by The SABnzbd-Team
-------------------------------------------------------------------------------
changed: Lots of improvements in Plush
changed: Lots of improvements in Smpl
changed: Complete Bookmark feature by implementing the Newzbin Bookmark-API.
changed: Determine the pause/resume state and speedlimit from the schedules
         when starting SABnzbd
changed: Scan for category-named folders in the Watched Folder.
changed: Improved post-processing, more efficient file moving
changed: TV season support improved and extended
changed: Increase robustness of Newzbin-queue and URL-queue.
         Queues now survive Save/Restart and full shutdown/restart.
fixed:   Some systems require [] in numerical IPv6 notation, some don't allow it.
fixed:   Do not stop SABnzbd after hibernating the system.
fixed:   More effort to get a usable profile for pre-Vista OS'es.
fixed:   Prevent RSS processor from downloading exactly identical titles.
changed: Make backup of all processed NZB files, also store compressed GZ file.
fixed:   Preserve case of received newzbin categories,
         while still keeping the user-based categories forced to lowercase.
changed: Set email priority to 5 (=low)
fixed:   Lots of small bugs and improvements
changed: Win32 binary release now uses Python 2.5.2, CherryPy 2.3.0,
         PyOpenSSL 0.7 and OpenSSL 0.9.8g
-------------------------------------------------------------------------------
0.4.0Beta2  by The SABnzbd-Team
-------------------------------------------------------------------------------
added:   Secure NNTP (SSL)
added:   User-defined categories
changed: Complete redesign of RSS scanning
added:   User script now receives newzbin category too
changed: Embedded email (Perl no longer required for Unix/OSX) (by deam)
added:   Intelligent handling of seasons of TV shows
added:   Streaming-friendly ordering of files
added:   Automatic removal of samples before downloading
changed: Major upgrade of Plush and SMPL
added:   iPhone template
added:   Optional secundary web-interface on http://host:port/sabnzbd/m
added:   Selectable colour schemes for SMPL and Default
added:   History items can be deleted individually
changed: Improved bandwidth control
fixed:   File with missing first article were skipped
------------------------------------------------------------------------------------------------------------------------------
0.3.4 by ShyPike, pairofdimes and switch
-------------------------------------------------------------------------------
fixed:   New option "safe postproc" did not work
fixed:   Errors/warning screen sometimes causes HTML problems
------------------------------------------------------------------------------------------------------------------------------
0.3.3 by ShyPike, pairofdimes and switch
-------------------------------------------------------------------------------
fixed:   Improve robustness newzbin report fetching
fixed:   Previous release added ".nzb" to each directory in "complete".
fixed:   Handle unresolvable hostnames
fixed:   Handle ambiguous 'localhost' on IPV6-enabled systems better
fixed:   Restored compatibility with Python 2.4
added:   OSX NotificationsCenter support
--------------------------------
0.3.2 by ShyPike, pairofdimes and switch
-------------------------------------------------------------------------------
added:   Option to do post-processing only on correct jobs
added:   Show warning on main page when PAR2 program is missing
fixed:   Remove delay when resuming download
fixed:   Show last 20 warnings/errors instead of 10
fixed:   Correct Vista icon
fixed:   Don't crash anymore on bad NZB files
fixed:   When hostname in unresolvable, use 0.0.0.0 instead
fixed:   Prevent multiple warnings if dirscan-dir is missing
fixed:   Incorrect backup od zipped/gz nzb files
-------------------------------------------------------------------------------
0.3.1 by ShyPike, pairofdimes and switch
-------------------------------------------------------------------------------
update:  Plush
update:  Smpl
fixed:   Directory creation error when download-dir already exists, making PAR2 crash
fixed:   When run-as-win32-service, stop termination by logoffs
fixed:   Fix recent incompatibility with newzbin's RSS feeds
fixed:   Directory scanner (blackhole) now:
         - Skips ZIP files that don't contain only NZB-files
         - Handles .nzb.gz files
         -  Handles .nzb files that are really nzb.gz files (due to browser mis-configuration)
fixed:   Newzbin category option does not show "sub-cat" anymore (v3.newzbin.com does not have it)
fixed:   Auto-shutdown now waits for jobs re-entering the queue for additional par2 files
fixed:   Do not remove RSS definitions when using --clean option.
fixed:   Vista/Leopard compatible icon
fixed:   Startup tweak to compensate for NAS-hosted Python problem.
added:   Show last 10 warnings/errors on the Connections page
fixed:   Solved the visible "black" window problem
         - Sometimes SABnzbd's a black console window remained visible
         - Now there are two versions of SABnzbd:
              SABnzbd.exe = always invisible
              SABnzbd-console.exe = always visible
fixed:   --version problem
fixed:   Changed some warnings to info level
fixed:   Added license info on embedded third party modules.
fixed:   Limit size of newzbin report titles
fixed:   Logging size now accepts KMGTP notation
-----------------------------------------------------------------
0.3.0    by the ShyPike, pairofdimes and switch
-------------------------------------------------------------------------------
fixed:   Win32bin version did not always hide its window
added:   Daemon mode (-d) for Windows, prevents profile access
         and prevents browser launch
added:   --console for troubleshooting (waits when exiting on error) (win32)
fixed:   When using article-cache, sometimes articles where dropped
         resulting in corrupt downloads. This has been fixed.
fixed:   One some Vista systems, the user profile cannot be accessed.
         The program recovers now from this and tells the user how to fix it.
fixed:   Crash when NZB file contains incorrect date fields.
fixed:   SPML did not run properly on Linux
fixed:   Fixes in Plush & smpl
fixed:   Workaround for problems with some Unicode chars in userprofile
-------------------------------------------------------------------------------
0.3.0rc5 by the ShyPike
-------------------------------------------------------------------------------
added:   option to keep console in Win32-exe
fixed:   Updates for Plush and SMPL gui
fixed:   Permission settings for Linux/OSX improved
fixed:   Relative INI path handled correctly now
fixed:   Default port for Windows is 8080 again
added:   SABnzbd.exe has a Windows icon now
fixed:   NZB upload from windows to Unix sometimes keeps backslashes
fixed:   Could not set empty host in config->general
added:   Switch to disconnect from servers on empty queue and pause
-------------------------------------------------------------------------------
0.3.0rc4 by the ShyPike
-------------------------------------------------------------------------------
added:   smpl templates by swi-tch
fixed:   lots of Plush improvements
fixed:   Missing "fetching msgid" in queue (SplitFileName)
fixed:   Support of non US-ACII user profile paths.
fixed:   Improve error messages in the config screens.
fixed:   Catch situation where Linux cannot find a browser
fixed:   SABnzbd can now be started from any directory
fixed:   Remove leading trailing spaces from dirname derived from nzb file (will crash post-proc)
fixed:   Firewall problem detector added
fixed:   Correct disk free space for Linux (thanks to mdamen)
changed: Remove Nova 3 and 4
changed: Improved host address detection (prevent problems with Vista/FW/Firefox)
             Use 0.0.0.0 as the dual-hosted trigger,
             All other forms use single.
             Make localhost default again.
             Empty host will be host-ip.
             Prevent problems with Vista+Firefox
fixed:   Limit server timeout to 240

-------------------------------------------------------------------------------
0.3.0rc3 by the ShyPike
-------------------------------------------------------------------------------
fixed:   Auto-shutdown will now wait for post-processing to complete
fixed:   Improvements in the Plush templates
changed: "--nobrowser" replaced by "--browser 0|1" and stored in the INI file as "auto_browser"
changed: When an INI file is found in the SABnzbd program directory, use that file and not the one in LocalData
changed: Data directories will be relative to the location of the INI file
fixed:   Remove spurious error message in log when browser is launched on Linux
fixed:   0.0.0.0 is not handled correctly, repair.
changed: 0.0.0.0 will be default. 'localhost' will be converted to 127.0.0.1
fixed:   Program only starts when the current directory is the directory where SABnzbd.py/exe is.
         It should be able to start from any directory.
fixed:   Parsing of server:host notation made IPV6 compatible
changed: Panic message in browser for all fatal errors (if enabled)
fixed:   Repair handling of multiple ports on single Usenet server in Config-->Servers.
fixed:   Improvments and fixes in Plush

-------------------------------------------------------------------------------
0.3.0rc2 by the ShyPike
-------------------------------------------------------------------------------
added:   Introducing Plush (by pairofdimes and blis102)
added:   Allow K/M/G/T/P as units in cache_limit and download_limit
added:   Online check for new release (at start-up and once a week) (option)
added:   Drop-down box for choosing the web-gui
         restructured the templates, they reside in <sabdir>/interfaces
fixed:   Default 'dirscan_dir' is now empty (inactive)
changed: 'complete_dir' and 'download_dir' are now both in $HOME/downloads
added:   Friendly fatal error reports through the web browser
fixed:   Restored compatibility with yahoo-rss-feeds
fixed:   Fixed memory problem for highspeed-download/slow-disk combination
added:   newzbin queue (for 5/min limitation)
added:   Help links to wiki pages on Sourceforge.net
added:   RSS-feed for History
fixed:   Restored compatibility with TV-NZB RSS-feeds.
added:   Linux/OSX only.
         Replace "umask" with "permissions". SABnbzd now sets file permissions
         first to private (u=rwx, g=, o=).
         When the download is completed and before user post-processing,
         SAB chmod-s all files with the specified pattern (e.g. "o=rx, g=rx").
         Files that have no "u=x" will get no "g=x" or "o=x" bits!
added:   Timeout parameter per server (seconds, minimum=30, default=120)
added:   Email notifications (end of job and disk-full)
         Supports secured email (TLS) for use with gmail.com
added:   Set minimum diskspace (in MB) for the download directory
         When diskspace is below threshhold, SABnzbd will pause.
         You must free diskspace and then resume SABnzbd manually.
added:   Auto-launch of browser (starting the web-gui)
added:   Better handling of INI file
         You can start without an INI and get usable defaults
         Default storage in localdata/appdata/sabnzbd for Windows
         Default storage in ~/.sabnzbd for Linux/OSX
         Auto creation of directories
added:   Commandline switches
         -Regulate logging level (default is errors/warning only)
         -Override of web interface selection
         -Override of server:port
updated: Nova-0.3.2 and Nova-0.4.5 templates and added Plush
added:   Lots of other small stuff

-------------------------------------------------------------------------------
0.2.7 by the ShyPike (and Freaky)
-------------------------------------------------------------------------------
changed: Now supports V3.newzbin.com and DirectNzb (by Freaky)
changed: Always keeps original foldername as derived from NZB file (by DNW)
         Option "original folder' from 0.2.6 is gone!
added:   You can now set the RSS checking interval to 1/2/3/4 times/hour
         Set the proper value in the Configuration.
changed: Modified versions of Nova_0.3.2 and Nova_0.4.4 included
         set the proper path in SABnzbd.ini
-------------------------------------------------------------------------------
0.2.6 by the ShyPike
-------------------------------------------------------------------------------
added: Dirscan-speed in seconds (configurable).
changed: Increase server timeout to 120 (required by many providers)
       Needed to hard-code this. Change it to your required value.
       The change is in newswrapper.py, line 15.
added: Option to automatically refresh the Queue web page.
added: favicon in all templates
fixed: incorrect handling of server without port-spec
       (SABnzbd.ini.sample was incorrect)
added: Automatic refresh for connection-info, useful for troubleshooting.
added: Added more end-of-download script handling.
       To each option (R, U and D) a script option is added.
       After (correct) execution of the R, U or D, a single script is run.
       The script is specified in the "Directories" configuration.
       The additional NZB paramater "script" is passed on in each structure and call
       where now only "repair, unpack, delete" were passed/added.
       The templates have been modfied to give 3 additional processing choices
       "R+Script", "U+Script" and "D+Script".
       "None+Script" would not be very useful and is not implemented.
added: Add option to restore original folder names, derived from the NZB name,
       so that spaces and special characters are restored.
       Need not really be an option, but done so to keep compatibility.
added: Added special handling for multi-part archives that start with an EXE-file
       (so self-unpacking archives).
       You don't want to run the self-unpacker (coming from Internet!),
       but UnRar does not handle this situation correct.
       Therefore the script renames the EXE file to RAR and then lets UnRar do its work.
fixed: Make SABnzbd compatible with the new Newzbin RSS-feed.
       (Source: http://sourceforge.net/forum/forum.php?thread_id=1795210&forum_id=498261)
added: NovaTemplate 0.3
       The original Nova doesn't work, need to be patched.
------------------------------------------------------------------------------
0.2.5
-------------------------------------------------------------------------------
added: new config: top_only (only fetch articles from topmost collection in
       queue)
added: more verbose connection info
added: threaded article decoding
added: [w32] threaded connecting
changed: articlecache code cleaned up
changed: nzbqueue code cleaned up
changed: decoder code cleaned up
changed: more fine grained locking
changed: download thread now independent of disc I/O
changed: [w32] interpreter upgrade to python-2.5
changed: recv buffer increased to 32768 bytes
changed: template changes to support Yarbles v3.newzbin.com gm-script
changed: f_mode removed (replaced by top_only)
fixed: adding empty file through addFile
fixed: display bug when changing server ports through interface
fixed: absolute paths in templates
fixed: yenc parse bug
fixed: racing condition in downloader
-------------------------------------------------------------------------------
0.2.4
-------------------------------------------------------------------------------
changed: [w32] interpreter upgraded to python-2.5c1
changed: rss-feed entries with newzxxx in url now fetchable again
changed: connection timeout doubled (30s to 60s)
fixed: racing condition in downloader (stuck articles)
fixed: more rss client bugs
fixed: removing servers from interface
-------------------------------------------------------------------------------
0.2.3
-------------------------------------------------------------------------------
changed: rss client no longer using a seperate thread (scheduler used instead)
changed: matched rss-feed entries without 'newzbin' in url will now be
         fetched with urlgrabber (=> support for non-newzbin rss-feeds)
changed: duplicate files now get renamed (instead of overwritten)
changed: new interface look (credit to Jigal van Hemert)
fixed: setting create_category_folders and create_group_folders from interface
fixed: bugs in rss client
fixed: bugs in urlgrabber
fixed: bugs in unique dir/file creation
fixed: history now again using localtime
fixed: umask should now be applied to all created files (second try)
-------------------------------------------------------------------------------
0.2.2
-------------------------------------------------------------------------------
added: ability to place downloads into www.newzbin.com categories
added: new config: create_category_folders
added: display of total running bytes downloaded
added: display of newzbin.com nzb quota
added: file reorganization/managment for each post
added: cleanup of temporary directories in download_dir
added: support for zipped nzbs (dirscan_dir and interface upload)
added: limited dupe handling
added: (experimental) rss client with v3.newzbin.com rss-feed support
added: (temporary) filename extraction from subject
changed: par2 files now queued on top of each post
changed: [w32] par2 and unrar now run in idle priority
changed: eta text normalized
changed: corrupt yenc articles no longer discarded
changed: improved startup time (if items in queue)
changed: improved directory creation/handling
changed: extensions defined in cleanup_list now discarded during download
fixed: umask should now be applied to all created files
fixed: [w32] signal handler for bundled exe
fixed: better filename detection for yenc encoded articles
fixed: workaround for (some) broken uuencoded articles
fixed: workaround for various broken nzb files
fixed: racing condition in nzbqueue
fixed: file assembly corruption bug
fixed: yenc decoding (if _yenc module missing)
fixed: (rare) deadlock causing bug in smartpar algorithm
fixed: server multiplexing no longer depends on unique servername string
fixed: average age of post now calculated correctly if invalid files in post
-------------------------------------------------------------------------------
0.2.1
-------------------------------------------------------------------------------
added: gzipfilter (compresses pages)
added: new config: send_group
changed: startup paused now a command line switch
changed: autoshutdown now toggleable/session-based
changed: config: autoshutdown removed
fixed: periodic queue saving
fixed: nzbgrabber + auto_sort bug
fixed: f_mode
fixed: cleanup list display bug
-------------------------------------------------------------------------------
0.2.0
-------------------------------------------------------------------------------
added: [w32] auto-shutdown ability
added: signal handlers added
added: ability to serve static files from $web_dir/static (on ../sabnzbd/static)
added: ability to change repair/unpack options
added: new article cache (adjustable memory usage)
added: new config: cache_limit
added: new config: schedlines
added: new config: umask
added: optional redirect keyword for addID and addURL added
changed: sabnzbd will startup paused
changed: authentication mechanism changed (using MultiAuth-0.8)
changed: scheduler switched from pycron to kronos
changed: memory usage optimized
changed: uu decoding speed improved
changed: config: ram_caching removed
changed: config: conserve_memory removed
changed: config: cronlines removed
changed: various other improvements/tweaks
fixed: dirscan import errors (if file is upped over a slow connection)
fixed: will now use a unique dirname for every download/unpackdir (e.g multiple
       posts with same dirname)
fixed: [w32] MemoryError in nzbgrab.py (fixed in python-2.4.3)
fixed: various minor bugs
-------------------------------------------------------------------------------
0.1.8.1
-------------------------------------------------------------------------------
fixed: hardcoded paths in setup.py
fixed: addID + auto_sort bug
fixed: no longer logging server info
-------------------------------------------------------------------------------
0.1.8
-------------------------------------------------------------------------------
added: experimental f_mode -> if enabled, SABnzbd will fetch oldest files first
added: ability to sort queue by average age (manual or automatic)
added: new config: f_mode
added: new config: auto_sort
added: uptime display
added: age display for each post
changed: outdated cache files will now be discarded automatically
changed: now sorting posts by date (for each item) instead of subject
changed: SABnzbd will now fail to start if web-interface can't be started
changed: elementtree no longer optional
changed: stripping whitespace in addID (for easy copy/paste)
fixed: par2 selection bug
fixed: stall on duplicate articles
fixed: incorrect rarset parsing
fixed: negative download speed stall
fixed: (possible) fix for ResponseNotReady error (nzbgrab.py)
-------------------------------------------------------------------------------
0.1.7.3
-------------------------------------------------------------------------------
added: will now automatically remove files with '.1' extension
       (if par_cleanup enabled and file was created by par2)
added: will now log the current bps to the logfile/screen (every 20s)
fixed: grabbing nzbs stops working on long-living processes
fixed: UnicodeEncodeError errors in interface.py
fixed: addURL/URLGrabber bug
fixed: connection timeout
fixed: typo in newsunpack.py (could trigger a unknown exception error)
-------------------------------------------------------------------------------
0.1.7.2
-------------------------------------------------------------------------------
fixed: deadlock when adding multiple nzbs by msgid/url
fixed: nzb import errors caused by caching directory contents
fixed: dirscan options fixed
fixed: adding files by web interface fixed
-------------------------------------------------------------------------------
0.1.7.1
-------------------------------------------------------------------------------
changed: pause/resume/shutdown interfaces cloned in ../sabnzbd/queue
changed: removed psyco support (possible memory leak)
fixed: wrong value in config_server.tmpl
fixed: error in NzbQueue.decode() (if yenc module is missing)
fixed: now catching OverflowError in QueuePage.index()
-------------------------------------------------------------------------------
0.1.7
-------------------------------------------------------------------------------
o) added: force disconnect added
o) added: will now correctly handle split files
o) changed: download engine no longer using nntplib (for connecting)
o) changed: download engine rewritten to work without slots
o) changed: slots no longer supported -> a server can now either be a fillserver
            or a non-fillserver (non-fillservers will always be multiplexed,
            fillservers will only get touched if an article is missing on all
            non-fillservers)
o) changed: will now prefix folders (in complete_dir) with
            "__UNPACK_IN_PROGRESS__" if they are currently in progress
o) changed: config "nzb_timeout" removed
o) changed: config "dirscan_opts" changed (opt increased by 1)
o) changed: download speed will now be reported correctly
o) changed: multiple nzb/url grabbers can now be active
o) fixed: logging options will now be applied properly
o) fixed: a few (possible) racing conditions in downloader.py fixed
o) fixed: enum() in newsunpack.py could consume all cpu resources
-------------------------------------------------------------------------------
0.1.6
-------------------------------------------------------------------------------
o) added: fetching .nzbs by url
o) added: /sabnzbd/connections added
o) added: byte counter added
o) added: Auto deleting of .nzb files saved in nzb_backup_dir, see nzb_timeout
o) added: new config: bandwith_limit
o) added: new config: cleanup_list -> was del_ext
o) added: new config: enable_par_cleanup
o) added: new config: max_log_size
o) added: new config: log_backups
o) added: new config: enable_cherrypy_logging
o) added: new config: nzb_timeout
o) changed: will now only store compressed nzb image if conserve_memory is
            actually enabled
o) changed: all "buttons" in the interface will now redirect to their root page
o) changed: unzipping now uses (and depends) on unzip
o) changed: all unpacking is now recursive (will extract archives within
            other archives)
o) changed: all unpackers will now directly extract to the complete_dir
            (if specified)
o) changed: del_ext removed
o) fixed: setting bandwith limit works again
o) fixed: history will no longer reset if config changes are made through the
          interface
o) fixed: fail_on_crc functionality fixed
o) fixed: .nzb files that failed to be fetched (by msgid or url) will now be
          automatically removed from the queue again
o) fixed: files that failed to be parsed will now be removed from queue if
          conserve memory is enabled (instead of crashing SABnzbd)
o) fixed: zombie process bug on linux fixed
o) fixed: typo in sabnzbd/cron.py
o) fixed: misc minor bugs
-------------------------------------------------------------------------------
0.1.5
-------------------------------------------------------------------------------
o) added: ../config/scheduling added
o) added: ability to (re)move active files (to finished files)
o) changed: SABnzbd will now perfom some sanity checks before changing config
            entries
o) changed: saving config settings will now automatically apply the settings
o) changed: removed all manual calls to gc
o) fixed: dirscanner will now only try to import files with '.nzb' or '.NZB'
          extensions
o) fixed: pause mode will now be kept over applying config changes
o) fixed: fixed an error that could crash the downloader if a yenc encoded
          article had a corrupt or malformed header
o) fixed: config_switches.tmpl dirscan_opts were changed to the right values
o) fixed: 100% cpu usage when connecting fixed
o) fixed: will only delete zips if extraction succeeded
o) fixed: will replace all '.' chars with '_' chars in the directory name
          to fix a windows specific pathname bug
-------------------------------------------------------------------------------
0.1.4
-------------------------------------------------------------------------------
o) added: new config: nzb_backup_dir => .nzb files added by dirscanner or
          nzbgrabber will be saved to this directory
o) added: new config: conserve_memory => if enabled, .nzb files will be stored
          gzipped in memory and only parsed into memory if needed
o) changed: /config reworked
o) changed: web_dir is now required to be specified
o) changed: setting complete_dir is no longer required
o) changed: all of the flushing code removed => nzb objects will now
            always stay in memory until removed again
o) fixed: rar_unpack() will no longer overwrite files
o) fixed: rar files will now only be deleted if all extractable files are found
o) fixed: unused articles will now be removed automatically
o) fixed: unwanted object retention in cron.py fixed
o) fixed: downloader will no longer "busy wait" if queue is empty and/or paused
o) fixed: shutdown and restart will now wait for threads in limbo
o) fixed: SABnzbd should shutdown properly now on *bsd
o) fixed: displaying diskspace should work properly now on *bsd
o) fixed: misc minor bugs
-------------------------------------------------------------------------------
0.1.3
-------------------------------------------------------------------------------
o) added: unzip functionality
o) added: new config: enable_unzip => enable/disable unzip (default: enabled)
o) added: new config: enable_unrar => enable/disable unrar (default: enabled)
o) added: new config: enable_save => enable/disable "periodic" (after every
          completed file) queue saving (default: disabled)
o) added: new config: del_ext => List of extensions that should be deleted after
          post processing
o) added: new config: web_dir => Location of (custom) .css and template files
o) changed: order of unpacking is now: 1)filejoin 2)unzip, 3)unrar
o) changed: freshend up web-interface (thanks goes to gwynevans)
o) changed: Ram cache and create group folders are now saved in local variables
            (Safe to change them while items in the queue)
o) fixed: moving directories to complete_dir should work properly now
-------------------------------------------------------------------------------
0.1.2
-------------------------------------------------------------------------------
o) added: new config: complete_dir => completed downloads get moved to this
          directory
o) added: new config: enable_psyco => 0/1 to disable/enable psyco
          (Experimental, disabled by default)
o) added: new config: enable_filejoin => 0/1 to disable/enable filejoiner
          (Experimental, disabled by default)
o) changed: logic of sorting items in queue
o) fixed: changing download/cache/dirscan directory through interface
o) fixed: misc minor bugs
-------------------------------------------------------------------------------
0.1.1
-------------------------------------------------------------------------------
o) added: multiplexing support (multiple servers per slot)
o) added: seperate history page
o) added: basic bandwith limiting
o) changed: repair/unpack/delete now happens in a seperate thread
o) changed: unrar no longer depends on par2 verify
o) fixed: more pathname troubles in newsunpack
o) fixed: history display bugs
o) fixed: misc minor bugs
-------------------------------------------------------------------------------
0.1k
-------------------------------------------------------------------------------
o) fixed: sets that need repair will be readded to the queue again
o) fixed: w32 diskfree implementation should be os agnostic now
-------------------------------------------------------------------------------
0.1j
-------------------------------------------------------------------------------
o) added: authentication support
o) added: -1 move option in interface, moves selected item to top
o) changed: more verbose information in history
o) changed: config/rescue removed
o) changed: logfiles will now rollover
o) fixed: will only delete files after a succeeded par2 check
o) fixed: setting unpack opts for the dirscanner actually works now
o) fixed: par2.exe and unrar.exe processes will now spawn hidden (w32 exclusive)
-------------------------------------------------------------------------------
0.1i
-------------------------------------------------------------------------------
o) added: (optional) support for elementtree/cElementTree (faster xml parsing/
          .nzb importing, alot less memory use)
o) changed: do a gc.collect() after flushing an item to disk
o) fixed: switching items in queue works properly again
o) fixed: bug in /config/restart (sabnzbd.nzbq and sabnzbd.downloader
          were initialized with wrong variables)
o) fixed: error in parsing free diskspace (w32 exclusive)
o) fixed: error in newsunpack while extracting encrypted archives
o) fixed: fork() stuff fixed (again)
-------------------------------------------------------------------------------
0.1h
-------------------------------------------------------------------------------
o) added: display free diskspace should work on w32 now too
o) added: nzb dirscan ability
o) added: /config/rescue page added, use as last resort if accessing / won't
          work
o) added: w32 build now ships with _yenc module
o) changed: logging now uses the standard python logging module
o) changed: new queue implementation, queue now only keeps the two top most
            items in memory. ram_cache option should be alot more safe now too
o) changed: /debug page reworked, shows last command received from server
            (only of idle/busy threads though, see logfile for connection
            errors)
o) changed: merged in changes from grabnzb-0.6
o) fixed: relative/absolute pathname troubles in sabnzbd.newsunpack
o) fixed: will now pause on various disk errors (i.e full disk)
o) fixed: numerous minor bugfixes and changes
o) fixed: removed unnecessary locks, should result in a minor speedboost
-------------------------------------------------------------------------------
0.1g
-------------------------------------------------------------------------------
o) added: display free diskspace, only works on posix
o) added: cronlike scheduler to pause/resume the SABnzbd downloader
o) added: ability to download to group folders
o) added: ability to restart (most of) sabnzbd automatically, still need to
          restart the bin manually if you want to change the cherrypy port/host
o) changed: add posts slated for repair at the top of the queue
o) changed: marked ram_cache as expiremental
o) fixed: misc minor bugs
o) fixed: replace characters that don't match '[a-zA-Z0-9\-_\.]' with '_' if
          assembly of a file throws an exception
o) fixed: added more safeguards in assembler thread
o) fixed: bug in nzbgrabber
-------------------------------------------------------------------------------
0.1f
-------------------------------------------------------------------------------
o) fixed: sabnzbd.nzbqueue typo (caused crash on crc errors)
o) fixed: remove stdoutwrapper, not working as intended
o) fixed: daemon mode forks properly now
-------------------------------------------------------------------------------
0.1e
-------------------------------------------------------------------------------
o) added: ability to change an items position in queue
o) added: new config option, failover on yenc crc errors
o) changed: layout changes in web-interface
o) fixed: extracting from multiple rar sets if defined in a single par2 set
o) fixed: bug concerning multiserver handling
-------------------------------------------------------------------------------
0.1d
-------------------------------------------------------------------------------
o) fixed delete button (oops forgot a </form> tag)
o) small FAQ added to README.txt
o) fixed an error that kept appending data to existing files
   (no more double sized nfo files)
o) (InitNW) threads that are in a retry loop will shutdown properly now
o) robustified download engine
-------------------------------------------------------------------------------
0.1c
-------------------------------------------------------------------------------
o) fixed resuming posts on multi-server setups (previously if you shutdown
   SABnzbd during a download in a multi-server setup, the download engine
   sometimes wouldn't restart its work)
o) <button> element looks ugly in safari, changed to <input type="submit"...>
o) added /config page to web-interface
o) setup.py script fixed
-------------------------------------------------------------------------------
0.1b
-------------------------------------------------------------------------------
o) switched config module to configobj
o) config file format changed
o) fixed some startup bugs
o) added verbose file listing
o) fixed a major bug that prevented fillserver(s) to start
-------------------------------------------------------------------------------
0.1a
-------------------------------------------------------------------------------
o) fixed a typo in sabnzbd.assembler
