Sourced from furo's changelog.
Changelog
2022.09.15 -- Pragmatic Pistachio
- Add a minimum version constraint on pygments.
- Add an explicit dependency on
sass
.- Change right sidebar title from "Contents" to "On this page".
- Correctly position sidebars on small screens.
- Correctly select only Furo's own
svg
in related pagesnav
.- Make numpy-style documentation headers consistent.
- Retitle the reference section.
- Update npm dependencies.
2022.06.21 -- Opulent Opal
- Fix
docutils <= 0.17.x
compatibility.- Bump to the latest Node.js LTS.
2022.06.04.1 -- Naughty Nickel bugfix
- Fix the URL used in the "Edit this page" for Read the Docs builds.
2022.06.04 -- Naughty Nickel
- ✨ Advertise Sphinx 5 compatibility.
- ✨ Change to
basic-ng
as the base theme (from {pypi}sphinx-basic-ng
).- Document site-wide announcement banners.
- Drop the pin on pygments.
- Improve edit button, using
basic-ng
'sedit-this-page
component.- Tweak headings to better match what users expect.
- Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
- When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
2022.04.07 -- Magical Mauve
- ✨ Make sphinx-copybutton look better.
- Add margin to indentations in line blocks.
- Add styling for non-arabic list styles
- Add support for
html_baseurl
.
... (truncated)
08e6b38
Prepare release: 2022.09.159de7613
Update changeloga064929
Tweak changelog content style46f4adc
Revert "Add initial theme.conf content for eventual ablog support"45b839b
Set a minimum constraint on pygmentsa4af988
[pre-commit.ci] pre-commit autoupdate (#518)a72186f
[pre-commit.ci] pre-commit autoupdate (#504)9f41ee6
Add initial theme.conf content for eventual ablog support75e0361
Make numpy-style documentation headers consistent9d280e6
[pre-commit.ci] pre-commit autoupdate (#487)Sourced from black's releases.
22.8.0
Highlights
- Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
- This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
- Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)
Stable style
- Fix an infinite loop when using
# fmt: on/off
in the middle of an expression or code block (#3158)- Fix incorrect handling of
# fmt: skip
on colon (:
) lines (#3148)- Comments are no longer deleted when a line had spaces removed around power operators (#2874)
Preview style
- Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
--skip-string-normalization
/-S
now prevents docstring prefixes from being normalized as expected (#3168)- When using
--skip-magic-trailing-comma
or-C
, trailing commas are stripped from subscript expressions with more than 1 element (#3209)- Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)
Blackd
blackd
now supports enabling the preview style via theX-Preview
header (#3217)Configuration
- Black now uses the presence of debug f-strings to detect target version (#3215)
- Fix misdetection of project root and verbose logging of sources in cases involving
--stdin-filename
(#3216)- Immediate
.gitignore
files in source directories given on the command line are now also respected, previously only.gitignore
files in the project root and automatically discovered directories were respected (#3237)Documentation
- Recommend using BlackConnect in IntelliJ IDEs (#3150)
Integrations
- Vim plugin: prefix messages with
Black:
so it's clear they come from Black (#3194)- Docker: changed to a /opt/venv installation + added to PATH to be available to non-root users (#3202)
Output
- Change from deprecated
asyncio.get_event_loop()
to create our event loop which removes DeprecationWarning (#3164)- Remove logging from internal
blib2to3
library since it regularly emits error logs about failed caching that can and should be ignored (#3193)Parser
- Type comments are now included in the AST equivalence check consistently so accidental deletion raises an error. Though type comments can't be tracked when running on PyPy 3.7 due to standard library limitations. (#2874)
Performance
... (truncated)
Sourced from black's changelog.
22.8.0
Highlights
- Python 3.11 is now supported, except for blackd as aiohttp does not support 3.11 as of publishing (#3234)
- This is the last release that supports running Black on Python 3.6 (formatting 3.6 code will continue to be supported until further notice)
- Reword the stability policy to say that we may, in rare cases, make changes that affect code that was not previously formatted by Black (#3155)
Stable style
- Fix an infinite loop when using
# fmt: on/off
in the middle of an expression or code block (#3158)- Fix incorrect handling of
# fmt: skip
on colon (:
) lines (#3148)- Comments are no longer deleted when a line had spaces removed around power operators (#2874)
Preview style
- Single-character closing docstring quotes are no longer moved to their own line as this is invalid. This was a bug introduced in version 22.6.0. (#3166)
--skip-string-normalization
/-S
now prevents docstring prefixes from being normalized as expected (#3168)- When using
--skip-magic-trailing-comma
or-C
, trailing commas are stripped from subscript expressions with more than 1 element (#3209)- Implicitly concatenated strings inside a list, set, or tuple are now wrapped inside parentheses (#3162)
- Fix a string merging/split issue when a comment is present in the middle of implicitly concatenated strings on its own line (#3227)
Blackd
blackd
now supports enabling the preview style via theX-Preview
header (#3217)Configuration
- Black now uses the presence of debug f-strings to detect target version (#3215)
- Fix misdetection of project root and verbose logging of sources in cases involving
--stdin-filename
(#3216)- Immediate
.gitignore
files in source directories given on the command line are now also respected, previously only.gitignore
files in the project root and automatically discovered directories were respected (#3237)Documentation
- Recommend using BlackConnect in IntelliJ IDEs (#3150)
Integrations
... (truncated)
2018e66
Prepare docs for release 22.8.0 (#3248)0019261
Update stable branch after publishing to PyPI (#3223)7757078
Improve & update release process to reflect recent changes (#3242)767604e
Use .gitignore files in the initial source directories (#3237)2c90480
Use strict mypy checking (#3222)ba618a3
Add parens around implicit string concatenations where it increases readabili...c0cc19b
Delay worker count determinationafed2c0
Load .gitignore and exclude regex at time of usee269f44
Lazily import parallelized format modulesc47b91f
Fix misdetection of project root with --stdin-filename
(#3216)Sourced from jinja2's releases.
3.1.0
This is a feature release, which includes new features and removes previously deprecated features. The 3.1.x branch is now the supported bugfix branch, the 3.0.x branch has become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades. We also encourage upgrading to MarkupSafe 2.1.1, the latest version at this time.
Sourced from jinja2's changelog.
Version 3.1.0
Released 2022-03-24
Drop support for Python 3.6. :pr:
1534
Remove previously deprecated code. :pr:
1544
WithExtension
andAutoEscapeExtension
are built-in now.contextfilter
andcontextfunction
are replaced bypass_context
.evalcontextfilter
andevalcontextfunction
are replaced bypass_eval_context
.environmentfilter
andenvironmentfunction
are replaced bypass_environment
.Markup
andescape
should be imported from MarkupSafe.- Compiled templates from very old Jinja versions may need to be recompiled.
- Legacy resolve mode for
Context
subclasses is no longer supported. Overrideresolve_or_missing
instead ofresolve
.unicode_urlencode
is renamed tourl_quote
.Add support for native types in macros. :issue:
1510
The
{% trans %}
tag can usepgettext
andnpgettext
by passing a context string as the first token in the tag, like{% trans "title" %}
. :issue:1430
Update valid identifier characters from Python 3.6 to 3.7. :pr:
1571
Filters and tests decorated with
@async_variant
are pickleable. :pr:1612
Add
items
filter. :issue:1561
Subscriptions (
[0]
, etc.) can be used after filters, tests, and calls when the environment is in async mode. :issue:1573
The
groupby
filter is case-insensitive by default, matching other comparison filters. Added thecase_sensitive
parameter to control this. :issue:1463
Windows drive-relative path segments in template names will not result in
FileSystemLoader
andPackageLoader
loading from drive-relative paths. :pr:1621
Version 3.0.3
Released 2021-11-09
- Fix traceback rewriting internals for Python 3.10 and 3.11. :issue:
1535
- Fix how the native environment treats leading and trailing spaces when parsing values on Python 3.10. :pr:
1537
... (truncated)
84c0e2c
Merge pull request #1625 from pallets/release-3.1.07b0c47f
release version 3.1.0ede0f98
Merge pull request #1621 from pallets/template-safe-path040088a
use posixpath.join
when loading template namesa292075
Merge pull request #1620 from janfilips/patch-16e4df02
Fix formatting in tricks.rst3a050b1
Merge pull request #1617 from pallets/docs-prose4b63cd8
rewrite include statement sectiona98d482
clean up faq, move technical discussions9de99f8
clean up engine comparisons9d697f5
22.1.06a14491
Update README76f8934
Update test deps885df35
Min Python to 3.7a93206b
Bump poetry to 1.2.0d2eda61
Add missing commab02cf6a
CI tweaks7636eff
Update README.rst9bc662a
Added os scantdir with is't tests and improved the tests for listdir2aefa1e
Added os listdir function with it's testsThis is an experiment.
databases: off: tables: products_from_owners: title: products_from_owners* description_html: |-Description
``` The result for http://xxxx.xxx/-/metadata gives: ```json { ""title"": ""Some title"", ""description_html"": ""This is an experiment.
"", ""databases"": { ""false"": { ""tables"": { ""products_from_owners"": { ""title"": ""products_from_owners*"", ""description_html"": ""Description
"" } } } } } ``` => see the `""false""` instead of `""off""`.",107914493,datasette,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1798/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed 1348394901,PR_kwDOBm6k_c49qmC2,1792,Test `--load-extension` in GitHub Actions,9599,simonw,closed,0,,,,,3,2022-08-23T18:43:29Z,2022-08-24T00:11:46Z,2022-08-24T00:11:45Z,OWNER,simonw/datasette/pulls/1792,"Refs: - #1789 ---- :books: Documentation preview :books:: https://datasette--1792.org.readthedocs.build/en/1792/ ",107914493,datasette,pull,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1792/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",0, 1344823170,PR_kwDOBm6k_c49e3_k,1789,Add new entrypoint option to `--load-extension`,15178711,asg017,closed,0,,,,,9,2022-08-19T19:27:47Z,2022-08-23T18:42:52Z,2022-08-23T18:34:30Z,CONTRIBUTOR,simonw/datasette/pulls/1789,"Closes #1784 The `--load-extension` flag can now accept an optional ""entrypoint"" value, to specify which entrypoint SQLite should load from the given extension. ```bash # would load default entrypoint like before datasette data.db --load-extension ext # loads the extensions with the ""sqlite3_foo_init"" entrpoint datasette data.db --load-extension ext:sqlite3_foo_init # loads the extensions with the ""sqlite3_bar_init"" entrpoint datasette data.db --load-extension ext:sqlite3_bar_init ``` For testing, I added a small SQLite extension in C at `tests/ext.c`. If compiled, then pytest will run the unit tests in `test_load_extensions.py`to verify that Datasette loads in extensions correctly (and loads the correct entrypoints). Compiling the extension requires a C compiler, I compiled it on my Mac with: ``` gcc ext.c -I path/to/sqlite -fPIC -shared -o ext.dylib ``` Where `path/to/sqlite` is a directory that contains the SQLite amalgamation header files. Re documentation: I added a bit to the help text for `--load-extension` (which I believe should auto-add to documentation?), and the existing extension documentation is spatialite specific. Let me know if a new extensions documentation page would be helpful!",107914493,datasette,pull,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1789/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",0, 1339663518,I_kwDOBm6k_c5P2aSe,1784,"Include ""entrypoint"" option on `--load-extension`?",15178711,asg017,closed,0,,,,,2,2022-08-16T00:22:57Z,2022-08-23T18:34:31Z,2022-08-23T18:34:31Z,CONTRIBUTOR,,"## Problem SQLite extensions have the option to define multiple ""entrypoints"" in each loadable extension. For example, the upcoming version of `sqlite-lines` will have 2 entrypoints: the default `sqlite3_lines_init` (which SQLite will automatically guess for) and `sqlite3_lines_noread_init`. The `sqlite3_lines_noread_init` version omits functions that read from the filesystem, which is necessary for security purposes when running untrusted SQL (which Datasette does). (Similar multiple entrypoints will also be added for sqlite-http). The `--load-extension` flag, however, doesn't give the option to specify a different entrypoint, so the default one is always used. ## Proposal I want there to be a new command line option of the `--load-extension` flag to specify a custom entrypoint like so: ``` datasette my.db \ --load-extension ./lines0 sqlite3_lines0_noread_init ``` Then, under the hood, this line of code: https://github.com/simonw/datasette/blob/7af67b54b7d9bca43e948510fc62f6db2b748fa8/datasette/app.py#L562 Would look something like this: ```python conn.execute(""SELECT load_extension(?, ?)"", [extension, entrypoint]) ``` One potential problem: For backward compatibility, I'm not sure if Click allows cli flags to have variable number of options (""arity""). So I guess it could also use a `:` delimiter like `--static`: ``` datasette my.db \ --load-extension ./lines0:sqlite3_lines0_noread_init ``` Or maybe even a new flag name? ``` datasette my.db \ --load-extension-entrypoint ./lines0 sqlite3_lines0_noread_init ``` Personally I prefer the `:` option... and maybe even `--load-extension` -> `--load`? Definitely out of scope for this issue tho ``` datasette my.db \ --load./lines0:sqlite3_lines0_noread_init ```",107914493,datasette,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1784/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed 1334415381,PR_kwDOBm6k_c488nq6,1778,Use Read the Docs action v1,244656,humitos,closed,0,,,,,0,2022-08-10T10:30:50Z,2022-08-20T00:04:17Z,2022-08-20T00:04:17Z,CONTRIBUTOR,simonw/datasette/pulls/1778,"Read the Docs repository was renamed from `readthedocs/readthedocs-preview` to `readthedocs/actions/`. Now, the `preview` action is under `readthedocs/actions/preview` and is tagged as `v1` ---- :books: Documentation preview :books:: https://datasette--1778.org.readthedocs.build/en/1778/ ",107914493,datasette,pull,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1778/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",0, 1343732788,I_kwDOBm6k_c5QF7w0,1788,Make it more obvious that Datasette publish can publish multiple databases,9599,simonw,closed,0,,,,,0,2022-08-18T22:57:51Z,2022-08-18T23:06:16Z,2022-08-18T23:06:16Z,OWNER,,Feedback initially for `datasette-publish-fly` but it applies to the others too.,107914493,datasette,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1788/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed 1343422749,I_kwDOBm6k_c5QEwEd,1787,"Move ""datasette --get"" from Getting Started to CLI Reference",9599,simonw,closed,0,,,,,5,2022-08-18T17:53:39Z,2022-08-18T21:57:09Z,2022-08-18T21:56:21Z,OWNER,,It really shouldn't be here: https://docs.datasette.io/en/0.62/getting_started.html#datasette-get,107914493,datasette,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1787/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed 1084193403,PR_kwDOBm6k_c4wDKmb,1574,introduce new option for datasette package to use a slim base image,33631,fs111,closed,0,,,,,6,2021-12-19T21:18:19Z,2022-08-15T08:49:31Z,2022-08-15T08:49:31Z,NONE,simonw/datasette/pulls/1574,"The official python images on docker hub come with a slim variant that is significantly smaller than the default. The diff does not change the default, but allows to switch to the `slim` variant with commandline switch (`--slim-base-image`) Size comparison: ``` $ datasette package some.db -t fat --install ""datasette-basemap datasette-cluster-map"" $ datasette package some.db -t slim --slim-base-image --install ""datasette-basemap datasette-cluster-map"" $ docker images REPOSITORY TAG IMAGE ID CREATED SIZE fat latest 807b393ace0d 9 seconds ago 978MB slim latest 31bc5e63505c 8 minutes ago 191MB ```",107914493,datasette,pull,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1574/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",0, 1334628400,I_kwDOBm6k_c5PjNAw,1779,google cloudrun updated their limits on maxscale based on memory and cpu count,536941,fgregg,closed,0,,,8303187,Datasette 0.62,13,2022-08-10T13:27:21Z,2022-08-14T19:42:59Z,2022-08-14T17:07:34Z,CONTRIBUTOR,,"if you don't set an explicit limit on container scaling, then [google defaults to 100](https://cloud.google.com/run/docs/configuring/max-instances#limits) google recently updated the [limits on container scaling](https://cloud.google.com/run/docs/configuring/max-instances#limits), such that if you set up datasette to use more memory or cpu, then you need to set the maxScale argument much smaller than 100. would be nice if `datasette publish` could do this math for you and set the right maxScale. [Log of an failing publish run](https://github.com/labordata/warehouse/runs/7764725972?check_suite_focus=true#step:8:332). ``` ERROR: (gcloud.run.deploy) spec.template.spec.containers[0].resources.limits.cpu: Invalid value specified for cpu. For the specified value, maxScale may not exceed 15. Consider running your workload in a region with greater capacity, decreasing your requested cpu-per-instance, or requesting an increase in quota for this region if you are seeing sustained usage near this limit, see https://cloud.google.com/run/quotas. Your project may gain access to further scaling by adding billing information to your account. Traceback (most recent call last): File ""/home/runner/.local/bin/datasette"", line 8, inSourced from pytest-asyncio's releases.
pytest-asyncio 0.19.0
title: 'pytest-asyncio: pytest support for asyncio'
pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.
asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.
@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res
pytest-asyncio has been strongly influenced by pytest-tornado.
Features
- fixtures for creating and injecting versions of the asyncio event loop
- fixtures for injecting unused tcp/udp ports
- pytest markers for treating tests as asyncio coroutines
- easy testing with non-default event loops
- support for [async def]{.title-ref} fixtures and async generator fixtures
- support auto mode to handle all async fixtures and tests automatically by asyncio; provide strict mode if a test suite should work with different async frameworks simultaneously, e.g.
asyncio
andtrio
.Installation
... (truncated)
Sourced from pytest-asyncio's changelog.
0.19.0 (22-07-13)
- BREAKING: The default
asyncio_mode
is now strict.[#293](https://github.com/pytest-dev/pytest-asyncio/issues/293) <https://github.com/pytest-dev/pytest-asyncio/issues/293>
_- Removes
setup.py
since all relevant configuration is presentsetup.cfg
. Users requiring an editable installation of pytest-asyncio need to use pip v21.1 or newer.[#283](https://github.com/pytest-dev/pytest-asyncio/issues/283) <https://github.com/pytest-dev/pytest-asyncio/issues/283>
_- Declare support for Python 3.11.
0.18.3 (22-03-25)
- Adds
pytest-trio <https://pypi.org/project/pytest-trio/>
_ to the test dependencies- Fixes a bug that caused pytest-asyncio to try to set up async pytest_trio fixtures in strict mode.
[#298](https://github.com/pytest-dev/pytest-asyncio/issues/298) <https://github.com/pytest-dev/pytest-asyncio/issues/298>
_0.18.2 (22-03-03)
- Fix asyncio auto mode not marking static methods.
[#295](https://github.com/pytest-dev/pytest-asyncio/issues/295) <https://github.com/pytest-dev/pytest-asyncio/issues/295>
_- Fix a compatibility issue with Hypothesis 6.39.0.
[#302](https://github.com/pytest-dev/pytest-asyncio/issues/302) <https://github.com/pytest-dev/pytest-asyncio/issues/302>
_0.18.1 (22-02-10)
- Fixes a regression that prevented async fixtures from working in synchronous tests.
[#286](https://github.com/pytest-dev/pytest-asyncio/issues/286) <https://github.com/pytest-dev/pytest-asyncio/issues/286>
_0.18.0 (22-02-07)
- Raise a warning if
@pytest
.mark.asyncio is applied to non-async function.[#275](https://github.com/pytest-dev/pytest-asyncio/issues/275) <https://github.com/pytest-dev/pytest-asyncio/issues/275>
_- Support parametrized
event_loop
fixture.[#278](https://github.com/pytest-dev/pytest-asyncio/issues/278) <https://github.com/pytest-dev/pytest-asyncio/issues/278>
_0.17.2 (22-01-17)
- Require
typing-extensions
on Python`_- Fix a regression in tests collection introduced by 0.17.1, the plugin works fine with non-python tests again.
[#267](https://github.com/pytest-dev/pytest-asyncio/issues/267) <https://github.com/pytest-dev/pytest-asyncio/issues/267>
_0.17.1 (22-01-16)
- Fixes a bug that prevents async Hypothesis tests from working without explicit
asyncio
marker when--asyncio-mode=auto
is set.[#258](https://github.com/pytest-dev/pytest-asyncio/issues/258) <https://github.com/pytest-dev/pytest-asyncio/issues/258>
_- Fixed a bug that closes the default event loop if the loop doesn't exist
[#257](https://github.com/pytest-dev/pytest-asyncio/issues/257) <https://github.com/pytest-dev/pytest-asyncio/issues/257>
_- Added type annotations.
[#198](https://github.com/pytest-dev/pytest-asyncio/issues/198) <https://github.com/pytest-dev/pytest-asyncio/issues/198>
_- Show asyncio mode in pytest report headers.
[#266](https://github.com/pytest-dev/pytest-asyncio/issues/266) <https://github.com/pytest-dev/pytest-asyncio/issues/266>
_- Relax
asyncio_mode
type definition; it allows to support pytest 6.1+.[#262](https://github.com/pytest-dev/pytest-asyncio/issues/262) <https://github.com/pytest-dev/pytest-asyncio/issues/262>
_0.17.0 (22-01-13)
pytest-asyncio
no longer alters existing event loop policies.[#168](https://github.com/pytest-dev/pytest-asyncio/issues/168) <https://github.com/pytest-dev/pytest-asyncio/issues/168>
,[#188](https://github.com/pytest-dev/pytest-asyncio/issues/188) <https://github.com/pytest-dev/pytest-asyncio/issues/168>
- Drop support for Python 3.6
- Fixed an issue when pytest-asyncio was used in combination with
flaky
or inherited asynchronous Hypothesis tests.[#178](https://github.com/pytest-dev/pytest-asyncio/issues/178) <https://github.com/pytest-dev/pytest-asyncio/issues/178>
_[#231](https://github.com/pytest-dev/pytest-asyncio/issues/231) <https://github.com/pytest-dev/pytest-asyncio/issues/231>
_- Added
flaky <https://pypi.org/project/flaky/>
_ to test dependencies- Added
unused_udp_port
andunused_udp_port_factory
fixtures (similar tounused_tcp_port
andunused_tcp_port_factory
counterparts.[#99](https://github.com/pytest-dev/pytest-asyncio/issues/99) <https://github.com/pytest-dev/pytest-asyncio/issues/99>
_- Added the plugin modes: strict, auto, and legacy. See
documentation <https://github.com/pytest-dev/pytest-asyncio#modes>
_ for details.[#125](https://github.com/pytest-dev/pytest-asyncio/issues/125) <https://github.com/pytest-dev/pytest-asyncio/issues/125>
_- Correctly process
KeyboardInterrupt
during async fixture setup phase[#219](https://github.com/pytest-dev/pytest-asyncio/issues/219) <https://github.com/pytest-dev/pytest-asyncio/issues/219>
_
... (truncated)
2da33c4
docs: Prepare v0.19.0 release. (#385)07beb80
opt into strict mode by default (#380)25c54a5
Clarify documentation of event_loop fixture (#375)49f07a4
Bump typing-extensions from 4.2.0 to 4.3.0 in /dependencies/default (#382)739198b
Bump hypothesis from 6.48.0 to 6.48.3 in /dependencies/default (#381)db72f25
Bump importlib-metadata from 4.11.4 to 4.12.0 in /dependencies/default (#378)4cf16cf
Bump hypothesis from 6.47.3 to 6.48.0 in /dependencies/default (#377)f13c85f
docs: Fix typo in README.b463f72
Python 3.11 support (#370)860ff51
Bump hypothesis from 6.47.2 to 6.47.3 in /dependencies/default (#373)Sourced from furo's changelog.
Changelog
2022.06.21 -- Opulent Opal
- Fix
docutils <= 0.17.x
compatibility- Bump to the latest Node.js LTS
2022.06.04.1 -- Naughty Nickel bugfix
- Fix the URL used in the "Edit this page" for Read the Docs builds.
2022.06.04 -- Naughty Nickel
- ✨ Advertise Sphinx 5 compatibility.
- ✨ Change to
basic-ng
as the base theme (from {pypi}sphinx-basic-ng
).- Document site-wide announcement banners.
- Drop the pin on pygments.
- Improve edit button, using
basic-ng
'sedit-this-page
component.- Tweak headings to better match what users expect.
- Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
- When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
2022.04.07 -- Magical Mauve
- ✨ Make sphinx-copybutton look better.
- Add margin to indentations in line blocks.
- Add styling for non-arabic list styles
- Add support for
html_baseurl
.- Improve "Edit this page" icon to be more accessible.
- Improve
html_sidebars
example.- Tweak positioning of back to top on desktop.
2022.03.04 -- Lucent Lilac
- Improve support for print media.
- Reduce heading sizes for h3 and below.
- Don't allow selecting headerlink content.
- Improve how overflow wrapping is handled.
- Add a reference from the configuration variables to the color customisation page.
2022.02.23 -- Keen Kobi
... (truncated)
a2e8f42
Prepare release: 2022.06.21d4967e5
Update changelog2969c23
[pre-commit.ci] pre-commit autoupdate (#455)2365493
Use findall from docutils only if it's availablebb3c355
Merge pull request #450 from polyzen/patch-14fb1a74
Bump to the latest Node.js LTS9970aac
Back to development1142fad
Prepare release: 2022.06.04.1211abb4
Update changelog06cdba6
Fix the edit this page URLSourced from black's releases.
22.6.0
Style
- Fix unstable formatting involving
#fmt: skip
and# fmt:skip
comments (notice the lack of spaces) (#2970)Preview style
- Docstring quotes are no longer moved if it would violate the line length limit (#3044)
- Parentheses around return annotations are now managed (#2990)
- Remove unnecessary parentheses around awaited objects (#2991)
- Remove unnecessary parentheses in
with
statements (#2926)- Remove trailing newlines after code block open (#3035)
Integrations
- Add
scripts/migrate-black.py
script to ease introduction of Black to a Git project (#3038)Output
- Output Python version and implementation as part of
--version
flag (#2997)Packaging
- Use
tomli
instead oftomllib
on Python 3.11 builds wheretomllib
is not available (#2987)Parser
- PEP 654 syntax (for example,
except *ExceptionGroup:
) is now supported (#3016)- PEP 646 syntax (for example,
Array[Batch, *Shape]
ordef fn(*args: *T) -> None
) is now supported (#3071)Vim Plugin
- Fix
strtobool
function. It didn't parse true/on/false/off. (#3025)Full Changelog: https://github.com/psf/black/compare/22.3.0...22.6.0
Thank you!
@jpy-git
for improving our parentheses formatting significantly@siuryan
for fixing a fmt: skip bug, making it a little less annoying to use :)@isidentical
for implementing support for PEP 654 and 646 syntax@defntvdm
for fixing our vim plugin, especially as we (the maintainers) don't really know vim script sadly@idorrington92
for fixing the docstring bug where Black would move the closing quotes causing it to violate the line length limit (whoops!)@hbrunn
for contributing the migrate-black script@saroad2
for improving newline handling after code blocks and test infrastructure improvements... and everyone else who contributed documentation, tests, or other improvements to the Black project!
... (truncated)
Sourced from black's changelog.
22.6.0
Style
- Fix unstable formatting involving
#fmt: skip
and# fmt:skip
comments (notice the lack of spaces) (#2970)Preview style
- Docstring quotes are no longer moved if it would violate the line length limit (#3044)
- Parentheses around return annotations are now managed (#2990)
- Remove unnecessary parentheses around awaited objects (#2991)
- Remove unnecessary parentheses in
with
statements (#2926)- Remove trailing newlines after code block open (#3035)
Integrations
- Add
scripts/migrate-black.py
script to ease introduction of Black to a Git project (#3038)Output
- Output Python version and implementation as part of
--version
flag (#2997)Packaging
- Use
tomli
instead oftomllib
on Python 3.11 builds wheretomllib
is not available (#2987)Parser
- PEP 654 syntax (for example,
except *ExceptionGroup:
) is now supported (#3016)- PEP 646 syntax (for example,
Array[Batch, *Shape]
ordef fn(*args: *T) -> None
) is now supported (#3071)Vim Plugin
- Fix
strtobool
function. It didn't parse true/on/false/off. (#3025)22.3.0
Preview style
- Code cell separators
#%%
are now standardised to# %%
(#2919)- Remove unnecessary parentheses from
except
statements (#2939)- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945)- Avoid magic-trailing-comma in single-element subscripts (#2942)
Configuration
... (truncated)
f6c139c
Prepare docs for release 22.6.0 (#3139)eb5d175
Update preview style docs to include recent changes (#3136)d848209
Bump furo from 2022.6.4.1 to 2022.6.21 in /docs (#3138)fa6caa6
Only call get_future_imports when needed (#3135)6463fb8
Bump sphinx from 5.0.1 to 5.0.2 in /docs (#3128)e3c9b04
Replace link to Requests documentation (#3125)6c1bd08
Test run black on self (#3114)799adb5
Bump actions/setup-python from 3 to 4 (#3121)162ecd1
Use is_number_token instead of assertion (#3069)8c8675c
Update documentation dependencies (#3118)Sourced from black's releases.
22.3.0
Preview style
- Code cell separators
#%%
are now standardised to# %%
(#2919)- Remove unnecessary parentheses from
except
statements (#2939)- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945)- Avoid magic-trailing-comma in single-element subscripts (#2942)
Configuration
- Do not format
__pypackages__
directories by default (#2836)- Add support for specifying stable version with
--required-version
(#2832).- Avoid crashing when the user has no homedir (#2814)
- Avoid crashing when md5 is not available (#2905)
- Fix handling of directory junctions on Windows (#2904)
Documentation
- Update pylint config documentation (#2931)
Integrations
- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
Output
- In verbose, mode, log when Black is using user-level config (#2861)
Packaging
- Fix Black to work with Click 8.1.0 (#2966)
- On Python 3.11 and newer, use the standard library's
tomllib
instead oftomli
(#2903)black-primer
, the deprecated internal devtool, has been removed and copied to a separate repository (#2924)Parser
- Black can now parse starred expressions in the target of
for
andasync for
statements, e.gfor item in *items_1, *items_2: pass
(#2879).
Sourced from black's changelog.
22.3.0
Preview style
- Code cell separators
#%%
are now standardised to# %%
(#2919)- Remove unnecessary parentheses from
except
statements (#2939)- Remove unnecessary parentheses from tuple unpacking in
for
loops (#2945)- Avoid magic-trailing-comma in single-element subscripts (#2942)
Configuration
- Do not format
__pypackages__
directories by default (#2836)- Add support for specifying stable version with
--required-version
(#2832).- Avoid crashing when the user has no homedir (#2814)
- Avoid crashing when md5 is not available (#2905)
- Fix handling of directory junctions on Windows (#2904)
Documentation
- Update pylint config documentation (#2931)
Integrations
- Move test to disable plugin in Vim/Neovim, which speeds up loading (#2896)
Output
- In verbose, mode, log when Black is using user-level config (#2861)
Packaging
- Fix Black to work with Click 8.1.0 (#2966)
- On Python 3.11 and newer, use the standard library's
tomllib
instead oftomli
(#2903)black-primer
, the deprecated internal devtool, has been removed and copied to a separate repository (#2924)Parser
- Black can now parse starred expressions in the target of
for
andasync for
statements, e.gfor item in *items_1, *items_2: pass
(#2879).
ae2c075
Prepare release 22.3.0 (#2968)e9681a4
Fix _unicodefun patch code for Click 8.1.0 (#2966)ac7402c
Bump sphinx from 4.4.0 to 4.5.0 in /docs (GH-2959)f239d22
Enforce no formatting changes for PRs via CI (GH-2951)bd1e980
Remove unnecessary parentheses from except
clauses (#2939)14d84ba
Resolve new flake8-bugbear errors (B020) (GH-2950)14e5ce5
Remove unnecessary parentheses from tuple unpacking in for
loops (#2945)3800ebd
Avoid magic-trailing-comma in single-element subscripts (#2942)062b549
Github now supports .git-blame-ignore-revs (GH-2948)5379d4f
stub style: remove some possible future changes (#2940)Sourced from furo's changelog.
Changelog
2022.06.04.1 -- Naughty Nickel bugfix
- Fix the URL used in the "Edit this page" for Read the Docs builds.
2022.06.04 -- Naughty Nickel
- ✨ Advertise Sphinx 5 compatibility.
- ✨ Change to
basic-ng
as the base theme (from {pypi}sphinx-basic-ng
).- Document site-wide announcement banners.
- Drop the pin on pygments.
- Improve edit button, using
basic-ng
'sedit-this-page
component.- Tweak headings to better match what users expect.
- Tweak how Sphinx's default HTML is rendered, using docutils post-transforms (this replaces parsing+modifying it with BeautifulSoup).
- When built with docutils 0.18, footnotes are rendered differently and stylised differently in Furo.
2022.04.07 -- Magical Mauve
- ✨ Make sphinx-copybutton look better.
- Add margin to indentations in line blocks.
- Add styling for non-arabic list styles
- Add support for
html_baseurl
.- Improve "Edit this page" icon to be more accessible.
- Improve
html_sidebars
example.- Tweak positioning of back to top on desktop.
2022.03.04 -- Lucent Lilac
- Improve support for print media.
- Reduce heading sizes for h3 and below.
- Don't allow selecting headerlink content.
- Improve how overflow wrapping is handled.
- Add a reference from the configuration variables to the color customisation page.
2022.02.23 -- Keen Kobi
- ✨ Add a "Back to Top" button that shows up when scrolling up.
- Add a URL to GitHub in Project-URLs.
- Break long words in the prev/next buttons.
- Fix includes in Kitchen sink.
... (truncated)
1142fad
Prepare release: 2022.06.04.1211abb4
Update changelog06cdba6
Fix the edit this page URL43ce491
Back to developmentfb6e486
Prepare release: 2022.06.04090b02e
Update changelog098d51d
Fix the Just the Docs link7fa8d08
Change to a post-transform for wrapping math blocks and table51f1e52
Speed up determining if there's multiple toc entries99a6ff8
Update caniuse-lite NPM packageSourced from click's releases.
8.1.0
This is a feature release, which includes new features and removes previously deprecated features. The 8.1.x branch is now the supported bugfix branch, the 8.0.x branch will become a tag marking the end of support for that branch. We encourage everyone to upgrade, and to use a tool such as pip-tools to pin all dependencies and control upgrades.
Sourced from click's changelog.
Version 8.1.0
Released 2022-03-28
Drop support for Python 3.6. :pr:
2129
Remove previously deprecated code. :pr:
2130
Group.resultcallback
is renamed toresult_callback
.autocompletion
parameter toCommand
is renamed toshell_complete
.get_terminal_size
is removed, useshutil.get_terminal_size
instead.get_os_args
is removed, usesys.argv[1:]
instead.Rely on :pep:
538
and :pep:540
to handle selecting UTF-8 encoding instead of ASCII. Click's locale encoding detection is removed. :issue:2198
Single options boolean flags with
show_default=True
only show the default if it isTrue
. :issue:1971
The
command
andgroup
decorators can be applied with or without parentheses. :issue:1359
The
Path
type can check whether the target is executable. :issue:1961
Command.show_default
overridesContext.show_default
, instead of the other way around. :issue:1963
Parameter decorators and
@group
handlescls=None
the same as not passingcls
.@option
handleshelp=None
the same as not passinghelp
. :issue:[#1959](https://github.com/pallets/click/issues/1959)
A flag option with
required=True
requires that the flag is passed instead of choosing the implicit default value. :issue:1978
Indentation in help text passed to
Option
andCommand
is cleaned the same as using the@option
and@command
decorators does. A command'sepilog
andshort_help
are also processed. :issue:1985
Store unprocessed
Command.help
,epilog
andshort_help
strings. Processing is only done when formatting help text for output. :issue:2149
Allow empty str input for
prompt()
whenconfirmation_prompt=True
anddefault=""
. :issue:2157
Windows glob pattern expansion doesn't fail if a value is an invalid pattern. :issue:
2195
It's possible to pass a list of
params
to@command
. Any params defined with decorators are appended to the passed params. :issue:2131
.
@command
decorator is annotated as returning the correct type if acls
argument is used. :issue:2211
A
Group
withinvoke_without_command=True
andchain=False
will invoke its result callback with the group function's return value. :issue:2124
... (truncated)
e4aceee
Merge pull request #2224 from pallets/release-8.1.0f8d811e
release version 8.1.020c88f0
Merge pull request #2223 from pallets/env-var8d7f03d
treat empty auto_envvar as Noneef11be6
Merge pull request #2041 from spanglerco/shell-completion-option-valuesf2e579a
shell completion prioritizes option values over new optionsd251cb0
Merge pull request #2219 from pallets/paramtype-namee003331
fix ParamType.to_info_dict() with no name19be092
Merge pull request #2217 from pallets/group-return7d3a871
group without command passes return value to result callbackSourced from pytest's releases.
7.1.0
pytest 7.1.0 (2022-03-13)
Breaking Changes
#8838: As per our policy, the following features have been deprecated in the 6.X series and are now removed:
pytest._fillfuncargs
function.pytest_warning_captured
hook - usepytest_warning_recorded
instead.-k -foobar
syntax - use-k 'not foobar'
instead.-k foobar:
syntax.pytest.collect
module - import frompytest
directly.For more information consult Deprecations and Removals in the docs.
#9437: Dropped support for Python 3.6, which reached end-of-life at 2021-12-23.
Improvements
#5192: Fixed test output for some data types where
-v
would show less information.Also, when showing diffs for sequences,
-q
would produce full diffs instead of the expected diff.#9362: pytest now avoids specialized assert formatting when it is detected that the default
__eq__
is overridden inattrs
ordataclasses
.#9536: When
-vv
is given on command line, show skipping and xfail reasons in full instead of truncating them to fit the terminal width.#9644: More information about the location of resources that led Python to raise
ResourceWarning
{.interpreted-text role="class"} can now be obtained by enablingtracemalloc
{.interpreted-text role="mod"}.See
resource-warnings
{.interpreted-text role="ref"} for more information.#9678: More types are now accepted in the
ids
argument to@pytest.mark.parametrize
. Previously only [str]{.title-ref}, [float]{.title-ref}, [int]{.title-ref} and [bool]{.title-ref} were accepted; now [bytes]{.title-ref}, [complex]{.title-ref}, [re.Pattern]{.title-ref}, [Enum]{.title-ref} and anything with a [__name__]{.title-ref} are also accepted.#9692:
pytest.approx
{.interpreted-text role="func"} now raises aTypeError
{.interpreted-text role="class"} when given an unordered sequence (such asset
{.interpreted-text role="class"}).Note that this implies that custom classes which only implement
__iter__
and__len__
are no longer supported as they don't guarantee order.Bug Fixes
- #8242: The deprecation of raising
unittest.SkipTest
{.interpreted-text role="class"} to skip collection of tests during the pytest collection phase is reverted - this is now a supported feature again.- #9493: Symbolic link components are no longer resolved in conftest paths. This means that if a conftest appears twice in collection tree, using symlinks, it will be executed twice.
... (truncated)
1dbffcc
[pre-commit.ci] auto fixes from pre-commit.com hooksd53a5fb
Prepare release version 7.1.0d306ec0
Update upcoming trainings (#9744)3e4c14b
Merge pull request #9751 from fabianegli/main7f924b1
Fix typo in deprecation documentation4a8f8ad
build(deps): Bump django from 4.0.2 to 4.0.3 in /testing/plugins_integration ...c0fd2d8
build(deps): Bump pytest-asyncio from 0.18.1 to 0.18.2 in /testing/plugins_in...843e018
Merge pull request #9732 from nicoddemus/9730-toml-failurebc43d66
[automated] Update plugin list (#9733)e38d1ca
Improve error message for malformed pyproject.toml files8e4800e
Fixup readmedc1efca
2.1.0 releasedd9d608
Add custom hooks specifications for overriding setup_timeout and teardown_tim...ed8ecd6
module names, they're difficult3ab4319
Add changelog4f7ebae
Replace deprecated py.io.get_terminal_width() with shutil.get_terminal_size()...b8a2fa6
Prep release951972d
Update changelog748a9c3
Making detection of whether a debugger is currently attached more flexible. (...f8a46a1
Github removed the git protocol (#112)Sourced from asgiref's changelog.
3.5.0 (2022-01-22)
Python 3.6 is no longer supported, and asyncio calls have been changed to use only the modern versions of the APIs as a result
Several causes of RuntimeErrors in cases where an event loop was assigned to a thread but not running
Speed improvements in the Local class
3.4.1 (2021-07-01)
- Fixed an issue with the deadlock detection where it had false positives during exception handling.
3.4.0 (2021-06-27)
Calling sync_to_async directly from inside itself (which causes a deadlock when in the default, thread-sensitive mode) now has deadlock detection.
asyncio usage has been updated to use the new versions of get_event_loop, ensure_future, wait and gather, avoiding deprecation warnings in Python 3.10. Python 3.6 installs continue to use the old versions; this is only for 3.7+
sync_to_async and async_to_sync now have improved type hints that pass through the underlying function type correctly.
All Websocket* types are now spelled WebSocket, to match our specs and the official spelling. The old names will work until release 3.5.0, but will raise deprecation warnings.
The typing for WebSocketScope and HTTPScope's
extensions
key has been fixed.3.3.4 (2021-04-06)
- The async_to_sync type error is now a warning due the high false negative rate when trying to detect coroutine-returning callables in Python.
3.3.3 (2021-04-06)
... (truncated)
8b61513
Releasing 3.5.0b2e1c9d
Fixed pytest_asyncio deprecation warning.2eda551
Added testing for Python 3.10.02fecb6
Drop Python 3.6 (#307)6689c0a
Added stacklevel to warning in AsyncToSync.4364f9b
Changed how StatelessServer handles event loops7bc055c
Update implementations.rst (#295)c758984
Move current_task import choice to module definition timedfe87b2
Fixed #292: Use get_event_loop in class-level codeb3a65e3
Removed class variable which has been unused since a0bbe90Sourced from pytest's releases.
7.0.0
pytest 7.0.0 (2022-02-03)
(Please see the full set of changes for this release also in the 7.0.0rc1 notes below)
Deprecations
#9488: If custom subclasses of nodes like
pytest.Item
{.interpreted-text role="class"} override the__init__
method, they should take**kwargs
. Seeuncooperative-constructors-deprecated
{.interpreted-text role="ref"} for details.Note that a deprection warning is only emitted when there is a conflict in the arguments pytest expected to pass. This deprecation was already part of pytest 7.0.0rc1 but wasn't documented.
Bug Fixes
- #9355: Fixed error message prints function decorators when using assert in Python 3.8 and above.
- #9396: Ensure
pytest.Config.inifile
{.interpreted-text role="attr"} is available during thepytest_cmdline_main <_pytest.hookspec.pytest_cmdline_main>
{.interpreted-text role="func"} hook (regression during7.0.0rc1
).Improved Documentation
- #9404: Added extra documentation on alternatives to common misuses of [pytest.warns(None)]{.title-ref} ahead of its deprecation.
- #9505: Clarify where the configuration files are located. To avoid confusions documentation mentions that configuration file is located in the root of the repository.
Trivial/Internal Changes
- #9521: Add test coverage to assertion rewrite path.
pytest 7.0.0rc1 (2021-12-06)
Breaking Changes
#7259: The
Node.reportinfo() <non-python tests>
{.interpreted-text role="ref"} function first return value type has been expanded from [py.path.local | str]{.title-ref} to [os.PathLike[str] | str]{.title-ref}.Most plugins which refer to [reportinfo()]{.title-ref} only define it as part of a custom
pytest.Item
{.interpreted-text role="class"} implementation. Since [py.path.local]{.title-ref} is a [os.PathLike[str]]{.title-ref}, these plugins are unaffacted.Plugins and users which call [reportinfo()]{.title-ref}, use the first return value and interact with it as a [py.path.local]{.title-ref}, would need to adjust by calling [py.path.local(fspath)]{.title-ref}. Although preferably, avoid the legacy [py.path.local]{.title-ref} and use [pathlib.Path]{.title-ref}, or use [item.location]{.title-ref} or [item.path]{.title-ref}, instead.
Note: pytest was not able to provide a deprecation period for this change.
... (truncated)
3554b83
Add note to changelog6ea7f99
Prepare release version 7.0.0737b220
[7.0.x] releasing: Add template for major releases (#9597)7fa3972
[7.0.x] releasing: Always set doc_version (#9590)b304499
[7.0.x] Make 'warnings' and 'deselected' in assert_outcomes optional (#9566)f17525d
[7.0.x] doc: Add ellipsis to warning usecase list (#9562)0a7be97
ci: Bump up timeout (#9565)c17908c
[7.0.x] doc: Recategorize 7.0.0 changelog items (#9564)ab549bb
[7.0.x] Add missing cooperative constructor changelog (#9563)4b1707f
[7.0.x] Autouse linearization graph (#9557)Sourced from pytest-asyncio's releases.
pytest-asyncio 0.18.0
title: 'pytest-asyncio: pytest support for asyncio'
pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.
asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.
@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res
pytest-asyncio has been strongly influenced by pytest-tornado.
Features
- fixtures for creating and injecting versions of the asyncio event loop
- fixtures for injecting unused tcp/udp ports
- pytest markers for treating tests as asyncio coroutines
- easy testing with non-default event loops
- support for [async def]{.title-ref} fixtures and async generator fixtures
- support auto mode to handle all async fixtures and tests automatically by asyncio; provide strict mode if a test suite should work with different async frameworks simultaneously, e.g.
asyncio
andtrio
.Installation
... (truncated)
07e9922
Prepare release of v0.18.0 (#282)a92d894
Relax dependency on typing-extensions (#284)e78b59d
Fix setuptools_scm configuration (#279)d8efa64
Support parametrized event_loop fixture (#278)dab3b51
Raise a warning if @pytest
.mark.asyncio is applied to non-async function (#275)048a6ed
Code cleanup: drop 'request' argument from async fixtures (#270)4353327
Update changelogc919fd7
Remove unconditional test item attribute access (#268)39c6d0c
Update README547933d
Require typing-extensions on py<3.8 only (#269)Sourced from pytest-asyncio's releases.
pytest-asyncio 0.17.0
title: 'pytest-asyncio: pytest support for asyncio'
pytest-asyncio is an Apache2 licensed library, written in Python, for testing asyncio code with pytest.
asyncio code is usually written in the form of coroutines, which makes it slightly more difficult to test using normal testing tools. pytest-asyncio provides useful fixtures and markers to make testing easier.
@pytest.mark.asyncio async def test_some_asyncio_code(): res = await library.do_something() assert b"expected result" == res
pytest-asyncio has been strongly influenced by pytest-tornado.
Features
- fixtures for creating and injecting versions of the asyncio event loop
- fixtures for injecting unused tcp/udp ports
- pytest markers for treating tests as asyncio coroutines
- easy testing with non-default event loops
- support for [async def]{.title-ref} fixtures and async generator fixtures
- support auto mode to handle all async fixtures and tests automatically by asyncio; provide strict mode if a test suite should work with different async frameworks simultaneously, e.g.
asyncio
andtrio
.Installation
... (truncated)
2e2d5d2
Bump to 0.17 release90436c9
Fix pandoc installation procedured291c66
Convert README.rst to Markdown for making githun release141937b
Fix release artifacts696cf7d
Fix trove classifier for asyncio8ccb306
Build on tagcd84987
Release process automation (#252)2eb12a7
Setup GitHub Workflows linter and yaml-reformatter (#253)d28b826
Bump codecov/codecov-action from 1 to 2.1.0 (#251)2f523ba
Configure dependabot version updater (#250)Sourced from black's releases.
22.1.0
At long last, Black is no longer a beta product! This is the first non-beta release and the first release covered by our new stability policy.
Highlights
Style
- Deprecate
--experimental-string-processing
and move the functionality under--preview
(#2789)- For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
- Black now normalizes string prefix order (#2297)
- Remove spaces around power operators if both operands are simple (#2726)
- Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
- Use parentheses for attribute access on decimal float and int literals (#2799)
- Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
- Treat blank lines in stubs the same inside top-level if statements (#2820)
- Fix unstable formatting with semicolons and arithmetic expressions (#2817)
- Fix unstable formatting around magic trailing comma (#2572)
Parser
- Fix mapping cases that contain as-expressions, like
case {"key": 1 | 2 as password}
(#2686)- Fix cases that contain multiple top-level as-expressions, like
case 1 as a, 2 as b
(#2716)- Fix call patterns that contain as-expressions with keyword arguments, like
case Foo(bar=baz as quux)
(#2749)- Tuple unpacking on
return
andyield
constructs now implies 3.8+ (#2700)- Unparenthesized tuples on annotated assignments (e.g
values: Tuple[int, ...] = 1, 2, 3
) now implies 3.8+ (#2708)- Fix handling of standalone
match()
orcase()
when there is a trailing newline or a comment inside of the parentheses. (#2760)from __future__ import annotations
statement now implies Python 3.7+ (#2690)Performance
- Speed-up the new backtracking parser about 4X in general (enabled when
--target-version
is set to 3.10 and higher). (#2728)- Black is now compiled with mypyc for an overall 2x speed-up. 64-bit Windows, MacOS, and Linux (not including musl) are supported. (#1009, #2431)
Configuration
- Do not accept bare carriage return line endings in pyproject.toml (#2408)
- Add configuration option (
python-cell-magics
) to format cells with custom magics in Jupyter Notebooks (#2744)- Allow setting custom cache directory on all platforms with environment variable
BLACK_CACHE_DIR
(#2739).- Enable Python 3.10+ by default, without any extra need to specify -
-target-version=py310
. (#2758)- Make passing
SRC
or--code
mandatory and mutually exclusive (#2804)Output
- Improve error message for invalid regular expression (#2678)
- Improve error message when parsing fails during AST safety check by embedding the underlying SyntaxError (#2693)
- No longer color diff headers white as it's unreadable in light themed terminals (#2691)
- Text coloring added in the final statistics (#2712)
- Verbose mode also now describes how a project root was discovered and which paths will be formatted. (#2526)
Packaging
... (truncated)
Sourced from black's changelog.
22.1.0
At long last, Black is no longer a beta product! This is the first non-beta release and the first release covered by our new stability policy.
Highlights
Style
- Deprecate
--experimental-string-processing
and move the functionality under--preview
(#2789)- For stubs, one blank line between class attributes and methods is now kept if there's at least one pre-existing blank line (#2736)
- Black now normalizes string prefix order (#2297)
- Remove spaces around power operators if both operands are simple (#2726)
- Work around bug that causes unstable formatting in some cases in the presence of the magic trailing comma (#2807)
- Use parentheses for attribute access on decimal float and int literals (#2799)
- Don't add whitespace for attribute access on hexadecimal, binary, octal, and complex literals (#2799)
- Treat blank lines in stubs the same inside top-level
if
statements (#2820)- Fix unstable formatting with semicolons and arithmetic expressions (#2817)
- Fix unstable formatting around magic trailing comma (#2572)
Parser
- Fix mapping cases that contain as-expressions, like
case {"key": 1 | 2 as password}
(#2686)- Fix cases that contain multiple top-level as-expressions, like
case 1 as a, 2 as b
(#2716)- Fix call patterns that contain as-expressions with keyword arguments, like
case Foo(bar=baz as quux)
(#2749)- Tuple unpacking on
return
andyield
constructs now implies 3.8+ (#2700)- Unparenthesized tuples on annotated assignments (e.g
values: Tuple[int, ...] = 1, 2, 3
) now implies 3.8+ (#2708)- Fix handling of standalone
match()
orcase()
when there is a trailing newline or a comment inside of the parentheses. (#2760)from __future__ import annotations
statement now implies Python 3.7+ (#2690)Performance
... (truncated)
....
"", ""columns"": { ""name_of_column"": ""column_description goes here"" } ```",107914493,datasette,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/942/reactions"", ""total_count"": 4, ""+1"": 4, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed 781262510,MDU6SXNzdWU3ODEyNjI1MTA=,1181,"Certain database names results in 404: ""Database not found: None""",1470389,jieter,closed,0,,,6346396,Datasette 0.54,4,2021-01-07T12:01:16Z,2021-12-21T18:25:15Z,2021-01-25T05:13:19Z,NONE,,"I have a file named `test-database (1).sqlite`. When requesting the home route `/`, I see datasette is able to read it correctly: However, if I click any of the links, datasette replies with: `Error 404 Database not found: None` It seems the hash is crucial, as renaming the file to `database (1).sqlite` makes the error go away. This lines checks for a single dash: https://github.com/simonw/datasette/blob/97fb10c17dd007a275ab743742e93e932335ad67/datasette/views/base.py#L184 ``` $ datasette test-database\ \(1\).sqlite INFO: Started server process [68314] INFO: Waiting for application startup. INFO: Application startup complete. INFO: Uvicorn running on http://127.0.0.1:8001 (Press CTRL+C to quit) INFO: 127.0.0.1:54043 - ""GET /favicon.ico HTTP/1.1"" 200 OK INFO: 127.0.0.1:54043 - ""GET / HTTP/1.1"" 200 OK ... INFO: 127.0.0.1:54044 - ""GET /favicon.ico HTTP/1.1"" 200 OK INFO: 127.0.0.1:54044 - ""GET /test-database (1) HTTP/1.1"" 404 Not Found ``` Version: ``` $ datasette --version datasette, version 0.53 ``` ",107914493,datasette,issue,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1181/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",,completed 1079129258,PR_kwDOBm6k_c4vynly,1554,TableView refactor,9599,simonw,closed,0,,,,,3,2021-12-13T23:16:04Z,2021-12-20T23:52:11Z,2021-12-20T23:52:04Z,OWNER,simonw/datasette/pulls/1554,"I'm starting a PR with almost nothing in it so I can use the GitHub code commenting feature to add a bunch of comments to the code I intend to refactor. Related issues: - #617 - #715 - #870 - #1518",107914493,datasette,pull,,,"{""url"": ""https://api.github.com/repos/simonw/datasette/issues/1554/reactions"", ""total_count"": 0, ""+1"": 0, ""-1"": 0, ""laugh"": 0, ""hooray"": 0, ""confused"": 0, ""heart"": 0, ""rocket"": 0, ""eyes"": 0}",0, 1084257842,I_kwDOBm6k_c5AoHYy,1575,__call__() got an unexpected keyword argument 'specname',9599,simonw,closed,0,,,,,1,2021-12-20T01:24:04Z,2021-12-20T01:48:03Z,2021-12-20T01:47:57Z,OWNER,,"> I've installed the alpha version but get an error when starting up Datasette: ``` Traceback (most recent call last): File ""/Users/tim/.pyenv/versions/stock-exchange/bin/datasette"", line 5, inSourced from janus's releases.
janus 1.0.0 release
- Dropped Python 3.6 support
- Janus is marked as stable, no API changes was made for years
Sourced from janus's changelog.
1.0.0 (2021-12-17)
- Drop Python 3.6 support
0.7.0 (2021-11-24)
- Add SyncQueue and AsyncQueue Protocols to provide type hints for sync and async queues #374
0.6.2 (2021-10-24)
- Fix Python 3.10 compatibility #358
0.6.1 (2020-10-26)
Raise RuntimeError on queue.join() after queue closing. #295
Replace
timeout
type fromOptional[int]
toOptional[float]
#2670.6.0 (2020-10-10)
Drop Python 3.5, the minimal supported version is Python 3.6
Support Python 3.9
Refomat with
black
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 #89Drop 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
... (truncated)
0783f9b
Fix coverage upload41c49ba
Make deployment only if checks are greenec94b35
Fix CI again2303208
Fix CIdff5078
Bump to 1.0.03421545
Bump mypy from 0.910 to 0.920 (#384)56b2d1d
Bump black from 21.11b1 to 21.12b0 (#383)883e82b
Update README.rst2e30d8a
Bump coverage from 6.1.2 to 6.2 (#382)7b72d85
Bump to 0.7Sourced from black's releases.
21.12b0
Black
- Fix determination of f-string expression spans (#2654)
- Fix bad formatting of error messages about EOF in multi-line statements (#2343)
- Functions and classes in blocks now have more consistent surrounding spacing (#2472)
Jupyter Notebook support
- Cell magics are now only processed if they are known Python cell magics. Earlier, all cell magics were tokenized, leading to possible indentation errors e.g. with
%%writefile
. (#2630)- Fix assignment to environment variables in Jupyter Notebooks (#2642)
Python 3.10 support
- Point users to using
--target-version py310
if we detect 3.10-only syntax (#2668)- Fix
match
statements with open sequence subjects, likematch a, b:
ormatch a, *b:
(#2639) (#2659)- Fix
match
/case
statements that containmatch
/case
soft keywords multiple times, likematch re.match()
(#2661)- Fix
case
statements with an inline body (#2665)- Fix styling of starred expressions inside
match
subject (#2667)- Fix parser error location on invalid syntax in a
match
statement (#2649)- Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
- Improve parsing performance on code that uses
match
under--target-version py310
up to ~50% (#2670)Packaging
Thank you!
@isidentical
for the polishing up 3.10 syntax support (which they contributed in the first place!)@MarcoGorelli
for their ever-continuing work on Black's jupyter support@jalaziz
for cleaning up our Pyinstaller CD workflow@hauntsaninja
for helping us drop theregex
dependencyAnd also congrats to first contributors!
@MatthewScholefield
made their first contribution in psf/black#2631@AshIsbitt
made their first contribution in psf/black#2632@kalbasit
made their first contribution in psf/black#2638@danieleades
made their first contribution in psf/black#2653@danielsparing
made their first contribution in psf/black#2630@tanvimoharir
made their first contribution in psf/black#2343
Sourced from black's changelog.
21.12b0
Black
- Fix determination of f-string expression spans (#2654)
- Fix bad formatting of error messages about EOF in multi-line statements (#2343)
- Functions and classes in blocks now have more consistent surrounding spacing (#2472)
Jupyter Notebook support
- Cell magics are now only processed if they are known Python cell magics. Earlier, all cell magics were tokenized, leading to possible indentation errors e.g. with
%%writefile
. (#2630)- Fix assignment to environment variables in Jupyter Notebooks (#2642)
Python 3.10 support
- Point users to using
--target-version py310
if we detect 3.10-only syntax (#2668)- Fix
match
statements with open sequence subjects, likematch a, b:
ormatch a, *b:
(#2639) (#2659)- Fix
match
/case
statements that containmatch
/case
soft keywords multiple times, likematch re.match()
(#2661)- Fix
case
statements with an inline body (#2665)- Fix styling of starred expressions inside
match
subject (#2667)- Fix parser error location on invalid syntax in a
match
statement (#2649)- Fix Python 3.10 support on platforms without ProcessPoolExecutor (#2631)
- Improve parsing performance on code that uses
match
under--target-version py310
up to ~50% (#2670)Packaging
Sourced from pytest-xdist's changelog.
pytest-xdist 2.5.0 (2021-12-10)
Features
[#722](https://github.com/pytest-dev/pytest-xdist/issues/722) <https://github.com/pytest-dev/pytest-xdist/issues/722>
_: Full compatibility with pytest 7 - no deprecation warnings or use of legacy features.
[#733](https://github.com/pytest-dev/pytest-xdist/issues/733) <https://github.com/pytest-dev/pytest-xdist/issues/733>
_: New--dist=loadgroup
option, which ensures all tests marked with@pytest.mark.xdist_group
run in the same session/worker. Other tests run distributed as in--dist=load
.Trivial Changes
[#708](https://github.com/pytest-dev/pytest-xdist/issues/708) <https://github.com/pytest-dev/pytest-xdist/issues/708>
_: Use@pytest.hookspec
decorator to declare hook options innewhooks.py
to avoid warnings inpytest 7.0
.
[#719](https://github.com/pytest-dev/pytest-xdist/issues/719) <https://github.com/pytest-dev/pytest-xdist/issues/719>
_: Use up-to-datesetup.cfg
/pyproject.toml
packaging setup.
[#720](https://github.com/pytest-dev/pytest-xdist/issues/720) <https://github.com/pytest-dev/pytest-xdist/issues/720>
_: Require pytest>=6.2.0.
[#721](https://github.com/pytest-dev/pytest-xdist/issues/721) <https://github.com/pytest-dev/pytest-xdist/issues/721>
_: Started using type annotations and mypy checking internally. The types are incomplete and not published.pytest-xdist 2.4.0 (2021-09-20)
Features
[#696](https://github.com/pytest-dev/pytest-xdist/issues/696) <https://github.com/pytest-dev/pytest-xdist/issues/696>
_: On Linux, the process title now changes to indicate the current worker state (running/idle).Depends on the
setproctitle <https://pypi.org/project/setproctitle/>
__ package, which can be installed withpip install pytest-xdist[setproctitle]
.
[#704](https://github.com/pytest-dev/pytest-xdist/issues/704) <https://github.com/pytest-dev/pytest-xdist/issues/704>
_: Add support for Python 3.10.pytest-xdist 2.3.0 (2021-06-16)
Deprecations and Removals
[#654](https://github.com/pytest-dev/pytest-xdist/issues/654) <https://github.com/pytest-dev/pytest-xdist/issues/654>
_: Python 3.5 is no longer supported.Features
[#646](https://github.com/pytest-dev/pytest-xdist/issues/646) <https://github.com/pytest-dev/pytest-xdist/issues/646>
_: Add--numprocesses=logical
flag, which automatically uses the number of logical CPUs available, instead of physical CPUs withauto
.
... (truncated)
13f3934
Remove unnecessary skip from test_logfinish_hook as we require pytest>=6.2c76d562
Skip test_warning_captured_deprecated_in_pytest_6 in pytest>=7.15f78c71
Fix CHANGELOG headerc8bbc03
Release 2.5.08dbf367
Merge pull request #738 from pytest-dev/pre-commit-ci-update-configa25c14b
[pre-commit.ci] pre-commit autoupdate110c114
Merge pull request #734 from nicoddemus/revamp-readme83bdbf4
Revamp README630c1eb
Merge pull request #733 from baekdohyeop/feature-loadgroup62e50d0
Address reviewSourced from janus's changelog.
0.7.0 (2021-11-24)
- Add SyncQueue and AsyncQueue Protocols to provide type hints for sync and async queues #374
0.6.2 (2021-10-24)
- Fix Python 3.10 compatibility #358
0.6.1 (2020-10-26)
Raise RuntimeError on queue.join() after queue closing. #295
Replace
timeout
type fromOptional[int]
toOptional[float]
#2670.6.0 (2020-10-10)
Drop Python 3.5, the minimal supported version is Python 3.6
Support Python 3.9
Refomat with
black
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 #89Drop 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
... (truncated)
7b72d85
Bump to 0.75389dec
add SyncQueue and AsyncQueue Protocols (#374)d54ae42
Bump docutils from 0.18 to 0.18.1 (#381)76ccc92
Bump black from 21.11b0 to 21.11b1 (#380)967c284
Bump black from 21.10b0 to 21.11b0 (#379)4d625a2
Bump bandit from 1.7.0 to 1.7.1 (#378)e21eec2
Bump coverage from 6.1.1 to 6.1.2 (#377)7ff20af
Bump isort from 5.10.0 to 5.10.1 (#376)67e3782
Switch from setup.py to declarative setup.cfg (#375)8a0c498
Bump isort from 5.9.3 to 5.10.0 (#373)Sourced from black's releases.
21.11b1
Black
- Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (#2621)
21.11b0
Black
- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
- Add experimental PyPy support (#2559)
- Add partial support for the match statement. As it's experimental, it's only enabled when
--target-version py310
is explicitly specified (#2586)- Add support for parenthesized with (#2586)
- Declare support for Python 3.10 for running Black (#2562)
Integrations
- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613)21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's changelog.
21.11b1
Black
- Bumped regex version minimum to 2021.4.4 to fix Pattern class usage (#2621)
21.11b0
Black
- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
- Add experimental PyPy support (#2559)
- Add partial support for the match statement. As it's experimental, it's only enabled when
--target-version py310
is explicitly specified (#2586)- Add support for parenthesized with (#2586)
- Declare support for Python 3.10 for running Black (#2562)
Integrations
- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613)21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
d010ff4
0.8.03e3830d
Tweak README713984e
Update README9570975
Use os.sep2b2500d
Add prefix, suffix, dir args to TemporaryDirectory8895eb4
Fix ospath.exists test8308355
Fix typo: aiofiles.ospath.existsb8cf8dd
Update Readme with os.makedirs and os.removedirsaea353e
Merge branch 'patch-2'761f06e
Fix READMESourced from black's releases.
21.11b0
Black
- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
- Add experimental PyPy support (#2559)
- Add partial support for the match statement. As it's experimental, it's only enabled when
--target-version py310
is explicitly specified (#2586)- Add support for parenthesized with (#2586)
- Declare support for Python 3.10 for running Black (#2562)
Integrations
- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613)21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's changelog.
21.11b0
Black
- Warn about Python 2 deprecation in more cases by improving Python 2 only syntax detection (#2592)
- Add experimental PyPy support (#2559)
- Add partial support for the match statement. As it's experimental, it's only enabled when
--target-version py310
is explicitly specified (#2586)- Add support for parenthesized with (#2586)
- Declare support for Python 3.10 for running Black (#2562)
Integrations
- Fixed vim plugin with Python 3.10 by removing deprecated distutils import (#2610)
- The vim plugin now parses
skip_magic_trailing_comma
from pyproject.toml (#2613)21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatibility (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's releases.
21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
Sourced from black's changelog.
21.10b0
Black
- Document stability policy, that will apply for non-beta releases (#2529)
- Add new
--workers
parameter (#2514)- Fixed feature detection for positional-only arguments in lambdas (#2532)
- Bumped typed-ast version minimum to 1.4.3 for 3.10 compatiblity (#2519)
- Fixed a Python 3.10 compatibility issue where the loop argument was still being passed even though it has been removed (#2580)
- Deprecate Python 2 formatting support (#2523)
Blackd
Black-Primer
Integrations
f2fe98e
0.16.04e1df31
Remove obsolete test, add make test6ec7647
feat: Add support for Python 3.10.42ff5d1
ci: Include Python 3.10 in the CI test run.be3b327
build: Include Python 3.10 in Tox test runs.1c283bd
refactor: test_async_fixtures_with_finalizer no longer trigger a DeprecationW...2751982
refactor: Replaced tests asserting that the event loop is properly closed.70989fd
refactor: Grouped test cases together that are related to the use of the asyn...b27abe8
refactor: Removed TestUnexistingLoop.remove_loop fixture, because it has no e...e3ec312
Adjusted Hypothesis integration test to use the same event loop initializatio...Sourced from pyyaml's changelog.
6.0 (2021-10-13)
- yaml/pyyaml#327 -- Change README format to Markdown
- yaml/pyyaml#483 -- Add a test for YAML 1.1 types
- yaml/pyyaml#497 -- fix float resolver to ignore
.
and._
- yaml/pyyaml#550 -- drop Python 2.7
- yaml/pyyaml#553 -- Fix spelling of “hexadecimal”
- yaml/pyyaml#556 -- fix representation of Enum subclasses
- yaml/pyyaml#557 -- fix libyaml extension compiler warnings
- yaml/pyyaml#560 -- fix ResourceWarning on leaked file descriptors
- yaml/pyyaml#561 -- always require
Loader
arg toyaml.load()
- yaml/pyyaml#564 -- remove remaining direct distutils usage
5.4.1 (2021-01-20)
- yaml/pyyaml#480 -- Fix stub compat with older pyyaml versions that may unwittingly load it
5.4 (2021-01-19)
- yaml/pyyaml#407 -- Build modernization, remove distutils, fix metadata, build wheels, CI to GHA
- yaml/pyyaml#472 -- Fix for CVE-2020-14343, moves arbitrary python tags to UnsafeLoader
- yaml/pyyaml#441 -- Fix memory leak in implicit resolver setup
- yaml/pyyaml#392 -- Fix py2 copy support for timezone objects
- yaml/pyyaml#378 -- Fix compatibility with Jython
5.3.1 (2020-03-18)
- yaml/pyyaml#386 -- Prevents arbitrary code execution during python/object/new constructor
5.3 (2020-01-06)
- yaml/pyyaml#290 -- Use
is
instead of equality for comparing withNone
- yaml/pyyaml#270 -- Fix typos and stylistic nit
- yaml/pyyaml#309 -- Fix up small typo
- yaml/pyyaml#161 -- Fix handling of slots
- yaml/pyyaml#358 -- Allow calling add_multi_constructor with None
- yaml/pyyaml#285 -- Add use of safe_load() function in README
- yaml/pyyaml#351 -- Fix reader for Unicode code points over 0xFFFF
- yaml/pyyaml#360 -- Enable certain unicode tests when maxunicode not > 0xffff
- yaml/pyyaml#359 -- Use full_load in yaml-highlight example
- yaml/pyyaml#244 -- Document that PyYAML is implemented with Cython
- yaml/pyyaml#329 -- Fix for Python 3.10
- yaml/pyyaml#310 -- Increase size of index, line, and column fields
- yaml/pyyaml#260 -- Remove some unused imports
- yaml/pyyaml#163 -- Create timezone-aware datetimes when parsed as such
- yaml/pyyaml#363 -- Add tests for timezone
5.2 (2019-12-02)
... (truncated)
8cdff2c
6.0 releasea4fb55e
Update Python 3.10 versions for Windows builde45b964
Add Python 3.10 to tox.ini4808fba
6.0b1 released5aba40
Omnibus CI/artifact build updatea6d384c
Various setup fixes8f3f979
No longer using appveyorc274365
The yaml.load{,_all} functions require Loader= now2f87ac4
Add a basic test file for yaml.load and yaml.dump7bd92df
Makefile tweaksSourced from black's releases.
21.9b0
Packaging
- Fix missing modules in self-contained binaries (#2466)
- Fix missing toml extra used during installation (#2475)
21.8b0
Black
- Add support for formatting Jupyter Notebook files (#2357)
- Move from
appdirs
dependency toplatformdirs
(#2375)- Present a more user-friendly error if .gitignore is invalid (#2414)
- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
- Pin
setuptools-scm
build-time dependency version (#2457)- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
Blackd
- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
Integrations
- The provided pre-commit hooks no longer specify
language_version
to avoid overridingdefault_language_version
(#2430)
Sourced from black's changelog.
21.9b0
Packaging
- Fix missing modules in self-contained binaries (#2466)
- Fix missing toml extra used during installation (#2475)
21.8b0
Black
- Add support for formatting Jupyter Notebook files (#2357)
- Move from
appdirs
dependency toplatformdirs
(#2375)- Present a more user-friendly error if .gitignore is invalid (#2414)
- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
- Pin
setuptools-scm
build-time dependency version (#2457)- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
Blackd
- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
Integrations
- The provided pre-commit hooks no longer specify
language_version
to avoid overridingdefault_language_version
(#2430)
Sourced from pluggy's changelog.
pluggy 1.0.0 (2021-08-25)
Deprecations and Removals
[#116](https://github.com/pytest-dev/pluggy/issues/116) <https://github.com/pytest-dev/pluggy/issues/116>
_: Remove deprecatedimplprefix
support. Decorate hook implementations using an instance of HookimplMarker instead. The deprecation was announced in release0.7.0
.
[#120](https://github.com/pytest-dev/pluggy/issues/120) <https://github.com/pytest-dev/pluggy/issues/120>
_: Remove the deprecatedproc
argument tocall_historic
. Useresult_callback
instead, which has the same behavior. The deprecation was announced in release0.7.0
.
[#265](https://github.com/pytest-dev/pluggy/issues/265) <https://github.com/pytest-dev/pluggy/issues/265>
_: Remove the_Result.result
property. Use_Result.get_result()
instead. Note that unlikeresult
,get_result()
raises the exception if the hook raised. The deprecation was announced in release0.6.0
.
[#267](https://github.com/pytest-dev/pluggy/issues/267) <https://github.com/pytest-dev/pluggy/issues/267>
_: Remove official support for Python 3.4.
[#272](https://github.com/pytest-dev/pluggy/issues/272) <https://github.com/pytest-dev/pluggy/issues/272>
_: Dropped support for Python 2. Continue to use pluggy 0.13.x for Python 2 support.
[#308](https://github.com/pytest-dev/pluggy/issues/308) <https://github.com/pytest-dev/pluggy/issues/308>
_: Remove official support for Python 3.5.
[#313](https://github.com/pytest-dev/pluggy/issues/313) <https://github.com/pytest-dev/pluggy/issues/313>
_: The internalpluggy.callers
,pluggy.manager
andpluggy.hooks
are now explicitly marked private by a_
prefix (e.g.pluggy._callers
). Only API exported by the top-levelpluggy
module is considered public.
[#59](https://github.com/pytest-dev/pluggy/issues/59) <https://github.com/pytest-dev/pluggy/issues/59>
_: Remove legacy__multicall__
recursive hook calling system. The deprecation was announced in release0.5.0
.Features
[#282](https://github.com/pytest-dev/pluggy/issues/282) <https://github.com/pytest-dev/pluggy/issues/282>
_: When registering a hookimpl which is declared ashookwrapper=True
but whose function is not a generator function, aPluggyValidationError
exception is now raised.Previously this problem would cause an error only later, when calling the hook.
In the unlikely case that you have a hookwrapper that returns a generator
... (truncated)
4259fdd
Fix CHANGELOG title manually906abca
Preparing release 1.0.056eb23c
Rename HOWTORELEASE to RELEASING to follow pytestfc6395c
Fix scripts/release.py to use main instead of mastere04816f
Merge pull request #324 from RonnyPfannschmidt/benchmarks1424ab0
add micro benchmarks for hook calling playing with a the number of callers, w...5e51864
Merge pull request #323 from RonnyPfannschmidt/switch-to-main05c3bbd
switch to main as primary branch6b344fb
Merge pull request #319 from RonnyPfannschmidt/pre-commit-update71f2d6b
introduce pyupgrade and update blackSourced from pytest-xdist's changelog.
pytest-xdist 2.4.0 (2021-09-20)
Features
[#696](https://github.com/pytest-dev/pytest-xdist/issues/696) <https://github.com/pytest-dev/pytest-xdist/issues/696>
_: On Linux, the process title now changes to indicate the current worker state (running/idle).Depends on the
setproctitle <https://pypi.org/project/setproctitle/>
__ package, which can be installed withpip install pytest-xdist[setproctitle]
.
[#704](https://github.com/pytest-dev/pytest-xdist/issues/704) <https://github.com/pytest-dev/pytest-xdist/issues/704>
_: Add support for Python 3.10.pytest-xdist 2.3.0 (2021-06-16)
Deprecations and Removals
[#654](https://github.com/pytest-dev/pytest-xdist/issues/654) <https://github.com/pytest-dev/pytest-xdist/issues/654>
_: Python 3.5 is no longer supported.Features
[#646](https://github.com/pytest-dev/pytest-xdist/issues/646) <https://github.com/pytest-dev/pytest-xdist/issues/646>
_: Add--numprocesses=logical
flag, which automatically uses the number of logical CPUs available, instead of physical CPUs withauto
.This is very useful for test suites which are not CPU-bound.
[#650](https://github.com/pytest-dev/pytest-xdist/issues/650) <https://github.com/pytest-dev/pytest-xdist/issues/650>
_: Added newpytest_handlecrashitem
hook to allow handling and rescheduling crashed items.Bug Fixes
[#421](https://github.com/pytest-dev/pytest-xdist/issues/421) <https://github.com/pytest-dev/pytest-xdist/issues/421>
_: Copy the parent process sys.path into local workers, to work around execnet's python -c adding the current directory to sys.path.
[#638](https://github.com/pytest-dev/pytest-xdist/issues/638) <https://github.com/pytest-dev/pytest-xdist/issues/638>
_: Fix issue caused by changing the branch name of the pytest repository.Trivial Changes
[#592](https://github.com/pytest-dev/pytest-xdist/issues/592) <https://github.com/pytest-dev/pytest-xdist/issues/592>
_: Replace master with controller where ever possible.
[#643](https://github.com/pytest-dev/pytest-xdist/issues/643) <https://github.com/pytest-dev/pytest-xdist/issues/643>
_: Use 'main' to refer to pytest default branch in tox env names.pytest-xdist 2.2.1 (2021-02-09)
... (truncated)
4b487ed
Manually fix changelog titleecf4d3b
Release 2.4.087d8979
Merge pull request #704 from hugovk/add-3.10b4544c8
Merge pull request #706 from pytest-dev/pre-commit-ci-update-config66dc390
[pre-commit.ci] pre-commit autoupdatee0ce1b7
Add news file to add support for Python 3.10ed47f0e
Add support for Python 3.101c8178a
Merge pull request #703 from pytest-dev/pre-commit-ci-update-config9807064
[pre-commit.ci] pre-commit autoupdate766e67c
Use setproctitle if available to show state (#696)Sourced from black's releases.
21.8b0
Black
- Add support for formatting Jupyter Notebook files (#2357)
- Move from
appdirs
dependency toplatformdirs
(#2375)- Present a more user-friendly error if .gitignore is invalid (#2414)
- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
- Pin
setuptools-scm
build-time dependency version (#2457)- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
Blackd
- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
Integrations
- The provided pre-commit hooks no longer specify
language_version
to avoid overridingdefault_language_version
(#2430)
Sourced from black's changelog.
21.8b0
Black
- Add support for formatting Jupyter Notebook files (#2357)
- Move from
appdirs
dependency toplatformdirs
(#2375)- Present a more user-friendly error if .gitignore is invalid (#2414)
- The failsafe for accidentally added backslashes in f-string expressions has been hardened to handle more edge cases during quote normalization (#2437)
- Avoid changing a function return type annotation's type to a tuple by adding a trailing comma (#2384)
- Parsing support has been added for unparenthesized walruses in set literals, set comprehensions, and indices (#2447).
- Pin
setuptools-scm
build-time dependency version (#2457)- Exclude typing-extensions version 3.10.0.1 due to it being broken on Python 3.10 (#2460)
Blackd
- Replace sys.exit(-1) with raise ImportError as it plays more nicely with tools that scan installed packages (#2440)
Integrations
- The provided pre-commit hooks no longer specify
language_version
to avoid overridingdefault_language_version
(#2430)
Sourced from black's releases.
21.7b0
Black
- Configuration files using TOML features higher than spec v0.5.0 are now supported (#2301)
- Add primer support and test for code piped into black via STDIN (#2315)
- Fix internal error when
FORCE_OPTIONAL_PARENTHESES
feature is enabled (#2332)- Accept empty stdin (#2346)
- Provide a more useful error when parsing fails during AST safety checks (#2304)
Docker
- Add new
latest_release
tag automation to follow latest black release on docker images (#2374)Integrations
- The vim plugin now searches upwards from the directory containing the current buffer instead of the current working directory for pyproject.toml. (#1871)
- The vim plugin now reads the correct string normalization option in pyproject.toml (#1869)
- The vim plugin no longer crashes Black when there's boolean values in pyproject.toml (#1869)
Sourced from black's changelog.
21.7b0
Black
- Configuration files using TOML features higher than spec v0.5.0 are now supported (#2301)
- Add primer support and test for code piped into black via STDIN (#2315)
- Fix internal error when
FORCE_OPTIONAL_PARENTHESES
feature is enabled (#2332)- Accept empty stdin (#2346)
- Provide a more useful error when parsing fails during AST safety checks (#2304)
Docker
- Add new
latest_release
tag automation to follow latest black release on docker images (#2374)Integrations
- The vim plugin now searches upwards from the directory containing the current buffer instead of the current working directory for pyproject.toml. (#1871)
- The vim plugin now reads the correct string normalization option in pyproject.toml (#1869)
- The vim plugin no longer crashes Black when there's boolean values in pyproject.toml (#1869)
8fc5bf9
Bump version to 0.9.0913e21d
Bump types-cryptography from 3.3.3 to 3.3.5 (#342)c66709d
Bump types-pyopenssl from 20.0.4 to 20.0.5 (#343)5131f79
Add type annotations (#341)a411dad
Bump charset-normalizer from 2.0.3 to 2.0.4 (#340)be5ec8a
Bump sphinx from 4.1.1 to 4.1.2d3b8865
Bump charset-normalizer from 2.0.2 to 2.0.34503bef
Merge pull request #334 from python-trio/dependabot/pip/charset-normalizer-2.0.2ce8099d
Merge pull request #335 from python-trio/dependabot/pip/sphinx-4.1.18b6d3c6
Merge pull request #336 from python-trio/dependabot/pip/idna-3.2Sourced from asgiref's changelog.
3.4.0 (2021-06-27)
Calling sync_to_async directly from inside itself (which causes a deadlock when in the default, thread-sensitive mode) now has deadlock detection.
asyncio usage has been updated to use the new versions of get_event_loop, ensure_future, wait and gather, avoiding deprecation warnings in Python 3.10. Python 3.6 installs continue to use the old versions; this is only for 3.7+
sync_to_async and async_to_sync now have improved type hints that pass through the underlying function type correctly.
All Websocket* types are now spelled WebSocket, to match our specs and the official spelling. The old names will work until release 3.5.0, but will raise deprecation warnings.
The typing for WebSocketScope and HTTPScope's
extensions
key has been fixed.3.3.4 (2021-04-06)
- The async_to_sync type error is now a warning due the high false negative rate when trying to detect coroutine-returning callables in Python.
3.3.3 (2021-04-06)
- The sync conversion functions now correctly detect functools.partial and other wrappers around async functions on earlier Python releases.
3.3.2 (2021-04-05)
SyncToAsync now takes an optional "executor" argument if you want to supply your own executor rather than using the built-in one.
async_to_sync and sync_to_async now check their arguments are functions of the correct type.
Raising CancelledError inside a SyncToAsync function no longer stops a future call from functioning.
ThreadSensitive now provides context hooks/override options so it can be made to be sensitive in a unit smaller than threads (e.g. per request)
... (truncated)
Sourced from pytest-xdist's changelog.
pytest-xdist 2.3.0 (2021-06-16)
Deprecations and Removals
[#654](https://github.com/pytest-dev/pytest-xdist/issues/654) <https://github.com/pytest-dev/pytest-xdist/issues/654>
_: Python 3.5 is no longer supported.Features
[#646](https://github.com/pytest-dev/pytest-xdist/issues/646) <https://github.com/pytest-dev/pytest-xdist/issues/646>
_: Add--numprocesses=logical
flag, which automatically uses the number of logical CPUs available, instead of physical CPUs withauto
.This is very useful for test suites which are not CPU-bound.
[#650](https://github.com/pytest-dev/pytest-xdist/issues/650) <https://github.com/pytest-dev/pytest-xdist/issues/650>
_: Added newpytest_handlecrashitem
hook to allow handling and rescheduling crashed items.Bug Fixes
[#421](https://github.com/pytest-dev/pytest-xdist/issues/421) <https://github.com/pytest-dev/pytest-xdist/issues/421>
_: Copy the parent process sys.path into local workers, to work around execnet's python -c adding the current directory to sys.path.
[#638](https://github.com/pytest-dev/pytest-xdist/issues/638) <https://github.com/pytest-dev/pytest-xdist/issues/638>
_: Fix issue caused by changing the branch name of the pytest repository.Trivial Changes
[#592](https://github.com/pytest-dev/pytest-xdist/issues/592) <https://github.com/pytest-dev/pytest-xdist/issues/592>
_: Replace master with controller where ever possible.
[#643](https://github.com/pytest-dev/pytest-xdist/issues/643) <https://github.com/pytest-dev/pytest-xdist/issues/643>
_: Use 'main' to refer to pytest default branch in tox env names.pytest-xdist 2.2.1 (2021-02-09)
Bug Fixes
[#623](https://github.com/pytest-dev/pytest-xdist/issues/623) <https://github.com/pytest-dev/pytest-xdist/issues/623>
_: Gracefully handle the pending deprecation of Node.fspath by using config.rootpath for topdir.pytest-xdist 2.2.0 (2020-12-14)
Features
... (truncated)
fe57b39
fixup: add release title underline for 2.3.026e7d95
prepare release 2.3.0b02a6db
Merge pull request #667 from graingert/fix-sys-pathb072267
add newsfile881cc48
Merge pull request #672 from pytest-dev/pre-commit-ci-update-config958679e
[pre-commit.ci] pre-commit autoupdate7f07d50
Merge pull request #646 from kroeschl/numprocesses-logicalfb518de
Merge pull request #669 from pytest-dev/pre-commit-ci-update-config0b14d92
[pre-commit.ci] pre-commit autoupdate02f971d
swap docstringf9e13e0
Release 0.8.04ae4435
Merge pull request #304 from python-trio/dependabot/add-v2-config-file8767902
Merge pull request #327 from graingert/test-on-py3106abfddd
Merge branch 'master' of github.com:python-trio/trustme into test-on-py31051d3bdf
Merge pull request #328 from tiran/correct_ku_eku034fb3a
retry codecov more53e121d
try codecov harderc1e7923
require codecov in cie3ac2d6
Update tests/test_trustme.py496dca6
close the wrapped sockets to prevent Unraisable ResourceWarningsSourced from black's releases.
21.6b0
Black
- Fix failure caused by
fmt: skip
and indentation (#2281)- Account for += assignment when deciding whether to split string (#2312)
- Correct max string length calculation when there are string operators (#2292)
- Fixed option usage when using the
--code
flag (#2259)- Do not call
uvloop.install()
when Black is used as a library (#2303)- Added
--required-version
option to require a specific version to be running (#2300)- Fix incorrect custom breakpoint indices when string group contains fake f-strings (#2311)
- Fix regression where
R
prefixes would be lowercased for docstrings (#2285)- Fix handling of named escapes (
\N{...}
) when--experimental-string-processing
is used (#2319)
Sourced from black's changelog.
21.6b0
Black
- Fix failure caused by
fmt: skip
and indentation (#2281)- Account for += assignment when deciding whether to split string (#2312)
- Correct max string length calculation when there are string operators (#2292)
- Fixed option usage when using the
--code
flag (#2259)- Do not call
uvloop.install()
when Black is used as a library (#2303)- Added
--required-version
option to require a specific version to be running (#2300)- Fix incorrect custom breakpoint indices when string group contains fake f-strings (#2311)
- Fix regression where
R
prefixes would be lowercased for docstrings (#2285)- Fix handling of named escapes (
\N{...}
) when--experimental-string-processing
is used (#2319)
Sourced from black's releases.
21.5b2
Black
- A space is no longer inserted into empty docstrings (#2249)
- Fix handling of .gitignore files containing non-ASCII characters on Windows (#2229)
- Respect
.gitignore
files in all levels, not onlyroot/.gitignore
file (apply.gitignore
rules likegit
does) (#2225)- Restored compatibility with Click 8.0 on Python 3.6 when LANG=C used (#2227)
- Add extra uvloop install + import support if in python env (#2258)
- Fix --experimental-string-processing crash when matching parens are not found (#2283)
- Make sure to split lines that start with a string operator (#2286)
- Fix regular expression that black uses to identify f-expressions (#2287)
Blackd
- Add a lower bound for the
aiohttp-cors
dependency. Only 0.4.0 or higher is supported. (#2231)Packaging
- Release self-contained x86_64 MacOS binaries as part of the GitHub release pipeline (#2198)
- Always build binaries with the latest available Python (#2260)
Documentation
- Add discussion of magic comments to FAQ page (#2272)
--experimental-string-processing
will be enabled by default in the future (#2273)- Fix typos discovered by codespell (#2228)
- Fix Vim plugin installation instructions. (#2235)
- Add new Frequently Asked Questions page (#2247)
- Fix encoding + symlink issues preventing proper build on Windows (#2262)
Sourced from black's changelog.
21.5b2
Black
- A space is no longer inserted into empty docstrings (#2249)
- Fix handling of .gitignore files containing non-ASCII characters on Windows (#2229)
- Respect
.gitignore
files in all levels, not onlyroot/.gitignore
file (apply.gitignore
rules likegit
does) (#2225)- Restored compatibility with Click 8.0 on Python 3.6 when LANG=C used (#2227)
- Add extra uvloop install + import support if in python env (#2258)
- Fix --experimental-string-processing crash when matching parens are not found (#2283)
- Make sure to split lines that start with a string operator (#2286)
- Fix regular expression that black uses to identify f-expressions (#2287)
Blackd
- Add a lower bound for the
aiohttp-cors
dependency. Only 0.4.0 or higher is supported. (#2231)Integrations
- The official Black action now supports choosing what version to use, and supports the major 3 OSes. (#1940)
Packaging
- Release self-contained x86_64 MacOS binaries as part of the GitHub release pipeline (#2198)
- Always build binaries with the latest available Python (#2260)
Documentation
- Add discussion of magic comments to FAQ page (#2272)
--experimental-string-processing
will be enabled by default in the future (#2273)- Fix typos discovered by codespell (#2228)
- Fix Vim plugin installation instructions. (#2235)
- Add new Frequently Asked Questions page (#2247)
- Fix encoding + symlink issues preventing proper build on Windows (#2262)
Sourced from black's releases.
21.5b1
Black
- Refactor
src/black/__init__.py
into many files (#2206)Documentation
- Replaced all remaining references to the
master
branch with themain
branch. Some additional changes in the source code were also made. (#2210)- Sigificantly reorganized the documentation to make much more sense. Check them out by heading over to the stable docs on RTD. (#2174)
21.5b0
Black
- Set
--pyi
mode if--stdin-filename
ends in.pyi
(#2169)- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (#2182)
Black-Primer
- Add
--no-diff
to black-primer to suppress formatting changes (#2187)
Sourced from black's changelog.
21.5b1
Black
- Refactor
src/black/__init__.py
into many files (#2206)Documentation
- Replaced all remaining references to the
master
branch with themain
branch. Some additional changes in the source code were also made. (#2210)- Sigificantly reorganized the documentation to make much more sense. Check them out by heading over to the stable docs on RTD. (#2174)
21.5b0
Black
- Set
--pyi
mode if--stdin-filename
ends in.pyi
(#2169)- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (#2182)
Black-Primer
- Add
--no-diff
to black-primer to suppress formatting changes (#2187)
Sourced from click's releases.
8.0.0
New major versions of all the core Pallets libraries, including Click 8.0, have been released! :tada:
- Read the announcement on our blog: https://palletsprojects.com/blog/flask-2-0-released/
- Read the full list of changes: https://click.palletsprojects.com/changes/#version-8-0-0
- Retweet the announcement on Twitter: https://twitter.com/PalletsTeam/status/1392266507296514048
- Follow our blog, Twitter, or GitHub to see future announcements.
This represents a significant amount of work, and there are quite a few changes. Be sure to carefully read the changelog, and use tools such as pip-compile and Dependabot to pin your dependencies and control your updates.
Sourced from click's changelog.
Version 8.0.0
Released 2021-05-11
- Drop support for Python 2 and 3.5.
- Colorama is always installed on Windows in order to provide style and color support. :pr:
1784
- Adds a repr to Command, showing the command name for friendlier debugging. :issue:
1267
, :pr:1295
- Add support for distinguishing the source of a command line parameter. :issue:
1264
, :pr:1329
- Add an optional parameter to
ProgressBar.update
to set thecurrent_item
. :issue:1226
, :pr:1332
version_option
usesimportlib.metadata
(or theimportlib_metadata
backport) instead ofpkg_resources
. :issue:1582
- If validation fails for a prompt with
hide_input=True
, the value is not shown in the error message. :issue:1460
- An
IntRange
orFloatRange
option shows the accepted range in its help text. :issue:1525
, :pr:1303
IntRange
andFloatRange
bounds can be open (<
) instead of closed (<=
) by settingmin_open
andmax_open
. Error messages have changed to reflect this. :issue:1100
- An option defined with duplicate flag names (
"--foo/--foo"
) raises aValueError
. :issue:1465
echo()
will not fail when using pytest'scapsys
fixture on Windows. :issue:1590
- Resolving commands returns the canonical command name instead of the matched name. This makes behavior such as help text and
Context.invoked_subcommand
consistent when using patterns likeAliasedGroup
. :issue:1422
- The
BOOL
type accepts the values "on" and "off". :issue:1629
- A
Group
withinvoke_without_command=True
will always invoke its result callback. :issue:1178
nargs == -1
andnargs > 1
is parsed and validated for values from environment variables and defaults. :issue:729
- Detect the program name when executing a module or package with
python -m name
. :issue:1603
- Include required parent arguments in help synopsis of subcommands. :issue:
1475
- Help for boolean flags with
show_default=True
shows the flag name instead ofTrue
orFalse
. :issue:1538
- Non-string objects passed to
style()
andsecho()
will be converted to string. :pr:1146
edit(require_save=True)
will detect saves for editors that exit very fast on filesystems with 1 second resolution. :pr:1050
- New class attributes make it easier to use custom core objects throughout an entire application. :pr:
938
... (truncated)
9da1669
Merge pull request #1877 from pallets/release-8.0.0dfa6369
release version 8.0.0b862cb1
update requirementsf51584c
Merge pull request #1876 from pallets/pre-commit-ci-schedule804c71c
update pre-commit monthlyac655f8
Merge pull request #1872 from janLuke/fix/formatter_write_textdcd991d
HelpFormatter.write_text uses full width5215fc1
Merge pull request #1870 from AdrienPensart/allow_colors_in_metavare3e1691
repr is erasing ANSI escapes codes482e6e6
Merge pull request #1875 from pallets/pre-commit-ci-update-configSourced from itsdangerous's releases.
2.0.0
New major versions of all the core Pallets libraries, including ItsDangerous 2.0, have been released! :tada:
- Read the announcement on our blog: https://palletsprojects.com/blog/flask-2-0-released/
- Read the full list of changes: https://itsdangerous.palletsprojects.com/changes/#version-2-0-0
- Retweet the announcement on Twitter: https://twitter.com/PalletsTeam/status/1392266507296514048
- Follow our blog, Twitter, or GitHub to see future announcements.
This represents a significant amount of work, and there are quite a few changes. Be sure to carefully read the changelog, and use tools such as pip-compile and Dependabot to pin your dependencies and control your updates.
Sourced from itsdangerous's changelog.
Version 2.0.0
Released 2021-05-11
- Drop support for Python 2 and 3.5.
- JWS support (
JSONWebSignatureSerializer
,TimedJSONWebSignatureSerializer
) is deprecated. Use a dedicated JWS/JWT library such as authlib instead. :issue:129
- Importing
itsdangerous.json
is deprecated. Import Python'sjson
module instead. :pr:152
- Simplejson is no longer used if it is installed. To use a different library, pass it as
Serializer(serializer=...)
. :issue:146
datetime
values are timezone-aware withtimezone.utc
. Code usingTimestampSigner.unsign(return_timestamp=True)
orBadTimeSignature.date_signed
may need to change. :issue:150
- If a signature has an age less than 0, it will raise
SignatureExpired
rather than appearing valid. This can happen if the timestamp offset is changed. :issue:126
BadTimeSignature.date_signed
is always adatetime
object rather than anint
in some cases. :issue:124
- Added support for key rotation. A list of keys can be passed as
secret_key
, oldest to newest. The newest key is used for signing, all keys are tried for unsigning. :pr:141
- Removed the default SHA-512 fallback signer from
default_fallback_signers
. :issue:155
- Add type information for static typing tools. :pr:
186
Version 1.1.0
Released 2018-10-26
- Change default signing algorithm back to SHA-1. :pr:
113
- Added a default SHA-512 fallback for users who used the yanked 1.0.0 release which defaulted to SHA-512. :pr:
114
- Add support for fallback algorithms during deserialization to support changing the default in the future without breaking existing signatures. :pr:
113
- Changed capitalization of packages back to lowercase as the change in capitalization broke some tooling. :pr:
113
Version 1.0.0
Released 2018-10-18
YANKED
... (truncated)
d101100
Merge pull request #235 from pallets/release-2.0.0ca0f59a
release version 2.0.0d1ed89f
update requirementsd1722ea
Merge pull request #234 from pallets/pre-commit-ci-scheduled1eb7aa
update pre-commit monthlyacbc456
Merge pull request #233 from pallets/pre-commit-ci-update-config04e485a
[pre-commit.ci] pre-commit autoupdatec0e6b48
Merge pull request #232 from pallets/pre-commit-ci-update-config6a9df83
[pre-commit.ci] pre-commit autoupdate477f42c
Merge pull request #231 from pallets/dependabot/pip/pre-commit-2.12.1Sourced from jinja2's releases.
3.0.0
New major versions of all the core Pallets libraries, including Jinja 3.0, have been released! :tada:
- Read the announcement on our blog: https://palletsprojects.com/blog/flask-2-0-released/
- Read the full list of changes: https://jinja.palletsprojects.com/changes/#version-3-0-0
- Retweet the announcement on Twitter: https://twitter.com/PalletsTeam/status/1392266507296514048
- Follow our blog, Twitter, or GitHub to see future announcements.
This represents a significant amount of work, and there are quite a few changes. Be sure to carefully read the changelog, and use tools such as pip-compile and Dependabot to pin your dependencies and control your updates.
Sourced from jinja2's changelog.
Version 3.0.0
Released 2021-05-11
- Drop support for Python 2.7 and 3.5.
- Bump MarkupSafe dependency to >=1.1.
- Bump Babel optional dependency to >=2.1.
- Remove code that was marked deprecated.
- Add type hinting. :pr:
1412
- Use :pep:
451
API to load templates with :class:~loaders.PackageLoader
. :issue:1168
- Fix a bug that caused imported macros to not have access to the current template's globals. :issue:
688
- Add ability to ignore
trim_blocks
using+%}
. :issue:1036
- Fix a bug that caused custom async-only filters to fail with constant input. :issue:
1279
- Fix UndefinedError incorrectly being thrown on an undefined variable instead of
Undefined
being returned onNativeEnvironment
on Python 3.10. :issue:1335
- Blocks can be marked as
required
. They must be overridden at some point, but not necessarily by the direct child. :issue:1147
- Deprecate the
autoescape
andwith
extensions, they are built-in to the compiler. :issue:1203
- The
urlize
filter recognizesmailto:
links and takesextra_schemes
(orenv.policies["urlize.extra_schemes"]
) to recognize other schemes. It tries to balance parentheses within a URL instead of ignoring trailing characters. The parsing in general has been updated to be more efficient and match more cases. URLs without a scheme are linked ashttps://
instead ofhttp://
. :issue:522, 827, 1172
, :pr:1195
- Filters that get attributes, such as
map
andgroupby
, can use a false or empty value as a default. :issue:1331
- Fix a bug that prevented variables set in blocks or loops from being accessed in custom context functions. :issue:
768
- Fix a bug that caused scoped blocks from accessing special loop variables. :issue:
1088
- Update the template globals when calling
Environment.get_template(globals=...)
even if the template was already loaded. :issue:295
- Do not raise an error for undefined filters in unexecuted if-statements and conditional expressions. :issue:
842
- Add
is filter
andis test
tests to test if a name is a registered filter or test. This allows checking if a filter is available in a template before using it. Test functions can be decorated with@pass_environment
,@pass_eval_context
, or@pass_context
. :issue:842
, :pr:1248
- Support
pgettext
andnpgettext
(message contexts) in i18n extension. :issue:441
- The
|indent
filter'swidth
argument can be a string to
... (truncated)
417f822
Merge pull request #1417 from pallets/release-3.0.0b15fd1c
release version 3.0.0eed1546
update requirements9627e73
Merge pull request #1416 from pallets/pre-commit-ci-schedule6630044
update pre-commit monthlye1bf3bc
Merge pull request #1415 from pallets/pre-commit-ci-update-config0798a66
[pre-commit.ci] pre-commit autoupdate53fea33
Merge pull request #1414 from pallets/typing-markerba1f27e
fix py.typed in manifest1a3342b
Merge pull request #1412 from pallets/typingSourced from black's releases.
21.5b0
Black
- Set
--pyi
mode if--stdin-filename
ends in.pyi
(#2169)- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (#2182)
Black-Primer
- Add
--no-diff
to black-primer to suppress formatting changes (#2187)
Sourced from black's changelog.
21.5b0
Black
- Set
--pyi
mode if--stdin-filename
ends in.pyi
(#2169)- Stop detecting target version as Python 3.9+ with pre-PEP-614 decorators that are being called but with no arguments (#2182)
Black-Primer
- Add
--no-diff
to black-primer to suppress formatting changes (#2187)
Sourced from black's releases.
21.4b2
Black
Fix crash if the user configuration directory is inaccessible. (#2158)
Clarify circumstances in which Black may change the AST (#2159)
Packaging
- Install
primer.json
(used byblack-primer
by default) with black. (#2154)21.4b1
Black
Fix crash on docstrings ending with "\ ". (#2142)
Fix crash when atypical whitespace is cleaned out of dostrings (#2120)
Reflect the
--skip-magic-trailing-comma
and--experimental-string-processing
flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (#2131)Don't remove necessary parentheses from assignment expression containing assert / return statements. (#2143)
Packaging
- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
... (truncated)
Sourced from black's changelog.
21.4b2
Black
Fix crash if the user configuration directory is inaccessible. (#2158)
Clarify circumstances in which Black may change the AST (#2159)
Packaging
- Install
primer.json
(used byblack-primer
by default) with black. (#2154)21.4b1
Black
Fix crash on docstrings ending with "\ ". (#2142)
Fix crash when atypical whitespace is cleaned out of dostrings (#2120)
Reflect the
--skip-magic-trailing-comma
and--experimental-string-processing
flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (#2131)Don't remove necessary parentheses from assignment expression containing assert / return statements. (#2143)
Packaging
- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
... (truncated)
Sourced from black's releases.
21.4b1
Black
Fix crash on docstrings ending with "\ ". (#2142)
Fix crash when atypical whitespace is cleaned out of dostrings (#2120)
Reflect the
--skip-magic-trailing-comma
and--experimental-string-processing
flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (#2131)Don't remove necessary parentheses from assignment expression containing assert / return statements. (#2143)
Packaging
- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
Black
no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (#1655)Added
--skip-magic-trailing-comma
/-C
to avoid using trailing commas as a reason to split lines (#1824)fixed a crash when PWD=/ on POSIX (#1631)
fixed "I/O operation on closed file" when using --diff (#1664)
Prevent coloured diff output being interleaved with multiple files (#1673)
Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)
... (truncated)
Sourced from black's changelog.
21.4b1
Black
Fix crash on docstrings ending with "\ ". (#2142)
Fix crash when atypical whitespace is cleaned out of dostrings (#2120)
Reflect the
--skip-magic-trailing-comma
and--experimental-string-processing
flags in the name of the cache file. Without this fix, changes in these flags would not take effect if the cache had already been populated. (#2131)Don't remove necessary parentheses from assignment expression containing assert / return statements. (#2143)
Packaging
- Bump pathspec to >= 0.8.1 to solve invalid .gitignore exclusion handling
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
Black
no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (#1655)Added
--skip-magic-trailing-comma
/-C
to avoid using trailing commas as a reason to split lines (#1824)fixed a crash when PWD=/ on POSIX (#1631)
fixed "I/O operation on closed file" when using --diff (#1664)
Prevent coloured diff output being interleaved with multiple files (#1673)
... (truncated)
Sourced from black's releases.
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
Black
no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (#1655)Added
--skip-magic-trailing-comma
/-C
to avoid using trailing commas as a reason to split lines (#1824)fixed a crash when PWD=/ on POSIX (#1631)
fixed "I/O operation on closed file" when using --diff (#1664)
Prevent coloured diff output being interleaved with multiple files (#1673)
Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)
Added parsing support for unparenthesized tuples and yield expressions in annotated assignments (#1835)
use lowercase hex strings (#1692)
added
--extend-exclude
argument (PR #2005)speed up caching by avoiding pathlib (#1950)
--diff
correctly indicates when a file doesn't end in a newline (#1662)Added
--stdin-filename
argument to allow stdin to respect--force-exclude
rules (#1780)Lines ending with
fmt: skip
will now be not formatted (#1800)PR #2053: Black no longer relies on typed-ast for Python 3.8 and higher
... (truncated)
Sourced from black's changelog.
21.4b0
Black
Fixed a rare but annoying formatting instability created by the combination of optional trailing commas inserted by
Black
and optional parentheses looking at pre-existing "magic" trailing commas. This fixes issue #1629 and all of its many many duplicates. (#2126)
Black
now processes one-line docstrings by stripping leading and trailing spaces, and adding a padding space when needed to break up """". (#1740)
Black
now cleans up leading non-breaking spaces in comments (#2092)
Black
now respects--skip-string-normalization
when normalizing multiline docstring quotes (#1637)
Black
no longer removes all empty lines between non-function code and decorators when formatting typing stubs. NowBlack
enforces a single empty line. (#1646)
Black
no longer adds an incorrect space after a parenthesized assignment expression in if/while statements (#1655)Added
--skip-magic-trailing-comma
/-C
to avoid using trailing commas as a reason to split lines (#1824)fixed a crash when PWD=/ on POSIX (#1631)
fixed "I/O operation on closed file" when using --diff (#1664)
Prevent coloured diff output being interleaved with multiple files (#1673)
Added support for PEP 614 relaxed decorator syntax on python 3.9 (#1711)
Added parsing support for unparenthesized tuples and yield expressions in annotated assignments (#1835)
added
--extend-exclude
argument (PR #2005)speed up caching by avoiding pathlib (#1950)
--diff
correctly indicates when a file doesn't end in a newline (#1662)Added
--stdin-filename
argument to allow stdin to respect--force-exclude
rules (#1780)Lines ending with
fmt: skip
will now be not formatted (#1800)PR #2053: Black no longer relies on typed-ast for Python 3.8 and higher
... (truncated)
7aa574a
0.15.0dadff91
Remove poetryd4b79ea
Lint22d91b2
Black linting5c47b78
Covecov22e338a
Fix CI70cbdef
Travis -> GitHub Actions740af18
Close event loops when replacing thema516134
plugin: Set unused_tcp_port_factory scope to 'session'1bb7f30
refactor: Removed the "_35" and "_36" suffixes from test modules.