Skip to content
This repository has been archived by the owner on Feb 9, 2024. It is now read-only.

Latest commit

 

History

History
256 lines (152 loc) · 7.98 KB

CHANGELOG.md

File metadata and controls

256 lines (152 loc) · 7.98 KB

0.20.0 (2019-11-12)

  • Do not change the working directory when creating a virtual environment. This makes combining dmenv and pyenv much easier.
  • Add dmenv create command to create an empty virtual environment.

0.19.0 (2019-O6-11)

  • Breaking: the --system-site-packages option must be passed before any subcommand, and the path of the virtual environment has changed:

<= 0.18:

$ dmenv install --system-site-packages
# virtual environment created in .venv/dev/3.7/

>= 0.19:

$ dmenv --system-site-packages  install
# virtual environment created in .venv/dev-system/3.7/
  • Fix #110: dmenv tidy now works even from an activated virtual environment.

0.18.0 (2019-29-10)

  • Add a tidy command, to re-generate locks from a clean virtual environment.

0.17.0 (2019-10-08)

  • Add a process-scripts command, to generate scripts in DMENV_SCRIPTS_PATH.

0.16.2 (2019-10-03)

  • Fix regression: dmenv init could only be used with the --project option
  • Improve error messages when setup.py or requirements.lock is not found
  • Improve error handling when parsing output from info.py
  • Fix message when using dmenv --production install

0.16.1 (2019-07-24)

  • Fix regression that caused parsing output of dmenv show commands to stop working

0.16.0 (2019-07-24)

  • Fix #94: Look for setup.py in the parent directories when trying to resolve the project path.

0.15.0 (2019-06-26)

  • When foo.py is present at the root of the project, you can us dmenv run foo.py directly instead of the more awkward dmenv run -- python foo.py

0.14.3 (2019-05-15)

  • Fix syntax of generated setup.py (#86)
  • Fix regression: keep the top comment when running bump-in-lock

0.14.2 (2019-04-29)

  • Restore generation of pre-compiled binaries from travis.

0.14.1 (2019-04-29)

  • Fix incorrect --help message
  • Better error handling when the virtual environment or binary path do not exist
  • Fix typo in setup.cfg template

All reported by @theodelrieu. Thanks, man.

0.14.0 (2019-04-05)

Breaking: dmenv init now uses a separate setup.cfg file alongside setup.py

This leads to far more readable code.

Note: this may break when using setuptools <= 30.3.0 (roughly Python 3.5). Use dmenv init --no-setup-cfg if you need compatibility with old Python versions.

0.13.0 (2019-04-03)

  • Implement #77: Add a new --production flag to use prod extra requirements instead of dev. This allows having dependencies just for production environments.

0.12.0 (2018-03-20)

Show outdated dependencies

  • Use dmenv show:outdated to show outdated dependencies.

Allow access to system site packages

  • dmenv install and dmenv lock commands learned the --system-site-packages option to create virtual environments that have access to packages installed globally on the system.

Allow skipping development dependencies

This is done with the --production flag. For instance, dmenv --production install. dmenv --production lock will create a production.lock that contains no development dependencies.

Breaking changes

Virtual environment location has changed to allow both production and full virtual environments to coexist:

  • When using DMENV_VENV_OUTSIDE_PROJECT
version location
<= 0.11 DATA_DIR/dmenv/venv/3.7.1/foo/
>= 0.12, default DATA_DIR/dmenv/venv/dev/3.7.1/foo/
>= 0.12, with --production DATA_DIR/dmenv/venv/prod/3.7.1/foo/
  • Otherwise:
version location
<= 0.11 .venv/3.7.1/foo/
>= 0.12, default .venv/dev/3.7.1/foo/
>= 0.12, with --production .venv/prod/3.7.1/foo/

Migrating from 0.11

  • Run dmenv clean with dmenv 0.11 to clean up the deprecated location
  • Upgrade to dmenv 0.12
  • Run dmenv install to create the new virtual environment

0.11.1 (2010-03-01)

  • Fix metadata on Cargo to include new tagline.

0.11.0 (2019-02-20)

  • Add dmenv show:bin_path to show the path of the virtual environment binaries.

Breaking changes

  • Fix #31: make sure the wheel package gets frozen when running dmenv lock. Note: this also causes other packages like setuptools and pip itself to get frozen. As a consequence dmenv install no longer upgrades pip automatically, and so the --no-upgrade-pip option is gone.

0.10.0 (2019-01-30)

  • Allow using dmenv outside the current project, by setting an environment variable named DMENV_VENV_OUTSIDE_PROJECT.

0.9.0 (2019-01-25)

  • Fix #54: rename --cwd option to --project.

  • Avoid blindly overwriting the requirements.lock file when running. dmenv lock. See #11 and #7 for background.

0.8.4 (2019-01-15)

  • Fix #49: return code was always 0 when using dmenv run on Windows. (regression introduced in 0.8.1).

0.8.3 (2019-01-11)

  • Add documentation link to Cargo.toml.

0.8.2 (2019-01-09)

  • Fix #45: dmenv env can be used with non-ASCII chars on Windows.

0.8.1 (2019-01-08)

  • dmenv run now uses execv from libc. This means the child process is killed when killing dmenv. The previous behavior (starting a new process) can be activated with the --no-exec option.

0.8.0 (2018-12-21)

  • Allow using python3 -m virtualenv instead of python3 -m venv to create the virtual environments by setting an environment variable named DMENV_NO_VENV_STDLIB. This can be used to work around some bugs in Debian-based distributions.

0.7.0 (2018-12-07)

  • Add bump-in-lock command. Use to bump version or git references in the requirements.lock file.

0.6.0 (2018-11-09)

  • Run setup.py develop with --no-deps.
  • Rename show to show:venv_path, add show:deps to display the list of dependencies.

0.5.0 (2018-11-07)

  • dmenv init: since name is required, it is now an argument, no longer an option. So instead of dmenv init --name foo --version 0.42, use dmenv init foo --version 0.42
  • Add a command named dmenv develop that just runs python setup.py develop and nothing else.
  • dmenv install: add --no-upgrade-pip and --no-develop options.

0.4.3 (2018-11-06)

  • Add a --author option to dmenv init, used when generating the setup.py file.
  • Fix #12: dmenv lock now exits immediately if the lock file is missing.
  • Workaround Debian bug in pip (See #15 for details).

0.4.2 (2018-11-05)

  • Write some metadata inside the requirements.lock file.

  • Improve dmenv run:

    • Suggest running lock or install
    • Do not crash if used without arguments

0.4.1 (2018-11-04)

  • Fix CI on Windows.

0.4.0 (2018-11-03)

  • dmenv no longer needs a configuration file.
  • Find the Python interpreter to use by looking in the PATH environment variable.

0.3.4 (2018-11-03)

  • Fix #9: If dmenv is run inside an existing virtual environment, just use it.

0.3.3 (2018-11-03)

  • Also upgrade pip when running dmenv install.
  • Fix incorrect message when running dmenv lock.

0.3.2 (2018-11-03)

  • Fix regression introduced in 0.3.1: create config path parent subdirectory before trying to write inside it.

0.3.1 (2018-11-03)

  • Add a dmenv subdirectory to the configuration file path.

0.3.0 (2018-11-01)

  • Replace command freeze by lock.

0.2.3 (2018-11-01)

  • Add command dmenv init to generate a working setup.py file.

0.2.2 (2018-11-01)

  • Fix running dmenv on Windows.
  • The configuration file is now read from $HOME (~/.config on Linux and macOS, %HOME%\AppData\Local on Windows).

0.2.1 (2018-10-31)

  • The .dmenv.toml file is now required.

0.2.0 (2018-10-31)

  • Can be used with multiple python versions, using the .dmenv.toml config file.

0.1.0 (2018-10-31)

  • Initial release.