python-pillow/Pillow (Pillow)
### [`v10.2.0`](https://togithub.com/python-pillow/Pillow/blob/HEAD/CHANGES.rst#1020-2024-01-02)
[Compare Source](https://togithub.com/python-pillow/Pillow/compare/10.1.0...10.2.0)
- Add `keep_rgb` option when saving JPEG to prevent conversion of RGB colorspace [#7553](https://togithub.com/python-pillow/Pillow/issues/7553)
\[bgilbert, radarhere]
- Trim glyph size in ImageFont.getmask() [#7669](https://togithub.com/python-pillow/Pillow/issues/7669), [#7672](https://togithub.com/python-pillow/Pillow/issues/7672)
\[radarhere, nulano]
- Deprecate IptcImagePlugin helpers [#7664](https://togithub.com/python-pillow/Pillow/issues/7664)
\[nulano, hugovk, radarhere]
- Allow uncompressed TIFF images to be saved in chunks [#7650](https://togithub.com/python-pillow/Pillow/issues/7650)
\[radarhere]
- Concatenate multiple JPEG EXIF markers [#7496](https://togithub.com/python-pillow/Pillow/issues/7496)
\[radarhere]
- Changed IPTC tile tuple to match other plugins [#7661](https://togithub.com/python-pillow/Pillow/issues/7661)
\[radarhere]
- Do not assign new fp attribute when exiting context manager [#7566](https://togithub.com/python-pillow/Pillow/issues/7566)
\[radarhere]
- Support arbitrary masks for uncompressed RGB DDS images [#7589](https://togithub.com/python-pillow/Pillow/issues/7589)
\[radarhere, akx]
- Support setting ROWSPERSTRIP tag [#7654](https://togithub.com/python-pillow/Pillow/issues/7654)
\[radarhere]
- Apply ImageFont.MAX_STRING_LENGTH to ImageFont.getmask() [#7662](https://togithub.com/python-pillow/Pillow/issues/7662)
\[radarhere]
- Optimise `ImageColor` using `functools.lru_cache` [#7657](https://togithub.com/python-pillow/Pillow/issues/7657)
\[hugovk]
- Restricted environment keys for ImageMath.eval() [#7655](https://togithub.com/python-pillow/Pillow/issues/7655)
\[wiredfool, radarhere]
- Optimise `ImageMode.getmode` using `functools.lru_cache` [#7641](https://togithub.com/python-pillow/Pillow/issues/7641)
\[hugovk, radarhere]
- Fix incorrect color blending for overlapping glyphs [#7497](https://togithub.com/python-pillow/Pillow/issues/7497)
\[ZachNagengast, nulano, radarhere]
- Attempt memory mapping when tile args is a string [#7565](https://togithub.com/python-pillow/Pillow/issues/7565)
\[radarhere]
- Fill identical pixels with transparency in subsequent frames when saving GIF [#7568](https://togithub.com/python-pillow/Pillow/issues/7568)
\[radarhere]
- Corrected duration when combining multiple GIF frames into single frame [#7521](https://togithub.com/python-pillow/Pillow/issues/7521)
\[radarhere]
- Handle disposing GIF background from outside palette [#7515](https://togithub.com/python-pillow/Pillow/issues/7515)
\[radarhere]
- Seek past the data when skipping a PSD layer [#7483](https://togithub.com/python-pillow/Pillow/issues/7483)
\[radarhere]
- Import plugins relative to the module [#7576](https://togithub.com/python-pillow/Pillow/issues/7576)
\[deliangyang, jaxx0n]
- Translate encoder error codes to strings; deprecate `ImageFile.raise_oserror()` [#7609](https://togithub.com/python-pillow/Pillow/issues/7609)
\[bgilbert, radarhere]
- Support reading BC4U and DX10 BC1 images [#6486](https://togithub.com/python-pillow/Pillow/issues/6486)
\[REDxEYE, radarhere, hugovk]
- Optimize ImageStat.Stat.extrema [#7593](https://togithub.com/python-pillow/Pillow/issues/7593)
\[florath, radarhere]
- Handle pathlib.Path in FreeTypeFont [#7578](https://togithub.com/python-pillow/Pillow/issues/7578)
\[radarhere, hugovk, nulano]
- Added support for reading DX10 BC4 DDS images [#7603](https://togithub.com/python-pillow/Pillow/issues/7603)
\[sambvfx, radarhere]
- Optimized ImageStat.Stat.count [#7599](https://togithub.com/python-pillow/Pillow/issues/7599)
\[florath]
- Correct PDF palette size when saving [#7555](https://togithub.com/python-pillow/Pillow/issues/7555)
\[radarhere]
- Fixed closing file pointer with olefile 0.47 [#7594](https://togithub.com/python-pillow/Pillow/issues/7594)
\[radarhere]
- Raise ValueError when TrueType font size is not greater than zero [#7584](https://togithub.com/python-pillow/Pillow/issues/7584), [#7587](https://togithub.com/python-pillow/Pillow/issues/7587)
\[akx, radarhere]
- If absent, do not try to close fp when closing image [#7557](https://togithub.com/python-pillow/Pillow/issues/7557)
\[RaphaelVRossi, radarhere]
- Allow configuring JPEG restart marker interval on save [#7488](https://togithub.com/python-pillow/Pillow/issues/7488)
\[bgilbert, radarhere]
- Decrement reference count for PyObject [#7549](https://togithub.com/python-pillow/Pillow/issues/7549)
\[radarhere]
- Implement `streamtype=1` option for tables-only JPEG encoding [#7491](https://togithub.com/python-pillow/Pillow/issues/7491)
\[bgilbert, radarhere]
- If save_all PNG only has one frame, do not create animated image [#7522](https://togithub.com/python-pillow/Pillow/issues/7522)
\[radarhere]
- Fixed frombytes() for images with a zero dimension [#7493](https://togithub.com/python-pillow/Pillow/issues/7493)
\[radarhere]
actions/setup-python (actions/setup-python)
### [`v4.8.0`](https://togithub.com/actions/setup-python/releases/tag/v4.8.0)
[Compare Source](https://togithub.com/actions/setup-python/compare/v4.7.1...v4.8.0)
#### What's Changed
In scope of this release we added support for GraalPy ([https://github.com/actions/setup-python/pull/694](https://togithub.com/actions/setup-python/pull/694)). You can use this snippet to set up GraalPy:
```yaml
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
with:
python-version: 'graalpy-22.3'
- run: python my_script.py
```
Besides, the release contains such changes as:
- Trim python version when reading from file by [@FerranPares](https://togithub.com/FerranPares) in [https://github.com/actions/setup-python/pull/628](https://togithub.com/actions/setup-python/pull/628)
- Use non-deprecated versions in examples by [@jeffwidman](https://togithub.com/jeffwidman) in [https://github.com/actions/setup-python/pull/724](https://togithub.com/actions/setup-python/pull/724)
- Change deprecation comment to past tense by [@jeffwidman](https://togithub.com/jeffwidman) in [https://github.com/actions/setup-python/pull/723](https://togithub.com/actions/setup-python/pull/723)
- Bump [@babel/traverse](https://togithub.com/babel/traverse) from 7.9.0 to 7.23.2 by [@dependabot](https://togithub.com/dependabot) in [https://github.com/actions/setup-python/pull/743](https://togithub.com/actions/setup-python/pull/743)
- advanced-usage.md: Encourage the use actions/checkout@v4 by [@cclauss](https://togithub.com/cclauss) in [https://github.com/actions/setup-python/pull/729](https://togithub.com/actions/setup-python/pull/729)
- Examples now use checkout@v4 by [@simonw](https://togithub.com/simonw) in [https://github.com/actions/setup-python/pull/738](https://togithub.com/actions/setup-python/pull/738)
- Update actions/checkout to v4 by [@dmitry-shibanov](https://togithub.com/dmitry-shibanov) in [https://github.com/actions/setup-python/pull/761](https://togithub.com/actions/setup-python/pull/761)
#### New Contributors
- [@FerranPares](https://togithub.com/FerranPares) made their first contribution in [https://github.com/actions/setup-python/pull/628](https://togithub.com/actions/setup-python/pull/628)
- [@timfel](https://togithub.com/timfel) made their first contribution in [https://github.com/actions/setup-python/pull/694](https://togithub.com/actions/setup-python/pull/694)
- [@jeffwidman](https://togithub.com/jeffwidman) made their first contribution in [https://github.com/actions/setup-python/pull/724](https://togithub.com/actions/setup-python/pull/724)
**Full Changelog**: https://github.com/actions/setup-python/compare/v4...v4.8.0
aio-libs/aiohttp (aiohttp)
### [`v3.9.3`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#393-2024-01-29)
[Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.2...v3.9.3)
\==================
## Bug fixes
- Fixed backwards compatibility breakage (in 3.9.2) of `ssl` parameter when set outside
of `ClientSession` (e.g. directly in `TCPConnector`) -- by :user:`Dreamsorcerer`.
*Related issues and pull requests on GitHub:*
:issue:`8097`, :issue:`8098`.
## Miscellaneous internal changes
- Improved test suite handling of paths and temp files to consistently use pathlib and pytest fixtures.
*Related issues and pull requests on GitHub:*
:issue:`3957`.
***
### [`v3.9.2`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#392-2024-01-28)
[Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.1...v3.9.2)
\==================
## Bug fixes
- Fixed server-side websocket connection leak.
*Related issues and pull requests on GitHub:*
:issue:`7978`.
- Fixed `web.FileResponse` doing blocking I/O in the event loop.
*Related issues and pull requests on GitHub:*
:issue:`8012`.
- Fixed double compress when compression enabled and compressed file exists in server file responses.
*Related issues and pull requests on GitHub:*
:issue:`8014`.
- Added runtime type check for `ClientSession` `timeout` parameter.
*Related issues and pull requests on GitHub:*
:issue:`8021`.
- Fixed an unhandled exception in the Python HTTP parser on header lines starting with a colon -- by :user:`pajod`.
Invalid request lines with anything but a dot between the HTTP major and minor version are now rejected.
Invalid header field names containing question mark or slash are now rejected.
Such requests are incompatible with :rfc:`9110#section-5.6.2` and are not known to be of any legitimate use.
*Related issues and pull requests on GitHub:*
:issue:`8074`.
- Improved validation of paths for static resources requests to the server -- by :user:`bdraco`.
*Related issues and pull requests on GitHub:*
:issue:`8079`.
## Features
- Added support for passing :py:data:`True` to `ssl` parameter in `ClientSession` while
deprecating :py:data:`None` -- by :user:`xiangyan99`.
*Related issues and pull requests on GitHub:*
:issue:`7698`.
## Breaking changes
- Fixed an unhandled exception in the Python HTTP parser on header lines starting with a colon -- by :user:`pajod`.
Invalid request lines with anything but a dot between the HTTP major and minor version are now rejected.
Invalid header field names containing question mark or slash are now rejected.
Such requests are incompatible with :rfc:`9110#section-5.6.2` and are not known to be of any legitimate use.
*Related issues and pull requests on GitHub:*
:issue:`8074`.
## Improved documentation
- Fixed examples of `fallback_charset_resolver` function in the :doc:`client_advanced` document. -- by :user:`henry0312`.
*Related issues and pull requests on GitHub:*
:issue:`7995`.
- The Sphinx setup was updated to avoid showing the empty
changelog draft section in the tagged release documentation
builds on Read The Docs -- by :user:`webknjaz`.
*Related issues and pull requests on GitHub:*
:issue:`8067`.
## Packaging updates and notes for downstreams
- The changelog categorization was made clearer. The
contributors can now mark their fragment files more
accurately -- by :user:`webknjaz`.
The new category tags are:
* ``bugfix``
* ``feature``
* ``deprecation``
* ``breaking`` (previously, ``removal``)
* ``doc``
* ``packaging``
* ``contrib``
* ``misc``
*Related issues and pull requests on GitHub:*
:issue:`8066`.
## Contributor-facing changes
- Updated :ref:`contributing/Tests coverage ` section to show how we use `codecov` -- by :user:`Dreamsorcerer`.
*Related issues and pull requests on GitHub:*
:issue:`7916`.
- The changelog categorization was made clearer. The
contributors can now mark their fragment files more
accurately -- by :user:`webknjaz`.
The new category tags are:
* ``bugfix``
* ``feature``
* ``deprecation``
* ``breaking`` (previously, ``removal``)
* ``doc``
* ``packaging``
* ``contrib``
* ``misc``
*Related issues and pull requests on GitHub:*
:issue:`8066`.
## Miscellaneous internal changes
- Replaced all `tmpdir` fixtures with `tmp_path` in test suite.
*Related issues and pull requests on GitHub:*
:issue:`3551`.
***
### [`v3.9.1`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#391-2023-11-26)
[Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.0...v3.9.1)
\==================
## Bugfixes
- Fixed importing aiohttp under PyPy on Windows.
`#7848 `\_
- Fixed async concurrency safety in websocket compressor.
`#7865 `\_
- Fixed `ClientResponse.close()` releasing the connection instead of closing.
`#7869 `\_
- Fixed a regression where connection may get closed during upgrade. -- by :user:`Dreamsorcerer`
`#7879 `\_
- Fixed messages being reported as upgraded without an Upgrade header in Python parser. -- by :user:`Dreamsorcerer`
`#7895 `\_
***
### [`v3.9.0`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#390-2023-11-18)
[Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.8.6...v3.9.0)
\==================
## Features
- Introduced `AppKey` for static typing support of `Application` storage.
See https://docs.aiohttp.org/en/stable/web_advanced.html#application-s-config
`#5864 `\_
- Added a graceful shutdown period which allows pending tasks to complete before the application's cleanup is called.
The period can be adjusted with the `shutdown_timeout` parameter. -- by :user:`Dreamsorcerer`.
See https://docs.aiohttp.org/en/latest/web_advanced.html#graceful-shutdown
`#7188 `\_
- Added `handler_cancellation `\_ parameter to cancel web handler on client disconnection. -- by :user:`mosquito`
This (optionally) reintroduces a feature removed in a previous release.
Recommended for those looking for an extra level of protection against denial-of-service attacks.
`#7056 `\_
- Added support for setting response header parameters `max_line_size` and `max_field_size`.
`#2304 `\_
- Added `auto_decompress` parameter to `ClientSession.request` to override `ClientSession._auto_decompress`. -- by :user:`Daste745`
`#3751 `\_
- Changed `raise_for_status` to allow a coroutine.
`#3892 `\_
- Added client brotli compression support (optional with runtime check).
`#5219 `\_
- Added `client_max_size` to `BaseRequest.clone()` to allow overriding the request body size. -- :user:`anesabml`.
`#5704 `\_
- Added a middleware type alias `aiohttp.typedefs.Middleware`.
`#5898 `\_
- Exported `HTTPMove` which can be used to catch any redirection request
that has a location -- :user:`dreamsorcerer`.
`#6594 `\_
- Changed the `path` parameter in `web.run_app()` to accept a `pathlib.Path` object.
`#6839 `\_
- Performance: Skipped filtering `CookieJar` when the jar is empty or all cookies have expired.
`#7819 `\_
- Performance: Only check origin if insecure scheme and there are origins to treat as secure, in `CookieJar.filter_cookies()`.
`#7821 `\_
- Performance: Used timestamp instead of `datetime` to achieve faster cookie expiration in `CookieJar`.
`#7824 `\_
- Added support for passing a custom server name parameter to HTTPS connection.
`#7114 `\_
- Added support for using Basic Auth credentials from :file:`.netrc` file when making HTTP requests with the
:py:class:`~aiohttp.ClientSession` `trust_env` argument is set to `True`. -- by :user:`yuvipanda`.
`#7131 `\_
- Turned access log into no-op when the logger is disabled.
`#7240 `\_
- Added typing information to `RawResponseMessage`. -- by :user:`Gobot1234`
`#7365 `\_
- Removed `async-timeout` for Python 3.11+ (replaced with `asyncio.timeout()` on newer releases).
`#7502 `\_
- Added support for `brotlicffi` as an alternative to `brotli` (fixing Brotli support on PyPy).
`#7611 `\_
- Added `WebSocketResponse.get_extra_info()` to access a protocol transport's extra info.
`#7078 `\_
- Allow `link` argument to be set to None/empty in HTTP 451 exception.
`#7689 `\_
## Bugfixes
- Implemented stripping the trailing dots from fully-qualified domain names in `Host` headers and TLS context when acting as an HTTP client.
This allows the client to connect to URLs with FQDN host name like `https://example.com./`.
\-- by :user:`martin-sucha`.
`#3636 `\_
- Fixed client timeout not working when incoming data is always available without waiting. -- by :user:`Dreamsorcerer`.
`#5854 `\_
- Fixed `readuntil` to work with a delimiter of more than one character.
`#6701 `\_
- Added `__repr__` to `EmptyStreamReader` to avoid `AttributeError`.
`#6916 `\_
- Fixed bug when using `TCPConnector` with `ttl_dns_cache=0`.
`#7014 `\_
- Fixed response returned from expect handler being thrown away. -- by :user:`Dreamsorcerer`
`#7025 `\_
- Avoided raising `UnicodeDecodeError` in multipart and in HTTP headers parsing.
`#7044 `\_
- Changed `sock_read` timeout to start after writing has finished, avoiding read timeouts caused by an unfinished write. -- by :user:`dtrifiro`
`#7149 `\_
- Fixed missing query in tracing method URLs when using `yarl` 1.9+.
`#7259 `\_
- Changed max 32-bit timestamp to an aware datetime object, for consistency with the non-32-bit one, and to avoid a `DeprecationWarning` on Python 3.12.
`#7302 `\_
- Fixed `EmptyStreamReader.iter_chunks()` never ending. -- by :user:`mind1m`
`#7616 `\_
- Fixed a rare `RuntimeError: await wasn't used with future` exception. -- by :user:`stalkerg`
`#7785 `\_
- Fixed issue with insufficient HTTP method and version validation.
`#7700 `\_
- Added check to validate that absolute URIs have schemes.
`#7712 `\_
- Fixed unhandled exception when Python HTTP parser encounters unpaired Unicode surrogates.
`#7715 `\_
- Updated parser to disallow invalid characters in header field names and stop accepting LF as a request line separator.
`#7719 `\_
- Fixed Python HTTP parser not treating 204/304/1xx as an empty body.
`#7755 `\_
- Ensure empty body response for 1xx/204/304 per RFC 9112 sec 6.3.
`#7756 `\_
- Fixed an issue when a client request is closed before completing a chunked payload. -- by :user:`Dreamsorcerer`
`#7764 `\_
- Edge Case Handling for ResponseParser for missing reason value.
`#7776 `\_
- Fixed `ClientWebSocketResponse.close_code` being erroneously set to `None` when there are concurrent async tasks receiving data and closing the connection.
`#7306 `\_
- Added HTTP method validation.
`#6533 `\_
- Fixed arbitrary sequence types being allowed to inject values via version parameter. -- by :user:`Dreamsorcerer`
`#7835 `\_
- Performance: Fixed increase in latency with small messages from websocket compression changes.
`#7797 `\_
## Improved Documentation
- Fixed the `ClientResponse.release`'s type in the doc. Changed from `comethod` to `method`.
`#5836 `\_
- Added information on behavior of base_url parameter in `ClientSession`.
`#6647 `\_
- Fixed `ClientResponseError` docs.
`#6700 `\_
- Updated Redis code examples to follow the latest API.
`#6907 `\_
- Added a note about possibly needing to update headers when using `on_response_prepare`. -- by :user:`Dreamsorcerer`
`#7283 `\_
- Completed `trust_env` parameter description to honor `wss_proxy`, `ws_proxy` or `no_proxy` env.
`#7325 `\_
- Expanded SSL documentation with more examples (e.g. how to use certifi). -- by :user:`Dreamsorcerer`
`#7334 `\_
- Fix, update, and improve client exceptions documentation.
`#7733 `\_
## Deprecations and Removals
- Added `shutdown_timeout` parameter to `BaseRunner`, while
deprecating `shutdown_timeout` parameter from `BaseSite`. -- by :user:`Dreamsorcerer`
`#7718 `\_
- Dropped Python 3.6 support.
`#6378 `\_
- Dropped Python 3.7 support. -- by :user:`Dreamsorcerer`
`#7336 `\_
- Removed support for abandoned `tokio` event loop. -- by :user:`Dreamsorcerer`
`#7281 `\_
## Misc
- Made `print` argument in `run_app()` optional.
`#3690 `\_
- Improved performance of `ceil_timeout` in some cases.
`#6316 `\_
- Changed importing Gunicorn to happen on-demand, decreasing import time by ~53%. -- :user:`Dreamsorcerer`
`#6591 `\_
- Improved import time by replacing `http.server` with `http.HTTPStatus`.
`#6903 `\_
- Fixed annotation of `ssl` parameter to disallow `True`. -- by :user:`Dreamsorcerer`.
`#7335 `\_
***
tkem/cachetools (cachetools)
### [`v5.3.3`](https://togithub.com/tkem/cachetools/blob/HEAD/CHANGELOG.rst#v533-2024-02-26)
[Compare Source](https://togithub.com/tkem/cachetools/compare/v5.3.2...v5.3.3)
\===================
- Documentation improvements.
- Update CI environment.
carpedm20/emoji (emoji)
### [`v2.11.0`](https://togithub.com/carpedm20/emoji/blob/HEAD/CHANGES.md#v2110-2024-03-26)
[Compare Source](https://togithub.com/carpedm20/emoji/compare/v2.10.1...v2.11.0)
- Update to Unicode v15.1
### [`v2.10.1`](https://togithub.com/carpedm20/emoji/blob/HEAD/CHANGES.md#v2101-TBD)
[Compare Source](https://togithub.com/carpedm20/emoji/compare/v2.10.0...v2.10.1)
- Fix slow import when debugging in Python 3.12 [#280](https://togithub.com/carpedm20/emoji/issues/280)
### [`v2.10.0`](https://togithub.com/carpedm20/emoji/blob/HEAD/CHANGES.md#v2100-2024-01-18)
[Compare Source](https://togithub.com/carpedm20/emoji/compare/v2.9.0...v2.10.0)
- Added Arabic and Turkish translations
### [`v2.9.0`](https://togithub.com/carpedm20/emoji/blob/HEAD/CHANGES.md#v290-2023-12-05)
[Compare Source](https://togithub.com/carpedm20/emoji/compare/v2.8.0...v2.9.0)
- Added Russian translation
kurtmckee/feedparser (feedparser)
### [`v6.0.11`](https://togithub.com/kurtmckee/feedparser/blob/HEAD/CHANGELOG.rst#6011---2023-12-10)
[Compare Source](https://togithub.com/kurtmckee/feedparser/compare/6.0.10...6.0.11)
\===================
- Resolve `cgi` module deprecation warnings. ([#330](https://togithub.com/kurtmckee/feedparser/issues/330))
nonebot/nb-cli (nb-cli)
### [`v1.4.0`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.4.0): Release 1.4.0
[Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.3.1...v1.4.0)
##### What's Changed
- Feature: 兼容 Pydantic v2 by [@AzideCupric](https://togithub.com/AzideCupric) in [https://github.com/nonebot/nb-cli/pull/120](https://togithub.com/nonebot/nb-cli/pull/120)
**Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.3.1...v1.4.0
### [`v1.3.1`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.3.1): Release 1.3.1
[Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.3.0...v1.3.1)
**Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.3.0...v1.3.1
### [`v1.3.0`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.3.0): Release 1.3.0
[Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.2.9...v1.3.0)
**Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.2.9...v1.3.0
### [`v1.2.9`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.2.9): Release 1.2.9
[Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.2.8...v1.2.9)
**Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.2.8...v1.2.9
### [`v1.2.8`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.2.8): Release 1.2.8
[Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.2.7...v1.2.8)
##### What's Changed
- Support run nb-cli using docker container
**Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.2.7...v1.2.8
### [`v1.2.7`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.2.7): Release 1.2.7
[Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.2.6...v1.2.7)
##### What's Changed
- Feature: add `reload-dirs` option to run project by [@shoucandanghehe](https://togithub.com/shoucandanghehe) in [https://github.com/nonebot/nb-cli/pull/105](https://togithub.com/nonebot/nb-cli/pull/105)
- Fix: 修复删除适配器前的索引确认问题 by [@Kyomotoi](https://togithub.com/Kyomotoi) in [https://github.com/nonebot/nb-cli/pull/106](https://togithub.com/nonebot/nb-cli/pull/106)
**Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.2.6...v1.2.7
nonebot/adapter-onebot (nonebot-adapter-onebot)
### [`v2.4.3`](https://togithub.com/nonebot/adapter-onebot/releases/tag/v2.4.3): Release 2.4.3
[Compare Source](https://togithub.com/nonebot/adapter-onebot/compare/v2.4.2...v2.4.3)
##### What's Changed
- Fix: 加群/添加好友请求的 comment 可能为 None by [@ishkong](https://togithub.com/ishkong) in [https://github.com/nonebot/adapter-onebot/pull/98](https://togithub.com/nonebot/adapter-onebot/pull/98)
**Full Changelog**: https://github.com/nonebot/adapter-onebot/compare/v2.4.2...v2.4.3
### [`v2.4.2`](https://togithub.com/nonebot/adapter-onebot/releases/tag/v2.4.2): Release 2.4.2
[Compare Source](https://togithub.com/nonebot/adapter-onebot/compare/v2.4.1...v2.4.2)
##### What's Changed
- Fix: 配置项无法使用字段名填写 by [@yanyongyu](https://togithub.com/yanyongyu) in [https://github.com/nonebot/adapter-onebot/pull/96](https://togithub.com/nonebot/adapter-onebot/pull/96)
- Fix: 消息段数据采用 str 存储 by [@yanyongyu](https://togithub.com/yanyongyu) in [https://github.com/nonebot/adapter-onebot/pull/97](https://togithub.com/nonebot/adapter-onebot/pull/97)
**Full Changelog**: https://github.com/nonebot/adapter-onebot/compare/v2.4.1...v2.4.2
### [`v2.4.1`](https://togithub.com/nonebot/adapter-onebot/releases/tag/v2.4.1): Release 2.4.1
[Compare Source](https://togithub.com/nonebot/adapter-onebot/compare/v2.4.0...v2.4.1)
##### What's Changed
- Fix: pydantic v2 `URL` support by [@lgc2333](https://togithub.com/lgc2333) in [https://github.com/nonebot/adapter-onebot/pull/93](https://togithub.com/nonebot/adapter-onebot/pull/93)
**Full Changelog**: https://github.com/nonebot/adapter-onebot/compare/v2.4.0...v2.4.1
### [`v2.4.0`](https://togithub.com/nonebot/adapter-onebot/releases/tag/v2.4.0): Release 2.4.0
[Compare Source](https://togithub.com/nonebot/adapter-onebot/compare/v2.3.1...v2.4.0)
##### What's Changed
- Fix: 连接机器人后再保存当前连接 by [@he0119](https://togithub.com/he0119) in [https://github.com/nonebot/adapter-onebot/pull/78](https://togithub.com/nonebot/adapter-onebot/pull/78)
- Feature: connect bot after startup complete by [@ProgramRipper](https://togithub.com/ProgramRipper) in [https://github.com/nonebot/adapter-onebot/pull/85](https://togithub.com/nonebot/adapter-onebot/pull/85)
- Fix: `get_forward_msg` 接口返回类型注释错误 by [@This-is-XiaoDeng](https://togithub.com/This-is-XiaoDeng) in [https://github.com/nonebot/adapter-onebot/pull/88](https://togithub.com/nonebot/adapter-onebot/pull/88)
- Fix: 回复消息的 id 应该为 int 类型 by [@yanyongyu](https://togithub.com/yanyongyu) in [https://github.com/nonebot/adapter-onebot/pull/91](https://togithub.com/nonebot/adapter-onebot/pull/91)
- Feature: 支持 Pydantic v2 by [@yanyongyu](https://togithub.com/yanyongyu) in [https://github.com/nonebot/adapter-onebot/pull/90](https://togithub.com/nonebot/adapter-onebot/pull/90)
**Full Changelog**: https://github.com/nonebot/adapter-onebot/compare/v2.3.1...v2.4.0
nonebot/plugin-apscheduler (nonebot-plugin-apscheduler)
### [`v0.4.0`](https://togithub.com/nonebot/plugin-apscheduler/releases/tag/v0.4.0): Release 0.4.0
[Compare Source](https://togithub.com/nonebot/plugin-apscheduler/compare/v0.3.0...v0.4.0)
##### What's Changed
- Feature: 兼容 pydantic v2 by [@eya46](https://togithub.com/eya46) in [https://github.com/nonebot/plugin-apscheduler/pull/43](https://togithub.com/nonebot/plugin-apscheduler/pull/43)
**Full Changelog**: https://github.com/nonebot/plugin-apscheduler/compare/v0.3.0...v0.4.0
nonebot/nonebot2 (nonebot2)
### [`v2.2.1`](https://togithub.com/nonebot/nonebot2/releases/tag/v2.2.1): 🌈🥣⚪
[Compare Source](https://togithub.com/nonebot/nonebot2/compare/v2.2.0...v2.2.1)
##### 🚀 新功能
- Feature: 优化 pydantic 兼容函数 `model_dump` 和 `type_validate_json` [@MingxuanGame](https://togithub.com/MingxuanGame) ([#2579](https://togithub.com/nonebot/nonebot2/pull/2579))
##### 🐛 Bug 修复
- Fix: 修改遗漏的过时 Pydantic 方法 [@yanyongyu](https://togithub.com/yanyongyu) ([#2577](https://togithub.com/nonebot/nonebot2/pull/2577))
- Fix: `Message.__contains__()` 未考虑 `bool(MessageSegment)` 存在 False 情况导致的异常结果 [@lgc2333](https://togithub.com/lgc2333) ([#2572](https://togithub.com/nonebot/nonebot2/pull/2572))
##### 📝 文档
- Docs: 更新 Session Expire Timeout 文档 [@MingxuanGame](https://togithub.com/MingxuanGame) ([#2585](https://togithub.com/nonebot/nonebot2/pull/2585))
- Docs: 添加适配器测试注意事项 [@yanyongyu](https://togithub.com/yanyongyu) ([#2570](https://togithub.com/nonebot/nonebot2/pull/2570))
##### 💫 杂项
- Plugin: 修改 phigros 相关内容 [@XTxiaoting14332](https://togithub.com/XTxiaoting14332) ([#2578](https://togithub.com/nonebot/nonebot2/pull/2578))
##### 🍻 插件发布
- Plugin: 运行状态 [@noneflow](https://togithub.com/noneflow) ([#2587](https://togithub.com/nonebot/nonebot2/pull/2587))
- Plugin: nonebot-plugin-bf1marneserverlist [@noneflow](https://togithub.com/noneflow) ([#2584](https://togithub.com/nonebot/nonebot2/pull/2584))
- Plugin: splatoon3游戏nso查询 [@noneflow](https://togithub.com/noneflow) ([#2576](https://togithub.com/nonebot/nonebot2/pull/2576))
- Plugin: Chikari_yinpa [@noneflow](https://togithub.com/noneflow) ([#2573](https://togithub.com/nonebot/nonebot2/pull/2573))
### [`v2.2.0`](https://togithub.com/nonebot/nonebot2/releases/tag/v2.2.0): 🌈🧧
[Compare Source](https://togithub.com/nonebot/nonebot2/compare/v2.1.3...v2.2.0)
> \[!WARNING]
> 本版本为兼容 Pydantic v2 的首个版本,如果在使用过程中遇到了插件兼容性问题,请参考[文档](https://nonebot.dev/docs/appendices/config)降级 Pydantic 至 v1
##### 🚛 插件迁移指南
在本版本中由于不可避免的 Pydantic 兼容性问题,请对于 Pydantic 版本有要求的插件确认是否在包依赖中正确注明 Pydantic 版本!
对于 Pydantic 版本并不敏感的插件请参考[配置文档](https://nonebot.dev/docs/appendices/config#%E6%8F%92%E4%BB%B6%E9%85%8D%E7%BD%AE)对插件读取配置部分进行修改,以便兼容 Pydantic v1 与 v2:
```diff
- plugin_config = Config.parse_obj(get_driver().config)
+ from nonebot import get_plugin_config
+ plugin_config = get_plugin_config(Config)
```
##### 🚀 新功能
- Feature: 添加插件 Pydantic 相关使用方法 [@yanyongyu](https://togithub.com/yanyongyu) ([#2563](https://togithub.com/nonebot/nonebot2/pull/2563))
- Feature: 兼容 Pydantic v2 [@yanyongyu](https://togithub.com/yanyongyu) ([#2544](https://togithub.com/nonebot/nonebot2/pull/2544))
- Feature: 使用自定义配置加载替代 `pydantic-settings` [@yanyongyu](https://togithub.com/yanyongyu) ([#2521](https://togithub.com/nonebot/nonebot2/pull/2521))
- Feature: 带参数的 `RegexStr()` [@ProgramRipper](https://togithub.com/ProgramRipper) ([#2499](https://togithub.com/nonebot/nonebot2/pull/2499))
##### 🐛 Bug 修复
- Fix: websockets 驱动器连接关闭 code 获取错误 [@yanyongyu](https://togithub.com/yanyongyu) ([#2537](https://togithub.com/nonebot/nonebot2/pull/2537))
- Fix: 修复 `echo` 发送空消息 [@yanyongyu](https://togithub.com/yanyongyu) ([#2525](https://togithub.com/nonebot/nonebot2/pull/2525))
- Fix: `MessageTemplate` 禁止访问私有属性 [@mnixry](https://togithub.com/mnixry) ([#2509](https://togithub.com/nonebot/nonebot2/pull/2509))
##### 📝 文档
- Docs: 更新 Alconna 文档 [@lengmianzz](https://togithub.com/lengmianzz) ([#2568](https://togithub.com/nonebot/nonebot2/pull/2568))
- Docs: 添加产品赞助列表 [@yanyongyu](https://togithub.com/yanyongyu) ([#2566](https://togithub.com/nonebot/nonebot2/pull/2566))
- Docs: 修复表单标签状态更新 [@StarHeartHunt](https://togithub.com/StarHeartHunt) ([#2558](https://togithub.com/nonebot/nonebot2/pull/2558))
- Docs: 添加 CITATION 文件 [@yanyongyu](https://togithub.com/yanyongyu) ([#2520](https://togithub.com/nonebot/nonebot2/pull/2520))
##### 💫 杂项
- Plugin: 移除不再维护的几款插件 [@mnixry](https://togithub.com/mnixry) ([#2561](https://togithub.com/nonebot/nonebot2/pull/2561))
- CI: 更新 prettier 配置 [@StarHeartHunt](https://togithub.com/StarHeartHunt) ([#2546](https://togithub.com/nonebot/nonebot2/pull/2546))
- Plugin: 恢复删除的插件 `nonebot-plugin-eitherchoice` [@lgc2333](https://togithub.com/lgc2333) ([#2502](https://togithub.com/nonebot/nonebot2/pull/2502))
##### 🍻 插件发布
- Plugin: 定时提醒 [@noneflow](https://togithub.com/noneflow) ([#2559](https://togithub.com/nonebot/nonebot2/pull/2559))
- Plugin: 黑名单插件 [@noneflow](https://togithub.com/noneflow) ([#2554](https://togithub.com/nonebot/nonebot2/pull/2554))
- Plugin: ChatGPT 聊天 [@noneflow](https://togithub.com/noneflow) ([#2556](https://togithub.com/nonebot/nonebot2/pull/2556))
- Plugin: BA模拟抽卡 [@noneflow](https://togithub.com/noneflow) ([#2550](https://togithub.com/nonebot/nonebot2/pull/2550))
- Plugin: 随机发送图片 [@noneflow](https://togithub.com/noneflow) ([#2548](https://togithub.com/nonebot/nonebot2/pull/2548))
- Plugin: 哪吒监控插件 [@noneflow](https://togithub.com/noneflow) ([#2552](https://togithub.com/nonebot/nonebot2/pull/2552))
- Plugin: SakuraFrp [@noneflow](https://togithub.com/noneflow) ([#2543](https://togithub.com/nonebot/nonebot2/pull/2543))
- Plugin: haruka_bot_red [@noneflow](https://togithub.com/noneflow) ([#2541](https://togithub.com/nonebot/nonebot2/pull/2541))
- Plugin: nonebot-plugin-gemini [@noneflow](https://togithub.com/noneflow) ([#2527](https://togithub.com/nonebot/nonebot2/pull/2527))
- Plugin: 最终台词 [@noneflow](https://togithub.com/noneflow) ([#2523](https://togithub.com/nonebot/nonebot2/pull/2523))
- Plugin: nonebot-plugin-nekoimage [@noneflow](https://togithub.com/noneflow) ([#2534](https://togithub.com/nonebot/nonebot2/pull/2534))
- Plugin: 谷歌Bard聊天 [@noneflow](https://togithub.com/noneflow) ([#2529](https://togithub.com/nonebot/nonebot2/pull/2529))
- Plugin: nonebot-plugin-mypower [@noneflow](https://togithub.com/noneflow) ([#2533](https://togithub.com/nonebot/nonebot2/pull/2533))
- Plugin: 文心一言4适配 [@noneflow](https://togithub.com/noneflow) ([#2516](https://togithub.com/nonebot/nonebot2/pull/2516))
- Plugin: 最佳平替 [@noneflow](https://togithub.com/noneflow) ([#
Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
[ ] If you want to rebase/retry this PR, check this box
This PR has been generated by Mend Renovate. View repository job log here.
This PR contains the following updates:
^10.1.0
->^10.2.0
~=10.1.0
->~=10.2.0
v4.7.1
->v4.8.0
^3.8.6
->^3.9.3
~=3.8.6
->~=3.9.3
^5.3.2
->^5.3.3
~=5.3.2
->~=5.3.3
^2.8.0
->^2.11.0
~=2.8.0
->~=2.11.0
^6.0.10
->^6.0.11
~=6.0.10
->~=6.0.11
^1.2.6
->^1.4.0
~=1.2.6
->~=1.4.0
^2.3.1
->^2.4.3
~=2.3.1
->~=2.4.3
^0.3.0
->^0.4.0
~=0.3.0
->~=0.4.0
^2.1.1
->^2.2.1
~=2.1.1
->~=2.2.1
^0.1.3
->^0.1.6
~=0.1.3
->~=0.1.6
>=1.10.0,<3.0.0,!=2.5.0,!=2.5.1
->>=1.10.14,<3.0.0,!=2.5.0,!=2.5.1
>=1.10.0,<3.0.0,!=2.5.0,!=2.5.1
->>=1.10.14,<3.0.0,!=2.5.0,!=2.5.1
v1.8.10
->v1.8.14
^1.9.2
->^1.9.4
~=1.9.2
->~=1.9.4
Release Notes
python-pillow/Pillow (Pillow)
### [`v10.2.0`](https://togithub.com/python-pillow/Pillow/blob/HEAD/CHANGES.rst#1020-2024-01-02) [Compare Source](https://togithub.com/python-pillow/Pillow/compare/10.1.0...10.2.0) - Add `keep_rgb` option when saving JPEG to prevent conversion of RGB colorspace [#7553](https://togithub.com/python-pillow/Pillow/issues/7553) \[bgilbert, radarhere] - Trim glyph size in ImageFont.getmask() [#7669](https://togithub.com/python-pillow/Pillow/issues/7669), [#7672](https://togithub.com/python-pillow/Pillow/issues/7672) \[radarhere, nulano] - Deprecate IptcImagePlugin helpers [#7664](https://togithub.com/python-pillow/Pillow/issues/7664) \[nulano, hugovk, radarhere] - Allow uncompressed TIFF images to be saved in chunks [#7650](https://togithub.com/python-pillow/Pillow/issues/7650) \[radarhere] - Concatenate multiple JPEG EXIF markers [#7496](https://togithub.com/python-pillow/Pillow/issues/7496) \[radarhere] - Changed IPTC tile tuple to match other plugins [#7661](https://togithub.com/python-pillow/Pillow/issues/7661) \[radarhere] - Do not assign new fp attribute when exiting context manager [#7566](https://togithub.com/python-pillow/Pillow/issues/7566) \[radarhere] - Support arbitrary masks for uncompressed RGB DDS images [#7589](https://togithub.com/python-pillow/Pillow/issues/7589) \[radarhere, akx] - Support setting ROWSPERSTRIP tag [#7654](https://togithub.com/python-pillow/Pillow/issues/7654) \[radarhere] - Apply ImageFont.MAX_STRING_LENGTH to ImageFont.getmask() [#7662](https://togithub.com/python-pillow/Pillow/issues/7662) \[radarhere] - Optimise `ImageColor` using `functools.lru_cache` [#7657](https://togithub.com/python-pillow/Pillow/issues/7657) \[hugovk] - Restricted environment keys for ImageMath.eval() [#7655](https://togithub.com/python-pillow/Pillow/issues/7655) \[wiredfool, radarhere] - Optimise `ImageMode.getmode` using `functools.lru_cache` [#7641](https://togithub.com/python-pillow/Pillow/issues/7641) \[hugovk, radarhere] - Fix incorrect color blending for overlapping glyphs [#7497](https://togithub.com/python-pillow/Pillow/issues/7497) \[ZachNagengast, nulano, radarhere] - Attempt memory mapping when tile args is a string [#7565](https://togithub.com/python-pillow/Pillow/issues/7565) \[radarhere] - Fill identical pixels with transparency in subsequent frames when saving GIF [#7568](https://togithub.com/python-pillow/Pillow/issues/7568) \[radarhere] - Corrected duration when combining multiple GIF frames into single frame [#7521](https://togithub.com/python-pillow/Pillow/issues/7521) \[radarhere] - Handle disposing GIF background from outside palette [#7515](https://togithub.com/python-pillow/Pillow/issues/7515) \[radarhere] - Seek past the data when skipping a PSD layer [#7483](https://togithub.com/python-pillow/Pillow/issues/7483) \[radarhere] - Import plugins relative to the module [#7576](https://togithub.com/python-pillow/Pillow/issues/7576) \[deliangyang, jaxx0n] - Translate encoder error codes to strings; deprecate `ImageFile.raise_oserror()` [#7609](https://togithub.com/python-pillow/Pillow/issues/7609) \[bgilbert, radarhere] - Support reading BC4U and DX10 BC1 images [#6486](https://togithub.com/python-pillow/Pillow/issues/6486) \[REDxEYE, radarhere, hugovk] - Optimize ImageStat.Stat.extrema [#7593](https://togithub.com/python-pillow/Pillow/issues/7593) \[florath, radarhere] - Handle pathlib.Path in FreeTypeFont [#7578](https://togithub.com/python-pillow/Pillow/issues/7578) \[radarhere, hugovk, nulano] - Added support for reading DX10 BC4 DDS images [#7603](https://togithub.com/python-pillow/Pillow/issues/7603) \[sambvfx, radarhere] - Optimized ImageStat.Stat.count [#7599](https://togithub.com/python-pillow/Pillow/issues/7599) \[florath] - Correct PDF palette size when saving [#7555](https://togithub.com/python-pillow/Pillow/issues/7555) \[radarhere] - Fixed closing file pointer with olefile 0.47 [#7594](https://togithub.com/python-pillow/Pillow/issues/7594) \[radarhere] - Raise ValueError when TrueType font size is not greater than zero [#7584](https://togithub.com/python-pillow/Pillow/issues/7584), [#7587](https://togithub.com/python-pillow/Pillow/issues/7587) \[akx, radarhere] - If absent, do not try to close fp when closing image [#7557](https://togithub.com/python-pillow/Pillow/issues/7557) \[RaphaelVRossi, radarhere] - Allow configuring JPEG restart marker interval on save [#7488](https://togithub.com/python-pillow/Pillow/issues/7488) \[bgilbert, radarhere] - Decrement reference count for PyObject [#7549](https://togithub.com/python-pillow/Pillow/issues/7549) \[radarhere] - Implement `streamtype=1` option for tables-only JPEG encoding [#7491](https://togithub.com/python-pillow/Pillow/issues/7491) \[bgilbert, radarhere] - If save_all PNG only has one frame, do not create animated image [#7522](https://togithub.com/python-pillow/Pillow/issues/7522) \[radarhere] - Fixed frombytes() for images with a zero dimension [#7493](https://togithub.com/python-pillow/Pillow/issues/7493) \[radarhere]actions/setup-python (actions/setup-python)
### [`v4.8.0`](https://togithub.com/actions/setup-python/releases/tag/v4.8.0) [Compare Source](https://togithub.com/actions/setup-python/compare/v4.7.1...v4.8.0) #### What's Changed In scope of this release we added support for GraalPy ([https://github.com/actions/setup-python/pull/694](https://togithub.com/actions/setup-python/pull/694)). You can use this snippet to set up GraalPy: ```yaml steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v4 with: python-version: 'graalpy-22.3' - run: python my_script.py ``` Besides, the release contains such changes as: - Trim python version when reading from file by [@FerranPares](https://togithub.com/FerranPares) in [https://github.com/actions/setup-python/pull/628](https://togithub.com/actions/setup-python/pull/628) - Use non-deprecated versions in examples by [@jeffwidman](https://togithub.com/jeffwidman) in [https://github.com/actions/setup-python/pull/724](https://togithub.com/actions/setup-python/pull/724) - Change deprecation comment to past tense by [@jeffwidman](https://togithub.com/jeffwidman) in [https://github.com/actions/setup-python/pull/723](https://togithub.com/actions/setup-python/pull/723) - Bump [@babel/traverse](https://togithub.com/babel/traverse) from 7.9.0 to 7.23.2 by [@dependabot](https://togithub.com/dependabot) in [https://github.com/actions/setup-python/pull/743](https://togithub.com/actions/setup-python/pull/743) - advanced-usage.md: Encourage the use actions/checkout@v4 by [@cclauss](https://togithub.com/cclauss) in [https://github.com/actions/setup-python/pull/729](https://togithub.com/actions/setup-python/pull/729) - Examples now use checkout@v4 by [@simonw](https://togithub.com/simonw) in [https://github.com/actions/setup-python/pull/738](https://togithub.com/actions/setup-python/pull/738) - Update actions/checkout to v4 by [@dmitry-shibanov](https://togithub.com/dmitry-shibanov) in [https://github.com/actions/setup-python/pull/761](https://togithub.com/actions/setup-python/pull/761) #### New Contributors - [@FerranPares](https://togithub.com/FerranPares) made their first contribution in [https://github.com/actions/setup-python/pull/628](https://togithub.com/actions/setup-python/pull/628) - [@timfel](https://togithub.com/timfel) made their first contribution in [https://github.com/actions/setup-python/pull/694](https://togithub.com/actions/setup-python/pull/694) - [@jeffwidman](https://togithub.com/jeffwidman) made their first contribution in [https://github.com/actions/setup-python/pull/724](https://togithub.com/actions/setup-python/pull/724) **Full Changelog**: https://github.com/actions/setup-python/compare/v4...v4.8.0aio-libs/aiohttp (aiohttp)
### [`v3.9.3`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#393-2024-01-29) [Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.2...v3.9.3) \================== ## Bug fixes - Fixed backwards compatibility breakage (in 3.9.2) of `ssl` parameter when set outside of `ClientSession` (e.g. directly in `TCPConnector`) -- by :user:`Dreamsorcerer`. *Related issues and pull requests on GitHub:* :issue:`8097`, :issue:`8098`. ## Miscellaneous internal changes - Improved test suite handling of paths and temp files to consistently use pathlib and pytest fixtures. *Related issues and pull requests on GitHub:* :issue:`3957`. *** ### [`v3.9.2`](https://togithub.com/aio-libs/aiohttp/blob/HEAD/CHANGES.rst#392-2024-01-28) [Compare Source](https://togithub.com/aio-libs/aiohttp/compare/v3.9.1...v3.9.2) \================== ## Bug fixes - Fixed server-side websocket connection leak. *Related issues and pull requests on GitHub:* :issue:`7978`. - Fixed `web.FileResponse` doing blocking I/O in the event loop. *Related issues and pull requests on GitHub:* :issue:`8012`. - Fixed double compress when compression enabled and compressed file exists in server file responses. *Related issues and pull requests on GitHub:* :issue:`8014`. - Added runtime type check for `ClientSession` `timeout` parameter. *Related issues and pull requests on GitHub:* :issue:`8021`. - Fixed an unhandled exception in the Python HTTP parser on header lines starting with a colon -- by :user:`pajod`. Invalid request lines with anything but a dot between the HTTP major and minor version are now rejected. Invalid header field names containing question mark or slash are now rejected. Such requests are incompatible with :rfc:`9110#section-5.6.2` and are not known to be of any legitimate use. *Related issues and pull requests on GitHub:* :issue:`8074`. - Improved validation of paths for static resources requests to the server -- by :user:`bdraco`. *Related issues and pull requests on GitHub:* :issue:`8079`. ## Features - Added support for passing :py:data:`True` to `ssl` parameter in `ClientSession` while deprecating :py:data:`None` -- by :user:`xiangyan99`. *Related issues and pull requests on GitHub:* :issue:`7698`. ## Breaking changes - Fixed an unhandled exception in the Python HTTP parser on header lines starting with a colon -- by :user:`pajod`. Invalid request lines with anything but a dot between the HTTP major and minor version are now rejected. Invalid header field names containing question mark or slash are now rejected. Such requests are incompatible with :rfc:`9110#section-5.6.2` and are not known to be of any legitimate use. *Related issues and pull requests on GitHub:* :issue:`8074`. ## Improved documentation - Fixed examples of `fallback_charset_resolver` function in the :doc:`client_advanced` document. -- by :user:`henry0312`. *Related issues and pull requests on GitHub:* :issue:`7995`. - The Sphinx setup was updated to avoid showing the empty changelog draft section in the tagged release documentation builds on Read The Docs -- by :user:`webknjaz`. *Related issues and pull requests on GitHub:* :issue:`8067`. ## Packaging updates and notes for downstreams - The changelog categorization was made clearer. The contributors can now mark their fragment files more accurately -- by :user:`webknjaz`. The new category tags are: * ``bugfix`` * ``feature`` * ``deprecation`` * ``breaking`` (previously, ``removal``) * ``doc`` * ``packaging`` * ``contrib`` * ``misc`` *Related issues and pull requests on GitHub:* :issue:`8066`. ## Contributor-facing changes - Updated :ref:`contributing/Tests coveragetkem/cachetools (cachetools)
### [`v5.3.3`](https://togithub.com/tkem/cachetools/blob/HEAD/CHANGELOG.rst#v533-2024-02-26) [Compare Source](https://togithub.com/tkem/cachetools/compare/v5.3.2...v5.3.3) \=================== - Documentation improvements. - Update CI environment.carpedm20/emoji (emoji)
### [`v2.11.0`](https://togithub.com/carpedm20/emoji/blob/HEAD/CHANGES.md#v2110-2024-03-26) [Compare Source](https://togithub.com/carpedm20/emoji/compare/v2.10.1...v2.11.0) - Update to Unicode v15.1 ### [`v2.10.1`](https://togithub.com/carpedm20/emoji/blob/HEAD/CHANGES.md#v2101-TBD) [Compare Source](https://togithub.com/carpedm20/emoji/compare/v2.10.0...v2.10.1) - Fix slow import when debugging in Python 3.12 [#280](https://togithub.com/carpedm20/emoji/issues/280) ### [`v2.10.0`](https://togithub.com/carpedm20/emoji/blob/HEAD/CHANGES.md#v2100-2024-01-18) [Compare Source](https://togithub.com/carpedm20/emoji/compare/v2.9.0...v2.10.0) - Added Arabic and Turkish translations ### [`v2.9.0`](https://togithub.com/carpedm20/emoji/blob/HEAD/CHANGES.md#v290-2023-12-05) [Compare Source](https://togithub.com/carpedm20/emoji/compare/v2.8.0...v2.9.0) - Added Russian translationkurtmckee/feedparser (feedparser)
### [`v6.0.11`](https://togithub.com/kurtmckee/feedparser/blob/HEAD/CHANGELOG.rst#6011---2023-12-10) [Compare Source](https://togithub.com/kurtmckee/feedparser/compare/6.0.10...6.0.11) \=================== - Resolve `cgi` module deprecation warnings. ([#330](https://togithub.com/kurtmckee/feedparser/issues/330))nonebot/nb-cli (nb-cli)
### [`v1.4.0`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.4.0): Release 1.4.0 [Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.3.1...v1.4.0) ##### What's Changed - Feature: 兼容 Pydantic v2 by [@AzideCupric](https://togithub.com/AzideCupric) in [https://github.com/nonebot/nb-cli/pull/120](https://togithub.com/nonebot/nb-cli/pull/120) **Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.3.1...v1.4.0 ### [`v1.3.1`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.3.1): Release 1.3.1 [Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.3.0...v1.3.1) **Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.3.0...v1.3.1 ### [`v1.3.0`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.3.0): Release 1.3.0 [Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.2.9...v1.3.0) **Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.2.9...v1.3.0 ### [`v1.2.9`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.2.9): Release 1.2.9 [Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.2.8...v1.2.9) **Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.2.8...v1.2.9 ### [`v1.2.8`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.2.8): Release 1.2.8 [Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.2.7...v1.2.8) ##### What's Changed - Support run nb-cli using docker container **Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.2.7...v1.2.8 ### [`v1.2.7`](https://togithub.com/nonebot/nb-cli/releases/tag/v1.2.7): Release 1.2.7 [Compare Source](https://togithub.com/nonebot/nb-cli/compare/v1.2.6...v1.2.7) ##### What's Changed - Feature: add `reload-dirs` option to run project by [@shoucandanghehe](https://togithub.com/shoucandanghehe) in [https://github.com/nonebot/nb-cli/pull/105](https://togithub.com/nonebot/nb-cli/pull/105) - Fix: 修复删除适配器前的索引确认问题 by [@Kyomotoi](https://togithub.com/Kyomotoi) in [https://github.com/nonebot/nb-cli/pull/106](https://togithub.com/nonebot/nb-cli/pull/106) **Full Changelog**: https://github.com/nonebot/nb-cli/compare/v1.2.6...v1.2.7nonebot/adapter-onebot (nonebot-adapter-onebot)
### [`v2.4.3`](https://togithub.com/nonebot/adapter-onebot/releases/tag/v2.4.3): Release 2.4.3 [Compare Source](https://togithub.com/nonebot/adapter-onebot/compare/v2.4.2...v2.4.3) ##### What's Changed - Fix: 加群/添加好友请求的 comment 可能为 None by [@ishkong](https://togithub.com/ishkong) in [https://github.com/nonebot/adapter-onebot/pull/98](https://togithub.com/nonebot/adapter-onebot/pull/98) **Full Changelog**: https://github.com/nonebot/adapter-onebot/compare/v2.4.2...v2.4.3 ### [`v2.4.2`](https://togithub.com/nonebot/adapter-onebot/releases/tag/v2.4.2): Release 2.4.2 [Compare Source](https://togithub.com/nonebot/adapter-onebot/compare/v2.4.1...v2.4.2) ##### What's Changed - Fix: 配置项无法使用字段名填写 by [@yanyongyu](https://togithub.com/yanyongyu) in [https://github.com/nonebot/adapter-onebot/pull/96](https://togithub.com/nonebot/adapter-onebot/pull/96) - Fix: 消息段数据采用 str 存储 by [@yanyongyu](https://togithub.com/yanyongyu) in [https://github.com/nonebot/adapter-onebot/pull/97](https://togithub.com/nonebot/adapter-onebot/pull/97) **Full Changelog**: https://github.com/nonebot/adapter-onebot/compare/v2.4.1...v2.4.2 ### [`v2.4.1`](https://togithub.com/nonebot/adapter-onebot/releases/tag/v2.4.1): Release 2.4.1 [Compare Source](https://togithub.com/nonebot/adapter-onebot/compare/v2.4.0...v2.4.1) ##### What's Changed - Fix: pydantic v2 `URL` support by [@lgc2333](https://togithub.com/lgc2333) in [https://github.com/nonebot/adapter-onebot/pull/93](https://togithub.com/nonebot/adapter-onebot/pull/93) **Full Changelog**: https://github.com/nonebot/adapter-onebot/compare/v2.4.0...v2.4.1 ### [`v2.4.0`](https://togithub.com/nonebot/adapter-onebot/releases/tag/v2.4.0): Release 2.4.0 [Compare Source](https://togithub.com/nonebot/adapter-onebot/compare/v2.3.1...v2.4.0) ##### What's Changed - Fix: 连接机器人后再保存当前连接 by [@he0119](https://togithub.com/he0119) in [https://github.com/nonebot/adapter-onebot/pull/78](https://togithub.com/nonebot/adapter-onebot/pull/78) - Feature: connect bot after startup complete by [@ProgramRipper](https://togithub.com/ProgramRipper) in [https://github.com/nonebot/adapter-onebot/pull/85](https://togithub.com/nonebot/adapter-onebot/pull/85) - Fix: `get_forward_msg` 接口返回类型注释错误 by [@This-is-XiaoDeng](https://togithub.com/This-is-XiaoDeng) in [https://github.com/nonebot/adapter-onebot/pull/88](https://togithub.com/nonebot/adapter-onebot/pull/88) - Fix: 回复消息的 id 应该为 int 类型 by [@yanyongyu](https://togithub.com/yanyongyu) in [https://github.com/nonebot/adapter-onebot/pull/91](https://togithub.com/nonebot/adapter-onebot/pull/91) - Feature: 支持 Pydantic v2 by [@yanyongyu](https://togithub.com/yanyongyu) in [https://github.com/nonebot/adapter-onebot/pull/90](https://togithub.com/nonebot/adapter-onebot/pull/90) **Full Changelog**: https://github.com/nonebot/adapter-onebot/compare/v2.3.1...v2.4.0nonebot/plugin-apscheduler (nonebot-plugin-apscheduler)
### [`v0.4.0`](https://togithub.com/nonebot/plugin-apscheduler/releases/tag/v0.4.0): Release 0.4.0 [Compare Source](https://togithub.com/nonebot/plugin-apscheduler/compare/v0.3.0...v0.4.0) ##### What's Changed - Feature: 兼容 pydantic v2 by [@eya46](https://togithub.com/eya46) in [https://github.com/nonebot/plugin-apscheduler/pull/43](https://togithub.com/nonebot/plugin-apscheduler/pull/43) **Full Changelog**: https://github.com/nonebot/plugin-apscheduler/compare/v0.3.0...v0.4.0nonebot/nonebot2 (nonebot2)
### [`v2.2.1`](https://togithub.com/nonebot/nonebot2/releases/tag/v2.2.1): 🌈🥣⚪ [Compare Source](https://togithub.com/nonebot/nonebot2/compare/v2.2.0...v2.2.1) ##### 🚀 新功能 - Feature: 优化 pydantic 兼容函数 `model_dump` 和 `type_validate_json` [@MingxuanGame](https://togithub.com/MingxuanGame) ([#2579](https://togithub.com/nonebot/nonebot2/pull/2579)) ##### 🐛 Bug 修复 - Fix: 修改遗漏的过时 Pydantic 方法 [@yanyongyu](https://togithub.com/yanyongyu) ([#2577](https://togithub.com/nonebot/nonebot2/pull/2577)) - Fix: `Message.__contains__()` 未考虑 `bool(MessageSegment)` 存在 False 情况导致的异常结果 [@lgc2333](https://togithub.com/lgc2333) ([#2572](https://togithub.com/nonebot/nonebot2/pull/2572)) ##### 📝 文档 - Docs: 更新 Session Expire Timeout 文档 [@MingxuanGame](https://togithub.com/MingxuanGame) ([#2585](https://togithub.com/nonebot/nonebot2/pull/2585)) - Docs: 添加适配器测试注意事项 [@yanyongyu](https://togithub.com/yanyongyu) ([#2570](https://togithub.com/nonebot/nonebot2/pull/2570)) ##### 💫 杂项 - Plugin: 修改 phigros 相关内容 [@XTxiaoting14332](https://togithub.com/XTxiaoting14332) ([#2578](https://togithub.com/nonebot/nonebot2/pull/2578)) ##### 🍻 插件发布 - Plugin: 运行状态 [@noneflow](https://togithub.com/noneflow) ([#2587](https://togithub.com/nonebot/nonebot2/pull/2587)) - Plugin: nonebot-plugin-bf1marneserverlist [@noneflow](https://togithub.com/noneflow) ([#2584](https://togithub.com/nonebot/nonebot2/pull/2584)) - Plugin: splatoon3游戏nso查询 [@noneflow](https://togithub.com/noneflow) ([#2576](https://togithub.com/nonebot/nonebot2/pull/2576)) - Plugin: Chikari_yinpa [@noneflow](https://togithub.com/noneflow) ([#2573](https://togithub.com/nonebot/nonebot2/pull/2573)) ### [`v2.2.0`](https://togithub.com/nonebot/nonebot2/releases/tag/v2.2.0): 🌈🧧 [Compare Source](https://togithub.com/nonebot/nonebot2/compare/v2.1.3...v2.2.0) > \[!WARNING] > 本版本为兼容 Pydantic v2 的首个版本,如果在使用过程中遇到了插件兼容性问题,请参考[文档](https://nonebot.dev/docs/appendices/config)降级 Pydantic 至 v1 ##### 🚛 插件迁移指南 在本版本中由于不可避免的 Pydantic 兼容性问题,请对于 Pydantic 版本有要求的插件确认是否在包依赖中正确注明 Pydantic 版本! 对于 Pydantic 版本并不敏感的插件请参考[配置文档](https://nonebot.dev/docs/appendices/config#%E6%8F%92%E4%BB%B6%E9%85%8D%E7%BD%AE)对插件读取配置部分进行修改,以便兼容 Pydantic v1 与 v2: ```diff - plugin_config = Config.parse_obj(get_driver().config) + from nonebot import get_plugin_config + plugin_config = get_plugin_config(Config) ``` ##### 🚀 新功能 - Feature: 添加插件 Pydantic 相关使用方法 [@yanyongyu](https://togithub.com/yanyongyu) ([#2563](https://togithub.com/nonebot/nonebot2/pull/2563)) - Feature: 兼容 Pydantic v2 [@yanyongyu](https://togithub.com/yanyongyu) ([#2544](https://togithub.com/nonebot/nonebot2/pull/2544)) - Feature: 使用自定义配置加载替代 `pydantic-settings` [@yanyongyu](https://togithub.com/yanyongyu) ([#2521](https://togithub.com/nonebot/nonebot2/pull/2521)) - Feature: 带参数的 `RegexStr()` [@ProgramRipper](https://togithub.com/ProgramRipper) ([#2499](https://togithub.com/nonebot/nonebot2/pull/2499)) ##### 🐛 Bug 修复 - Fix: websockets 驱动器连接关闭 code 获取错误 [@yanyongyu](https://togithub.com/yanyongyu) ([#2537](https://togithub.com/nonebot/nonebot2/pull/2537)) - Fix: 修复 `echo` 发送空消息 [@yanyongyu](https://togithub.com/yanyongyu) ([#2525](https://togithub.com/nonebot/nonebot2/pull/2525)) - Fix: `MessageTemplate` 禁止访问私有属性 [@mnixry](https://togithub.com/mnixry) ([#2509](https://togithub.com/nonebot/nonebot2/pull/2509)) ##### 📝 文档 - Docs: 更新 Alconna 文档 [@lengmianzz](https://togithub.com/lengmianzz) ([#2568](https://togithub.com/nonebot/nonebot2/pull/2568)) - Docs: 添加产品赞助列表 [@yanyongyu](https://togithub.com/yanyongyu) ([#2566](https://togithub.com/nonebot/nonebot2/pull/2566)) - Docs: 修复表单标签状态更新 [@StarHeartHunt](https://togithub.com/StarHeartHunt) ([#2558](https://togithub.com/nonebot/nonebot2/pull/2558)) - Docs: 添加 CITATION 文件 [@yanyongyu](https://togithub.com/yanyongyu) ([#2520](https://togithub.com/nonebot/nonebot2/pull/2520)) ##### 💫 杂项 - Plugin: 移除不再维护的几款插件 [@mnixry](https://togithub.com/mnixry) ([#2561](https://togithub.com/nonebot/nonebot2/pull/2561)) - CI: 更新 prettier 配置 [@StarHeartHunt](https://togithub.com/StarHeartHunt) ([#2546](https://togithub.com/nonebot/nonebot2/pull/2546)) - Plugin: 恢复删除的插件 `nonebot-plugin-eitherchoice` [@lgc2333](https://togithub.com/lgc2333) ([#2502](https://togithub.com/nonebot/nonebot2/pull/2502)) ##### 🍻 插件发布 - Plugin: 定时提醒 [@noneflow](https://togithub.com/noneflow) ([#2559](https://togithub.com/nonebot/nonebot2/pull/2559)) - Plugin: 黑名单插件 [@noneflow](https://togithub.com/noneflow) ([#2554](https://togithub.com/nonebot/nonebot2/pull/2554)) - Plugin: ChatGPT 聊天 [@noneflow](https://togithub.com/noneflow) ([#2556](https://togithub.com/nonebot/nonebot2/pull/2556)) - Plugin: BA模拟抽卡 [@noneflow](https://togithub.com/noneflow) ([#2550](https://togithub.com/nonebot/nonebot2/pull/2550)) - Plugin: 随机发送图片 [@noneflow](https://togithub.com/noneflow) ([#2548](https://togithub.com/nonebot/nonebot2/pull/2548)) - Plugin: 哪吒监控插件 [@noneflow](https://togithub.com/noneflow) ([#2552](https://togithub.com/nonebot/nonebot2/pull/2552)) - Plugin: SakuraFrp [@noneflow](https://togithub.com/noneflow) ([#2543](https://togithub.com/nonebot/nonebot2/pull/2543)) - Plugin: haruka_bot_red [@noneflow](https://togithub.com/noneflow) ([#2541](https://togithub.com/nonebot/nonebot2/pull/2541)) - Plugin: nonebot-plugin-gemini [@noneflow](https://togithub.com/noneflow) ([#2527](https://togithub.com/nonebot/nonebot2/pull/2527)) - Plugin: 最终台词 [@noneflow](https://togithub.com/noneflow) ([#2523](https://togithub.com/nonebot/nonebot2/pull/2523)) - Plugin: nonebot-plugin-nekoimage [@noneflow](https://togithub.com/noneflow) ([#2534](https://togithub.com/nonebot/nonebot2/pull/2534)) - Plugin: 谷歌Bard聊天 [@noneflow](https://togithub.com/noneflow) ([#2529](https://togithub.com/nonebot/nonebot2/pull/2529)) - Plugin: nonebot-plugin-mypower [@noneflow](https://togithub.com/noneflow) ([#2533](https://togithub.com/nonebot/nonebot2/pull/2533)) - Plugin: 文心一言4适配 [@noneflow](https://togithub.com/noneflow) ([#2516](https://togithub.com/nonebot/nonebot2/pull/2516)) - Plugin: 最佳平替 [@noneflow](https://togithub.com/noneflow) ([#Configuration
📅 Schedule: Branch creation - "every weekend" (UTC), Automerge - At any time (no schedule defined).
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.
This PR has been generated by Mend Renovate. View repository job log here.