Changelog

The Debian releases, from 1.2.2-1.1 on, follow debian/changelog: unstable marks a release, UNRELEASED a version still in development. Earlier releases list the most notable changes by version. For a full list, consult the git history of the project.

1.3.1

Distribution:

unstable, 2026-10-13

Changed-By:

Nico Della Torre

  • Accept options passed by dh as -O--name=value: the lookup included the value, so --python and other options with a value given to dh were dropped and --builtin-venv failed with a TypeError. Closes: #984767, #845712

  • doc/dh_virtualenv.1.rst: update the quick guide for maintainers (debhelper-compat 13, Python 3, no ${python:Depends}). Closes: #856144

  • Drop the lintian override for the pre-native changelog versions, no longer needed now that the previous entry is native.

  • Use python3 for --builtin-venv when --python is not given, instead of failing with a TypeError. Closes: #1150721

  • Replace the build path in all bin/activate* scripts instead of matching the VIRTUAL_ENV assignments: recent venv and virtualenv indent them, so bin/activate kept the build directory, and the csh and fish patterns also overwrote VIRTUAL_ENV_PROMPT. Closes: #1150720

  • Buildsystem: replace the build path in all the scripts in bin/, not only in the shebangs, so the activate scripts and the console scripts that pip writes with a /bin/sh exec line for long build paths point to the installed virtualenv. Closes: #1150722

  • Drop the .env autoenv development script: it is a third-party copy with no licence notice, wrongly covered by the Spotify AB stanza in debian/copyright, and is not shipped in the binary packages. Document building the documentation with Sphinx in README.md instead.

  • Drop the Travis, tox and invoke development files, which target Python 2.7-3.8 with nose. README.md: run the tests with pytest and describe the current release steps.

  • Dockerfile: install the build dependencies with apt-get build-dep instead of an outdated hardcoded list that no longer installed.

  • Stop removing dh_python2, dh_pycentral and dh_pysupport from the sequence: no supported release has them. Fix the list of replaced commands and the position of dh_virtualenv in the documentation.

  • doc: drop the Python 2 era instructions and --no-site-packages from the Python 3 recipe.

  • Pass --setuptools=bundle to virtualenv for --setuptools: since virtualenv 20 the option takes a version, so the build failed with “the following arguments are required: dest”. Closes: #1150894

  • prerm: remove every __pycache__ directory of the virtualenv, not only the top-level one, so the bytecode Python writes at runtime does not stay behind after removal and purge. Closes: #1150896

  • Publish the documentation on Salsa Pages with a pages job in debian/salsa-ci.yml, and link it from README.md and the man page instead of the Read the Docs project, still stuck at 1.2.2.

  • doc/changes.rst: add the Debian releases from debian/changelog, with their distribution (unstable or UNRELEASED) and date, and point to the history on Salsa.

  • doc: credit the Debian Python Team as maintainer and follow the Debian Code of Conduct.

  • Buildsystem: report projects with only a pyproject.toml as buildable too (they were already installed with pip). doc: the project needs a pyproject.toml or a setup.py, and is installed with “pip install .”.

  • d/control: Build-Depend on python3-hatchling (>= 1.26), needed for the PEP 639 license fields in pyproject.toml (bookworm-backports has it).

  • test: expect the DeprecationWarning of --pypi-url, --no-test and --setuptools-test in the tests that use them.

1.3

Distribution:

unstable, 2026-10-12

Changed-By:

Nico Della Torre

Nico Della Torre:

  • Convert to a native package: upstream (spotify/dh-virtualenv) is inactive since 2020 and dh-virtualenv is a Debian-specific debhelper add-on. The former debian/patches are now regular commits in the tree.

  • Build with pyproject.toml and hatchling instead of setuptools: drop setup.py, setup.cfg and _version.py, move bin/dh_virtualenv to dh_virtualenv/cli.py as a console_scripts entry point, keep the version in dh_virtualenv/__init__.py.

  • d/control: Build-Depend on python3-hatchling and pybuild-plugin-pyproject instead of python3-setuptools.

  • Bring back the Sphinx documentation in a new dh-virtualenv-doc package, built unless the nodoc build profile is active. Fix doc/conf.py for current Sphinx (no setup.py metadata, add_css_file, sphinx_rtd_theme without html_theme_path); the JavaScript files are handled by dh_sphinxdoc instead of libjs-jquery/libjs-underscore (with ${sphinxdoc:Built-Using}). Install doc/examples in dh-virtualenv-doc too.

  • Drop Python 2 leftovers: u’’ string prefixes, coding cookies, from __future__ imports and explicit (object) base classes.

  • d/copyright: point Source and Upstream-Contact to Salsa and the team, extend the Spotify years to 2013-2017, add Alexandre Detiste to debian/*, drop the stray copyright line from the GPL-2+ license text.

  • doc/tutorial.rst: modernize the packaging example (debhelper-compat 13, Python 3, current Standards-Version, no debian/compat) so Sphinx can highlight it again.

  • doc/tutorial.rst: use apt instead of apt-get/dpkg -i/mk-build-deps in the interactive commands, replace the Stretch/Jessie installation notes and clone from Salsa.

  • doc/examples: use a signed-by keyring instead of the removed apt-key for the NodeSource repository, drop apt-transport-https, switch to libncurses-dev and Node.js 22.

  • doc: drop the unmaintained PPA, replace the “sudo pip install” advice (refused under PEP 668) with --upgrade-pip.

  • d/control: drop the unused dh-exec Build-Depends, mark dh-virtualenv Multi-Arch: foreign, run the test suite as autopkgtest (Testsuite: autopkgtest-pkg-pybuild). Point Homepage to Salsa and drop the obsolete python3-virtualenv (>= 1.7) version constraint.

  • Add a lintian override for the pre-native changelog versions.

Alexandre Detiste:

  • wrap-and-sort -ast.

  • Add debian/salsa-ci.yml.

  • Drop old unused JavaScript Build-Depends.

  • Use declarative dh-sequence-python3.

  • Rewrite d/rules with the newer execute_before_* syntax.

  • Drop the extraneous PYBUILD_TEST_PYTEST export.

1.2.2-3

Distribution:

unstable, 2026-10-11

Changed-By:

Nico Della Torre

  • Adopt package for the Debian Python Team (Closes: #1141903)

    • Set Maintainer to the Debian Python Team, add myself to Uploaders.

    • Point Vcs-* to salsa python-team/packages.

  • New patches:

    • 0006: port the test suite from nose to pytest. nose does not import on Python >= 3.12 and is gone from Debian.

    • 0007: also detect an activated venv (sys.base_prefix, $VIRTUAL_ENV), not only virtualenv < 20.

    • 0008: deprecate --setuptools-test and stop with a clear error when the virtualenv’s setuptools (>= 72) no longer provides setup.py test.

    • 0009: buildsystem: drop --no-site-packages (removed in virtualenv 20), skip the setup.py test step when unavailable, add the missing “/” so shebangs are fixed when DH_VIRTUALENV_INSTALL_SUFFIX is set.

    • 0010: also remove dh_auto_configure from the python-virtualenv sequence, which failed with debhelper compat >= 12.

    • 0011: buildsystem: do not resolve symlinks when locating the venv’s python, so pip runs inside the virtualenv with virtualenv >= 20.

    • 0012: apply DH_VERBOSE=1 once in the option parser instead of in both bin/dh_virtualenv and Deployment.from_options.

    • 0013: handle deprecated options through a table and one callback per option group.

    • 0014: skip binary packages whose Architecture does not match the host architecture, like debhelper.

    • 0015: drop the dead compile_all/rtupdate code inherited from dh_python2.

    • 0016: run the shebang-fixing sed only once instead of also starting a second, never awaited copy that raced with it.

  • d/control: Build-Depend on python3-pytest <!nocheck>.

  • d/rules: run the test suite with pytest.

1.2.2-2

Distribution:

unstable, 2026-07-13

Changed-By:

Andreas Tille

  • QA upload.

  • Orphan package

  • Maintain in Debian team on Salsa

  • Bump debhelper from old 12 to 13.

  • Remove redundant Priority: optional from source stanza.

  • Replace FSF postal address with a reference to https://www.gnu.org/licenses/.

  • Update standards version to 4.7.4, no changes needed.

  • d/watch: version=5

  • Remove Rules-Requires-Root: no since its default

  • d/copyright: review

1.2.2-1.8

Distribution:

unstable, 2026-05-29

Changed-By:

Arnaud Rebillout

  • Non-maintainer upload.

  • Cherry-pick upstream patch: only use -O options if option is supported

  • Add patch to fix support of -a option (for --no-arch-all builds)

1.2.2-1.7

Distribution:

unstable, 2025-05-04

Changed-By:

Ferenc Wágner

  • Non-maintainer upload.

  • Cherry-pick upstream patch fixing venv options (Closes: #1104696)

1.2.2-1.6

Distribution:

unstable, 2024-07-14

Changed-By:

Graham Inggs

  • Non-maintainer upload

  • Depend on unversioned python3-venv from python3-defaults instead of the versioned package, to avoid needing a sourceful upload for every Python transition

1.2.2-1.5

Distribution:

unstable, 2024-06-09

Changed-By:

Alexandre Detiste

  • Non-maintainer upload.

  • Remove extraneous python3-mock build depedency.

1.2.2-1.4

Distribution:

unstable, 2023-11-17

Changed-By:

Uwe Kleine-König

  • Non-maintainer upload.

  • Drop Sphinx docs (Closes: #1042646)

1.2.2-1.3

Distribution:

unstable, 2023-02-02

Changed-By:

Kunal Mehta

  • Non-maintainer upload.

  • Cherry-pick upstream patch for Python 3.11 support (Closes: #1030170)

1.2.2-1.2

Distribution:

unstable, 2022-08-25

Changed-By:

Kunal Mehta

  • Non-maintainer upload.

  • Rebuild to update python3.x-venv dependency. (Closes: #1017046)

1.2.2-1.1

Distribution:

unstable, 2021-03-08

Changed-By:

Vincent Bernat

  • NMU.

  • Rebuild to update python3.X-venv dependency. Closes: #984766.

1.2.2

  • Bugfix release: Addresses removal of python3-venv on Debian testing/sid

1.2.1

  • Bugfix release: Fixes a binary dependency to depend on Python 3 version of virtualenv

1.2

1.1

1.0

0.11

  • Allow passing explicit filename for requirements.txt using --requirements option. Thanks to Eric Larson for implementing!

  • Ensure that venv is configured before starting any daemons. Thanks to Chris Lamb for fixing this!

  • Make sure fix_activate_path updates all activate scripts. Thanks to walrusVision for fixing this!

0.10

  • Backwards incompatible Fix installation using the built-in virtual environment on 3.4. This might break installation on Python versions prior to 3.4 when using --builtin-venv flag. Thanks to Elonen for fixing!

  • Honor DH_VIRTUALENV_INSTALL_ROOT in build system. Thanks to Ludwig Hähne for implementing!

  • Allow overriding virtualenv arguments by using the DH_VIRTUALENV_ARGUMENTS environment variable when using the build system. Thanks to Ludwig Hähne for implementing!

  • Add option to skip installation of the actual project. In other words using --skip-install installs only the dependencies of the project found in requirements.txt. Thanks to Phillip O’Donnell for implementing!

  • Support custom installation suffix instead of the package name via --install-suffix. Thanks to Phillip O’Donnell for implementing!

0.9

  • Support using system packages via a command line flag --use-system-packages. Thanks to Wes Mason for implementing this feature!

  • Introduce a new, experimental, more modular build system. See the Packaging Guide for documentation.

  • Respect the DEB_NO_CHECK environment variable.

0.8

  • Support for running triggers upon host interpreter update. This new feature makes it possible to upgrade the host Python interpreter and avoid breakage of all the virtualenvs installed with dh-virtualenv. For usage, see the the Getting Started. Huge thanks to Jürgen Hermann for implementing this long wanted feature!

  • Add support for the built-in venv module. Thanks to Petri Lehtinen!

  • Allow custom pip flags to be passed via the --extra-pip-arg flag. Thanks to @labeneator for the feature.

0.7

  • Backwards incompatible Support running tests. This change breaks builds that use distutils. For those cases a flag --no-test needs to be passed.

  • Add tutorial to documentation

  • Don’t crash on debbuild parameters -i and -a

  • Support custom source directory (debhelper’s flag -D)

0.6

First public release of dh-virtualenv