fix(deps): update all non-major dependencies
This MR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| Authlib | dependencies | minor |
1.3.1 -> 1.6.3
|
| Jinja2 (changelog) | dependencies | patch |
3.1.4 -> 3.1.6
|
| Markdown (changelog) | dependencies | minor |
3.7 -> 3.9
|
| SQLAlchemy (changelog) | dependencies | patch |
1.4.53 -> 1.4.54
|
| Werkzeug (changelog) | dependencies | minor |
3.0.3 -> 3.1.3
|
| alembic (changelog) | dependencies | minor |
1.13.2 -> 1.16.5
|
| asgiref (changelog) | dependencies | minor |
3.8.1 -> 3.9.1
|
| bcrypt | dependencies | minor |
4.2.0 -> 4.3.0
|
| bleach | dependencies | minor |
6.1.0 -> 6.2.0
|
| coverage | dev-dependencies | minor |
7.6.1 -> 7.10.6
|
| email-validator | dependencies | minor |
2.2.0 -> 2.3.0
|
| fakeredis | dependencies | minor |
2.23.5 -> 2.31.1
|
| filelock | dependencies | minor |
3.15.4 -> 3.19.1
|
| grafana/grafana | minor |
11.1.3 -> 11.6.5
|
|
| grafana/tempo | minor |
2.5.0 -> 2.8.2
|
|
| greenlet (changelog) | dependencies | minor |
3.1.1 -> 3.2.4
|
| httpx (changelog) | dependencies | minor |
^0.27.0 -> ^0.28.0
|
| lxml (source, changelog) | dependencies | minor |
5.3.0 -> 5.4.0
|
| mysqlclient | dependencies | patch |
2.2.4 -> 2.2.7
|
| opentelemetry-api | dependencies | minor |
1.26.0 -> 1.36.0
|
| opentelemetry-exporter-otlp-proto-http | dependencies | minor |
1.26.0 -> 1.36.0
|
| opentelemetry-sdk | dependencies | minor |
1.26.0 -> 1.36.0
|
| orjson (changelog) | dependencies | minor |
3.10.7 -> 3.11.3
|
| paginate | dependencies | patch |
0.5.6 -> 0.5.7
|
| posix-ipc | dependencies | minor |
1.1.1 -> 1.3.0
|
| prometheus-fastapi-instrumentator | dependencies | minor |
7.0.0 -> 7.1.0
|
| pygit2 (changelog) | dependencies | minor |
1.17.0 -> 1.18.2
|
| pytest (changelog) | dev-dependencies | minor |
8.3.2 -> 8.4.2
|
| pytest-asyncio (changelog) | dev-dependencies | minor |
^0.23.0 -> ^0.26.0
|
| pytest-tap | dev-dependencies | minor |
3.4 -> 3.5
|
| pytest-xdist (changelog) | dependencies | minor |
3.6.1 -> 3.8.0
|
| python-multipart (changelog) | dependencies | patch |
0.0.19 -> 0.0.20
|
| redis (changelog) | dependencies | minor |
5.0.8 -> 5.3.1
|
| requests (source, changelog) | dependencies | patch |
2.32.3 -> 2.32.5
|
| tomlkit | dependencies | patch |
0.13.2 -> 0.13.3
|
| uvicorn (changelog) | dependencies | minor |
^0.30.0 -> ^0.35.0
|
| watchfiles (changelog) | dev-dependencies | minor |
1.0.4 -> 1.1.0
|
Release Notes
authlib/authlib (Authlib)
v1.6.3: Version 1.6.3
What's Changed
- Add diff-cover check in GHA by @azmeuk in https://github.com/authlib/authlib/pull/803
- Run GHA unit tests with uv by @azmeuk in https://github.com/authlib/authlib/pull/805
- Move from pre-commit to prek by @azmeuk in https://github.com/authlib/authlib/pull/804
- Sign OIDC id_token according to
id_token_signed_response_algclient metadata by @azmeuk in https://github.com/authlib/authlib/pull/802
Full Changelog: https://github.com/authlib/authlib/compare/v1.6.2...v1.6.3
v1.6.2: Version 1.6.2
What's Changed
- Allow insecure transport for 127.0.0.1 for debugging by @geigerzaehler in https://github.com/authlib/authlib/pull/788
- Raise a MissingCodeError when code parameter is missing by @lepture in https://github.com/authlib/authlib/pull/786
- Temporarily restore OAuth2Request body parameter by @azmeuk in https://github.com/authlib/authlib/pull/791
- Raise MissingCodeException when code parameter is missing by @lepture in https://github.com/authlib/authlib/pull/794
- Fix id_token generation with EdDSA alg by @azmeuk in https://github.com/authlib/authlib/pull/800
Full Changelog: https://github.com/authlib/authlib/compare/v1.6.1...v1.6.2
v1.6.1: Version 1.6.1
- Filter key set with additional "alg" and "use" parameters.
v1.6.0: Version 1.6.0
- Fix issue when RFC9207 is enabled and the authorization endpoint response is not a redirection. pull request #733
- Fix missing state parameter in authorization error responses. issue #525
- Support for acr and amr claims in id_token. issue #734
- Support for the none JWS algorithm.
- Fix response_types strict order during dynamic client registration. issue #760
- Implement RFC9101 The OAuth 2.0 Authorization Framework: JWT-Secured Authorization Request (JAR). issue #723
- OIDC UserInfo endpoint support. issue #459
v1.5.2: Version 1.5.2
Released on Apr 1, 2025
- Forbid fragments in redirect_uris. #714
- Fix invalid characters in error_description. #720
- Add
claims_clsparameter for client's parse_id_token method. #725
v1.5.1: Version 1.5.1
Released on Feb 28, 2025
- Fix RFC9207 iss parameter. #715
v1.5.0: Version 1.5.0
- Fix token introspection auth method for clients. #662
- Optional typ claim in JWT tokens. #696
- JWT validation leeway. #689
- Implement server-side RFC9207. #700 #701
- generate_id_token can take a kid parameter. #702
- More detailed InvalidClientError. #706
- OpenID Connect Dynamic Client Registration implementation. #707
v1.4.1: Version 1.4.1
v1.4.0: Version 1.4.0
Bugfixes
- Fix id_token decoding when kid is null. #659
- Support for Python 3.13. #682
- Force login if the prompt parameter value is login. #637
- Support for httpx 0.28. #695
Breaking changes
- Stop support for Python 3.8. #682
v1.3.2: Version 1.3.2
- Prevent ever-growing session size for OAuth clients.
- Revert
quoteclient id and secret. -
unquotebasic auth header for authorization server.
pallets/jinja (Jinja2)
v3.1.6
Released 2025-03-05
- The
|attrfilter does not bypass the environment's attribute lookup, allowing the sandbox to apply its checks. :ghsa:cpwx-vrp4-4pq7
v3.1.5
Released 2024-12-21
- The sandboxed environment handles indirect calls to
str.format, such as by passing a stored reference to a filter that calls its argument. :ghsa:q2x7-8rv6-6q7h - Escape template name before formatting it into error messages, to avoid
issues with names that contain f-string syntax.
:issue:
1792, :ghsa:gmj6-6f8f-6699 - Sandbox does not allow
clearandpopon known mutable sequence types. :issue:2032 - Calling sync
renderfor an async template usesasyncio.run.🇵🇷 1952 - Avoid unclosed
auto_aiterwarnings.🇵🇷 1960 - Return an
aclose-ableAsyncGeneratorfromTemplate.generate_async.🇵🇷 1960 - Avoid leaving
root_render_func()unclosed inTemplate.generate_async.🇵🇷 1960 - Avoid leaving async generators unclosed in blocks, includes and extends.
🇵🇷 1960 - The runtime uses the correct
concatfunction for the current environment when calling block references. :issue:1701 - Make
|uniqueasync-aware, allowing it to be used after another async-aware filter. :issue:1781 -
|intfilter handlesOverflowErrorfrom scientific notation. :issue:1921 - Make compiling deterministic for tuple unpacking in a
{% set ... %}call. :issue:2021 - Fix dunder protocol (
copy/pickle/etc) interaction withUndefinedobjects. :issue:2025 - Fix
copy/picklesupport for the internalmissingobject. :issue:2027 -
Environment.overlay(enable_async)is applied correctly.🇵🇷 2061 - The error message from
FileSystemLoaderincludes the paths that were searched. :issue:1661 -
PackageLoadershows a clearer error message when the package does not contain the templates directory. :issue:1705 - Improve annotations for methods returning copies.
🇵🇷 1880 -
urlizedoes not addmailto:to values like@a@b.🇵🇷 1870 - Tests decorated with
@pass_context`` can be used with the ``|select`` filter. :issue:1624` - Using
setfor multiple assignment (a, b = 1, 2) does not fail when the target is a namespace attribute. :issue:1413 - Using
setin all branches of{% if %}{% elif %}{% else %}blocks does not cause the variable to be considered initially undefined. :issue:1253
Python-Markdown/markdown (Markdown)
v3.9
v3.8.2
Fixed
- Fix
codecsdeprecation in Python 3.14. - Fix issue with unclosed comment parsing in Python 3.14.
- Fix issue with unclosed declarations in Python 3.14.
- Fix issue with unclosed HTML tag
<fooand Python 3.14.
v3.8.1
Fixed
- Ensure incomplete markup declaration in raw HTML doesn't crash parser (#1534).
- Fixed dropped content in
md_in_html(#1526). - Fixed HTML handling corner case that prevented some content from not being rendered (#1528).
v3.8
Changed
- DRY fix in
abbrextension by introducing methodcreate_element(#1483). - Clean up test directory by removing some redundant tests and port non-redundant cases to the newer test framework.
- Improved performance of the raw HTML post-processor (#1510).
Fixed
- Backslash Unescape IDs set via
attr_listontoc(#1493). - Ensure
md_in_htmlprocesses content inside "markdown" blocks as they are parsed outside of "markdown" blocks to keep things more consistent for third-party extensions (#1503). -
md_in_htmlhandle tags within inline code blocks better (#1075). -
md_in_htmlfix handling of one-liner block HTML handling (#1074). - Ensure
<center>is treated like a block-level element (#1481). - Ensure that
abbrextension respectsAtomicStringand does not process perceived abbreviations in these strings (#1512). - Ensure
smartyextension correctly renders nested closing quotes (#1514).
django/asgiref (asgiref)
v3.9.1
-
Fixed deletion of Local values affecting other contexts. (#523)
-
Skip CPython specific garbage collection test on pypy. (#521)
v3.9.0
-
Adds support for Python 3.13.
-
Drops support for (end-of-life) Python 3.8.
-
Fixes an error with conflicting kwargs between AsyncToSync and the wrapped function. (#471)
-
Fixes Local isolation between asyncio Tasks. (#478)
-
Fixes a reference cycle in Local (#508)
-
Fixes a deadlock in CurrentThreadExecutor with nested async_to_sync → sync_to_async → async_to_sync → create_task calls. (#494)
-
The ApplicationCommunicator testing utility will now return the task result if it's already completed on send_input and receive_nothing. You may need to catch (e.g.) the asyncio.exceptions.CancelledError if sending messages to already finished consumers in your tests. (#505)
mozilla/bleach (bleach)
v6.2.0
Backwards incompatible changes
- Dropped support for Python 3.8. (#737)
Security fixes
None
Bug fixes
nedbat/coveragepy (coverage)
v7.10.6
-
Fix:
sourcedirectories were not properly communicated to subprocesses that ran in different directories, as reported inissue 1499_. This is now fixed. -
Performance:
Alex Gaynor continues fine-tuning <pull 2038_>_ the speed of combination, especially with many contexts.
.. _issue 1499: https://github.com/nedbat/coveragepy/issues/1499 .. _pull 2038: https://github.com/nedbat/coveragepy/pull/2038
.. _changes_7-10-5:
v7.10.5
- Big speed improvements for
coverage combine: it's now about twice as fast! Huge thanks to Alex Gaynor for pull requests2032 <pull 2032_>,2033 <pull 2033_>, and2034 <pull 2034_>_.
.. _pull 2032: https://github.com/nedbat/coveragepy/pull/2032 .. _pull 2033: https://github.com/nedbat/coveragepy/pull/2033 .. _pull 2034: https://github.com/nedbat/coveragepy/pull/2034
.. _changes_7-10-4:
v7.10.4
-
Added
patch = forkfor times when the built-in forking support is insufficient. -
Fix:
patch = execvalso inherits the entire coverage configuration now.
.. _changes_7-10-3:
v7.10.3
-
Fixes for
patch = subprocess:-
If subprocesses spawned yet more subprocesses simultaneously, some coverage could be missed. This is now fixed, closing
issue 2024_. -
If subprocesses were created in other directories, their data files were stranded there and not combined into the totals, as described in
issue 2025_. This is now fixed. -
On Windows (or maybe only some Windows?) the patch would fail with a
ModuleNotFounderror trying to import coverage. This is now fixed, closingissue 2022_. -
Originally only options set in the coverage configuration file would apply to subprocesses. Options set on the
coverage runcommand line (such as--branch) wouldn't be communicated to the subprocesses. This could lead to combining failures, as described inissue 2021_. Now the entire configuration is used in subprocesses, regardless of its origin. -
Added
debug=patchto help diagnose problems.
-
-
Fix: really close all SQLite databases, even in-memory ones. Closes
issue 2017_.
.. _issue 2017: https://github.com/nedbat/coveragepy/issues/2017 .. _issue 2021: https://github.com/nedbat/coveragepy/issues/2021 .. _issue 2022: https://github.com/nedbat/coveragepy/issues/2022 .. _issue 2024: https://github.com/nedbat/coveragepy/issues/2024 .. _issue 2025: https://github.com/nedbat/coveragepy/issues/2025
.. _changes_7-10-2:
v7.10.2
- Fix: some code with NOP bytecodes could report missing branches that are
actually executed. This is now fixed, closing
issue 1999_. Python 3.9 still shows the problem.
.. _issue 1999: https://github.com/nedbat/coveragepy/issues/1999
.. _changes_7-10-1:
v7.10.1
-
Fix: the exclusion for
if TYPE_CHECKING:was wrong: it marked the branch as partial, but it should have been a line exclusion so the entire clause would be excluded. Improvesissue 831_. -
Fix: changed where .pth files are written for
patch = subprocess, closingissue 2006_.
.. _issue 2006: https://github.com/nedbat/coveragepy/issues/2006
.. _changes_7-10-0:
v7.10.0
-
A new configuration option: ":ref:
config_run_patch" specifies named patches to work around some limitations in coverage measurement. These patches are available:-
patch = _exitlets coverage save its data even when :func:os._exit() <python:os._exit>is used to abruptly end the process. This closes long-standingissue 310_ as well as its duplicates:issue 312,issue 1673,issue 1845, andissue 1941. -
patch = subprocessmeasures coverage in Python subprocesses created with :mod:subprocess, :func:os.system, or one of the :func:execv <python:os.execl>or :func:spawnv <python:os.spawnl>family of functions. Closes oldissue 367, its duplicateissue 378and oldissue 689_. -
patch = execvadjusts the :func:execv <python:os.execl>family of functions to save coverage data before ending the current program and starting the next. Not available on Windows. Closesissue 43_ after 15 years!
-
-
The HTML report now dimly colors subsequent lines in multi-line statements. They used to have no color. This gives a better indication of the amount of code missing in the report. Closes
issue 1308_. -
Two new exclusion patterns are part of the defaults:
...is automatically excluded as a line andif TYPE_CHECKING:is excluded as a branch. Closesissue 831_. -
A new command-line option:
--save-signal=USR1specifies a signal that coverage.py will listen for. When the signal is sent, the coverage data will be saved. This makes it possible to save data from within long-running processes. Thanks,Arkady Gilinsky <pull 1998_>_. -
A new configuration option: ":ref:
config_report_partial_also" is a list of regexes to add as pragmas for partial branches. This parallels the ":ref:config_report_exclude_also" setting for adding line exclusion patterns. -
A few file path configuration settings didn't allow for tilde expansion: :ref:
config_json_output, :ref:config_lcov_outputand :ref:config_run_debug_file. This is now fixed. -
Wheels are included for 3.14 now that 3.14 rc1 is available.
-
We no longer ship a PyPy-specific wheel. PyPy will install the pure-Python wheel. Closes
issue 2001_. -
In the very unusual situation of not having a current frame, coverage no longer crashes when using the sysmon core, fixing
issue 2005_.
.. _issue 43: https://github.com/nedbat/coveragepy/issues/43 .. _issue 310: https://github.com/nedbat/coveragepy/issues/310 .. _issue 312: https://github.com/nedbat/coveragepy/issues/312 .. _issue 367: https://github.com/nedbat/coveragepy/issues/367 .. _issue 378: https://github.com/nedbat/coveragepy/issues/378 .. _issue 689: https://github.com/nedbat/coveragepy/issues/689 .. _issue 831: https://github.com/nedbat/coveragepy/issues/831 .. _issue 1308: https://github.com/nedbat/coveragepy/issues/1308 .. _issue 1673: https://github.com/nedbat/coveragepy/issues/1673 .. _issue 1845: https://github.com/nedbat/coveragepy/issues/1845 .. _issue 1941: https://github.com/nedbat/coveragepy/issues/1941 .. _pull 1998: https://github.com/nedbat/coveragepy/pull/1998 .. _issue 2001: https://github.com/nedbat/coveragepy/issues/2001 .. _issue 2005: https://github.com/nedbat/coveragepy/issues/2005
.. _changes_7-9-2:
v7.9.2
-
Fix: complex conditionals within a line might cause a KeyError when using sys.monitoring, as reported in
issue 1991_. This is now fixed. -
Fix: we can now measure coverage for code in Python archive (.par) files. Thanks,
Itamer Oren <pull 1984_>_.
.. _pull 1984: https://github.com/nedbat/coveragepy/pull/1984 .. _issue 1991: https://github.com/nedbat/coveragepy/issues/1991
.. _changes_7-9-1:
v7.9.1
-
The "no-ctracer" warning is not issued for Python pre-release versions. Coverage doesn't ship compiled wheels for those versions, so this was far too noisy.
-
On Python 3.14+, the "sysmon" core is now the default if it's supported for your configuration. Plugins and dynamic contexts are still not supported with it.
.. _changes_7-9-0:
v7.9.0
-
Added a
[run] coreconfiguration setting to specify the measurement core, which was previously only available through the COVERAGE_CORE environment variable. Finishesissue 1746_. -
Fixed incorrect rendering of f-strings with doubled braces, closing
issue 1980_. -
If the C tracer core can't be imported, a warning ("no-ctracer") is issued with the reason.
-
The C tracer core extension module now conforms to
PEP 489, closingissue 1977. Thanks,Adam Turner <pull 1978_>_. -
Fixed a "ValueError: min() arg is an empty sequence" error caused by strange empty modules, found by
oss-fuzz_.
.. _issue 1746: https://github.com/nedbat/coveragepy/issues/1746 .. _issue 1977: https://github.com/nedbat/coveragepy/issues/1977 .. _pull 1978: https://github.com/nedbat/coveragepy/pull/1978 .. _issue 1980: https://github.com/nedbat/coveragepy/issues/1980 .. _PEP 489: https://peps.python.org/pep-0489 .. _oss-fuzz: https://google.github.io/oss-fuzz/
.. _changes_7-8-2:
v7.8.2
- Wheels are provided for Windows ARM64 on Python 3.11, 3.12, and 3.13.
Thanks,
Finn Womack <pull 1972_>_.
.. _issue 1971: https://github.com/nedbat/coveragepy/pull/1971 .. _pull 1972: https://github.com/nedbat/coveragepy/pull/1972
.. _changes_7-8-1:
v7.8.1
-
A number of EncodingWarnings were fixed that could appear if you've enabled PYTHONWARNDEFAULTENCODING, fixing
issue 1966. Thanks,Henry Schreiner <pull 1967_>. -
Fixed a race condition when using sys.monitoring with free-threading Python, closing
issue 1970_.
.. _issue 1966: https://github.com/nedbat/coveragepy/issues/1966 .. _pull 1967: https://github.com/nedbat/coveragepy/pull/1967 .. _issue 1970: https://github.com/nedbat/coveragepy/issues/1970
.. _changes_7-8-0:
v7.8.0
-
Added a new
source_dirssetting for symmetry with the existingsource_pkgssetting. It's preferable to the existingsourcesetting, because you'll get a clear error when directories don't exist. Fixesissue 1942. Thanks,Jeremy Fleischman <pull 1943_>. -
Fix: the PYTHONSAFEPATH environment variable new in Python 3.11 is properly supported, closing
issue 1696. Thanks,Philipp A. <pull 1700_>. This works properly except for a detail when using thecoveragecommand on Windows. There you can usepython -m coverageinstead if you need exact emulation.
.. _issue 1696: https://github.com/nedbat/coveragepy/issues/1696 .. _pull 1700: https://github.com/nedbat/coveragepy/pull/1700 .. _issue 1942: https://github.com/nedbat/coveragepy/issues/1942 .. _pull 1943: https://github.com/nedbat/coveragepy/pull/1943
.. _changes_7-7-1:
v7.7.1
- A few small tweaks to the sys.monitoring support for Python 3.14. Please test!
.. _changes_7-7-0:
v7.7.0
-
The Coverage object has a new method, :meth:
.Coverage.branch_statsfor getting simple branch information for a module. Closesissue 1888_. -
The :class:
Coverage constructor<.Coverage>now has apluginsparameter for passing in plugin objects directly, thanks toAlex Gaynor <pull 1919_>_. -
Many constant tests in if statements are now recognized as being optimized away. For example, previously
if 13:would have been considered a branch with one path not taken. Now it is understood as always true and no coverage is missing. -
The experimental sys.monitoring support now works for branch coverage if you are using Python 3.14.0 alpha 6 or newer. This should reduce the overhead coverage.py imposes on your test suite. Set the environment variable
COVERAGE_CORE=sysmonto try it out. -
Confirmed support for PyPy 3.11. Thanks Michał Górny.
.. _issue 1888: https://github.com/nedbat/coveragepy/issues/1888 .. _pull 1919: https://github.com/nedbat/coveragepy/pull/1919
.. _changes_7-6-12:
v7.6.12
- Fix: some aarch64 distributions were missing (
issue 1927_). These are now building reliably.
.. _issue 1927: https://github.com/nedbat/coveragepy/issues/1927
.. _changes_7-6-11:
v7.6.11
-
Fix: a memory leak in CTracer has been fixed. The details are in
issue 1924_ andpytest-dev 676_. This should reduce the memory footprint for everyone even if it hadn't caused a problem before. -
We now ship a py3-none-any.whl wheel file. Thanks,
Russell Keith-Magee <pull 1914_>_.
.. _pull 1914: https://github.com/nedbat/coveragepy/pull/1914 .. _issue 1924: https://github.com/nedbat/coveragepy/issues/1924 .. _pytest-dev 676: https://github.com/pytest-dev/pytest-cov/issues/676
.. _changes_7-6-10:
v7.6.10
-
Fix: some descriptions of missing branches in HTML and LCOV reports were incorrect when multi-line statements were involved (
issue 1874_ andissue 1875_). These are now fixed. -
Fix: Python 3.14
defers evaluation of annotations <pep649_>_ by moving them into separate code objects. That code is rarely executed, so coverage.py would mark them as missing, as reported inissue 1908_. Now they are ignored by coverage automatically. -
Fixed an obscure and mysterious problem on PyPy 3.10 seemingly involving mocks, imports, and trace functions:
issue 1902_. To be honest, I don't understand the problem or the solution, butgit bisecthelped find it, and now it's fixed. -
Docs: re-wrote the :ref:
subprocesspage to put multiprocessing first and to highlight the correct use of :class:multiprocessing.Pool <python:multiprocessing.pool.Pool>.
.. _issue 1874: https://github.com/nedbat/coveragepy/issues/1874 .. _issue 1875: https://github.com/nedbat/coveragepy/issues/1875 .. _issue 1902: https://github.com/nedbat/coveragepy/issues/1902 .. _issue 1908: https://github.com/nedbat/coveragepy/issues/1908 .. _pep649: https://docs.python.org/3.14/whatsnew/3.14.html#whatsnew314-pep649
.. _changes_7-6-9:
v7.6.9
- Fix:
Tomas Uribe fixed <pull 1901_>_ a performance problem in the XML report. Large code bases should produce XML reports much faster now.
.. _pull 1901: https://github.com/nedbat/coveragepy/pull/1901
.. _changes_7-6-8:
v7.6.8
-
Fix: the LCOV report code assumed that a branch line that took no branches meant that the entire line was unexecuted. This isn't true in a few cases: the line might always raise an exception, or might have been optimized away. Fixes
issue 1896_. -
Fix: similarly, the HTML report will now explain that a line that jumps to none of its expected destinations must have always raised an exception. Previously, it would say something nonsensical like, "line 4 didn't jump to line 5 because line 4 was never true, and it didn't jump to line 7 because line 4 was always true." This was also shown in
issue 1896_.
.. _issue 1896: https://github.com/nedbat/coveragepy/issues/1896
.. _changes_7-6-7:
v7.6.7
- Fix: ugh, the other assert from 7.6.5 can also be encountered in the wild, so it's been restored to a conditional. Sorry for the churn.
.. _changes_7-6-6:
v7.6.6
- One of the new asserts from 7.6.5 caused problems in real projects, as
reported in
issue 1891_. The assert has been removed.
.. _issue 1891: https://github.com/nedbat/coveragepy/issues/1891
.. _changes_7-6-5:
v7.6.5
-
Fix: fine-tuned the exact Python version (3.12.6) when exiting from
withstatements changed how they traced. This affected whether people saw the fix forissue 1880_. -
Fix: isolate our code more from mocking in the os module that in rare cases can cause
bizarre behavior <pytest-cov-666_>_. -
Refactor: some code unreachable code paths in parser.py were changed to asserts. If you encounter any of these, please let me know!
.. _pytest-cov-666: https://github.com/pytest-dev/pytest-cov/issues/666
.. _changes_7-6-4:
v7.6.4
- Fix: multi-line
withstatements could cause contained branches to be incorrectly marked as missing (issue 1880_). This is now fixed.
.. _issue 1880: https://github.com/nedbat/coveragepy/issues/1880
.. _changes_7-6-3:
v7.6.3
-
Fix: nested context managers could incorrectly be analyzed to flag a missing branch on the last context manager, as described in
issue 1876_. This is now fixed. -
Fix: the missing branch message about not exiting a module had an extra "didn't," as described in
issue 1873_. This is now fixed.
.. _issue 1873: https://github.com/nedbat/coveragepy/issues/1873 .. _issue 1876: https://github.com/nedbat/coveragepy/issues/1876
.. _changes_7-6-2:
v7.6.2
-
Dropped support for Python 3.8 and PyPy 3.8.
-
Fix: a final wildcard match/case clause assigning to a name (
case _ as value) was incorrectly marked as a missing branch. This is now fixed, closingissue 1860_. -
Fewer things are considered branches now. Lambdas, comprehensions, and generator expressions are no longer marked as missing branches if they don't complete execution. Closes
issue 1852_. -
Fix: the HTML report didn't properly show multi-line f-strings that end with a backslash continuation. This is now fixed, closing
issue 1836, thanks toLiuYinCarl and Marco Ricci <pull 1838_>. -
Fix: the LCOV report now has correct line numbers (fixing
issue 1846) and better branch descriptions for BRDA records (fixingissue 1850). There are other changes to lcov also, including a new configuration option :ref:line_checksums <config_lcov_line_checksums>to control whether line checksums are included in the lcov report. The default is false. To keep checksums set it to true. All this work is thanks to Zack Weinberg (pull 1849_ andpull 1851_). -
Fixed the docs for multi-line regex exclusions, closing
issue 1863_. -
Fixed a potential crash in the C tracer, closing
issue 1835, thanks toJan Kühle <pull 1843_>.
.. _issue 1835: https://github.com/nedbat/coveragepy/issues/1835 .. _issue 1836: https://github.com/nedbat/coveragepy/issues/1836 .. _pull 1838: https://github.com/nedbat/coveragepy/pull/1838 .. _pull 1843: https://github.com/nedbat/coveragepy/pull/1843 .. _issue 1846: https://github.com/nedbat/coveragepy/issues/1846 .. _pull 1849: https://github.com/nedbat/coveragepy/pull/1849 .. _issue 1850: https://github.com/nedbat/coveragepy/issues/1850 .. _pull 1851: https://github.com/nedbat/coveragepy/pull/1851 .. _issue 1852: https://github.com/nedbat/coveragepy/issues/1852 .. _issue 1860: https://github.com/nedbat/coveragepy/issues/1860 .. _issue 1863: https://github.com/nedbat/coveragepy/issues/1863
.. _changes_7-6-1:
JoshData/python-email-validator (email-validator)
v2.3.0
- The package name is changed from using an underscore (email_validator) to a dash (email-validator) to match PyPi's normalized package name.
- The library no longer checks that the local part is at most 64 characters because a more careful reading of RFC 5321 indicates the limit is optional and such email addresses have been found in the wild. However the check can be restored using a new
strict=Trueparameter, and the overall 254 character email address length limit is still in place. - New EmailSyntaxError messages are used for some exiting syntax errors related to @-sign homoglyphs and invalid characters in internationalized domains.
- When using
allow_display_name=True, display names are now returned with Unicode NFC normalization. - TypeError is now raised if something other than str (or bytes) is passed as the email address.
cunla/fakeredis-py (fakeredis)
v2.31.1: 🌈
🐛 Bug Fixes
- Sending lib_name and lib_version only when relevant #408
- TcpFakeServer: Closing threads on server close #409
- TcpFakeServer: Register Lock scripts #406
🧰 Maintenance
Contributors
We'd like to thank all the contributors who worked on this release!
@mgorny and @phi-friday
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.31.0...v2.31.1
v2.31.0: 🌈
🚀 Features
- Add native cjson support for lua redis scripts #399 @ItsDrike
🐛 Bug Fixes
- version init argument typing #401
- include
lib_nameandlib_versioninFakeBaseConnectionMixin - when using
FakeValkey, raisevalkey.ResponseErrorinstead ofredis.ResponseError#402 - fix issue with pytest-asyncio #404 @seifertm
New Contributors
- @ItsDrike made their first contribution in https://github.com/cunla/fakeredis-py/pull/399
- @seifertm made their first contribution in https://github.com/cunla/fakeredis-py/pull/404
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.30.3...v2.31.0
v2.30.3
🐛 Bug Fixes
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.30.2...v2.30.3
v2.30.2: 🌈
🐛 Bug Fixes
- Import
Callablefromtypingto support python 3.8 #398
🧰 Maintenance
- Refactor tests
-
FakeValkeyuses valkey-py instead of redis-py
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.30.1...v2.30.2
v2.30.1: 🌈
🐛 Bug Fixes
- Move
LICENSEfile to fakeredis/ on build #395 - Show warning for deprecated parameter only if parameter is included in instantiation #384
🧰 Maintenance
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.30.0...v2.30.1
v2.30.0: 🌈
Changes
🚀 Features
- Support for RESP3 #360
- Implement support for
COPY@ajhetherington #383
🐛 Bug Fixes
- aio.FakeRedis: Using
inspectto get__init__paramaters #384 - Discrepancy when using xread with resp3 #393
Contributors
We'd like to thank all the contributors who worked on this release!
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.29.0...v2.30.0
v2.29.0: 🌈
🚀 Features
- Implement support for
NOVALUESforHSCAN - Implement support for
CLIENT LIST#376
🐛 Bug Fixes
- Fix
json.setnx arg behavior #372 - Fix issue with
hsetnot resetting expiration over field - Fix inconsistent 'pending' field in return from XINFO GROUPS #374
- Fix
TDIGEST.QUANTILEto match redis behavior on a TDigest with one value #377 - Fix
HINCRBY/hincrbyfloatcommands now don't remove ttl from hash key @M1ha-Shvn #381
New Contributors
- @M1ha-Shvn made their first contribution in https://github.com/cunla/fakeredis-py/pull/381
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.28.1...v2.29.0
v2.28.1
🐛 Bug Fixes
- Open commands.json with encoding specified #367
- Fix
xaddto use last timestamp if the current system timestamp is lower than the last timestamp #368
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.28.0...v2.28.1
v2.28.0
🚀 Features
- implement support for
WITHSCOREinZRANKandZREVRANK#357 - implement support for Connection commands
HELLO,CLIENT SETNAME,CLIENT GETNAME,CLIENT ID,CLIENT INFO#361 - implement support for
HGETEX,HSETEX,HGETDEL#365
🐛 Bug Fixes
- Fix
test_tcp_server_startedto close the connection @mgorny (#363) - [ACL] Always allow
AUTHcommand @wakonig (#362) - [ACL] Provide
defaultaccount acl on startup @wakonig (#362)
🧰 Maintenance
- Refactor hypothesis tests (#366)
Contributors
We'd like to thank all the contributors who worked on this release!
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.27.0...v2.28.0
v2.27.0: 🌈
Changes
🚀 Features
- ACL commands support #338
-
ACL LOAD,ACL SAVE,ACL LIST,ACL USERS,ACL GETUSER,ACL SETUSER,ACL DELUSER,ACL CAT,ACL LOG,ACL HELP,ACL WHOAMI,ACL GENPASS,ACL AUTH,ACL LOG_RESET,ACL LOG_COUNT,ACL LOG_GET,ACL LOG_HELP,ACL LOG_RESET,ACL LOG_COUNT,ACL LOG_GET,ACL LOG_HELP
-
- Add support disable_decoding in async read_response #349
- Implement support for
SADDEX, using a new set implementation with support for expiring members #350
🧰 Maintenance
- Remove end of life python 3.8 from test matrix
- Add python 3.13 to test matrix
- Improve documentation for Dragonfly/Valkey support
Contributors
We'd like to thank all the contributors who worked on this release!
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.26.2...v2.27.0
v2.26.2: 🌈
🐛 Bug Fixes
- Fix bug in
xreadgroupwhen stream length is less than COUNT with BLOCK #344
🧰 Maintenance
- Implement test for
SADDEX(Dragonfly specific command) #348 - Update dependencies
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.26.1...v2.26.2
v2.26.1: 🌈
🧰 Maintenance
- add py3.7 test (#343)
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.26.0...v2.26.1
v2.26.0: 🌈
🚀 Features
🐛 Bug Fixes
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.25.1...v2.26.0
v2.25.1: 🌈
🐛 Bug Fixes
- Fix missing default values for version/server_type in
FakeBaseConnectionMixin#334
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.25.0...v2.25.1
v2.25.0: 🌈
🚀 Features
- Implement support for hash expiration related commands @j00bar #328
HEXPIRE,HEXPIREAT,HEXPIRETIME,HPERSIST,HPEXPIRE,HPEXPIREAT,HPEXPIRETIME,HPTTL,HTTL, - Implement support for
SORT_RO#325,EXPIRETIME#323, andPEXPIRETIME#324 - Support for creating a tcp server listening to multiple clients
- Testing against valkey 8.0 #333
- Improve documentation #332
🐛 Bug Fixes
Replace typing_extensions dependency with typing-extensions #330
Contributors
We'd like to thank all the contributors who worked on this release!
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.24.1...v2.25.0
v2.24.1: 🌈
Changes
🐛 Bug Fixes
- Fix license file added to site-packages #320
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.24.0...v2.24.1
v2.24.0: 🌈
🚀 Features
- Support for TIME SERIES commands (no support for align arguments on some commands) #310
🐛 Bug Fixes
- fix:xrevrange to work with exclusive ranges @hurlenko #319
🧰 Maintenance
- Update all dependencies, particularly pytest to v8
- Add tests against Dragonfly server #318
- Implement decocator
unsupported_server_typesto enable excluding tests from running against certain server types #318
Contributors
We'd like to thank all the contributors who worked on this release!
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.23.5...v2.24.0
tox-dev/py-filelock (filelock)
v3.19.1
What's Changed
- add 3.14t (free threading) to matrix by @paultiq in https://github.com/tox-dev/filelock/pull/433
- Increase test coverage by @paultiq in https://github.com/tox-dev/filelock/pull/434
New Contributors
- @paultiq made their first contribution in https://github.com/tox-dev/filelock/pull/433
Full Changelog: https://github.com/tox-dev/filelock/compare/3.19.0...3.19.1
v3.18.0
What's Changed
- Indicate that locks are exclusive/write locks. by @bicarlsen in https://github.com/tox-dev/filelock/pull/394
- Support fcntl check on Emscripten by @juntyr in https://github.com/tox-dev/filelock/pull/398
New Contributors
- @bicarlsen made their first contribution in https://github.com/tox-dev/filelock/pull/394
- @juntyr made their first contribution in https://github.com/tox-dev/filelock/pull/398
Full Changelog: https://github.com/tox-dev/filelock/compare/3.17.0...3.18.0
v3.17.0: Drop 3.8
Full Changelog: https://github.com/tox-dev/filelock/compare/3.16.1...3.17.0
v3.16.1
What's Changed
- CI improvements by @gaborbernat in https://github.com/tox-dev/filelock/pull/362
Full Changelog: https://github.com/tox-dev/filelock/compare/3.16.0...3.16.1
v3.16.0
What's Changed
- Test Python 3.13 by @hugovk in https://github.com/tox-dev/filelock/pull/352
- Add 3.13 to CI by @gaborbernat in https://github.com/tox-dev/filelock/pull/359
Full Changelog: https://github.com/tox-dev/filelock/compare/3.15.4...3.16.0
grafana/grafana (grafana/grafana)
v11.6.5
Features and enhancements
- Alerting: Bump alerting package to include change to NewTLSClient #108817, @rwwiv
- Go: Update to 1.24.6 #109314, @Proximyst
v11.6.4
Features and enhancements
- Dependencies: Bump github.com/go-viper/mapstructure/v2 from 2.2.1 to 2.3.0 #107555, @macabu
- StateTimeline: Add endTime to tooltip #107605, @adela-almasan
- Unified storage: Respect GF_DATABASE_URL override #107573, @pstibrany
Bug fixes
- Alerting: Fix group interval override when adding new rules #107496, @konrad147
- Azure: Fix legend formatting #106934, @aangelisc
- Azure: Fix resource name determination in template variable queries #106939, @aangelisc
- Graphite: Fix annotation queries #106940, @aangelisc
- Graphite: Fix date mutation #107523, @aangelisc
- Graphite: Fix nested variable interpolation for repeated rows #107564, @aangelisc
- Security: Fixes for CVE-2025-6197 and CVE-2025-6023 #108281, @volcanonoodle
v11.6.3
Features and enhancements
- Profiles: Stop passing response headers for Grafana-Pyroscope and parca datasources #106729, @simonswine
Bug fixes
- FlameGraph: Fix bug for function names that conflict with JavaScript object prototype properties #106624, @simonswine
- Security: Fixed CVE-2025-6023
- Security: Fixed CVE-2025-6197
v11.6.2
Bug fixes
- Security: Fixed CVE-2025-3415
v11.6.1
Bug fixes
- Security: Fix CVE-2025-4123
v11.6.0
Bug fixes
- Security: Fix CVE-2025-3454
- Security: Fix CVE-2025-2703
- Security: Fix CVE-2025-3260
v11.5.8
Features and enhancements
- Go: Update to 1.24.6 #109315, @Proximyst
v11.5.7
Features and enhancements
Bug fixes
- Azure: Fix legend formatting #106933, @aangelisc
- Azure: Fix resource name determination in template variable queries #106938, @aangelisc
- Security: Fixes for CVE-2025-6197 and CVE-2025-6023 #108280, @volcanonoodle
v11.5.6
Bug fixes
- Security: Fixed CVE-2025-6023
- Security: Fixed CVE-2025-6197
v11.5.5
Bug fixes
- Security: Fixed CVE-2025-3415
v11.5.4
Bug fixes
- Security: Fix CVE-2025-4123
v11.5.3
Features and enhancements
- Chore: Bump Go to 1.23.7 #101581, @macabu
- Chore: Bump Go to 1.23.7 (Enterprise)
- Chore: Update CVE-affected dependencies #102709, @grambbledook
Bug fixes
- Alerting: Fix token-based Slack image upload to work with channel names #101078, @JacobsonMT
- Auth: Fix AzureAD config UI's ClientAuthentication dropdown #100869, @mgyongyosi
- Dashboard: Fix the unintentional time range and variables updates on saving #101671, @harisrozajac
-
Dashboards: Fix missing
v/e/ikeybindings to return back to dashboard #102365, @mdvictor - InfluxDB: Improve handling of template variables contained in regular expressions (InfluxQL) #100977, @aangelisc
- LDAP test: Fix page crash #102683, @ashharrison90
- Org redirection: Fix linking between orgs #102089, @ashharrison90
- Security: Fix CVE-2025-3454
- Security: Fix CVE-2025-2703
v11.5.2
Features and enhancements
- Docker: Use our own glibc 2.40 binaries #99918, @DanCech
- TransformationFilter: Include transformation outputs in transformation filtering options #99878, @Sergej-Vlasov
- grafana-ui: Update InlineField error prop type to React.ReactNode #100373, @Clarity-89
Bug fixes
- Alerting: Allow specifying uid for new rules added to groups #100450, @yuri-tceretian
- Alerting: Allow specifying uid for new rules added to groups #100450, @yuri-tceretian
- Alerting: Call RLock() before reading sendAlertsTo map #99880, @santihernandezc
- Auth: Fix redirect with JWT auth URL login #100355, @mgyongyosi
- AuthN: Refetch user on "ErrUserAlreadyExists" #100582, @kalleep
- Azure: Correctly set application insights resource values #99599, @aangelisc
- CodeEditor: Fix cursor alignment #99863, @ashharrison90
- DashboardList: Throttle the re-renders #100046, @bfmatei
- Dashboards: Bring back scripted dashboards #100633, @dprokop
- Plugin Metrics: Eliminate data race in plugin metrics middleware #100078, @clord
-
RBAC: Don't check folder access if
annotationPermissionUpdateFT is enabled #100117, @IevaVasiljeva
v11.5.1
Bug fixes
- CodeEditor: Fix cursor alignment #99090, @ashharrison90
- TransformationFilter: Include transformation outputs in transformation filtering options: Include transformation outputs in transformation filtering options #98323, @Sergej-Vlasov
v11.5.0
Features and enhancements
- ** CloudMigration:** Create authapi service #96581, @leandro-deveikis
- Alerting: Add new button for exporting new alert rule in HCL format #96785, @soniaAguilarPeiron
- Alerting: Add option to show inactive alerts in alert list panel #96888, @bradleypettit
- Alerting: Add state_periodic_save_batch_size config option #98019, @alexander-akhmetov
- Alerting: Change default for max_attempts to 3. #97461, @stevesg
- Alerting: Consume k8s API for notification policies tree #96147, @konrad147
- Alerting: Enable flag alertingApiServer by default #98282, @yuri-tceretian
- Alerting: Explore button in Insights view #96496, @ppcano
- Alerting: Improve performance ash page #97619, @soniaAguilarPeiron
- Alerting: Make alert rule policies preview use k8s API #97070, @tomratcliffe
- Alerting: Return default builtin templates in k8s templategroup API and UI #96330, @JacobsonMT
- Alerting: Simplify notification step #96430, @soniaAguilarPeiron
- Alerting: Update state manager to take image only once per rule evaluation #98289, @yuri-tceretian
- Analytics Views: Deprecate :dashboardID endpoints in favor of uid/:dashboardUID (Enterprise)
- Analytics: Summaries: Deprecate dashboard_id endpoints in favor of dashboard_uid (Enterprise)
- Announcement Banners: Enable feature for all cloud tiers (Enterprise)
- Announcement banner: Remove feature toggle #98782, @Clarity-89
- Announcement banner: Remove feature toggle (Enterprise)
- Announcement banner: Sort by last updated (Enterprise)
- Auth: Return error when retries have been exhausted for OAuth token refresh #98034, @mgyongyosi
- Azure Monitor: Add a feature flag to toggle user auth for Azure Monitor only #96858, @adamyeats
- Azure: Improve Azure Prometheus exemplars UI/UX #97198, @aangelisc
- Azure: Unify credentials in frontend for Prometheus #96568, @yjsong11
- Chore: Bump Go to 1.23.4 #98853, @Proximyst
- Chore: Bump Go to 1.23.4 (Enterprise)
- Chore: Remove experimental Storage UI #96887, @ryantxu
- Chore: Update to node 22 #97779, @ashharrison90
- CloudMigrations: Enable feature toggle by default in 11.5 #98686, @mmandrus
- CloudMigrations: Introduce RBAC role for migration assistant #98588, @macabu
- CloudWatch: Add OpenSearch PPL and SQL support in Logs Insights #97508, @idastambuk
- CloudWatch: Batch different time ranges separately #98230, @iwysiu
- Cloudwatch: Accept empty string for logstimeout and mark errors downstream #96947, @iwysiu
- Cloudwatch: Update grafana-aws-sdk for AWS/AmplifyHosting metrics #97799, @iwysiu
- Dashboard Scene: Shows usages in variables list #96000, @harisrozajac
- Dashboards: Add option to specify explicit percent change text size for stat panels #96952, @XZCendence
- Dashboards: Allow DashboardDS subqueries in MixedDS #97116, @mdvictor
-
Dashboards: Update docs of the
overwriteparam in Save Dashboard API Call #97011, @ArturWierzbicki - Datasources: Add toggle to control default behaviour of 'Manage alerts via Alerts UI' toggle #98441, @macabu
- Datasources: Allow clearing trace to logs, metrics and profiles datasource pickers #96554, @adrapereira
- Docker: Don't use legacy ENV syntax #93218, @simPod
- Elasticsearch: Health endpoint should handle http errors #96803, @iwysiu
- Elasticsearch: Use _field_caps instead of _mapping to get fields #97607, @iwysiu
- Explore Profiles: Preinstall for onprem Grafana instances #97775, @ifrost
- Explore metrics: Consolidate filters with the OTel experience #98371, @bohandley
- Explore: Show links to queryless apps #96625, @ifrost
- Expressions: Add notification for Strict Mode behavior in Reduce component #97224, @shubhankarunhale
- Faro: Improve performance of TRACKING_URLS regex #98022, @kpelelis
- FeatureToggles: Make newFiltersUI feature toggle generally available #97460, @Sergej-Vlasov
- Features: Remove cloudwatchMetricInsightsCrossAccount feature toggle #98826, @idastambuk
- Frontend Sandbox: Add switch to toggle plugins frontend sandbox via catalog UI (Enterprise)
-
Graphite: Set
maxDataPointsbased on user value in alerting #97178, @aangelisc - Licensing: Tidy up license token database code (Enterprise)
- LoginAttempt: Add setting to control max number of attempts before user login gets locked #97091, @kalleep
- Logs Panel: Add infinite scrolling support for Dashboards and Apps #97095, @matyax
- Logs Panel: Allow text selection without changing Log Details state #96995, @matyax
- Logs Panel: Limit displayed characters to MAX_CHARACTERS #96997, @matyax
- Logs: Added option to show the log line body when displayed fields are used #97209, @matyax
- Logs: Added support to disable and re-enable the popover menu #98254, @matyax
- Logs: Allow scroll to reach the bottom of the log list before loading more #96668, @matyax
- Loki: Added support for disabled operations in Query Builder #96751, @matyax
- Loki: Added support to show label types in Log Details #97284, @matyax
-
Loki: Allow regex in
labelderived field #96609, @svennergr - Loki: Hide internal labels #97323, @svennergr
- Loki: Sync query direction with sort order in Explore and Dashboards #98722, @matyax
- OAuth: Support client_secret_jwt for oauth providers when doing token exchange #95455, @naizerjohn-ms
- OAuth: Use the attached external session data in OAuthToken and OAuthTokenSync #96655, @mgyongyosi
- Org Selection: Show correct selected org when select is open #96601, @yincongcyincong
- PDF: Add new zoom options (Enterprise)
- Plugin Extensions: Only load app plugins when necessary #86624, @leventebalogh
- Plugins: Add token to gcom requests #96261, @oshirohugo
- Plugins: Add token to gcom requests (Enterprise)
- Plugins: Disable version install when angular version is not supported #97189, @oshirohugo
- Plugins: Disable version installation for specific plugin types #98597, @oshirohugo
- Plugins: Update to latest go plugin SDK (v0.260.3) w/ arrow v18 #97561, @ryantxu
- Plugins: Use grafana-com sso_api_token #97096, @oshirohugo
- Plugins: Use grafana-com sso_api_token (Enterprise)
- Prometheus datasource: Show info annotations in the UI #97978, @zenador
- Prometheus: Improve handling of special chars in label values #96067, @NWRichmond
- PublicDashboards: Remove publicDashboards FF #96578, @juanicabanas
- Reporting: Add allow list email domain configuration (Enterprise)
- Reporting: Include the apiserver by default and deprecated internal ids (Enterprise)
- RuntimeDataSource: Support in core for runtime registered data sources #93956, @torkelo
- SAML: Add the ability to specify EntityID (Enterprise)
- SAML: Implement correct SLO with NameID and SessionIndex handling (Enterprise)
- Security: Update to Go 1.23.5 - Backport to v11.5.x #99122, @Proximyst
- Security: Update to Go 1.23.5 - Backport to v11.5.x (Enterprise)
- Snapshots: Add RBAC roles for creating and deleting #96126, @evictorero
- Storage: Removes integration tests for MySQL 5.7 since it is EOL #98013, @inf0rmer
- Tempo: Add support for TraceQL Metrics exemplars #96859, @adrapereira
- Tempo: Honor datasource TLS settings for gRPC requests #97484, @mdisibio
- Tempo: Improve handling of multiple values in the Search tab query generation #98427, @adrapereira
- ToolbarButton: Auto width on smaller screen sizes #96023, @yincongcyincong
- Trace View: Set span filters as panel options #98328, @adrapereira
- TransformationFilter: Implement RefID multi picker #96841, @Sergej-Vlasov
- Transformations: Add Delimiter format option to Extract fields #97340, @tskarhed
- Transformations: Add RegExp option to Extract fields transformer #96593, @leeoniya
- Transformations: GroupToMatrix add 0 as special value #97642, @tskarhed
- Zipkin: Run queries through backend #97754, @ivanahuckova
Bug fixes
- Alerting: AlertingQueryRunner should skip descendant nodes of invalid queries #97528, @gillesdemey
- Alerting: Allow notification policy filters to match quoted matchers #98525, @gillesdemey
- Alerting: Fix alert rule list view summaries #98433, @yincongcyincong
- Alerting: Fix alert rules unpausing after moving rule to different folder #97580, @santihernandezc
- Alerting: Fix ash not showing history graph in firefox #98128, @soniaAguilarPeiron
- Alerting: Fix bug when saving a rule more than once #96658, @soniaAguilarPeiron
- Alerting: Fix data-testid in RuleEditorSection #97473, @soniaAguilarPeiron
- Alerting: Fix filtering rule group permissions based on their full path (Enterprise)
- Alerting: Fix go template parsing #97145, @konrad147
- Alerting: Fix label escaping in rule export #97985, @moustafab
- Alerting: Fix missing instances and history when Grafana rule is stored in folder with / #97956, @gillesdemey
- Alerting: Fix navigating to URLs with "%25" #96992, @gillesdemey
- Alerting: Fix no-change scenario in provisioning rule update API #98389, @alexander-akhmetov
- Alerting: Fix not being able to remove a reducer when using range query #97757, @soniaAguilarPeiron
- Alerting: Fix recording rules rendering simplified condition #97497, @soniaAguilarPeiron
- Alerting: Fix removing reducer when inital value is instant #97054, @soniaAguilarPeiron
- Alerting: Fix simplified query step #97046, @soniaAguilarPeiron
- Alerting: Fix slack image uploading to use new api #97817, @moustafab
- Alerting: Fix terraform export of notification policy #98429, @moustafab
- Alerting: Fix updating condition when refId changes #97753, @soniaAguilarPeiron
- Alerting: Fix using stacks- prefix instead of stack- for checking the namespace in boot data #97492, @soniaAguilarPeiron
- Anonymous User: Adds validator service for anonymous users (Enterprise)
- Auth: Fix SAML user IsExternallySynced not being set correctly #98487, @volcanonoodle
- Azure Monitor: Add safety around usage of frame.Meta.Custom struct #97766, @adamyeats
- Azure/GCM: Improve error display #96921, @aangelisc
- CloudWatch: Fix conditions for fetching wildcards #98648, @iwysiu
- CloudWatch: Fix interpolation of log groups when fetching fields #98054, @idastambuk
- Dashboard: Fixes issue with compatability of old DashboardModel.annotations #97328, @torkelo
- Dashboards: Fix issue where filtered panels would not react to variable changes #98718, @oscarkilhed
- Dashboards: Fixes week relative time ranges when weekStart was changed #98167, @torkelo
-
Dashboards: Panel react for
timeFromandtimeShiftchanges using variables #98510, @Sergej-Vlasov - DateTimePicker: Fixes issue with date picker showing invalid date #97888, @torkelo
- Fix: Add support for datasource variable queries #98098, @sunker
- Fix: Do not fetch Orgs if the user is authenticated by apikey/sa or render key #97162, @mgyongyosi
- Fix: Double encoding of URLs when using data proxy #98494, @s4kh
- Font: Disable contextual font ligatures #98521, @ashharrison90
- GrafanaUI: Fix inconsistent controlled/uncontrolled state in AutoSizeInput #96696, @joshhunt
- GrafanaUI: Revert: Fix inconsistent controlled/uncontrolled state in AutoSizeInput #97551, @itsmylife
- InfluxDB: Adhoc filters can use template vars as values #98567, @bossinc
- Library Panel: Fix issue where library panels did not display panel links. #98655, @yincongcyincong
- LibraryPanel: Fallback to panel title if library panel title is not set #99411, @ivanortegaalba
- Loki: Fix a bug when reading frames without values but warnings #97197, @svennergr
-
Loki: Only hide a set of labels instead of every label starting with
__#98730, @svennergr - Org: Fix redirection logic to work consistently #96521, @yincongcyincong
- Panel inspect: Fix file names of data download included uninterpolated variable names. #98832, @alexrosenfeld10
- Scenes: Upgrade to 5.36.3 #98661, @ivanortegaalba
- Snapshot: Show proper breadcrumb path #98806, @ashharrison90
- Time Picker: Fix "Fiscal year start month" selection behaviour #98576, @ashharrison90
- Unified Storage: Add support for verify-full in postgres #96825, @chaudyg
- Unified Storage: Use tls preferred when grafana db using ssl #97378, @owensmallwood
- Usage Insights: Fix usage insight errors being logged as [object Object] #93502, @mmandrus
Breaking changes
-
Loki: Default to
/labelsAPI withqueryparam instead of/seriesAPI #97935, @svennergr
Plugin development fixes & changes
- Grafana UI: Re-add react-router-dom as a dependency #97540, @leventebalogh
v11.4.8
Features and enhancements
- Go: Update to 1.24.6 #109316, @Proximyst
Bug fixes
-
Dashboards: Panel react for
timeFromandtimeShiftchanges using variables #98659, @Sergej-Vlasov
v11.4.7
Features and enhancements
Bug fixes
- Azure: Fix legend formatting #106932, @aangelisc
- Security: Fixes for CVE-2025-6197 and CVE-2025-6023 #108279, @volcanonoodle
v11.4.6
Bug fixes
- Security: Fixed CVE-2025-6023
- Security: Fixed CVE-2025-6197
v11.4.5
Bug fixes
- Security: Fixed CVE-2025-3415
Bug fixes
- Security: Fixed CVE-2025-3415
v11.4.4
Bug fixes
- Security: Fix CVE-2025-4123
v11.4.3
Features and enhancements
- Chore: Bump Go to 1.23.7 #101582, @macabu
- Chore: Bump Go to 1.23.7 (Enterprise)
- Chore: Update CVE-affected golang-gwt dependencies #102704, @grambbledook
Bug fixes
- Alerting: Fix token-based Slack image upload to work with channel names #101072, @JacobsonMT
- InfluxDB: Improve handling of template variables contained in regular expressions (InfluxQL) #100987, @aangelisc
- Service Accounts: Do not show error pop-ups for Service Account and Renderer UI flows #101790, @IevaVasiljeva
- Security: Fix CVE-2025-3454
- Security: Fix CVE-2025-2703
v11.4.2
Features and enhancements
Bug fixes
- Auth: Fix redirect with JWT auth URL login #100494, @mgyongyosi
- AuthN: Refetch user on "ErrUserAlreadyExists" #100585, @kalleep
- Azure: Correctly set application insights resource values #99598, @aangelisc
- Dashboards: Bring back scripted dashboards #100629, @dprokop
- Plugin Metrics: Eliminate data race in plugin metrics middleware #100077, @clord
-
RBAC: Don't check folder access if
annotationPermissionUpdateFT is enabled #100116, @IevaVasiljeva
v11.4.1
Features and enhancements
- Security: Update to Go 1.23.5 - Backport to v11.4.x #99123, @Proximyst
- Security: Update to Go 1.23.5 - Backport to v11.4.x (Enterprise)
Bug fixes
- Alerting: AlertingQueryRunner should skip descendant nodes of invalid queries #97830, @gillesdemey
- Alerting: Fix alert rules unpausing after moving rule to different folder #97583, @santihernandezc
- Alerting: Fix label escaping in rule export #98649, @moustafab
- Alerting: Fix slack image uploading to use new api #98066, @moustafab
- Azure/GCM: Improve error display #97594, @aangelisc
- Dashboards: Fix issue where filtered panels would not react to variable changes #98734, @oscarkilhed
- Dashboards: Fixes issue with panel header showing even when hide time override was enabled #98747, @torkelo
- Dashboards: Fixes week relative time ranges when weekStart was changed #98269, @torkelo
-
Dashboards: Panel react for
timeFromandtimeShiftchanges using variables #98659, @Sergej-Vlasov - DateTimePicker: Fixes issue with date picker showing invalid date #97971, @torkelo
- Fix: Add support for datasource variable queries #98119, @sunker
- InfluxDB: Adhoc filters can use template vars as values #98786, @bossinc
- LibraryPanel: Fallback to panel title if library panel title is not set #99410, @ivanortegaalba
Plugin development fixes & changes
- Grafana UI: Re-add react-router-dom as a dependency #98422, @leventebalogh
v11.4.0
Features and enhancements
- Cloudwatch: OpenSearch PPL and SQL support in Logs Insights
v11.3.9
Features and enhancements
Bug fixes
- Azure: Fix legend formatting #106931, @aangelisc
- Security: Fixes for CVE-2025-6197 and CVE-2025-6023 #108278, @volcanonoodle
v11.3.8
Bug fixes
- Security: Fixed CVE-2025-6023
- Security: Fixed CVE-2025-6197
v11.3.7
Bug fixes
- Security: Fixed CVE-2025-3415
v11.3.6
Bug fixes
- Security: Fix CVE-2025-4123
v11.3.5
Features and enhancements
- Chore: Bump Go to 1.23.7 #101583, @macabu
- Chore: Bump Go to 1.23.7 (Enterprise)
- Chore: Update libs with CVE in dependencies #102710, @grambbledook
Bug fixes
- Alerting: Fix token-based Slack image upload to work with channel names #101488, @moustafab
- Service Accounts: Do not show error pop-ups for Service Account and Renderer UI flows #101791, @IevaVasiljeva
- Security: Fix CVE-2025-3454
- Security: Fix CVE-2025-2703
v11.3.4
Features and enhancements
Bug fixes
- Auth: Fix redirect with JWT auth URL login #100495, @mgyongyosi
- Azure: Correctly set application insights resource values #99597, @aangelisc
- Dashboards: Bring back scripted dashboards #100627, @dprokop
- Plugin Metrics: Eliminate data race in plugin metrics middleware #100076, @clord
v11.3.3
Features and enhancements
- Azure Monitor: Add a feature flag to toggle user auth for Azure Monitor only #97576, @adamyeats
- Security: Update to Go 1.23.5 - Backport to v11.3.x #99124, @Proximyst
- Security: Update to Go 1.23.5 - Backport to v11.3.x (Enterprise)
Bug fixes
- Alerting: AlertingQueryRunner should skip descendant nodes of invalid queries #97829, @gillesdemey
- Azure/GCM: Improve error display #97593, @aangelisc
- Dashboard: Fixes issue with compatability of old DashboardModel.annotations #97467, @torkelo
- Dashboards: Fix issue where filtered panels would not react to variable changes #98733, @oscarkilhed
- Dashboards: Fixes issue with panel header showing even when hide time override was enabled #97389, @torkelo
- Dashboards: Fixes week relative time ranges when weekStart was changed #98268, @torkelo
- DateTimePicker: Fixes issue with date picker showing invalid date #97970, @torkelo
- Fix: Add support for datasource variable queries #98118, @sunker
- InfluxDB: Adhoc filters can use template vars as values #98785, @bossinc
- Unified Storage: Use tls preferred when grafana db using ssl #97379, @owensmallwood
Plugin development fixes & changes
- Grafana UI: Re-add react-router-dom as a dependency #98421, @leventebalogh
v11.3.2
Features and enhancements
- Backport: Announcement Banners: Enable feature for all cloud tiers (Enterprise)
Bug fixes
- Fix: Do not fetch Orgs if the user is authenticated by apikey/sa or render key #97262, @mgyongyosi
v11.3.1
Features and enhancements
- Alerting: Make context deadline on AlertNG service startup configurable #96135, @fayzal-g
- MigrationAssistant: Restrict dashboards, folders and datasources by the org id of the signed in user #96345, @leandro-deveikis
- User: Check SignedInUser OrgID in RevokeInvite #95490, @mgyongyosi
Bug fixes
- Alerting: Fix escaping of silence matchers in utf8 mode #95347, @tomratcliffe
- Alerting: Fix overflow for long receiver names #95133, @gillesdemey
- Alerting: Fix saving advanced mode toggle state in the alert rule editor #95981, @alexander-akhmetov
- Alerting: Fix setting datasource uid, when datasource is string in old version #96273, @soniaAguilarPeiron
- Alerting: Force refetch prom rules when refreshing panel #96125, @soniaAguilarPeiron
- Anonymous User: Adds validator service for anonymous users #94994, @leandro-deveikis
- Anonymous User: Adds validator service for anonymous users (Enterprise)
- Azure Monitor: Support metric namespaces fallback #95155, @aangelisc
- Azure: Fix duplicated traces in multi-resource trace query #95247, @aangelisc
- Azure: Handle namespace request rejection #95909, @aangelisc
- CloudWatch: Interpolate region in log context query #94990, @iwysiu
- Dashboard datasource: Return annotations as series when query topic is "annotations" #95971, @kaydelaney
- Dashboard: Append orgId to URL #95963, @bfmatei
- Dashboards: Fixes performance issue expanding a row #95321, @torkelo
- Flame Graph: Fix crash when it receives empty data #96211, @yincongcyincong
- Folders: Add admin permissions upon creation of a folder w. SA #95365, @eleijonmarck
- Folders: Don't show error pop-up if the user can't fetch the root folder #95600, @IevaVasiljeva
- Migration: Remove table aliasing in delete statement to make it work for mariadb #95232, @kalleep
- ServerLock: Fix pg concurrency/locking issue #95935, @mgyongyosi
- Service Accounts: Run service account creation in transaction #94803, @IevaVasiljeva
- Table: Fix text wrapping applying to wrong field #95425, @codeincarnate
- Unified Storage: Use ssl_mode instead of sslmode #95662, @chaudyg
v11.3.0
Bug fixes
- MigrationAssistant: Fix Migration Assistant issue [CVE-2024-9476]
v11.2.10
Bug fixes
- Security: Fixed CVE-2025-3415
v11.2.9
Bug fixes
- Security: Fix CVE-2025-4123
v11.2.8
Features and enhancements
Bug fixes
- Alerting: Update slack image upload to use new API #101487, @moustafab
- CloudMigrations: Fix OrderBy clause in GetSnapshotList sql handler #102351, @mmandrus
- Service Accounts: Do not show error pop-ups for Service Account and Renderer UI flows #101795, @IevaVasiljeva
- Security: Fix CVE-2025-3454
- Security: Fix CVE-2025-2703
v11.2.7
Features and enhancements
Bug fixes
- Azure: Correctly set application insights resource values #99596, @aangelisc
v11.2.6
Features and enhancements
- Azure Monitor: Add a feature flag to toggle user auth for Azure Monitor only #97565, @adamyeats
- Security: Update to Go 1.22.11 - Backport to v11.2.x #99125, @Proximyst
- Security: Update to Go 1.22.11 - Backport to v11.2.x (Enterprise)
Bug fixes
- Azure/GCM: Improve error display #97591, @aangelisc
v11.2.5
Bug fixes
- Fix: Do not fetch Orgs if the user is authenticated by apikey/sa or render key #97264, @mgyongyosi
v11.2.4
Features and enhancements
- Alerting: Make context deadline on AlertNG service startup configurable #96133, @fayzal-g
- MigrationAssistant: Restrict dashboards, folders and datasources by the org id of the signed in user #96344, @leandro-deveikis
- Transformations: Add 'transpose' transform #95076, @jmdane
- User: Check SignedInUser OrgID in RevokeInvite #95489, @mgyongyosi
Bug fixes
- Alerting: Force refetch prom rules when refreshing panel #96124, @soniaAguilarPeiron
- Anonymous User: Adds validator service for anonymous users #94993, @leandro-deveikis
- Anonymous User: Adds validator service for anonymous users (Enterprise)
- Azure Monitor: Support metric namespaces fallback #95154, @aangelisc
- Azure: Fix duplicated traces in multi-resource trace query #95246, @aangelisc
- Azure: Handle namespace request rejection #95908, @aangelisc
- Folders: Add admin permissions upon creation of a folder w. SA #95416, @eleijonmarck
- Migration: Remove table aliasing in delete statement to make it work for mariadb #95231, @kalleep
- ServerLock: Fix pg concurrency/locking issue #95934, @mgyongyosi
- ServerSideExpressions: Disable SQL Expressions to prevent RCE and LFI vulnerability #94959, @samjewell
v11.2.3
- MigrationAssistant: Fix Migration Assistant issue [CVE-2024-9476]
v11.2.2
Bug fixes
- SQL Expressions: Fixes CVE-2024-9264
v11.2.1
Bug fixes
- Security: Fixed CVE-2025-3415
v11.2.0
Features and enhancements
- @grafana/data: Introduce new getTagKeys/getTagValues response interface #88369, @kaydelaney
- AWS: Update deprecated aws-sdk functions from env variable versions #89643, @iwysiu
- Alerting: Add ha_reconnect_timeout configuration option #88823, @JacobValdemar
- Alerting: Add setting for maximum allowed rule evaluation results #89468, @alexander-akhmetov
- Alerting: Add warning in telegram contact point #89397, @soniaAguilarPeiron
- Alerting: Central alert history part4 #90088, @soniaAguilarPeiron
- Alerting: Don't crash the page when trying to filter rules by regex #89466, @tomratcliffe
- Alerting: Enable remote primary mode using feature toggles #88976, @santihernandezc
- Alerting: Hide edit/view rule buttons according to deleting/creating state #90375, @tomratcliffe
- Alerting: Implement UI for grafana-managed recording rules #90360, @soniaAguilarPeiron
- Alerting: Improve performance of /api/prometheus for large numbers of alerts. #89268, @stevesg
- Alerting: Include a list of ref_Id and aggregated datasource UIDs to alerts when state reason is NoData #88819, @wasim-nihal
- Alerting: Instrument outbound requests for Loki Historian and Remote Alertmanager with tracing #89185, @alexweav
- Alerting: Limit instances on alert detail view unless in instances tab #89368, @gillesdemey
- Alerting: Make alert group editing safer #88627, @gillesdemey
- Alerting: Make whitespace more visible on labels #90223, @tomratcliffe
- Alerting: Remove option to return settings from api/v1/receivers and restrict provisioning action access #90861, @JacobsonMT
- Alerting: Resend resolved notifications for ResolvedRetention duration #88938, @JacobsonMT
- Alerting: Show Insights page only on cloud (when required ds's are available) #89679, @soniaAguilarPeiron
- Alerting: Show repeat interval in timing options meta #89414, @gillesdemey
- Alerting: Support median in reduce expressions #91119, @alexander-akhmetov
- Alerting: Track central ash interactions #90330, @soniaAguilarPeiron
- Alerting: Update alerting state history API to authorize access using RBAC #89579, @yuri-tceretian
- Alerting: Update warning message for Telegram parse_mode and default to empty value #89630, @tomratcliffe
- Alerting: Use Runbook URL label everywhere and add validation in the alert rule… #90523, @soniaAguilarPeiron
- Alerting: Use cloud notifier types for metadata on Cloud AMs #91054, @tomratcliffe
- Alerting: Use stable identifier of a group when export to HCL #90196, @KyriosGN0
- Alerting: Use stable identifier of a group,contact point,mute timing when export to HCL #90917, @KyriosGN0
- Alertmanager: Support limits for silences #90826, @santihernandezc
- Angular deprecation: Disable dynamic angular inspector if CheckForPluginUpdates is false #91194, @xnyo
- App events: Add "info" variant #89903, @Clarity-89
- Auth: Add org to role mappings support to AzureAD/Entra integration #88861, @mgyongyosi
- Auth: Add organization mapping configuration to the UI #90003, @mgyongyosi
- Auth: Add support for escaping colon characters in org_mapping #89951, @mgyongyosi
- Azure: Add new Azure infrastructure dashboards #88869, @yves-chan
- BrowseDashboards: Update results when starred param changes #89944, @Clarity-89
- Caching: Handle memcached reconnects #91498, @mmandrus
- Calendar: Add labels for next/previous month #89019, @ashharrison90
- Canvas: Element level data links #89079, @adela-almasan
- Canvas: Improved tooltip #90162, @adela-almasan
- Canvas: Support template variables in base URL of actions #91227, @nmarrs
- Chore: Add missing build elements to Dockerfile #89714, @azilly-de
- Chore: Add unit test for cloudmigration package #88868, @leandro-deveikis
- Chore: Commit results of bingo get #90256, @mmandrus
- CloudMigrations: Change onPremToCloudMigrations feature toggle to public preview #90757, @mmandrus
- CloudWatch: Add errorsource for QueryData #91085, @iwysiu
- CloudWatch: Update grafana-aws-sdk for updated metrics #91364, @iwysiu
- Cloudwatch: Clear cached PDC transport when PDC is disabled #91357, @njvrzm
- Cloudwatch: Metrics Query Builder should clear old query #88950, @iwysiu
- Cloudwatch: Remove awsDatasourcesNewFormStyling feature toggle #90128, @idastambuk
- Cloudwatch: Rename Metric Query to Metric Insights #89955, @idastambuk
- Cloudwatch: Round up endTime in GetMetricData to next minute #89341, @idastambuk
- Dashboard: Use preferred timezone on create #89833, @Clarity-89
- Datalinks: UX improvements #91352, @adela-almasan
- DateTimePicker: Add "timeZone" prop #90031, @Clarity-89
- Dynatrace: Add to list of DS with custom label logic #90258, @fabrizio-grafana
- Elasticsearch: Decouple backend from infra/http #90408, @njvrzm
- Elasticsearch: Decouple backend from infra/log #90527, @njvrzm
- Elasticsearch: Decouple backend from infra/tracing #90528, @njvrzm
- Explore: Add setting for default time offset #90401, @gelicia
- Feat: Extending report interaction with static context that can be appended to all interaction events #88927, @tolzhabayev
- Feature management: Add openSearchBackendFlowEnabled feature toggle #89208, @idastambuk
- Features: Add cloudwatchMetricInsightsCrossAccount feature toggle #89848, @idastambuk
- Features: Release Cloudwatch Metric Insights cross-account querying to public preview #91066, @idastambuk
- FlameGraph: Remove flameGraphItemCollapsing feature toggle #90190, @joey-grafana
- GCP: Update GKE monitoring dashboard #90091, @aangelisc
- GOps: Add Grafana SLO steps to IRM configuration tracker #88098, @obetomuniz
- Grafana: Enables use of encrypted certificates with password for https #91418, @leandro-deveikis
- IDToken: Add current user's DisplayName to the ID token #90992, @colin-stuart
- IDToken: Add current user's Username and UID to the ID token #90240, @mgyongyosi
- Keybinds: Allow move time range shortcuts (t left / t right) to be chained #88904, @joshhunt
- LibraryPanels: Use new folder picker when creating a library panel #89228, @joshhunt
- Log: Added panel support for filtering callbacks #88980, @matyax
- Logs: Add log line to content outline when clicking on datalinks #90207, @gtk-grafana
- Loki: Add option to issue forward queries #91181, @svennergr
- Loki: Added support for negative numbers in LogQL #88719, @matyax
-
Loki: Also replace
stepwith vars #91031, @svennergr -
Loki: Remove
instantquery type from Log queries #90137, @svennergr - Loki: Respect pre-selected filters in adhoc filter queries #89022, @ivanahuckova
- MSSQL: Password auth for Azure AD #89746, @bossinc
- Metrics: Add ability to disable classic histogram for HTTP metric #88315, @hairyhenderson
- Nav: Add items to saved #89908, @Clarity-89
-
OpenAPI: Document the
/api/healthendpoint #88203, @julienduchesne - PanelChrome: Use labelledby for accessible title #88781, @tskarhed
- Plugins: Add filters by update available #91526, @oshirohugo
- Plugins: Add logs to for plugin management actions #90587, @oshirohugo
- Plugins: Disable install controls for provisioned plugin in cloud #90479, @oshirohugo
- Plugins: Expose functions to plugins for checking RBAC permissions #89047, @jackw
- Plugins: Improve levitate / breaking changes report in grafana/grafana #89822, @oshirohugo
- Plugins: Support > 1 levels of plugin dependencies #90174, @wbrowne
- Plugins: Update CLI check if plugin is already installed #91213, @wbrowne
- Prometheus: Deprecation message for SigV4 in core Prom #90250, @bohandley
- Prometheus: Reintroduce Azure audience override feature flag #90339, @aangelisc
- RBAC: Allow plugins to use scoped actions #90946, @gamab
- RBAC: Default to plugins.app:access for plugin includes #90969, @gamab
- Restore dashboards: Add RBAC #90270, @Clarity-89
- Revert: Calcs: Update diff percent to be a percent #91563, @Develer
- SAML: Add button to generate a certificate and private key (Enterprise)
- SSO: Make SAML certificate/private key optional (Enterprise)
- SearchV2: Support soft deletion #90217, @ryantxu
- Select: Add orange indicator to selected item #88695, @tskarhed
- Snapshots: Remove deprecated option snapshot_remove_expired #91231, @ryantxu
- Table panel: Add alt and title text options to image cell type #89930, @codeincarnate
- Tempo: Add toggle for streaming #88685, @fabrizio-grafana
- Tempo: Remove kind=server from metrics summary #89419, @joey-grafana
-
Tempo: Run
go get#89335, @fabrizio-grafana - Tempo: TraceQL metrics step option #89434, @adrapereira
- Tempo: Virtualize tags select to improve performance #90269, @adrapereira
- Tempo: Virtualized search dropdowns for attribute values #88569, @RonanQuigley
- TimePicker: Improve screen reader support #89409, @tskarhed
- TimeRangePicker: Add weekStart prop #89650, @Clarity-89
- TimeRangePicker: Use week start #89765, @Clarity-89
- Tooltip: Add tooltip support to Histogram #89196, @adela-almasan
- Trace View: Add Session for this span button #89656, @javiruiz01
- Tracing: Add regex support for span filters #89885, @ektasorathia
- Transformations: Add variable support to select groupingToMatrix #88551, @kazeborja
- Transformations: Move transformation variables to general availability #89111, @samjewell
- Transformations: Promote add field from calc stat function cumulative and window calcs as generally available #91160, @nmarrs
- Transformations: Promote format string as generally available #91161, @nmarrs
- Transformations: Promote group to nested table as generally available #90253, @nmarrs
- Users: Add config option to control how often last_seen is updated #88721, @parambath92
- XYChart: Promote to generally available #91417, @nmarrs
Bug fixes
- Admin: Fixes logic for enabled a user #88117, @gonvee
- Alerting: Add validation for path separators in the rule group edit modal #90887, @gillesdemey
- Alerting: Allow future relative time #89405, @gillesdemey
- Alerting: Disable simplified routing when internal alert manager is disabled #90648, @soniaAguilarPeiron
- Alerting: Do not check evaluation interval for external rulers #89354, @gillesdemey
- Alerting: Do not count rule health for totals #89349, @gillesdemey
- Alerting: Fix Recording Rules creation issues #90362, @tomratcliffe
- Alerting: Fix contact point export 500 error and notifications/receivers missing settings #90342, @JacobsonMT
- Alerting: Fix permissions for prometheus rule endpoints #91409, @yuri-tceretian
- Alerting: Fix persisting result fingerprint that is used by recovery threshold #91224, @yuri-tceretian
- Alerting: Fix rule storage to filter by group names using case-sensitive comparison #88992, @yuri-tceretian
- Alerting: Fix saving telegram contact point to Cloud AM config #89182, @tomratcliffe
- Alerting: Fix setting of existing Telegram Chat ID value #89287, @tomratcliffe
- Alerting: Fix silencing from policy instances #90417, @soniaAguilarPeiron
- Alerting: Fix some status codes returned from provisioning API. #90117, @stevesg
- Alerting: Fix stale values associated with states that have gone to NoData, unify values calculation #89807, @alexweav
- Alerting: Refactor PromQL-style matcher parsing #90129, @gillesdemey
- Alerting: Skip fetching alerts for unsaved dashboards #90061, @gillesdemey
- Alerting: Skip loading alert rules for dashboards when disabled #89361, @gillesdemey
-
Alerting: Support
utf8_strict_mode: falsein Mimir #90092, @gillesdemey - Alerting: Time interval Delete API to check for usages in alert rules #90500, @yuri-tceretian
- Analytics: Fix ApplicationInsights integration #89299, @ashharrison90
- Azure Monitor: Add validation for namespace field in AdvancedResourcePicker when entering a forward slash #89288, @adamyeats
-
AzureMonitor: Fix out of bounds error when accessing
metricNamespaceArrayandresourceNameArrayinbuildResourceURI#89222, @adamyeats - BrowseDashboards: Prepend subpath to New Browse Dashboard actions #89109, @joshhunt
- CloudWatch: Fix labels for raw metric search queries #88943, @iwysiu
- CloudWatch: Fix raw queries with dimensions set #90348, @iwysiu
- Correlations: Fix wrong target data source name in the form #90340, @aocenas
- DashboardScene: Fixes issue removing override rule #89124, @torkelo
- DashboardScene: Fixes lack of re-render when updating field override properties #88796, @torkelo
- DataSourcePicker: Create new data source does not work for subpath #90536, @ivanortegaalba
- Docs: Add fixed role UUIDs to docs for terraform provisioning #89457, @Jguer
- Echo: Suppress errors from frontend-metrics API call failing #89379, @joshhunt
- Explore Metrics: Implement grouping with metric prefixes #89481, @itsmylife
- Fix: Portuguese Brazilian wasn't loading translations #89302, @JoaoSilvaGrafana
- Folders: Fix folder pagination for cloud instances with many folders #90008, @IevaVasiljeva
- Folders: Improve folder move permission checks #90588, @IevaVasiljeva
- InfluxDB: Fix query builder produces invalid SQL query when using wildcard column name #89032, @wasim-nihal
- Inspect: Include only BOM char for excel files #88994, @ivanortegaalba
- Jaeger: Fix calling of search query with the correct time range #90320, @EgorKluch
- Metrics: Fix internal metrics endpoint not accessible from browser if basic auth is enabled #86904, @wasim-nihal
- Notifications: Redact URL from errors #85687, @alexweav
- PDF: Fix layout for page-size panel after row (Enterprise)
- Panel: Fix text aliasing bug when panel is loading #89538, @ashharrison90
-
Plugin extensions: Return react components from
usePluginComponents()#89237, @leventebalogh - Plugins: Ensure grafana cli can install multiple plugin dependencies #91230, @yincongcyincong
- Prometheus: Fix interpolating adhoc filters with template variables #88626, @cazeaux
- Prometheus: Fix query builder visualization when a query has by() clause for quantile #88480, @yuri-rs
- QueryEditor: Break with Scenes because the default query is not empty string #90583, @ivanortegaalba
- RBAC: Fix seeder failures when inserting duplicated permissions (Enterprise)
- RBAC: List only the folders that the user has access to #88599, @IevaVasiljeva
- Scenes/Dashboards: Fix issue where changes in panel height weren't saved #91125, @kaydelaney
- Scenes: Fixes issue with panel repeat height calculation #90221, @kaydelaney
- Scenes: Implement 't a' shortcut #89619, @kaydelaney
- Table Panel: Fix Image hover without datalinks #89751, @codeincarnate
- Table component: Fix sub-table rows not displaying correctly #89082, @codeincarnate
- Tempo: Fix grpc streaming support over pdc-agent #89883, @taylor-s-dean
- Tempo: Fix query history #89991, @joey-grafana
Breaking changes
- Folders: Allow folder editors and admins to create subfolders without any additional permissions #91215, @IevaVasiljeva
Plugin development fixes & changes
v11.1.13
Features and enhancements
- Chore: Bump Go version to 1.23.7 #101562, @macabu
- Alerting: Update slack image upload to use new API #101485, @moustafab
- Service Accounts: Do not show error pop-ups for Service Account and Renderer UI flows #101796, @IevaVasiljeva
v11.1.12
Features and enhancements
Bug fixes
- Azure: Correctly set application insights resource values #99595, @aangelisc
v11.1.11
Features and enhancements
- Security: Update to Go 1.22.11 - Backport to v11.1.x #99126, @Proximyst
- Security: Update to Go 1.22.11 - Backport to v11.1.x (Enterprise)
Bug fixes
- Azure/GCM: Improve error display #97595, @aangelisc
v11.1.10
Bug fixes
- Fix: Do not fetch Orgs if the user is authenticated by apikey/sa or render key #97261, @mgyongyosi
v11.1.9
Features and enhancements
- Alerting: Make context deadline on AlertNG service startup configurable #96132, @fayzal-g
- User: Check SignedInUser OrgID in RevokeInvite #95488, @mgyongyosi
Bug fixes
- Alerting: Force refetch prom rules when refreshing panel #96123, @soniaAguilarPeiron
- Anonymous User: Adds validator service for anonymous users #94992, @leandro-deveikis
- Anonymous User: Adds validator service for anonymous users (Enterprise)
- Azure Monitor: Support metric namespaces fallback #95153, @aangelisc
- Azure: Fix duplicated traces in multi-resource trace query #95245, @aangelisc
- Azure: Handle namespace request rejection #95907, @aangelisc
- Migration: Remove table aliasing in delete statement to make it work for mariadb #95230, @kalleep
- Prometheus: Fix interpolating adhoc filters with template variables #95977, @cazeaux
- ServerLock: Fix pg concurrency/locking issue #95933, @mgyongyosi
- ServerSideExpressions: Disable SQL Expressions to prevent RCE and LFI vulnerability #94969, @scottlepp
v11.1.8
Bug fixes
- Alerting: Fix incorrect permission on POST external rule groups endpoint [CVE-2024-8118] #93948, @alexweav
- AzureMonitor: Fix App Insights portal URL for multi-resource trace queries #94474, @aangelisc
- OrgSync: Do not set default Organization for a user to a non-existent Organization #94551, @mgyongyosi
- ServerSideExpressions: Disable SQL Expressions to prevent RCE and LFI vulnerability #94969, @scottlepp
v11.1.7
Bug fixes
- SQL Expressions: Fixes CVE-2024-9264
v11.1.6
Bug fixes
- SQL Expressions: Fixes CVE-2024-9264
v11.1.5
Bug fixes
- Alerting: Fix permissions for prometheus rule endpoints #91414, @yuri-tceretian
- Alerting: Fix persisting result fingerprint that is used by recovery threshold #91290, @yuri-tceretian
- Auditing: Fix a possible crash when audit logger parses responses for failed requests (Enterprise)
- RBAC: Fix an issue with server admins not being able to manage users in orgs that they don't belong to #92273, @IevaVasiljeva
- RBAC: Fix an issue with server admins not being able to manage users in orgs that they dont belong to (Enterprise)
- RBAC: Fix seeder failures when inserting duplicated permissions (Enterprise)
- Snapshots: Fix panic when snapshot_remove_expired is true #91232, @ryantxu
- VizTooltip: Fix positioning at bottom and right edges on mobile #92137, @leeoniya
Plugin development fixes & changes
v11.1.4
Bug fixes
- Swagger: Fixed CVE-2024-6837.
encode/httpx (httpx)
v0.28.1
- Fix SSL case where
verify=Falsetogether with client side certificates.
v0.28.0
Be aware that the default JSON request bodies now use a more compact representation. This is generally considered a prefered style, tho may require updates to test suites.
The 0.28 release includes a limited set of deprecations...
Deprecations:
We are working towards a simplified SSL configuration API.
For users of the standard verify=True or verify=False cases, or verify=<ssl_context> case this should require no changes. The following cases have been deprecated...
- The
verifyargument as a string argument is now deprecated and will raise warnings. - The
certargument is now deprecated and will raise warnings.
Our revised SSL documentation covers how to implement the same behaviour with a more constrained API.
The following changes are also included:
- The deprecated
proxiesargument has now been removed. - The deprecated
appargument has now been removed. - JSON request bodies use a compact representation. (#3363)
- Review URL percent escape sets, based on WHATWG spec. (#3371, #3373)
- Ensure
certifiandhttpcoreare only imported if required. (#3377) - Treat
socks5has a valid proxy scheme. (#3178) - Cleanup
Request()method signature in line withclient.request()andhttpx.request(). (#3378) - Bugfix: When passing
params={}, always strictly update rather than merge with an existing querystring. (#3364)
v0.27.2
Fixed
- Reintroduced supposedly-private
URLTypesshortcut. (#2673)
v0.27.1
Added
- Support for
zstdcontent decoding using the pythonzstandardpackage is added. Installable usinghttpx[zstd]. (#3139)
Fixed
lxml/lxml (lxml)
v5.4.0
==================
Bugs fixed
- LP#2107279: Binary wheels use libxml2 2.13.8 and libxslt 1.1.43 to resolve several CVEs. (Binary wheels for Windows continue to use a patched libxml2 2.11.9 and libxslt 1.1.39.) Issue found by Anatoly Katyushin.
v5.3.2
==================
This release resolves CVE-2025-24928 as described in https://gitlab.gnome.org/GNOME/libxml2/-/issues/847
Bugs fixed
-
Binary wheels use libxml2 2.12.10 and libxslt 1.1.42.
-
Binary wheels for Windows use a patched libxml2 2.11.9 and libxslt 1.1.39.
v5.3.1
==================
Bugs fixed
-
GH#440: Some tests were adapted for libxml2 2.14.0. Patch by Nick Wellnhofer.
-
LP#2097175:
DTD(external_id="…")erroneously required a byte string as ID value. -
GH#450:
iterparse()internally triggered the `DeprecationWarning`` added in lxml 5.3.0 when parsing HTML.
Other changes
-
GH#442: Binary wheels for macOS no longer use the linker flag
-flat_namespace.
PyMySQL/mysqlclient (mysqlclient)
v2.2.7
What's Changed
- MariaDB include paths for Win by @CristiFati in https://github.com/PyMySQL/mysqlclient/pull/749
- support opentelemetry-instrumentation by @methane in https://github.com/PyMySQL/mysqlclient/pull/753
New Contributors
- @CristiFati made their first contribution in https://github.com/PyMySQL/mysqlclient/pull/749
- @cazorla19 made their first contribution in https://github.com/PyMySQL/mysqlclient/pull/752
Full Changelog: https://github.com/PyMySQL/mysqlclient/compare/v2.2.6...v2.2.7
v2.2.6
What's Changed
-
MariaDB Connector/C 3.4 and MairaDB 11.4 had enabled SSL and CA verification by default. It affected 2.2.5 windows wheels. This release disables SSL and CA verification by default for backward compatibility. (#731)
-
Add
server_public_key_pathoption. It is needed to connect MySQL server withsha256_passwordorcaching_sha2_passwordauthentication plugin without secure connection. (#744)
Full Changelog: https://github.com/PyMySQL/mysqlclient/compare/v2.2.5...v2.2.6
v2.2.5
What's Changed
- Support building against Percona Server builds of MySQL client library
libperconaserverclientby @nattofriends in https://github.com/PyMySQL/mysqlclient/pull/718 - add MariaDB to README and doc by @robertsilen in https://github.com/PyMySQL/mysqlclient/pull/720
- Update license metadata by @methane in https://github.com/PyMySQL/mysqlclient/pull/722
- chore(deps): update dependency sphinx-rtd-theme to v3 by @renovate in https://github.com/PyMySQL/mysqlclient/pull/724
- chore(deps): update dependency sphinx to v8 by @renovate in https://github.com/PyMySQL/mysqlclient/pull/716
- ci: update test by @methane in https://github.com/PyMySQL/mysqlclient/pull/727
- ci: update MariaDB Connector/C by @methane in https://github.com/PyMySQL/mysqlclient/pull/726
- release 2.2.5 by @methane in https://github.com/PyMySQL/mysqlclient/pull/728
New Contributors
- @nattofriends made their first contribution in https://github.com/PyMySQL/mysqlclient/pull/718
- @robertsilen made their first contribution in https://github.com/PyMySQL/mysqlclient/pull/720
Full Changelog: https://github.com/PyMySQL/mysqlclient/compare/v2.2.4...v2.2.5
open-telemetry/opentelemetry-python (opentelemetry-api)
v1.36.0
-
Add missing Prometheus exporter documentation (#4485)
-
Overwrite logging.config.fileConfig and logging.config.dictConfig to ensure the OTLP
LogHandlerremains attached to the root logger. Fix a bug that can cause a deadlock to occur overlogging._lockin some cases (#4636). -
otlp-http-exporter: set default value for param
timeout_secin_exportmethod (#4691) -
Update OTLP gRPC/HTTP exporters: calling shutdown will now interrupt exporters that are sleeping before a retry attempt, and cause them to return failure immediately. Update BatchSpan/LogRecordProcessors: shutdown will now complete after 30 seconds of trying to finish exporting any buffered telemetry, instead of continuing to export until all telemetry was exported. (#4638).
v1.35.0
- Update OTLP proto to v1.7 #4645.
- Add
event_nameas a top level field in theLogRecord. Events are now simply logs with theevent_namefield set, the logs SDK should be used to emit events (#4652). - Update OTLP gRPC/HTTP exporters: the export timeout is now inclusive of all retries and backoffs. A +/-20% jitter was added to all backoffs. A pointless 32 second sleep that occurred after all retries had completed/failed was removed. (#4564).
- Update ConsoleLogExporter.export to handle LogRecord's containing bytes type in the body (#4614).
- opentelemetry-sdk: Fix invalid
type: ignorethat causes mypy to ignore the whole file (#4618) - Add
span_exporterproperty back toBatchSpanProcessorclass (#4621) - Fix license field in pyproject.toml files (#4625)
- Update logger level to NOTSET in logs example (#4637)
- Logging API accepts optional
context; deprecatestrace_id,span_id,trace_flags. (#4597) and (#4668) - sdk: use context instead of trace_id,span_id for initializing LogRecord (#4653)
- Rename LogRecordProcessor.emit to on_emit (#4648)
- Logging API hide std_to_otel function to convert python logging severity to otel severity (#4649)
- proto: relax protobuf version requirement to support v6 (#4620)
- Bump semantic-conventions to 1.36.0 (#4669)
- Set expected User-Agent in HTTP headers for grpc OTLP exporter (#4658)
v1.34.1: Version 1.34.1/0.55b1
This is a patch release on the previous 1.34.0/0.55b0 release, fixing the issue(s) below.
- opentelemetry-sdk: Fix invalid
type: ignorethat causes mypy to ignore the whole file (#4618) - Add
span_exporterproperty back toBatchSpanProcessorclass (#4621)
v1.34.0
- typecheck: add sdk/resources and drop mypy (#4578)
- Use PEP702 for marking deprecations (#4522)
- Refactor
BatchLogRecordProcessorandBatchSpanProcessorto simplify code and make the control flow more clear (#4562 #4535, and #4580). - Remove log messages from
BatchLogRecordProcessor.emit, this caused the program to crash at shutdown with a max recursion error (#4586). - Configurable max retry timeout for grpc exporter (#4333)
- opentelemetry-api: allow importlib-metadata 8.7.0 (#4593)
- opentelemetry-test-utils: assert explicit bucket boundaries in histogram metrics (#4595)
- Bump semantic conventions to 1.34.0 (#4599)
- Drop support for Python 3.8 (#4520)
v1.33.1: Version 1.33.1/0.54b1
This is a patch release on the previous 1.33.0/0.54b0 release, fixing the issue(s) below.
- Remove log messages from
BatchLogRecordProcessor.emit, this caused the program to crash at shutdown with a max recursion error (#4586).
v1.33.0
- Fix intermittent
Connection abortederror when using otlp/http exporters (#4477) - opentelemetry-sdk: use stable code attributes:
code.function->code.function.name,code.lineno->code.line.number,code.filepath->code.file.path(#4508) - Fix serialization of extended attributes for logs signal (#4342)
- Handle OTEL_PROPAGATORS contains None (#4553)
- docs: updated and added to the metrics and log examples (#4559)
- Bump semantic conventions to 1.33.0 (#4567)
v1.32.1: Version 1.32.1/0.53b1
This is a patch release on the previous 1.32.0/0.53b0 release, fixing the issue(s) below.
v1.32.0
- Fix user agent in OTLP HTTP metrics exporter (#4475)
- Improve performance of baggage operations (#4466)
- sdk: remove duplicated constant definitions for
environment_variables(#4491) - api: Revert record
BaseExceptionchange intrace_api.use_span()(#4494) - Improve CI by cancelling stale runs and setting timeouts (#4498)
- Patch logging.basicConfig so OTel logs don't cause console logs to disappear (#4436)
- Bump semantic conventions to 1.32.0 (#4530)
- Fix ExplicitBucketHistogramAggregation to handle multiple explicit bucket boundaries advisories (#4521)
- opentelemetry-sdk: Fix serialization of objects in log handler (#4528)
v1.31.1: Version 1.31.1/0.52b1
This is a patch release on the previous 1.31.0/0.52b0 release, fixing the issue(s) below.
- api: Revert record
BaseExceptionchange intrace_api.use_span()(#4494)
v1.31.0
- semantic-conventions: Bump to 1.31.0 (#4471)
- Add type annotations to context's attach & detach (#4346)
- Fix OTLP encoders missing instrumentation scope schema url and attributes (#4359)
- prometheus-exporter: fix labels out of place for data points with different attribute sets (#4413)
- Type indent parameter in to_json (#4402)
- Tolerates exceptions when loading resource detectors via
OTEL_EXPERIMENTAL_RESOURCE_DETECTORS(#4373) - Disconnect gRPC client stub when shutting down
OTLPSpanExporter(#4370) - opentelemetry-sdk: fix OTLP exporting of Histograms with explicit buckets advisory (#4434)
- opentelemetry-exporter-otlp-proto-grpc: better dependency version range for Python 3.13 (#4444)
- opentelemetry-exporter-opencensus: better dependency version range for Python 3.13 (#4444)
- Updated
tracecontext-integration-testgitref tod782773b2cf2fa4afd6a80a93b289d8a74ca894d(#4448) - Make
trace_api.use_span()recordBaseExceptionas well asException(#4406) - Fix env var error message for TraceLimits/SpanLimits (#4458)
- pylint-ci updated python version to 3.13 (#4450)
- Fix memory leak in Log & Trace exporter (#4449)
v1.30.0
- Always setup logs sdk, OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED only controls python
loggingmodule handler setup (#4340) - Add
attributesfield inmetrics.get_meterwrapper function (#4364) - Add Python 3.13 support (#4353)
- sdk: don't log or print warnings when the SDK has been disabled (#4371)
- Fix span context manager typing by using ParamSpec from typing_extensions (#4389)
- Fix serialization of None values in logs body to match 1.31.0+ data model (#4400)
- [BREAKING] semantic-conventions: Remove
opentelemetry.semconv.attributes.network_attributes.NETWORK_INTERFACE_NAMEintroduced by mistake in the wrong module. (#4391) - Add support for explicit bucket boundaries advisory for Histograms (#4361)
- semantic-conventions: Bump to 1.30.0 (#4337)
v1.29.0
- Fix crash exporting a log record with None body (#4276)
- Fix metrics export with exemplar and no context and filtering observable instruments (#4251)
- Fix recursion error with sdk disabled and handler added to root logger (#4259)
- sdk: setup EventLogger when OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED is set (#4270)
- api: fix logging of duplicate EventLogger setup warning (#4299)
- sdk: fix setting of process owner in ProcessResourceDetector (#4311)
- sdk: fix serialization of logs severity_number field to int (#4324)
- Remove
TestBase.assertEqualSpanInstrumentationInfomethod, useassertEqualSpanInstrumentationScopeinstead (#4310) - sdk: instantiate lazily
ExemplarBuckets inExemplarReservoirs (#4260) - semantic-conventions: Bump to 1.29.0 (#4337)
v1.28.2: Version 1.28.2/0.49b2
This is a patch release on the previous 1.28.1/0.49b1 release, fixing the issue(s) below.
- Fix crash exporting a log record with None body (#4276)
- sdk: setup EventLogger when OTEL_PYTHON_LOGGING_AUTO_INSTRUMENTATION_ENABLED is set (#4270)
v1.28.1: Version 1.28.1/0.49b1
This is a patch release on the previous 1.28.0/0.49b0 release, fixing the issue(s) below.
- Fix metrics export with exemplar and no context and filtering observable instruments (#4251)
- Fix recursion error with sdk disabled and handler added to root logger (#4259)
v1.28.0
- Removed superfluous py.typed markers and added them where they were missing (#4172)
- Include metric info in encoding exceptions (#4154)
- sdk: Add support for log formatting (#4137)
- sdk: Add Host resource detector (#4182)
- sdk: Implementation of exemplars (#4094)
- Implement events sdk (#4176)
- Update semantic conventions to version 1.28.0 (#4218)
- Add support to protobuf 5+ and drop support to protobuf 3 and 4 (#4206)
- Update environment variable descriptions to match signal (#4222)
- Record logger name as the instrumentation scope name (#4208)
- Fix memory leak in exporter and reader (#4224)
- Drop
OTEL_PYTHON_EXPERIMENTAL_DISABLE_PROMETHEUS_UNIT_NORMALIZATIONenvironment variable (#4217) - Improve compatibility with other logging libraries that override
LogRecord.getMessage()in order to customize message formatting (#4216)
v1.27.0
- Implementation of Events API (#4054)
- Make log sdk add
exception.messageto logRecord for exceptions whose argument is an exception not a string message (#4122) - Fix use of
link.attributes.dropped, which may not exist (#4119) - Running mypy on SDK resources (#4053)
- Added py.typed file to top-level module (#4084)
- Drop Final annotation from Enum in semantic conventions (#4085)
- Update log export example to not use root logger (#4090)
- sdk: Add OS resource detector (#3992)
- sdk: Accept non URL-encoded headers in
OTEL_EXPORTER_OTLP_*HEADERSto match other languages SDKs (#4103) - Update semantic conventions to version 1.27.0 (#4104)
- Add support to type bytes for OTLP AnyValue (#4128)
- Export ExponentialHistogram and ExponentialHistogramDataPoint (#4134)
- Implement Client Key and Certificate File Support for All OTLP Exporters (#4116)
- Remove
_start_time_unix_nanoattribute from_ViewInstrumentMatchin favor of usingtime_ns()at the moment when the aggregation object is created (#4137)
ijl/orjson (orjson)
v3.11.3
Fixed
- Fix PyPI project metadata when using maturin 1.9.2 or later.
v3.11.2
Fixed
- Fix build using Rust 1.89 on amd64.
Changed
- Build now depends on Rust 1.85 or later instead of 1.82.
v3.11.1
Changed
- Publish PyPI wheels for CPython 3.14.
Fixed
- Fix
stron big-endian architectures. This was introduced in 3.11.0.
v3.11.0
Changed
- Use a deserialization buffer allocated per request instead of a shared buffer allocated on import.
- ABI compatibility with CPython 3.14 beta 4.
v3.10.18
Fixed
- Fix incorrect escaping of the vertical tabulation character. This was introduced in 3.10.17.
v3.10.17
Changed
- Publish PyPI Windows aarch64/arm64 wheels.
- ABI compatibility with CPython 3.14 alpha 7.
- Fix incompatibility running on Python 3.13 using WASM.
v3.10.16
Changed
- Improve performance of serialization on amd64 machines with AVX-512.
- ABI compatibility with CPython 3.14 alpha 6.
- Drop support for Python 3.8.
- Publish additional PyPI wheels for macOS that target only aarch64, macOS 15, and recent Python.
v3.10.15
Changed
- Publish PyPI manylinux aarch64 wheels built and tested on aarch64.
- Publish PyPI musllinux aarch64 and arm7l wheels built and tested on aarch64.
- Publish PyPI manylinux Python 3.13 wheels for i686, arm7l, ppc64le, and s390x.
v3.10.14
Changed
- Specify build system dependency on
maturin>=1,<2again. - Allocate memory using
PyMem_Malloc()and similar APIs for integration with pymalloc, mimalloc, and tracemalloc. - Source distribution does not ship compressed test documents and relevant tests skip if fixtures are not present.
- Build now depends on Rust 1.82 or later instead of 1.72.
v3.10.13
Changed
- Fix compatibility with maturin introducing a breaking change in 1.8.0 and specify a fixed version of maturin. Projects relying on any previous version being buildable from source by end users (via PEP 517) must upgrade to at least this version.
v3.10.12
Changed
- Publish PyPI manylinux i686 wheels.
- Publish PyPI musllinux i686 and arm7l wheels.
- Publish PyPI macOS wheels for Python 3.10 or later built on macOS 15.
- Publish PyPI Windows wheels using trusted publishing.
v3.10.11
Changed
- Improve performance of UUIDs.
- Publish PyPI wheels with trusted publishing and PEP 740 attestations.
- Include text of licenses for vendored dependencies.
v3.10.10
Fixed
- Fix
intserialization ons390x. This was introduced in 3.10.8.
Changed
- Publish aarch64 manylinux_2_17 wheel for 3.13 to PyPI.
v3.10.9
Fixed
- Fix
intserialization on 32-bit Python 3.8, 3.9, 3.10. This was introduced in 3.10.8.
v3.10.8
Changed
-
intserialization no longer chainsOverflowErrorto the the__cause__attribute oforjson.JSONEncodeErrorwhen range exceeded. - Compatibility with CPython 3.14 alpha 1.
- Improve performance.
Signum/paginate (paginate)
v0.5.7
Changes:
- Fixed metadata for pypi
- Added a wheel release
- Fixed tests for python 3.12
trallnag/prometheus-fastapi-instrumentator (prometheus-fastapi-instrumentator)
v7.1.0
Added
- Included metrics closure creators have new optional parameter
custom_labelsto set additional custom static labels. Parameter has not been added to theInstrumentator()constructor. Thanks to @iocentos for requesting this in #279 and @martian711 in #287 as well as @Budlee in #326 for implementing it.
v7.0.2
Fixed
-
Replaced incorrect license identifier in
pyproject.toml. Problem introduced with the migration to Poetry 2.0 in the last patch release.
v7.0.1
Changed
libgit2/pygit2 (pygit2)
v1.18.2
-
Add support for almost all global options #1409
-
Now it's possible to set
Submodule.url = url#1395 -
New
RemoteCallbacks.push_negotiation(...)#1396 -
New optional boolean argument
connectinRemote.ls_remotes(...)#1396 -
New
Remote.list_heads(...)returns a list ofRemoteHeadobjects #1397 #1410 -
Documentation fixes #1388
-
Typing improvements #1387 #1389 #1390 #1391 #1392 #1393 #1394 #1398 #1399 #1400 #1402 #1403 #1406 #1407 #1408
Deprecations:
-
Remote.ls_remotes(...)is deprecated, useRemote.list_heads(...):
Before
for head in remote.ls_remotes():
head['name']
head['oid']
head['loid'] # None when local is False
head['local']
head['symref_target']
Now
for head in remote.list_heads():
head.name
head.oid
head.loid # The zero oid when local is False
head.local
head.symref_target
v1.18.1
-
Update wheels to libgit2 1.9.1 and OpenSSL 3.3
-
New
Index.remove_directory(...)#1377 -
New
Index.add_conflict(...)#1382 -
Now
Repository.merge_file_from_index(...)returns aMergeFileResultobject when called withuse_deprecated=False#1376 -
Typing improvements #1369 #1370 #1371 #1373 #1384 #1386
Deprecations:
- Update your code:
Before
contents = Repository.merge_file_from_index(...)
Now
result = Repository.merge_file_from_index(..., use_deprecated=False)
contents = result.contents
At some point in the future use_deprecated=False will be the default.
v1.18.0
-
Upgrade Linux Glibc wheels to
manylinux_2_28 -
Add
RemoteCallbacks.push_transfer_progress(...)callback #1345 -
New
bool(oid)#1347 -
Now
Repository.merge(...)accepts a commit or reference object #1348 -
New
threadsoptional argument inRemote.push(...)#1352 -
New
proxyoptional argument inclone_repository(...)#1354 -
New optional arguments
context_linesandinterhunk_linesinBlob.diff(...); and nowRepository.diff(...)honors these two arguments when the objects diffed are blobs. #1360 -
Now
Tree.diff_to_workdir(...)accepts keyword arguments, not just positional. -
Fix when a reference name has non UTF-8 chars #1329
-
Fix condition check in
Repository.remotes.rename(...)#1342 -
Add codespell workflow, fix a number of typos #1344
-
CI: Use ARM runner for tests and wheels #1346
Deprecations:
- Passing str to
Repository.merge(...)is deprecated, instead pass an oid object (or a commit, or a reference) #1349
Breaking changes:
- Keyword argument
flaghas been renamed toflagsinBlob.diff(...)andBlob.diff_to_buffer(...)
pytest-dev/pytest (pytest)
v8.4.2
pytest 8.4.2 (2025-09-03)
Bug fixes
-
#13478: Fixed a crash when using
console_output_style{.interpreted-text role="confval"} withtimesand a module is skipped. -
#13530: Fixed a crash when using
pytest.approx{.interpreted-text role="func"} anddecimal.Decimal{.interpreted-text role="class"} instances with thedecimal.FloatOperation{.interpreted-text role="class"} trap set. -
#13549: No longer evaluate type annotations in Python
3.14when inspecting function signatures.This prevents crashes during module collection when modules do not explicitly use
from __future__ import annotationsand import types for annotations within aif TYPE_CHECKING:block. -
#13559: Added missing [int]{.title-ref} and [float]{.title-ref} variants to the [Literal]{.title-ref} type annotation of the [type]{.title-ref} parameter in
pytest.Parser.addini{.interpreted-text role="meth"}. -
#13563:
pytest.approx{.interpreted-text role="func"} now only importsnumpyif NumPy is already insys.modules. This fixes unconditional import behavior introduced in [8.4.0]{.title-ref}.
Improved documentation
-
#13577: Clarify that
pytest_generate_testsis discovered in test modules/classes; other hooks must be inconftest.pyor plugins.
Contributor-facing changes
-
#13480: Self-testing: fixed a few test failures when run with
-Wdefaultor a similar override. -
#13547: Self-testing: corrected expected message for
test_doctest_unexpected_exceptionin Python3.14. -
#13684: Make pytest's own testsuite insensitive to the presence of the
CIenvironment variable -- byogrisel{.interpreted-text role="user"}.
v8.4.1
pytest 8.4.1 (2025-06-17)
Bug fixes
-
#13461: Corrected
_pytest.terminal.TerminalReporter.isattyto support being called as a method. Before it was just a boolean which could break correct code when using-o log_cli=true). -
#13477: Reintroduced
pytest.PytestReturnNotNoneWarning{.interpreted-text role="class"} which was removed by accident in pytest [8.4]{.title-ref}.This warning is raised when a test functions returns a value other than
None, which is often a mistake made by beginners.See
return-not-none{.interpreted-text role="ref"} for more information. -
#13497: Fixed compatibility with
Twisted 25+.
Improved documentation
-
#13492: Fixed outdated warning about
faulthandlernot working on Windows.
v8.4.0
pytest 8.4.0 (2025-06-02)
Removals and backward incompatible breaking changes
-
#11372: Async tests will now fail, instead of warning+skipping, if you don't have any suitable plugin installed.
-
#12346: Tests will now fail, instead of raising a warning, if they return any value other than None.
-
#12874: We dropped support for Python 3.8 following its end of life (2024-10-07).
-
#12960: Test functions containing a yield now cause an explicit error. They have not been run since pytest 4.0, and were previously marked as an expected failure and deprecation warning.
See
the docs <yield tests deprecated>{.interpreted-text role="ref"} for more information.
Deprecations (removal in next major release)
-
#10839: Requesting an asynchronous fixture without a [pytest_fixture_setup]{.title-ref} hook that resolves it will now give a DeprecationWarning. This most commonly happens if a sync test requests an async fixture. This should have no effect on a majority of users with async tests or fixtures using async pytest plugins, but may affect non-standard hook setups or
autouse=True. For guidance on how to work around this warning seesync-test-async-fixture{.interpreted-text role="ref"}.
New features
-
#11538: Added
pytest.RaisesGroup{.interpreted-text role="class"} as an equivalent topytest.raises{.interpreted-text role="func"} for expectingExceptionGroup{.interpreted-text role="exc"}. Also addspytest.RaisesExc{.interpreted-text role="class"} which is now the logic behindpytest.raises{.interpreted-text role="func"} and used as parameter topytest.RaisesGroup{.interpreted-text role="class"}.RaisesGroupincludes the ability to specify multiple different expected exceptions, the structure of nested exception groups, and flags for emulatingexcept* <except_star>{.interpreted-text role="ref"}. Seeassert-matching-exception-groups{.interpreted-text role="ref"} and docstrings for more information. -
#12081: Added
capteesys{.interpreted-text role="fixture"} to capture AND pass output to next handler set by--capture=. -
#12504:
pytest.mark.xfail{.interpreted-text role="func"} now acceptspytest.RaisesGroup{.interpreted-text role="class"} for theraisesparameter when you expect an exception group. You can also pass apytest.RaisesExc{.interpreted-text role="class"} if you e.g. want to make use of thecheckparameter. -
#12713: New [--force-short-summary]{.title-ref} option to force condensed summary output regardless of verbosity level.
This lets users still see condensed summary output of failures for quick reference in log files from job outputs, being especially useful if non-condensed output is very verbose.
-
#12749: pytest traditionally collects classes/functions in the test module namespace even if they are imported from another file.
For example:
contents of src/domain.py
class Testament: ...
contents of tests/test_testament.py
from domain import Testament
def test_testament(): ...
```
In this scenario with the default options, pytest will collect the class [Testament]{.title-ref} from [tests/test_testament.py]{.title-ref} because it starts with [Test]{.title-ref}, even though in this case it is a production class being imported in the test module namespace.
This behavior can now be prevented by setting the new `collect_imported_tests`{.interpreted-text role="confval"} configuration option to `false`, which will make pytest collect classes/functions from test files **only** if they are defined in that file.
\-- by `FreerGit`{.interpreted-text role="user"}
-
#12765: Thresholds to trigger snippet truncation can now be set with
truncation_limit_lines{.interpreted-text role="confval"} andtruncation_limit_chars{.interpreted-text role="confval"}.See
truncation-params{.interpreted-text role="ref"} for more information. -
#13125:
console_output_style{.interpreted-text role="confval"} now supportstimesto show execution time of each test. -
#13192:
pytest.raises{.interpreted-text role="func"} will now raise a warning when passing an empty string tomatch, as this will match against any value. Usematch="^$"if you want to check that an exception has no message. -
#13192:
pytest.raises{.interpreted-text role="func"} will now print a helpful string diff if matching fails and the match parameter has^and$and is otherwise escaped. -
#13192: You can now pass
with pytest.raises(check=fn): <pytest.raises>{.interpreted-text role="func"}, wherefnis a function which takes a raised exception and returns a boolean. Theraisesfails if no exception was raised (as usual), passes if an exception is raised andfnreturnsTrue(as well asmatchand the type matching, if specified, which are checked before), and propagates the exception iffnreturnsFalse(which likely also fails the test). -
#13228:
hidden-param{.interpreted-text role="ref"} can now be used inidofpytest.param{.interpreted-text role="func"} or inidsofMetafunc.parametrize <pytest.Metafunc.parametrize>{.interpreted-text role="py:func"}. It hides the parameter set from the test name. -
#13253: New flag:
--disable-plugin-autoload <disable_plugin_autoload>{.interpreted-text role="ref"} which works as an alternative toPYTEST_DISABLE_PLUGIN_AUTOLOAD{.interpreted-text role="envvar"} when setting environment variables is inconvenient; and allows setting it in config files withaddopts{.interpreted-text role="confval"}.
Improvements in existing functionality
-
#10224: pytest's
shortandlongtraceback styles (how-to-modifying-python-tb-printing{.interpreted-text role="ref"}) now have partial657{.interpreted-text role="pep"} support and will show specific code segments in the traceback.================================= FAILURES ================================= _______________________ test_gets_correct_tracebacks _______________________ test_tracebacks.py:12: in test_gets_correct_tracebacks assert manhattan_distance(p1, p2) == 1 ^^^^^^^^^^^^^^^^^^^^^^^^^^ test_tracebacks.py:6: in manhattan_distance return abs(point_1.x - point_2.x) + abs(point_1.y - point_2.y) ^^^^^^^^^ E AttributeError: 'NoneType' object has no attribute 'x'-- by
ammaraskar{.interpreted-text role="user"} -
#11118: Now
pythonpath{.interpreted-text role="confval"} configures [$PYTHONPATH]{.title-ref} earlier than before during the initialization process, which now also affects plugins loaded via the [-p]{.title-ref} command-line option.-- by
millerdev{.interpreted-text role="user"} -
#11381: The
typeparameter of theparser.addinimethod now accepts ["int"]{.title-ref} and"float"parameters, facilitating the parsing of configuration values in the configuration file.Example:
def pytest_addoption(parser): parser.addini("int_value", type="int", default=2, help="my int value") parser.addini("float_value", type="float", default=4.2, help="my float value")The [pytest.ini]{.title-ref} file:
[pytest] int_value = 3 float_value = 5.4 -
#11525: Fixtures are now clearly represented in the output as a "fixture object", not as a normal function as before, making it easy for beginners to catch mistakes such as referencing a fixture declared in the same module but not requested in the test function.
-- by
the-compiler{.interpreted-text role="user"} andglyphack{.interpreted-text role="user"} -
#12426: A warning is now issued when
pytest.mark.usefixtures ref{.interpreted-text role="ref"} is used without specifying any fixtures. Previously, empty usefixtures markers were silently ignored. -
#12707: Exception chains can be navigated when dropped into Pdb in Python 3.13+.
-
#12736: Added a new attribute [name]{.title-ref} with the fixed value ["pytest tests"]{.title-ref} to the root tag [testsuites]{.title-ref} of the junit-xml generated by pytest.
This attribute is part of many junit-xml specifications and is even part of the [junit-10.xsd]{.title-ref} specification that pytest's implementation is based on.
-
#12943: If a test fails with an exceptiongroup with a single exception, the contained exception will now be displayed in the short test summary info.
-
#12958: A number of
unraisable <unraisable>{.interpreted-text role="ref"} enhancements:- Set the unraisable hook as early as possible and unset it as late as possible, to collect the most possible number of unraisable exceptions.
- Call the garbage collector just before unsetting the unraisable hook, to collect any straggling exceptions.
- Collect multiple unraisable exceptions per test phase.
- Report the
tracemalloc{.interpreted-text role="mod"} allocation traceback (if available). - Avoid using a generator based hook to allow handling
StopIteration{.interpreted-text role="class"} in test failures. - Report the unraisable exception as the cause of the
pytest.PytestUnraisableExceptionWarning{.interpreted-text role="class"} exception if raised. - Compute the
reprof the unraisable object in the unraisable hook so you get the latest information if available, and should help with resurrection of the object.
-
#13010:
pytest.approx{.interpreted-text role="func"} now can compare collections that contain numbers and non-numbers mixed. -
#13016: A number of
threadexception <unraisable>{.interpreted-text role="ref"} enhancements:- Set the excepthook as early as possible and unset it as late as possible, to collect the most possible number of unhandled exceptions from threads.
- Collect multiple thread exceptions per test phase.
- Report the
tracemalloc{.interpreted-text role="mod"} allocation traceback (if available). - Avoid using a generator based hook to allow handling
StopIteration{.interpreted-text role="class"} in test failures. - Report the thread exception as the cause of the
pytest.PytestUnhandledThreadExceptionWarning{.interpreted-text role="class"} exception if raised. - Extract the
nameof the thread object in the excepthook which should help with resurrection of the thread.
-
#13031: An empty parameter set as in
pytest.mark.parametrize([], ids=idfunc)will no longer trigger a call toidfuncwith internal objects. -
#13115: Allows supplying
ExceptionGroup[Exception]andBaseExceptionGroup[BaseException]topytest.raisesto keep full typing onExceptionInfo <pytest.ExceptionInfo>{.interpreted-text role="class"}:with pytest.raises(ExceptionGroup[Exception]) as exc_info: some_function()Parametrizing with other exception types remains an error - we do not check the types of child exceptions and thus do not permit code that might look like we do.
-
#13122: The
--stepwisemode received a number of improvements:-
It no longer forgets the last failed test in case pytest is executed later without the flag.
This enables the following workflow:
- Execute pytest with
--stepwise, pytest then stops at the first failing test; - Iteratively update the code and run the test in isolation, without the
--stepwiseflag (for example in an IDE), until it is fixed. - Execute pytest with
--stepwiseagain and pytest will continue from the previously failed test, and if it passes, continue on to the next tests.
Previously, at step 3, pytest would start from the beginning, forgetting the previously failed test.
This change however might cause issues if the
--stepwisemode is used far apart in time, as the state might get stale, so the internal state will be reset automatically in case the test suite changes (for now only the number of tests are considered for this, we might change/improve this on the future). - Execute pytest with
-
New
--stepwise-reset/--sw-resetflag, allowing the user to explicitly reset the stepwise state and restart the workflow from the beginning.
-
-
#13308: Added official support for Python 3.14.
-
#13380: Fix
ExceptionGroup{.interpreted-text role="class"} traceback filtering to exclude pytest internals. -
#13415: The author metadata of the BibTex example is now correctly formatted with last names following first names. An example of BibLaTex has been added. BibTex and BibLaTex examples now clearly indicate that what is cited is software.
-- by
willynilly{.interpreted-text role="user"} -
#13420: Improved test collection performance by optimizing path resolution used in
FSCollector. -
#13457: The error message about duplicate parametrization no longer displays an internal stack trace.
-
#4112: Using
pytest.mark.usefixtures <pytest.mark.usefixtures ref>{.interpreted-text role="ref"} onpytest.param{.interpreted-text role="func"} now produces an error instead of silently doing nothing. -
#5473: Replace [:]{.title-ref} with [;]{.title-ref} in the assertion rewrite warning message so it can be filtered using standard Python warning filters before calling
pytest.main{.interpreted-text role="func"}.
[#​6985](https://github.com/pytest-dev/pytest/issues/6985): Improved `pytest.approx`{.interpreted-text role="func"} to enhance the readability of value ranges and tolerances between 0.001 and 1000.
: - The [repr]{.title-ref} method now provides clearer output for values within those ranges, making it easier to interpret the results.
- Previously, the output for those ranges of values and tolerances was displayed in scientific notation (e.g., [42 ± 1.0e+00]{.title-ref}). The updated method now presents the tolerance as a decimal for better readability (e.g., [42 ± 1]{.title-ref}).
Example:
**Previous Output:**
``` console
>>> pytest.approx(42, abs=1)
42 ± 1.0e+00
```
**Current Output:**
``` console
>>> pytest.approx(42, abs=1)
42 ± 1
```
\-- by `fazeelghafoor`{.interpreted-text role="user"}
-
#7683: The formerly optional
pygmentsdependency is now required, causing output always to be source-highlighted (unless disabled via the--code-highlight=noCLI option).
Bug fixes
-
#10404: Apply filterwarnings from config/cli as soon as possible, and revert them as late as possible so that warnings as errors are collected throughout the pytest run and before the unraisable and threadexcept hooks are removed.
This allows very late warnings and unraisable/threadexcept exceptions to fail the test suite.
This also changes the warning that the lsof plugin issues from PytestWarning to the new warning PytestFDWarning so it can be more easily filtered.
-
#11067: The test report is now consistent regardless if the test xfailed via
pytest.mark.xfail <pytest.mark.xfail ref>{.interpreted-text role="ref"} orpytest.fail{.interpreted-text role="func"}.Previously, xfailed tests via the marker would have the string
"reason: "prefixed to the message, while those xfailed via the function did not. The prefix has been removed. -
#12008: In
11220{.interpreted-text role="pr"}, an unintended change in reordering was introduced by changing the way indices were assigned to direct params. More specifically, before that change, the indices of direct params to metafunc's callspecs were assigned after all parametrizations took place. Now, that change is reverted. -
#12863: Fix applying markers, including
pytest.mark.parametrize <pytest.mark.parametrize ref>{.interpreted-text role="ref"} when placed above [@staticmethod]{.title-ref} or [@classmethod]{.title-ref}. -
#12929: Handle StopIteration from test cases, setup and teardown correctly.
-
#12938: Fixed
--durations-minargument not respected if-vvis used. -
#12946: Fixed missing help for
pdb{.interpreted-text role="mod"} commands wrapped by pytest -- byadamchainz{.interpreted-text role="user"}. -
#12981: Prevent exceptions in
pytest.Config.add_cleanup{.interpreted-text role="func"} callbacks preventing further cleanups. -
#13047: Restore
pytest.approx{.interpreted-text role="func"} handling of equality checks between [bool]{.title-ref} and [numpy.bool_]{.title-ref} types.Comparing [bool]{.title-ref} and [numpy.bool_]{.title-ref} using
pytest.approx{.interpreted-text role="func"} accidentally changed in version [8.3.4]{.title-ref} and [8.3.5]{.title-ref} to no longer match:>>> import numpy as np >>> from pytest import approx >>> [np.True_, np.True_] == pytest.approx([True, True]) FalseThis has now been fixed:
>>> [np.True_, np.True_] == pytest.approx([True, True]) True -
#13119: Improved handling of invalid regex patterns for filter warnings by providing a clear error message.
-
#13175: The diff is now also highlighted correctly when comparing two strings.
-
#13248: Fixed an issue where passing a
scopeinMetafunc.parametrize <pytest.Metafunc.parametrize>{.interpreted-text role="py:func"} withindirect=Truecould result in other fixtures being unable to depend on the parametrized fixture. -
#13291: Fixed
reprofattrsobjects in assertion failure messages when usingattrs>=25.2. -
#13312: Fixed a possible
KeyErrorcrash on PyPy during collection of tests involving higher-scoped parameters. -
#13345: Fix type hints for
pytest.TestReport.when{.interpreted-text role="attr"} andpytest.TestReport.location{.interpreted-text role="attr"}. -
#13377: Fixed handling of test methods with positional-only parameter syntax.
Now, methods are supported that formally define
selfas positional-only and/or fixture parameters as keyword-only, e.g.:class TestClass: def test_method(self, /, *, fixture): ...Before, this caused an internal error in pytest.
-
#13384: Fixed an issue where pytest could report negative durations.
-
#13420: Added
lru_cachetonodes._check_initialpaths_for_relpath. -
#9037: Honor
disable_test_id_escaping_and_forfeit_all_rights_to_community_support{.interpreted-text role="confval"} when escaping ids in parametrized tests.
Improved documentation
-
#12535: [This example]{.title-ref}<https://docs.pytest.org/en/latest/example/simple.html#making-test-result-information-available-in-fixtures> showed
printstatements that do not exactly reflect what the different branches actually do. The fix makes the example more precise. -
#13218: Pointed out in the
pytest.approx{.interpreted-text role="func"} documentation that it considers booleans unequal to numeric zero or one. -
#13221: Improved grouping of CLI options in the
--helpoutput. -
#6649: Added
~pytest.TerminalReporter{.interpreted-text role="class"} to theapi-reference{.interpreted-text role="ref"} documentation page. -
#8612: Add a recipe for handling abstract test classes in the documentation.
A new example has been added to the documentation to demonstrate how to use a mixin class to handle abstract test classes without manually setting the
__test__attribute for subclasses. This ensures that subclasses of abstract test classes are automatically collected by pytest.
Packaging updates and notes for downstreams
-
#13317: Specified minimum allowed versions of
colorama,iniconfig, andpackaging; and bumped the minimum allowed version ofexceptiongroupforpython_version<'3.11'from a release candidate to a full release.
Contributor-facing changes
-
#12017: Mixed internal improvements:
- Migrate formatting to f-strings in some tests.
- Use type-safe constructs in JUnitXML tests.
- Moved
MockTiminginto_pytest.timing.
-- by
RonnyPfannschmidt{.interpreted-text role="user"} -
#12647: Fixed running the test suite with the
hypothesispytest plugin.
Miscellaneous internal changes
-
#6649: Added
~pytest.TerminalReporter{.interpreted-text role="class"} to the public pytest API, as it is part of the signature of thepytest_terminal_summary{.interpreted-text role="hook"} hook.
v8.3.5
pytest 8.3.5 (2025-03-02)
Bug fixes
-
#11777: Fixed issue where sequences were still being shortened even with
-vvverbosity. -
#12888: Fixed broken input when using Python 3.13+ and a
libeditbuild of Python, such as on macOS or with uv-managed Python binaries from thepython-build-standaloneproject. This could manifest e.g. by a broken prompt when usingPdb, or seeing empty inputs with manual usage ofinput()and suspended capturing. -
#13026: Fixed
AttributeError{.interpreted-text role="class"} crash when using--import-mode=importlibwhen top-level directory same name as another module of the standard library. -
#13053: Fixed a regression in pytest 8.3.4 where, when using
--import-mode=importlib, a directory containing py file with the same name would cause anImportError - #13083: Fixed issue where pytest could crash if one of the collected directories got removed during collection.
Improved documentation
-
#12842: Added dedicated page about using types with pytest.
See
types{.interpreted-text role="ref"} for detailed usage.
Contributor-facing changes
-
#13112: Fixed selftest failures in
test_terminal.pywith Pygments >= 2.19.0 -
#13256: Support for Towncrier versions released in 2024 has been re-enabled
when building Sphinx docs -- by
webknjaz{.interpreted-text role="user"}.
v8.3.4
pytest 8.3.4 (2024-12-01)
Bug fixes
-
#12592: Fixed
KeyError{.interpreted-text role="class"} crash when using--import-mode=importlibin a directory layout where a directory contains a child directory with the same name. -
#12818: Assertion rewriting now preserves the source ranges of the original instructions, making it play well with tools that deal with the
AST, like executing. -
#12849: ANSI escape codes for colored output now handled correctly in
pytest.fail{.interpreted-text role="func"} with [pytrace=False]{.title-ref}. -
#9353:
pytest.approx{.interpreted-text role="func"} now uses strict equality when given booleans.
Improved documentation
-
#10558: Fix ambiguous docstring of
pytest.Config.getoption{.interpreted-text role="func"}. -
#10829: Improve documentation on the current handling of the
--basetempoption and its lack of retention functionality (temporary directory location and retention{.interpreted-text role="ref"}). -
#12866: Improved cross-references concerning the
recwarn{.interpreted-text role="fixture"} fixture. -
#12966: Clarify
filterwarnings{.interpreted-text role="ref"} docs on filter precedence/order when using multiple@pytest.mark.filterwarnings <pytest.mark.filterwarnings ref>{.interpreted-text role="ref"} marks.
Contributor-facing changes
- #12497: Fixed two failing pdb-related tests on Python 3.13.
v8.3.3
pytest 8.3.3 (2024-09-09)
Bug fixes
-
#12446: Avoid calling
@property(and other instance descriptors) during fixture discovery -- byasottile{.interpreted-text role="user"} -
#12659: Fixed the issue of not displaying assertion failure differences when using the parameter
--import-mode=importlibin pytest>=8.1. -
#12667: Fixed a regression where type change in [ExceptionInfo.errisinstance]{.title-ref} caused [mypy]{.title-ref} to fail.
-
#12744: Fixed typing compatibility with Python 3.9 or less -- replaced [typing.Self]{.title-ref} with [typing_extensions.Self]{.title-ref} -- by
Avasam{.interpreted-text role="user"} -
#12745: Fixed an issue with backslashes being incorrectly converted in nodeid paths on Windows, ensuring consistent path handling across environments.
-
#6682: Fixed bug where the verbosity levels where not being respected when printing the "msg" part of failed assertion (as in
assert condition, msg). -
#9422: Fix bug where disabling the terminal plugin via
-p no:terminalwould cause crashes related to missing theverboseoption.-- by
GTowers1{.interpreted-text role="user"}
Improved documentation
- #12663: Clarify that the [pytest_deselected]{.title-ref} hook should be called from [pytest_collection_modifyitems]{.title-ref} hook implementations when items are deselected.
- #12678: Remove erroneous quotes from [tmp_path_retention_policy]{.title-ref} example in docs.
Miscellaneous internal changes
- #12769: Fix typos discovered by codespell and add codespell to pre-commit hooks.
pytest-dev/pytest-asyncio (pytest-asyncio)
v0.26.0: pytest-asyncio 0.26.0
- Adds configuration option that sets default event loop scope for all tests #793
- Improved type annotations for
pytest_asyncio.fixture#1045 - Added
typing-extensionsas additional dependency for Python<3.10#1045
v0.25.3: pytest-asyncio 0.25.3
- Avoid errors in cleanup of async generators when event loop is already closed #1040
v0.25.2: pytest-asyncio 0.25.2
- Call
loop.shutdown_asyncgens()before closing the event loop to ensure async generators are closed in the same manner asasyncio.rundoes #1034
v0.25.1: pytest-asyncio 0.25.1
- Fixes an issue that caused a broken event loop when a function-scoped test was executed in between two tests with wider loop scope #950
- Improves test collection speed in auto mode #1020
- Corrects the warning that is emitted upon redefining the event_loop fixture
v0.25.0: pytest-asyncio 0.25.0
0.25.0 (2024-12-13)
- Deprecated: Added warning when asyncio test requests async
@pytest.fixturein strict mode. This will become an error in a future version of flake8-asyncio. #979 - Updates the error message about pytest.mark.asyncio's scope keyword argument to say loop_scope instead. #1004
- Verbose log displays correct parameter name: asyncio_default_fixture_loop_scope #990
- Propagates contextvars set in async fixtures to other fixtures and tests on Python 3.11 and above. #1008
v0.24.0: pytest-asyncio 0.24.0
0.24.0 (2024-08-22)
- BREAKING: Updated minimum supported pytest version to v8.2.0
- Adds an optional loop_scope keyword argument to pytest.mark.asyncio. This argument controls which event loop is used to run the marked async test. #706, #871
- Deprecates the optional scope keyword argument to pytest.mark.asyncio for API consistency with
pytest_asyncio.fixture. Users are encouraged to use the loop_scope keyword argument, which does exactly the same. - Raises an error when passing scope or loop_scope as a positional argument to
@pytest.mark.asyncio. #812 - Fixes a bug that caused module-scoped async fixtures to fail when reused in other modules #862 #668
pytest-dev/pytest-xdist (pytest-xdist)
v3.8.0
===============================
Features
-
#​1083 <https://github.com/pytest-dev/pytest-xdist/issues/1083>_: Add--no-loadscope-reorderand--loadscope-reorderoption to control whether to automatically reorder tests in loadscope for tests where relative ordering matters. This only applies when usingloadscope.For example, [test_file_1, test_file_2, ..., test_file_n] are given as input test files, if
--no-loadscope-reorderis used, for either worker, thetest_file_awill be executed beforetest_file_bonly ifa < b.The default behavior is to reorder the tests to maximize the number of tests that can be executed in parallel.
v3.7.0
===============================
Features
-
#​1142 <https://github.com/pytest-dev/pytest-xdist/issues/1142>_: Added support for Python 3.13. -
#​1144 <https://github.com/pytest-dev/pytest-xdist/issues/1144>_: The internalstealcommand is now atomic - it unschedules either all requested tests or none.This is a prerequisite for group/scope support in the
workstealscheduler, so test groups won't be broken up incorrectly. -
#​1170 <https://github.com/pytest-dev/pytest-xdist/issues/1170>_: Add the--pxarg to create proxy gateways.Proxy gateways are passed to additional gateways using the
viakeyword. They can serve as a way to run multiple workers on remote machines. -
#​1200 <https://github.com/pytest-dev/pytest-xdist/issues/1200>_: Now multiplexdist_groupmarkers are considered when assigning tests to groups (order does not matter).Previously, only the last marker would assign a test to a group, but now if a test has multiple
xdist_groupmarks applied (for example via parametrization or via fixtures), they are merged to make a new group.
Removals
-
#​1162 <https://github.com/pytest-dev/pytest-xdist/issues/1162>_: Dropped support for EOL Python 3.8.
Trivial Changes
-
#​1092 <https://github.com/pytest-dev/pytest-xdist/issues/1092>_: Update an error message to better indicate where users should go for more information. -
#​1190 <https://github.com/pytest-dev/pytest-xdist/issues/1190>_: Switched to using a SPDX license identifier introduced in PEP 639.
Kludex/python-multipart (python-multipart)
v0.0.20
- Handle messages containing only end boundary #142.
redis/redis-py (redis)
v5.3.1: 5.3.1
Changes
🧰 Maintenance
- Allow newer PyJWT versions for branch 5.3 (#3682)
We'd like to thank all the contributors who worked on this release! @bcmills
v5.3.0: 5.3.0
Changes
🚀 New Features
Token-based authentication:
- Added StreamingCredentialProvider interface (#3445)
- Extended CredentialProvider class with get_credentials_async method (#3445)
- Added event-driven entities (Dispatcher, Listener, Events) (#3445)
New StreamingCredentialProvider interface was added with an idea to integrate redis-py with credential providers that stream an events that should be handled by given listeners.
Check the documentation for the quick start guide.
CredentialProvider instance creation interface was enhanced. Feel free to check the updated documentation
Other features:
- Exponential with jitter backoff (#3550)
- Adding load balancing strategy configuration to cluster clients(replacement for 'read_from_replicas' config) (#3563)
⚠️ Deprecations
- Deprecating unused arguments in connection pools's get_connection functions(#3517 #3625)
- Adding load balancing strategy configuration to cluster clients(replacement for 'read_from_replicas' config) (#3563)
🐛 Bug Fixes
- When SlotNotCoveredError is raised, the cluster topology should be reinitialized as part of error handling and retrying of the commands. (#3621)
- Fixed Token-based authentication documentation
- Fixed bug with missing PyJWT dependency (#3462)
- Fixed flacky TokenManager test (#3468)
- Fix incorrect attribute reuse in redis.connection.CacheProxyConnection (#3456)
- Moved self._lock initialisation to Pool constructor (#3473)
- Remove decreasing of created connections count when releasing not owned by connection pool connection(fixes issue #2832). (#3514)
🧰 Maintenance
- Updated CredentialProvider test infrastructure (#3502)
- Expand type for EncodedT (#3472)
- DOC-4423: add TCEs for various command pages (#3476)
- DOC-4345 added testable JSON search examples for home page (#3407)
- DOC-4796 fixed capped lists example (#3493)
- Added unit test fix to improve compatibility with MacOS (#3486)
- Added missing type hints (#3494 #3495 #3496 #3357)
- Replacing the redis and redis-stack-server images with redis-libs-tests image in test infrastructure (#3505)
Contributors
We'd like to thank all the contributors who worked on this release!
@uglide @woutdenolf @vladvildanov @hauntsaninja @dwdougherty @patrick91 @Vulwsztyn @JimNero009 @andy-stark-redis @petyaslavova
v5.2.1: 5.2.1
Changes
🐛 Bug Fixes
- Fixed unsecured tempfile.mktemp() command usage (#3446)
- Fixed bug with SLOWLOG GET response parsing on Redis Software (#3441)
- Fixed issue with invoking _close() on closed event loop (#3438)
🧰 Maintenance
- Migrate test infrastructure to new custom docker images (#3415)
- Fixed flacky test with HEXPIREAT command (#3437)
Contributors
We'd like to thank all the contributors who worked on this release!
@IlianIliev @uglide @vladvildanov @teodorfn @akx
v5.2.0: 5.2.0
Changes
🚀 New Features
- Extend AggregateRequest with scorer argument (#3409)
🧰 Maintenance
- Pin pytest-profiling version due to the bug (#3417)
Contributors
We'd like to thank all the contributors who worked on this release!
@uglide @rbs333 @vladvildanov @dwdougherty
v5.1.1: 5.1.1
Changes
5.1.1
🐛 Bug Fixes
- Fixed return type for Redis Set commands to be Set instead of List (#3399)
- Fixed bug with partial Hiredis availability (#3400)
- Fixed bug with async pipeline and cluster fails with some commands (#3402)
5.1.0
🚀 New Features
How to start with Client-side caching?
- Install redis-py 5.1.0
- Use the following code snippet:
r = Redis(protocol=3, cache_config=CacheConfig())
cache = r.get_cache()
r.set("foo", "bar")
### get key from redis and save in local cache
print(r.get("foo"))
### get key from local cache
print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value)
### change key in redis (cause invalidation)
r.set("foo", "barbar")
### Retrieves a new value from server and cache it
print(r.get("foo"))
### Make sure that new value was cached
print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value)
Check documentation to get more examples
🔥 Breaking Changes
- Timeseries insertion filters for close samples (#3228)
- Enhanced classes string representation (#3001)
- Partial clean up of Python 3.7 compatibility (#2928)
- Handle Redis Set data type as Python list to avoid a limitations with nested dictionaries (#3324)
Contributors
We'd like to thank all the contributors who worked on this release!
@vladvildanov @dmaier-redislabs @vineethvkumar @ramchandra-st @RafalBielickiIM @jules-ch
v5.1.0: 5.1.0
Changes
🚀 New Features
How to start with Client-side caching?
- Install redis-py 5.1.0
- Use the following code snippet:
r = Redis(protocol=3, cache_config=CacheConfig())
cache = r.get_cache()
r.set("foo", "bar")
### get key from redis and save in local cache
print(r.get("foo"))
### get key from local cache
print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value)
### change key in redis (cause invalidation)
r.set("foo", "barbar")
### Retrieves a new value from server and cache it
print(r.get("foo"))
### Make sure that new value was cached
print(cache.get(CacheKey(command="GET", redis_keys=("foo",))).cache_value)
Check documentation to get more examples
🔥 Breaking Changes
- Timeseries insertion filters for close samples (#3228)
- Enhanced classes string representation (#3001)
- Partial clean up of Python 3.7 compatibility (#2928)
- Handle RESP3 sets as Python lists (#3324)
🐛 Bug Fixes
- Handle RESP3 sets as Python lists (#3324)
- Prevent async ClusterPipeline instances from becoming "false-y" (#3068)
- Add hostname field to _parse_node_line (#3343)
- More docs fixes (#3326)
- Delete the first-defined (and thus "duplicate") Script class (#3333)
- Catch a known DeprecationWarning when calling .close() (#3335)
- Add missed redismod at test_commands.py (#3369)
🧰 Maintenance
- Update README.md - mentioning redis 7.4 support (#3375)
- Update PyPy 3.8 to 3.10 in CI (#3370)
- Updated commands from docker-compose to docker compose (#3352)
- Added version restrictions for pytest-asyncio (#3362)
- Documentation examples (#3361, #3372, #3374, #3377, #3378)
Contributors
We'd like to thank all the contributors who worked on this release!
@AYMENJD, @AniketP04, @BackflipPenguin, @ING-XIAOJIAN, @MrDenkoV, @Pedram-Parsian, @TheBlusky, @TomerHekmati, @Wh1isper, @Zaczero, @ahmedabdou14, @akx, @andy-stark-redis, @catap, @chayim, @d184230, @danielzhangau, @daveisfera, @dependabot, @dependabot[bot], @dkuser, @dmaier-redislabs, @dmkulazhenko, @dudizimber, @dvora-h, @dwdougherty, @enjoy-binbin, @gerzse, @hongqn, @jakob-keller, @kristjanvalur, @kurtmckee, @matrey, @mattwang44, @max-muoto, @parmenashp, @poiuj, @r0ro, @sjpotter, @tbbream, @trkwyk, @uglide, @vladvildanov, @w-miller, @wKollendorf, @willfrey, @willianmrs, @zakaf, @zware and @zxjlm
psf/requests (requests)
v2.32.5
Bugfixes
- The SSLContext caching feature originally introduced in 2.32.0 has created a new class of issues in Requests that have had negative impact across a number of use cases. The Requests team has decided to revert this feature as long term maintenance of it is proving to be unsustainable in its current iteration.
Deprecations
- Added support for Python 3.14.
- Dropped support for Python 3.8 following its end of support.
v2.32.4
Security
- CVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted environment will retrieve credentials for the wrong hostname/machine from a netrc file.
Improvements
- Numerous documentation improvements
Deprecations
- Added support for pypy 3.11 for Linux and macOS.
- Dropped support for pypy 3.9 following its end of support.
sdispater/tomlkit (tomlkit)
v0.13.3
Added
- Add
.item()method to array and tables to retrieve an item by key. (#390)
Fixed
- Fix missing newline when parsing a separated array of tables without trailing new line. (#381)
- Fix non-existing key error when deleting an item from an out-of-order table. (#383)
- Ensure newline is added between the plain values and the first table. (#387)
- Fix repeated whitespace when removing an array item. (#405)
- Fix invalid serialization after removing array item if the comma is on its own line. (#408)
- Fix serialization of a nested dotted key table. (#411)
- Refine the error message when use non-string as single key. (#412)
- Fix invalid serialization after overwriting a key of a out-of-order table. (#414)
encode/uvicorn (uvicorn)
v0.35.0: Version 0.35.0
Added
- Add
WebSocketsSansIOProtocolby @Kludex in https://github.com/encode/uvicorn/pull/2540
Changed
- Refine help message for option
--proxy-headersby @zhangyoufu in https://github.com/encode/uvicorn/pull/2653
New Contributors
- @zhangyoufu made their first contribution in https://github.com/encode/uvicorn/pull/2653
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.3...0.35.0
v0.34.3: Version 0.34.3
What's Changed
- Don't include
cwd()when non-empty--reload-dirsis passed by @stinovlas in https://github.com/encode/uvicorn/pull/2598 - Apply
get_client_addrformatting to WebSocket logging by @Harry-Lees in https://github.com/encode/uvicorn/pull/2636 - chore: improve type hints by @waketzheng in https://github.com/encode/uvicorn/pull/2638
New Contributors
- @stinovlas made their first contribution in https://github.com/encode/uvicorn/pull/2598
- @LifeLex made their first contribution in https://github.com/encode/uvicorn/pull/2621
- @Harry-Lees made their first contribution in https://github.com/encode/uvicorn/pull/2636
- @waketzheng made their first contribution in https://github.com/encode/uvicorn/pull/2638
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.2...0.34.3
v0.34.2: Version 0.34.2
What's Changed
- Flush the stdout buffer on Windows to trigger reload by @jamesh1999 in https://github.com/encode/uvicorn/pull/2604
New Contributors
- @jamesh1999 made their first contribution in https://github.com/encode/uvicorn/pull/2604
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.1...0.34.2
v0.34.1: Version 0.34.1
What's Changed
- Deprecate
ServerStatein the main module by @Kludex in https://github.com/encode/uvicorn/pull/2581
New Contributors
- @RakhimovRamis made their first contribution in https://github.com/encode/uvicorn/pull/2567
- @carlwgeorge made their first contribution in https://github.com/encode/uvicorn/pull/2590
Full Changelog: https://github.com/encode/uvicorn/compare/0.34.0...0.34.1
v0.34.0: Version 0.34.0
What's Changed
- Add
content-lengthto 500 response in wsproto by @Kludex in https://github.com/encode/uvicorn/pull/2542 - Drop Python 3.8 by @Kludex in https://github.com/encode/uvicorn/pull/2543
Full Changelog: https://github.com/encode/uvicorn/compare/0.33.0...0.34.0
v0.33.0: Version 0.33.0
What's Changed
- Remove WatchGod by @Kludex in https://github.com/encode/uvicorn/pull/2536
New Contributors
- @bwells made their first contribution in https://github.com/encode/uvicorn/pull/2491
- @tback made their first contribution in https://github.com/encode/uvicorn/pull/2528
Full Changelog: https://github.com/encode/uvicorn/compare/0.32.1...0.33.0
v0.32.1: Version 0.32.1
What's Changed
- Enable httptools lenient data by @vvanglro in https://github.com/encode/uvicorn/pull/2488
- Drop ASGI spec version to 2.3 on HTTP scope by @Kludex in https://github.com/encode/uvicorn/pull/2513
Full Changelog: https://github.com/encode/uvicorn/compare/0.32.0...0.32.1
v0.32.0: Version 0.32.0
Added
Full Changelog: https://github.com/encode/uvicorn/compare/0.31.1...0.32.0
v0.31.1: Version 0.31.1
Fixed
- Support WebSockets 0.13.1 #2471
- Restore support for
[*]in trusted hosts #2480 - Add
PathLike[str]type hint forssl_keyfile#2481
Full Changelog: https://github.com/encode/uvicorn/compare/0.31.0...0.31.1
v0.31.0: Version 0.31.0
Added
Improve ProxyHeadersMiddleware (#2468) and (#2231):
- Fix the host for requests from clients running on the proxy server itself.
- Fallback to host that was already set for empty x-forwarded-for headers.
- Also allow specifying IP Networks as trusted hosts. This greatly simplifies deployments
on docker swarm/Kubernetes, where the reverse proxy might have a dynamic IP.
- This includes support for IPv6 Address/Networks.
Full Changelog: https://github.com/encode/uvicorn/compare/0.30.6...0.31.0
samuelcolvin/watchfiles (watchfiles)
v1.1.0: 2025-06-15
What's Changed
- Bump
crossbeam-channelfrom 0.5.12 to 0.5.15 by @dependabot in https://github.com/samuelcolvin/watchfiles/pull/336 - skip flakey test on windows by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/342
- Update notify dependency to 8.0.0, bumping MSRV to 1.77 by @musicinmybrain in https://github.com/samuelcolvin/watchfiles/pull/327
- Update PyO3 to 0.25.1 by @musicinmybrain in https://github.com/samuelcolvin/watchfiles/pull/340
- test and build with 3.14 & 3.14t by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/343
- uprev to 1.1.0 by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/344
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v1.0.5...v1.1.0
v1.0.5: 2025-04-08
What's Changed
- Bump pyo3 from 0.23.3 to 0.24.1 by @dependabot in https://github.com/samuelcolvin/watchfiles/pull/333
- use
uv publish --trusted-publishing, remove twine check by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/334 - uprev to 1.0.5 by @samuelcolvin in https://github.com/samuelcolvin/watchfiles/pull/335
Full Changelog: https://github.com/samuelcolvin/watchfiles/compare/v1.0.4...v1.0.5
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.