CHANGES
=======

2.1
---

* updating changelog and increasing version
* code fixes and cleanup
* made several updates to clean up code and added significant amount of test code to finally reach ~75% code coverage
* added test cases for options module
* Added more test cases and removed extraneous lines of code
* Added test cases for common/timeutil
* regenerated ChangeLog and generated sample configuration file
* significant refactor to simplify and become more DRY. Also reshaping the structure to align to future plans to replace the entire workflow approach currently leveraged
* Updated reference to travis ci
* Updating import from __future__ entries
* Instead of printing to stderr when the lockfile is there, simply write to the standard log to avoid having to check logs in multiple locations. Also a few pep8 updates
* Seems a variable named errno was used which took over the namespace of the imported errno module. Needed to remove the local variable to avoid clash
* Moved to leverage six instead of doing manual checks for PY2/PY3 and fixed some basic pep8 issues
* Removed old code left over as part of pssh
* MANIFEST.in had a missing 'c' so it was excluding all .py files instead of .pyc

2.0
---

* updated README
* added reference to travis-cli
* travis still
* fixing travis
* small change to get travis to work
* updated travis config and coverage config
* pep8 compliance integration with travis-ci

2.0-r1.1
--------

* fixed bug that cause version to stop working from cli
* added cli option --gen-sample so that generation of sample configuration can be accomplished via seedmgr as well as shell script stored with project

v2.0r1.0
--------

* documentation config update
* updatd documentation configuration

v2.0r1
------

* Updated release info and started work on making sample config generation a cli option instead of through a shell script
* fixed setup.cfg to support upload into PyPi; ChangeLog automatic
* see previous commit with details. Moving to version 2.0
* Changed approach for configuration to simplify code and setup. Included is a generator to create a sample configuration file with help, all available options, their type, default value, and what is required
* added ability for user to specifiy filetypes in configuration file to reduce hardcoding of filetypes. The initial values are still supported by default
* fixed typo
* reved to next release version
* added logging of stacktrace in plugins
* bug fix: format() got messed up some where along the way
* bug fix: forgot to escape sql input when doing select statement
* Reduced excess info logging to avoid growing logs while in cron mode. Added validate_phase plugin. The new plugin will make sure all torrents are in the proper state before allowing them to continue to the next phase. Optimized torrentparser; added dependency on Bittorrent-bencode as after performance testing it was substantially more efficient but also stricter. Therefore it will work 98% of the time and the remaiing 2% of the time we'll leverage the custom parser to extract files associated with torrent
* bumping version for next upload
* added patch to make sure using loglevel option was case insensitive
* added unittest for action module and resulted in bug fixes
* lockfile on pypi is out of date by nearly 2 years. I pulled from GitHub to get latest version. No longered required extension to lockfile
* updated README
* updated README
* updated README
* bugfix: date calculation to determine when to perform db back
* updated README
* updated README
* updated README
* updated README
* updated README
* updated README info
* fixed bug related to how frequently to do backups of db
* added lockfile support to make sure that when running as a cron that multiple instances do not run at the same time
* undo change to filesync
* general cleanup
* removed commented code
* bug fix: variable name changed but didn't change all locations
* updated the backup db routine to work similar to RotatingLogFiles
* renamed test folder to tests
* added shutilwhich to setup.py as dependency
* moved purge from plugin to internals of datamanager. Deleted actual filepurge.py as it is no longer needed. Also added in dependency on shutilwhich since running as a cron made it difficult to find unrar
* bumped the rev
* updated logext to default to user folder/directory if available; else cwd
* updated README; added new required attribute to configfile
* found bug where if torrent was still downloading it would be marked as missing and then purged without ever doing sync. Added check to make sure it waits and checks again later. (automation will really help you find issues)
* forgot to include ez_setup.py in distribution
* no longer needed with setuptools model
* Changes to support packaging and distribution
* added LICENSE; MIT
* removed logfile option from filesync given it is now redundant since logging from the subprocess is now directly supported
* subprocess module will output to stdout/stderr but I wanted everything consistently going to logging so it can be properly controlled. So I added an extension to subprocess to handle attaching logging to the child process and created unit testing for the new module. Then updated filesync which uses rsync for remote syncing of files to leverage new module
* updated distribution related files
* deleted old test files since they are replaced will real unit test modules
* added sample config files to support testing
* Added another test set related to processing options and command line
* Started using unittest module for doing proper testing and converting some of the scripts I had been using to do proper unit testing. This was the first one
* updated readme
* updated readme
* Updated readme
* made adjustment so that filecopy works the same as fileunrar, after copy create a new entry for syncing. And then within delete, simply ignore any file that does not exist to avoid any exceptions
* Bug fixes related to database backup, some extra logging
* adding setup/distribution related files
* Initial creation
* Initial commit
