Releases: wntrblm/nox
2024.04.15 🪼
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:
- Use static arguments instead of
**kwargs
by @henryiii in #815 - Do not depend on
pipx
in Nox GitHub action by @mayeut in #768 - Disallow
UV_SYSTEM_PYTHON
by @henryiii in #817 - Ensure 'uv' always works in a uv venv by @henryiii in #818
- Look for
uv
next topython
if it's not onPATH
by @cjolowicz in #795 - Fixed missing f-string in
--help
message by @cjolowicz in #790 - Don't error if not installing to passthrough by @henryiii in #809
- Avoid mixing
venv
andconda
from environment by @henryiii in #804 - Skip test for conda env when
conda
isn't installed by @cjolowicz in #794
2024.03.02
We'd like to thank the following folks who contributed to this release:
- @DiddiLeija
- @MicaelJarniac
- @chrysle
- @edgarrmondragon
- @fazledyn-or
- @franekmagiera
- @frenzymadness
- @henryiii
- @johnthagen
- @mayeut
- @patrick91
- @q0w
- @samypr100
- @scop
- @stasfilin
- @stefanv
New Features:
- Add
uv
backend by @henryiii in #762 - Add venv backend fallback by @henryiii in #787
- Add option
--reuse-venv {yes,no,never,always}
by @samypr100 in #730 - Add environment variable
NOX_DEFAULT_VENV_BACKEND
for default backend by @edgarrmondragon in #780 - Rename
session.run_always
tosession.run_install
by @henryiii in #770 - Add more option argument completions by @scop in #707
- Implement
tox-to-nox
for tox 4 by @frenzymadness in #687 - Allow
--force-python
on unparametrized sessions by @chrysle in #756 - Add
include_outer_env
parameter tosession.run
and friends by @franekmagiera in #652 - GitHub Action: Add support for the
~
version specifier by @mayeut in #712
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:
- Create an official Nox badge by @johnthagen in #714 and #715
- Add recipe for generating a matrix with GitHub Actions by @henryiii in #696
- Update some links by @henryiii in #774
Internal Changes:
- fix: always pull versions from metadata by @henryiii in #782
- chore: ruff moved to astral-sh by @henryiii in #722
- Use double quotes instead of single in github actions examples by @patrick91 in #724
- tests: fixes when running locally by @henryiii in #721
- chore: modernize Ruff config, bump pre-commit by @henryiii in #744
- chore(deps): bump actions/checkout from 3 to 4 by @dependabot in #738
- chore: ruff-format by @henryiii in #745
- chore(action): update default python-versions by @mayeut in #767
- chore(ci): allow manual runs on branches without a PR by @mayeut in #766
- chore(ci): bump actions/setup-python & conda-incubator/setup-miniconda by @mayeut in #765
- ci: group dependabot updates by @henryiii in #755
- fix(types): improve typing by @henryiii in #720
- ci: fix coverage combine for different OS's by @henryiii in #778
- ci: update to artifacts v2 by @henryiii in #772
- ci: remove skipped job & combine (faster) by @henryiii in #771
- chore: cleanup Ruff a bit by @henryiii in #783
- chore(deps): bump the actions group with 2 updates by @dependabot in #784
- style: add type hints, update few functions by @stasfilin in #728
- Include Python 3.12 in GHA by @DiddiLeija in #743
- Allow tests to pass in environments where NO_COLOR=1 is set by @edgarrmondragon in #777
- tests: support running when the Python launcher for UNIX is present by @henryiii in #775
- chore: drop unneeded config option by @henryiii in #773
- Bump minimum virtualenv to 20.14.1 by @johnthagen in #747
- chore: save session name in
Func
by @MicaelJarniac in #718 - Removed the problematic Python 2.7.18 version by @stasfilin in #726
- Fixed Improper Method Call: Replaced
NotImplementedError
by @fazledyn-or in #749
2023.04.22
We'd like to thank the following folks who contributed to this release:
New Features:
- Add support for
NOXPYTHON
,NOXEXTRAPYTHON
andNOXFORCEPYTHON
by @edgarrmondragon in #688 - feat: --json --list-sessions by @henryiii in #665
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:
- chore: update pre-commit hooks by @edgarrmondragon in #690
- chore: move to using Ruff by @henryiii in #691
- Fix assertion in GHA tests by @FollowTheProcess in #670
- ci: some minor fixes by @henryiii in #675
- Constrain tox to <4.0.0 and minor fixes by @FollowTheProcess in #677
- chore: long term fix for bugbear opinionated checks by @henryiii in #678
- chore: switch to hatchling by @henryiii in #659
- Don't run python 2.7 virtualenv tests for newer versions of virtualenv by @crwilcox in #702
- allow the use of argcomplete 3 by @reaperhulk in #700
- fix: enable
list_sessions
for session completion by @scop in #699 - chore: remove 3.6 tests, min version is 3.7 by @crwilcox in #703
Full Changelog: 2022.11.21...2023.04.22
2022.11.21 🦃
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 apathlib.Path
for the command (#649)- Document
nox.session.run
'sstdout
andstderr
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:
2022.8.7 🧚
We'd like to thank the following folks who contributed to this release:
- @CN-M
- @crwilcox
- @DiddiLeija
- @edgarrmondragon
- @FollowTheProcess
- @hauntsaninja
- @henryiii
- @johnthagen
- @jwodder
- @ktbarrett
- @mayeut
- @meowmeowmeowcat
- @NickleDave
- @raddessi
- @zhanpon
Removals:
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
todev
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
inload_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 🥳
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:
- @brettcannon
- @cjolowicz
- @dhermes
- @DiddiLeija
- @FollowTheProcess
- @franekmagiera
- @henryiii
- @jugmac00
- @maciej-lech
- @nawatts
- @Tolker-KU
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 theconda
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 theconda
backend on Windows (#535)
Internal changes:
- Replace deprecated
load_module
withexec_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
fromMANIFEST.in
(#505) - Make
setuptools
use the standard library'sdistutils
to work aroundvirtualenv
bug. (#547, #549) - Use
shlex.join()
when logging a command (#490) - Use
shutil.rmtree()
over shelling out torm -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 🎃
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 usingnox -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
, usesetup.cfg
(#456, #457, #458) - Upgrade to mypy 0.902 (#455)
Special thanks to our contributors:
2021.6.12
2021.6.6
- Add option
--no-install
to skip install commands in reused environments. (#432) - Add option
--force-python
as shorthand for--python
and--extra-python
. (#427) - Do not reuse environments if the interpreter or the environment type has changed. (#418, #425, #428)
- Allow common variations in session names with parameters, such as double quotes instead of single quotes. Session names are considered equal if they produce the same Python AST. (#417, #434)
- Preserve the order of parameters in session names. (#401)
- Allow
@nox.parametrize
to select the session Python. (#413) - Allow passing
posargs
when scheduling another session viasession.notify
. (#397) - Prevent sessions from modifying each other's posargs. (#439)
- Add
nox.needs_version
to specify Nox version requirements. (#388) - Add
session.name
to get the session name. (#386) - Gracefully shutdown child processes. (#393)
- Decode command output using the system locale if UTF-8 decoding fails. (#380)
- Fix creation of Conda environments when
venv_params
is used. (#420) - Various improvements to Nox's type annotations. (#376, #377, #378)
- Remove outdated notes on Windows compatibility from the documentation. (#382)
- Increase Nox's test coverage on Windows. (#300)
- Avoid mypy searching for configuration files in other directories. (#402)
- Replace AppVeyor and Travis CI by GitHub Actions. (#389, #390, #403)
- Allow colorlog <7.0.0. (#431)
- Drop contexter from test requirements. (#426)
- Upgrade linters to the latest version. (#438)
2020.12.31
- Fix
NoxColoredFormatter.format
(#374) - Use conda remove to clean up existing conda environments (#373)
- Support users specifying an undeclared parametrization of python via
--extra-python
(#361) - Support double-digit minor version in
python
keyword (#367) - Add
py.typed
tomanifest.in
(#360) - Update nox to latest supported python versions. (#362)
- Decouple merging of
--python
withnox.options
from--sessions
and--keywords
(#359) - Do not merge command-line options in place (#357)