Sourced from pytest's releases.
6.0.0
pytest 6.0.0 (2020-07-28)
(Please see the full set of changes for this release also in the 6.0.0rc1 notes below)
Breaking Changes
#5584: PytestDeprecationWarning are now errors by default.
Following our plan to remove deprecated features with as little disruption as possible, all warnings of type
PytestDeprecationWarning
now generate errors instead of warning messages.The affected features will be effectively removed in pytest 6.1, so please consult the Deprecations and Removals section in the docs for directions on how to update existing code.
In the pytest
6.0.X
series, it is possible to change the errors back into warnings as a stopgap measure by adding this to yourpytest.ini
file:[pytest] filterwarnings = ignore::pytest.PytestDeprecationWarning
But this will stop working when pytest
6.1
is released.If you have concerns about the removal of a specific feature, please add a comment to #5584.
#7472: The
exec_()
andis_true()
methods of_pytest._code.Frame
have been removed.Features
- #7464: Added support for NO_COLOR and FORCE_COLOR environment variables to control colored output.
Improvements
- #7467:
--log-file
CLI option andlog_file
ini marker now create subdirectories if needed.- #7489: The pytest.raises function has a clearer error message when
match
equals the obtained string but is not a regex match. In this case it is suggested to escape the regex.Bug Fixes
- #7392: Fix the reported location of tests skipped with
@pytest.mark.skip
when--runxfail
is used.
Sourced from pytest's changelog.
41a4539
Add link to 6.0.0rc1 changelog45ced1d
Update doc/en/announce/release-6.0.0.rst1e4b8d4
Prepare release version 6.0.03802982
Support generating major releases using issue comments (#7548)c2c0b7a
Merge pull request #7545 from asottile/pylib_in_docs9818899
remove usage of pylib in docs3a060b7
Revert change to traceback repr (#7535)7ec6401
Change pytest deprecation warnings into errors for 6.0 release (#7362)a9799f0
Merge pull request #7531 from bluetech/changelog-mypy-version102360b
Merge pull request #7519 from hroncok/pytest_warning_captured_deprecatedSourced from black's changelog.
20.8b1
Packaging
- explicitly depend on Click 7.1.2 or newer as
Black
no longer works with versions older than 7.020.8b0
Black
re-implemented support for explicit trailing commas: now it works consistently within any bracket pair, including nested structures (#1288 and duplicates)
Black
now reindents docstrings when reindenting code around it (#1053)
Black
now shows colored diffs (#1266)
Black
is now packaged using 'py3' tagged wheels (#1388)
Black
now supports Python 3.8 code, e.g. star expressions in return statements (#1121)
Black
no longer normalizes capital R-string prefixes as those have a community-accepted meaning (#1244)
Black
now uses exit code 2 when specified configuration file doesn't exit (#1361)
Black
now works on AWS Lambda (#1141)added
--force-exclude
argument (#1032)removed deprecated
--py36
option (#1236)fixed
--diff
output when EOF is encountered (#526)fixed
# fmt: off
handling around decorators (#560)fixed unstable formatting with some
# type: ignore
comments (#1113)fixed invalid removal on organizing brackets followed by indexing (#1575)
introduced
black-primer
, a CI tool that allows us to run regression tests against existing open source users of Black (#1402)introduced property-based fuzzing to our test suite based on Hypothesis and Hypothersmith (#1566)
implemented experimental and disabled by default long string rewrapping (#1132), hidden under a
--experimental-string-processing
flag while it's being worked on;
Sourced from pytest's releases.
6.1.0
pytest 6.1.0 (2020-09-26)
Breaking Changes
#5585: As per our policy, the following features which have been deprecated in the 5.X series are now removed:
- The
funcargnames
read-only property ofFixtureRequest
,Metafunc
, andFunction
classes. Usefixturenames
attribute.@pytest.fixture
no longer supports positional arguments, pass all arguments by keyword instead.- Direct construction of
Node
subclasses now raise an error, usefrom_parent
instead.- The default value for
junit_family
has changed toxunit2
. If you require the old format, addjunit_family=xunit1
to your configuration file.- The
TerminalReporter
no longer has awriter
attribute. Plugin authors may use the public functions of theTerminalReporter
instead of accessing theTerminalWriter
object directly.- The
--result-log
option has been removed. Users are recommended to use the pytest-reportlog plugin instead.For more information consult Deprecations and Removals in the docs.
Deprecations
#6981: The
pytest.collect
module is deprecated: all its names can be imported frompytest
directly.#7097: The
pytest._fillfuncargs
function is deprecated. This function was kept for backward compatibility with an older plugin.It's functionality is not meant to be used directly, but if you must replace it, use function._request._fillfixtures() instead, though note this is not a public API and may break in the future.
#7210: The special
-k '-expr'
syntax to-k
is deprecated. Use-k 'not expr'
instead.The special
-k 'expr:'
syntax to-k
is deprecated. Please open an issue if you use this and want a replacement.#7255: The pytest_warning_captured <_pytest.hookspec.pytest_warning_captured> hook is deprecated in favor of pytest_warning_recorded <_pytest.hookspec.pytest_warning_recorded>, and will be removed in a future version.
#7648: The
gethookproxy()
andisinitpath()
methods ofFSCollector
andPackage
are deprecated; useself.session.gethookproxy()
andself.session.isinitpath()
instead. This should work on all pytest versions.Features
- #7667: New
--durations-min
command-line flag controls the minimal duration for inclusion in the slowest list of tests shown by--durations
. Previously this was hard-coded to0.005s
.Improvements
Sourced from pytest's changelog.
868bc00
Prepare release version 6.1.00b327cc
Merge pull request #7796 from bluetech/changelog-cleanupsd3c746e
changelog: some consistency cleanupsd3f47bf
Improved 'Declaring new hooks' section in docs. (#7782)3db2489
Merge pull request #7784 from nicoddemus/use-new-pip-solver-77838215625
Use new pip resolver in plugins tox env5cfd7c0
Merge pull request #7780 from bluetech/finala99ca87
Mark some public and to-be-public classes as @final
050c2df
Use multiple issue template types and mention Discussions (#7739)cdfdb3a
Add docs about reusing fixtures from other projects (#7772)Sourced from janus's changelog.
Changes
0.5.0 (2020-04-23)
- Remove explicit loop arguments and forbid creating queues outside event loops #246
0.4.0 (2018-07-28)
- Add
py.typed
macro #89- Drop python 3.4 support and fix minimal version python3.5.3 #88
- Add property with that indicates if queue is closed #86
0.3.2 (2018-07-06)
- Fixed python 3.7 support #97
0.3.1 (2018-01-30)
- Fixed bug with join() in case tasks are added by sync_q.put() #75
0.3.0 (2017-02-21)
- Expose unfinished_tasks property #34
0.2.4 (2016-12-05)
- Restore tarball deploying
0.2.3 (2016-07-12)
- Fix exception type
0.2.2 (2016-07-11)
- Update asyncio.async() to use asyncio.ensure_future() #6
0.2.1 (2016-03-24)
- Fix python setup.py test command #4
d186724
Fix yamldbb2d7b
Fix deploy script18df625
Bump to 0.6.0a50b7ec
Test on ubuntu only, the library has no platform specific dependenciesb599d94
Fix workflow9897fca
Setup github workflowscde6918
Drop Python 3.5, test on Python 3.9, format with black/isort5f04d79
Support Python 3.9 officiallyac23eb7
janus: remove unused type ignores (#287)0da8f95
Make all tests non-skipped againSourced from asgiref's changelog.
3.3.0 (2020-10-09)
- sync_to_async now defaults to thread-sensitive mode being on
- async_to_sync now works inside of forked processes
- WsgiToAsgi now correctly clamps its response body when Content-Length is set
3.2.10 (2020-08-18)
- Fixed bugs due to bad WeakRef handling introduced in 3.2.8
3.2.9 (2020-06-16)
- Fixed regression with exception handling in 3.2.8 related to the contextvars fix.
3.2.8 (2020-06-15)
- Fixed small memory leak in local.Local
- contextvars are now persisted through AsyncToSync
3.2.7 (2020-03-24)
- Bug fixed in local.Local where deleted Locals would occasionally inherit their storage into new Locals due to memory reuse.
3.2.6 (2020-03-23)
- local.Local now works in all threading situations, no longer requires periodic garbage collection, and works with libraries that monkeypatch threading (like gevent)
3.2.5 (2020-03-11)
- self is now preserved on methods by async_to_sync
3.2.4 (2020-03-10)
7dba5ff
Releasing 3.3.0e1e0dd9
Added ZeroCopy extension3834d13
Added rpc.py to Implementations (#198)03b0dbb
Clamped WsgiToAsgi response body using Content-Length valuecfd82e4
Fix linting with unused import removalcc1877e
Fix import sorting in previous commit.7becc9d
Making thread_sensitive=True the default66a6e68
Fixed #194: Made async_to_sync work inside a fork4ab9d8e
Fixed #193: Bumped docs version to 3.01c9d063
Clarified "Optional" meaning (#190)b4482ae
0.6.0eaccd3e
Update Changelog2de90cf
Test on 3.962b4c27
Update .travis.yml4083c73
Removed pypy3 for ppc64le26e795b
Update .travis.ymlbd154cf
Update .travis.yml7ae0e2a
Update .travis.yml84eeb6c
Update .travis.ymlc48f5b0
Proxy name and mode propertiesSourced from pytest's releases.
6.2.0
pytest 6.2.0 (2020-12-12)
Breaking Changes
- #7808: pytest now supports python3.6+ only.
Deprecations
#7469: Directly constructing/calling the following classes/functions is now deprecated:
_pytest.cacheprovider.Cache
_pytest.cacheprovider.Cache.for_config()
_pytest.cacheprovider.Cache.clear_cache()
_pytest.cacheprovider.Cache.cache_dir_from_config()
_pytest.capture.CaptureFixture
_pytest.fixtures.FixtureRequest
_pytest.fixtures.SubRequest
_pytest.logging.LogCaptureFixture
_pytest.pytester.Pytester
_pytest.pytester.Testdir
_pytest.recwarn.WarningsRecorder
_pytest.recwarn.WarningsChecker
_pytest.tmpdir.TempPathFactory
_pytest.tmpdir.TempdirFactory
These have always been considered private, but now issue a deprecation warning, which may become a hard error in pytest 7.0.0.
#7530: The
--strict
command-line option has been deprecated, use--strict-markers
instead.We have plans to maybe in the future to reintroduce
--strict
and make it an encompassing flag for all strictness related options (--strict-markers
and--strict-config
at the moment, more might be introduced in the future).#7988: The
@pytest.yield_fixture
decorator/function is now deprecated. Use pytest.fixture instead.
yield_fixture
has been an alias forfixture
for a very long time, so can be search/replaced safely.Features
#5299: pytest now warns about unraisable exceptions and unhandled thread exceptions that occur in tests on Python>=3.8. See unraisable for more information.
#7425: New pytester fixture, which is identical to testdir but its methods return pathlib.Path when appropriate instead of
py.path.local
.This is part of the movement to use pathlib.Path objects internally, in order to remove the dependency to
py
in the future.Internally, the old Testdir <_pytest.pytester.Testdir> is now a thin wrapper around Pytester <_pytest.pytester.Pytester>, preserving the old interface.
Sourced from pytest's changelog.
e7073af
Prepare release version 6.2.0683f29f
Merge pull request #8129 from bluetech/docs-pygments-workaround0feeddf
doc: temporary workaround for pytest-pygments lexing errorb478275
Merge pull request #8128 from bluetech/skip-reason-empty3302ff9
terminal: when the skip/xfail is empty, don't show it as "()"59bd0f6
Merge pull request #8126 from bluetech/tox-regen-pretend-scm26298ff1
tox: use pip legacy resolver for regen jobd51ecbd
Merge pull request #8125 from bluetech/tox-rm-pip-reqf237b07
tox: remove requires: pip>=20.3.195e0e19
Merge pull request #8124 from bluetech/s0undt3ch-feature/skip-context-hook