Skip to content

Releases: wntrblm/nox

2025.02.09 πŸ’

09 Feb 19:01
a74da2c
Compare
Choose a tag to compare

This release improves PEP 723 support, including adding dependencies to the noxfile itself ("plugins"). It adds the long-awaited "requires" option, allowing sessions to require other sessions. And it brings further improvements to the pyproject.toml support, including helpers for dependency-groups and Python version lists.

We'd like to thank the following folks who contributed to this release:

New features:

Bugfixes:

  • Correct virtualenv bin dir under mingw python by @davidhewitt in #901
  • Allow pypy-* to be used as well for pypy* (matching GHA) by @henryiii in #913
  • Don't trigger a background update process for virtualenv by @henryiii in #918
  • Include encoding for consistent behavior (default in Python 3.15+) by @henryiii in #891
  • Outer env issues fixed by @henryiii in #874
  • Support noxfile being a symlink by @henryiii in #829
  • Drop PyPy from the default list for the GitHub Action by @henryiii in #916

Bugfixes related to uv support:

Tox-to-nox script:

Improved noxfile validation:

  • Error if invalid reuse_venv set by @henryiii in #872
  • Error with helpful message if invalid option is set via nox.options by @henryiii in #871 (followup fix: #921)
  • Validate entries in nox.config, too, using attrs by @henryiii in #880

Internal changes:

2024.10.09 πŸŽƒ

09 Oct 12:49
1199ab3
Compare
Choose a tag to compare

This release adds explicit support for Python 3.13 and drops support for running Nox itself under Python 3.7. Note that you can still use 3.7 in your Nox sessions, we just dropped support for installing & running nox itself in 3.7.

We'd like to thank the following folks who conributed to this release:

New features:

Bugfixes:

Documentation:

Internal changes:

2024.04.15 πŸͺΌ

15 Apr 14:07
5656fce
Compare
Choose a tag to compare

We'd like to thank the following folks who contributed to this release:

New features:

  • Added support for PEP 723 (inline script metadata) with nox.project.load_toml by @henryiii in #811
  • Added support for micromamba by @henryiii in #807
  • Added venv_backend property to sessions by @henryiii in #798
  • Added the ability to use None to remove environment variables by @henryiii in #812
  • Added support for skipping sessions by default using default=False by @henryiii in #810

Bugfixes:

2024.03.02

02 Mar 23:40
4c8e891
Compare
Choose a tag to compare

We'd like to thank the following folks who contributed to this release:

New Features:

Bugfixes:

  • Rebuild environment when changing to an incompatible backend type by @henryiii in #781
  • Warn user when first argument to session.run is a list by @stefanv in #786
  • Allow overriding nox.options.sessions with --tags by @q0w in #684
  • Allow overriding NO_COLOR with --force-color by @stasfilin in #723
  • Fix nox.options.error_on_missing_interpreters when running in CI by @samypr100 in #725

Documentation Improvements:

Internal Changes:

2023.04.22

23 Apr 01:43
Compare
Choose a tag to compare

We'd like to thank the following folks who contributed to this release:

New Features:

Documentation Improvements:

  • style: spelling and grammar fixes by @scop in #682
  • Add invite link to the discord server to CONTRIBUTING.md by @dcermak in #679

Internal Changes:

Full Changelog: 2022.11.21...2023.04.22

2022.11.21 πŸ¦ƒ

21 Nov 16:01
6957a4c
Compare
Choose a tag to compare

We'd like to thank the following folks who contributed to this release:

New features:

  • Include Python 3.11 classifier & testing (#655)

Improvements:

  • Fixed a few typos (#661, #660)
  • Drop dependency on py (#647)
  • nox.session.run now accepts a pathlib.Path for the command (#649)
  • Document nox.session.run's stdout and stderr arguments and add example of capturing output (#651)

Bugfixes:

  • GitHub Action: replace deprecated set-output command (#668)
  • GitHub Action: point docs to 2022.8.7 not latest (#664)
  • Docs: fix argument passing in session.posargs example (#653)
  • Include GitHub action helper in MANIFEST.in (#645)

Internal changes:

  • GitHub Action: move to 3.11 final (#667)
  • Cleanup Python 2 style code (#657)
  • Update tools used in pre-commit (#646, #656)

2022.8.7 🧚

08 Aug 00:16
ccade46
Compare
Choose a tag to compare

We'd like to thank the following folks who contributed to this release:

Removals:

  • Drop support for Python 3.6 (#526)
  • Disable running session.install outside a venv (#580)

New features:

  • Official Nox GitHub Action (#594, #606, #609, #620, #629, #637, #632, #633)
  • Missing interpreters now error the session on CI by default (#567)
  • Allow configurable child shutdown timeouts (#565)
  • Add session tags (#627)
  • Add short -N alias for --no-reuse-existing-virtualenvs (#639)
  • Export session name in NOX_CURRENT_SESSION environment variable (#641)

Improvements:

  • Add VENV_DIR to dev session in cookbook (#591)
  • Fix typo in tutorial.rst (#586)
  • Use consistent spelling for Nox in documentation (#581)
  • Support descriptions in tox-to-nox (#575)
  • Document that silent=True returns the command output (#578)
  • Support argcomplete v2 (#564)

Bugfixes:

  • Fix incorrect FileNotFoundError in load_nox_module (#571)

Internal changes:

  • Update the classifiers, documentation, and more to point to the new Winterbloom location (#587)
  • Support PEP 621 (pyproject.toml) (#616, #619)
  • Configure language code to avoid warning on sphinx build (#626)
  • Use latest GitHub action runners and include macOS (#613)
  • Jazz up the README with some badges/logo etc. (#605, #614)
  • Prefer type checking against Jinja2 (#610)
  • Introduce GitHub issue forms (#600, #603, #608)
  • Full strictness checking on mypy (#595, #596)
  • Drop 99% coverage threshold flag for 3.10 in noxfile (#593)
  • Create a requirements-dev.txt (#582)
  • Use myst-parser for Markdown docs (#561)

2022.1.7 πŸ₯³

07 Jan 23:25
Compare
Choose a tag to compare

Claudio Jolowicz, Diego Ramirez, and Tom Fleet have become maintainers of Nox. We'd like to thank the following folks who contributed to this release:

New features:

  • Add mamba backend (#444, #448, #546, #551)
  • Add session.debug to show debug-level messages (#489)
  • Add cookbook page to the documentation (#483)
  • Add support for the FORCE_COLOR environment variable (#524, #548)
  • Allow using session.chdir() as a context manager (#543)
  • Deprecate use of session.install() without a valid backend (#537)

Improvements:

  • Test against Python 3.10 (#495, $502, #506)
  • Add support for the channel option when using the conda backend (#522)
  • Show more specific error message when the --keywords expression contains a syntax error (#493)
  • Include reference to session.notify() in tutorial page (#500)
  • Document how session.run() fails and how to handle failures (#533)
  • Allow the list of sessions to be empty (#523)

Bugfixes:

  • Fix broken temporary directory when using session.chdir() (#555, #556)
  • Set the CONDA_PREFIX environment variable (#538)
  • Fix bin directory for the conda backend on Windows (#535)

Internal changes:

  • Replace deprecated load_module with exec_module (#498)
  • Include tests with source distributions (#552)
  • Add missing copyright notices (#509)
  • Use the new ReadTheDocs configurations (#527)
  • Bump the Python version used by ReadTheDocs to 3.8 (#496)
  • Improve the Sphinx config file (#499)
  • Update all linter versions (#528)
  • Add pre-commit and new checks (#530, #539)
  • Check MANIFEST.in during CI (#552)
  • Remove redundant LICENSE from MANIFEST.in (#505)
  • Make setuptools use the standard library's distutils to work around virtualenv bug. (#547, #549)
  • Use shlex.join() when logging a command (#490)
  • Use shutil.rmtree() over shelling out to rm -rf in noxfile (#519)
  • Fix missing Python 3.9 CI session (#529)
  • Unpin docs session and add --error-on-missing-interpreter to CI (#532)
  • Enable color output from Nox, pytest, and pre-commit during CI (#542)
  • Only run conda_tests session by default if user has conda installed (#521)
  • Update dependencies in requirements-conda-test.txt (#536)

2021.10.1 πŸŽƒ

01 Oct 13:03
Compare
Choose a tag to compare

New features:

  • Add session.warn to output warnings (#482)
  • Add a shared session cache directory (#476)
  • Add session.invoked_from (#472)

Improvements:

  • Conda logs now respect nox.options.verbose (#466)
  • Add session.notify example to docs (#467)
  • Add friendlier message if no noxfile.py is found (#463)
  • Show the noxfile.py docstring when using nox -l (#459)
  • Mention more projects that use Nox in the docs (#460)

Internal changes:

  • Move configs into pyproject.toml or setup.cfg (flake8) (#484)
  • Decouple test_session_completer from project level noxfile (#480)
  • Run Flynt to convert str.format to f-strings (#464)
  • Add python 3.10.0-rc2 to GitHub Actions (#475, #479)
  • Simplify CI build (#461)
  • Use PEP 517 build system, remove setup.py, use setup.cfg (#456, #457, #458)
  • Upgrade to mypy 0.902 (#455)

Special thanks to our contributors:

2021.6.12

13 Jun 05:05
787dfaa
Compare
Choose a tag to compare
  • Fix crash on Python 2 when reusing environments. (#450)
  • Hide staleness check behind a feature flag. (#451)
  • Group command-line options in --help message by function. (#442)
  • Avoid polluting tests with a .nox directory. (#445)