Fix: function definitions with multi-line signatures can now be excluded by
matching any of the lines, closing issue 684. Thanks, Jan Rusak, Maciej Kowalczyk and Joanna Ejzel <pull 1705_>.
Fix: XML reports could fail with a TypeError if files had numeric components
that were duplicates except for leading zeroes, like file1.py and
file001.py. Fixes issue 1709_.
The coverage annotate command used to announce that it would be removed
in a future version. Enough people got in touch to say that they use it, so
it will stay. Don't expect it to keep up with other new features though.
Added new :ref:debug options <cmd_run_debug>:
pytest writes the pytest test name into the debug output.
dataop2 writes the full data being added to CoverageData objects.
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)
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)
Add support for byte-based paths in connect_unix, create_unix_listeners, create_unix_datagram_socket, and create_connected_unix_datagram_socket. (PR by Lura Skye)
Enabled the Event and CapacityLimiter classes to be instantiated outside an event loop thread
Broadly improved/fixed the type annotations. Among other things, many functions and methods that take variadic positional arguments now make use of PEP 646 TypeVarTuple to allow the positional arguments to be validated by static type checkers. These changes affected numerous methods and functions, including:
Fixed various type annotations of anyio.Path to match Typeshed:
anyio.Path.__lt__()
anyio.Path.__le__()
anyio.Path.__gt__()
anyio.Path.__ge__()
anyio.Path.__truediv__()
anyio.Path.__rtruediv__()
anyio.Path.hardlink_to()
anyio.Path.samefile()
anyio.Path.symlink_to()
anyio.Path.with_segments()
(PR by Ganden Schaffner)
Fixed adjusting the total number of tokens in a CapacityLimiter on asyncio failing to wake up tasks waiting to acquire the limiter in certain edge cases (fixed with help from Egor Blagov)
Fixed loop_factory and use_uvloop options not being used on the asyncio backend (#643)
Fixed cancellation propagating on asyncio from a task group to child tasks if the task hosting the task group is in a shielded cancel scope (#642)
This library adheres to Semantic Versioning 2.0 <http://semver.org/>_.
4.2.0
Add support for byte-based paths in connect_unix, create_unix_listeners,
create_unix_datagram_socket, and create_connected_unix_datagram_socket. (PR by
Lura Skye)
Enabled the Event and CapacityLimiter classes to be instantiated outside an
event loop thread
Broadly improved/fixed the type annotations. Among other things, many functions and
methods that take variadic positional arguments now make use of PEP 646
TypeVarTuple to allow the positional arguments to be validated by static type
checkers. These changes affected numerous methods and functions, including:
Fixed various type annotations of anyio.Path to match Typeshed:
anyio.Path.__lt__()
anyio.Path.__le__()
anyio.Path.__gt__()
anyio.Path.__ge__()
anyio.Path.__truediv__()
anyio.Path.__rtruediv__()
anyio.Path.hardlink_to()
anyio.Path.samefile()
anyio.Path.symlink_to()
anyio.Path.with_segments()
(PR by Ganden Schaffner)
Fixed adjusting the total number of tokens in a CapacityLimiter on asyncio failing
to wake up tasks waiting to acquire the limiter in certain edge cases (fixed with help
from Egor Blagov)
Fixed loop_factory and use_uvloop options not being used on the asyncio
backend ([#643](https://github.com/agronholm/anyio/issues/643) <https://github.com/agronholm/anyio/issues/643>_)
Fixed cancellation propagating on asyncio from a task group to child tasks if the task
hosting the task group is in a shielded cancel scope
([#642](https://github.com/agronholm/anyio/issues/642) <https://github.com/agronholm/anyio/issues/642>_)
Avoid duplicate inference results for some uses of typing.X constructs like
Tuple[Optional[int], ...]. This was causing pylint to occasionally omit
messages like deprecated-typing-alias.
This version, Babel 2.14, is the last version of Babel to support Python 3.7. Babel 2.15 will require Python 3.8 or newer.
We had previously announced Babel 2.13 to have been the last version to support Python 3.7, but being able to use CLDR 43 with Python 3.7 was deemed important enough to keep supporting the EOL Python version for one more release.
Possibly backwards incompatible changes
Locale.number_symbols will now have first-level keys for each numbering system. Since the implicit default numbering system still is "latn", what had previously been e.g. Locale.number_symbols['decimal'] is now Locale.number_symbols['latn']['decimal'].
Babel no longer directly depends on either distutils or setuptools; if you had been using the Babel setuptools command extensions, you would need to explicitly depend on setuptools – though given you're running setup.py you probably already do.
* This version, Babel 2.14, is the last version of Babel to support Python 3.7.
Babel 2.15 will require Python 3.8 or newer.
* We had previously announced Babel 2.13 to have been the last version to support
Python 3.7, but being able to use CLDR 43 with Python 3.7 was deemed important
enough to keep supporting the EOL Python version for one more release.
Possibly backwards incompatible changes
Locale.number_symbols will now have first-level keys for each numbering system.
Since the implicit default numbering system still is "latn", what had previously
been e.g. Locale.number_symbols['decimal'] is now Locale.number_symbols['latn']['decimal'].
Babel no longer directly depends on either distutils or setuptools; if you had been
using the Babel setuptools command extensions, you would need to explicitly depend on setuptools –
though given you're running setup.py you probably already do.
Features
* CLDR/Numbers: Add support of local numbering systems for number symbols by @kajte in :gh:`1036`
* CLDR: Upgrade to CLDR 43 by @rix0rrr in :gh:`1043`
* Frontend: Allow last_translator to be passed as an option to extract_message by @AivGitHub in :gh:`1044`
* Frontend: Decouple `pybabel` CLI frontend from distutils/setuptools by @akx in :gh:`1041`
* Numbers: Improve parsing of malformed decimals by @Olunusib and @akx in :gh:`1042`
Infrastructure
Enforce trailing commas (enable Ruff COM rule and autofix) by @akx in :gh:1045
CI: use GitHub output formats by @akx in :gh:1046
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 python-packages group with 8 updates:
7.3.2
7.3.3
3.0.2
3.0.3
23.11.0
23.12.0
23.12.1
23.12.3
4.1.0
4.2.0
3.0.1
3.0.2
2.13.1
2.14.0
4.1.1
4.1.2
Updates
coverage
from 7.3.2 to 7.3.3Changelog
Sourced from coverage's changelog.
Commits
7270c53
docs: sample HTML for 7.3.33d4c940
docs: prep for 7.3.3be28121
fix: leading zeros can confuse human sorting. #17091adda03
docs: a little more in the quick start about what will be measured. #17076a9766e
docs: remove deprecation notice fromannotate
docse0a550b
fix: undeprecatecoverage annotate
05b47a3
build(deps): bump actions/setup-python from 4 to 5470e086
docs: two more contributors from #17054c4644e
build: add last commit to .git-blame-ignore-revs5d0b5d4
style: check_coverage close parens should be on their own lineUpdates
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
black
from 23.11.0 to 23.12.0Release notes
Sourced from black's releases.
Changelog
Sourced from black's changelog.
Commits
d9ad09a
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)61b529b
Allow empty lines at beginning of blocks (again) (#4060)e7e122e
docs: Movefmt: off
docs (#4090)432d905
docs: Unify option descriptions between--help
andthe_basics.md
(#4076)Updates
pontos
from 23.12.1 to 23.12.3Release notes
Sourced from pontos's releases.
Commits
f92fc5d
Automatic release to 23.12.32e3fe01
Change: Performance improvement for parsing CPEs4f62b35
Deps: Bump the actions group with 1 update0a57d29
Automatic adjustments after release42bb570
Automatic release to 23.12.208462b1
Change: Assume UTC when no offset it specified (#941)cd65b01
Deps: Bump the python-packages group with 4 updates6d2df67
Automatic adjustments after releaseUpdates
anyio
from 4.1.0 to 4.2.0Release notes
Sourced from anyio's releases.
Changelog
Sourced from anyio's changelog.
... (truncated)
Commits
f757314
Bumped up the versionfe31dd5
Added Litestar to the downstream test suiteb7be190
Updated GitHub actions45b9ece
Rearranged the changelog0b66994
Fix morePath
typing that doesn't match Typeshed (#653)e5fadb3
Added mention of anyio.from_thread.run_sync() to the changelog89795b9
Used TypeVarTuple and ParamSpec in several places (#652)3a4ec47
Removed the pyright version pin28516e2
Enabled Event and CapacityLimiter to be instantiated outside an event loop (#...44ca5ea
Fixed cancellation propagation when task group host is in a shielded scope (#...Updates
astroid
from 3.0.1 to 3.0.2Changelog
Sourced from astroid's changelog.
Commits
e6dea9c
Bump astroid to 3.0.2, update changelog (#2343)7cad63a
Avoid duplicate inference results forTuple[Optional[int], ...]
(#2340) (#2...d57c912
Disable test_crypt_brain on Python >= 3.13 (#2328) (#2329)d511533
Avoid changing release numberUpdates
babel
from 2.13.1 to 2.14.0Release notes
Sourced from babel's releases.
Changelog
Sourced from babel's changelog.
Commits
a8505a4
Prepare for 2.14.0 release (#1047)946efcd
Improve parsing of malformed decimals (#1042)aca7663
Add support for non-Latin numbering systems for number symbols (#1036)d4e65e2
Allow last_translator to be passed as an option to extract_message (#1044)5dff607
CI: use GitHub output formats (#1046)8a1eef5
Enforce trailing commas (enable Ruff COM rule and autofix) (#1045)bf7b2ca
Decouplepybabel
frontend from distutils/setuptools; remove dependency (#1041)a6c52b3
Bump CLDR download script to 43 (#1043)Updates
bcrypt
from 4.1.1 to 4.1.2Commits
b9223e6
Try building py39 wheels to see if that helps with reinitialization errors (#...5049783
Bump syn from 2.0.40 to 2.0.41 in /src/_bcrypt (#696)642d070
Bump syn from 2.0.39 to 2.0.40 in /src/_bcrypt (#693)8b44a10
Bump libc from 0.2.150 to 0.2.151 in /src/_bcrypt (#692)951cc64
Bump once_cell from 1.18.0 to 1.19.0 in /src/_bcrypt (#690)7377c6d
Bump actions/setup-python from 4.8.0 to 5.0.0 (#689)61b3203
Bump actions/setup-python from 4.7.1 to 4.8.0 (#688)1c3159a
Fixed wheels for older versions of macOS (#687)1a41437
Update README.rst (#682)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