main
test: use hex escapes for non-ASCII filename literal
Fix missing traceback source for code with cwd-relative filenames (#14744)
fixtures: reorder parametrized tests by param value, not index (#14746)
RFC: from __future__ import annotations + migrate
fix: satisfy mypy 2.3.0 [deprecated] and [unreachable] checks
[perf] Make ``PrettyPrinter`` format lazily so output can be budget-capped (#14588)
Reject negative log_auto_indent values (#14586)
Apply filterwarnings whilst importing plugins
[pre-commit.ci] pre-commit autoupdate
fixtures: turn requesting async fixture without a plugin into a hard error
Address review: empty dev extra, drop redundant filters
Register assertion_text_diff_style with its Literal alias
Fix elision of long collections in assertion messages with -vv (#14748)
testing: avoid legacy forms of `warns`, `raises`, `deprecated_call`
Fix capteesys producing doubled output with --capture=no (#14205)
Rename test helper
Merge pull request #14360 from pytest-dev/pre-commit-ci-update-config
compat: add compat for `@warnings.deprecated`
Merge pull request #14807 from RonnyPfannschmidt/refactor/config-file-dispatch
Merge remote-tracking branch 'upstream/main' into fix/doctest-namespace-not-loaded-outside-rootdir
fix: validate -c/--config-file and read [pytest] from custom TOML files
feat: introduce a legend for - and + in diff outputs (#14756)
Make it possible for faulthandler to terminate the pytest process on timeout (#13679)
Accept type expressions in Parser.addini(type=...) (#14751)
Register junit_duration_report with a Literal type
Merge pull request #13704 from bluetech/overlapping-collection-args
Register empty_parameter_set_mark with a Literal type
mark/expression: fix scanner - search for backslash in string value, not entire input (#14475)
nodes: remove deprecated `fspath` Node constructor parameter
Reject implicit option destination conflicts (#14661)
pastebin: deprecate `--pastebin`
pathlib: remove `module_location` parameter of `_import_module_using_spec`
Consider entry points for PYTEST_PLUGINS and pytest_plugins (#14752)
config: generalize from INI format
Fix pytest.warns re-emitting warnings with module="warnings" (#14747)
Rename `python_api.py` to `approx.py`
runner: correctly cleanup item _request/funcargs if an exception was reraised during call (e.g. KeyboardInterrupt)
Add a space after the test name with --setup-show (#14430)
Show cache age instead of update date
subtests: avoid double `saferepr()` (#14213)
Register console_output_style with a Literal type
testing: Explicitly pass `-Werror` to tests needing it
Register tmp_path_retention_policy with a Literal type
doc,testing: fix `scope="class"` instance methods
Surface filter-promoted unraisable warnings directly (#14263) (#14499)
Comply with new lint rule for unused variables
mark/structures: undo non-collection-argvalues type-check time deprecation due to mypy bug
Remove support for Python 3.9