* 5.1.1 - Nov 3 2016
- Remove debug line which was forcing "parentDirectory" in
"setupAndActivateEnv" to always be forced to "/tmp" (well,
tempfile.gettempdir()). If you tried to use a
different parentDirectory, it would create and activate it in /tmp anyway.
This has been fixed, and now you can use any arbitrary parent directory.

* 5.1.0 - Oct 27 2016
- Add a new method, setupAndActivateEnv, which performs all the management steps (formerly from copying-and-pasting the 'template'
in examples/persistent_env) to having a project manage its own virtualenv and packages. It provides a simple interface driven both
from the example and comments from folks using it. This new method is now the recmomended approach to using VirtualEnvOnDemand
to manage your project/script's package dependencies
- Update examples, now there is a "use_venv.py" which imports "venv.py". "venv.py" manages the env, and is the recommended approach.
- Removed old examples from the root door (example.py, example_explicit.py)
- Update docstrings
- Rewrite and update READMEs
- Update examples

* 5.0.4 - Oct 14 2016
- Fix a typo in an error condition

* 5.0.3 - Oct 03 2016
- Always pass --upgrade to pip install

* 5.0.2 - Sep 30 2016
- Fix persistent_env example to actually install the packages used (since on-demand is disabled in this example)
- Add lots of comments, etc to persistent_env to be a better demonstration


* 5.0.1 - Sep 28 2016
- Update READMEs and examples
- Minor fix in passing strings instead of VirtualEnvInfo to functions

* 5.0.0 - Sep 28 2016
- Better support for persistent virtualenvs
- Allow naming of virtualenvs through createEnv
- Add getInfoFromVirtualEnv method to extract a VirtualEnvInfo object from a
virtualenv
- Update VirtualEnvInfo to fill-in missing information
- Remove deferSetup from VirtualEnvInfo (used by deferSetup=True on
enableOnDemandImporter)
- Allow setting the global virtualenv
- Add activateEnv method to activate a pre-existing virtualenv
- Change how toggle works, such that you can call setGlobalVirtualEnv(myEnv,
enableOnDemandImporter=True) to toggle a specific virtualenv for use
- Code refactors, cleanups
- Validate that a virtualenv is usable


* 4.2.2 - May 16 2016
- Fix python3 doesn't like join without a list.

* 4.2.0 - Mar 31 2016
- Use os.devnull and join on os.sep instead of explicitly using "/" and "/dev/null" to hopefully support windows as a platform.

* 4.1.0 - Feb 10 2016
- Fix global on demand importer not working when deferSetup=True on newer versions of pip/virtualenv.
- Add toggleOnDemandImporter which can be used to toggle on/off the global on demand importer, after it has been setup.

* 4.0.0 - Dec 18 2015
- Add a flag to enableOnDemandImporter, "deferSetup", default true, which allows the global
virtualenv setup to be deferred until the first local-failing import (or
failing ensureImportGlobal). This allows the on demand importer to be used
without penality if all requires modules are present, but still gives the
robustness to install those that aren't.
- Add default-on parameter to enableOnDemandImporter "noRetryFailedPackages".
When this is true, packages that have failed to be found on pip or locally will be marked
and not retried.

* 3.0.1 - Nov 20 2015
- Oops, deleteOnClose was set to False for my debugging, forgot to switch back to True. This change means virtualenvs (like the global) are once again automatically cleaned up upon exit.

* 3.0.0 - Nov 19 2015
- Instead of returning a dictionary from CreateEnv, return a new
VirtualEnvInfo object. This is backwards-compatible, as it implements
__getitem__ and __setitem__ with the fields and thus can be used the same.
- Add methods ensureImport and ensureImportGlobal (that work on a given
virtualenv directory, or the global one created by enableOnDemandImporter,
respectively). These can be used when the package name does not match the
module name (like "biopython" package provides "Bio"), instead of creating a
new virtualenv for each instance, and for appending to existing envs to
prevent number that would be stacked under normal usage.

* 2.1.0 - Nov 18 2015
- For auto-generated temporary requirements.txt file, use the virtualenv directory instead of parent temp directory to keep things cleaner and isolated
- Allow specifying a temporary directory on the enableOnDemandImporter call.

* 2.0.1 - Nov 17 2015
- Split up module into a couple files
- Split out the package installation from env creation, to support adding to
existing envs
- Add support for enabling automatically trying to install modules after
failed import, by calling "VirtualEnvOnDemand.enableOnDemandImporter()"
- Update docs accordingly
