1. Doug Hellmann
  2. virtualenvwrapper-hg


virtualenvwrapper-hg / docs / source / history.rst

Release History


Warning: This release includes some potentially incompatible changes for extensions. The python modules for extensions are now always run with PWD=$WORKON_HOME (previously the value of PWD varied depending on the hook). The shell portion of any hook (anything sourced by the user's shell when the hook is run) is still run in the same place as before.

  • All tests pass under Python 2.6, 2.7, 3.2 and 3.3.
  • Fix the name of the script in an error message produced by virtualenvwrapper_lazy.sh. (Contributed by :bbuser:`scottstvnsn`.)


  • Rename functions for generating help so they do not pollute the global namespace, and especially so they do not interfere with tab completion. Contributed by :bbuser:`davidszotten`.
  • Fix an issue with listing project templates if none are installed. (:bbissue:`179`)
  • Fix an issue with the --python option to mkvirtualenv becoming sticky for future calls that do not explicitly specify the option. (:bbissue:`178`)


  • Improve tab-completion support for users of the lazy-loading mode. (:bbuser:`upsuper`)
  • Add --help option to mkproject.
  • Add --help option to workon.
  • Turn off logging from the hook loader by default, and replace VIRTUALENVWRAPPER_LOG_DIR environment variable with VIRTUALENVWRAPPER_LOG_FILE. The rotating log behavior remains the same. The motivation for this change is the race condition caused by that rotating behavior, especially when the wrappers are being used by users with different permissions and umasks. (:bbissue:`152`)
  • Use flake8 for style checking.


  • Replace realpath with a more portable way of converting a relative path to an absolute path, used with the --python option to mkvirtualenv (contributed by Radu Voicilas, :bbuser:`rvoicilas`).
  • Posted release to PyPI, resolving download redirect issue. (:bbissue:`171` and :bbissue:`172`)


  • Switch to stevedore for plugin management
  • mkvirtualenv_help should use $VIRTUALENVWRAPPER_PYTHON instead of calling virtualenv directly (:bbissue:`148`).
  • Fix issue with lazy-loader code under zsh (:bbissue:`144`).
  • Fix issue with noclobber option under zsh (:bbissue:`137`). Fix based on patch from :bbuser:`rob_b`.
  • Fix documentation for add2virtualenv to show the correct name for the file containing the new path entry. (contributed by :bbuser:`rvoicilas`)
  • Fix problem with virtualenvwrapper_show_workon_options under zsh with chpwd functions that produce output. (:bbissue:`153`)




  • Clean up file permissions and remove shebangs from scripts not intended to be executed on the command line. (contributed by :bbuser:`ralphbean`)
  • Worked on some brittle tests.
  • Received updates to Japanese translation of the documentation from :bbuser:`t2y`.
  • Fix the test script and runner so the user's $WORKON_HOME is not erased if they do not have some test shells installed. (big thanks to :bbuser:`agriffis`).
  • If the hook loader is told to list plugins but is not given a hook name, it prints the list of core hooks.
  • Merge several fixes for path and variable handling for MSYS users from :bbuser:`bwanamarko`. Includes a fix for :bbissue:`138`.
  • Change :ref:`command-mkvirtualenv` so it catches both -h and --help.
  • Fix some issues with the way temporary files are used for hook scripts. (contributed by :bbuser:`agriffis`)
  • Allow relative path to requirements file with :ref:`command-mkvirtualenv` and -r option. (:bbuser:`barberj`)
  • Make whitespace consistent. (:bbuser:`agriffis`)


  • Make project_dir a local variable so that :ref:`command-cdproject` does not interfere with other variables the user might have set. (contributed by :bbuser:`slackorama`)
  • Fix typo in documentation reported by Nick Martin.
  • Change trove classifier for license "MIT" to reflect the license text presented in the documentation. This does not indicate a change in the license, just a correction to the expression of that intent. See :ref:`license` (contributed by :bbuser:`ralphbean` as fix for :bbissue:`134`)
  • Extend :ref:`command-rmvirtualenv` to allow removing more than one environment at a time. (contributed by :bbuser:`ciberglo`)
  • Change the definition of virtualenvwrapper_get_site_packages_dir to ask distutils for the site-packages directory instead of trying to build the path ourselves in the shell script. This should resolve :bbissue:`112` and improve support for Python interpreters other than C Python. Thanks to Carl Meyer and Dario Bertini for their contributions toward the fix.



  • Fix some packaging issues that made it more difficult to run the tests directly from the sdist package. (:bbissue:`126`)


  • Add Python 3 support, thanks in large part to the efforts of Daniel Kraus (:bbuser:`dakra`). Tested under Python 2.6, 2.7, and 3.2.


  • Remove the initialization shortcut because it breaks tab completion in sub-shell environments like screen and tmux. (:bbissue:`121`)


  • Add -a option to :ref:`command-mkvirtualenv` to associate a new virtualenv with an existing project directory. Contributed by Mike Fogel (:bbuser:`mfogel`).
  • Drops support for Python 2.4 and 2.5. The tools may still work, but I no longer have a development environment set up for testing them, so I do not officially support them.
  • Shortcut initialization if it has run before.
  • Set hook log file permissions to be group-writable. (:bbissue:`62` reported by :bbuser:`hedgeddown`)
  • Add VIRTUALENVWRAPPER_PROJECT_FILENAME variable so the .project file used to link a virtualenv to a project can be renamed to avoid conflicts with other tools. (:bbissue:`120` reported by :bbuser:`arthuralvim`)






  • Move setup code for tab completion later in the startup code so all of the needed variables are configured. (:bbissue:`97`)
  • Expand tab completion for zsh to work for all commands.


  • When testing for WORKON_HOME during startup, dereference any symlink to make sure it is a directory.
  • Set VIRTUALENVWRAPPER_HOOK_DIR and VIRTUALENV_WRAPPER_LOG DIR in virtualenvwrapper_initialize after WORKON_HOME is set (:bbissue:`94`).
  • Update the :ref:`install-basic` instructions to be more explicit about needing to install virtualenvwrapper globally (or at least outside of a virtualenv).



  • Hard-code the version information in the setup.py and conf.py scripts. This still doesn't work for http://readthedocs.org, since the doc build needs the sphinxcontrib.bitbucket extension, but will make it easier to transition the docs to another site later.





  • Point release uploaded to PyPI during outage on doughellmann.com.



  • Make :ref:`command-workon` list brief environment details when run without argument, instead of full details.




  • Added get_env_details hook.


  • Integrate Fred Palmer's patch to escape more shell commands to avoid aliases. Resolves :bbissue:`57`.
  • Fix a problem with egrep argument escaping (:bbissue:`55`).
  • Fix a problem with running mkvirtualenv without arguments (:bbissue:`56`).


  • Escape which calls to avoid aliases. Resolves :bbissue:`46`.
  • Integrate Manuel Kaufmann's patch to unset GREP_OPTIONS before calling grep. Resolves :bbissue:`51`.
  • Escape $ in regex to resolve :bbissue:`53`.
  • Escape rm to avoid issues with aliases and resolve :bbissue:`50`.


  • Switched hook loader execution to a form that works with Python 2.4 to resolve :bbissue:`43`.
  • Tested under Python 2.7b1. See :bbissue:`44`.
  • Incorporated performance improvements from David Wolever. See :bbissue:`38`.
  • Added some debug instrumentation for :bbissue:`35`.



  • Add support for ksh. Thanks to Doug Latornell for doing the research on what needed to be changed.
  • Test import of virtualenvwrapper.hook_loader on startup and report the error in a way that should help the user figure out how to fix it (:bbissue:`33`).
  • Update :ref:`command-mkvirtualenv` documentation to include the fact that a new environment is activated immediately after it is created (:bbissue:`30`).
  • Added hooks around :ref:`command-cpvirtualenv`.
  • Made deactivation more robust, especially under ksh.
  • Use Python's tempfile module for creating temporary filenames safely and portably.
  • Fix a problem with virtualenvwrapper_show_workon_options that caused it to show * as the name of a virtualenv when no environments had yet been created.
  • Change the hook loader so it can be told to run only a set of named hooks.
  • Add support for listing the available hooks, to be used in help output of commands like virtualenvwrapper.project's mkproject.
  • Fix mkvirtualenv -h option behavior.
  • Change logging so the $WORKON_HOME/hook.log file rotates after 10KiB.


  • Fixed :bbissue:`32`, making virtualenvwrapper.user_scripts compatible with Python 2.5 again.


  • Fixed :bbissue:`29`, to use a default value for TMPDIR if it is not set in the user's shell environment.


  • Rewrote hook management using Distribute entry points to make it easier to share extensions.


  • Added cpvirtualenv command [Thomas Desvenain]


  • Fix a problem with error messages showing up during init for users with the wrappers installed site-wide but who are not actually using them. See :bbissue:`26`.
  • Split up the tests into multiple files.
  • Run all tests with all supported shells.


  • Merged in changes to cdsitepackages from William McVey. It now takes an argument and supports tab-completion for directories within site-packages.



  • Add license text to the header of the script.


  • Resolve a bug with the preactivate hook not being run properly. Refer to :bbissue:`21` for complete details.


  • Resolve a bug with the postmkvirtualenv hook not being run properly. Refer to :bbissue:`19` and :bbissue:`20` for complete details.


  • Automatically create any missing hook scripts as stubs with comments to expose the feature in case users are not aware of it.


  • Better protection of $WORKON_HOME does not exist when the wrapper script is sourced.


  • Incorporate lssitepackages feature from Sander Smits.
  • Refactor some of the functions that were using copy-and-paste code to build path names.
  • Add a few tests.


  • Fix problem with add2virtualenv and relative paths. Thanks to Doug Latornell for the bug report James Bennett for the suggested fix.


  • Incorporate patch from Sascha Brossmann to fix a :bbissue:`15`. Directory normalization was causing WORKON_HOME to appear to be a missing directory if there were control characters in the output of pwd.


  • Remove warning during installation if sphinxcontrib.paverutils is not installed. (:bbissue:`10`)
  • Added some basic developer information to the documentation.
  • Added documentation for deactivate command.


  • Added documentation updates provided by Steve Steiner.


  • Merged in changes to cdvirtualenv from wam and added tests and docs.
  • Merged in changes to make error messages go to stderr, also provided by wam.


  • Better error handling in mkvirtualenv.
  • Remove bogus VIRTUALENV_WRAPPER_BIN variable.


  • Wrap the virtualenv version of deactivate() with one that lets us invoke the predeactivate hooks.
  • Fix virtualenvwrapper_show_workon_options for colorized versions of ls and write myself a note so I don't break it again later.
  • Convert test.sh to use true tests with shunit2


  • Fix :bbissue:`5` by correctly handling symlinks and limiting the list of envs to things that look like they can be activated.


  • Check return value of virtualenvwrapper_verify_workon_home everywhere, thanks to Jeff Forcier for pointing out the errors.
  • Fix instructions at top of README, pointed out by Matthew Scott.
  • Add cdvirtualenv and cdsitepackages, contributed by James Bennett.
  • Enhance test.sh.


  • Optimize virtualenvwrapper_show_workon_options.
  • Add global postactivate hook.



  • Add more hooks for operations to run before and after creating or deleting environments based on changes from Chris Hasenpflug.


  • Corrected a problem with change to mkvirtualenv that lead to release 1.8 by using an alternate fix proposed by James in comments on release 1.4.


  • Fix for processing the argument list in mkvirtualenv from jorgevargas (:bbissue:`1`)


  • Move to bitbucket.org for hosting
  • clean up TODO list and svn keywords
  • add license section below


  • More zsh support (fixes to rmvirtualenv) from Byron Clark.


  • Add completion support for zsh, courtesy of Ted Leung.


  • Fix some issues with spaces in directory or env names. They still don't really work with virtualenv, though.
  • Added documentation for the postactivate and predeactivate scripts.


  • Includes a new .pth management function based on work contributed by James Bennett and Jannis Leidel.


  • Includes a fix for a nasty bug in rmvirtualenv identified by John Shimek.