Fixed a bug that included dependencies from the d extra by default (#4108)
23.12.0
Highlights
It's almost 2024, which means it's time for a new edition of Black's stable style!
Together with this release, we'll put out an alpha release 24.1a1 showcasing the draft
2024 stable style, which we'll finalize in the January release. Please try it out and
share your feedback.
This release (23.12.0) will still produce the 2023 style. Most but not all of the
changes in --preview mode will be in the 2024 stable style.
Stable style
Fix bug where # fmt: off automatically dedents when used with the --line-ranges
option, even when it is not within the specified line range. (#4084)
Fix feature detection for parenthesized context managers (#4104)
Preview style
Prefer more equal signs before a break when splitting chained assignments (#4010)
Standalone form feed characters at the module level are no longer removed (#4021)
Additional cases of immediately nested tuples, lists, and dictionaries are now
indented less (#4012)
Allow empty lines at the beginning of all blocks, except immediately before a
docstring (#4060)
Fix crash in preview mode when using a short --line-length (#4086)
Keep suites consisting of only an ellipsis on their own lines if they are not
functions or class definitions (#4066) (#4103)
Configuration
--line-ranges now skips Black's internal stability check in --safe mode. This
avoids a crash on rare inputs that have many unformatted same-content lines. (#4034)
Fixed a bug that included dependencies from the d extra by default (#4108)
23.12.0
Highlights
It's almost 2024, which means it's time for a new edition of Black's stable style!
Together with this release, we'll put out an alpha release 24.1a1 showcasing the draft
2024 stable style, which we'll finalize in the January release. Please try it out and
share your feedback.
This release (23.12.0) will still produce the 2023 style. Most but not all of the
changes in --preview mode will be in the 2024 stable style.
Stable style
Fix bug where # fmt: off automatically dedents when used with the --line-ranges
option, even when it is not within the specified line range. (#4084)
Fix feature detection for parenthesized context managers (#4104)
Preview style
Prefer more equal signs before a break when splitting chained assignments (#4010)
Standalone form feed characters at the module level are no longer removed (#4021)
Additional cases of immediately nested tuples, lists, and dictionaries are now
indented less (#4012)
Allow empty lines at the beginning of all blocks, except immediately before a
docstring (#4060)
Fix crash in preview mode when using a short --line-length (#4086)
Keep suites consisting of only an ellipsis on their own lines if they are not
functions or class definitions (#4066) (#4103)
Configuration
--line-ranges now skips Black's internal stability check in --safe mode. This
avoids a crash on rare inputs that have many unformatted same-content lines. (#4034)
We’ve just uploaded mypy 1.8 to the Python Package Index (PyPI). Mypy is a static type checker for Python. This release includes new features, performance improvements and bug fixes. You can install it as follows:
python3 -m pip install -U mypy
You can read the full documentation for this release on Read the Docs.
Type-checking Improvements
Do not intersect types in isinstance checks if at least one is final (Christoph Tyralla, PR 16330)
Detect that @final class without __bool__ cannot have falsey instances (Ilya Priven, PR 16566)
Do not allow TypedDict classes with extra keywords (Nikita Sobolev, PR 16438)
Do not allow class-level keywords for NamedTuple (Nikita Sobolev, PR 16526)
Make imprecise constraints handling more robust (Ivan Levkivskyi, PR 16502)
Fix strict-optional in extending generic TypedDict (Ivan Levkivskyi, PR 16398)
Allow type ignores of PEP 695 constructs (Shantanu, PR 16608)
Enable type_check_only support for TypedDict and NamedTuple (Nikita Sobolev, PR 16469)
Performance Improvements
Add fast path to analyzing special form assignments (Jukka Lehtosalo, PR 16561)
Improvements to Error Reporting
Don't show documentation links for plugin error codes (Ivan Levkivskyi, PR 16383)
Improve error messages for super checks and add more tests (Nikita Sobolev, PR 16393)
#11140: Fix non-string constants at the top of file being detected as docstrings on Python>=3.8.
#11572: Handle an edge case where sys.stderr{.interpreted-text role="data"} and sys.__stderr__{.interpreted-text role="data"} might already be closed when faulthandler{.interpreted-text role="ref"} is tearing down.
#11710: Fixed tracebacks from collection errors not getting pruned.
#7966: Removed unhelpful error message from assertion rewrite mechanism when exceptions are raised in __iter__ methods. Now they are treated un-iterable instead.
Improved Documentation
#11091: Updated documentation to refer to hyphenated options: replaced --junitxml with --junit-xml and --collectonly with --collect-only.
qapp now sets up the QApplication instance with a command line argument like this
QApplication([prog_name]) instead of using an empty list QApplication([]).
Here prog_name is the name of the app which defaults to pytest-qt-app, but can
be redefined in the pytest.ini file, see :ref:qapp fixture<setting-qapp-name>.
Alternatively, the arguments that will be passed to QApplication can be defined
explicitly using the qapp_args fixture. This means that the default behavior of
the qapp_args fixture is now also changed accordingly: it now returns the list
[prog_name] instead of an empty list. Thanks to @The-Compiler_ ([#483](https://github.com/pytest-dev/pytest-qt/issues/483)) and
@hakonhagland ([#515](https://github.com/pytest-dev/pytest-qt/issues/515)_).
Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.
Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it
- `@dependabot merge` will merge this PR after your CI passes on it
- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it
- `@dependabot cancel merge` will cancel a previously requested merge and block automerging
- `@dependabot reopen` will reopen this PR if it is closed
- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
- `@dependabot show ignore conditions` will show all of the ignore conditions of the specified dependency
- `@dependabot ignore major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
- `@dependabot ignore minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
- `@dependabot ignore ` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
- `@dependabot unignore ` will remove all of the ignore conditions of the specified dependency
- `@dependabot unignore ` will remove the ignore condition of the specified dependency and ignore conditions
Bumps the compatible-dependencies group with 6 updates:
23.11.0
23.12.1
1.7.1
1.8.0
3.5.0
3.6.0
3.0.2
3.0.3
7.4.3
7.4.4
4.2.0
4.3.1
Updates
black
from 23.11.0 to 23.12.1Release notes
Sourced from black's releases.
Changelog
Sourced from black's changelog.
... (truncated)
Commits
ec91a2b
Prepare release 23.12.1 (#4124)8fec1c3
Adds paren to deps for hidden extra constraint (#4108)35ce37d
Add new changelog templated9ad09a
Prepare release 23.12.0 (#4105)ebd543c
Fix feature detection for parenthesized context managers (#4104)eb7661f
Fix another case where we format dummy implementation for non-functions/class...0c98999
Fix path in test message (#4102)9aea976
Only use dummy implementation logic for functions and classes (#4066)67b23d7
Bump actions/setup-python from 4 to 5 (#4101)ce28be2
Add dedicated preview feature for East Asian Width (#4097)Updates
mypy
from 1.7.1 to 1.8.0Changelog
Sourced from mypy's changelog.
... (truncated)
Commits
3b46750
remove +dev suffix from versionc9bc833
Fix tests broken by hatchling (#16655)60d30e3
Fix crash with type alias toCallable[[Unpack[Tuple[Any, ...]]], Any]
(#16541)f53f422
Allow type ignores of PEP 695 constructs (#16608)7c33e7c
@final
class without bool cannot have falsey instances (#16566)c224da5
Do not intersect types in isinstance checks if at least one is final (#16330)d54cc35
Change example in test cases with no stubs available (#16513)eb1ee97
Update hashes insync-typeshed.py
following recent typeshed sync (#16600)344298e
Revert use ofParamSpec
forfunctools.wraps
3e5d813
Revert typeshed ctypes changeUpdates
pre-commit
from 3.5.0 to 3.6.0Release notes
Sourced from pre-commit's releases.
Changelog
Sourced from pre-commit's changelog.
Commits
9c9983d
v3.6.07dc0a59
Merge pull request #3093 from pre-commit/removeprefixd3fa7f4
Merge pull request #3092 from pre-commit/minimum-version-first08478ec
python 3.9+: use removeprefix047439a
attempt minimum_pre_commit_version first when parsing configs23a2b73
Merge pull request #3079 from edgarrmondragon/deprecation-rmtree-onerrorcffabe5
Address deprecation warning inshutil.rmtree(onerror=...)
51df34e
Merge pull request #3078 from pre-commit/pre-commit-ci-update-confige36cefc
[pre-commit.ci] pre-commit autoupdate2280645
Merge pull request #3064 from pre-commit/pre-commit-ci-update-configUpdates
pylint
from 3.0.2 to 3.0.3Commits
1a5ffc1
Bump pylint to 3.0.3, update changelog54687e7
Disallow isort 5.13.0 (#9290) (#9292)fea5483
[wrong-exception-operation] Fix FP for tuple concatenation of exception types...d0d5c91
[pointless-string-statement] Ignore docstrings on py3.12 type aliases (#9269)...81f0f2e
[Backport maintenance/3.0.x] [bugfix] Find files with ./ as input with a __in...7f01d83
Fix doc generation in implicit-str-concata60ddd1
Fix incorrect suggestion for unnecessary-comprehension (#9172) (#9242)dc11223
[todos] Fix the todos version and the warnings' text (#9202) (#9204)0273db7
Fix false positive forunnecessary-lambda
. (#9149) (#9200)53d4541
Fixundefined-variable
etc for Python 3.12 generic type syntax (#9195) (#9199)Updates
pytest
from 7.4.3 to 7.4.4Release notes
Sourced from pytest's releases.
Commits
33f694f
Prepare release version 7.4.476c107c
Merge pull request #11751 from bluetech/backport-11143-to-7.4.x531d76d
[7.4.x] Improve reporting from iter exceptions (#11749)a0f58fa
Merge pull request #11143 from tushar-deepsource/patch-1b1f3387
[7.4.x] #11091: documentation should use hypthonated properties (#11750)2cdd619
Merge pull request #11747 from pytest-dev/backport-11711-to-7.4.xd06c05b
[7.4.x] nodes: fix tracebacks from collection errors are not getting pruned5582bfc
[7.4.x] Improves clarity in Sphinx documentation for function signature. (#11...13024ef
[7.4.x] Fix for operation on closed file in faulthandler teardown (#11631)a40dacf
[7.4.x] XFAIL TestLocalPath.test_make_numbered_dir_multiprocess_safe (#11616)Updates
pytest-qt
from 4.2.0 to 4.3.1Changelog
Sourced from pytest-qt's changelog.
Commits
063ada2
Use an environment for deploy9ca5a8c
Release 4.3.08c3bcce
Merge pull request #533 from nicoddemus/drop-py37-add-py312ea2cb69
PySide 2 is not installable on Python 3.124982bde
Simplify build matrix948595e
Use hynek/build-and-inspect-python-package for packaginge17ac22
Skip test_exceptions_dont_leak on Python 3.12 (#532)f0af0e9
Drop Python 3.7 and add official 3.12 support8eaca31
Rename main workflow to testd72ae76
[pre-commit.ci] pre-commit autoupdateDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase
.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot show