# 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](https://github.com/TankerHQ/dmenv/issues/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](https://github.com/TankerHQ/dmenv/issues/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](https://github.com/TankerHQ/dmenv/issues/54): rename `--cwd` option to `--project`. * Avoid blindly overwriting the `requirements.lock` file when running. `dmenv lock`. See [#11](https://github.com/TankerHQ/dmenv/issues/11) and [#7](https://github.com/TankerHQ/dmenv/issues/7) for background. # 0.8.4 (2019-01-15) * Fix [#49](https://github.com/TankerHQ/dmenv/issues/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](https://github.com/TankerHQ/dmenv/issues/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](https://github.com/TankerHQ/dmenv/issues/12): `dmenv lock` now exits immediately if the lock file is missing. * Workaround Debian bug in pip (See [#15](https://github.com/TankerHQ/dmenv/issues/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](https://github.com/TankerHQ/dmenv/issues/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.