{"id":44851,"name":"django-structlog","ecosystem":"pip","repository_url":"https://github.com/jrobichaud/django-structlog","issues_count":9,"created_at":"2025-06-23T03:11:26.738Z","updated_at":"2025-06-23T03:11:26.738Z","purl":"pkg:pypi/django-structlog","metadata":{"id":2709557,"name":"django-structlog","ecosystem":"pypi","description":"Structured Logging for Django","homepage":null,"licenses":"MIT","normalized_licenses":["MIT"],"repository_url":"https://github.com/jrobichaud/django-structlog","keywords_array":[],"namespace":null,"versions_count":73,"first_release_published_at":"2019-04-13T23:25:10.000Z","latest_release_published_at":"2025-04-07T12:56:33.000Z","latest_release_number":"9.1.1","last_synced_at":"2025-06-22T16:30:49.627Z","created_at":"2022-04-10T10:45:00.843Z","updated_at":"2025-06-22T16:30:49.627Z","registry_url":"https://pypi.org/project/django-structlog/","install_command":"pip install django-structlog --index-url https://pypi.org/simple","documentation_url":"https://django-structlog.readthedocs.io/","metadata":{"funding":null,"documentation":null,"classifiers":["Development Status :: 5 - Production/Stable","Framework :: Django","Framework :: Django :: 4.2","Framework :: Django :: 5.0","Framework :: Django :: 5.1","Framework :: Django :: 5.2","License :: OSI Approved :: MIT License","Operating System :: OS Independent","Programming Language :: Python :: 3","Programming Language :: Python :: 3 :: Only","Programming Language :: Python :: 3.10","Programming Language :: Python :: 3.11","Programming Language :: Python :: 3.12","Programming Language :: Python :: 3.13","Programming Language :: Python :: 3.9","Topic :: System :: Logging","Typing :: Typed"],"normalized_name":"django-structlog"},"repo_metadata":null,"repo_metadata_updated_at":"2023-02-06T14:08:38.220Z","dependent_packages_count":3,"downloads":677419,"downloads_period":"last-month","dependent_repos_count":86,"rankings":{"downloads":0.5735198374336615,"dependent_repos_count":1.5976048755072074,"dependent_packages_count":3.2713415717121803,"stargazers_count":null,"forks_count":null,"docker_downloads_count":2.1061544473787053,"average":1.8871551830079387},"purl":"pkg:pypi/django-structlog","advisories":[],"docker_usage_url":"https://docker.ecosyste.ms/usage/pypi/django-structlog","docker_dependents_count":9,"docker_downloads_count":1527,"usage_url":"https://repos.ecosyste.ms/usage/pypi/django-structlog","dependent_repositories_url":"https://repos.ecosyste.ms/api/v1/usage/pypi/django-structlog/dependencies","status":null,"funding_links":[],"critical":null,"versions_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/django-structlog/versions","version_numbers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/django-structlog/version_numbers","dependent_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/django-structlog/dependent_packages","related_packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages/django-structlog/related_packages","maintainers":[{"uuid":"jrobichaud","login":"jrobichaud","name":null,"email":null,"url":null,"packages_count":1,"html_url":"https://pypi.org/user/jrobichaud/","role":null,"created_at":"2023-02-04T14:06:13.529Z","updated_at":"2023-02-04T14:06:13.529Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers/jrobichaud/packages"}],"registry":{"name":"pypi.org","url":"https://pypi.org","ecosystem":"pypi","default":true,"packages_count":696249,"maintainers_count":295660,"namespaces_count":0,"keywords_count":230252,"github":"pypi","metadata":{"funded_packages_count":49173},"icon_url":"https://github.com/pypi.png","created_at":"2022-04-04T15:19:23.364Z","updated_at":"2025-06-22T05:49:44.223Z","packages_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/packages","maintainers_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/maintainers","namespaces_url":"https://packages.ecosyste.ms/api/v1/registries/pypi.org/namespaces"}},"unique_repositories_count":8,"unique_repositories_count_past_30_days":1,"recent_issues":[{"uuid":"4218886619","node_id":"PR_kwDOR6SPNc7Qi6bw","number":11,"state":"open","title":"chore(deps): update django-structlog requirement from \u003c9.0,\u003e=8.0 to \u003e=8.0,\u003c11.0 in /backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-07T15:47:09.000Z","updated_at":"2026-04-07T15:47:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"django-structlog","old_version":"\u003c9.0,\u003e=8.0","new_version":"\u003e=8.0,\u003c11.0","repository_url":"https://github.com/jrobichaud/django-structlog"}],"path":"/backend","ecosystem":"pip"},"body":"Updates the requirements on [django-structlog](https://github.com/jrobichaud/django-structlog) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003ch2\u003e9.1.1 (April 7, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- fix \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata not working. See \u003ccode\u003e[#811](https://github.com/jrobichaud/django-structlog/issues/811) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/811\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.1.0 (April 4, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- new setting \u003ccode\u003eDJANGO_STRUCTLOG_IP_LOGGING_ENABLED\u003c/code\u003e (default \u003ccode\u003eTrue\u003c/code\u003e) to allow to disable ip binding. See \u003ccode\u003e[#803](https://github.com/jrobichaud/django-structlog/issues/803) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/803\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@dulguunpc \u0026lt;https://github.com/dulguunpc\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- add \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata. See \u003ccode\u003e[#796](https://github.com/jrobichaud/django-structlog/issues/796) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/796\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- \u003ccode\u003evary: Cookie\u003c/code\u003e was always set. See \u003ccode\u003e[#734](https://github.com/jrobichaud/django-structlog/issues/734) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/734\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@last-partizan \u0026lt;https://github.com/last-partizan\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOther:\u003c/em\u003e\n- add support of django 5.2 (just adding it to the test matrix, no code changes)\u003c/p\u003e\n\u003ch2\u003e9.0.1 (January 29, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- Fix exceptions not being propagated when using streaming response. See \u003ccode\u003e[#747](https://github.com/jrobichaud/django-structlog/issues/747) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/747\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@liambuchanan \u0026lt;https://github.com/liambuchanan\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.0.0 (November 26, 2024)\u003c/h2\u003e\n\u003cp\u003eSee: :ref:\u003ccode\u003eupgrade_9.0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add type definitions for the project. See \u003ccode\u003e[#697](https://github.com/jrobichaud/django-structlog/issues/697) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/697\u0026gt;\u003c/code\u003e_ and \u003ccode\u003e[#696](https://github.com/jrobichaud/django-structlog/issues/696) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/696\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@j00bar \u0026lt;https://github.com/j00bar\u0026gt;\u003c/code\u003e\u003c/em\u003e and \u003ccode\u003e@MaxDude132 \u0026lt;https://github.com/MaxDude132\u0026gt;\u003c/code\u003e_ for the review.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/8.0.0...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/theotranvan/tournoi-app/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/theotranvan%2Ftournoi-app/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"},{"uuid":"3721961213","node_id":"PR_kwDOLzxzKM64fcVX","number":277,"state":"open","title":"chore(deps): bump the dependencies group across 2 directories with 33 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["matmair"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-12T05:00:15.000Z","updated_at":"2025-12-12T05:01:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":33,"packages":[{"name":"blessed","old_version":"1.22.0","new_version":"1.25.0","repository_url":"https://github.com/jquast/blessed"},{"name":"django","old_version":"4.2.25","new_version":"5.2.9","repository_url":"https://github.com/django/django"},{"name":"django-allauth","old_version":"65.12.1","new_version":"65.13.1"},{"name":"django-dbbackup","old_version":"5.0.0","new_version":"5.0.1","repository_url":"https://github.com/Archmonger/django-dbbackup"},{"name":"django-filter","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/carltongibson/django-filter"},{"name":"django-flags","old_version":"5.0.14","new_version":"5.1.0","repository_url":"https://github.com/cfpb/django-flags"},{"name":"django-markdownify","old_version":"0.9.5","new_version":"0.9.6","repository_url":"https://github.com/erwinmatijsen/django-markdownify"},{"name":"django-otp","old_version":"1.3.0","new_version":"1.6.3","repository_url":"https://github.com/django-otp/django-otp"},{"name":"django-q2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/GDay/django-q2"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"},{"name":"docutils","old_version":"0.22.2","new_version":"0.22.3","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"drf-spectacular","old_version":"0.28.0","new_version":"0.29.0","repository_url":"https://github.com/tfranzel/drf-spectacular"},{"name":"dulwich","old_version":"0.24.1","new_version":"0.24.10","repository_url":"https://github.com/dulwich/dulwich"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pint","old_version":"0.24.4","new_version":"0.25.2","repository_url":"https://github.com/hgrecco/pint"},{"name":"pypdf","old_version":"6.1.3","new_version":"6.4.1","repository_url":"https://github.com/py-pdf/pypdf"},{"name":"rapidfuzz","old_version":"3.13.0","new_version":"3.14.3","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"sentry-sdk","old_version":"2.43.0","new_version":"2.47.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"xmlsec","old_version":"1.3.14","new_version":"1.3.17","repository_url":"https://github.com/mehcode/python-xmlsec"},{"name":"coverage","old_version":"7.10.7","new_version":"7.13.0"},{"name":"django-stubs","old_version":"5.1.3","new_version":"5.2.8","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"django-test-migrations","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/wemake-services/django-test-migrations"},{"name":"django-types","old_version":"0.20.0","new_version":"0.22.0","repository_url":"https://github.com/sbdchd/django-types"},{"name":"isort","old_version":"6.1.0","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"pdfminer-six","old_version":"20250506","new_version":"20251107","repository_url":"https://github.com/pdfminer/pdfminer.six"},{"name":"pip-tools","old_version":"7.5.1","new_version":"7.5.2","repository_url":"https://github.com/jazzband/pip-tools"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ty","old_version":"0.0.1a21","new_version":"0.0.1a33","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 4 updates in the /docs directory: [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin), [mkdocs-material](https://github.com/squidfunk/mkdocs-material), [mkdocstrings[python]](https://github.com/mkdocstrings/mkdocstrings) and [neoteroi-mkdocs](https://github.com/Neoteroi/mkdocs-plugins).\nBumps the dependencies group with 28 updates in the /src/backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [blessed](https://github.com/jquast/blessed) | `1.22.0` | `1.25.0` |\n| [django](https://github.com/django/django) | `4.2.25` | `5.2.9` |\n| [django-allauth[mfa,openid,saml,socialaccount]](https://github.com/sponsors/pennersr) | `65.12.1` | `65.13.1` |\n| [django-dbbackup](https://github.com/Archmonger/django-dbbackup) | `5.0.0` | `5.0.1` |\n| [django-filter](https://github.com/carltongibson/django-filter) | `25.1` | `25.2` |\n| [django-flags](https://github.com/cfpb/django-flags) | `5.0.14` | `5.1.0` |\n| [django-markdownify](https://github.com/erwinmatijsen/django-markdownify) | `0.9.5` | `0.9.6` |\n| [django-otp](https://github.com/django-otp/django-otp) | `1.3.0` | `1.6.3` |\n| [django-q2](https://github.com/GDay/django-q2) | `1.8.0` | `1.9.0` |\n| [django-structlog](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.22.2` | `0.22.3` |\n| [drf-spectacular](https://github.com/tfranzel/drf-spectacular) | `0.28.0` | `0.29.0` |\n| [dulwich](https://github.com/dulwich/dulwich) | `0.24.1` | `0.24.10` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [pint](https://github.com/hgrecco/pint) | `0.24.4` | `0.25.2` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.1.3` | `6.4.1` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.13.0` | `3.14.3` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.43.0` | `2.47.0` |\n| [xmlsec](https://github.com/mehcode/python-xmlsec) | `1.3.14` | `1.3.17` |\n| [coverage[toml]](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.13.0` |\n| [django-stubs](https://github.com/sponsors/typeddjango) | `5.1.3` | `5.2.8` |\n| [django-test-migrations](https://github.com/wemake-services/django-test-migrations) | `1.4.0` | `1.5.0` |\n| [django-types](https://github.com/sbdchd/django-types) | `0.20.0` | `0.22.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.1.0` | `7.0.0` |\n| [pdfminer-six](https://github.com/pdfminer/pdfminer.six) | `20250506` | `20251107` |\n| [pip-tools](https://github.com/jazzband/pip-tools) | `7.5.1` | `7.5.2` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a21` | `0.0.1a33` |\n\n\nUpdates `mkdocs-macros-plugin` from 1.4.1 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md\"\u003emkdocs-macros-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0, 2025-11-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: For each push, testing on github for versions Python 3.8 to 3.12\u003c/li\u003e\n\u003cli\u003eFixed: bug in import of packages when not in source dir (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/0536f4da1dc643e1fa1f0cc90e71512ada67dc04\"\u003e\u003ccode\u003e0536f4d\u003c/code\u003e\u003c/a\u003e Fix type hint for compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/d9a6bc3aac5b12b86f9e2be7af18e1e9178287f6\"\u003e\u003ccode\u003ed9a6bc3\u003c/code\u003e\u003c/a\u003e Require mkdocs-test\u0026gt;=0.6.0 (compatibility with Python 3.8 and 3.9)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/bcaa72db2820d60822ffba15e87c75669abc7b92\"\u003e\u003ccode\u003ebcaa72d\u003c/code\u003e\u003c/a\u003e Make last minute corrections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/356fc2a5b55d1897a2f2c47856d52b10cff4611c\"\u003e\u003ccode\u003e356fc2a\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/aaf16bdcb9dfcb9c6ea9b6567ea4af7f8c178185\"\u003e\u003ccode\u003eaaf16bd\u003c/code\u003e\u003c/a\u003e Limit testing to 3.10 up (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/ba5356c0c263355556aa82dad0fbfde3cce4bc4d\"\u003e\u003ccode\u003eba5356c\u003c/code\u003e\u003c/a\u003e Use proper exit for pytest if Python \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/6c796600bc0886696ce9b76b84354d7e2bc1b6fa\"\u003e\u003ccode\u003e6c79660\u003c/code\u003e\u003c/a\u003e Skip test_modules.py if Python version \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cec7440d46589b303d741a5e2df0a240c25b9bdb\"\u003e\u003ccode\u003ecec7440\u003c/code\u003e\u003c/a\u003e Test installation of d2 in a cross-platform way (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/492759c5ab3d05f7c55ec62ffdf9573b715ac6ed\"\u003e\u003ccode\u003e492759c\u003c/code\u003e\u003c/a\u003e Update with changes from local repo (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cc5416834a07ffd2ba1fe3d917a701ac6e9c98ad\"\u003e\u003ccode\u003ecc54168\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.6.22 to 9.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is now in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e→ \u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote on deprecated plugins\u003c/strong\u003e: The \u003ca href=\"https://squidfunk.github.io/mkdocs-material/plugins/projects/\"\u003eprojects\u003c/a\u003e and \u003ca href=\"https://squidfunk.github.io/mkdocs-material/plugins/typeset/\"\u003etypeset\u003c/a\u003e plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for projects plugin (for compat, now deprecated)\u003c/li\u003e\n\u003cli\u003eAdded support for typeset plugin (for compat, now deprecated)\u003c/li\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8519\"\u003e#8519\u003c/a\u003e: Vector accents do not render when using KaTeX\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8519\"\u003e#8519\u003c/a\u003e: Vector accents do not render when using KaTeX\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.23 (2025-11-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.22 (2025-10-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Georgian translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.21 (2025-09-30)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3308731f1dce2e72809a2167d900b3381ca8d0d1\"\u003e\u003ccode\u003e3308731\u003c/code\u003e\u003c/a\u003e Updated changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/dba54f7be6532893f8acddc6b89aa3c6491b90de\"\u003e\u003ccode\u003edba54f7\u003c/code\u003e\u003c/a\u003e Fixed back-to-top button partial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/7702610fd3f06ebcf4fd048b1839173926dd3290\"\u003e\u003ccode\u003e7702610\u003c/code\u003e\u003c/a\u003e Updated blog posts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3815f607a56c7390f41ebc30f36fd46a0d121ae1\"\u003e\u003ccode\u003e3815f60\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b583ea7765ea770505cafea5c0ca931e12289ad1\"\u003e\u003ccode\u003eb583ea7\u003c/code\u003e\u003c/a\u003e Prepare 9.7.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/764178b0121523f7d77bda77b9a024627d1884e7\"\u003e\u003ccode\u003e764178b\u003c/code\u003e\u003c/a\u003e Merge Insiders features\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/9853cc3a10710e1ee8f641d32fe0cdc83a19673e\"\u003e\u003ccode\u003e9853cc3\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/f31cfa535509e46d23c4bc22994d02f49ec74826\"\u003e\u003ccode\u003ef31cfa5\u003c/code\u003e\u003c/a\u003e Removed documentation on sponsoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/a8b9ace30ae6f541314baac0e86dc7ba54aa2651\"\u003e\u003ccode\u003ea8b9ace\u003c/code\u003e\u003c/a\u003e Fixed height of symbols for KaTeX inline rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/c0addd8addc34b38d3049b214265e2b3bd3fc8d3\"\u003e\u003ccode\u003ec0addd8\u003c/code\u003e\u003c/a\u003e Updated blog post\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.22...9.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocstrings[python]` from 0.30.1 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases\"\u003emkdocstrings[python]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.0\"\u003e1.0.0\u003c/a\u003e - 2025-11-27\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/0.30.1...1.0.0\"\u003eCompare with 0.30.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.name\u003c/code\u003e: \u003cem\u003eAttribute value was changed\u003c/em\u003e: \u003ccode\u003e''\u003c/code\u003e -\u0026gt; unset\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.domain\u003c/code\u003e: \u003cem\u003eAttribute value was changed\u003c/em\u003e: \u003ccode\u003e''\u003c/code\u003e -\u0026gt; unset\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.fallback_config\u003c/code\u003e: \u003cem\u003ePublic object was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(args)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(kwargs)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(theme)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(custom_templates)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(mdx)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(mdx_config)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(args)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(kwargs)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(config)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHandlers.get_anchors\u003c/code\u003e: \u003cem\u003ePublic object was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.plugin\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.loggers\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.inventory\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.extension\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.handlers\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated code before v1 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/de34044a02b45250e215af0f969dca581dfb82c5\"\u003ede34044\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003eExpect Zensical to pass extension configuration instead of loading it again from YAML (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6b73d5a2f455062ab6c68376c85adce6adc037a3\"\u003e6b73d5a\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003eExpose the Markdown extension, to make mkdocstrings compatible with Zensical (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6de266759b79eb72cddd300e6a0a8576085fae40\"\u003e6de2667\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md\"\u003emkdocstrings[python]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.0\"\u003e1.0.0\u003c/a\u003e - 2025-11-27\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/0.30.1...1.0.0\"\u003eCompare with 0.30.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.name\u003c/code\u003e: \u003cem\u003eAttribute value was changed\u003c/em\u003e: \u003ccode\u003e''\u003c/code\u003e -\u0026gt; unset\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.domain\u003c/code\u003e: \u003cem\u003eAttribute value was changed\u003c/em\u003e: \u003ccode\u003e''\u003c/code\u003e -\u0026gt; unset\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.fallback_config\u003c/code\u003e: \u003cem\u003ePublic object was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(args)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(kwargs)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(theme)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(custom_templates)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(mdx)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(mdx_config)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(args)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(kwargs)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(config)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHandlers.get_anchors\u003c/code\u003e: \u003cem\u003ePublic object was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.plugin\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.loggers\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.inventory\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.extension\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.handlers\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated code before v1 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/de34044a02b45250e215af0f969dca581dfb82c5\"\u003ede34044\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003eExpect Zensical to pass extension configuration instead of loading it again from YAML (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6b73d5a2f455062ab6c68376c85adce6adc037a3\"\u003e6b73d5a\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003eExpose the Markdown extension, to make mkdocstrings compatible with Zensical (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6de266759b79eb72cddd300e6a0a8576085fae40\"\u003e6de2667\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/68760a9ec55772c8b330b056c2d0896877324b1c\"\u003e\u003ccode\u003e68760a9\u003c/code\u003e\u003c/a\u003e chore: Prepare release 1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/de34044a02b45250e215af0f969dca581dfb82c5\"\u003e\u003ccode\u003ede34044\u003c/code\u003e\u003c/a\u003e refactor: Remove deprecated code before v1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6b73d5a2f455062ab6c68376c85adce6adc037a3\"\u003e\u003ccode\u003e6b73d5a\u003c/code\u003e\u003c/a\u003e refactor: Expect Zensical to pass extension configuration instead of loading ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/bebbb88d3f09249b0129b05f98fdbd9f2eaa6818\"\u003e\u003ccode\u003ebebbb88\u003c/code\u003e\u003c/a\u003e chore: Remove trailing space\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/fc4d588dc73b12c205a933a0a5808742119aa7d3\"\u003e\u003ccode\u003efc4d588\u003c/code\u003e\u003c/a\u003e docs: Announce maintenance mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6de266759b79eb72cddd300e6a0a8576085fae40\"\u003e\u003ccode\u003e6de2667\u003c/code\u003e\u003c/a\u003e refactor: Expose the Markdown extension, to make mkdocstrings compatible with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/3076375ec7eb4c9c8b739e414a919a1be29df07a\"\u003e\u003ccode\u003e3076375\u003c/code\u003e\u003c/a\u003e chore: Specify encoding when reading file in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/39fbea1c2dd030f017ae6fd4a8653959f310a693\"\u003e\u003ccode\u003e39fbea1\u003c/code\u003e\u003c/a\u003e chore: Update sponsors section in README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/b8f35c14f1b93408096cd2289782159beb0cdf03\"\u003e\u003ccode\u003eb8f35c1\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/5698963317af8e5d790a558fd945371f6ef3811a\"\u003e\u003ccode\u003e5698963\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/0.30.1...1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `neoteroi-mkdocs` from 1.1.3 to 1.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/releases\"\u003eneoteroi-mkdocs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom templates, by \u003ca href=\"https://github.com/sindrehan\"\u003e\u003ccode\u003e@​sindrehan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 to the build matrix.\u003c/li\u003e\n\u003cli\u003eRemove Codecov from build and README.\u003c/li\u003e\n\u003cli\u003eUpdate type annotations to Python \u0026gt;= 3.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/blob/main/CHANGELOG.md\"\u003eneoteroi-mkdocs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.0] 2025-11-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom templates, by \u003ca href=\"https://github.com/sindrehan\"\u003e\u003ccode\u003e@​sindrehan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 to the build matrix.\u003c/li\u003e\n\u003cli\u003eRemove Codecov from build and README.\u003c/li\u003e\n\u003cli\u003eUpdate type annotations to Python \u0026gt;= 3.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/commit/7c686af62c52dfac4ec7deda083a1c261809b5c2\"\u003e\u003ccode\u003e7c686af\u003c/code\u003e\u003c/a\u003e Prepare for v1.2.0 (\u003ca href=\"https://redirect.github.com/Neoteroi/mkdocs-plugins/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/commit/04b3132be7c6369397980927d052be2f0d1fe1d1\"\u003e\u003ccode\u003e04b3132\u003c/code\u003e\u003c/a\u003e Add config for custom templates (\u003ca href=\"https://redirect.github.com/Neoteroi/mkdocs-plugins/issues/78\"\u003e#78\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/compare/v1.1.3...v1.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blessed` from 1.22.0 to 1.25.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/blessed/releases\"\u003eblessed's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e1.25\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix: The \u0026quot;Copy globals\u0026quot; fix in 1.20 got reverted in release in 1.23 by \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e, this release re-applies the fix, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/326\"\u003e#326\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix: \u003ccode\u003eget_sixel_height_and_width\u003c/code\u003e detection order\nand improve documentation for window resize event handling \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/320\"\u003e#320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: change default argument \u003ccode\u003etimeout=None\u003c/code\u003e to \u003ccode\u003etimeout=1\u003c/code\u003e in methods\nrequiring automatic response, preventing stalls on \u0026quot;dumb\u0026quot; terminals \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/317\"\u003e#317\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.23: Enhanced keyboard, mouse, and more\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced: Environment values FORCE_COLOR_, CLICOLOR_FORCE_, and NO_COLOR_ overrides\n:class:\u003ccode\u003eblessed.Terminal\u003c/code\u003e argument value, \u003ccode\u003eforce_styling\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/295\"\u003e#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimproved: performance of :meth:\u003ccode\u003e~Terminal.rgb_downconvert\u003c/code\u003e for 256-color\nterminals, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/298\"\u003e#298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecated: Python 2.7 through 3.6 no longer supported. \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/299\"\u003e#299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimproved: keyboard support for modifier keys, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: kitty keyboard protocol support, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/309\"\u003e#309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: mouse support, Synchronized Output, and support for DEC Private Modes, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: methods to determine Sixel, dimensions and color depth \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/312\"\u003e#312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: in-band resize support (DEC Private Mode 2048) \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/313\"\u003e#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: XTVersion identification: \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/314\"\u003e#314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: default timeout for get_bgcolor, get_fgcolor \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/315\"\u003e#315\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/blessed/blob/master/docs/history.rst\"\u003eblessed's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. py:currentmodule:: blessed.terminal\u003c/p\u003e\n\u003ch1\u003eVersion History\u003c/h1\u003e\n\u003cp\u003e1.25\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix: The fix in 1.20 got reverted in release in 1.23\nby :ghpull:\u003ccode\u003e306\u003c/code\u003e, this release re-applies the fix, :ghpull:\u003ccode\u003e326\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix: :meth:\u003ccode\u003eblessed.Terminal\u003c/code\u003eget_sixel_height_and_width\u003ccode\u003e detection order and improve documentation for window resize event handling :ghpull:\u003c/code\u003e320`\u003c/li\u003e\n\u003cli\u003ebugfix: change default argument \u003ccode\u003etimeout=None\u003c/code\u003e to \u003ccode\u003etimeout=1\u003c/code\u003e in methods\nrequiring automatic response, preventing stalls on \u0026quot;dumb\u0026quot; terminals :ghpull:\u003ccode\u003e317\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.23\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced: Environment values FORCE_COLOR_, CLICOLOR_FORCE_, and NO_COLOR_ overrides\n:class:\u003ccode\u003eblessed.Terminal\u003c/code\u003e argument value, \u003ccode\u003eforce_styling\u003c/code\u003e :ghpull:\u003ccode\u003e295\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eimproved: performance of :meth:\u003ccode\u003e~Terminal.rgb_downconvert\u003c/code\u003e for 256-color\nterminals, :ghpull:\u003ccode\u003e298\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edeprecated: Python 2.7 through 3.6 no longer supported. :ghpull:\u003ccode\u003e299\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eimproved: keyboard support for modifier keys, :ghpull:\u003ccode\u003e306\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eintroduced: kitty keyboard protocol support, :ghpull:\u003ccode\u003e309\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eintroduced: mouse support, Synchronized Output, and support for DEC Private Modes, :ghpull:\u003ccode\u003e310\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: methods to determine Sixel, dimensions and color depth :ghpull:\u003ccode\u003e312\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: in-band resize support (DEC Private Mode 2048) :ghpull:\u003ccode\u003e313\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: XTVersion identification: :ghpull:\u003ccode\u003e314\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: default timeout for get_bgcolor, get_fgcolor :ghpull:\u003ccode\u003e315\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eperformance improvements to :meth:\u003ccode\u003e~Terminal.length\u003c/code\u003e and\n:meth:\u003ccode\u003e~Terminal.wrap\u003c/code\u003e via :ghpull:\u003ccode\u003e286\u003c/code\u003e, :ghpull:\u003ccode\u003e287\u003c/code\u003e, :ghpull:\u003ccode\u003e289\u003c/code\u003e, and\n:ghpull:\u003ccode\u003e291\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003espelling fixes, :ghpull:\u003ccode\u003e278\u003c/code\u003e, :ghpull:\u003ccode\u003e293\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix infinite loop in :meth:\u003ccode\u003e~Terminal.wrap\u003c/code\u003e when \u0026quot;Wide\u0026quot; characters of\nwidth 2 (East-Asian or Emoji) are used with a wrap width of 1, and a small\nperformance enhancement, :ghissue:\u003ccode\u003e273\u003c/code\u003e and :ghpull:\u003ccode\u003e274\u003c/code\u003e by :ghuser:\u003ccode\u003egrayjk\u003c/code\u003e\nmerged as :ghpull:\u003ccode\u003e275\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.20\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced :meth:\u003ccode\u003e~Terminal.get_fgcolor\u003c/code\u003e and :meth:\u003ccode\u003e~Terminal.get_bgcolor\u003c/code\u003e to query\nthe terminal for the currently set colors. :ghissue:\u003ccode\u003e237\u003c/code\u003e by :ghuser:\u003ccode\u003estefanholek\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Copy globals dict before iterating to avoid RuntimeError in multithreaded\napplications, :ghissue:\u003ccode\u003e248\u003c/code\u003e by :ghuser:\u003ccode\u003eadamnovak\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced :meth:\u003ccode\u003e~Terminal.truncate\u003c/code\u003e to truncate a string while\nretaining the sequences, :ghissue:\u003ccode\u003e211\u003c/code\u003e by :ghuser:\u003ccode\u003efishermans-friend\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/864a8f7d6de752d7fede2c030758d245f1bb8e21\"\u003e\u003ccode\u003e864a8f7\u003c/code\u003e\u003c/a\u003e document 1.25 bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/23d0ad902281c3397278c85ae0ee62bd1e7a8bad\"\u003e\u003ccode\u003e23d0ad9\u003c/code\u003e\u003c/a\u003e Copy globals dict during iteration (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/326\"\u003e#326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/dc1e5960e77f1390f157965d3279b4e158eeeef8\"\u003e\u003ccode\u003edc1e596\u003c/code\u003e\u003c/a\u003e Improved Sixel height and width, on_resize.py improved (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/320\"\u003e#320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/93aacec36d60faf17d3d35ec3f13b7ffb8993a99\"\u003e\u003ccode\u003e93aacec\u003c/code\u003e\u003c/a\u003e Optimize Sequence.padd for horizontal sequences (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/2a1fcb4ae4d684f9c4365a3b36a883713df5418c\"\u003e\u003ccode\u003e2a1fcb4\u003c/code\u003e\u003c/a\u003e bugfix timeout=1 for some \u0026quot;automatic response\u0026quot; queries (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/1acebcdf0546d3dacbc7e0db5f27cfc737034f66\"\u003e\u003ccode\u003e1acebcd\u003c/code\u003e\u003c/a\u003e syntax update to 3.7 (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/496071bdd74eae7372d796048622af8b2ec93884\"\u003e\u003ccode\u003e496071b\u003c/code\u003e\u003c/a\u003e remove duplicate changelog entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/7cfd2992df8d8d6ebdbbe1f334e0df36750642e1\"\u003e\u003ccode\u003e7cfd299\u003c/code\u003e\u003c/a\u003e Set version for next release, 1.23 (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/316\"\u003e#316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/d5107613d7f43544b28f54f8af40aca59b13bcc8\"\u003e\u003ccode\u003ed510761\u003c/code\u003e\u003c/a\u003e Set default keyword argument timeout of 1 for get_dec_mode, get_location, get...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/fda1759d085b6fa185862d3ec7f368af489c5e2c\"\u003e\u003ccode\u003efda1759\u003c/code\u003e\u003c/a\u003e Modifiers/Keyboard+kitty, Dec Private Modes+Mouse, Sixel, XTVersion (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jquast/blessed/compare/1.22.0...1.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django` from 4.2.25 to 5.2.9\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/c14b756185c88f7f2eb745ff061f3c221fea9de7\"\u003e\u003ccode\u003ec14b756\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.9 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/99e7d22f55497278d0bcb2e15e72ef532e62a31d\"\u003e\u003ccode\u003e99e7d22\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64460 -- Corrected quadratic inner text accumulation i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/479415ce5249bcdebeb6570c72df2a87f45a7bbf\"\u003e\u003ccode\u003e479415c\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-13372 -- Protected FilteredRelation against SQL inject...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/da1dfe64c821ba03ca7b0c936184cca1ad641316\"\u003e\u003ccode\u003eda1dfe6\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36712\"\u003e#36712\u003c/a\u003e -- Evaluated type annotations lazily in template tag reg...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/e2ddec431395330b423ef193548f374b5c2f395e\"\u003e\u003ccode\u003ee2ddec4\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs \u003ca href=\"https://redirect.github.com/django/django/issues/36743\"\u003e#36743\u003c/a\u003e -- Corrected docstring for DisallowedRedirect.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/b83ee616c683c5a5879a176a2bbb84cb715a92d5\"\u003e\u003ccode\u003eb83ee61\u003c/code\u003e\u003c/a\u003e [5.2.x] Closed temporary files in OverwritingStorageTests.test_save_overwrite...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/645dc99ab472b9152ccc483d7bbf4eca090da253\"\u003e\u003ccode\u003e645dc99\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs \u003ca href=\"https://redirect.github.com/django/django/issues/35535\"\u003e#35535\u003c/a\u003e -- Used intended decorator in test_simple_block_tag_paren...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/85586052e8d1d9f160b9f1b351e61a787a8e4bed\"\u003e\u003ccode\u003e8558605\u003c/code\u003e\u003c/a\u003e [5.2.x] Added link to Python Pickle documentation in docs/topics/cache.txt.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/de1dc3a87427475590d8efe10f3f627397524fca\"\u003e\u003ccode\u003ede1dc3a\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed outdated redis-py link in cache docs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ee92d41f562a229ae6c0e6f625d34e7e9ffdc0bb\"\u003e\u003ccode\u003eee92d41\u003c/code\u003e\u003c/a\u003e [5.2.x] Highlighted community package upgrade utilities in docs/howto/upgrade...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/4.2.25...5.2.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-allauth[mfa,openid,saml,socialaccount]` from 65.12.1 to 65.13.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-dbbackup` from 5.0.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Archmonger/django-dbbackup/releases\"\u003edjango-dbbackup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTo prevent accidental media exports, this package will now generate an exception if utilizing the legacy \u003ccode\u003eDBBACKUP_STORAGE\u003c/code\u003e or \u003ccode\u003eDBBACKUP_STORAGE_OPTIONS\u003c/code\u003e settings. These settings have been removed in favor of using Django's built-in \u003ccode\u003eSTORAGES\u003c/code\u003e setting. Please refer to the documentation for more information on how to migrate your configuration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Archmonger/django-dbbackup/blob/master/CHANGELOG.md\"\u003edjango-dbbackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[5.0.1] - 2025-11-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTo prevent accidental media exports, this package will now generate an exception if utilizing the legacy \u003ccode\u003eDBBACKUP_STORAGE\u003c/code\u003e or \u003ccode\u003eDBBACKUP_STORAGE_OPTIONS\u003c/code\u003e settings. These settings have been removed in favor of using Django's built-in \u003ccode\u003eSTORAGES\u003c/code\u003e setting. Please refer to the documentation for more information on how to migrate your configuration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Archmonger/django-dbbackup/commit/0ed283d9ec2f6974b94829f273ebcac534738738\"\u003e\u003ccode\u003e0ed283d\u003c/code\u003e\u003c/a\u003e v5.0.1 (fix \u003ca href=\"https://redirect.github.com/Archmonger/django-dbbackup/issues/645\"\u003e#645\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/Archmonger/django-dbbackup/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Archmonger/django-dbbackup/commit/c1ae4a9a80b1251b13f8d0f483b0e658b63788fe\"\u003e\u003ccode\u003ec1ae4a9\u003c/code\u003e\u003c/a\u003e Indicate that STORAGES configuration may have more keys (\u003ca href=\"https://redirect.github.com/Archmonger/django-dbbackup/issues/640\"\u003e#640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Archmonger/django-dbbackup/commit/543a7e009f14fef3db0cf8adf7937c02cf285125\"\u003e\u003ccode\u003e543a7e0\u003c/code\u003e\u003c/a\u003e Update README.md badges (\u003ca href=\"https://redirect.github.com/Archmonger/django-dbbackup/issues/638\"\u003e#638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Archmonger/django-dbbackup/compare/5.0.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-filter` from 25.1 to 25.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst\"\u003edjango-filter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.2 (2025-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded testing for Django 6.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Django \u0026lt;5.2 LTS\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/17ec565554bea4119ad74d2ffccdfb9740d9845b\"\u003e\u003ccode\u003e17ec565\u003c/code\u003e\u003c/a\u003e Bumped version for 25.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/9b4b8fdbfe84d471b2e69b7b28faacdd0dca2661\"\u003e\u003ccode\u003e9b4b8fd\u003c/code\u003e\u003c/a\u003e Updated testing for Django 6.0. (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1730\"\u003e#1730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/1b07b3e4c22354af31f3dcbaf4337566d7803fd4\"\u003e\u003ccode\u003e1b07b3e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/27a116864880a503b869c87a61e3e3ee597dae42\"\u003e\u003ccode\u003e27a1168\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7f59b6f092dadee749540a93c760f84fe5e08b9f\"\u003e\u003ccode\u003e7f59b6f\u003c/code\u003e\u003c/a\u003e Add drf as optional dependencies (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1724\"\u003e#1724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/635343ec55c9928bfa297314711df77fa83ff6c7\"\u003e\u003ccode\u003e635343e\u003c/code\u003e\u003c/a\u003e Add reference anchors to filter types to facilitate intersphinx refs (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1706\"\u003e#1706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7b3176e2ea05a42f2684296733004579f6dcece5\"\u003e\u003ccode\u003e7b3176e\u003c/code\u003e\u003c/a\u003e Document steps for postgres full text search (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1704\"\u003e#1704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carltongibson/django-filter/compare/25.1...25.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-flags` from 5.0.14 to 5.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cfpb/django-flags/releases\"\u003edjango-flags's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.13, drop support for \u0026lt; 3.10 by \u003ca href=\"https://github.com/willbarton\"\u003e\u003ccode\u003e@​willbarton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/cfpb/django-flags/pull/135\"\u003ecfpb/django-flags#135\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/cfpb/django-flags/compare/5.0.14...5.1.0\"\u003ehttps://github.com/cfpb/django-flags/compare/5.0.14...5.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cfpb/django-flags/blob/main/docs/releasenotes.md\"\u003edjango-flags's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.0\u003c/h2\u003e\n\u003ch3\u003eWhat's new?\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.13, removed support for Python \u0026lt; 3.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfpb/django-flags/commit/d0dd3478f5654befa0e9fdb08736065112b38bb7\"\u003e\u003ccode\u003ed0dd347\u003c/code\u003e\u003c/a\u003e Update release notes for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfpb/django-flags/commit/1a39acf1cd4284277810996c43845ea9d0b014fc\"\u003e\u003ccode\u003e1a39acf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cfpb/django-flags/issues/135\"\u003e#135\u003c/a\u003e from cfpb/py313\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfpb/django-flags/commit/8bb2db5674b2fa723216b41015d74ce046a5fe4a\"\u003e\u003ccode\u003e8bb2db5\u003c/code\u003e\u003c/a\u003e Support Python 3.13, drop support for \u0026lt; 3.10\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cfpb/django-flags/compare/5.0.14...5.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-markdownify` from 0.9.5 to 0.9.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/f40a6fa93095c89d8db51a3def0a9888c59f7583\"\u003e\u003ccode\u003ef40a6fa\u003c/code\u003e\u003c/a\u003e Fix setup.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/f62366f45a9a0b829eeb6fa40a7f7de003906653\"\u003e\u003ccode\u003ef62366f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/67\"\u003e#67\u003c/a\u003e from erwinmatijsen/v0.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/0c9e8884d6ca87b721a22dd0033f967ed781f7f6\"\u003e\u003ccode\u003e0c9e888\u003c/code\u003e\u003c/a\u003e Update dependencies, drop support for Python 3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/fd9cb8b29f0454bc2bfd80b9942e2d307cfe13cf\"\u003e\u003ccode\u003efd9cb8b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/65\"\u003e#65\u003c/a\u003e from erwinmatijsen/dependabot/pip/docs/source/urllib3-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/fc9611856920742f51c91f131903d578234bda0a\"\u003e\u003ccode\u003efc96118\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.3.0 to 2.6.0 in /docs/source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/b2bce15e0ac3b4ea71a280cc0520aebd7d48c4c1\"\u003e\u003ccode\u003eb2bce15\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/62\"\u003e#62\u003c/a\u003e from erwinmatijsen/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/45c98e512d2b68cb02508d69425a8ac3351bb209\"\u003e\u003ccode\u003e45c98e5\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/81a18288b46e5535bd1d578fd5e3a6be502128b9\"\u003e\u003ccode\u003e81a1828\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:erwinmatijsen/django-markdownify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/78f618f36a0f1400164070bc340f560566d2b387\"\u003e\u003ccode\u003e78f618f\u003c/code\u003e\u003c/a\u003e Update certifi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/df0370bc973dad07c3d9bc4fc43f76c825f0cd67\"\u003e\u003ccode\u003edf0370b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/59\"\u003e#59\u003c/a\u003e from erwinmatijsen/\u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/56\"\u003egh-56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/compare/0.9.5...0.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-otp` from 1.3.0 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-otp/django-otp/blob/master/CHANGES.rst\"\u003edjango-otp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 - October 25, 2025 - Spanish update\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#182](https://github.com/django-otp/django-otp/issues/182)\u003c/code\u003e_: Correct missing Spanish translations\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#181](https://github.com/django-otp/django-otp/issues/181)\u003c/code\u003e_: Wrong :rtype: in StaticToken.random_token docstring\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003e#181\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003edjango-otp/django-otp#181\u003c/a\u003e\n.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/182\"\u003e#182\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/182\"\u003edjango-otp/django-otp#182\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.2 - October 21, 2025 - Cleanup\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#179](https://github.com/django-otp/django-otp/issues/179)\u003c/code\u003e_: Add missing gettext strings\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#180](https://github.com/django-otp/django-otp/issues/180)\u003c/code\u003e_: Remove tests from wheels\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/179\"\u003e#179\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/179\"\u003edjango-otp/django-otp#179\u003c/a\u003e\n.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/180\"\u003e#180\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/180\"\u003edjango-otp/django-otp#180\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.1 - July 08, 2025 - Small improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow a {token} placeholder in :setting:\u003ccode\u003eOTP_EMAIL_SUBJECT\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 - April 02, 2025 - Django 5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate test matrix for Django 5.2.\u003c/li\u003e\n\u003cli\u003eRemove support for Django 3.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.4 - September 06, 2024 - Ignore proxy models when enumerating device classes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#161](https://github.com/django-otp/django-otp/issues/161)\u003c/code\u003e_: Discard proxied models when iterating device models\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/161\"\u003e#161\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/161\"\u003edjango-otp/django-otp#161\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.5.3 - September 04, 2024 - Small admin template fix\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#158](https://github.com/django-otp/django-otp/issues/158)\u003c/code\u003e_: Remove JS focus() in admin login template\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/158\"\u003e#158\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/158\"\u003edjango-otp/django-otp#158\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ev1.5.2 - August 18, 2024 - otp_verification_failed signal\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/38b7ebabd7b4817aec92f884d448eeb462e82108\"\u003e\u003ccode\u003e38b7eba\u003c/code\u003e\u003c/a\u003e Version 1.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/b9026d7025da45b0144c99e91b5286c734448012\"\u003e\u003ccode\u003eb9026d7\u003c/code\u003e\u003c/a\u003e Correct Missing Spanish Translations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/ae18ba95bd03534e15583d456572f86ea2f41442\"\u003e\u003ccode\u003eae18ba9\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003e#181\u003c/a\u003e: misdocumented return type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/c9eef89240985293e0c9f197d0257a5352cfb62d\"\u003e\u003ccode\u003ec9eef89\u003c/code\u003e\u003c/a\u003e Version 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/b23eca0111d0ae980f29cbfa7243303bb676e10d\"\u003e\u003ccode\u003eb23eca0\u003c/code\u003e\u003c/a\u003e Removes tests from wheels (\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/180\"\u003e#180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/2ff35962b4ace4b07ddaf59255419ba12165420c\"\u003e\u003ccode\u003e2ff3596\u003c/code\u003e\u003c/a\u003e Adds missing gettext strings (\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/179\"\u003e#179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/f89ea1bae299c09f535c653e79136a98d9172558\"\u003e\u003ccode\u003ef89ea1b\u003c/code\u003e\u003c/a\u003e Version 1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/c1704692e889307aedaa2b1d766ffdb9911328de\"\u003e\u003ccode\u003ec170469\u003c/code\u003e\u003c/a\u003e Clean up OTP_EMAIL_SUBJECT improvement.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/ff845a7371527e8994a7fd1513cb9d49f5c2b5c8\"\u003e\u003ccode\u003eff845a7\u003c/code\u003e\u003c/a\u003e Adding {token} placeholder for email subject\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/6e9ae695c57676cf37d8d61a635c9d7b396aa727\"\u003e\u003ccode\u003e6e9ae69\u003c/code\u003e\u003c/a\u003e Version 1.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-otp/django-otp/compare/v1.3.0...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-q2` from 1.8.0 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GDay/django-q2/releases\"\u003edjango-q2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix to work with redis-py \u0026gt; 5 by \u003ca href=\"https://github.com/ltworf\"\u003e\u003ccode\u003e@​ltworf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/282\"\u003edjango-q2/django-q2#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDjango 6.0 support by \u003ca href=\"https://github.com/spookylukey\"\u003e\u003ccode\u003e@​spookylukey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/307\"\u003edjango-q2/django-q2#307\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ltworf\"\u003e\u003ccode\u003e@​ltworf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/282\"\u003edjango-q2/django-q2#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spookylukey\"\u003e\u003ccode\u003e@​spookylukey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/307\"\u003edjango-q2/django-q2#307\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-q2/django-q2/compare/v1.8.0...v1.9.0\"\u003ehttps://github.com/django-q2/django-q2/compare/v1.8.0...v1.9.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-q2/django-q2/blob/master/CHANGELOG.md\"\u003edjango-q2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/django-q2/django-q2/tree/v1.9.0\"\u003ev1.9.0\u003c/a\u003e (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDjango 6.0 support \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/307\"\u003edjango-q2/django-q2#307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix to make tests work with redis-py \u0026gt; 5 \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/282\"\u003edjango-q2/django-q2#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-q2/django-q2/commit/386e04171b9c5e42af55ffe38ed4006e3b95be74\"\u003e\u003ccode\u003e386e041\u003c/code\u003e\u003c/a\u003e Release v1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-q2/django-q2/commit/00545356244ab967870d02ef7f1b4c837703ca8d\"\u003e\u003ccode\u003e0054535\u003c/code\u003e\u003c/a\u003e Django 6.0 support (\u003ca href=\"https://redirect.github.com/GDay/django-q2/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-q2/django-q2/commit/09e65da5b34b9de152905dec42336d27c8b2116d\"\u003e\u003ccode\u003e09e65da\u003c/code\u003e\u003c/a\u003e Fix to make tests work with redis-py \u0026gt; 5 (\u003ca href=\"https://redirect.github.com/GDay/django-q2/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/GDay/django-q2/compare/v1.8.0...v1.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `docutils` from 0.22.2 to 0.22.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rtfd/recommonmark/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `drf-spectacular` from 0.28.0 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tfranzel/drf-spectacular/releases\"\u003edrf-spectacular's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.29.0\u003c/h2\u003e\n\u003cp\u003eThank you for all the patience with the release!\u003c/p\u003e\n\u003ch2\u003eImportant notes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFinally fixed the memory leak thanks to \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnother performance improvement is the usage of the C versions of yaml, if available.\u003c/li\u003e\n\u003cli\u003eApart from that, there are a lot of small improvements and bugfixes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePRs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLink to \u003ccode\u003eSerializerMethod\u003c/code\u003e docs by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1377\"\u003etfranzel/drf-spectacular#1377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument Django 5.1 support in README by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1376\"\u003etfranzel/drf-spectacular#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.11 to 4.2.18 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1366\"\u003etfranzel/drf-spectacular#1366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to lazily annotate a recursive SerializerMethod by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1384\"\u003etfranzel/drf-spectacular#1384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix docs compile issue and update some old code by \u003ca href=\"https://github.com/mikemanger\"\u003e\u003ccode\u003e@​mikemanger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1389\"\u003etfranzel/drf-spectacular#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd allauth's DRF token auth \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1401\"\u003e#1401\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1404\"\u003etfranzel/drf-spectacular#1404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.18 to 4.2.20 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1403\"\u003etfranzel/drf-spectacular#1403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting callable for ENUM_NAME_OVERRIDES by \u003ca href=\"https://github.com/q0w\"\u003e\u003ccode\u003e@​q0w\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1406\"\u003etfranzel/drf-spectacular#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct port mapping for the container in README by \u003ca href=\"https://github.com/mbienkowsk\"\u003e\u003ccode\u003e@​mbienkowsk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1408\"\u003etfranzel/drf-spectacular#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix python 3.11 slice index by \u003ca href=\"https://github.com/yegorLitvinov\"\u003e\u003ccode\u003e@​yegorLitvinov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1411\"\u003etfranzel/drf-spectacular#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Django REST framework 3.16 support by \u003ca href=\"https://github.com/pauloxnet\"\u003e\u003ccode\u003e@​pauloxnet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1420\"\u003etfranzel/drf-spectacular#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixes prefix estimation on windows by \u003ca href=\"https://github.com/originell\"\u003e\u003ccode\u003e@​originell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1440\"\u003etfranzel/drf-spectacular#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.20 to 4.2.24 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1451\"\u003etfranzel/drf-spectacular#1451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sort list to produce same hash by \u003ca href=\"https://github.com/florianvazelle\"\u003e\u003ccode\u003e@​florianvazelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1433\"\u003etfranzel/drf-spectacular#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typing.Generic to default lib_doc_excludes by \u003ca href=\"https://github.com/maxhowald\"\u003e\u003ccode\u003e@​maxhowald\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1429\"\u003etfranzel/drf-spectacular#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DecimalField with decimal_places and max_digits equal. by \u003ca href=\"https://github.com/keter2002\"\u003e\u003ccode\u003e@​keter2002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1457\"\u003etfranzel/drf-spectacular#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix default for array types by \u003ca href=\"https://github.com/TheSuperiorStanislav\"\u003e\u003ccode\u003e@​TheSuperiorStanislav\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1437\"\u003etfranzel/drf-spectacular#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.24 to 4.2.25 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1458\"\u003etfranzel/drf-spectacular#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenApiViewExtension\u003c/code\u003e not providing view instance under \u003ccode\u003eself.target\u003c/code\u003e by \u003ca href=\"https://github.com/astro-stan\"\u003e\u003ccode\u003e@​astro-stan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1405\"\u003etfranzel/drf-spectacular#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance bug report template with instructions for better clarity. by \u003ca href=\"https://github.com/Antoliny0919\"\u003e\u003ccode\u003e@​Antoliny0919\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1357\"\u003etfranzel/drf-spectacular#1357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd option to overwrite serializer description \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1463\"\u003e#1463\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1464\"\u003etfranzel/drf-spectacular#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove to_filter_name support for django_filter by \u003ca href=\"https://github.com/matwey\"\u003e\u003ccode\u003e@​matwey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1446\"\u003etfranzel/drf-spectacular#1446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: camelize tuples/fixed length array by \u003ca href=\"https://github.com/CharString\"\u003e\u003ccode\u003e@​CharString\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1432\"\u003etfranzel/drf-spectacular#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix memory leak by \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1416\"\u003etfranzel/drf-spectacular#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add check condition, that serializer meta has model attribute by \u003ca href=\"https://github.com/kritohanzo\"\u003e\u003ccode\u003e@​kritohanzo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1397\"\u003etfranzel/drf-spectacular#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[django-filter] Add null_label if set in ChoiceFilter by \u003ca href=\"https://github.com/epou\"\u003e\u003ccode\u003e@​epou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1450\"\u003etfranzel/drf-spectacular#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd l18n handling for Decimal field \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1466\"\u003e#1466\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1467\"\u003etfranzel/drf-spectacular#1467\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikemanger\"\u003e\u003ccode\u003e@​mikemanger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1389\"\u003etfranzel/drf-spectacular#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mbienkowsk\"\u003e\u003ccode\u003e@​mbienkowsk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1408\"\u003etfranzel/drf-spectacular#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yegorLitvinov\"\u003e\u003ccode\u003e@​yegorLitvinov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1411\"\u003etfranzel/drf-spectacular#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pauloxnet\"\u003e\u003ccode\u003e@​pauloxnet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1420\"\u003etfranzel/drf-spectacular#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/originell\"\u003e\u003ccode\u003e@​originell\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1440\"\u003etfranzel/drf-spectacular#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/florianvazelle\"\u003e\u003ccode\u003e@​florianvazelle\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1433\"\u003etfranzel/drf-spectacular#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maxhowald\"\u003e\u003ccode\u003e@​maxhowald\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1429\"\u003etfranzel/drf-spectacular#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keter2002\"\u003e\u003ccode\u003e@​keter2002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1457\"\u003etfranzel/drf-spectacular#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheSuperiorStanislav\"\u003e\u003ccode\u003e@​TheSuperiorStanislav\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1437\"\u003etfranzel/drf-spectacular#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astro-stan\"\u003e\u003ccode\u003e@​astro-stan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1405\"\u003etfranzel/drf-spectacular#1405\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tfranzel/drf-spectacular/blob/master/CHANGELOG.rst\"\u003edrf-spectacular's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.29.0 (2025-11-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd l18n handling for Decimal field \u003ccode\u003e[#1466](https://github.com/tfranzel/drf-spectacular/issues/1466) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1466\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eFix LogoutSerializer for JWT/dj_rest_auth \u003ccode\u003e[#1392](https://github.com/tfranzel/drf-spectacular/issues/1392) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1392\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003efix: support token blacklist feature in rest_auth [Bart van Andel]\u003c/li\u003e\n\u003cli\u003e[django-filter] Add null_label if set in ChoiceFilter (\u003ccode\u003e[#1450](https://github.com/tfranzel/drf-spectacular/issues/1450) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1450\u0026gt;\u003c/code\u003e_) [Enric Pou]\u003c/li\u003e\n\u003cli\u003efix: camelize tuples/fixed length array (\u003ccode\u003e[#1432](https://github.com/tfranzel/drf-spectacular/issues/1432) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1432\u0026gt;\u003c/code\u003e_) [Chris Wesseling]\u003c/li\u003e\n\u003cli\u003eFix items:False case in enum hook \u003ccode\u003e[#1432](https://github.com/tfranzel/drf-spectacular/issues/1432) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1432\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdd option to overwrite serializer description \u003ccode\u003e[#1463](https://github.com/tfranzel/drf-spec...\n\n_Description has been truncated_","html_url":"https://github.com/invenhost/InvenTree/pull/277","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/invenhost%2FInvenTree/issues/277","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/277/packages"},{"uuid":"3707991840","node_id":"PR_kwDOQaoXUc63w_pr","number":18,"state":"open","title":"⬆️ [Security](deps): Bump the django group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["issouf14-DEV"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T20:56:50.000Z","updated_at":"2025-12-08T20:56:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆️ [Security](deps): Bump","group_name":"django","update_count":4,"packages":[{"name":"django-csp","old_version":"3.8","new_version":"4.0","repository_url":"https://github.com/mozilla/django-csp"},{"name":"django-permissions-policy","old_version":"4.20.0","new_version":"4.28.0","repository_url":"https://github.com/adamchainz/django-permissions-policy"},{"name":"django-extensions","old_version":"3.2.3","new_version":"4.1","repository_url":"https://github.com/django-extensions/django-extensions"},{"name":"django-structlog","old_version":"8.1.0","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"}],"path":null,"ecosystem":"pip"},"body":"Bumps the django group with 4 updates in the / directory: [django-csp](https://github.com/mozilla/django-csp), [django-permissions-policy](https://github.com/adamchainz/django-permissions-policy), [django-extensions](https://github.com/django-extensions/django-extensions) and [django-structlog](https://github.com/jrobichaud/django-structlog).\n\nUpdates `django-csp` from 3.8 to 4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mozilla/django-csp/releases\"\u003edjango-csp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0\u003c/h2\u003e\n\u003cp\u003eThis release contains several breaking changes. For a complete migration guide, see:\n\u003ca href=\"https://django-csp.readthedocs.io/en/latest/migration-guide.html\"\u003ehttps://django-csp.readthedocs.io/en/latest/migration-guide.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eConfiguration Format\u003c/strong\u003e: Moved to dict-based configuration which allows for setting policies for\nboth enforced and report-only. Instead of using individual settings with \u003ccode\u003eCSP_\u003c/code\u003e prefixes, you now\nuse dictionaries called \u003ccode\u003eCONTENT_SECURITY_POLICY\u003c/code\u003e and/or \u003ccode\u003eCONTENT_SECURITY_POLICY_REPORT_ONLY\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/mozilla/django-csp/pull/219\"\u003e#219\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eYou can use Django's check command to automatically identify existing CSP settings and generate a\ntemplate for the new configuration format:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython manage.py check\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis will detect your old \u003ccode\u003eCSP_\u003c/code\u003e prefixed settings and output a draft of the new dict-based\nconfiguration, giving you a starting point for migration.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eExample:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eChange from:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eCSP_DEFAULT_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;*.example.com\u0026quot;]\nCSP_SCRIPT_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;js.cdn.com/example/\u0026quot;]\nCSP_IMG_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;data:\u0026quot;, \u0026quot;example.com\u0026quot;]\nCSP_EXCLUDE_URL_PREFIXES = [\u0026quot;/admin\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eto:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom csp.constants import SELF\n\u003cp\u003eCONTENT_SECURITY_POLICY = {\n\u0026quot;DIRECTIVES\u0026quot;: {\n\u0026quot;default-src\u0026quot;: [SELF, \u0026quot;*.example.com\u0026quot;],\n\u0026quot;script-src\u0026quot;: [SELF, \u0026quot;js.cdn.com/example/\u0026quot;],\n\u0026quot;img-src\u0026quot;: [SELF, \u0026quot;data:\u0026quot;, \u0026quot;example.com\u0026quot;],\n},\n\u0026quot;EXCLUDE_URL_PREFIXES\u0026quot;: [\u0026quot;/admin\u0026quot;],\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eNonce Configuration\u003c/strong\u003e: Switched from specifying directives that should contain nonces as a\nseparate list to using a sentinel \u003ccode\u003eNONCE\u003c/code\u003e value in the directive itself.\n(\u003ca href=\"https://redirect.github.com/mozilla/django-csp/pull/223\"\u003e#223\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eExample:\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mozilla/django-csp/blob/main/CHANGES.md\"\u003edjango-csp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.0\u003c/h1\u003e\n\u003cp\u003eThis release contains several breaking changes. For a complete migration guide, see:\n\u003ca href=\"https://django-csp.readthedocs.io/en/latest/migration-guide.html\"\u003ehttps://django-csp.readthedocs.io/en/latest/migration-guide.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eConfiguration Format\u003c/strong\u003e: Moved to dict-based configuration which allows for setting policies for\nboth enforced and report-only. Instead of using individual settings with \u003ccode\u003eCSP_\u003c/code\u003e prefixes, you now\nuse dictionaries called \u003ccode\u003eCONTENT_SECURITY_POLICY\u003c/code\u003e and/or \u003ccode\u003eCONTENT_SECURITY_POLICY_REPORT_ONLY\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/mozilla/django-csp/pull/219\"\u003e#219\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eYou can use Django's check command to automatically identify existing CSP settings and generate a\ntemplate for the new configuration format:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython manage.py check\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis will detect your old \u003ccode\u003eCSP_\u003c/code\u003e prefixed settings and output a draft of the new dict-based\nconfiguration, giving you a starting point for migration.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eExample:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eChange from:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eCSP_DEFAULT_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;*.example.com\u0026quot;]\nCSP_SCRIPT_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;js.cdn.com/example/\u0026quot;]\nCSP_IMG_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;data:\u0026quot;, \u0026quot;example.com\u0026quot;]\nCSP_EXCLUDE_URL_PREFIXES = [\u0026quot;/admin\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eto:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom csp.constants import SELF\n\u003cp\u003eCONTENT_SECURITY_POLICY = {\n\u0026quot;DIRECTIVES\u0026quot;: {\n\u0026quot;default-src\u0026quot;: [SELF, \u0026quot;*.example.com\u0026quot;],\n\u0026quot;script-src\u0026quot;: [SELF, \u0026quot;js.cdn.com/example/\u0026quot;],\n\u0026quot;img-src\u0026quot;: [SELF, \u0026quot;data:\u0026quot;, \u0026quot;example.com\u0026quot;],\n},\n\u0026quot;EXCLUDE_URL_PREFIXES\u0026quot;: [\u0026quot;/admin\u0026quot;],\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eNonce Configuration\u003c/strong\u003e: Switched from specifying directives that should contain nonces as a\nseparate list to using a sentinel \u003ccode\u003eNONCE\u003c/code\u003e value in the directive itself.\n(\u003ca href=\"https://redirect.github.com/mozilla/django-csp/pull/223\"\u003e#223\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/6d5cc6c00e90651447ee555f948231bc21998b3e\"\u003e\u003ccode\u003e6d5cc6c\u003c/code\u003e\u003c/a\u003e Prep for 4.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/9d06e2579ef3765dd47721db27417b25a00378d0\"\u003e\u003ccode\u003e9d06e25\u003c/code\u003e\u003c/a\u003e docs: Update configuration exclude info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/d6bff9fabef65ee3d9efe9bd764450b0a6f2f0ae\"\u003e\u003ccode\u003ed6bff9f\u003c/code\u003e\u003c/a\u003e Prep for 4.0b7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/395d928f701a128798dc400f6dd7a61015a25f57\"\u003e\u003ccode\u003e395d928\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eCSPMiddlewareAlwaysGenerateNonce\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/4054a7b1535d5ebe854d114dab803cd6fbeb13a0\"\u003e\u003ccode\u003e4054a7b\u003c/code\u003e\u003c/a\u003e Prepare for 4.0b6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/3553412492c882fe98fc68c26fb020f8eb31a9b9\"\u003e\u003ccode\u003e3553412\u003c/code\u003e\u003c/a\u003e Fix CSPMiddlewareAlwaysGenerateNonce\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/970be2661b4ce19140e2cd2b194cce8e166c8175\"\u003e\u003ccode\u003e970be26\u003c/code\u003e\u003c/a\u003e Prep for django-csp==4.0b5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/834e628a146f68bf8cafdf7eac1fb5f58266392f\"\u003e\u003ccode\u003e834e628\u003c/code\u003e\u003c/a\u003e Reformat with pyproject-fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/580c1fc00b092c5dd051d271405cf75fb5aa0e4b\"\u003e\u003ccode\u003e580c1fc\u003c/code\u003e\u003c/a\u003e Upgrade ReadTheDocs environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/40c89d4535a9b4a88f0ee78c386ccf518ac770ee\"\u003e\u003ccode\u003e40c89d4\u003c/code\u003e\u003c/a\u003e Expand tests for nonce usage in templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mozilla/django-csp/compare/3.8...v4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-permissions-policy` from 4.20.0 to 4.28.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/adamchainz/django-permissions-policy/blob/main/CHANGELOG.rst\"\u003edjango-permissions-policy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.28.0 (2025-09-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Django 6.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.27.0 (2025-09-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Python 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated to the latest set of features from Chrome 141 dev.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earia-notify\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage-model\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elocal-network-access\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eon-device-speech-recognition\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eweb-app-installation\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.26.0 (2025-04-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated to the latest set of features from Chrome 137 dev.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003edevice-attributes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage-detector\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erewriter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esummarizer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etranslator\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewriter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.25.0 (2025-02-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Django 5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.24.0 (2025-01-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated to the latest set of features from Chrome 133 dev.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003edeferred-fetch-minimal\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/1478f2d9dfed8fa2d58b614825371feb382453a3\"\u003e\u003ccode\u003e1478f2d\u003c/code\u003e\u003c/a\u003e Version 4.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/156c93775148ba604194ace1d4fe4b70943ace1f\"\u003e\u003ccode\u003e156c937\u003c/code\u003e\u003c/a\u003e Correct testing of Django 6.0 (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/516\"\u003e#516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/24c32546b201f7cca5cec8dc83912983b9edad20\"\u003e\u003ccode\u003e24c3254\u003c/code\u003e\u003c/a\u003e Support Django 6.0 (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/5ebaf2bf1a0d3c6d0ee22e493e2637e23e22aa21\"\u003e\u003ccode\u003e5ebaf2b\u003c/code\u003e\u003c/a\u003e Version 4.27.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/6978994090df3f29746682e4e4b4c040b2449051\"\u003e\u003ccode\u003e6978994\u003c/code\u003e\u003c/a\u003e Update list of features for Chrome 141 dev (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/514\"\u003e#514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/346e32b30f8618cb11b91ef59382943d6cbfa650\"\u003e\u003ccode\u003e346e32b\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/8985353fbeca065f38dccaf3dd9d926c32e1b62e\"\u003e\u003ccode\u003e8985353\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/512\"\u003e#512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/3694aa0b72c978370adaca46c9fe48a0342272ac\"\u003e\u003ccode\u003e3694aa0\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/511\"\u003e#511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/07d6da54e600a9082aa4e7d99663286031842d13\"\u003e\u003ccode\u003e07d6da5\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/9b8db7b6552171b82c1992138ef31030b9e8b14a\"\u003e\u003ccode\u003e9b8db7b\u003c/code\u003e\u003c/a\u003e Use uvx to run tox on GitHub Actions (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/adamchainz/django-permissions-policy/compare/4.20.0...4.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-extensions` from 3.2.3 to 4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-extensions/django-extensions/releases\"\u003edjango-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd: show_permissions command (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1920\"\u003e#1920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, style per app (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: JSONField, bulk_update's (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1924\"\u003e#1924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ahmad88me\"\u003e\u003ccode\u003e@​ahmad88me\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1848\"\u003edjango-extensions/django-extensions#1848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-extensions/django-extensions/compare/4.0...4.1\"\u003ehttps://github.com/django-extensions/django-extensions/compare/4.0...4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprovement: Support for Python 3.12 and 3.13\u003c/li\u003e\n\u003cli\u003eImprovement: Support for Django 5.x\u003c/li\u003e\n\u003cli\u003eImprovement: Switch from setup.{cfg,py} to pyproject.toml\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Add option to display field choices in graph_models (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1854\"\u003e#1854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Add webp support (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Support for ordering edges on pydot/dot/graphviz (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1914\"\u003e#1914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: mail_debug, Update mail_debug command to use aiosmtpd (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1880\"\u003e#1880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: shell_plus, Improve error message for missing import (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1898\"\u003e#1898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: reset_db, Add reset_db support for django_tenants (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1855\"\u003e#1855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: docs, various improvements (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1852\"\u003e#1852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1888\"\u003e#1888\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1882\"\u003e#1882\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1901\"\u003e#1901\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1912\"\u003e#1912\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: jobs, Handle non-package modules when looking for job definitions (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1887\"\u003e#1887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: Add django-prometheus DB backends support (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1800\"\u003e#1800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: Call post_command when the command raises an unhandled exception (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: sqldiff, do not consider ('serial', 'integer') nor ('bigserial', 'bigint') as a field-type-differ (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: shell_plus, Fix start up order and add history (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1869\"\u003e#1869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove pipchecker and associated tests (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1906\"\u003e#1906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFollowing Django's release numbering style more closely (see \u003ca href=\"https://docs.djangoproject.com/en/5.2/internals/release-process/\"\u003ehttps://docs.djangoproject.com/en/5.2/internals/release-process/\u003c/a\u003e )\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dimitrismistriotis\"\u003e\u003ccode\u003e@​dimitrismistriotis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1859\"\u003edjango-extensions/django-extensions#1859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/titouanc\"\u003e\u003ccode\u003e@​titouanc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1854\"\u003edjango-extensions/django-extensions#1854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dmwyatt\"\u003e\u003ccode\u003e@​dmwyatt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1872\"\u003edjango-extensions/django-extensions#1872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stianjensen\"\u003e\u003ccode\u003e@​stianjensen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1898\"\u003edjango-extensions/django-extensions#1898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PapaZ810\"\u003e\u003ccode\u003e@​PapaZ810\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1888\"\u003edjango-extensions/django-extensions#1888\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kviktor\"\u003e\u003ccode\u003e@​kviktor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1857\"\u003edjango-extensions/django-extensions#1857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aripollak\"\u003e\u003ccode\u003e@​aripollak\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1913\"\u003edjango-extensions/django-extensions#1913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flowgunso\"\u003e\u003ccode\u003e@​flowgunso\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1914\"\u003edjango-extensions/django-extensions#1914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anitahammer\"\u003e\u003ccode\u003e@​anitahammer\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1869\"\u003edjango-extensions/django-extensions#1869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nicolaspanel\"\u003e\u003ccode\u003e@​nicolaspanel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1867\"\u003edjango-extensions/django-extensions#1867\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yujinyuz\"\u003e\u003ccode\u003e@​yujinyuz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1855\"\u003edjango-extensions/django-extensions#1855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/soof-golan\"\u003e\u003ccode\u003e@​soof-golan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1852\"\u003edjango-extensions/django-extensions#1852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ghickman\"\u003e\u003ccode\u003e@​ghickman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1887\"\u003edjango-extensions/django-extensions#1887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud\"\u003e\u003ccode\u003e@​jrobichaud\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1837\"\u003edjango-extensions/django-extensions#1837\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-extensions/django-extensions/compare/3.2.3...4.0\"\u003ehttps://github.com/django-extensions/django-extensions/compare/3.2.3...4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.2.4b1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-extensions/django-extensions/blob/main/CHANGELOG.md\"\u003edjango-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd: show_permissions command (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1920\"\u003e#1920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, style per app (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: JSONField, bulk_update's (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1924\"\u003e#1924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprovement: Support for Python 3.12 and 3.13\u003c/li\u003e\n\u003cli\u003eImprovement: Support for Django 5.x\u003c/li\u003e\n\u003cli\u003eImprovement: Switch from setup.{cfg,py} to pyproject.toml\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Add option to display field choices in graph_models (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1854\"\u003e#1854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Add webp support (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Support for ordering edges on pydot/dot/graphviz (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1914\"\u003e#1914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: mail_debug, Update mail_debug command to use aiosmtpd (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1880\"\u003e#1880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: shell_plus, Improve error message for missing import (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1898\"\u003e#1898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: reset_db, Add reset_db support for django_tenants (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1855\"\u003e#1855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: docs, various improvements (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1852\"\u003e#1852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1888\"\u003e#1888\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1882\"\u003e#1882\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1901\"\u003e#1901\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1912\"\u003e#1912\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: jobs, Handle non-package modules when looking for job definitions (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1887\"\u003e#1887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: Add django-prometheus DB backends support (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1800\"\u003e#1800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: Call post_command when the command raises an unhandled exception (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: sqldiff, do not consider ('serial', 'integer') nor ('bigserial', 'bigint') as a \u003ccode\u003efield-type-differ\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: shell_plus, Fix start up order and add history (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1869\"\u003e#1869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove pipchecker and associated tests (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1906\"\u003e#1906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFollowing Django's release numbering style more closely (see \u003ca href=\"https://docs.djangoproject.com/en/5.2/internals/release-process/\"\u003ehttps://docs.djangoproject.com/en/5.2/internals/release-process/\u003c/a\u003e )\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/ad015513e5d8e8ee6ad748fca5f32ccf3fb3d5c5\"\u003e\u003ccode\u003ead01551\u003c/code\u003e\u003c/a\u003e v4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/2c3e914f1264c0a029b3b47b7425d0f68ce637ed\"\u003e\u003ccode\u003e2c3e914\u003c/code\u003e\u003c/a\u003e update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/fb5b2af1b6595ee126237c299acf242fcfee817e\"\u003e\u003ccode\u003efb5b2af\u003c/code\u003e\u003c/a\u003e ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/7e978d27b031843640f9204ff495738c46233d7f\"\u003e\u003ccode\u003e7e978d2\u003c/code\u003e\u003c/a\u003e graph_models style per app (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/067064ea0c6dec7cba1583447fe5fe1c706d5351\"\u003e\u003ccode\u003e067064e\u003c/code\u003e\u003c/a\u003e avoid trying to serialize expressions when serializing default values\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/a886068502474e70a2d68ff4634a15cc3366088d\"\u003e\u003ccode\u003ea886068\u003c/code\u003e\u003c/a\u003e update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/d824501cbc6d04a24a43ff5756b496f84093b225\"\u003e\u003ccode\u003ed824501\u003c/code\u003e\u003c/a\u003e Add show_permissions management command (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1920\"\u003e#1920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/934f93f53bdf6c6271ae1ddaee71bc9bf3364a0e\"\u003e\u003ccode\u003e934f93f\u003c/code\u003e\u003c/a\u003e bumped version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/c4577df5b69ec1ebcbe6bc64d7a5c20362f3a8fa\"\u003e\u003ccode\u003ec4577df\u003c/code\u003e\u003c/a\u003e v4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/7cdb43ab56a3b610b47680d8a2fe86b09d5913aa\"\u003e\u003ccode\u003e7cdb43a\u003c/code\u003e\u003c/a\u003e pyproject formatting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-extensions/django-extensions/compare/3.2.3...4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 8.1.0 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003ch2\u003e9.1.1 (April 7, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- fix \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata not working. See \u003ccode\u003e[#811](https://github.com/jrobichaud/django-structlog/issues/811) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/811\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.1.0 (April 4, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- new setting \u003ccode\u003eDJANGO_STRUCTLOG_IP_LOGGING_ENABLED\u003c/code\u003e (default \u003ccode\u003eTrue\u003c/code\u003e) to allow to disable ip binding. See \u003ccode\u003e[#803](https://github.com/jrobichaud/django-structlog/issues/803) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/803\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@dulguunpc \u0026lt;https://github.com/dulguunpc\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- add \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata. See \u003ccode\u003e[#796](https://github.com/jrobichaud/django-structlog/issues/796) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/796\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- \u003ccode\u003evary: Cookie\u003c/code\u003e was always set. See \u003ccode\u003e[#734](https://github.com/jrobichaud/django-structlog/issues/734) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/734\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@last-partizan \u0026lt;https://github.com/last-partizan\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOther:\u003c/em\u003e\n- add support of django 5.2 (just adding it to the test matrix, no code changes)\u003c/p\u003e\n\u003ch2\u003e9.0.1 (January 29, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- Fix exceptions not being propagated when using streaming response. See \u003ccode\u003e[#747](https://github.com/jrobichaud/django-structlog/issues/747) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/747\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@liambuchanan \u0026lt;https://github.com/liambuchanan\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.0.0 (November 26, 2024)\u003c/h2\u003e\n\u003cp\u003eSee: :ref:\u003ccode\u003eupgrade_9.0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add type definitions for the project. See \u003ccode\u003e[#697](https://github.com/jrobichaud/django-structlog/issues/697) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/697\u0026gt;\u003c/code\u003e_ and \u003ccode\u003e[#696](https://github.com/jrobichaud/django-structlog/issues/696) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/696\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@j00bar \u0026lt;https://github.com/j00bar\u0026gt;\u003c/code\u003e\u003c/em\u003e and \u003ccode\u003e@MaxDude132 \u0026lt;https://github.com/MaxDude132\u0026gt;\u003c/code\u003e_ for the review.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/8.1.0...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/issouf14-DEV/respira-backend/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/issouf14-DEV%2Frespira-backend/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"},{"uuid":"3680350954","node_id":"PR_kwDOEExChs62T-Ro","number":555,"state":"closed","title":"Bump the dependencies group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-26T10:53:58.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T10:35:17.000Z","updated_at":"2026-01-26T10:54:00.000Z","time_to_close":4839521,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":19,"packages":[{"name":"django","old_version":"5.2.7","new_version":"5.2.8","repository_url":"https://github.com/django/django"},{"name":"celery","old_version":"5.5.3","new_version":"5.6.0","repository_url":"https://github.com/celery/celery"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0"},{"name":"boto3","old_version":"1.40.52","new_version":"1.42.0","repository_url":"https://github.com/boto/boto3"},{"name":"sentry-sdk","old_version":"2.42.0","new_version":"2.46.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"google-api-python-client","old_version":"2.184.0","new_version":"2.187.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-auth","old_version":"2.41.1","new_version":"2.43.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.2.1","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"google-auth-oauthlib","old_version":"1.2.2","new_version":"1.2.3","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"faker","old_version":"37.11.0","new_version":"38.2.0","repository_url":"https://github.com/joke2k/faker"},{"name":"ipython","old_version":"9.6.0","new_version":"9.7.0","repository_url":"https://github.com/ipython/ipython"},{"name":"django-debug-toolbar","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/django-commons/django-debug-toolbar"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"django-stubs","old_version":"5.2.7","new_version":"5.2.8","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"djangorestframework-stubs","old_version":"3.16.4","new_version":"3.16.5","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"boto3-stubs","old_version":"1.40.52","new_version":"1.41.5","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"ruff","old_version":"0.14.0","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django](https://github.com/django/django) | `5.2.7` | `5.2.8` |\n| [celery](https://github.com/celery/celery) | `5.5.3` | `5.6.0` |\n| [django-structlog[celery]](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.40.52` | `1.42.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.42.0` | `2.46.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.184.0` | `2.187.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.41.1` | `2.43.0` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.2.1` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.2` | `1.2.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.1` |\n| [faker](https://github.com/joke2k/faker) | `37.11.0` | `38.2.0` |\n| [ipython](https://github.com/ipython/ipython) | `9.6.0` | `9.7.0` |\n| [django-debug-toolbar](https://github.com/django-commons/django-debug-toolbar) | `6.0.0` | `6.1.0` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [django-stubs](https://github.com/sponsors/typeddjango) | `5.2.7` | `5.2.8` |\n| [djangorestframework-stubs](https://github.com/sponsors/typeddjango) | `3.16.4` | `3.16.5` |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.40.52` | `1.41.5` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.0` | `0.14.7` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.0` |\n\n\nUpdates `django` from 5.2.7 to 5.2.8\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/47fe39af56ecd0ad73b9c7562511015e96b91b80\"\u003e\u003ccode\u003e47fe39a\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.8 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ac9fcf6eb2c909f4150c5287808f49170ce1f9e2\"\u003e\u003ccode\u003eac9fcf6\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs CVE-2025-64459 -- Avoided propagating invalid arguments to Q on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6703f364d767e949c5b0e4016433ef75063b4f9b\"\u003e\u003ccode\u003e6703f36\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64459 -- Prevented SQL injections in Q/QuerySet via th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/4f5d904b63751dea9ffc3b0e046404a7fa5881ac\"\u003e\u003ccode\u003e4f5d904\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64458 -- Mitigated potential DoS in HttpResponseRedire...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/cbdf128cb316bccf9ca3b3b4966e57bd050bfc8a\"\u003e\u003ccode\u003ecbdf128\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36704\"\u003e#36704\u003c/a\u003e -- Fixed system check error for proxy model with a compo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6775888470317a6d69121779b489bb2dc7350318\"\u003e\u003ccode\u003e6775888\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36696\"\u003e#36696\u003c/a\u003e -- Fixed NameError when inspecting functions with deferr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/d5dfffaae52b9dcb4857d42b1e2902290a5c5e3c\"\u003e\u003ccode\u003ed5dfffa\u003c/code\u003e\u003c/a\u003e [5.2.x] Added stub release notes and release date for 5.2.8, 5.1.14, and 4.2.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/368f955c371cab5db18e9e239d10560cf15f5ea4\"\u003e\u003ccode\u003e368f955\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36681\"\u003e#36681\u003c/a\u003e -- Removed English pluralization bias from example in do...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/71267c97db211f1d7f1b8b794ceb2167a7619a4d\"\u003e\u003ccode\u003e71267c9\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/35095\"\u003e#35095\u003c/a\u003e -- Clarified Swiss number formatting in docs/topics/i18n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/9b37bd5fe73b0d614ad8e503071d6f7bf2bdf6b2\"\u003e\u003ccode\u003e9b37bd5\u003c/code\u003e\u003c/a\u003e [5.2.x] Made RemoteTestResultTest.test_pickle_errors_detection() compatible w...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/5.2.7...5.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.5.3 to 5.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/auvipy\"\u003e\u003ccode\u003e@​auvipy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9620\"\u003ecelery/celery#9620\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eSecurity Fix: Broker Credential Leak Prevention\u003c/h3\u003e\n\u003cp\u003eFixed a security issue where broker URLs containing passwords were being logged in plaintext by the delayed delivery mechanism. Broker credentials are now properly sanitized in all log output.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/giancarloromeo\"\u003e\u003ccode\u003e@​giancarloromeo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9997\"\u003ecelery/celery#9997\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eMemory Leak Fixes\u003c/h3\u003e\n\u003cp\u003eTwo significant memory leaks have been fixed in this release:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eException Handling Memory Leak\u003c/strong\u003e: Fixed a critical memory leak in task exception handling that was particularly severe on Python 3.11+ due to enhanced traceback data. The fix properly breaks reference cycles in tracebacks to allow garbage collection.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/jaiganeshs21\"\u003e\u003ccode\u003e@​jaiganeshs21\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9799\"\u003ecelery/celery#9799\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ePending Result Memory Leak\u003c/strong\u003e: Fixed a memory leak where \u003ccode\u003eAsyncResult\u003c/code\u003e subscriptions were not being cleaned up when results were forgotten.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/tsoos99dev\"\u003e\u003ccode\u003e@​tsoos99dev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9806\"\u003ecelery/celery#9806\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eETA Task Memory Limit\u003c/h3\u003e\n\u003cp\u003eNew configuration option \u003ccode\u003eworker_eta_task_limit\u003c/code\u003e to prevent out-of-memory crashes when workers fetch large numbers of ETA or countdown tasks. Previously, workers could exhaust available memory when the broker contained many scheduled tasks.\u003c/p\u003e\n\u003cp\u003eExample usage:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eapp.conf.worker_eta_task_limit = 1000\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/sashu2310\"\u003e\u003ccode\u003e@​sashu2310\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9853\"\u003ecelery/celery#9853\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eQueue Type Selection for Auto-created Queues\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u003ch2\u003ePython 3.9 Minimum Version\u003c/h2\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python\nversion is now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch2\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h2\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in\nCelery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS\nusers:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProcessing throughput dropped from ~100 tasks/sec to ~3/sec in some environments\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUnknownOperationException\u003c/code\u003e errors causing container crash loops\u003c/li\u003e\n\u003cli\u003eSilent message processing failures with no error logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eUsers of the SQS transport must ensure \u003ccode\u003epycurl\u003c/code\u003e is installed. If you removed\n\u003ccode\u003epycurl\u003c/code\u003e after upgrading to Celery 5.5.0, you will need to reinstall it.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ccode\u003e@auvipy \u0026amp;lt;https://github.com/auvipy\u0026amp;gt;\u003c/code\u003e_ in\n\u003ccode\u003e[#9620](https://github.com/celery/celery/issues/9620) \u0026amp;lt;https://github.com/celery/celery/pull/9620\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003ch2\u003eSecurity Fix: Broker Credential Leak Prevention\u003c/h2\u003e\n\u003cp\u003eFixed a security issue where broker URLs containing passwords were being logged\nin plaintext by the delayed delivery mechanism. Broker credentials are now\nproperly sanitized in all log output.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ccode\u003e@giancarloromeo \u0026amp;lt;https://github.com/giancarloromeo\u0026amp;gt;\u003c/code\u003e_ in\n\u003ccode\u003e[#9997](https://github.com/celery/celery/issues/9997) \u0026amp;lt;https://github.com/celery/celery/pull/9997\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eMemory Leak Fixes\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/cca11164860a1bee6ad8626c27a683b482f741eb\"\u003e\u003ccode\u003ecca1116\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.0 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10010\"\u003e#10010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/1133f22181bb22223d39c0060973695c6af55643\"\u003e\u003ccode\u003e1133f22\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.14.1 to 1.19.0 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10008\"\u003e#10008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0932d2c06e001903b90638f7c40a14f5407c9801\"\u003e\u003ccode\u003e0932d2c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10007\"\u003e#10007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/b446910f18860531b089d6c39f974265cc24a589\"\u003e\u003ccode\u003eb446910\u003c/code\u003e\u003c/a\u003e Prepare for (pre) release: v5.6.0rc2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10005\"\u003e#10005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/3f0f0fe7ea6a67a696d0a750644b552559ae368e\"\u003e\u003ccode\u003e3f0f0fe\u003c/code\u003e\u003c/a\u003e asynpool: Don't return from inside a finally block (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10000\"\u003e#10000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/95d05527c0e1fff5c1a38877ba87592983a7f993\"\u003e\u003ccode\u003e95d0552\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10003\"\u003e#10003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f32b92f0e481601e9cc9f1212a4feced3f48e1a0\"\u003e\u003ccode\u003ef32b92f\u003c/code\u003e\u003c/a\u003e Add Py39-314t to CI (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9999\"\u003e#9999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/63c1910221d9fb8c1931ff62c80c4c37232b2d58\"\u003e\u003ccode\u003e63c1910\u003c/code\u003e\u003c/a\u003e Don't fail task on timeout during cold shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9678\"\u003e#9678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/30649dbd41308fc8eef79b2aae179a908eaa7a51\"\u003e\u003ccode\u003e30649db\u003c/code\u003e\u003c/a\u003e Fix log leaking broker credentials (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9997\"\u003e#9997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/929412e2d4d328e337be3f177ca99fff10ab9bdc\"\u003e\u003ccode\u003e929412e\u003c/code\u003e\u003c/a\u003e Remove Python 4.0 version condition for pytest dependencies (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9993\"\u003e#9993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.5.3...v5.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog[celery]` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog[celery]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.52 to 1.42.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7ce189b284cdb2c8c963719b3a806d2eab61d123\"\u003e\u003ccode\u003e7ce189b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.0'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/29d92d1d17b7e9ab2f32ed9e27de376e36e70f41\"\u003e\u003ccode\u003e29d92d1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/743f945f5120285528643d1eda34b8dbff458d89\"\u003e\u003ccode\u003e743f945\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e3744fd3054f1686e306d82f925f8a8e463c66a5\"\u003e\u003ccode\u003ee3744fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/boto/boto3/issues/4629\"\u003e#4629\u003c/a\u003e from hssyoo/crt-mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/39215b64750416e032dbfe565cf055f5ef66a0fd\"\u003e\u003ccode\u003e39215b6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.5'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/79f28454bf612524a73cd2716292e4a3d9681f47\"\u003e\u003ccode\u003e79f2845\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.5' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0fc80754d993e98dad51ea4e37656c4ad8962512\"\u003e\u003ccode\u003e0fc8075\u003c/code\u003e\u003c/a\u003e Bumping version to 1.41.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/573d3594fd35e4d7243a3d4319ef738a9041071e\"\u003e\u003ccode\u003e573d359\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/177e90022e3d3975e7e07a42b17ec3dfd9c1797a\"\u003e\u003ccode\u003e177e900\u003c/code\u003e\u003c/a\u003e Remove backticks from error msg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ff9d88cca12eda7afa6e957944c904ea58cc7094\"\u003e\u003ccode\u003eff9d88c\u003c/code\u003e\u003c/a\u003e Add warning\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.52...1.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sdk` from 2.42.0 to 2.46.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/releases\"\u003esentry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.46.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve metadata on wrapped coroutines (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5105\"\u003e#5105\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake imports defensive to avoid \u003ccode\u003eModuleNotFoundError\u003c/code\u003e in Pydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5135\"\u003e#5135\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix OpenAI agents integration mistakenly enabling itself (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5132\"\u003e#5132\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd instrumentation to embedding functions for various backends (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5120\"\u003e#5120\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove embeddings support for OpenAI (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5121\"\u003e#5121\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance input handling for embeddings in LiteLLM integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5127\"\u003e#5127\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpect exceptions when re-raised (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5125\"\u003e#5125\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eMagicMock\u003c/code\u003e from mocked \u003ccode\u003eModelResponse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5126\"\u003e#5126\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.45.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOTLPIntegration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4877\"\u003e#4877\u003c/a\u003e) by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new OTLP integration with the code snippet below, and your OpenTelemetry instrumentation will be automatically sent to Sentry's OTLP ingestion endpoint.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e  import sentry_sdk\n  from sentry_sdk.integrations.otlp import OTLPIntegration\n\u003cp\u003esentry_sdk.init(\u003cbr /\u003e\ndsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\u003cbr /\u003e\n# Add data like inputs and responses;\u003cbr /\u003e\n# see \u003ca href=\"https://docs.sentry.io/platforms/python/data-management/data-collected/\"\u003ehttps://docs.sentry.io/platforms/python/data-management/data-collected/\u003c/a\u003e for more info\u003cbr /\u003e\nsend_default_pii=True,\u003cbr /\u003e\nintegrations=[\u003cbr /\u003e\nOTLPIntegration(),\u003cbr /\u003e\n],\u003cbr /\u003e\n)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eUnder the hood, this will setup:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003eSpanExporter\u003c/code\u003e that will automatically set up the OTLP ingestion endpoint from your DSN\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003ePropagator\u003c/code\u003e that ensures Distributed Tracing works\u003c/li\u003e\n\u003cli\u003eTrace/Span linking for all other Sentry events such as Errors, Logs, Crons and Metrics\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you were using the \u003ccode\u003eSentrySpanProcessor\u003c/code\u003e before, we recommend migrating over to \u003ccode\u003eOTLPIntegration\u003c/code\u003e since it's a much simpler setup.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat(integrations): implement context management for invoke_agent spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5089\"\u003e#5089\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat(loguru): Capture extra (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5096\"\u003e#5096\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat: Attach \u003ccode\u003eserver.address\u003c/code\u003e to metrics (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5113\"\u003e#5113\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: Cast message and detail attributes before appending exception notes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5114\"\u003e#5114\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(integrations): ensure that GEN_AI_AGENT_NAME is properly set for GEN_AI spans under an invoke_agent span (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5030\"\u003e#5030\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(logs): Update \u003ccode\u003esentry.origin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5112\"\u003e#5112\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: Deprecate description truncation option for Redis spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5073\"\u003e#5073\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: Deprecate \u003ccode\u003emax_spans\u003c/code\u003e LangChain parameter (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5074\"\u003e#5074\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore(toxgen): Check availability of pip and add detail to exceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5076\"\u003e#5076\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md\"\u003esentry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.46.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve metadata on wrapped coroutines (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5105\"\u003e#5105\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake imports defensive to avoid \u003ccode\u003eModuleNotFoundError\u003c/code\u003e in Pydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5135\"\u003e#5135\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix OpenAI agents integration mistakenly enabling itself (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5132\"\u003e#5132\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd instrumentation to embedding functions for various backends (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5120\"\u003e#5120\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove embeddings support for OpenAI (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5121\"\u003e#5121\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance input handling for embeddings in LiteLLM integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5127\"\u003e#5127\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpect exceptions when re-raised (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5125\"\u003e#5125\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eMagicMock\u003c/code\u003e from mocked \u003ccode\u003eModelResponse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5126\"\u003e#5126\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.45.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOTLPIntegration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4877\"\u003e#4877\u003c/a\u003e) by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new OTLP integration with the code snippet below, and your OpenTelemetry instrumentation will be automatically sent to Sentry's OTLP ingestion endpoint.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e  import sentry_sdk\n  from sentry_sdk.integrations.otlp import OTLPIntegration\n\u003cp\u003esentry_sdk.init(\u003cbr /\u003e\ndsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\u003cbr /\u003e\n# Add data like inputs and responses;\u003cbr /\u003e\n# see \u003ca href=\"https://docs.sentry.io/platforms/python/data-management/data-collected/\"\u003ehttps://docs.sentry.io/platforms/python/data-management/data-collected/\u003c/a\u003e for more info\u003cbr /\u003e\nsend_default_pii=True,\u003cbr /\u003e\nintegrations=[\u003cbr /\u003e\nOTLPIntegration(),\u003cbr /\u003e\n],\u003cbr /\u003e\n)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eUnder the hood, this will setup:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003eSpanExporter\u003c/code\u003e that will automatically set up the OTLP ingestion endpoint from your DSN\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003ePropagator\u003c/code\u003e that ensures Distributed Tracing works\u003c/li\u003e\n\u003cli\u003eTrace/Span linking for all other Sentry events such as Errors, Logs, Crons and Metrics\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you were using the \u003ccode\u003eSentrySpanProcessor\u003c/code\u003e before, we recommend migrating over to \u003ccode\u003eOTLPIntegration\u003c/code\u003e since it's a much simpler setup.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat(integrations): implement context management for invoke_agent spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5089\"\u003e#5089\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat(loguru): Capture extra (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5096\"\u003e#5096\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat: Attach \u003ccode\u003eserver.address\u003c/code\u003e to metrics (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5113\"\u003e#5113\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: Cast message and detail attributes before appending exception notes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5114\"\u003e#5114\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(integrations): ensure that GEN_AI_AGENT_NAME is properly set for GEN_AI spans under an invoke_agent span (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5030\"\u003e#5030\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(logs): Update \u003ccode\u003esentry.origin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5112\"\u003e#5112\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: Deprecate description truncation option for Redis spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5073\"\u003e#5073\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d3375bc37b08f0bb203689d77ea81fea6511eda4\"\u003e\u003ccode\u003ed3375bc\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/23abfe299675a32dc7354e72aee8890918659479\"\u003e\u003ccode\u003e23abfe2\u003c/code\u003e\u003c/a\u003e release: 2.46.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/ca19d6300f53178e77e77ded477a91338ad9be09\"\u003e\u003ccode\u003eca19d63\u003c/code\u003e\u003c/a\u003e feat: Preserve metadata on wrapped coroutines (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5105\"\u003e#5105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/cf165e332b765b5ce657e09388fae454c1e63e54\"\u003e\u003ccode\u003ecf165e3\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5136\"\u003e#5136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b8d6a57d7861eb2420fc591083f70c2d0f477379\"\u003e\u003ccode\u003eb8d6a57\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/create-github-app-token from 2.1.4 to 2.2.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5137\"\u003e#5137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/c0c28b842d2ef3eb2e876bb40594ce8130b3bacd\"\u003e\u003ccode\u003ec0c28b8\u003c/code\u003e\u003c/a\u003e build(deps): bump supercharge/redis-github-action from 1.8.0 to 1.8.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5138\"\u003e#5138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/fb18c2164e054dfcf11c86b392c45a19a0630112\"\u003e\u003ccode\u003efb18c21\u003c/code\u003e\u003c/a\u003e fix(pydantic-ai): Make imports defensive to avoid \u003ccode\u003eModuleNotFoundError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5135\"\u003e#5135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/f945e382eeef31ad68738a0b6aef80119484ffbc\"\u003e\u003ccode\u003ef945e38\u003c/code\u003e\u003c/a\u003e Fix openai-agents import (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5132\"\u003e#5132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/8596f894907c488925eb3e1b9eb07c3219eef65c\"\u003e\u003ccode\u003e8596f89\u003c/code\u003e\u003c/a\u003e fix(integrations): enhance input handling for embeddings in LiteLLM integrati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/0e6e80888296e2c907b399b375639ec7f662a2f6\"\u003e\u003ccode\u003e0e6e808\u003c/code\u003e\u003c/a\u003e test(openai-agents): Remove \u003ccode\u003eMagicMock\u003c/code\u003e from mocked \u003ccode\u003eModelResponse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5126\"\u003e#5126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-python/compare/2.42.0...2.46.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client` from 2.184.0 to 2.187.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-python-client/releases\"\u003egoogle-api-python-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.187.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.186.0...v2.187.0\"\u003e2.187.0\u003c/a\u003e (2025-11-04)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eadmin:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4ae6f5bc3f1a35cd69cb589c432c299df559dacf\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4ae6f5bc3f1a35cd69cb589c432c299df559dacf\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eaiplatform:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/131f59d6003dfbce3abfa00730dba9f90b9ca2ab\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/131f59d6003dfbce3abfa00730dba9f90b9ca2ab\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ealloydb:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8c341070f77639ef47f010d9410a814d65f0ed1e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8c341070f77639ef47f010d9410a814d65f0ed1e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eanalyticshub:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9ba4beb4e61873283345d197c2909259948c5488\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9ba4beb4e61873283345d197c2909259948c5488\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eandroidpublisher:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3db77266c2abb44ab149d0f83f58f87727280274\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3db77266c2abb44ab149d0f83f58f87727280274\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapigee:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a0411b6f5cc087f24e7ffb2c3e55b75e68f7d3c7\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a0411b6f5cc087f24e7ffb2c3e55b75e68f7d3c7\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapihub:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f820a3b6cd6fdcb90a02f0635cc53b231fd340f3\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f820a3b6cd6fdcb90a02f0635cc53b231fd340f3\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapphub:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/0cde10dd690e2ca303b8dddd26baee762b12e103\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/0cde10dd690e2ca303b8dddd26baee762b12e103\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eartifactregistry:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c5e5cbd48fac599f541b4bb0671f73504bd95331\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c5e5cbd48fac599f541b4bb0671f73504bd95331\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eauthorizedbuyersmarketplace:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4b1a58e965c744981d87598ff4d1d9caeb5ad442\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4b1a58e965c744981d87598ff4d1d9caeb5ad442\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebackupdr:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9ea2eb7f2c1bea7de204c1641ad2b2fa232cfad8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9ea2eb7f2c1bea7de204c1641ad2b2fa232cfad8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebiglake:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f598d38025c1515b5e615f8437a64cbd43fed135\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f598d38025c1515b5e615f8437a64cbd43fed135\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebigquerydatatransfer:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8dd81b0b258535afa8a6da984cd62f53892f7754\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8dd81b0b258535afa8a6da984cd62f53892f7754\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebigquery:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cee5b00a8ea42682301ccd82abb987ca985520b1\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cee5b00a8ea42682301ccd82abb987ca985520b1\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echat:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c0b2205c2dbc816c783d5d9da64aa8f01ac64976\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c0b2205c2dbc816c783d5d9da64aa8f01ac64976\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudfunctions:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c40d929e0a719ba2f756c5e076edaafe97f0ade8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c40d929e0a719ba2f756c5e076edaafe97f0ade8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudidentity:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d55d33d3d82ed3045a20a6372368c06060aa7afe\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d55d33d3d82ed3045a20a6372368c06060aa7afe\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudkms:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa4d8af269309a77657799795233644c83f41156\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa4d8af269309a77657799795233644c83f41156\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudscheduler:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/68574b08de677e92f6b4ef73c9aa8981480fd244\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/68574b08de677e92f6b4ef73c9aa8981480fd244\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecompute:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/385aad3a9db1c1e964dfabe2aec63510e495f929\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/385aad3a9db1c1e964dfabe2aec63510e495f929\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtactcenterinsights:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/abf00d5720427fc630a1b261b37bddf881d4aed8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/abf00d5720427fc630a1b261b37bddf881d4aed8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtainer:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/1fa286c4cf3c068ad7389a9f0c9d2672023d0a9a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/1fa286c4cf3c068ad7389a9f0c9d2672023d0a9a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataplex:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b082bcdea218f8eda4e3167f0d91086067f54326\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b082bcdea218f8eda4e3167f0d91086067f54326\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataproc:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/46ecc1b97aee590e952a455f36a17ee57edc4878\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/46ecc1b97aee590e952a455f36a17ee57edc4878\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatastream:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/94712425b6c1a43eac2f609efa2bbe0130c1d157\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/94712425b6c1a43eac2f609efa2bbe0130c1d157\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeveloperconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b5dbb37c9de1093601e5258e3390dbcba29090ab\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b5dbb37c9de1093601e5258e3390dbcba29090ab\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edfareporting:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/eb29fdfc7d374ca0fa8a4521dfd03adf5f9d2aaa\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/eb29fdfc7d374ca0fa8a4521dfd03adf5f9d2aaa\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edialogflow:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/0d073639ba2dd3cf64711a0b2e765c69cf40f301\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/0d073639ba2dd3cf64711a0b2e765c69cf40f301\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ediscoveryengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/0a0ffefd477c00e649e2449de4e978e97c7cb77e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/0a0ffefd477c00e649e2449de4e978e97c7cb77e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edisplayvideo:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b952757151bf40ee3e8a29b4ba97723e839d564f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b952757151bf40ee3e8a29b4ba97723e839d564f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edlp:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c44af38454081885ad41f8e11e39e6d2b8be9250\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c44af38454081885ad41f8e11e39e6d2b8be9250\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocumentai:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/892d8591315553114022645b20b312d8f0b0e142\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/892d8591315553114022645b20b312d8f0b0e142\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edrive:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d0d23365f047c5bc095d500fbfb6364fea5b829f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d0d23365f047c5bc095d500fbfb6364fea5b829f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efile:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/33cc60f6da2e139c26e4037a0b2bd26a688b956f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/33cc60f6da2e139c26e4037a0b2bd26a688b956f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebaseappdistribution:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d228cb515590e17fdbb2732f667db09940ff65f0\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d228cb515590e17fdbb2732f667db09940ff65f0\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebaseapphosting:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/62fab0552fa333a8a79c0c433c515b029d743e3f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/62fab0552fa333a8a79c0c433c515b029d743e3f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebasedataconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/5fc2c543b13bc466fccd2e89fef36fd6da5a905c\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/5fc2c543b13bc466fccd2e89fef36fd6da5a905c\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egkeonprem:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aacb9659d60bed0a38c05936c788d6c96eb30599\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aacb9659d60bed0a38c05936c788d6c96eb30599\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehealthcare:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ac074ed9332b6ebaa776c9ef7123d708fea89b8b\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ac074ed9332b6ebaa776c9ef7123d708fea89b8b\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eiamcredentials:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a668b6ab59c1c913ed455c94e722cd0747850c9f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a668b6ab59c1c913ed455c94e722cd0747850c9f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eids:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e03595989016a96400343dbaa03371a049656d50\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e03595989016a96400343dbaa03371a049656d50\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elogging:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/652fd598fcd529c3da0563990bf7f4941b172f55\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/652fd598fcd529c3da0563990bf7f4941b172f55\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elooker:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/483cba2bbcd375f8c6808e6ad386f8279b622fb6\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/483cba2bbcd375f8c6808e6ad386f8279b622fb6\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emanagedkafka:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/94e3bc173770528969b1abd935ac393934f6fda4\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/94e3bc173770528969b1abd935ac393934f6fda4\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/623c34ff35b2a4b44bbc0e013073199d5aea4f5a\"\u003e\u003ccode\u003e623c34f\u003c/code\u003e\u003c/a\u003e chore(main): release 2.187.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2682\"\u003e#2682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e\u003ccode\u003e8edf6d6\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2681\"\u003e#2681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/98ba848a8b8dc3baac562122fc5fd115ee0cea1e\"\u003e\u003ccode\u003e98ba848\u003c/code\u003e\u003c/a\u003e chore(main): release 2.186.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2679\"\u003e#2679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/86cb1335984094dad37bbf5e2148ef9b44dee5d9\"\u003e\u003ccode\u003e86cb133\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2678\"\u003e#2678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/33aee305b094e501517847552292a0f7e1ba8898\"\u003e\u003ccode\u003e33aee30\u003c/code\u003e\u003c/a\u003e chore(main): release 2.185.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2667\"\u003e#2667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8ee51c47a47db8e09997502f482e990b291cbb98\"\u003e\u003ccode\u003e8ee51c4\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2672\"\u003e#2672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/bde091934f8392d920e9f96f44bc0af078fc6124\"\u003e\u003ccode\u003ebde0919\u003c/code\u003e\u003c/a\u003e chore(python): Add Python 3.14 to python post processor image (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2669\"\u003e#2669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/f32e6fa89eebee9b57d2fdd11c2e732a75bb7ffc\"\u003e\u003ccode\u003ef32e6fa\u003c/code\u003e\u003c/a\u003e chore: add googleapis/python-core-client-libraries as codeowner (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/0fb1cf3a3d292281a9ba0d378e3bc7c0a75ecc9c\"\u003e\u003ccode\u003e0fb1cf3\u003c/code\u003e\u003c/a\u003e feat: add support for 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2668\"\u003e#2668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/3850298de90deca18c5aac04f120fc15843fdc54\"\u003e\u003ccode\u003e3850298\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2666\"\u003e#2666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.184.0...v2.187.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.41.1 to 2.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.43.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.1...v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccb\"\u003e1535eccb\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b\"\u003e395e405b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa5\"\u003ec503eaa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRead scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e62c0fc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-auth-v2.42.1...google-auth-v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) Add public wrapper for check_use_client_cert which enables mTLS if\nGOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert\nsources detected. Also, fix check_use_client_cert to return boolean\nvalue.\nChange \u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e added the check_use_client_cert method that helps know if\nclient cert should be used for mTLS connection. However, that was in a\nprivate class, thus, created a public wrapper of the same function so\nthat it can be used by python Client Libraries. Also, updated\ncheck_use_client_cert to return a boolean value instead of existing\nstring value for better readability and future scope.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) The Python SDK will use a hybrid approach for mTLS enablement:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set\n(either true or false), the SDK will respect that setting. This is\nnecessary for test scenarios and users who need to explicitly control\nmTLS behavior.\u003c/li\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not\nset, the SDK will automatically enable mTLS only if it detects Managed\nWorkload Identity (MWID) or X.509 Workforce Identity Federation (WIF)\ncertificate sources. In other cases where the variable is not set, mTLS\nwill remain disabled.\n** This change also adds the helper method \u003ccode\u003echeck_use_client_cert\u003c/code\u003e and\nit's unit test, which will be used for checking the criteria for setting\nthe mTLS to true\n** This change is only for Auth-Library, other changes will be created\nfor Client-Library use-cases.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e395e405b64b56ddb82ee639958c2e8056ad2e82b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) This PR onboards \u003ccode\u003egoogle-auth\u003c/code\u003e library to the Librarian system.\nWait for\n\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/pull/1819\"\u003egoogleapis/google-auth-library-python#1819\u003c/a\u003e. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\"\u003ec503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/89a883824b437e9be0c97309ed36f35e5c071f11\"\u003e\u003ccode\u003e89a8838\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251105T230735Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1863\"\u003e#1863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/79564e20cf5644a29a2269dcc91902b023f4afac\"\u003e\u003ccode\u003e79564e2\u003c/code\u003e\u003c/a\u003e chore: update prev version in state (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1862\"\u003e#1862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e\u003ccode\u003e1535ecc\u003c/code\u003e\u003c/a\u003e feat: Add public wrapper for _mtls_helper.check_use_client_cert which enables...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/54502a73170dbe14f04769463c45c9d940f4999b\"\u003e\u003ccode\u003e54502a7\u003c/code\u003e\u003c/a\u003e chore: update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1860\"\u003e#1860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e\u003ccode\u003e395e405\u003c/code\u003e\u003c/a\u003e feat: Enable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MW...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/f2708b282b108713a8a9a04a5c0d58b253ce2217\"\u003e\u003ccode\u003ef2708b2\u003c/code\u003e\u003c/a\u003e chore: secret upadte (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\"\u003e\u003ccode\u003ec503eaa\u003c/code\u003e\u003c/a\u003e feat: onboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d1b862db2b23b4b7ae7d243f6dbb23165636bd5\"\u003e\u003ccode\u003e5d1b862\u003c/code\u003e\u003c/a\u003e chore(main): release 2.42.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1853\"\u003e#1853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003e\u003ccode\u003eb074cad\u003c/code\u003e\u003c/a\u003e fix: catch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cb62f5727854965e108c4e1790c4f9f9306fe3ce\"\u003e\u003ccode\u003ecb62f57\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth-httplib2` from 0.2.0 to 0.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2/releases\"\u003egoogle-auth-httplib2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.2.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/compare/v0.2.0...v0.2.1\"\u003e0.2.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Require google-auth \u0026gt;= 1.32.0,\u0026lt;3.0.0 (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Require httplib2 \u0026gt;= 0.19.0,\u0026lt;1.0.0 (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop python 3.6; require python 3.7+ (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python-httplib2/issues/191\"\u003e#191\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/c2be0ae5537d15f20a6c81d1e51408a11ecda22e\"\u003ec2be0ae\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/blob/main/CHANGELOG.md\"\u003egoogle-auth-httplib2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/compare/v0.2.0...v0.2.1\"\u003e0.2.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Require google-auth \u0026gt;= 1.32.0,\u0026lt;3.0.0 (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Require httplib2 \u0026gt;= 0.19.0,\u0026lt;1.0.0 (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop python 3.6; require python 3.7+ (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python-httplib2/issues/191\"\u003e#191\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/c2be0ae5537d15f20a6c81d1e51408a11ecda22e\"\u003ec2be0ae\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n...\n\n_Description has been truncated_","html_url":"https://github.com/HackSoftware/Django-Styleguide-Example/pull/555","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackSoftware%2FDjango-Styleguide-Example/issues/555","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/555/packages"},{"uuid":"3593431202","node_id":"PR_kwDOLzxzKM6xxsUU","number":260,"state":"open","title":"chore(deps): bump the dependencies group across 2 directories with 16 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["matmair"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-06T01:13:00.000Z","updated_at":"2025-11-07T06:01:02.333Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":16,"packages":[{"name":"django","old_version":"4.2.25","new_version":"5.2.8","repository_url":"https://github.com/django/django"},{"name":"blessed","old_version":"1.22.0","new_version":"1.23.0","repository_url":"https://github.com/jquast/blessed"},{"name":"django-allauth","old_version":"65.12.1","new_version":"65.13.0"},{"name":"django-filter","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/carltongibson/django-filter"},{"name":"django-otp","old_version":"1.3.0","new_version":"1.6.3","repository_url":"https://github.com/django-otp/django-otp"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"},{"name":"drf-spectacular","old_version":"0.28.0","new_version":"0.29.0","repository_url":"https://github.com/tfranzel/drf-spectacular"},{"name":"dulwich","old_version":"0.24.1","new_version":"0.24.8","repository_url":"https://github.com/dulwich/dulwich"},{"name":"pint","old_version":"0.24.4","new_version":"0.25.1","repository_url":"https://github.com/hgrecco/pint"},{"name":"django-stubs","old_version":"5.1.3","new_version":"5.2.7","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"django-test-migrations","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/wemake-services/django-test-migrations"},{"name":"django-types","old_version":"0.20.0","new_version":"0.22.0","repository_url":"https://github.com/sbdchd/django-types"},{"name":"isort","old_version":"6.1.0","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"ty","old_version":"0.0.1a21","new_version":"0.0.1a25","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).\nBumps the dependencies group with 14 updates in the /src/backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django](https://github.com/django/django) | `4.2.25` | `5.2.8` |\n| [blessed](https://github.com/jquast/blessed) | `1.22.0` | `1.23.0` |\n| [django-allauth[mfa,openid,saml,socialaccount]](https://github.com/sponsors/pennersr) | `65.12.1` | `65.13.0` |\n| [django-filter](https://github.com/carltongibson/django-filter) | `25.1` | `25.2` |\n| [django-otp](https://github.com/django-otp/django-otp) | `1.3.0` | `1.6.3` |\n| [django-structlog](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [drf-spectacular](https://github.com/tfranzel/drf-spectacular) | `0.28.0` | `0.29.0` |\n| [dulwich](https://github.com/dulwich/dulwich) | `0.24.1` | `0.24.8` |\n| [pint](https://github.com/hgrecco/pint) | `0.24.4` | `0.25.1` |\n| [django-stubs](https://github.com/sponsors/typeddjango) | `5.1.3` | `5.2.7` |\n| [django-test-migrations](https://github.com/wemake-services/django-test-migrations) | `1.4.0` | `1.5.0` |\n| [django-types](https://github.com/sbdchd/django-types) | `0.20.0` | `0.22.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.1.0` | `7.0.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a21` | `0.0.1a25` |\n\n\nUpdates `mkdocs-material` from 9.6.22 to 9.6.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.6.23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.6.23 (2025-11-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.22 (2025-10-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Georgian translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.21 (2025-09-30)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Serbian translations\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8458\"\u003e#8458\u003c/a\u003e: Temporary pin of click dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.20 (2025-09-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8446\"\u003e#8446\u003c/a\u003e: Deprecation warning as of Python 3.14 in Emoji extension\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8440\"\u003e#8440\u003c/a\u003e: \u003ccode\u003e\u0026amp;\u003c/code\u003e character not escaped in search highlighting\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8439\"\u003e#8439\u003c/a\u003e: FontAwesome icons color not set in social cards (regression)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.19 (2025-09-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.18 (2025-08-22)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with [minijinja], now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.17 (2025-08-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.16 (2025-07-26)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.15 (2025-07-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.14 (2025-05-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/54c7b79315b5ef5620efe16a1473d3368c8b8f52\"\u003e\u003ccode\u003e54c7b79\u003c/code\u003e\u003c/a\u003e Prepare 9.6.23 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/f0dbcb5b66aa5060eef3ebce04d241686505887c\"\u003e\u003ccode\u003ef0dbcb5\u003c/code\u003e\u003c/a\u003e Disabled dependabot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/53d15f854d0479f01378023926e06a5cc857e28f\"\u003e\u003ccode\u003e53d15f8\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/d9e4f7139274bb70743a076da8b80a898b1a1c14\"\u003e\u003ccode\u003ed9e4f71\u003c/code\u003e\u003c/a\u003e Updated Burmese translations\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.22...9.6.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django` from 4.2.25 to 5.2.8\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/47fe39af56ecd0ad73b9c7562511015e96b91b80\"\u003e\u003ccode\u003e47fe39a\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.8 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ac9fcf6eb2c909f4150c5287808f49170ce1f9e2\"\u003e\u003ccode\u003eac9fcf6\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs CVE-2025-64459 -- Avoided propagating invalid arguments to Q on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6703f364d767e949c5b0e4016433ef75063b4f9b\"\u003e\u003ccode\u003e6703f36\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64459 -- Prevented SQL injections in Q/QuerySet via th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/4f5d904b63751dea9ffc3b0e046404a7fa5881ac\"\u003e\u003ccode\u003e4f5d904\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64458 -- Mitigated potential DoS in HttpResponseRedire...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/cbdf128cb316bccf9ca3b3b4966e57bd050bfc8a\"\u003e\u003ccode\u003ecbdf128\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36704\"\u003e#36704\u003c/a\u003e -- Fixed system check error for proxy model with a compo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6775888470317a6d69121779b489bb2dc7350318\"\u003e\u003ccode\u003e6775888\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36696\"\u003e#36696\u003c/a\u003e -- Fixed NameError when inspecting functions with deferr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/d5dfffaae52b9dcb4857d42b1e2902290a5c5e3c\"\u003e\u003ccode\u003ed5dfffa\u003c/code\u003e\u003c/a\u003e [5.2.x] Added stub release notes and release date for 5.2.8, 5.1.14, and 4.2.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/368f955c371cab5db18e9e239d10560cf15f5ea4\"\u003e\u003ccode\u003e368f955\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36681\"\u003e#36681\u003c/a\u003e -- Removed English pluralization bias from example in do...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/71267c97db211f1d7f1b8b794ceb2167a7619a4d\"\u003e\u003ccode\u003e71267c9\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/35095\"\u003e#35095\u003c/a\u003e -- Clarified Swiss number formatting in docs/topics/i18n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/9b37bd5fe73b0d614ad8e503071d6f7bf2bdf6b2\"\u003e\u003ccode\u003e9b37bd5\u003c/code\u003e\u003c/a\u003e [5.2.x] Made RemoteTestResultTest.test_pickle_errors_detection() compatible w...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/4.2.25...5.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 80.9.0 to \n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/setuptools/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blessed` from 1.22.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/blessed/releases\"\u003eblessed's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.23: Enhanced keyboard, mouse, and more\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced: Environment values FORCE_COLOR_, CLICOLOR_FORCE_, and NO_COLOR_ overrides\n:class:\u003ccode\u003eblessed.Terminal\u003c/code\u003e argument value, \u003ccode\u003eforce_styling\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/295\"\u003e#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimproved: performance of :meth:\u003ccode\u003e~Terminal.rgb_downconvert\u003c/code\u003e for 256-color\nterminals, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/298\"\u003e#298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecated: Python 2.7 through 3.6 no longer supported. \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/299\"\u003e#299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimproved: keyboard support for modifier keys, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: kitty keyboard protocol support, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/309\"\u003e#309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: mouse support, Synchronized Output, and support for DEC Private Modes, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: methods to determine Sixel, dimensions and color depth \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/312\"\u003e#312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: in-band resize support (DEC Private Mode 2048) \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/313\"\u003e#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: XTVersion identification: \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/314\"\u003e#314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: default timeout for get_bgcolor, get_fgcolor \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/315\"\u003e#315\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/blessed/blob/master/docs/history.rst\"\u003eblessed's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. py:currentmodule:: blessed.terminal\u003c/p\u003e\n\u003ch1\u003eVersion History\u003c/h1\u003e\n\u003cp\u003e1.23\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced: Environment values FORCE_COLOR_, CLICOLOR_FORCE_, and NO_COLOR_ overrides\n:class:\u003ccode\u003eblessed.Terminal\u003c/code\u003e argument value, \u003ccode\u003eforce_styling\u003c/code\u003e :ghpull:\u003ccode\u003e295\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eimproved: performance of :meth:\u003ccode\u003e~Terminal.rgb_downconvert\u003c/code\u003e for 256-color\nterminals, :ghpull:\u003ccode\u003e298\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edeprecated: Python 2.7 through 3.6 no longer supported. :ghpull:\u003ccode\u003e299\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eimproved: keyboard support for modifier keys, :ghpull:\u003ccode\u003e306\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eintroduced: kitty keyboard protocol support, :ghpull:\u003ccode\u003e309\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eintroduced: mouse support, Synchronized Output, and support for DEC Private Modes, :ghpull:\u003ccode\u003e310\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: methods to determine Sixel, dimensions and color depth :ghpull:\u003ccode\u003e312\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: in-band resize support (DEC Private Mode 2048) :ghpull:\u003ccode\u003e313\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: XTVersion identification: :ghpull:\u003ccode\u003e314\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: default timeout for get_bgcolor, get_fgcolor :ghpull:\u003ccode\u003e315\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eperformance improvements to :meth:\u003ccode\u003e~Terminal.length\u003c/code\u003e and\n:meth:\u003ccode\u003e~Terminal.wrap\u003c/code\u003e via :ghpull:\u003ccode\u003e286\u003c/code\u003e, :ghpull:\u003ccode\u003e287\u003c/code\u003e, :ghpull:\u003ccode\u003e289\u003c/code\u003e, and\n:ghpull:\u003ccode\u003e291\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003espelling fixes, :ghpull:\u003ccode\u003e278\u003c/code\u003e, :ghpull:\u003ccode\u003e293\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix infinite loop in :meth:\u003ccode\u003e~Terminal.wrap\u003c/code\u003e when \u0026quot;Wide\u0026quot; characters of\nwidth 2 (East-Asian or Emoji) are used with a wrap width of 1, and a small\nperformance enhancement, :ghissue:\u003ccode\u003e273\u003c/code\u003e and :ghpull:\u003ccode\u003e274\u003c/code\u003e by :ghuser:\u003ccode\u003egrayjk\u003c/code\u003e\nmerged as :ghpull:\u003ccode\u003e275\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.20\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced :meth:\u003ccode\u003e~Terminal.get_fgcolor\u003c/code\u003e and :meth:\u003ccode\u003e~Terminal.get_bgcolor\u003c/code\u003e to query\nthe terminal for the currently set colors. :ghissue:\u003ccode\u003e237\u003c/code\u003e by :ghuser:\u003ccode\u003estefanholek\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Copy globals dict before iterating to avoid RuntimeError in multithreaded\napplications, :ghissue:\u003ccode\u003e248\u003c/code\u003e by :ghuser:\u003ccode\u003eadamnovak\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced :meth:\u003ccode\u003e~Terminal.truncate\u003c/code\u003e to truncate a string while\nretaining the sequences, :ghissue:\u003ccode\u003e211\u003c/code\u003e by :ghuser:\u003ccode\u003efishermans-friend\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eenhancement: Add small sleep in :meth:\u003ccode\u003e~Terminal.kbhit\u003c/code\u003e on Windows\nto reduce CPU load :ghissue:\u003ccode\u003e209\u003c/code\u003e by :ghuser:\u003ccode\u003enumerlor\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eenhancement: :meth:\u003ccode\u003e~Terminal.rjust\u003c/code\u003e, :meth:\u003ccode\u003e~Terminal.ljust\u003c/code\u003e,\nand :meth:\u003ccode\u003e~Terminal.center\u003c/code\u003e now accept :class:\u003ccode\u003e~typing.SupportsIndex\u003c/code\u003e types, :ghissue:\u003ccode\u003e234\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eenhancement: When 88 colors is detected, it is now interpreted as 16 colors rather than raising\nan :exc:\u003ccode\u003eAssertionError\u003c/code\u003e, :ghissue:\u003ccode\u003e235\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Fix global variable declarations in type annotations, :ghissue:\u003ccode\u003e230\u003c/code\u003e by\n:ghuser:\u003ccode\u003emwchase\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/7cfd2992df8d8d6ebdbbe1f334e0df36750642e1\"\u003e\u003ccode\u003e7cfd299\u003c/code\u003e\u003c/a\u003e Set version for next release, 1.23 (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/316\"\u003e#316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/d5107613d7f43544b28f54f8af40aca59b13bcc8\"\u003e\u003ccode\u003ed510761\u003c/code\u003e\u003c/a\u003e Set default keyword argument timeout of 1 for get_dec_mode, get_location, get...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/fda1759d085b6fa185862d3ec7f368af489c5e2c\"\u003e\u003ccode\u003efda1759\u003c/code\u003e\u003c/a\u003e Modifiers/Keyboard+kitty, Dec Private Modes+Mouse, Sixel, XTVersion (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/4e65e2e36bc7f30cd02c2cfa1a5eb388f117bfab\"\u003e\u003ccode\u003e4e65e2e\u003c/code\u003e\u003c/a\u003e add Python 3.14 to testing (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/03b42011143f8b41bd86f2a0ec952db4edd0e99b\"\u003e\u003ccode\u003e03b4201\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/304\"\u003e#304\u003c/a\u003e from grayjk/classifier-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/b00d7134d4d7366c69bb4b46dfba0deab484672c\"\u003e\u003ccode\u003eb00d713\u003c/code\u003e\u003c/a\u003e Improve coverage (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/303\"\u003e#303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/f934587db33ef91b5d039dd1724dc8c5627fa421\"\u003e\u003ccode\u003ef934587\u003c/code\u003e\u003c/a\u003e Code cleanup and Pylint tweaks (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/301\"\u003e#301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/350cec44f3f1e1a99c6abbf2c386079943a96ed8\"\u003e\u003ccode\u003e350cec4\u003c/code\u003e\u003c/a\u003e Switch to pyproject.toml (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/300\"\u003e#300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/b806cc00e8b76a74bce578b59925c07fde1ae185\"\u003e\u003ccode\u003eb806cc0\u003c/code\u003e\u003c/a\u003e Implement FORCE_COLOR, CLICOLOR_FORCE, and NO_COLOR Environment Variables \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/295\"\u003e#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/7082160d829feb099b2bde22d97f3d2fb8d8a268\"\u003e\u003ccode\u003e7082160\u003c/code\u003e\u003c/a\u003e Faster rgb_downconvert for 256-color terminals (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jquast/blessed/compare/1.22.0...1.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-allauth[mfa,openid,saml,socialaccount]` from 65.12.1 to 65.13.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-filter` from 25.1 to 25.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst\"\u003edjango-filter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.2 (2025-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded testing for Django 6.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Django \u0026lt;5.2 LTS\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/17ec565554bea4119ad74d2ffccdfb9740d9845b\"\u003e\u003ccode\u003e17ec565\u003c/code\u003e\u003c/a\u003e Bumped version for 25.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/9b4b8fdbfe84d471b2e69b7b28faacdd0dca2661\"\u003e\u003ccode\u003e9b4b8fd\u003c/code\u003e\u003c/a\u003e Updated testing for Django 6.0. (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1730\"\u003e#1730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/1b07b3e4c22354af31f3dcbaf4337566d7803fd4\"\u003e\u003ccode\u003e1b07b3e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/27a116864880a503b869c87a61e3e3ee597dae42\"\u003e\u003ccode\u003e27a1168\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7f59b6f092dadee749540a93c760f84fe5e08b9f\"\u003e\u003ccode\u003e7f59b6f\u003c/code\u003e\u003c/a\u003e Add drf as optional dependencies (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1724\"\u003e#1724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/635343ec55c9928bfa297314711df77fa83ff6c7\"\u003e\u003ccode\u003e635343e\u003c/code\u003e\u003c/a\u003e Add reference anchors to filter types to facilitate intersphinx refs (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1706\"\u003e#1706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7b3176e2ea05a42f2684296733004579f6dcece5\"\u003e\u003ccode\u003e7b3176e\u003c/code\u003e\u003c/a\u003e Document steps for postgres full text search (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1704\"\u003e#1704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carltongibson/django-filter/compare/25.1...25.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-otp` from 1.3.0 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-otp/django-otp/blob/master/CHANGES.rst\"\u003edjango-otp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 - October 25, 2025 - Spanish update\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#182](https://github.com/django-otp/django-otp/issues/182)\u003c/code\u003e_: Correct missing Spanish translations\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#181](https://github.com/django-otp/django-otp/issues/181)\u003c/code\u003e_: Wrong :rtype: in StaticToken.random_token docstring\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003e#181\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003edjango-otp/django-otp#181\u003c/a\u003e\n.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/182\"\u003e#182\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/182\"\u003edjango-otp/django-otp#182\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.2 - October 21, 2025 - Cleanup\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#179](https://github.com/django-otp/django-otp/issues/179)\u003c/code\u003e_: Add missing gettext strings\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#180](https://github.com/django-otp/django-otp/issues/180)\u003c/code\u003e_: Remove tests from wheels\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/179\"\u003e#179\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/179\"\u003edjango-otp/django-otp#179\u003c/a\u003e\n.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/180\"\u003e#180\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/180\"\u003edjango-otp/django-otp#180\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.1 - July 08, 2025 - Small improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow a {token} placeholder in :setting:\u003ccode\u003eOTP_EMAIL_SUBJECT\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 - April 02, 2025 - Django 5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate test matrix for Django 5.2.\u003c/li\u003e\n\u003cli\u003eRemove support for Django 3.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.4 - September 06, 2024 - Ignore proxy models when enumerating device classes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#161](https://github.com/django-otp/django-otp/issues/161)\u003c/code\u003e_: Discard proxied models when iterating device models\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/161\"\u003e#161\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/161\"\u003edjango-otp/django-otp#161\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.5.3 - September 04, 2024 - Small admin template fix\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#158](https://github.com/django-otp/django-otp/issues/158)\u003c/code\u003e_: Remove JS focus() in admin login template\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/158\"\u003e#158\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/158\"\u003edjango-otp/django-otp#158\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ev1.5.2 - August 18, 2024 - otp_verification_failed signal\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/38b7ebabd7b4817aec92f884d448eeb462e82108\"\u003e\u003ccode\u003e38b7eba\u003c/code\u003e\u003c/a\u003e Version 1.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/b9026d7025da45b0144c99e91b5286c734448012\"\u003e\u003ccode\u003eb9026d7\u003c/code\u003e\u003c/a\u003e Correct Missing Spanish Translations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/ae18ba95bd03534e15583d456572f86ea2f41442\"\u003e\u003ccode\u003eae18ba9\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003e#181\u003c/a\u003e: misdocumented return type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/c9eef89240985293e0c9f197d0257a5352cfb62d\"\u003e\u003ccode\u003ec9eef89\u003c/code\u003e\u003c/a\u003e Version 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/b23eca0111d0ae980f29cbfa7243303bb676e10d\"\u003e\u003ccode\u003eb23eca0\u003c/code\u003e\u003c/a\u003e Removes tests from wheels (\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/180\"\u003e#180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/2ff35962b4ace4b07ddaf59255419ba12165420c\"\u003e\u003ccode\u003e2ff3596\u003c/code\u003e\u003c/a\u003e Adds missing gettext strings (\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/179\"\u003e#179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/f89ea1bae299c09f535c653e79136a98d9172558\"\u003e\u003ccode\u003ef89ea1b\u003c/code\u003e\u003c/a\u003e Version 1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/c1704692e889307aedaa2b1d766ffdb9911328de\"\u003e\u003ccode\u003ec170469\u003c/code\u003e\u003c/a\u003e Clean up OTP_EMAIL_SUBJECT improvement.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/ff845a7371527e8994a7fd1513cb9d49f5c2b5c8\"\u003e\u003ccode\u003eff845a7\u003c/code\u003e\u003c/a\u003e Adding {token} placeholder for email subject\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/6e9ae695c57676cf37d8d61a635c9d7b396aa727\"\u003e\u003ccode\u003e6e9ae69\u003c/code\u003e\u003c/a\u003e Version 1.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-otp/django-otp/compare/v1.3.0...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `drf-spectacular` from 0.28.0 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tfranzel/drf-spectacular/releases\"\u003edrf-spectacular's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.29.0\u003c/h2\u003e\n\u003cp\u003eThank you for all the patience with the release!\u003c/p\u003e\n\u003ch2\u003eImportant notes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFinally fixed the memory leak thanks to \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnother performance improvement is the usage of the C versions of yaml, if available.\u003c/li\u003e\n\u003cli\u003eApart from that, there are a lot of small improvements and bugfixes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePRs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLink to \u003ccode\u003eSerializerMethod\u003c/code\u003e docs by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1377\"\u003etfranzel/drf-spectacular#1377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument Django 5.1 support in README by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1376\"\u003etfranzel/drf-spectacular#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.11 to 4.2.18 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1366\"\u003etfranzel/drf-spectacular#1366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to lazily annotate a recursive SerializerMethod by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1384\"\u003etfranzel/drf-spectacular#1384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix docs compile issue and update some old code by \u003ca href=\"https://github.com/mikemanger\"\u003e\u003ccode\u003e@​mikemanger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1389\"\u003etfranzel/drf-spectacular#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd allauth's DRF token auth \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1401\"\u003e#1401\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1404\"\u003etfranzel/drf-spectacular#1404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.18 to 4.2.20 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1403\"\u003etfranzel/drf-spectacular#1403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting callable for ENUM_NAME_OVERRIDES by \u003ca href=\"https://github.com/q0w\"\u003e\u003ccode\u003e@​q0w\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1406\"\u003etfranzel/drf-spectacular#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct port mapping for the container in README by \u003ca href=\"https://github.com/mbienkowsk\"\u003e\u003ccode\u003e@​mbienkowsk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1408\"\u003etfranzel/drf-spectacular#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix python 3.11 slice index by \u003ca href=\"https://github.com/yegorLitvinov\"\u003e\u003ccode\u003e@​yegorLitvinov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1411\"\u003etfranzel/drf-spectacular#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Django REST framework 3.16 support by \u003ca href=\"https://github.com/pauloxnet\"\u003e\u003ccode\u003e@​pauloxnet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1420\"\u003etfranzel/drf-spectacular#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixes prefix estimation on windows by \u003ca href=\"https://github.com/originell\"\u003e\u003ccode\u003e@​originell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1440\"\u003etfranzel/drf-spectacular#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.20 to 4.2.24 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1451\"\u003etfranzel/drf-spectacular#1451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sort list to produce same hash by \u003ca href=\"https://github.com/florianvazelle\"\u003e\u003ccode\u003e@​florianvazelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1433\"\u003etfranzel/drf-spectacular#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typing.Generic to default lib_doc_excludes by \u003ca href=\"https://github.com/maxhowald\"\u003e\u003ccode\u003e@​maxhowald\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1429\"\u003etfranzel/drf-spectacular#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DecimalField with decimal_places and max_digits equal. by \u003ca href=\"https://github.com/keter2002\"\u003e\u003ccode\u003e@​keter2002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1457\"\u003etfranzel/drf-spectacular#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix default for array types by \u003ca href=\"https://github.com/TheSuperiorStanislav\"\u003e\u003ccode\u003e@​TheSuperiorStanislav\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1437\"\u003etfranzel/drf-spectacular#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.24 to 4.2.25 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1458\"\u003etfranzel/drf-spectacular#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenApiViewExtension\u003c/code\u003e not providing view instance under \u003ccode\u003eself.target\u003c/code\u003e by \u003ca href=\"https://github.com/astro-stan\"\u003e\u003ccode\u003e@​astro-stan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1405\"\u003etfranzel/drf-spectacular#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance bug report template with instructions for better clarity. by \u003ca href=\"https://github.com/Antoliny0919\"\u003e\u003ccode\u003e@​Antoliny0919\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1357\"\u003etfranzel/drf-spectacular#1357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd option to overwrite serializer description \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1463\"\u003e#1463\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1464\"\u003etfranzel/drf-spectacular#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove to_filter_name support for django_filter by \u003ca href=\"https://github.com/matwey\"\u003e\u003ccode\u003e@​matwey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1446\"\u003etfranzel/drf-spectacular#1446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: camelize tuples/fixed length array by \u003ca href=\"https://github.com/CharString\"\u003e\u003ccode\u003e@​CharString\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1432\"\u003etfranzel/drf-spectacular#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix memory leak by \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1416\"\u003etfranzel/drf-spectacular#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add check condition, that serializer meta has model attribute by \u003ca href=\"https://github.com/kritohanzo\"\u003e\u003ccode\u003e@​kritohanzo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1397\"\u003etfranzel/drf-spectacular#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[django-filter] Add null_label if set in ChoiceFilter by \u003ca href=\"https://github.com/epou\"\u003e\u003ccode\u003e@​epou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1450\"\u003etfranzel/drf-spectacular#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd l18n handling for Decimal field \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1466\"\u003e#1466\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1467\"\u003etfranzel/drf-spectacular#1467\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikemanger\"\u003e\u003ccode\u003e@​mikemanger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1389\"\u003etfranzel/drf-spectacular#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mbienkowsk\"\u003e\u003ccode\u003e@​mbienkowsk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1408\"\u003etfranzel/drf-spectacular#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yegorLitvinov\"\u003e\u003ccode\u003e@​yegorLitvinov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1411\"\u003etfranzel/drf-spectacular#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pauloxnet\"\u003e\u003ccode\u003e@​pauloxnet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1420\"\u003etfranzel/drf-spectacular#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/originell\"\u003e\u003ccode\u003e@​originell\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1440\"\u003etfranzel/drf-spectacular#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/florianvazelle\"\u003e\u003ccode\u003e@​florianvazelle\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1433\"\u003etfranzel/drf-spectacular#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maxhowald\"\u003e\u003ccode\u003e@​maxhowald\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1429\"\u003etfranzel/drf-spectacular#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keter2002\"\u003e\u003ccode\u003e@​keter2002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1457\"\u003etfranzel/drf-spectacular#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheSuperiorStanislav\"\u003e\u003ccode\u003e@​TheSuperiorStanislav\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1437\"\u003etfranzel/drf-spectacular#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astro-stan\"\u003e\u003ccode\u003e@​astro-stan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1405\"\u003etfranzel/drf-spectacular#1405\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tfranzel/drf-spectacular/blob/master/CHANGELOG.rst\"\u003edrf-spectacular's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.29.0 (2025-11-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd l18n handling for Decimal field \u003ccode\u003e[#1466](https://github.com/tfranzel/drf-spectacular/issues/1466) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1466\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eFix LogoutSerializer for JWT/dj_rest_auth \u003ccode\u003e[#1392](https://github.com/tfranzel/drf-spectacular/issues/1392) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1392\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003efix: support token blacklist feature in rest_auth [Bart van Andel]\u003c/li\u003e\n\u003cli\u003e[django-filter] Add null_label if set in ChoiceFilter (\u003ccode\u003e[#1450](https://github.com/tfranzel/drf-spectacular/issues/1450) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1450\u0026gt;\u003c/code\u003e_) [Enric Pou]\u003c/li\u003e\n\u003cli\u003efix: camelize tuples/fixed length array (\u003ccode\u003e[#1432](https://github.com/tfranzel/drf-spectacular/issues/1432) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1432\u0026gt;\u003c/code\u003e_) [Chris Wesseling]\u003c/li\u003e\n\u003cli\u003eFix items:False case in enum hook \u003ccode\u003e[#1432](https://github.com/tfranzel/drf-spectacular/issues/1432) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1432\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdd option to overwrite serializer description \u003ccode\u003e[#1463](https://github.com/tfranzel/drf-spectacular/issues/1463) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1463\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenApiViewExtension\u003c/code\u003e not providing view instance under \u003ccode\u003eself.target\u003c/code\u003e (\u003ccode\u003e[#1405](https://github.com/tfranzel/drf-spectacular/issues/1405) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1405\u0026gt;\u003c/code\u003e_) [astro-stan]\u003c/li\u003e\n\u003cli\u003eMove list default fix to source of the problem \u003ccode\u003e[#1436](https://github.com/tfranzel/drf-spectacular/issues/1436) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1436\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eImprove confusing doc \u003ccode\u003e[#1461](https://github.com/tfranzel/drf-spectacular/issues/1461) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1461\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdd assert to pagination test \u003ccode\u003e[#1459](https://github.com/tfranzel/drf-spectacular/issues/1459) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1459\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003efix SafeString handling for picky CDumper (\u003ccode\u003e[#1435](https://github.com/tfranzel/drf-spectacular/issues/1435) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1435\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eRemove EOL 3.7 from suite; pydantic not updated for \u0026lt;=3.8\u003c/li\u003e\n\u003cli\u003eFix DecimalField with decimal_places and max_digits equal. [keter2002]\u003c/li\u003e\n\u003cli\u003efix test for i18n changes on DRF (\u003ccode\u003e[#1444](https://github.com/tfranzel/drf-spectacular/issues/1444) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1444\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eImprove to_filter_name support for django_filter [Matwey V. Kornilov]\u003c/li\u003e\n\u003cli\u003efixes prefix estimation on windows [Luis Nell]\u003c/li\u003e\n\u003cli\u003eFix default for array types [Stanislav Khlud]\u003c/li\u003e\n\u003cli\u003efix: use CSafeDumper for render yaml if available [florian]\u003c/li\u003e\n\u003cli\u003efix: sort list to produce same hash [florian]\u003c/li\u003e\n\u003cli\u003eAdd typing.Generic to default lib_doc_excludes [Max Howald]\u003c/li\u003e\n\u003cli\u003eAdd get_doc test for class that inherits from Generic [Max Howald]\u003c/li\u003e\n\u003cli\u003eAdd Django REST framework 3.16 support [Paolo Melchiorre]\u003c/li\u003e\n\u003cli\u003eFix memory leak [artemkucher]\u003c/li\u003e\n\u003cli\u003eFix python 3.11 slice index [Egor Litvinov]\u003c/li\u003e\n\u003cli\u003efix: correct port mapping for the container in README [Maksym Bieńkowski]\u003c/li\u003e\n\u003cli\u003eUpdate docs [q0w]\u003c/li\u003e\n\u003cli\u003eAllow setting callable for ENUM_NAME_OVERRIDES [q0w]\u003c/li\u003e\n\u003cli\u003eAdd allauth's DRF token auth \u003ccode\u003e[#1401](https://github.com/tfranzel/drf-spectacular/issues/1401) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1401\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eupdate away from retired GH worker image\u003c/li\u003e\n\u003cli\u003eadd condition to check, that serializer Meta has model attribute [aliev_vt]\u003c/li\u003e\n\u003cli\u003eFix docs compile issue and update some old code (\u003ccode\u003e[#1389](https://github.com/tfranzel/drf-spectacular/issues/1389) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1389\u0026gt;\u003c/code\u003e_) [Mike Manger]\u003c/li\u003e\n\u003cli\u003eFix location of \u003ca href=\"https://github.com/extend\"\u003e\u003ccode\u003e@​extend\u003c/code\u003e\u003c/a\u003e_schema_field [johnthagen]\u003c/li\u003e\n\u003cli\u003eRemove reference to non-exposed lazy_serializer [johnthagen]\u003c/li\u003e\n\u003cli\u003eDocument how to lazily define a recursive SerializerMethod [johnthagen]\u003c/li\u003e\n\u003cli\u003eLink to SerializerMethod docs [johnthagen]\u003c/li\u003e\n\u003cli\u003eDocument Django 5.1 support in README [johnthagen]\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.11 to 4.2.18 in /requirements [dependabot[bot]]\u003c/li\u003e\n\u003cli\u003eEnhance bug report template with instructions for better clarity [antoliny0919]\u003c/li\u003e\n\u003cli\u003eadd pydantic computed field to tests \u003ccode\u003e[#1354](https://github.com/tfranzel/drf-spectacular/issues/1354) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1354\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes / important additions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFinally fixed the memory leak thanks to \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnother performance improvement is the usage of the C versions of yaml, if available.\u003c/li\u003e\n\u003cli\u003eApart from that, there are a lot of small improvements and bugfixes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/7a7a1f2acc2287466738c87b7e62958b4cb10abd\"\u003e\u003ccode\u003e7a7a1f2\u003c/code\u003e\u003c/a\u003e disable py3.8 target due to pyproject.toml issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/ff7a62bebf82da7c93d7f773522257f2bfd3df06\"\u003e\u003ccode\u003eff7a62b\u003c/code\u003e\u003c/a\u003e fix docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/e58143b50295257320ff836fb3422d1364575722\"\u003e\u003ccode\u003ee58143b\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/e40b287c22ab1a09e6182d32045055744f358d1f\"\u003e\u003ccode\u003ee40b287\u003c/code\u003e\u003c/a\u003e Renovate project setup \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1162\"\u003e#1162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/62fc98b412112b8396796d76e6a06b4c7c0e45ca\"\u003e\u003ccode\u003e62fc98b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1467\"\u003e#1467\u003c/a\u003e from tfranzel/decimal_l18n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/d7247a5fa400888c3f7958041da78da8641fb86a\"\u003e\u003ccode\u003ed7247a5\u003c/code\u003e\u003c/a\u003e Add l18n handling for Decimal field \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1466\"\u003e#1466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/5221afdd524091faca3839bb97ee883bdf1ac5b5\"\u003e\u003ccode\u003e5221afd\u003c/code\u003e\u003c/a\u003e Merge branch '\u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1392\"\u003e#1392\u003c/a\u003e'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/88302fa5aead206d0156cf09e389bb14cd514879\"\u003e\u003ccode\u003e88302fa\u003c/code\u003e\u003c/a\u003e Fix LogoutSerializer for JWT/dj_rest_auth \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1392\"\u003e#1392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/f7138e330e16da34c902246b05ea23fe08da8350\"\u003e\u003ccode\u003ef7138e3\u003c/code\u003e\u003c/a\u003e fix: support token blacklist feature in rest_auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/2c71a35c5d11809f2c06b85ccb8d83b541f4f92c\"\u003e\u003ccode\u003e2c71a35\u003c/code\u003e\u003c/a\u003e [django-filter] Add null_label if set in ChoiceFilter (\u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tfranzel/drf-spectacular/compare/0.28.0...0.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dulwich` from 0.24.1 to 0.24.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dulwich/dulwich/releases\"\u003edulwich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edulwich-0.24.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport ref namespaces by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1957\"\u003ejelmer/dulwich#1957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Rust test step to CI workflow. by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1958\"\u003ejelmer/dulwich#1958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for GIT_FLUSH environment variable by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1959\"\u003ejelmer/dulwich#1959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for recursive submodule updates by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1961\"\u003ejelmer/dulwich#1961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd maintenance subcommand by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1960\"\u003ejelmer/dulwich#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd interpret-trailers command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1962\"\u003ejelmer/dulwich#1962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for replace command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1963\"\u003ejelmer/dulwich#1963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config file leakage in compat tests by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1964\"\u003ejelmer/dulwich#1964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVarious bundle fixes by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1965\"\u003ejelmer/dulwich#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement advanced Git object specification support by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1966\"\u003ejelmer/dulwich#1966\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rust implementation of create_delta by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1956\"\u003ejelmer/dulwich#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for dulwich stripspace by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1967\"\u003ejelmer/dulwich#1967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix TypeError when passing refspec to clone() by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1968\"\u003ejelmer/dulwich#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop authors by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1970\"\u003ejelmer/dulwich#1970\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd per-URL http.extraHeader configuration support by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1969\"\u003ejelmer/dulwich#1969\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for GIT_REFLOG_ACTION environment variable by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1971\"\u003ejelmer/dulwich#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake generate_pack_data() arguments consistent and keyword-only by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1972\"\u003ejelmer/dulwich#1972\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump typing-extensions by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1974\"\u003ejelmer/dulwich#1974\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.7...dulwich-0.24.8\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.7...dulwich-0.24.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse make_commit() from test utils in test files by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1943\"\u003ejelmer/dulwich#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance fetch with missing options by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1944\"\u003ejelmer/dulwich#1944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd sparse index support for improved performance with large repositories by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1946\"\u003ejelmer/dulwich#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSH connections with custom ssh command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1947\"\u003ejelmer/dulwich#1947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWork around typing module bug in Python 3.9.0/3.9.1 by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1949\"\u003ejelmer/dulwich#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnd support for local files in LFS by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1953\"\u003ejelmer/dulwich#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for core.fsyncObjectFiles configuration option by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1954\"\u003ejelmer/dulwich#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd bitmap support by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1952\"\u003ejelmer/dulwich#1952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.6...dulwich-0.24.7\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.6...dulwich-0.24.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore pool_manager parameter to transport functions by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1929\"\u003ejelmer/dulwich#1929\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport show-branch by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1931\"\u003ejelmer/dulwich#1931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git mailsplit command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1930\"\u003ejelmer/dulwich#1930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dulwich config CLI command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1933\"\u003ejelmer/dulwich#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git cherry command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1932\"\u003ejelmer/dulwich#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure files are closed by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1935\"\u003ejelmer/dulwich#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for octopus merge strategy by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1934\"\u003ejelmer/dulwich#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd convenience functions for dealing with refs by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1937\"\u003ejelmer/dulwich#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement recursive merge strategy for handling multiple merge bases by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1936\"\u003ejelmer/dulwich#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git grep command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1938\"\u003ejelmer/dulwich#1938\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jelmer/dulwich/blob/master/NEWS\"\u003edulwich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.24.8\t2025-10-29\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rust implementation of pack delta creation (create_delta). The\nimplementation uses the similar crate for efficient diff computation.\n(Jelmer Vernooĳ)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExtend \u003ccode\u003ehttp.extraHeader\u003c/code\u003e configuration to support per-URL settings.\nAllows configuring different HTTP headers for specific URLs using\n\u003ccode\u003ehttp.\u0026lt;url\u0026gt;.extraHeader\u003c/code\u003e syntax, enabling authentication in CI/CD\nenvironments like GitHub Actions. More specific URL configurations\noverride less specific ones.  (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/882\"\u003e#882\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003eGIT_REFLOG_ACTION\u003c/code\u003e environment variable in porcelain\nfunctions. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1811\"\u003e#1811\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for namespace isolation via \u003ccode\u003eNamespacedRefsContainer\u003c/code\u003e.\nImplements Git's namespace feature for isolating refs within a single\nrepository using the \u003ccode\u003erefs/namespaces/\u003c/code\u003e prefix. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1809\"\u003e#1809\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for GIT_FLUSH environment variable to control output buffering\nin CLI commands. When GIT_FLUSH=1, output is flushed after each write for\nreal-time visibility. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1810\"\u003e#1810\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement \u003ccode\u003edulwich interpret-trailers\u003c/code\u003e functionality to parse and manipulate\nstructured metadata (trailers) in commit messages. Adds \u003ccode\u003eporcelain.interpret_trailers()\u003c/code\u003e\nwith support for parsing, adding, replacing, and formatting trailers. Also fixes\nthe \u003ccode\u003esignoff\u003c/code\u003e parameter in \u003ccode\u003eporcelain.commit()\u003c/code\u003e to add \u003ccode\u003eSigned-off-by\u003c/code\u003e trailers.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for recursive submodule updates via \u003ccode\u003e--recursive\u003c/code\u003e flag in\n\u003ccode\u003edulwich submodule update\u003c/code\u003e command and \u003ccode\u003erecursive\u003c/code\u003e parameter in\n\u003ccode\u003eporcelain.submodule_update()\u003c/code\u003e.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1813\"\u003e#1813\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003egit maintenance\u003c/code\u003e command to optimize Git repository data.\nImplements gc, commit-graph, loose-objects, incremental-repack, pack-refs, and\nprefetch tasks. Supports automatic maintenance with \u003ccode\u003e--auto\u003c/code\u003e flag and task-specific\nconfiguration. (Jelmer Vernooĳ)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003edulwich replace\u003c/code\u003e command to create refs that replace objects.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1834\"\u003e#1834\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement advanced Git object specification support: index path lookup (\u003ccode\u003e:\u003c/code\u003e, \u003ccode\u003e:0:\u003c/code\u003e,\n\u003ccode\u003e:1:\u003c/code\u003e, \u003ccode\u003e:2:\u003c/code\u003e, \u003ccode\u003e:3:\u003c/code\u003e) for accessing files from the index and merge stages, and\nreflog time specifications (\u003ccode\u003e@{time}\u003c/code\u003e) using Git's approxidate format (e.g.,\n\u003ccode\u003eHEAD@{yesterday}`, \u003c/code\u003emaster@{2.weeks.ago}``). (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1783\"\u003e#1783\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003edulwich stripspace\u003c/code\u003e command to remove unnecessary whitespace from text.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1838\"\u003e#1838\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/0793d023de8314426c5e5e2e2e1cda823d51eb36\"\u003e\u003ccode\u003e0793d02\u003c/code\u003e\u003c/a\u003e release 0.24.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/f146cc4a14f0ca3089ab00e9c1be4585f3df78ef\"\u003e\u003ccode\u003ef146cc4\u003c/code\u003e\u003c/a\u003e Bump typing-extensions (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1974\"\u003e#1974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/802c63e5f7d55ee4e7b443c80343b8ffa207725b\"\u003e\u003ccode\u003e802c63e\u003c/code\u003e\u003c/a\u003e Make generate_pack_data() arguments consistent and keyword-only (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/b31a6cfee42f0c04f033c73e3220e562c0ec6423\"\u003e\u003ccode\u003eb31a6cf\u003c/code\u003e\u003c/a\u003e Bump typing-extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/5b154847c7844495ea3753bae6fceac3180fbbb4\"\u003e\u003ccode\u003e5b15484\u003c/code\u003e\u003c/a\u003e Make generate_pack_data() arguments consistent and keyword-only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/a5c62c4922584a8633a7256240ad28a9f7a5af76\"\u003e\u003ccode\u003ea5c62c4\u003c/code\u003e\u003c/a\u003e Add support for GIT_REFLOG_ACTION environment variable (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/5e1a7093836ca94ef64648c8f1169b65b6aa1a5c\"\u003e\u003ccode\u003e5e1a709\u003c/code\u003e\u003c/a\u003e Add support for GIT_REFLOG_ACTION environment variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/12a5f0c460886272e0cba915d29f0985689b1ce1\"\u003e\u003ccode\u003e12a5f0c\u003c/code\u003e\u003c/a\u003e Add per-URL http.extraHeader configuration support (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/11c1051b979ea3b463cca71d22843cede90d0379\"\u003e\u003ccode\u003e11c1051\u003c/code\u003e\u003c/a\u003e Drop authors (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1970\"\u003e#1970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/406fad90cb3a10a9dfdcd945901285a4d572a71e\"\u003e\u003ccode\u003e406fad9\u003c/code\u003e\u003c/a\u003e Fix TypeError when passing refspec to clone() (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1968\"\u003e#1968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dulwich/dulwich/compare/dulwich-0.24.1...dulwich-0.24.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pint` from 0.24.4 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hgrecco/pint/blob/master/CHANGES\"\u003epint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1 (2025-11-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix raising exception in \u003ccode\u003eQuantity.from_tuple\u003c/code\u003e with invalid units (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeveral unit definition fixes.\u003c/li\u003e\n\u003cli\u003eAdd devcontainer.json to add GitHub Codespace support (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003enumpy.geomspace\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elinalg.diagonal\u003c/code\u003e, \u003ccode\u003elinalg.matrix_transpose\u003c/code\u003e, \u003ccode\u003ediag\u003c/code\u003e, \u003ccode\u003etril\u003c/code\u003e, \u003ccode\u003etriu\u003c/code\u003e, \u003ccode\u003elinalg.eigvals\u003c/code\u003e, \u003ccode\u003elinalg.eigvalsh\u003c/code\u003e, \u003ccode\u003elinalg.matrix_norm\u003c/code\u003e and \u003ccode\u003elinalg.vector_norm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2210\"\u003e#2210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAn example of performing currency conversions that change over time has been added to the docs. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2240\"\u003e#2240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003epint.Quantity\u003c/code\u003e being used as Generic. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2231\"\u003e#2231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a typing and IDE autocomplete page to the documentation. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2243\"\u003e#2243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enan\u003c/code\u003e/\u003ccode\u003enan\u003c/code\u003e to return \u003ccode\u003enan\u003c/code\u003e rather than 1 in unit conversion (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2228\"\u003e#2228\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0 (2025-08-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum Python version to 3.11.\u003c/li\u003e\n\u003cli\u003eUpgrade code to Python 3.11.\u003c/li\u003e\n\u003cli\u003eMove to pixi/uv/ruff.\u003c/li\u003e\n\u003cli\u003eRefactor compat to make it easier to test.\u003c/li\u003e\n\u003cli\u003eImplemented several pixi environment and tasks to simplify development.\u003c/li\u003e\n\u003cli\u003eAdd docs to the functions in \u003ccode\u003epint.testing\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix round function returning float instead of int (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix return type of \u003ccode\u003ePlainQuantity.to\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2088\"\u003e#2088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate constants to CODATA 2022 recommended values. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue with \u003ccode\u003e.to_compact\u003c/code\u003e and Magnitudes with uncertainties / Quantities with units (PR \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2069\"\u003e#2069\u003c/a\u003e, issue \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2044\"\u003e#2044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue in unit conversion which led to loss of precision when using \u003ccode\u003edecimal\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd conductivity dimension. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd absorbance unit and dimension. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd membrane filtration flux and permeability dimensionality, and shorthand \u0026quot;LMH\u0026quot;. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix find_shortest_path to use breadth first search (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2146\"\u003e#2146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003epyproject.toml\u003c/code\u003e: rename \u003ccode\u003eAS_MIP\u003c/code\u003e to \u003ccode\u003eHAS_MIP\u003c/code\u003e so that MIP support is correctly detected. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2152\"\u003e#2152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of extra arguments in conversion with enabled contexts (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2172\"\u003e#2172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix swapped left and right arguments in interp (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatted scientific notation bug in Python 3.13 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2168\"\u003e#2168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix ability to add dB units, and to add dB (dimensionless) to referenced dB units, such as dBm or dBW (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1160\"\u003e#1160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove pressure unit definitions in default definition file (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2186\"\u003e#2186\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid and document known issues with MIP during install, testing and runtime (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue with Dask by restricting its version to \u0026lt; 2025.3.0 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and Dask \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip false xfail tests linked to a known numpy issue (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003eContributing\u003c/code\u003e documentation (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eQuantity.to_unprefixed\u003c/code\u003e and \u003ccode\u003eito_unprefixed\u003c/code\u003e methods that remove SI prefixes without converting to base units. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2201\"\u003e#2201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/7caaf15d4f65948572d5a2a32189b3ef4df46b5d\"\u003e\u003ccode\u003e7caaf15\u003c/code\u003e\u003c/a\u003e typing for unit \u003cstrong\u003emul\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2243\"\u003e#2243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/ea41cb7817c715f83559100b9563b4e8098d6703\"\u003e\u003ccode\u003eea41cb7\u003c/code\u003e\u003c/a\u003e typing docs (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2242\"\u003e#2242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/7ecfe3cf098a6bfd89954f17bc214e3d26f0eb07\"\u003e\u003ccode\u003e7ecfe3c\u003c/code\u003e\u003c/a\u003e Cancelnans (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2241\"\u003e#2241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/9adf5cc9abb2e67a6f2d30c50401084fcb92c645\"\u003e\u003ccode\u003e9adf5cc\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003ecomplex\u003c/code\u003e to the union of the \u003ccode\u003eScalar\u003c/code\u003e alias (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2236\"\u003e#2236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/45a44301b553cf12affe7bf94b39e5610e19845b\"\u003e\u003ccode\u003e45a4430\u003c/code\u003e\u003c/a\u003e currency example (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2240\"\u003e#2240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/7101803cab6fd40ce707b99cacf1bea2155301cd\"\u003e\u003ccode\u003e7101803\u003c/code\u003e\u003c/a\u003e Allow pint.registry.Quantity to be used as a generic class (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2231\"\u003e#2231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/5e5104d4bd0e09960a4ac688ea125fbab8f04ce2\"\u003e\u003ccode\u003e5e5104d\u003c/code\u003e\u003c/a\u003e Fix definition...\n\n_Description has been truncated_","html_url":"https://github.com/invenhost/InvenTree/pull/260","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/invenhost%2FInvenTree/issues/260","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/260/packages"},{"uuid":"3578178843","node_id":"PR_kwDOBqTFoc6w_v-q","number":330,"state":"closed","title":"Bump the uv-dependencies group with 13 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-02T12:32:39.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-01T16:26:45.000Z","updated_at":"2025-11-02T12:32:41.000Z","time_to_close":72354,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv-dependencies","update_count":13,"packages":[{"name":"biopython","old_version":"1.85","new_version":"1.86","repository_url":"https://github.com/biopython/biopython"},{"name":"django-anymail","old_version":"10.0","new_version":"13.1","repository_url":"https://github.com/anymail/django-anymail"},{"name":"django-crispy-forms","old_version":"1.13.0","new_version":"2.4","repository_url":"https://github.com/django-crispy-forms/django-crispy-forms"},{"name":"django-reversion-compare","old_version":"0.19.0","new_version":"0.19.1","repository_url":"https://github.com/jedie/django-reversion-compare"},{"name":"google-auth","old_version":"2.41.1","new_version":"2.42.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"numpy","old_version":"2.2.6","new_version":"2.3.4","repository_url":"https://github.com/numpy/numpy"},{"name":"sentry-sdk","old_version":"2.42.0","new_version":"2.43.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"},{"name":"structlog","old_version":"25.4.0","new_version":"25.5.0","repository_url":"https://github.com/hynek/structlog"},{"name":"django-debug-toolbar","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/django-commons/django-debug-toolbar"},{"name":"djangorestframework-stubs","old_version":"3.16.4","new_version":"3.16.5","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"prek","old_version":"0.2.11","new_version":"0.2.12","repository_url":"https://github.com/j178/prek"},{"name":"ruff","old_version":"0.14.1","new_version":"0.14.3","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-dependencies group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [biopython](https://github.com/biopython/biopython) | `1.85` | `1.86` |\n| [django-anymail](https://github.com/anymail/django-anymail) | `10.0` | `13.1` |\n| [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) | `1.13.0` | `2.4` |\n| [django-reversion-compare](https://github.com/jedie/django-reversion-compare) | `0.19.0` | `0.19.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.41.1` | `2.42.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.6` | `2.3.4` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.42.0` | `2.43.0` |\n| [django-structlog](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [structlog](https://github.com/hynek/structlog) | `25.4.0` | `25.5.0` |\n| [django-debug-toolbar](https://github.com/django-commons/django-debug-toolbar) | `6.0.0` | `6.1.0` |\n| [djangorestframework-stubs](https://github.com/sponsors/typeddjango) | `3.16.4` | `3.16.5` |\n| [prek](https://github.com/j178/prek) | `0.2.11` | `0.2.12` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.1` | `0.14.3` |\n\nUpdates `biopython` from 1.85 to 1.86\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biopython/biopython/blob/master/NEWS.rst\"\u003ebiopython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e28 October 2025: Biopython 1.86\u003c/h1\u003e\n\u003cp\u003eThis release of Biopython supports Python 3.10, 3.11, 3.12, 3.13 and 3.14.  It\nhas also been tested on PyPy3.10 v7.3.19.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.SearchIO\u003c/code\u003e now supports parsing the tabular and plain text output of\n\u003ccode\u003eInfernal \u0026lt;http://eddylab.org/infernal/\u0026gt;\u003c/code\u003e (v1.0.0+) RNA search tool. The\nformat names are \u003ccode\u003einfernal-tab\u003c/code\u003e and \u003ccode\u003einfernal-text\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default value of the gap score of a \u003ccode\u003ePairwiseAligner\u003c/code\u003e object was changed\nin this release.  Previously, for consistency with \u003ccode\u003eBio.pairwise2\u003c/code\u003e, the\ndefault value for gap score was 0.  However, this means that a mismatch, an\ninsertion followed by a deletion, and a deletion followed by an insertion all\nget assigned a score of 0.  The aligner then finds a large number of alignments\nthat are logically the same, but have trivial differences between them.  For\nexample, aligning AAACAAA to AAAGAAA previously yielded the following three\nalignments, all with score 6::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e AAACAAA        AAAC-AAA        AAA-CAAA\n AAAGAAA        AAA-GAAA        AAAG-AAA\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWith the new default parameter for the gap score, only the first alignment is\nreturned.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e now ensures that b-factor values are always at most 6 characters to\nensure that we do not violate the wwPDB specification. This should not have an impact\non the majority of uses, as b-factor values are generally small (less than 100). When\n1000 \u0026lt;= b-factor \u0026lt; 10_000, the value is rounded to a single decimal place. When,\n10_000 \u0026lt;= b-factor \u0026lt; 999_999, the value is rounded to zero decimal places. Values\nabove 999_999 are now clamped. The justification for this is the rise in the b-factor\nfield being used for additional metadata, typically from computational tools.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.Align\u003c/code\u003e now provides a method \u003ccode\u003eAlignment.from_alignments_with_same_reference\u003c/code\u003e\nto construct a multiple sequence alignment from a collection of alignments\nthat share the same reference sequence.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e will now raise module specific warnings:\n\u003ccode\u003eBio.PDB.PDBExceptions.PDBIOWarning\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.SCADIO\u003c/code\u003e now supports object selection by color in the OpenSCAD\noutput file.  This enables generation of separate STL files for each color for\nprinting protein structures on multi-material 3D printers.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eiplotx\u003c/code\u003e library is mentioned in the Tutorial as an option to visualise\ntrees using complex style options.\u003c/p\u003e\n\u003cp\u003eMany thanks to the Biopython developers and community for making this release\npossible, especially the following contributors:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/biopython/biopython/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-anymail` from 10.0 to 13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anymail/django-anymail/releases\"\u003edjango-anymail's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev13.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v13-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev13.0.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v13-0-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev13.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v13-0\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev12.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v12-0\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v11-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.0.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v11-0-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e(This release is solely to update documentation and metadata. Code is identical to v11.0.)\u003c/p\u003e\n\u003ch2\u003ev11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking changes\u003c/strong\u003e for Amazon SES; SparkPost (with \u003ccode\u003etemplate_id\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003emerge_headers\u003c/code\u003e feature\u003c/li\u003e\n\u003cli\u003eAnd more…\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check the \u003ca href=\"https://anymail.dev/en/stable/changelog/#v11-0\"\u003echangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v10-3\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v10-2\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v10-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anymail/django-anymail/blob/main/CHANGELOG.rst\"\u003edjango-anymail's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev13.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-03\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **Scaleway:** Add support for this ESP.\n  (See `docs \u0026lt;https://anymail.dev/en/stable/esps/scaleway/\u0026gt;`__.\n  Thanks to `@hleroy`_ for the contribution.)\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSendGrid:\u003c/strong\u003e Add optional signature verification for tracking webhooks.\nTo support this, Anymail now includes the :pypi:\u003ccode\u003ecryptography\u003c/code\u003e package when\ninstalled with the \u003ccode\u003edjango-anymail[sendgrid]\u003c/code\u003e extra.\n(Thanks to \u003ccode\u003e@blag\u003c/code\u003e_ for contributing this improvement. Note this was tested\nagainst SendGrid's live API by its contributor at the time it was added,\nbut cannot be independently verified by Anymail's maintainers as we\n\u003ccode\u003eno longer have access \u0026amp;lt;https://github.com/anymail/django-anymail/issues/432\u0026amp;gt;\u003c/code\u003e__\nto a SendGrid test account.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev13.0.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-07-25\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eBreaking changes (external)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSendGrid:\u003c/strong\u003e Anymail no longer officially supports SendGrid, because we are\nunable to test it. Although it will \u003cem\u003eprobably\u003c/em\u003e keep working, you'll get\nwarnings about this change in status. See\n\u003ccode\u003eDropping support for SendGrid \u0026lt;https://github.com/anymail/django-anymail/issues/432\u0026gt;\u003c/code\u003e__\nfor details and actions SendGrid customers can take. (Since this breaking\nchange is due to external causes and impacts SendGrid users on all versions\nof Anymail, it is being handled as a minor patch release rather than a semver\nmajor version change.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **Amazon SES:** Require boto3 1.24.6 or later to ensure support for the SESv2\n  close method. (Thanks to `@mgibeau`_ for identifying the issue.)\n\u003ch2\u003ev13.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-04-03\u003c/em\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/74b5e257c0089a1cc47104607fcc99da8b282105\"\u003e\u003ccode\u003e74b5e25\u003c/code\u003e\u003c/a\u003e Release 13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/12f203290e72642ce927fc53364d4eca64234071\"\u003e\u003ccode\u003e12f2032\u003c/code\u003e\u003c/a\u003e Scaleway: cleanup and enable integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/8be0aaa4cec676c91712a7d45132787e30490c6c\"\u003e\u003ccode\u003e8be0aaa\u003c/code\u003e\u003c/a\u003e Readme: fix test status badges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/90367b394a8b2c472a47efab1a452817e3ec9783\"\u003e\u003ccode\u003e90367b3\u003c/code\u003e\u003c/a\u003e Scaleway: new ESP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/4b2d6f857651801739044a0ff81fbaa947d7c8d4\"\u003e\u003ccode\u003e4b2d6f8\u003c/code\u003e\u003c/a\u003e SendGrid: Add optional webhook signature verification\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/b8a5ee89f6df3f3d4760d83338b099830afdae9b\"\u003e\u003ccode\u003eb8a5ee8\u003c/code\u003e\u003c/a\u003e CI: fix typo in release.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/30c613003f4a8bac0b78d50cabcfd474bf9ea8aa\"\u003e\u003ccode\u003e30c6130\u003c/code\u003e\u003c/a\u003e Release 13.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/6b27bd9d699d41d209cb9ae6103b0e5f6f324d90\"\u003e\u003ccode\u003e6b27bd9\u003c/code\u003e\u003c/a\u003e CI: fix outdated Django 5.2 alpha reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/dfa4ce0c6a62e9002f68331e0137ee128031b900\"\u003e\u003ccode\u003edfa4ce0\u003c/code\u003e\u003c/a\u003e SendGrid: change to \u0026quot;unsupported\u0026quot; status\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/c29c993d85ba5f971375d6a2ca565458a31f1c4a\"\u003e\u003ccode\u003ec29c993\u003c/code\u003e\u003c/a\u003e Fix lint\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anymail/django-anymail/compare/v10.0...v13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-crispy-forms` from 1.13.0 to 2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/releases\"\u003edjango-crispy-forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eConfirmed support for Django 5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed unexpected addition the 'active' css_class to AccordionGroup\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 5.1.\u003c/li\u003e\n\u003cli\u003eAllowed pass through of context when rendering a Fieldset layout object.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.1...2.2\"\u003ehttps://github.com/django-crispy-forms/django-crispy-forms/compare/2.1...2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 5.0.\u003c/li\u003e\n\u003cli\u003eDropped support for Django 3.2, 4.0 and 4.1.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DanielSwain\"\u003e\u003ccode\u003e@​DanielSwain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/pull/1340\"\u003edjango-crispy-forms/django-crispy-forms#1340\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sankarebarri\"\u003e\u003ccode\u003e@​sankarebarri\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/pull/1342\"\u003edjango-crispy-forms/django-crispy-forms#1342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/foarsitter\"\u003e\u003ccode\u003e@​foarsitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/pull/1353\"\u003edjango-crispy-forms/django-crispy-forms#1353\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.0...2.1\"\u003ehttps://github.com/django-crispy-forms/django-crispy-forms/compare/2.0...2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003e2.0 (2023-02-13)\u003c/h1\u003e\n\u003ch2\u003eMajor Changes and Migration Guide\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved all Bootstrap template packs. These template packs are now available as standalone packages.\nTo upgrade, install the required template pack and add it to your\n\u003ca href=\"https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-INSTALLED_APPS\"\u003e\u003ccode\u003eINSTALLED_APPS\u003c/code\u003e\u003c/a\u003e setting.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBoostrap 2: \u003ca href=\"https://pypi.org/project/crispy-forms-bootstrap2/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-forms-bootstrap2\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoostrap 3: \u003ca href=\"https://pypi.org/project/crispy-bootstrap3/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap3\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoostrap 4: \u003ca href=\"https://pypi.org/project/crispy-bootstrap4/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap4\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAlso, support for Bootstrap 5 is provided by a 3rd party package under the \u003ccode\u003edjango-crispy-forms\u003c/code\u003e organisation at\n\u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap5\"\u003ecrispy-bootstrap5\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved uni-form template pack. Uni-Form specific classes previously added to every template pack e.g. \u003ccode\u003etextInput\u003c/code\u003e are now removed.\nIf you require these classes, the previous behaviour can be restored by adding the following to \u003ca href=\"https://django-crispy-forms.readthedocs.io/en/latest/crispy_tag_forms.html#change-crispy-forms-input-default-classes\"\u003eCRISPY_CLASS_CONVERTERS\u003c/a\u003e in your settings file.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  converters = {\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md\"\u003edjango-crispy-forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4 (2025-04-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eConfirmed support for Django 5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3 (2024-07-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug in \u003ccode\u003eAccordionGroup\u003c/code\u003e rendering then it gets an unexpected css class \u003ccode\u003eactive\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2 (2024-06-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 5.1.\u003c/li\u003e\n\u003cli\u003eAllowed pass through of context when rendering a \u003ccode\u003eFieldset\u003c/code\u003e layout object.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1 (2023-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 5.0.\u003c/li\u003e\n\u003cli\u003eDropped support for Django 3.2, 4.0 and 4.1.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/milestone/20?closed=1\"\u003e2.1 Milestone\u003c/a\u003e for the full change\nlist.\u003c/p\u003e\n\u003ch2\u003e2.0 (2023-02-13)\u003c/h2\u003e\n\u003cp\u003eRelease of django-crispy-forms 2.0. No changes introduced since 2.0a1.\u003c/p\u003e\n\u003ch2\u003e2.0a1 (2023-01-18)\u003c/h2\u003e\n\u003ch1\u003eMajor Changes and Migration Guide\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved all Bootstrap template packs. These template packs are now available as standalone packages.\nTo upgrade, install the required template pack and add it to your\n\u003ca href=\"https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-INSTALLED_APPS\"\u003e\u003ccode\u003eINSTALLED_APPS\u003c/code\u003e\u003c/a\u003e setting.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBoostrap 2: \u003ca href=\"https://pypi.org/project/crispy-forms-bootstrap2/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-forms-bootstrap2\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoostrap 3: \u003ca href=\"https://pypi.org/project/crispy-bootstrap3/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap3\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoostrap 4: \u003ca href=\"https://pypi.org/project/crispy-bootstrap4/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap4\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAlso, support for Bootstrap 5 is provided by a 3rd party package under the \u003ccode\u003edjango-crispy-forms\u003c/code\u003e organisation at\n\u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap5\"\u003ecrispy-bootstrap5\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved uni-form template pack. Uni-Form specific classes previously added to every template pack e.g. \u003ccode\u003etextInput\u003c/code\u003e are now removed.\nIf you require these classes, the previous behaviour can be restored by adding the following to \u003ca href=\"https://django-crispy-forms.readthedocs.io/en/latest/crispy_tag_forms.html#change-crispy-forms-input-default-classes\"\u003eCRISPY_CLASS_CONVERTERS\u003c/a\u003e in your settings file.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  converters = {\n    \u0026quot;textinput\u0026quot;: \u0026quot;textinput textInput\u0026quot;,\n    \u0026quot;fileinput\u0026quot;: \u0026quot;fileinput fileUpload\u0026quot;,\n    \u0026quot;passwordinput\u0026quot;: \u0026quot;textinput textInput\u0026quot;,\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003euni-form\u003c/code\u003e template pack allowed for rendering of templates using a \u003ccode\u003edefault\u003c/code\u003e or \u003ccode\u003einline\u003c/code\u003e layout. As the \u003ccode\u003euni-form\u003c/code\u003e template\npack has been removed support for this has also been removed. This has resulted in the following \u003cstrong\u003eBREAKING\u003c/strong\u003e changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/b3f1d2255be531bba4acb67311a5d3c00dbd9973\"\u003e\u003ccode\u003eb3f1d22\u003c/code\u003e\u003c/a\u003e 2.4 Release. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1412\"\u003e#1412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/ac2479e16f48c265897acd2ce2455af6ad9840ef\"\u003e\u003ccode\u003eac2479e\u003c/code\u003e\u003c/a\u003e Update GitHub action versions in workflows. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/bb7030a9a07f327bc725a62341ae0e14526f82e6\"\u003e\u003ccode\u003ebb7030a\u003c/code\u003e\u003c/a\u003e Confirmed Django 5.2 support. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1407\"\u003e#1407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/a4fb3c7be1129cbd0de7895413cdb926fbb83d80\"\u003e\u003ccode\u003ea4fb3c7\u003c/code\u003e\u003c/a\u003e Pre-commit autoupdate. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1404\"\u003e#1404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/e7cc89a1a298515b3e934312f8aa1b21617c63a8\"\u003e\u003ccode\u003ee7cc89a\u003c/code\u003e\u003c/a\u003e Added Python 3.13 support. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1403\"\u003e#1403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/e07622dc68c7199f36677f819d8dcf68125ad596\"\u003e\u003ccode\u003ee07622d\u003c/code\u003e\u003c/a\u003e Version 2.3. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1396\"\u003e#1396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/64f4b21836eb6c54721e5f896a44493372053213\"\u003e\u003ccode\u003e64f4b21\u003c/code\u003e\u003c/a\u003e Fixed unexpected addition the 'active' css_class to AccordionGroup (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/4f454cd9d5fd3139ce1d0c01593c86923956ed5b\"\u003e\u003ccode\u003e4f454cd\u003c/code\u003e\u003c/a\u003e Version 2.2. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1392\"\u003e#1392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/086afbbe1bff99d39f00d3d044bf670fb3c953e0\"\u003e\u003ccode\u003e086afbb\u003c/code\u003e\u003c/a\u003e Fix documentation of \u003ccode\u003eField\u003c/code\u003e's constructor (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1375\"\u003e#1375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/f9d67d3e164c52f05a3465bce6aada099ad6fd9f\"\u003e\u003ccode\u003ef9d67d3\u003c/code\u003e\u003c/a\u003e Allowed pass through of context when rendering a \u003ccode\u003eFieldset\u003c/code\u003e layout object. ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/1.13.0...2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-reversion-compare` from 0.19.0 to 0.19.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jedie/django-reversion-compare/commit/0ca554456bb5d1b6ba3761afe075482cc23add45\"\u003e\u003ccode\u003e0ca5544\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jedie/django-reversion-compare/issues/265\"\u003e#265\u003c/a\u003e from jedie/update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jedie/django-reversion-compare/commit/677a7b43c1b2c7f775f118aa4c212e2229173dcd\"\u003e\u003ccode\u003e677a7b4\u003c/code\u003e\u003c/a\u003e Apply manageprojects updates + update requirements\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jedie/django-reversion-compare/compare/v0.19.0...v0.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.41.1 to 2.42.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRead scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e62c0fc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRead scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e62c0fc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d1b862db2b23b4b7ae7d243f6dbb23165636bd5\"\u003e\u003ccode\u003e5d1b862\u003c/code\u003e\u003c/a\u003e chore(main): release 2.42.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1853\"\u003e#1853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003e\u003ccode\u003eb074cad\u003c/code\u003e\u003c/a\u003e fix: catch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cb62f5727854965e108c4e1790c4f9f9306fe3ce\"\u003e\u003ccode\u003ecb62f57\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2f8826d3226a3df7dfdd5898c91ea15ee21d1bd0\"\u003e\u003ccode\u003e2f8826d\u003c/code\u003e\u003c/a\u003e chore(main): release 2.42.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1819\"\u003e#1819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/aca34b5ca521398be7bb99543a32302bc40ca234\"\u003e\u003ccode\u003eaca34b5\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1847\"\u003e#1847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e\u003ccode\u003e62c0fc8\u003c/code\u003e\u003c/a\u003e fix: Read scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e\u003ccode\u003e36ecb1d\u003c/code\u003e\u003c/a\u003e feat: Add trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/10823c2feb700075cd9d2e895ca60a1fa0d4d912\"\u003e\u003ccode\u003e10823c2\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1818\"\u003e#1818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e16d70b750e469d59e89ebc8969b6a74a97ae365\"\u003e\u003ccode\u003ee16d70b\u003c/code\u003e\u003c/a\u003e test: Add tests to cover deprecation and suppression (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1817\"\u003e#1817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.6 to 2.3.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.4 (Oct 15,  2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.4 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. This\nrelease is based on Python 3.14.0 final.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003enpymath\u003c/code\u003e and \u003ccode\u003enpyrandom\u003c/code\u003e libraries now have a \u003ccode\u003e.lib\u003c/code\u003e rather than a\n\u003ccode\u003e.a\u003c/code\u003e file extension on win-arm64, for compatibility for building with MSVC and\n\u003ccode\u003esetuptools\u003c/code\u003e. Please note that using these static libraries is discouraged\nand for existing projects using it, it's best to use it with a matching\ncompiler toolchain, which is \u003ccode\u003eclang-cl\u003c/code\u003e on Windows on Arm.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29750\"\u003egh-29750\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 17 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e!DWesl\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eChristian Barbia +\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaaz +\u003c/li\u003e\n\u003cli\u003eMateusz Sokół\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eRiku Sakamoto +\u003c/li\u003e\n\u003cli\u003eSandeep Gupta +\u003c/li\u003e\n\u003cli\u003eSayed Awad\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eSergey Fedorov +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003edependabot[bot]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 30 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29725\"\u003e#29725\u003c/a\u003e: MAINT: Prepare 2.3.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29781\"\u003e#29781\u003c/a\u003e: MAINT: Pin some upstream dependences\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29782\"\u003e#29782\u003c/a\u003e: BLD: enable x86-simd-sort to build on KNL with -mavx512f\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29783\"\u003e#29783\u003c/a\u003e: BUG: Include python-including headers first (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29281\"\u003e#29281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29784\"\u003e#29784\u003c/a\u003e: TYP: fix np.number and np.*integer method declaration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29785\"\u003e#29785\u003c/a\u003e: TYP: mypy 1.18.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/1458b9e79d1a5755eae9adcb346758f449b6b430\"\u003e\u003ccode\u003e1458b9e\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.4 release (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29955\"\u003e#29955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7583bed3577d8b5e7e74a24a6337d530b045f0bc\"\u003e\u003ccode\u003e7583bed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29950\"\u003e#29950\u003c/a\u003e from charris/backport-29885\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/318675152646f184a24da3f9b8742de202c99bfb\"\u003e\u003ccode\u003e3186751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29949\"\u003e#29949\u003c/a\u003e from charris/backport-29948\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7fd2ad9eff9cb04bcea5e2b6f89e8870329c5c93\"\u003e\u003ccode\u003e7fd2ad9\u003c/code\u003e\u003c/a\u003e STY: rename \u003ccode\u003e@classmethod\u003c/code\u003e arg to \u003ccode\u003ecls\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fe8447d7aefe7c63ab37d426e6d725e857fb45f7\"\u003e\u003ccode\u003efe8447d\u003c/code\u003e\u003c/a\u003e MAINT: Simplify string arena growth strategy (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29885\"\u003e#29885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a90f073415846b378ab166b5a2f9acf87876853b\"\u003e\u003ccode\u003ea90f073\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29940\"\u003e#29940\u003c/a\u003e from charris/backport-29937\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/55d91abd9564835cc0e0dcc92d84b25dcfaff1d9\"\u003e\u003ccode\u003e55d91ab\u003c/code\u003e\u003c/a\u003e MAINT: Bump pypa/cibuildwheel from 3.1.4 to 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e2f038314bb736930f74c127eed8843d29f59c55\"\u003e\u003ccode\u003ee2f0383\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29926\"\u003e#29926\u003c/a\u003e from charris/backport-29609\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b427e83710abd344168f156ab212a8d19f0d2185\"\u003e\u003ccode\u003eb427e83\u003c/code\u003e\u003c/a\u003e BUG: fix negative samples generated by Wald distribution (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29609\"\u003e#29609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/36363d6534eb9e786f998a56ccc59f0ba1bc1efe\"\u003e\u003ccode\u003e36363d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29922\"\u003e#29922\u003c/a\u003e from charris/backport-29914\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.6...v2.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sdk` from 2.42.0 to 2.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/releases\"\u003esentry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4906\"\u003e#4906\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        PydanticAIIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMCP Python SDK (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Python MCP integration with the code snippet below:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.mcp import MCPIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        MCPIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003esentry_sdk.init(\n    # ...\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md\"\u003esentry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4906\"\u003e#4906\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        PydanticAIIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMCP Python SDK (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Python MCP integration with the code snippet below:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.mcp import MCPIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        MCPIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003esentry_sdk.init(\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b069aa24fdf3c52a9e8b75f4f83d5fee035c3234\"\u003e\u003ccode\u003eb069aa2\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/a7a3fb17956790a0ddba575c0436e6409e0ddec5\"\u003e\u003ccode\u003ea7a3fb1\u003c/code\u003e\u003c/a\u003e release: 2.43.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/76cc4163087c6e89f406b89440be45d87ff8e148\"\u003e\u003ccode\u003e76cc416\u003c/code\u003e\u003c/a\u003e fix(google-genai): Set agent name (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b3b2eb62d9f1d9132aa8114a4d2eecf7e5fc517c\"\u003e\u003ccode\u003eb3b2eb6\u003c/code\u003e\u003c/a\u003e fix(integrations): hooking into error tracing function to find out if an exec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d7ccf06aea28c709abd3d6e7002951c4fa169fe2\"\u003e\u003ccode\u003ed7ccf06\u003c/code\u003e\u003c/a\u003e fix(django): Improve logic for classifying cache hits and misses (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5029\"\u003e#5029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/64c145ffb19cb7c49b679b0cdf2e7754f0f91d12\"\u003e\u003ccode\u003e64c145f\u003c/code\u003e\u003c/a\u003e chore(metrics): Rename _metrics to metrics (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/fe31660c50c649f1730f4307ae6f4c10e61acd2f\"\u003e\u003ccode\u003efe31660\u003c/code\u003e\u003c/a\u003e fix(tracemetrics): Bump metric buffer size to 1k (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5031\"\u003e#5031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/6e06a07467b7b808699d67e8b71bc5ec2fbc9f6f\"\u003e\u003ccode\u003e6e06a07\u003c/code\u003e\u003c/a\u003e fix startlette deprecation warning (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/e6366194f61fdae97e7867c6457b67ac9a77014c\"\u003e\u003ccode\u003ee636619\u003c/code\u003e\u003c/a\u003e fix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/8ab8f3b3895944ac52518d47a4ea436f715bab6c\"\u003e\u003ccode\u003e8ab8f3b\u003c/code\u003e\u003c/a\u003e ci: 🤖 Update test matrix with new releases (10/27) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5033\"\u003e#5033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-python/compare/2.42.0...2.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `structlog` from 25.4.0 to 25.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/structlog/releases\"\u003estructlog's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.5.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eHuge release! There's plenty of important little bug fixes and new features, but the headliner is definitely the improved ergonomics of \u003ccode\u003estructlog.dev.ConsoleRenderer\u003c/code\u003e. We have finally accepted that local development has different priorities than production and made it both mutable (with automatic re-configuration) and also easily retrievable (\u003ccode\u003ecr = ConsoleRenderer.get_active()\u003c/code\u003e). This allows you, for example, to disable Rich exception formatting as easily as \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active().exception_formatter = structlog.dev.plain_traceback\u003c/code\u003e. Please check out the \u003ca href=\"https://www.structlog.org/en/stable/console-output.html\"\u003eupdated docs\u003c/a\u003e!\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFull changelog below!\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eSpecial Thanks\u003c/h2\u003e\n\u003cp\u003eThis release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If \u003cem\u003eyou\u003c/em\u003e would like to join them, go to \u003ca href=\"https://github.com/sponsors/hynek\"\u003ehttps://github.com/sponsors/hynek\u003c/a\u003e and check out the sweet perks!\u003c/p\u003e\n\u003ch3\u003eAbove and Beyond\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://www.variomedia.de/\"\u003eVariomedia AG\u003c/a\u003e (@\u003ca href=\"https://github.com/variomedia\"\u003evariomedia\u003c/a\u003e), \u003ca href=\"https://www.tidelift.com/\"\u003eTidelift\u003c/a\u003e (@\u003ca href=\"https://github.com/tidelift\"\u003etidelift\u003c/a\u003e), \u003ca href=\"https://www.thanks.dev\"\u003ethanks.dev\u003c/a\u003e (@\u003ca href=\"https://github.com/thnxdev\"\u003ethnxdev\u003c/a\u003e), \u003ca href=\"https://privacy-solutions.org\"\u003ePrivacy Solutions GmbH\u003c/a\u003e (@\u003ca href=\"https://github.com/privacy-solutions\"\u003eprivacy-solutions\u003c/a\u003e), \u003ca href=\"https://quesma.com/\"\u003eQuesma\u003c/a\u003e (\u003ca href=\"https://github.com/QuesmaOrg\"\u003e\u003ccode\u003e@​QuesmaOrg\u003c/code\u003e\u003c/a\u003e), \u003ca href=\"http://filepreviews.io/\"\u003eFilePreviews\u003c/a\u003e (@\u003ca href=\"https://github.com/filepreviews\"\u003efilepreviews\u003c/a\u003e), \u003ca href=\"https://www.lambdatest.com\"\u003eLambdaTest\u003c/a\u003e (@\u003ca href=\"https://github.com/LambdaTest-Inc\"\u003eLambdaTest-Inc\u003c/a\u003e), \u003ca href=\"https://doist.com/\"\u003eDoist\u003c/a\u003e (@\u003ca href=\"https://github.com/Doist\"\u003eDoist\u003c/a\u003e), Daniel Fortunov (@\u003ca href=\"https://github.com/asqui\"\u003easqui\u003c/a\u003e), and Kevin P. Fleming (@\u003ca href=\"https://github.com/kpfleming\"\u003ekpfleming\u003c/a\u003e).\u003c/p\u003e\n\u003ch3\u003eMaintenance Sustainers\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://buttondown.com\"\u003eButtondown\u003c/a\u003e (@\u003ca href=\"https://github.com/buttondown\"\u003ebuttondown\u003c/a\u003e), Jeff McCarrell (@\u003ca href=\"https://github.com/jmccarrell\"\u003ejmccarrell\u003c/a\u003e), \u003ca href=\"https://christopher.xyz\"\u003eChristopher Dignam\u003c/a\u003e (@\u003ca href=\"https://github.com/chdsbd\"\u003echdsbd\u003c/a\u003e), Magnus Watn (@\u003ca href=\"https://github.com/magnuswatn\"\u003emagnuswatn\u003c/a\u003e), \u003ca href=\"https://cra.mr\"\u003eDavid Cramer\u003c/a\u003e (@\u003ca href=\"https://github.com/dcramer\"\u003edcramer\u003c/a\u003e), Jesse Snyder (@\u003ca href=\"https://github.com/jessesnyder\"\u003ejessesnyder\u003c/a\u003e), \u003ca href=\"https://rivolaks.com\"\u003eRivo Laks\u003c/a\u003e (@\u003ca href=\"https://github.com/rivol\"\u003erivol\u003c/a\u003e), \u003ca href=\"https://polar.sh\"\u003ePolar\u003c/a\u003e (@\u003ca href=\"https://github.com/polarsource\"\u003epolarsource\u003c/a\u003e), \u003ca href=\"https://www.miketheman.net\"\u003eMike Fiedler\u003c/a\u003e (@\u003ca href=\"https://github.com/miketheman\"\u003emiketheman\u003c/a\u003e), Duncan Hill (@\u003ca href=\"https://github.com/cricalix\"\u003ecricalix\u003c/a\u003e), Colin Marquardt (@\u003ca href=\"https://github.com/cmarqu\"\u003ecmarqu\u003c/a\u003e), \u003ca href=\"https://blog.journeythatcounts.nl\"\u003ePieter Swinkels\u003c/a\u003e (@\u003ca href=\"https://github.com/swinkels\"\u003eswinkels\u003c/a\u003e), Nick Libertini (@\u003ca href=\"https://github.com/libertininick\"\u003elibertininick\u003c/a\u003e), \u003ca href=\"https://bmdphd.info/\"\u003eBrian M. Dennis\u003c/a\u003e (@\u003ca href=\"https://github.com/crossjam\"\u003ecrossjam\u003c/a\u003e), Celebrity News AG (@\u003ca href=\"https://github.com/celebritynewsag\"\u003ecelebritynewsag\u003c/a\u003e), \u003ca href=\"https://westervelt.com\"\u003eThe Westervelt Company\u003c/a\u003e (@\u003ca href=\"https://github.com/westerveltco\"\u003ewesterveltco\u003c/a\u003e), \u003ca href=\"https://slafs.net\"\u003eSławomir Ehlert\u003c/a\u003e (@\u003ca href=\"https://github.com/slafs\"\u003eslafs\u003c/a\u003e), Mostafa Khalil (@\u003ca href=\"https://github.com/khadrawy\"\u003ekhadrawy\u003c/a\u003e), \u003ca href=\"https://fmularczyk.pl\"\u003eFilip Mularczyk\u003c/a\u003e (@\u003ca href=\"https://github.com/mukiblejlok\"\u003emukiblejlok\u003c/a\u003e), Thomas Klinger (@\u003ca href=\"https://github.com/thmsklngr\"\u003ethmsklngr\u003c/a\u003e), \u003ca href=\"https://poehlmann.io\"\u003eAndreas Poehlmann\u003c/a\u003e (@\u003ca href=\"https://github.com/ap--\"\u003eap--\u003c/a\u003e), \u003ca href=\"https://atbigelow.com\"\u003eAugust Trapper Bigelow\u003c/a\u003e (@\u003ca href=\"https://github.com/atbigelow\"\u003eatbigelow\u003c/a\u003e), \u003ca href=\"https://noumenal.es/\"\u003eCarlton Gibson\u003c/a\u003e (@\u003ca href=\"https://github.com/carltongibson\"\u003ecarltongibson\u003c/a\u003e), \u003ca href=\"https://roboflow.com\"\u003eRoboflow\u003c/a\u003e (@\u003ca href=\"https://github.com/roboflow\"\u003eroboflow\u003c/a\u003e), and Jeff McCarrell (@\u003ca href=\"https://github.com/jmccarrell\"\u003ejmccarrell\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eFull Changelog\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e's \u003cem\u003epad_event\u003c/em\u003e argument has been renamed to \u003cem\u003epad_event_to\u003c/em\u003e to differentiate it from the boolean \u003cem\u003epad_level\u003c/em\u003e argument. \u003cem\u003epad_event\u003c/em\u003e is now deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active()\u003c/code\u003e that returns the currently active \u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e now supports setting the \u003ccode\u003eexception_formatter\u003c/code\u003e attribute.\u003c/p\u003e\n\u003cp\u003eYou can now disable the pretty-printing of exceptions by setting it to \u003ccode\u003estructlog.dev.plain_traceback\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003ecr = structlog.dev.ConsoleRenderer.get_active()\ncr.exception_formatter = structlog.dev.plain_traceback\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSame goes for \u003cem\u003esort_keys\u003c/em\u003e, \u003cem\u003ecolumns\u003c/em\u003e, \u003cem\u003ecolors\u003c/em\u003e, \u003cem\u003eforce_colors\u003c/em\u003e, \u003cem\u003elevel_styles\u003c/em\u003e, \u003cem\u003epad_event_to\u003c/em\u003e, \u003cem\u003eevent_key\u003c/em\u003e, \u003cem\u003etimestamp_key\u003c/em\u003e, and \u003cem\u003erepr_native_str\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/756\"\u003e#756\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/757\"\u003e#757\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/759\"\u003e#759\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_default_column_styles()\u003c/code\u003e for reuse the default column styles. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/741\"\u003e#741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.testing.capture_logs()\u003c/code\u003e now optionally accepts \u003cem\u003eprocessors\u003c/em\u003e to apply before capture. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/728\"\u003e#728\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/structlog/blob/main/CHANGELOG.md\"\u003estructlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/hynek/structlog/compare/25.4.0...25.5.0\"\u003e25.5.0\u003c/a\u003e - 2025-10-27\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e's \u003cem\u003epad_event\u003c/em\u003e argument has been renamed to \u003cem\u003epad_event_to\u003c/em\u003e to differentiate it from the boolean \u003cem\u003epad_level\u003c/em\u003e argument.\n\u003cem\u003epad_event\u003c/em\u003e is now deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active()\u003c/code\u003e that returns the currently active \u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e now supports setting the \u003ccode\u003eexception_formatter\u003c/code\u003e attribute.\u003c/p\u003e\n\u003cp\u003eYou can now disable the pretty-printing of exceptions by setting it to \u003ccode\u003estructlog.dev.plain_traceback\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003ecr = structlog.dev.ConsoleRenderer.get_active()\ncr.exception_formatter = structlog.dev.plain_traceback\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSame goes for \u003cem\u003esort_keys\u003c/em\u003e, \u003cem\u003ecolumns\u003c/em\u003e, \u003cem\u003ecolors\u003c/em\u003e, \u003cem\u003eforce_colors\u003c/em\u003e, \u003cem\u003elevel_styles\u003c/em\u003e, \u003cem\u003epad_event_to\u003c/em\u003e, \u003cem\u003eevent_key\u003c/em\u003e, \u003cem\u003etimestamp_key\u003c/em\u003e, and \u003cem\u003erepr_native_str\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/756\"\u003e#756\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/757\"\u003e#757\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/759\"\u003e#759\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_default_column_styles()\u003c/code\u003e for reuse the default column styles.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/741\"\u003e#741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.testing.capture_logs()\u003c/code\u003e now optionally accepts \u003cem\u003eprocessors\u003c/em\u003e to apply before capture.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/728\"\u003e#728\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.RichTracebackFormatter\u003c/code\u003e now exposes the upstream \u003cem\u003ecode_width\u003c/em\u003e parameter.\nDefault \u003cem\u003ewidth\u003c/em\u003e is now \u003ccode\u003eNone\u003c/code\u003e for full terminal width.\nFull terminal width is now handled by Rich itself, bringing support for reflow and \u003ccode\u003eCOLUMN\u003c/code\u003e environment variable.\nPassing \u003ccode\u003e-1\u003c/code\u003e for \u003cem\u003ewidth\u003c/em\u003e is now deprecated and automatically replaced by \u003ccode\u003eNone\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/717\"\u003e#717\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNative loggers now allow the passing of a dictionary for dictionary-based interpolation \u003ccode\u003elog.info(\u0026quot;hello %(name)s!\u0026quot;, {\u0026quot;name\u0026quot;: \u0026quot;world\u0026quot;})\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/748\"\u003e#748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOn Python 3.11+, \u003ccode\u003estructlog.processors.CallsiteParameterAdder\u003c/code\u003e now supports \u003ccode\u003eCallsiteParameter.QUAL_NAME\u003c/code\u003e that adds the qualified name of the callsite, including scope and class names.\nThis is only available for \u003cem\u003estructlog\u003c/em\u003e-originated events since the standard library has no equivalent.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.stdlib.LoggerFactory\u003c/code\u003e now supports the \u003cem\u003estacklevel\u003c/em\u003e parameter.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/763\"\u003e#763\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/c0ef9e09e7a536cae65e33c1ac1c8b4e6a6f7511\"\u003e\u003ccode\u003ec0ef9e0\u003c/code\u003e\u003c/a\u003e Prepare 25.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/9cb662fe32046f92f08346c58089a2dcba7cb4bf\"\u003e\u003ccode\u003e9cb662f\u003c/code\u003e\u003c/a\u003e docs: nit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/5400612735ad07bbe8ee9f2279f3040aa2e69ca4\"\u003e\u003ccode\u003e5400612\u003c/code\u003e\u003c/a\u003e docs/stdlib: add warning about ProcessorFormatter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/1c2c19aa19c8f30330b76465b7a0d9993b9e8360\"\u003e\u003ccode\u003e1c2c19a\u003c/code\u003e\u003c/a\u003e Try validating pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/aca10f23dd12bd9e14cfe712f1ce66c9cb5f4400\"\u003e\u003ccode\u003eaca10f2\u003c/code\u003e\u003c/a\u003e Drop pretend dependency (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/3800d401db2c682c7c83b2d3eec38d81c9791f4d\"\u003e\u003ccode\u003e3800d40\u003c/code\u003e\u003c/a\u003e docs: use native\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/ecaa15ac6b166ebca9f2b4f5cfdb4c4ec138a602\"\u003e\u003ccode\u003eecaa15a\u003c/code\u003e\u003c/a\u003e stdlib: add support for stacklevel (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/7f7a221aed6bbff3c13cefd7effe14cc4f0cfc24\"\u003e\u003ccode\u003e7f7a221\u003c/code\u003e\u003c/a\u003e update dev (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/5acfc85e3c3fa821dc65b55a226900d40dc0831c\"\u003e\u003ccode\u003e5acfc85\u003c/code\u003e\u003c/a\u003e docs: 5% bigger still\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/c102862e3f30de84c898c4501418dede15056c6d\"\u003e\u003ccode\u003ec102862\u003c/code\u003e\u003c/a\u003e docs: bigger font\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hynek/structlog/compare/25.4.0...25.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-debug-toolbar` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/releases\"\u003edjango-debug-toolbar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://django-debug-toolbar.readthedocs.io/en/latest/changes.html#:~:text=6.1.0%20(2025-10-30)\"\u003echange log here\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCommits:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a note about the default password in make example by \u003ca href=\"https://github.com/abdibaker\"\u003e\u003ccode\u003e@​abdibaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2180\"\u003edjango-commons/django-debug-toolbar#2180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved logging about the toolbar failing to serialize a value into JSON by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2181\"\u003edjango-commons/django-debug-toolbar#2181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicitly call out the selenium job in the GitHub actions matrix by \u003ca href=\"https://github.com/matthiask\"\u003e\u003ccode\u003e@​matthiask\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2182\"\u003edjango-commons/django-debug-toolbar#2182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move the import statement of \u003ccode\u003edebug_toolbar_urls\u003c/code\u003e to inside of … by \u003ca href=\"https://github.com/Lidoca\"\u003e\u003ccode\u003e@​Lidoca\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2174\"\u003edjango-commons/django-debug-toolbar#2174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged StoredDebugToolbar.from_store to always create panel keys. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2196\"\u003edjango-commons/django-debug-toolbar#2196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Community Panel by \u003ca href=\"https://github.com/alan-rosenberg\"\u003e\u003ccode\u003e@​alan-rosenberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2193\"\u003edjango-commons/django-debug-toolbar#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for async to timer panel by \u003ca href=\"https://github.com/Zakui\"\u003e\u003ccode\u003e@​Zakui\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2197\"\u003edjango-commons/django-debug-toolbar#2197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 to CI workflow matrix by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2208\"\u003edjango-commons/django-debug-toolbar#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs/add docs generation guide by \u003ca href=\"https://github.com/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2220\"\u003edjango-commons/django-debug-toolbar#2220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add spell checking prerequisites for building documentation by \u003ca href=\"https://github.com/JohananOppongAmoateng\"\u003e\u003ccode\u003e@​JohananOppongAmoateng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2222\"\u003edjango-commons/django-debug-toolbar#2222\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePostgis upgrade from 14-3.1 to 17.3.5 by \u003ca href=\"https://github.com/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2224\"\u003edjango-commons/django-debug-toolbar#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the transifex link for the project. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2229\"\u003edjango-commons/django-debug-toolbar#2229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the translatable strings. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2230\"\u003edjango-commons/django-debug-toolbar#2230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix django unicode error by \u003ca href=\"https://github.com/jmgutu\"\u003e\u003ccode\u003e@​jmgutu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2217\"\u003edjango-commons/django-debug-toolbar#2217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake doc corrections for django channels by \u003ca href=\"https://github.com/Chiemezuo\"\u003e\u003ccode\u003e@​Chiemezuo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2232\"\u003edjango-commons/django-debug-toolbar#2232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport hiding migrations and models when not using the DatabaseStore by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2236\"\u003edjango-commons/django-debug-toolbar#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abdibaker\"\u003e\u003ccode\u003e@​abdibaker\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2180\"\u003edjango-commons/django-debug-toolbar#2180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Lidoca\"\u003e\u003ccode\u003e@​Lidoca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2174\"\u003edjango-commons/django-debug-toolbar#2174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alan-rosenberg\"\u003e\u003ccode\u003e@​alan-rosenberg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2193\"\u003edjango-commons/django-debug-toolbar#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Zakui\"\u003e\u003ccode\u003e@​Zakui\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2197\"\u003edjango-commons/django-debug-toolbar#2197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e :rocket: made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2220\"\u003edjango-commons/django-debug-toolbar#2220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JohananOppongAmoateng\"\u003e\u003ccode\u003e@​JohananOppongAmoateng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2222\"\u003edjango-commons/django-debug-toolbar#2222\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmgutu\"\u003e\u003ccode\u003e@​jmgutu\u003c/code\u003e\u003c/a\u003e :rocket: made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2217\"\u003edjango-commons/django-debug-toolbar#2217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Chiemezuo\"\u003e\u003ccode\u003e@​Chiemezuo\u003c/code\u003e\u003c/a\u003e :rocket: made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2232\"\u003edjango-commons/django-debug-toolbar#2232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changes\u003c/strong\u003e: \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/compare/6.0.0...6.1.0\"\u003ehttps://github.com/django-commons/django-debug-toolbar/compare/6.0.0...6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/blob/main/docs/changes.rst\"\u003edjango-debug-toolbar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0 (2025-10-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for async to timer panel.\u003c/li\u003e\n\u003cli\u003eAdded a note about the default password in \u003ccode\u003emake example\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved logging about the toolbar failing to serialize a value into JSON.\u003c/li\u003e\n\u003cli\u003eMoved the the import statement of \u003ccode\u003edebug_toolbar.urls\u003c/code\u003e to within the if\nstatement's scope on the installation documentation.\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eStoredDebugToolbar.from_store\u003c/code\u003e to always create a panel key and\nclass instance, regardless if any data was generated.\u003c/li\u003e\n\u003cli\u003eFixed selenium tests for CI by using psycopg for Python 3.13 runs.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCommunityPanel\u003c/code\u003e containing links to documentation and resources.\u003c/li\u003e\n\u003cli\u003eUpgraded CI \u003ccode\u003epostgis\u003c/code\u003e version to 17-3.5.\u003c/li\u003e\n\u003cli\u003eAdded how to generate the documentation locally to the contributing\ndocumentation.\u003c/li\u003e\n\u003cli\u003eUpdated logic that forces values to strings (\u003ccode\u003eforce_str\u003c/code\u003e) to render\n\u0026quot;Django Debug Toolbar was unable to parse value.\u0026quot; when there's a decoding\nerror.\u003c/li\u003e\n\u003cli\u003eUpdated docs to show incompatibility with Django Channels.\u003c/li\u003e\n\u003cli\u003eHide the toolbar's migrations unless \u003ccode\u003edebug_toolbar.store.DatabaseStore\u003c/code\u003e\nis being used. This may change in the future.\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003edebug_toolbar.HistoryEntry\u003c/code\u003e as a model unless\n\u003ccode\u003edebug_toolbar.store.DatabaseStore\u003c/code\u003e is being used. This may change in the\nfuture.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/6ef77a16b942dac293d65b93407bdf9dab3876ce\"\u003e\u003ccode\u003e6ef77a1\u003c/code\u003e\u003c/a\u003e Version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/0b809d52e6156ab7aca8c9079f6076b571ddb08d\"\u003e\u003ccode\u003e0b809d5\u003c/code\u003e\u003c/a\u003e Support hiding migrations and models when not using the DatabaseStore (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2236\"\u003e#2236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/45bc2db3bbd5b7ec8d1f7b31ba32e5a2323a5d16\"\u003e\u003ccode\u003e45bc2db\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/9d569dd84a9a9de4d567cd031a8dc17c1a517cad\"\u003e\u003ccode\u003e9d569dd\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 3 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/65722213e71bcace0a5e1f25b2ea208873576a85\"\u003e\u003ccode\u003e6572221\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/875d58163efd050a8255e69bf3ea2c376d7219be\"\u003e\u003ccode\u003e875d581\u003c/code\u003e\u003c/a\u003e Make doc corrections for django channels (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2232\"\u003e#2232\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/62ef5021a033c43a6d0ae418f16be1fd3e420cee\"\u003e\u003ccode\u003e62ef502\u003c/code\u003e\u003c/a\u003e Fix django unicode error (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2217\"\u003e#2217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/24e9065e937e10bacecc1c24d1d89531a4d75a81\"\u003e\u003ccode\u003e24e9065\u003c/code\u003e\u003c/a\u003e Update the translatable strings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/6139fd0e8c474576e9efa8aeafa99b00c8a028b0\"\u003e\u003ccode\u003e6139fd0\u003c/code\u003e\u003c/a\u003e Update the transifex link for the project.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/35834f827ca3bb7773863ce4eb105d9d51f85cbb\"\u003e\u003ccode\u003e35834f8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2226\"\u003e#2226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-...\n\n_Description has been truncated_","html_url":"https://github.com/tlambert03/FPbase/pull/330","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlambert03%2FFPbase/issues/330","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/330/packages"},{"uuid":"3574113222","node_id":"PR_kwDOFJx1486wyg_e","number":456,"state":"open","title":"chore(deps): bump the dependencies group across 2 directories with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["matmair"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-31T09:31:56.000Z","updated_at":"2025-10-31T09:32:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":14,"packages":[{"name":"django","old_version":"4.2.25","new_version":"5.2.7","repository_url":"https://github.com/django/django"},{"name":"django-filter","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/carltongibson/django-filter"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"},{"name":"dulwich","old_version":"0.24.1","new_version":"0.24.8","repository_url":"https://github.com/dulwich/dulwich"},{"name":"pint","old_version":"0.24.4","new_version":"0.25","repository_url":"https://github.com/hgrecco/pint"},{"name":"python-dotenv","old_version":"1.1.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sentry-sdk","old_version":"2.42.1","new_version":"2.43.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"django-stubs","old_version":"5.1.3","new_version":"5.2.7","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"django-test-migrations","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/wemake-services/django-test-migrations"},{"name":"django-types","old_version":"0.20.0","new_version":"0.22.0","repository_url":"https://github.com/sbdchd/django-types"},{"name":"isort","old_version":"6.1.0","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"ty","old_version":"0.0.1a21","new_version":"0.0.1a25","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin).\nBumps the dependencies group with 12 updates in the /src/backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django](https://github.com/django/django) | `4.2.25` | `5.2.7` |\n| [django-filter](https://github.com/carltongibson/django-filter) | `25.1` | `25.2` |\n| [django-structlog](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [dulwich](https://github.com/dulwich/dulwich) | `0.24.1` | `0.24.8` |\n| [pint](https://github.com/hgrecco/pint) | `0.24.4` | `0.25` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.1` | `1.2.1` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.42.1` | `2.43.0` |\n| [django-stubs](https://github.com/sponsors/typeddjango) | `5.1.3` | `5.2.7` |\n| [django-test-migrations](https://github.com/wemake-services/django-test-migrations) | `1.4.0` | `1.5.0` |\n| [django-types](https://github.com/sbdchd/django-types) | `0.20.0` | `0.22.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.1.0` | `7.0.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a21` | `0.0.1a25` |\n\n\nUpdates `mkdocs-macros-plugin` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md\"\u003emkdocs-macros-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1, 2025-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: support for j2_extensions paramater in config file (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: missing dependency declaration on \u003ccode\u003erequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/a93a1f74402b5d632acbab35a77d5171eb5d0e6d\"\u003e\u003ccode\u003ea93a1f7\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/a76d62bf02f66cc9090cb8b266df738f97c1c80b\"\u003e\u003ccode\u003ea76d62b\u003c/code\u003e\u003c/a\u003e Add documentation for jinja2_extensions (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/9a329bc2c44af538556c840530d65266ee02ec44\"\u003e\u003ccode\u003e9a329bc\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin\"\u003ehttps://github.com/fralau/mkdocs-macros-plugin\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/2eaf0330e74c458d6ec348a212a94dd7199a89e5\"\u003e\u003ccode\u003e2eaf033\u003c/code\u003e\u003c/a\u003e Update post_production.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/c6ea72ac8d57f3a750891953fa00ad0ffa683ea8\"\u003e\u003ccode\u003ec6ea72a\u003c/code\u003e\u003c/a\u003e Enable j2 extensions in mkdocs-macros without false-positive warning (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/273\"\u003e#273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/51a3afc4868838f2c0e5f69485e74264cf173af8\"\u003e\u003ccode\u003e51a3afc\u003c/code\u003e\u003c/a\u003e Add dependency on \u003ccode\u003erequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/compare/v1.4.0...v1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django` from 4.2.25 to 5.2.7\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/3cff3209e35a560f94801d428cf7f2a3ecb2a051\"\u003e\u003ccode\u003e3cff320\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.7 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ed8fc39d77465eddbde1191a054ae965f6a8a584\"\u003e\u003ccode\u003eed8fc39\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-59682 -- Fixed potential partial directory-traversal v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/52fbae0a4dbbe5faa59827f8f05694a0065cc135\"\u003e\u003ccode\u003e52fbae0\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-59681 -- Protected QuerySet.annotate(), alias(), aggre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/1794cbf961f9ea54715fb094fe8adc80a5054947\"\u003e\u003ccode\u003e1794cbf\u003c/code\u003e\u003c/a\u003e [5.2.x] Made cosmetic edits to 5.2.7 release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/81625a141e1feaaea877fc18876fdd7b6394442c\"\u003e\u003ccode\u003e81625a1\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36587\"\u003e#36587\u003c/a\u003e -- Clarified usage of \u003ccode\u003elist.insert()\u003c/code\u003e for upload handlers.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6f3813e4b6e3db7fa3cc612c78f898142468bca9\"\u003e\u003ccode\u003e6f3813e\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/35877\"\u003e#35877\u003c/a\u003e, Refs \u003ca href=\"https://redirect.github.com/django/django/issues/36128\"\u003e#36128\u003c/a\u003e -- Documented unique constraint when migrat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/10a2d3b837c5d8c1ac0cabd399ad7edcc66bfa8e\"\u003e\u003ccode\u003e10a2d3b\u003c/code\u003e\u003c/a\u003e [5.2.x] Added stub release notes and release date for 5.2.7, 5.1.13, and 4.2.25.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/b2773a39a34f0f0ca768fa1daaf8bf72fca56e06\"\u003e\u003ccode\u003eb2773a3\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs \u003ca href=\"https://redirect.github.com/django/django/issues/25508\"\u003e#25508\u003c/a\u003e -- Used QuerySet.\u003cstrong\u003erepr\u003c/strong\u003e in docs/ref/contrib/postgres/se...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/7554c54e5f02566520dee81c8b95f47429f1b553\"\u003e\u003ccode\u003e7554c54\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36581\"\u003e#36581\u003c/a\u003e -- Updated serialization examples from XML to JSON.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/2a2936c3e6444a0f37156773ca405cedaf28dea7\"\u003e\u003ccode\u003e2a2936c\u003c/code\u003e\u003c/a\u003e [5.2.x] Updated translations from Transifex.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/4.2.25...5.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 80.9.0 to \n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/setuptools/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-filter` from 25.1 to 25.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst\"\u003edjango-filter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.2 (2025-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded testing for Django 6.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Django \u0026lt;5.2 LTS\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/17ec565554bea4119ad74d2ffccdfb9740d9845b\"\u003e\u003ccode\u003e17ec565\u003c/code\u003e\u003c/a\u003e Bumped version for 25.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/9b4b8fdbfe84d471b2e69b7b28faacdd0dca2661\"\u003e\u003ccode\u003e9b4b8fd\u003c/code\u003e\u003c/a\u003e Updated testing for Django 6.0. (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1730\"\u003e#1730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/1b07b3e4c22354af31f3dcbaf4337566d7803fd4\"\u003e\u003ccode\u003e1b07b3e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/27a116864880a503b869c87a61e3e3ee597dae42\"\u003e\u003ccode\u003e27a1168\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7f59b6f092dadee749540a93c760f84fe5e08b9f\"\u003e\u003ccode\u003e7f59b6f\u003c/code\u003e\u003c/a\u003e Add drf as optional dependencies (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1724\"\u003e#1724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/635343ec55c9928bfa297314711df77fa83ff6c7\"\u003e\u003ccode\u003e635343e\u003c/code\u003e\u003c/a\u003e Add reference anchors to filter types to facilitate intersphinx refs (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1706\"\u003e#1706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7b3176e2ea05a42f2684296733004579f6dcece5\"\u003e\u003ccode\u003e7b3176e\u003c/code\u003e\u003c/a\u003e Document steps for postgres full text search (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1704\"\u003e#1704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carltongibson/django-filter/compare/25.1...25.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dulwich` from 0.24.1 to 0.24.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dulwich/dulwich/releases\"\u003edulwich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse make_commit() from test utils in test files by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1943\"\u003ejelmer/dulwich#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance fetch with missing options by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1944\"\u003ejelmer/dulwich#1944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd sparse index support for improved performance with large repositories by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1946\"\u003ejelmer/dulwich#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSH connections with custom ssh command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1947\"\u003ejelmer/dulwich#1947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWork around typing module bug in Python 3.9.0/3.9.1 by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1949\"\u003ejelmer/dulwich#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnd support for local files in LFS by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1953\"\u003ejelmer/dulwich#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for core.fsyncObjectFiles configuration option by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1954\"\u003ejelmer/dulwich#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd bitmap support by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1952\"\u003ejelmer/dulwich#1952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.6...dulwich-0.24.7\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.6...dulwich-0.24.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore pool_manager parameter to transport functions by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1929\"\u003ejelmer/dulwich#1929\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport show-branch by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1931\"\u003ejelmer/dulwich#1931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git mailsplit command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1930\"\u003ejelmer/dulwich#1930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dulwich config CLI command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1933\"\u003ejelmer/dulwich#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git cherry command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1932\"\u003ejelmer/dulwich#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure files are closed by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1935\"\u003ejelmer/dulwich#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for octopus merge strategy by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1934\"\u003ejelmer/dulwich#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd convenience functions for dealing with refs by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1937\"\u003ejelmer/dulwich#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement recursive merge strategy for handling multiple merge bases by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1936\"\u003ejelmer/dulwich#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git grep command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1938\"\u003ejelmer/dulwich#1938\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix import failure when sys.stdin is None by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1940\"\u003ejelmer/dulwich#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement git reflog expire and delete commands by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1941\"\u003ejelmer/dulwich#1941\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.5...dulwich-0.24.6\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.5...dulwich-0.24.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix LFS status tests cleanup issue on Windows Python 3.14 by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1924\"\u003ejelmer/dulwich#1924\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HTTP authentication with credentials in URLs by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1926\"\u003ejelmer/dulwich#1926\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.4...dulwich-0.24.5\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.4...dulwich-0.24.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix pypi publish action version by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1890\"\u003ejelmer/dulwich#1890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd remaining typing by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1891\"\u003ejelmer/dulwich#1891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable android wheels build, which currently fails due to 403s on by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1892\"\u003ejelmer/dulwich#1892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typing by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1893\"\u003ejelmer/dulwich#1893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps(deps): bump memchr from 2.7.5 to 2.7.6 in the cargo group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1901\"\u003ejelmer/dulwich#1901\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(deps): bump actions/upload-artifact from 4.5.0 to 4.6.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1900\"\u003ejelmer/dulwich#1900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps(deps): bump the pip group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1902\"\u003ejelmer/dulwich#1902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(deps): bump docker/setup-qemu-action from 3.2.0 to 3.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1899\"\u003ejelmer/dulwich#1899\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jelmer/dulwich/blob/master/NEWS\"\u003edulwich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.24.8\t2025-1029\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rust implementation of pack delta creation (create_delta). The\nimplementation uses the similar crate for efficient diff computation.\n(Jelmer Vernooĳ)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExtend \u003ccode\u003ehttp.extraHeader\u003c/code\u003e configuration to support per-URL settings.\nAllows configuring different HTTP headers for specific URLs using\n\u003ccode\u003ehttp.\u0026lt;url\u0026gt;.extraHeader\u003c/code\u003e syntax, enabling authentication in CI/CD\nenvironments like GitHub Actions. More specific URL configurations\noverride less specific ones.  (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/882\"\u003e#882\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003eGIT_REFLOG_ACTION\u003c/code\u003e environment variable in porcelain\nfunctions. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1811\"\u003e#1811\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for namespace isolation via \u003ccode\u003eNamespacedRefsContainer\u003c/code\u003e.\nImplements Git's namespace feature for isolating refs within a single\nrepository using the \u003ccode\u003erefs/namespaces/\u003c/code\u003e prefix. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1809\"\u003e#1809\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for GIT_FLUSH environment variable to control output buffering\nin CLI commands. When GIT_FLUSH=1, output is flushed after each write for\nreal-time visibility. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1810\"\u003e#1810\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement \u003ccode\u003edulwich interpret-trailers\u003c/code\u003e functionality to parse and manipulate\nstructured metadata (trailers) in commit messages. Adds \u003ccode\u003eporcelain.interpret_trailers()\u003c/code\u003e\nwith support for parsing, adding, replacing, and formatting trailers. Also fixes\nthe \u003ccode\u003esignoff\u003c/code\u003e parameter in \u003ccode\u003eporcelain.commit()\u003c/code\u003e to add \u003ccode\u003eSigned-off-by\u003c/code\u003e trailers.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for recursive submodule updates via \u003ccode\u003e--recursive\u003c/code\u003e flag in\n\u003ccode\u003edulwich submodule update\u003c/code\u003e command and \u003ccode\u003erecursive\u003c/code\u003e parameter in\n\u003ccode\u003eporcelain.submodule_update()\u003c/code\u003e.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1813\"\u003e#1813\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003egit maintenance\u003c/code\u003e command to optimize Git repository data.\nImplements gc, commit-graph, loose-objects, incremental-repack, pack-refs, and\nprefetch tasks. Supports automatic maintenance with \u003ccode\u003e--auto\u003c/code\u003e flag and task-specific\nconfiguration. (Jelmer Vernooĳ)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003edulwich replace\u003c/code\u003e command to create refs that replace objects.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1834\"\u003e#1834\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement advanced Git object specification support: index path lookup (\u003ccode\u003e:\u003c/code\u003e, \u003ccode\u003e:0:\u003c/code\u003e,\n\u003ccode\u003e:1:\u003c/code\u003e, \u003ccode\u003e:2:\u003c/code\u003e, \u003ccode\u003e:3:\u003c/code\u003e) for accessing files from the index and merge stages, and\nreflog time specifications (\u003ccode\u003e@{time}\u003c/code\u003e) using Git's approxidate format (e.g.,\n\u003ccode\u003eHEAD@{yesterday}`, \u003c/code\u003emaster@{2.weeks.ago}``). (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1783\"\u003e#1783\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003edulwich stripspace\u003c/code\u003e command to remove unnecessary whitespace from text.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1838\"\u003e#1838\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/0793d023de8314426c5e5e2e2e1cda823d51eb36\"\u003e\u003ccode\u003e0793d02\u003c/code\u003e\u003c/a\u003e release 0.24.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/f146cc4a14f0ca3089ab00e9c1be4585f3df78ef\"\u003e\u003ccode\u003ef146cc4\u003c/code\u003e\u003c/a\u003e Bump typing-extensions (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1974\"\u003e#1974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/802c63e5f7d55ee4e7b443c80343b8ffa207725b\"\u003e\u003ccode\u003e802c63e\u003c/code\u003e\u003c/a\u003e Make generate_pack_data() arguments consistent and keyword-only (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/b31a6cfee42f0c04f033c73e3220e562c0ec6423\"\u003e\u003ccode\u003eb31a6cf\u003c/code\u003e\u003c/a\u003e Bump typing-extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/5b154847c7844495ea3753bae6fceac3180fbbb4\"\u003e\u003ccode\u003e5b15484\u003c/code\u003e\u003c/a\u003e Make generate_pack_data() arguments consistent and keyword-only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/a5c62c4922584a8633a7256240ad28a9f7a5af76\"\u003e\u003ccode\u003ea5c62c4\u003c/code\u003e\u003c/a\u003e Add support for GIT_REFLOG_ACTION environment variable (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/5e1a7093836ca94ef64648c8f1169b65b6aa1a5c\"\u003e\u003ccode\u003e5e1a709\u003c/code\u003e\u003c/a\u003e Add support for GIT_REFLOG_ACTION environment variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/12a5f0c460886272e0cba915d29f0985689b1ce1\"\u003e\u003ccode\u003e12a5f0c\u003c/code\u003e\u003c/a\u003e Add per-URL http.extraHeader configuration support (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/11c1051b979ea3b463cca71d22843cede90d0379\"\u003e\u003ccode\u003e11c1051\u003c/code\u003e\u003c/a\u003e Drop authors (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1970\"\u003e#1970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/406fad90cb3a10a9dfdcd945901285a4d572a71e\"\u003e\u003ccode\u003e406fad9\u003c/code\u003e\u003c/a\u003e Fix TypeError when passing refspec to clone() (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1968\"\u003e#1968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dulwich/dulwich/compare/dulwich-0.24.1...dulwich-0.24.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pint` from 0.24.4 to 0.25\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hgrecco/pint/blob/master/CHANGES\"\u003epint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ePint Changelog\u003c/h1\u003e\n\u003ch2\u003e0.26.0 (unreleased)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix raising exception in \u003ccode\u003eQuantity.from_tuple\u003c/code\u003e with invalid units (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd devcontainer.json to add GitHub Codespace support (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003enumpy.geomspace\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elinalg.diagonal\u003c/code\u003e, \u003ccode\u003elinalg.matrix_transpose\u003c/code\u003e, \u003ccode\u003ediag\u003c/code\u003e, \u003ccode\u003etril\u003c/code\u003e, \u003ccode\u003etriu\u003c/code\u003e, \u003ccode\u003elinalg.eigvals\u003c/code\u003e, \u003ccode\u003elinalg.eigvalsh\u003c/code\u003e, \u003ccode\u003elinalg.matrix_norm\u003c/code\u003e and \u003ccode\u003elinalg.vector_norm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2210\"\u003e#2210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAn example of performing currency conversions that change over time has been added to the docs. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2240\"\u003e#2240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003epint.Quantity\u003c/code\u003e being used as Generic.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enan\u003c/code\u003e/\u003ccode\u003enan\u003c/code\u003e to return \u003ccode\u003enan\u003c/code\u003e rather than 1 in unit conversion (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2228\"\u003e#2228\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0 (2025-08-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum Python version to 3.11.\u003c/li\u003e\n\u003cli\u003eUpgrade code to Python 3.11.\u003c/li\u003e\n\u003cli\u003eMove to pixi/uv/ruff.\u003c/li\u003e\n\u003cli\u003eRefactor compat to make it easier to test.\u003c/li\u003e\n\u003cli\u003eImplemented several pixi environment and tasks to simplify development.\u003c/li\u003e\n\u003cli\u003eAdd docs to the functions in \u003ccode\u003epint.testing\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix round function returning float instead of int (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix return type of \u003ccode\u003ePlainQuantity.to\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2088\"\u003e#2088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate constants to CODATA 2022 recommended values. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue with \u003ccode\u003e.to_compact\u003c/code\u003e and Magnitudes with uncertainties / Quantities with units (PR \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2069\"\u003e#2069\u003c/a\u003e, issue \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2044\"\u003e#2044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue in unit conversion which led to loss of precision when using \u003ccode\u003edecimal\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd conductivity dimension. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd absorbance unit and dimension. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd membrane filtration flux and permeability dimensionality, and shorthand \u0026quot;LMH\u0026quot;. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix find_shortest_path to use breadth first search (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2146\"\u003e#2146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003epyproject.toml\u003c/code\u003e: rename \u003ccode\u003eAS_MIP\u003c/code\u003e to \u003ccode\u003eHAS_MIP\u003c/code\u003e so that MIP support is correctly detected. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2152\"\u003e#2152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of extra arguments in conversion with enabled contexts (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2172\"\u003e#2172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix swapped left and right arguments in interp (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatted scientific notation bug in Python 3.13 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2168\"\u003e#2168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix ability to add dB units, and to add dB (dimensionless) to referenced dB units, such as dBm or dBW (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1160\"\u003e#1160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove pressure unit definitions in default definition file (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2186\"\u003e#2186\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid and document known issues with MIP during install, testing and runtime (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue with Dask by restricting its version to \u0026lt; 2025.3.0 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and Dask \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip false xfail tests linked to a known numpy issue (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003eContributing\u003c/code\u003e documentation (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eQuantity.to_unprefixed\u003c/code\u003e and \u003ccode\u003eito_unprefixed\u003c/code\u003e methods that remove SI prefixes without converting to base units. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2201\"\u003e#2201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/20e3dd37ac46acae0fd7aaef144869acf03c4787\"\u003e\u003ccode\u003e20e3dd3\u003c/code\u003e\u003c/a\u003e Preparing for release 0.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/88f2ff02921b6fae82185c966a865a6fa592ed12\"\u003e\u003ccode\u003e88f2ff0\u003c/code\u003e\u003c/a\u003e fix ci (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2204\"\u003e#2204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/084a07f327174f5ef4d8315f650cea338c6c6684\"\u003e\u003ccode\u003e084a07f\u003c/code\u003e\u003c/a\u003e to_unprefixed (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2201\"\u003e#2201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/40034593b803ce4fb48d755d3ac55f14fa8cd1dd\"\u003e\u003ccode\u003e4003459\u003c/code\u003e\u003c/a\u003e Improve MIP issue management (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2121\"\u003e#2121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2198\"\u003e#2198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/268e06d963cb299756b97fbe9843fa9af04a1f75\"\u003e\u003ccode\u003e268e06d\u003c/code\u003e\u003c/a\u003e Improve default pressure unit definitions (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2186\"\u003e#2186\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/1618828146208cf43cea7d6b9baa550074739235\"\u003e\u003ccode\u003e1618828\u003c/code\u003e\u003c/a\u003e Fix install and testing issues (closes \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2197\"\u003e#2197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/3d190ff4f5f96c5944a5e3e4e8540787c6472d55\"\u003e\u003ccode\u003e3d190ff\u003c/code\u003e\u003c/a\u003e simplify log arithmetic (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2195\"\u003e#2195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/9ff423182bf53a8af277635aa7db8b3f927cce80\"\u003e\u003ccode\u003e9ff4231\u003c/code\u003e\u003c/a\u003e improve logarithmic unit support (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/a0264aa4aa3a74f84930e320b1ca69f13b29609d\"\u003e\u003ccode\u003ea0264aa\u003c/code\u003e\u003c/a\u003e Fix Cannot divide a unit by a DataArray (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2193\"\u003e#2193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/fcfcb0eee082b76ddc1afb3dc8467c099bc6742e\"\u003e\u003ccode\u003efcfcb0e\u003c/code\u003e\u003c/a\u003e fix Formatted scientific notation breaks in Python 3.13 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2192\"\u003e#2192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hgrecco/pint/compare/0.24.4...0.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.1.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sdk` from 2.42.1 to 2.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/releases\"\u003esentry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4906\"\u003e#4906\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        PydanticAIIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMCP Python SDK (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Python MCP integration with the code snippet below:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.mcp import MCPIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        MCPIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003esentry_sdk.init(\n    # ...\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md\"\u003esentry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4906\"\u003e#4906\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        PydanticAIIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMCP Python SDK (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Python MCP integration with the code snippet below:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.mcp import MCPIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        MCPIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003esentry_sdk.init(\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b069aa24fdf3c52a9e8b75f4f83d5fee035c3234\"\u003e\u003ccode\u003eb069aa2\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/a7a3fb17956790a0ddba575c0436e6409e0ddec5\"\u003e\u003ccode\u003ea7a3fb1\u003c/code\u003e\u003c/a\u003e release: 2.43.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/76cc4163087c6e89f406b89440be45d87ff8e148\"\u003e\u003ccode\u003e76cc416\u003c/code\u003e\u003c/a\u003e fix(google-genai): Set agent name (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b3b2eb62d9f1d9132aa8114a4d2eecf7e5fc517c\"\u003e\u003ccode\u003eb3b2eb6\u003c/code\u003e\u003c/a\u003e fix(integrations): hooking into error tracing function to find out if an exec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d7ccf06aea28c709abd3d6e7002951c4fa169fe2\"\u003e\u003ccode\u003ed7ccf06\u003c/code\u003e\u003c/a\u003e fix(django): Improve logic for classifying cache hits and misses (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5029\"\u003e#5029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/64c145ffb19cb7c49b679b0cdf2e7754f0f91d12\"\u003e\u003ccode\u003e64c145f\u003c/code\u003e\u003c/a\u003e chore(metrics): Rename _metrics to metrics (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/fe31660c50c649f1730f4307ae6f4c10e61acd2f\"\u003e\u003ccode\u003efe31660\u003c/code\u003e\u003c/a\u003e fix(tracemetrics): Bump metric buffer size to 1k (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5031\"\u003e#5031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/6e06a07467b7b808699d67e8b71bc5ec2fbc9f6f\"\u003e\u003ccode\u003e6e06a07\u003c/code\u003e\u003c/a\u003e fix startlette deprecation warning (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/e6366194f61fdae97e7867c6457b67ac9a77014c\"\u003e\u003ccode\u003ee636619\u003c/code\u003e\u003c/a\u003e fix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/8ab8f3b3895944ac52518d47a4ea436f715bab6c\"\u003e\u003ccode\u003e8ab8f3b\u003c/code\u003e\u003c/a\u003e ci: 🤖 Update test matrix with new releases (10/27) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5033\"\u003e#5033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-python/compare/2.42.1...2.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-stubs` from 5.1.3 to 5.2.7\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/typeddjango/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-test-migrations` from 1.4.0 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/wemake-services/django-test-migrations/releases\"\u003edjango-test-migrations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds Python 3.13 support\u003c/li\u003e\n\u003cli\u003eDrops Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdds Django 5.2 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/wemake-services/django-test-migrations/blob/master/CHANGELOG.md\"\u003edjango-test-migrations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds Python 3.13 support\u003c/li\u003e\n\u003cli\u003eDrops Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdds Django 5.2 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/111b449b7029710149f0faef71aa85cbfc77e50e\"\u003e\u003ccode\u003e111b449\u003c/code\u003e\u003c/a\u003e Version 1.5.0 release (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/f0523aaf62483caf1bc88dc95f125f149ddba925\"\u003e\u003ccode\u003ef0523aa\u003c/code\u003e\u003c/a\u003e Support Django 5.2, Upgrade to Poetry 2.x (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/d584f03facafb3bc5d794fda4bec2bb44dacca95\"\u003e\u003ccode\u003ed584f03\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django from 4.2.19 to 4.2.20 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/502\"\u003e#502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/a49863681e45d64e7f5c9cf4331ff74b4ce22cda\"\u003e\u003ccode\u003ea498636\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump pytest from 8.3.4 to 8.3.5 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/b1a349fcd332f18ddbd6a99704400194f8a0436a\"\u003e\u003ccode\u003eb1a349f\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump pytest-django from 4.9.0 to 4.10.0 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/500\"\u003e#500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/8369432b6e167eb4042948ac86ba70adc96b460c\"\u003e\u003ccode\u003e8369432\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django-stubs from 5.1.2 to 5.1.3 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/499\"\u003e#499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/1d2d0b62bf16f8a2d6448812f574465654178611\"\u003e\u003ccode\u003e1d2d0b6\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump mypy from 1.14.1 to 1.15.0 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/497\"\u003e#497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/19072deba0b5d1a3e4f8695c949c39d54b81192d\"\u003e\u003ccode\u003e19072de\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django from 4.2.18 to 4.2.19 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/498\"\u003e#498\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/df95a7236fa476203def5b528de21cae4a5e37fc\"\u003e\u003ccode\u003edf95a72\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django from 4.2.17 to 4.2.18 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/3a066f8d967e408b911b2832aeb26e016cfe0665\"\u003e\u003ccode\u003e3a066f8\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django-stubs from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/496\"\u003e#496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/wemake-services/django-test-migrations/compare/1.4.0...1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-types` from 0.20.0 to 0.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sbdchd/django-types/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.1.0 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:boom: Breaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow absolute paths in skipped file messages (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2416\"\u003e#2416\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSome fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on \u003ccode\u003e3.14\u003c/code\u003e and fix any bugs (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2425\"\u003e#2425\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CHANGELOG.md + Fix Formatting and Grammar (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2419\"\u003e#2419\u003c/a\u003e) \u003ca href=\"https://github.com/lukbrew25\"\u003e\u003ccode\u003e@​lukbrew25\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix output of hanging indent for long lines with noqa (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2407\"\u003e#2407\u003c/a\u003e) \u003ca href=\"https://github.com/matan1008\"\u003e\u003ccode\u003e@​matan1008\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarget 3.10 for \u003ccode\u003eruff\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies to latest version (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2426\"\u003e#2426\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update pre-commit examples to version 6.1.0 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2413\"\u003e#2413\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanup for developer environment (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2418\"\u003e#2418\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2411\"\u003e#2411\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eNOTE: isort follows the \u003ca href=\"https://semver.org/\"\u003esemver\u003c/a\u003e versioning standard.\nFind out more about isort's release policy \u003ca href=\"https://pycqa.github.io/isort/docs/major_releases/release_policy\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0a09c783808cfe77bb3269250f663ff733d23302\"\u003e\u003ccode\u003e0a09c78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e from DanielNoord/python-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0fee794a05b5d0c471ac80bc8943f9843ca29644\"\u003e\u003ccode\u003e0fee794\u003c/code\u003e\u003c/a\u003e Add 3.14 to \u003ccode\u003estdlibds\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/332a1ad0b68bf3a3acac055b0ec3666408b3b425\"\u003e\u003ccode\u003e332a1ad\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ezstandard\u003c/code\u003e for 3.14 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/f756e5653afcf6d79ec4d0240b1868cbebd8fafd\"\u003e\u003ccode\u003ef756e56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/52f5134889d345ff35afdcb86501c8221b804c70\"\u003e\u003ccode\u003e52f5134\u003c/code\u003e\u003c/a\u003e Format with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/012aa69fcadb3c89ff92a3d96aa449be7ae6746f\"\u003e\u003ccode\u003e012aa69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/89773dbb371192541092657972a74e9ce0bbbc74\"\u003e\u003ccode\u003e89773db\u003c/code\u003e\u003c/a\u003e Target 3.10 with \u003ccode\u003eruff\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/933e382f98a0c77b4c6e33c4e3ef12bd57192884\"\u003e\u003ccode\u003e933e382\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e from DanielNoord/drop-39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8b6e00cbe643a216da57fed4baa282d0a4a1b829\"\u003e\u003ccode\u003e8b6e00c\u003c/code\u003e\u003c/a\u003e Remove support for Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/b5f9f296ad873734e8caa3a731f27360648d9b37\"\u003e\u003ccode\u003eb5f9f29\u003c/code\u003e\u003c/a\u003e Bump profile plugin to 3.10+ and re-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.1.0...7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a21 to 0.0.1a25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.25\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-29.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where ty would think all types had an \u003ccode\u003e__mro__\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix rare panic with highly cyclic \u003ccode\u003eTypeVar\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21059\"\u003e#21059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix infinite recursion with generic type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20969\"\u003e#20969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing newline before first diagnostic in CLI output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21058\"\u003e#21058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the ty server's auto-import feature skip symbols in the current module (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21100\"\u003e#21100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't provide goto-definition for definitions which are not reexported in builtins (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21127\"\u003e#21127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid duplicate diagnostics during multi-inference of standalone expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21056\"\u003e#21056\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType inference and diagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse constructor parameter types as context to inform solving type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21054\"\u003e#21054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider \u003ccode\u003e__len__\u003c/code\u003e when determining the truthiness of an instance of a tuple class or a \u003ccode\u003e@final\u003c/code\u003e class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21049\"\u003e#21049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelegate truthiness inference of an enum \u003ccode\u003eLiteral\u003c/code\u003e type to its enum-instance supertype (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21060\"\u003e#21060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003einvalid-argument-type\u003c/code\u003e diagnostics where a union type was provided (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21044\"\u003e#21044\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest \u003ccode\u003etype_check_only\u003c/code\u003e items last in completions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20910\"\u003e#20910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender \u003ccode\u003eimport \u0026lt;...\u0026gt;\u003c/code\u003e in completions when \u0026quot;label details\u0026quot; isn't supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21109\"\u003e#21109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate workspace diagnostic progress every 50ms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21019\"\u003e#21019\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--no-progress\u003c/code\u003e option to suppress the rendering of a progress bar (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21063\"\u003e#21063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatthewMckee4\"\u003e\u003ccode\u003e@​MatthewMckee4\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/decorator-factory\"\u003e\u003ccode\u003e@​decorator-factory\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.1-alpha.25\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ty/releases/download/0.0.1-alpha.25/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.25\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-29.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where ty would think all types had an \u003ccode\u003e__mro__\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix rare panic with highly cyclic \u003ccode\u003eTypeVar\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21059\"\u003e#21059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix infinite recursion with generic type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20969\"\u003e#20969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing newline before first diagnostic in CLI output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21058\"\u003e#21058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the ty server's auto-import feature skip symbols in the current module (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21100\"\u003e#21100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't provide goto-definition for definitions which are not reexported in builtins (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21127\"\u003e#21127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid duplicate diagnostics during multi-inference of standalone expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21056\"\u003e#21056\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType inference and diagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse constructor parameter types as context to inform solving type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21054\"\u003e#21054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider \u003ccode\u003e__len__\u003c/code\u003e when determining the truthiness of an instance of a tuple class or a \u003ccode\u003e@final\u003c/code\u003e class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21049\"\u003e#21049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelegate truthiness inference of an enum \u003ccode\u003eLiteral\u003c/code\u003e type to its enum-instance supertype (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21060\"\u003e#21060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003einvalid-argument-type\u003c/code\u003e diagnostics where a union type was provided (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21044\"\u003e#21044\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest \u003ccode\u003etype_check_only\u003c/code\u003e items last in completions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20910\"\u003e#20910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender \u003ccode\u003eimport \u0026lt;...\u0026gt;\u003c/code\u003e in completions when \u0026quot;label details\u0026quot; isn't supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21109\"\u003e#21109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate workspace diagnostic progress every 50ms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21019\"\u003e#21019\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--no-progress\u003c/code\u003e option to suppress the rendering of a progress bar (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21063\"\u003e#21063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatthewMckee4\"\u003e\u003ccode\u003e@​MatthewMckee4\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshi...\n\n_Description has been truncated_","html_url":"https://github.com/matmair/InvenTree/pull/456","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/matmair%2FInvenTree/issues/456","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/456/packages"},{"uuid":"2714449964","node_id":"PR_kwDOMcrnu86hyzgs","number":449,"state":"open","title":"chore(deps): bump django-structlog[celery,commands] from 9.0.1 to 9.1.1 in /django","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-08-01T22:44:17.000Z","updated_at":"2025-08-01T22:44:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"django-structlog","old_version":"9.0.1","new_version":"9.1.1","repository_url":null},{"name":"commands]","old_version":"9.0.1","new_version":"9.1.1","repository_url":null}],"path":"/django","ecosystem":"pip"},"body":"Bumps [django-structlog[celery,commands]](https://github.com/jrobichaud/django-structlog) from 9.0.1 to 9.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog[celery,commands]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.1 (April 7, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- fix \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata not working. See \u003ccode\u003e[#811](https://github.com/jrobichaud/django-structlog/issues/811) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/811\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.1.0 (April 4, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- new setting \u003ccode\u003eDJANGO_STRUCTLOG_IP_LOGGING_ENABLED\u003c/code\u003e (default \u003ccode\u003eTrue\u003c/code\u003e) to allow to disable ip binding. See \u003ccode\u003e[#803](https://github.com/jrobichaud/django-structlog/issues/803) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/803\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@dulguunpc \u0026lt;https://github.com/dulguunpc\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- add \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata. See \u003ccode\u003e[#796](https://github.com/jrobichaud/django-structlog/issues/796) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/796\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- \u003ccode\u003evary: Cookie\u003c/code\u003e was always set. See \u003ccode\u003e[#734](https://github.com/jrobichaud/django-structlog/issues/734) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/734\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@last-partizan \u0026lt;https://github.com/last-partizan\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOther:\u003c/em\u003e\n- add support of django 5.2 (just adding it to the test matrix, no code changes)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/aa9f8ca174436131dbe706fe32c12bf96038d533\"\u003e\u003ccode\u003eaa9f8ca\u003c/code\u003e\u003c/a\u003e release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/851cc959dd257622c5f038fda57f64f82a8c52a4\"\u003e\u003ccode\u003e851cc95\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/76eb6fdb945fa789849d531fd32c3541cc4f3e90\"\u003e\u003ccode\u003e76eb6fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/811\"\u003e#811\u003c/a\u003e from ahumeau/fix-celery-task-duration-logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/81f9def51274c6c16bca34578e3c2a7613257c29\"\u003e\u003ccode\u003e81f9def\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/810\"\u003e#810\u003c/a\u003e from jrobichaud/update/pre-commit-hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/82463afcef0ca1129786d99ebc2badb7ed8da050\"\u003e\u003ccode\u003e82463af\u003c/code\u003e\u003c/a\u003e fix(CeleryReceiver.add_duration_ms): check hasattr on task.request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/034959a64888ef4a8fe13f0c18c2fecd7caee2a4\"\u003e\u003ccode\u003e034959a\u003c/code\u003e\u003c/a\u003e chore: update pre-commit hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/460a1a387cc76fde340d5777a242119e251a6097\"\u003e\u003ccode\u003e460a1a3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/809\"\u003e#809\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/pytest-dj...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/3d4245cb06bd5b30dc8815aa93462c488288926a\"\u003e\u003ccode\u003e3d4245c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/808\"\u003e#808\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/crispy-bo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a3c0279c67d6742288e18e874cecfe498025476b\"\u003e\u003ccode\u003ea3c0279\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/807\"\u003e#807\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/coverage-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/3d5b4931e6f21079f647500ff3bc0bf5cb60c2b2\"\u003e\u003ccode\u003e3d5b493\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/806\"\u003e#806\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/ruff-0.11.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.0.1...9.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=django-structlog[celery,commands]\u0026package-manager=pip\u0026previous-version=9.0.1\u0026new-version=9.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/justicecanada/otto/pull/449","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/justicecanada%2Fotto/issues/449","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/449/packages"},{"uuid":"2610163951","node_id":"PR_kwDOBcoTZs6bk_Dv","number":1548,"state":"open","title":"Bump django-structlog from 9.0.1 to 9.1.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-23T01:49:11.000Z","updated_at":"2025-07-01T11:39:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"django-structlog","old_version":"9.0.1","new_version":"9.1.1","repository_url":"https://github.com/jrobichaud/django-structlog"}],"path":null,"ecosystem":"pip"},"body":"Bumps [django-structlog](https://github.com/jrobichaud/django-structlog) from 9.0.1 to 9.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.1 (April 7, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- fix \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata not working. See \u003ccode\u003e[#811](https://github.com/jrobichaud/django-structlog/issues/811) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/811\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.1.0 (April 4, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- new setting \u003ccode\u003eDJANGO_STRUCTLOG_IP_LOGGING_ENABLED\u003c/code\u003e (default \u003ccode\u003eTrue\u003c/code\u003e) to allow to disable ip binding. See \u003ccode\u003e[#803](https://github.com/jrobichaud/django-structlog/issues/803) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/803\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@dulguunpc \u0026lt;https://github.com/dulguunpc\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- add \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata. See \u003ccode\u003e[#796](https://github.com/jrobichaud/django-structlog/issues/796) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/796\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- \u003ccode\u003evary: Cookie\u003c/code\u003e was always set. See \u003ccode\u003e[#734](https://github.com/jrobichaud/django-structlog/issues/734) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/734\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@last-partizan \u0026lt;https://github.com/last-partizan\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOther:\u003c/em\u003e\n- add support of django 5.2 (just adding it to the test matrix, no code changes)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/aa9f8ca174436131dbe706fe32c12bf96038d533\"\u003e\u003ccode\u003eaa9f8ca\u003c/code\u003e\u003c/a\u003e release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/851cc959dd257622c5f038fda57f64f82a8c52a4\"\u003e\u003ccode\u003e851cc95\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/76eb6fdb945fa789849d531fd32c3541cc4f3e90\"\u003e\u003ccode\u003e76eb6fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/811\"\u003e#811\u003c/a\u003e from ahumeau/fix-celery-task-duration-logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/81f9def51274c6c16bca34578e3c2a7613257c29\"\u003e\u003ccode\u003e81f9def\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/810\"\u003e#810\u003c/a\u003e from jrobichaud/update/pre-commit-hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/82463afcef0ca1129786d99ebc2badb7ed8da050\"\u003e\u003ccode\u003e82463af\u003c/code\u003e\u003c/a\u003e fix(CeleryReceiver.add_duration_ms): check hasattr on task.request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/034959a64888ef4a8fe13f0c18c2fecd7caee2a4\"\u003e\u003ccode\u003e034959a\u003c/code\u003e\u003c/a\u003e chore: update pre-commit hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/460a1a387cc76fde340d5777a242119e251a6097\"\u003e\u003ccode\u003e460a1a3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/809\"\u003e#809\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/pytest-dj...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/3d4245cb06bd5b30dc8815aa93462c488288926a\"\u003e\u003ccode\u003e3d4245c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/808\"\u003e#808\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/crispy-bo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a3c0279c67d6742288e18e874cecfe498025476b\"\u003e\u003ccode\u003ea3c0279\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/807\"\u003e#807\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/coverage-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/3d5b4931e6f21079f647500ff3bc0bf5cb60c2b2\"\u003e\u003ccode\u003e3d5b493\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/806\"\u003e#806\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/ruff-0.11.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.0.1...9.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=django-structlog\u0026package-manager=pip\u0026previous-version=9.0.1\u0026new-version=9.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/analytics-platform-control-panel/pull/1548","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fanalytics-platform-control-panel/issues/1548","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1548/packages"}],"issue_packages":[{"old_version":"\u003c9.0,\u003e=8.0","new_version":"\u003e=8.0,\u003c11.0","update_type":null,"path":"/backend","pr_created_at":"2026-04-07T15:47:09.000Z","version_change":"\u003c9.0,\u003e=8.0 → \u003e=8.0,\u003c11.0","issue":{"uuid":"4218886619","node_id":"PR_kwDOR6SPNc7Qi6bw","number":11,"state":"open","title":"chore(deps): update django-structlog requirement from \u003c9.0,\u003e=8.0 to \u003e=8.0,\u003c11.0 in /backend","user":"dependabot[bot]","labels":[],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2026-04-07T15:47:09.000Z","updated_at":"2026-04-07T15:47:10.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): update","packages":[{"name":"django-structlog","old_version":"\u003c9.0,\u003e=8.0","new_version":"\u003e=8.0,\u003c11.0","repository_url":"https://github.com/jrobichaud/django-structlog"}],"path":"/backend","ecosystem":"pip"},"body":"Updates the requirements on [django-structlog](https://github.com/jrobichaud/django-structlog) to permit the latest version.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003ch2\u003e9.1.1 (April 7, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- fix \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata not working. See \u003ccode\u003e[#811](https://github.com/jrobichaud/django-structlog/issues/811) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/811\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.1.0 (April 4, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- new setting \u003ccode\u003eDJANGO_STRUCTLOG_IP_LOGGING_ENABLED\u003c/code\u003e (default \u003ccode\u003eTrue\u003c/code\u003e) to allow to disable ip binding. See \u003ccode\u003e[#803](https://github.com/jrobichaud/django-structlog/issues/803) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/803\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@dulguunpc \u0026lt;https://github.com/dulguunpc\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- add \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata. See \u003ccode\u003e[#796](https://github.com/jrobichaud/django-structlog/issues/796) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/796\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- \u003ccode\u003evary: Cookie\u003c/code\u003e was always set. See \u003ccode\u003e[#734](https://github.com/jrobichaud/django-structlog/issues/734) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/734\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@last-partizan \u0026lt;https://github.com/last-partizan\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOther:\u003c/em\u003e\n- add support of django 5.2 (just adding it to the test matrix, no code changes)\u003c/p\u003e\n\u003ch2\u003e9.0.1 (January 29, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- Fix exceptions not being propagated when using streaming response. See \u003ccode\u003e[#747](https://github.com/jrobichaud/django-structlog/issues/747) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/747\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@liambuchanan \u0026lt;https://github.com/liambuchanan\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.0.0 (November 26, 2024)\u003c/h2\u003e\n\u003cp\u003eSee: :ref:\u003ccode\u003eupgrade_9.0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add type definitions for the project. See \u003ccode\u003e[#697](https://github.com/jrobichaud/django-structlog/issues/697) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/697\u0026gt;\u003c/code\u003e_ and \u003ccode\u003e[#696](https://github.com/jrobichaud/django-structlog/issues/696) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/696\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@j00bar \u0026lt;https://github.com/j00bar\u0026gt;\u003c/code\u003e\u003c/em\u003e and \u003ccode\u003e@MaxDude132 \u0026lt;https://github.com/MaxDude132\u0026gt;\u003c/code\u003e_ for the review.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/8.0.0...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/theotranvan/tournoi-app/pull/11","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/theotranvan%2Ftournoi-app/issues/11","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/11/packages"}},{"old_version":"9.1.1","new_version":"10.0.0","update_type":"major","path":null,"pr_created_at":"2025-12-12T05:00:15.000Z","version_change":"9.1.1 → 10.0.0","issue":{"uuid":"3721961213","node_id":"PR_kwDOLzxzKM64fcVX","number":277,"state":"open","title":"chore(deps): bump the dependencies group across 2 directories with 33 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["matmair"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-12T05:00:15.000Z","updated_at":"2025-12-12T05:01:51.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":33,"packages":[{"name":"blessed","old_version":"1.22.0","new_version":"1.25.0","repository_url":"https://github.com/jquast/blessed"},{"name":"django","old_version":"4.2.25","new_version":"5.2.9","repository_url":"https://github.com/django/django"},{"name":"django-allauth","old_version":"65.12.1","new_version":"65.13.1"},{"name":"django-dbbackup","old_version":"5.0.0","new_version":"5.0.1","repository_url":"https://github.com/Archmonger/django-dbbackup"},{"name":"django-filter","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/carltongibson/django-filter"},{"name":"django-flags","old_version":"5.0.14","new_version":"5.1.0","repository_url":"https://github.com/cfpb/django-flags"},{"name":"django-markdownify","old_version":"0.9.5","new_version":"0.9.6","repository_url":"https://github.com/erwinmatijsen/django-markdownify"},{"name":"django-otp","old_version":"1.3.0","new_version":"1.6.3","repository_url":"https://github.com/django-otp/django-otp"},{"name":"django-q2","old_version":"1.8.0","new_version":"1.9.0","repository_url":"https://github.com/GDay/django-q2"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"},{"name":"docutils","old_version":"0.22.2","new_version":"0.22.3","repository_url":"https://github.com/rtfd/recommonmark"},{"name":"drf-spectacular","old_version":"0.28.0","new_version":"0.29.0","repository_url":"https://github.com/tfranzel/drf-spectacular"},{"name":"dulwich","old_version":"0.24.1","new_version":"0.24.10","repository_url":"https://github.com/dulwich/dulwich"},{"name":"pillow","old_version":"11.3.0","new_version":"12.0.0","repository_url":"https://github.com/python-pillow/Pillow"},{"name":"pint","old_version":"0.24.4","new_version":"0.25.2","repository_url":"https://github.com/hgrecco/pint"},{"name":"pypdf","old_version":"6.1.3","new_version":"6.4.1","repository_url":"https://github.com/py-pdf/pypdf"},{"name":"rapidfuzz","old_version":"3.13.0","new_version":"3.14.3","repository_url":"https://github.com/rapidfuzz/RapidFuzz"},{"name":"sentry-sdk","old_version":"2.43.0","new_version":"2.47.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"xmlsec","old_version":"1.3.14","new_version":"1.3.17","repository_url":"https://github.com/mehcode/python-xmlsec"},{"name":"coverage","old_version":"7.10.7","new_version":"7.13.0"},{"name":"django-stubs","old_version":"5.1.3","new_version":"5.2.8","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"django-test-migrations","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/wemake-services/django-test-migrations"},{"name":"django-types","old_version":"0.20.0","new_version":"0.22.0","repository_url":"https://github.com/sbdchd/django-types"},{"name":"isort","old_version":"6.1.0","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"pdfminer-six","old_version":"20250506","new_version":"20251107","repository_url":"https://github.com/pdfminer/pdfminer.six"},{"name":"pip-tools","old_version":"7.5.1","new_version":"7.5.2","repository_url":"https://github.com/jazzband/pip-tools"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"},{"name":"ty","old_version":"0.0.1a21","new_version":"0.0.1a33","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 4 updates in the /docs directory: [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin), [mkdocs-material](https://github.com/squidfunk/mkdocs-material), [mkdocstrings[python]](https://github.com/mkdocstrings/mkdocstrings) and [neoteroi-mkdocs](https://github.com/Neoteroi/mkdocs-plugins).\nBumps the dependencies group with 28 updates in the /src/backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [blessed](https://github.com/jquast/blessed) | `1.22.0` | `1.25.0` |\n| [django](https://github.com/django/django) | `4.2.25` | `5.2.9` |\n| [django-allauth[mfa,openid,saml,socialaccount]](https://github.com/sponsors/pennersr) | `65.12.1` | `65.13.1` |\n| [django-dbbackup](https://github.com/Archmonger/django-dbbackup) | `5.0.0` | `5.0.1` |\n| [django-filter](https://github.com/carltongibson/django-filter) | `25.1` | `25.2` |\n| [django-flags](https://github.com/cfpb/django-flags) | `5.0.14` | `5.1.0` |\n| [django-markdownify](https://github.com/erwinmatijsen/django-markdownify) | `0.9.5` | `0.9.6` |\n| [django-otp](https://github.com/django-otp/django-otp) | `1.3.0` | `1.6.3` |\n| [django-q2](https://github.com/GDay/django-q2) | `1.8.0` | `1.9.0` |\n| [django-structlog](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [docutils](https://github.com/rtfd/recommonmark) | `0.22.2` | `0.22.3` |\n| [drf-spectacular](https://github.com/tfranzel/drf-spectacular) | `0.28.0` | `0.29.0` |\n| [dulwich](https://github.com/dulwich/dulwich) | `0.24.1` | `0.24.10` |\n| [pillow](https://github.com/python-pillow/Pillow) | `11.3.0` | `12.0.0` |\n| [pint](https://github.com/hgrecco/pint) | `0.24.4` | `0.25.2` |\n| [pypdf](https://github.com/py-pdf/pypdf) | `6.1.3` | `6.4.1` |\n| [rapidfuzz](https://github.com/rapidfuzz/RapidFuzz) | `3.13.0` | `3.14.3` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.43.0` | `2.47.0` |\n| [xmlsec](https://github.com/mehcode/python-xmlsec) | `1.3.14` | `1.3.17` |\n| [coverage[toml]](https://github.com/coveragepy/coveragepy) | `7.10.7` | `7.13.0` |\n| [django-stubs](https://github.com/sponsors/typeddjango) | `5.1.3` | `5.2.8` |\n| [django-test-migrations](https://github.com/wemake-services/django-test-migrations) | `1.4.0` | `1.5.0` |\n| [django-types](https://github.com/sbdchd/django-types) | `0.20.0` | `0.22.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.1.0` | `7.0.0` |\n| [pdfminer-six](https://github.com/pdfminer/pdfminer.six) | `20250506` | `20251107` |\n| [pip-tools](https://github.com/jazzband/pip-tools) | `7.5.1` | `7.5.2` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a21` | `0.0.1a33` |\n\n\nUpdates `mkdocs-macros-plugin` from 1.4.1 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md\"\u003emkdocs-macros-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.5.0, 2025-11-13\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: For each push, testing on github for versions Python 3.8 to 3.12\u003c/li\u003e\n\u003cli\u003eFixed: bug in import of packages when not in source dir (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/0536f4da1dc643e1fa1f0cc90e71512ada67dc04\"\u003e\u003ccode\u003e0536f4d\u003c/code\u003e\u003c/a\u003e Fix type hint for compatibility\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/d9a6bc3aac5b12b86f9e2be7af18e1e9178287f6\"\u003e\u003ccode\u003ed9a6bc3\u003c/code\u003e\u003c/a\u003e Require mkdocs-test\u0026gt;=0.6.0 (compatibility with Python 3.8 and 3.9)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/bcaa72db2820d60822ffba15e87c75669abc7b92\"\u003e\u003ccode\u003ebcaa72d\u003c/code\u003e\u003c/a\u003e Make last minute corrections\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/356fc2a5b55d1897a2f2c47856d52b10cff4611c\"\u003e\u003ccode\u003e356fc2a\u003c/code\u003e\u003c/a\u003e Prepare for release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/aaf16bdcb9dfcb9c6ea9b6567ea4af7f8c178185\"\u003e\u003ccode\u003eaaf16bd\u003c/code\u003e\u003c/a\u003e Limit testing to 3.10 up (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/ba5356c0c263355556aa82dad0fbfde3cce4bc4d\"\u003e\u003ccode\u003eba5356c\u003c/code\u003e\u003c/a\u003e Use proper exit for pytest if Python \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/6c796600bc0886696ce9b76b84354d7e2bc1b6fa\"\u003e\u003ccode\u003e6c79660\u003c/code\u003e\u003c/a\u003e Skip test_modules.py if Python version \u0026lt; 3.10 (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cec7440d46589b303d741a5e2df0a240c25b9bdb\"\u003e\u003ccode\u003ecec7440\u003c/code\u003e\u003c/a\u003e Test installation of d2 in a cross-platform way (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/279\"\u003e#279\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/492759c5ab3d05f7c55ec62ffdf9573b715ac6ed\"\u003e\u003ccode\u003e492759c\u003c/code\u003e\u003c/a\u003e Update with changes from local repo (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/278\"\u003e#278\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/cc5416834a07ffd2ba1fe3d917a701ac6e9c98ad\"\u003e\u003ccode\u003ecc54168\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of github.com:fralau/mkdocs_macros_plugin\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/compare/v1.4.1...v1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocs-material` from 9.6.22 to 9.7.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.7.0\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!WARNING]\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eMaterial for MkDocs is now in maintenance mode\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features. Going forward, the Material for MkDocs team focuses on \u003ca href=\"https://zensical.org\"\u003eZensical\u003c/a\u003e, a next-gen static site generator built from first principles. We will provide critical bug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e→ \u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003eRead the full announcement on our blog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the Insiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eNote on deprecated plugins\u003c/strong\u003e: The \u003ca href=\"https://squidfunk.github.io/mkdocs-material/plugins/projects/\"\u003eprojects\u003c/a\u003e and \u003ca href=\"https://squidfunk.github.io/mkdocs-material/plugins/typeset/\"\u003etypeset\u003c/a\u003e plugins are included in this release, but must be considered deprecated. Both plugins proved unsustainable to maintain and represent architectural dead ends. They are provided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eChanges\u003c/strong\u003e:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for projects plugin (for compat, now deprecated)\u003c/li\u003e\n\u003cli\u003eAdded support for typeset plugin (for compat, now deprecated)\u003c/li\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8519\"\u003e#8519\u003c/a\u003e: Vector accents do not render when using KaTeX\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003emkdocs-material-9.6.23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.7.0 (2025-11-11)\u003c/p\u003e\n\u003cp\u003e⚠️ Material for MkDocs is now in maintenance mode\u003c/p\u003e\n\u003cp\u003eThis is the last release of Material for MkDocs that will receive new features.\nGoing forward, the Material for MkDocs team focuses on Zensical, a next-gen\nstatic site generator built from first principles. We will provide critical\nbug fixes and security updates for Material for MkDocs for 12 months at least.\u003c/p\u003e\n\u003cp\u003eRead the full announcement on our blog:\n\u003ca href=\"https://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\"\u003ehttps://squidfunk.github.io/mkdocs-material/blog/2025/11/05/zensical/\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eThis release includes all features that were previously exclusive to the\nInsiders edition. These features are now freely available to everyone.\u003c/p\u003e\n\u003cp\u003eNote on deprecated plugins: The projects and typeset plugins are included in\nthis release, but must be considered deprecated. Both plugins proved\nunsustainable to maintain and represent architectural dead ends. They are\nprovided as-is without ongoing support.\u003c/p\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for pinned blog posts and author profiles\u003c/li\u003e\n\u003cli\u003eAdded support for customizing pagination for blog index pages\u003c/li\u003e\n\u003cli\u003eAdded support for customizing blog category sort order\u003c/li\u003e\n\u003cli\u003eAdded support for staying on page when switching languages\u003c/li\u003e\n\u003cli\u003eAdded support for disabling tags in table of contents\u003c/li\u003e\n\u003cli\u003eAdded support for nested tags and shadow tags\u003c/li\u003e\n\u003cli\u003eAdded support for footnote tooltips\u003c/li\u003e\n\u003cli\u003eAdded support for instant previews\u003c/li\u003e\n\u003cli\u003eAdded support for instant prefetching\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card layouts\u003c/li\u003e\n\u003cli\u003eAdded support for custom social card background images\u003c/li\u003e\n\u003cli\u003eAdded support for selectable rangs in code blocks\u003c/li\u003e\n\u003cli\u003eAdded support for custom selectors for code annotations\u003c/li\u003e\n\u003cli\u003eAdded support for configurable log level in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for processing of external links in privacy plugin\u003c/li\u003e\n\u003cli\u003eAdded support for automatic image optimization via optimize plugin\u003c/li\u003e\n\u003cli\u003eAdded support for navigation paths (breadcrumbs)\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8519\"\u003e#8519\u003c/a\u003e: Vector accents do not render when using KaTeX\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.23 (2025-11-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.22 (2025-10-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Georgian translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.21 (2025-09-30)\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3308731f1dce2e72809a2167d900b3381ca8d0d1\"\u003e\u003ccode\u003e3308731\u003c/code\u003e\u003c/a\u003e Updated changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/dba54f7be6532893f8acddc6b89aa3c6491b90de\"\u003e\u003ccode\u003edba54f7\u003c/code\u003e\u003c/a\u003e Fixed back-to-top button partial\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/7702610fd3f06ebcf4fd048b1839173926dd3290\"\u003e\u003ccode\u003e7702610\u003c/code\u003e\u003c/a\u003e Updated blog posts\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/3815f607a56c7390f41ebc30f36fd46a0d121ae1\"\u003e\u003ccode\u003e3815f60\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/b583ea7765ea770505cafea5c0ca931e12289ad1\"\u003e\u003ccode\u003eb583ea7\u003c/code\u003e\u003c/a\u003e Prepare 9.7.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/764178b0121523f7d77bda77b9a024627d1884e7\"\u003e\u003ccode\u003e764178b\u003c/code\u003e\u003c/a\u003e Merge Insiders features\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/9853cc3a10710e1ee8f641d32fe0cdc83a19673e\"\u003e\u003ccode\u003e9853cc3\u003c/code\u003e\u003c/a\u003e Documentation\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/f31cfa535509e46d23c4bc22994d02f49ec74826\"\u003e\u003ccode\u003ef31cfa5\u003c/code\u003e\u003c/a\u003e Removed documentation on sponsoring\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/a8b9ace30ae6f541314baac0e86dc7ba54aa2651\"\u003e\u003ccode\u003ea8b9ace\u003c/code\u003e\u003c/a\u003e Fixed height of symbols for KaTeX inline rendering\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/c0addd8addc34b38d3049b214265e2b3bd3fc8d3\"\u003e\u003ccode\u003ec0addd8\u003c/code\u003e\u003c/a\u003e Updated blog post\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.22...9.7.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `mkdocstrings[python]` from 0.30.1 to 1.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases\"\u003emkdocstrings[python]'s releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.0.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.0\"\u003e1.0.0\u003c/a\u003e - 2025-11-27\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/0.30.1...1.0.0\"\u003eCompare with 0.30.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.name\u003c/code\u003e: \u003cem\u003eAttribute value was changed\u003c/em\u003e: \u003ccode\u003e''\u003c/code\u003e -\u0026gt; unset\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.domain\u003c/code\u003e: \u003cem\u003eAttribute value was changed\u003c/em\u003e: \u003ccode\u003e''\u003c/code\u003e -\u0026gt; unset\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.fallback_config\u003c/code\u003e: \u003cem\u003ePublic object was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(args)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(kwargs)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(theme)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(custom_templates)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(mdx)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(mdx_config)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(args)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(kwargs)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(config)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHandlers.get_anchors\u003c/code\u003e: \u003cem\u003ePublic object was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.plugin\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.loggers\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.inventory\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.extension\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.handlers\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated code before v1 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/de34044a02b45250e215af0f969dca581dfb82c5\"\u003ede34044\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003eExpect Zensical to pass extension configuration instead of loading it again from YAML (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6b73d5a2f455062ab6c68376c85adce6adc037a3\"\u003e6b73d5a\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003eExpose the Markdown extension, to make mkdocstrings compatible with Zensical (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6de266759b79eb72cddd300e6a0a8576085fae40\"\u003e6de2667\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/blob/main/CHANGELOG.md\"\u003emkdocstrings[python]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/releases/tag/1.0.0\"\u003e1.0.0\u003c/a\u003e - 2025-11-27\u003c/h2\u003e\n\u003cp\u003e\u003c!-- raw HTML omitted --\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/0.30.1...1.0.0\"\u003eCompare with 0.30.1\u003c/a\u003e\u003c!-- raw HTML omitted --\u003e\u003c/p\u003e\n\u003ch3\u003eBreaking Changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.name\u003c/code\u003e: \u003cem\u003eAttribute value was changed\u003c/em\u003e: \u003ccode\u003e''\u003c/code\u003e -\u0026gt; unset\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.domain\u003c/code\u003e: \u003cem\u003eAttribute value was changed\u003c/em\u003e: \u003ccode\u003e''\u003c/code\u003e -\u0026gt; unset\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.fallback_config\u003c/code\u003e: \u003cem\u003ePublic object was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(args)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(kwargs)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(theme)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(custom_templates)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(mdx)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.__init__(mdx_config)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(args)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(kwargs)\u003c/code\u003e: \u003cem\u003eParameter was removed\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eBaseHandler.update_env(config)\u003c/code\u003e: \u003cem\u003eParameter was added as required\u003c/em\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eHandlers.get_anchors\u003c/code\u003e: \u003cem\u003ePublic object was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.plugin\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.loggers\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.inventory\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.extension\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003emkdocstrings.handlers\u003c/code\u003e: \u003cem\u003ePublic module was removed\u003c/em\u003e (import from \u003ccode\u003emkdocstrings\u003c/code\u003e directly)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCode Refactoring\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRemove deprecated code before v1 (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/de34044a02b45250e215af0f969dca581dfb82c5\"\u003ede34044\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003eExpect Zensical to pass extension configuration instead of loading it again from YAML (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6b73d5a2f455062ab6c68376c85adce6adc037a3\"\u003e6b73d5a\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003cli\u003eExpose the Markdown extension, to make mkdocstrings compatible with Zensical (\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6de266759b79eb72cddd300e6a0a8576085fae40\"\u003e6de2667\u003c/a\u003e by Timothée Mazzucotelli).\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/68760a9ec55772c8b330b056c2d0896877324b1c\"\u003e\u003ccode\u003e68760a9\u003c/code\u003e\u003c/a\u003e chore: Prepare release 1.0.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/de34044a02b45250e215af0f969dca581dfb82c5\"\u003e\u003ccode\u003ede34044\u003c/code\u003e\u003c/a\u003e refactor: Remove deprecated code before v1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6b73d5a2f455062ab6c68376c85adce6adc037a3\"\u003e\u003ccode\u003e6b73d5a\u003c/code\u003e\u003c/a\u003e refactor: Expect Zensical to pass extension configuration instead of loading ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/bebbb88d3f09249b0129b05f98fdbd9f2eaa6818\"\u003e\u003ccode\u003ebebbb88\u003c/code\u003e\u003c/a\u003e chore: Remove trailing space\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/fc4d588dc73b12c205a933a0a5808742119aa7d3\"\u003e\u003ccode\u003efc4d588\u003c/code\u003e\u003c/a\u003e docs: Announce maintenance mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/6de266759b79eb72cddd300e6a0a8576085fae40\"\u003e\u003ccode\u003e6de2667\u003c/code\u003e\u003c/a\u003e refactor: Expose the Markdown extension, to make mkdocstrings compatible with...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/3076375ec7eb4c9c8b739e414a919a1be29df07a\"\u003e\u003ccode\u003e3076375\u003c/code\u003e\u003c/a\u003e chore: Specify encoding when reading file in tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/39fbea1c2dd030f017ae6fd4a8653959f310a693\"\u003e\u003ccode\u003e39fbea1\u003c/code\u003e\u003c/a\u003e chore: Update sponsors section in README\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/b8f35c14f1b93408096cd2289782159beb0cdf03\"\u003e\u003ccode\u003eb8f35c1\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/commit/5698963317af8e5d790a558fd945371f6ef3811a\"\u003e\u003ccode\u003e5698963\u003c/code\u003e\u003c/a\u003e chore: Template upgrade\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mkdocstrings/mkdocstrings/compare/0.30.1...1.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `neoteroi-mkdocs` from 1.1.3 to 1.2.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/releases\"\u003eneoteroi-mkdocs's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom templates, by \u003ca href=\"https://github.com/sindrehan\"\u003e\u003ccode\u003e@​sindrehan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 to the build matrix.\u003c/li\u003e\n\u003cli\u003eRemove Codecov from build and README.\u003c/li\u003e\n\u003cli\u003eUpdate type annotations to Python \u0026gt;= 3.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/blob/main/CHANGELOG.md\"\u003eneoteroi-mkdocs's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.0] 2025-11-23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd support for custom templates, by \u003ca href=\"https://github.com/sindrehan\"\u003e\u003ccode\u003e@​sindrehan\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eRemove support for Python 3.9.\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 to the build matrix.\u003c/li\u003e\n\u003cli\u003eRemove Codecov from build and README.\u003c/li\u003e\n\u003cli\u003eUpdate type annotations to Python \u0026gt;= 3.10.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/commit/7c686af62c52dfac4ec7deda083a1c261809b5c2\"\u003e\u003ccode\u003e7c686af\u003c/code\u003e\u003c/a\u003e Prepare for v1.2.0 (\u003ca href=\"https://redirect.github.com/Neoteroi/mkdocs-plugins/issues/79\"\u003e#79\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/commit/04b3132be7c6369397980927d052be2f0d1fe1d1\"\u003e\u003ccode\u003e04b3132\u003c/code\u003e\u003c/a\u003e Add config for custom templates (\u003ca href=\"https://redirect.github.com/Neoteroi/mkdocs-plugins/issues/78\"\u003e#78\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Neoteroi/mkdocs-plugins/compare/v1.1.3...v1.2.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blessed` from 1.22.0 to 1.25.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/blessed/releases\"\u003eblessed's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e1.25\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix: The \u0026quot;Copy globals\u0026quot; fix in 1.20 got reverted in release in 1.23 by \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e, this release re-applies the fix, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/326\"\u003e#326\u003c/a\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.24\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix: \u003ccode\u003eget_sixel_height_and_width\u003c/code\u003e detection order\nand improve documentation for window resize event handling \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/320\"\u003e#320\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: change default argument \u003ccode\u003etimeout=None\u003c/code\u003e to \u003ccode\u003etimeout=1\u003c/code\u003e in methods\nrequiring automatic response, preventing stalls on \u0026quot;dumb\u0026quot; terminals \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/317\"\u003e#317\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e1.23: Enhanced keyboard, mouse, and more\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced: Environment values FORCE_COLOR_, CLICOLOR_FORCE_, and NO_COLOR_ overrides\n:class:\u003ccode\u003eblessed.Terminal\u003c/code\u003e argument value, \u003ccode\u003eforce_styling\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/295\"\u003e#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimproved: performance of :meth:\u003ccode\u003e~Terminal.rgb_downconvert\u003c/code\u003e for 256-color\nterminals, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/298\"\u003e#298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecated: Python 2.7 through 3.6 no longer supported. \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/299\"\u003e#299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimproved: keyboard support for modifier keys, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: kitty keyboard protocol support, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/309\"\u003e#309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: mouse support, Synchronized Output, and support for DEC Private Modes, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: methods to determine Sixel, dimensions and color depth \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/312\"\u003e#312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: in-band resize support (DEC Private Mode 2048) \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/313\"\u003e#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: XTVersion identification: \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/314\"\u003e#314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: default timeout for get_bgcolor, get_fgcolor \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/315\"\u003e#315\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/blessed/blob/master/docs/history.rst\"\u003eblessed's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. py:currentmodule:: blessed.terminal\u003c/p\u003e\n\u003ch1\u003eVersion History\u003c/h1\u003e\n\u003cp\u003e1.25\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix: The fix in 1.20 got reverted in release in 1.23\nby :ghpull:\u003ccode\u003e306\u003c/code\u003e, this release re-applies the fix, :ghpull:\u003ccode\u003e326\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.24\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix: :meth:\u003ccode\u003eblessed.Terminal\u003c/code\u003eget_sixel_height_and_width\u003ccode\u003e detection order and improve documentation for window resize event handling :ghpull:\u003c/code\u003e320`\u003c/li\u003e\n\u003cli\u003ebugfix: change default argument \u003ccode\u003etimeout=None\u003c/code\u003e to \u003ccode\u003etimeout=1\u003c/code\u003e in methods\nrequiring automatic response, preventing stalls on \u0026quot;dumb\u0026quot; terminals :ghpull:\u003ccode\u003e317\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.23\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced: Environment values FORCE_COLOR_, CLICOLOR_FORCE_, and NO_COLOR_ overrides\n:class:\u003ccode\u003eblessed.Terminal\u003c/code\u003e argument value, \u003ccode\u003eforce_styling\u003c/code\u003e :ghpull:\u003ccode\u003e295\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eimproved: performance of :meth:\u003ccode\u003e~Terminal.rgb_downconvert\u003c/code\u003e for 256-color\nterminals, :ghpull:\u003ccode\u003e298\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edeprecated: Python 2.7 through 3.6 no longer supported. :ghpull:\u003ccode\u003e299\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eimproved: keyboard support for modifier keys, :ghpull:\u003ccode\u003e306\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eintroduced: kitty keyboard protocol support, :ghpull:\u003ccode\u003e309\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eintroduced: mouse support, Synchronized Output, and support for DEC Private Modes, :ghpull:\u003ccode\u003e310\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: methods to determine Sixel, dimensions and color depth :ghpull:\u003ccode\u003e312\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: in-band resize support (DEC Private Mode 2048) :ghpull:\u003ccode\u003e313\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: XTVersion identification: :ghpull:\u003ccode\u003e314\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: default timeout for get_bgcolor, get_fgcolor :ghpull:\u003ccode\u003e315\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eperformance improvements to :meth:\u003ccode\u003e~Terminal.length\u003c/code\u003e and\n:meth:\u003ccode\u003e~Terminal.wrap\u003c/code\u003e via :ghpull:\u003ccode\u003e286\u003c/code\u003e, :ghpull:\u003ccode\u003e287\u003c/code\u003e, :ghpull:\u003ccode\u003e289\u003c/code\u003e, and\n:ghpull:\u003ccode\u003e291\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003espelling fixes, :ghpull:\u003ccode\u003e278\u003c/code\u003e, :ghpull:\u003ccode\u003e293\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix infinite loop in :meth:\u003ccode\u003e~Terminal.wrap\u003c/code\u003e when \u0026quot;Wide\u0026quot; characters of\nwidth 2 (East-Asian or Emoji) are used with a wrap width of 1, and a small\nperformance enhancement, :ghissue:\u003ccode\u003e273\u003c/code\u003e and :ghpull:\u003ccode\u003e274\u003c/code\u003e by :ghuser:\u003ccode\u003egrayjk\u003c/code\u003e\nmerged as :ghpull:\u003ccode\u003e275\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.20\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced :meth:\u003ccode\u003e~Terminal.get_fgcolor\u003c/code\u003e and :meth:\u003ccode\u003e~Terminal.get_bgcolor\u003c/code\u003e to query\nthe terminal for the currently set colors. :ghissue:\u003ccode\u003e237\u003c/code\u003e by :ghuser:\u003ccode\u003estefanholek\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Copy globals dict before iterating to avoid RuntimeError in multithreaded\napplications, :ghissue:\u003ccode\u003e248\u003c/code\u003e by :ghuser:\u003ccode\u003eadamnovak\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced :meth:\u003ccode\u003e~Terminal.truncate\u003c/code\u003e to truncate a string while\nretaining the sequences, :ghissue:\u003ccode\u003e211\u003c/code\u003e by :ghuser:\u003ccode\u003efishermans-friend\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/864a8f7d6de752d7fede2c030758d245f1bb8e21\"\u003e\u003ccode\u003e864a8f7\u003c/code\u003e\u003c/a\u003e document 1.25 bugfix\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/23d0ad902281c3397278c85ae0ee62bd1e7a8bad\"\u003e\u003ccode\u003e23d0ad9\u003c/code\u003e\u003c/a\u003e Copy globals dict during iteration (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/326\"\u003e#326\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/dc1e5960e77f1390f157965d3279b4e158eeeef8\"\u003e\u003ccode\u003edc1e596\u003c/code\u003e\u003c/a\u003e Improved Sixel height and width, on_resize.py improved (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/320\"\u003e#320\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/93aacec36d60faf17d3d35ec3f13b7ffb8993a99\"\u003e\u003ccode\u003e93aacec\u003c/code\u003e\u003c/a\u003e Optimize Sequence.padd for horizontal sequences (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/319\"\u003e#319\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/2a1fcb4ae4d684f9c4365a3b36a883713df5418c\"\u003e\u003ccode\u003e2a1fcb4\u003c/code\u003e\u003c/a\u003e bugfix timeout=1 for some \u0026quot;automatic response\u0026quot; queries (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/317\"\u003e#317\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/1acebcdf0546d3dacbc7e0db5f27cfc737034f66\"\u003e\u003ccode\u003e1acebcd\u003c/code\u003e\u003c/a\u003e syntax update to 3.7 (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/305\"\u003e#305\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/496071bdd74eae7372d796048622af8b2ec93884\"\u003e\u003ccode\u003e496071b\u003c/code\u003e\u003c/a\u003e remove duplicate changelog entry\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/7cfd2992df8d8d6ebdbbe1f334e0df36750642e1\"\u003e\u003ccode\u003e7cfd299\u003c/code\u003e\u003c/a\u003e Set version for next release, 1.23 (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/316\"\u003e#316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/d5107613d7f43544b28f54f8af40aca59b13bcc8\"\u003e\u003ccode\u003ed510761\u003c/code\u003e\u003c/a\u003e Set default keyword argument timeout of 1 for get_dec_mode, get_location, get...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/fda1759d085b6fa185862d3ec7f368af489c5e2c\"\u003e\u003ccode\u003efda1759\u003c/code\u003e\u003c/a\u003e Modifiers/Keyboard+kitty, Dec Private Modes+Mouse, Sixel, XTVersion (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jquast/blessed/compare/1.22.0...1.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django` from 4.2.25 to 5.2.9\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/c14b756185c88f7f2eb745ff061f3c221fea9de7\"\u003e\u003ccode\u003ec14b756\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.9 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/99e7d22f55497278d0bcb2e15e72ef532e62a31d\"\u003e\u003ccode\u003e99e7d22\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64460 -- Corrected quadratic inner text accumulation i...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/479415ce5249bcdebeb6570c72df2a87f45a7bbf\"\u003e\u003ccode\u003e479415c\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-13372 -- Protected FilteredRelation against SQL inject...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/da1dfe64c821ba03ca7b0c936184cca1ad641316\"\u003e\u003ccode\u003eda1dfe6\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36712\"\u003e#36712\u003c/a\u003e -- Evaluated type annotations lazily in template tag reg...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/e2ddec431395330b423ef193548f374b5c2f395e\"\u003e\u003ccode\u003ee2ddec4\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs \u003ca href=\"https://redirect.github.com/django/django/issues/36743\"\u003e#36743\u003c/a\u003e -- Corrected docstring for DisallowedRedirect.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/b83ee616c683c5a5879a176a2bbb84cb715a92d5\"\u003e\u003ccode\u003eb83ee61\u003c/code\u003e\u003c/a\u003e [5.2.x] Closed temporary files in OverwritingStorageTests.test_save_overwrite...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/645dc99ab472b9152ccc483d7bbf4eca090da253\"\u003e\u003ccode\u003e645dc99\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs \u003ca href=\"https://redirect.github.com/django/django/issues/35535\"\u003e#35535\u003c/a\u003e -- Used intended decorator in test_simple_block_tag_paren...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/85586052e8d1d9f160b9f1b351e61a787a8e4bed\"\u003e\u003ccode\u003e8558605\u003c/code\u003e\u003c/a\u003e [5.2.x] Added link to Python Pickle documentation in docs/topics/cache.txt.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/de1dc3a87427475590d8efe10f3f627397524fca\"\u003e\u003ccode\u003ede1dc3a\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed outdated redis-py link in cache docs.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ee92d41f562a229ae6c0e6f625d34e7e9ffdc0bb\"\u003e\u003ccode\u003eee92d41\u003c/code\u003e\u003c/a\u003e [5.2.x] Highlighted community package upgrade utilities in docs/howto/upgrade...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/4.2.25...5.2.9\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-allauth[mfa,openid,saml,socialaccount]` from 65.12.1 to 65.13.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-dbbackup` from 5.0.0 to 5.0.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Archmonger/django-dbbackup/releases\"\u003edjango-dbbackup's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.0.1\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTo prevent accidental media exports, this package will now generate an exception if utilizing the legacy \u003ccode\u003eDBBACKUP_STORAGE\u003c/code\u003e or \u003ccode\u003eDBBACKUP_STORAGE_OPTIONS\u003c/code\u003e settings. These settings have been removed in favor of using Django's built-in \u003ccode\u003eSTORAGES\u003c/code\u003e setting. Please refer to the documentation for more information on how to migrate your configuration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/Archmonger/django-dbbackup/blob/master/CHANGELOG.md\"\u003edjango-dbbackup's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[5.0.1] - 2025-11-07\u003c/h2\u003e\n\u003ch3\u003eSecurity\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eTo prevent accidental media exports, this package will now generate an exception if utilizing the legacy \u003ccode\u003eDBBACKUP_STORAGE\u003c/code\u003e or \u003ccode\u003eDBBACKUP_STORAGE_OPTIONS\u003c/code\u003e settings. These settings have been removed in favor of using Django's built-in \u003ccode\u003eSTORAGES\u003c/code\u003e setting. Please refer to the documentation for more information on how to migrate your configuration.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Archmonger/django-dbbackup/commit/0ed283d9ec2f6974b94829f273ebcac534738738\"\u003e\u003ccode\u003e0ed283d\u003c/code\u003e\u003c/a\u003e v5.0.1 (fix \u003ca href=\"https://redirect.github.com/Archmonger/django-dbbackup/issues/645\"\u003e#645\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/Archmonger/django-dbbackup/issues/646\"\u003e#646\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Archmonger/django-dbbackup/commit/c1ae4a9a80b1251b13f8d0f483b0e658b63788fe\"\u003e\u003ccode\u003ec1ae4a9\u003c/code\u003e\u003c/a\u003e Indicate that STORAGES configuration may have more keys (\u003ca href=\"https://redirect.github.com/Archmonger/django-dbbackup/issues/640\"\u003e#640\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Archmonger/django-dbbackup/commit/543a7e009f14fef3db0cf8adf7937c02cf285125\"\u003e\u003ccode\u003e543a7e0\u003c/code\u003e\u003c/a\u003e Update README.md badges (\u003ca href=\"https://redirect.github.com/Archmonger/django-dbbackup/issues/638\"\u003e#638\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/Archmonger/django-dbbackup/compare/5.0.0...5.0.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-filter` from 25.1 to 25.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst\"\u003edjango-filter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.2 (2025-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded testing for Django 6.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Django \u0026lt;5.2 LTS\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/17ec565554bea4119ad74d2ffccdfb9740d9845b\"\u003e\u003ccode\u003e17ec565\u003c/code\u003e\u003c/a\u003e Bumped version for 25.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/9b4b8fdbfe84d471b2e69b7b28faacdd0dca2661\"\u003e\u003ccode\u003e9b4b8fd\u003c/code\u003e\u003c/a\u003e Updated testing for Django 6.0. (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1730\"\u003e#1730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/1b07b3e4c22354af31f3dcbaf4337566d7803fd4\"\u003e\u003ccode\u003e1b07b3e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/27a116864880a503b869c87a61e3e3ee597dae42\"\u003e\u003ccode\u003e27a1168\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7f59b6f092dadee749540a93c760f84fe5e08b9f\"\u003e\u003ccode\u003e7f59b6f\u003c/code\u003e\u003c/a\u003e Add drf as optional dependencies (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1724\"\u003e#1724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/635343ec55c9928bfa297314711df77fa83ff6c7\"\u003e\u003ccode\u003e635343e\u003c/code\u003e\u003c/a\u003e Add reference anchors to filter types to facilitate intersphinx refs (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1706\"\u003e#1706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7b3176e2ea05a42f2684296733004579f6dcece5\"\u003e\u003ccode\u003e7b3176e\u003c/code\u003e\u003c/a\u003e Document steps for postgres full text search (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1704\"\u003e#1704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carltongibson/django-filter/compare/25.1...25.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-flags` from 5.0.14 to 5.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cfpb/django-flags/releases\"\u003edjango-flags's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Python 3.13, drop support for \u0026lt; 3.10 by \u003ca href=\"https://github.com/willbarton\"\u003e\u003ccode\u003e@​willbarton\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/cfpb/django-flags/pull/135\"\u003ecfpb/django-flags#135\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/cfpb/django-flags/compare/5.0.14...5.1.0\"\u003ehttps://github.com/cfpb/django-flags/compare/5.0.14...5.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/cfpb/django-flags/blob/main/docs/releasenotes.md\"\u003edjango-flags's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e5.1.0\u003c/h2\u003e\n\u003ch3\u003eWhat's new?\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.13, removed support for Python \u0026lt; 3.10\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfpb/django-flags/commit/d0dd3478f5654befa0e9fdb08736065112b38bb7\"\u003e\u003ccode\u003ed0dd347\u003c/code\u003e\u003c/a\u003e Update release notes for new release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfpb/django-flags/commit/1a39acf1cd4284277810996c43845ea9d0b014fc\"\u003e\u003ccode\u003e1a39acf\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/cfpb/django-flags/issues/135\"\u003e#135\u003c/a\u003e from cfpb/py313\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cfpb/django-flags/commit/8bb2db5674b2fa723216b41015d74ce046a5fe4a\"\u003e\u003ccode\u003e8bb2db5\u003c/code\u003e\u003c/a\u003e Support Python 3.13, drop support for \u0026lt; 3.10\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/cfpb/django-flags/compare/5.0.14...5.1.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-markdownify` from 0.9.5 to 0.9.6\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/f40a6fa93095c89d8db51a3def0a9888c59f7583\"\u003e\u003ccode\u003ef40a6fa\u003c/code\u003e\u003c/a\u003e Fix setup.py\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/f62366f45a9a0b829eeb6fa40a7f7de003906653\"\u003e\u003ccode\u003ef62366f\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/67\"\u003e#67\u003c/a\u003e from erwinmatijsen/v0.9.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/0c9e8884d6ca87b721a22dd0033f967ed781f7f6\"\u003e\u003ccode\u003e0c9e888\u003c/code\u003e\u003c/a\u003e Update dependencies, drop support for Python 3.6\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/fd9cb8b29f0454bc2bfd80b9942e2d307cfe13cf\"\u003e\u003ccode\u003efd9cb8b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/65\"\u003e#65\u003c/a\u003e from erwinmatijsen/dependabot/pip/docs/source/urllib3-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/fc9611856920742f51c91f131903d578234bda0a\"\u003e\u003ccode\u003efc96118\u003c/code\u003e\u003c/a\u003e Bump urllib3 from 2.3.0 to 2.6.0 in /docs/source\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/b2bce15e0ac3b4ea71a280cc0520aebd7d48c4c1\"\u003e\u003ccode\u003eb2bce15\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/62\"\u003e#62\u003c/a\u003e from erwinmatijsen/docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/45c98e512d2b68cb02508d69425a8ac3351bb209\"\u003e\u003ccode\u003e45c98e5\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/81a18288b46e5535bd1d578fd5e3a6be502128b9\"\u003e\u003ccode\u003e81a1828\u003c/code\u003e\u003c/a\u003e Merge branch 'main' of github.com:erwinmatijsen/django-markdownify\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/78f618f36a0f1400164070bc340f560566d2b387\"\u003e\u003ccode\u003e78f618f\u003c/code\u003e\u003c/a\u003e Update certifi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/commit/df0370bc973dad07c3d9bc4fc43f76c825f0cd67\"\u003e\u003ccode\u003edf0370b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/59\"\u003e#59\u003c/a\u003e from erwinmatijsen/\u003ca href=\"https://redirect.github.com/erwinmatijsen/django-markdownify/issues/56\"\u003egh-56\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/erwinmatijsen/django-markdownify/compare/0.9.5...0.9.6\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-otp` from 1.3.0 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-otp/django-otp/blob/master/CHANGES.rst\"\u003edjango-otp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 - October 25, 2025 - Spanish update\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#182](https://github.com/django-otp/django-otp/issues/182)\u003c/code\u003e_: Correct missing Spanish translations\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#181](https://github.com/django-otp/django-otp/issues/181)\u003c/code\u003e_: Wrong :rtype: in StaticToken.random_token docstring\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003e#181\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003edjango-otp/django-otp#181\u003c/a\u003e\n.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/182\"\u003e#182\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/182\"\u003edjango-otp/django-otp#182\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.2 - October 21, 2025 - Cleanup\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#179](https://github.com/django-otp/django-otp/issues/179)\u003c/code\u003e_: Add missing gettext strings\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#180](https://github.com/django-otp/django-otp/issues/180)\u003c/code\u003e_: Remove tests from wheels\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/179\"\u003e#179\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/179\"\u003edjango-otp/django-otp#179\u003c/a\u003e\n.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/180\"\u003e#180\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/180\"\u003edjango-otp/django-otp#180\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.1 - July 08, 2025 - Small improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow a {token} placeholder in :setting:\u003ccode\u003eOTP_EMAIL_SUBJECT\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 - April 02, 2025 - Django 5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate test matrix for Django 5.2.\u003c/li\u003e\n\u003cli\u003eRemove support for Django 3.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.4 - September 06, 2024 - Ignore proxy models when enumerating device classes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#161](https://github.com/django-otp/django-otp/issues/161)\u003c/code\u003e_: Discard proxied models when iterating device models\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/161\"\u003e#161\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/161\"\u003edjango-otp/django-otp#161\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.5.3 - September 04, 2024 - Small admin template fix\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#158](https://github.com/django-otp/django-otp/issues/158)\u003c/code\u003e_: Remove JS focus() in admin login template\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/158\"\u003e#158\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/158\"\u003edjango-otp/django-otp#158\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ev1.5.2 - August 18, 2024 - otp_verification_failed signal\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/38b7ebabd7b4817aec92f884d448eeb462e82108\"\u003e\u003ccode\u003e38b7eba\u003c/code\u003e\u003c/a\u003e Version 1.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/b9026d7025da45b0144c99e91b5286c734448012\"\u003e\u003ccode\u003eb9026d7\u003c/code\u003e\u003c/a\u003e Correct Missing Spanish Translations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/ae18ba95bd03534e15583d456572f86ea2f41442\"\u003e\u003ccode\u003eae18ba9\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003e#181\u003c/a\u003e: misdocumented return type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/c9eef89240985293e0c9f197d0257a5352cfb62d\"\u003e\u003ccode\u003ec9eef89\u003c/code\u003e\u003c/a\u003e Version 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/b23eca0111d0ae980f29cbfa7243303bb676e10d\"\u003e\u003ccode\u003eb23eca0\u003c/code\u003e\u003c/a\u003e Removes tests from wheels (\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/180\"\u003e#180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/2ff35962b4ace4b07ddaf59255419ba12165420c\"\u003e\u003ccode\u003e2ff3596\u003c/code\u003e\u003c/a\u003e Adds missing gettext strings (\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/179\"\u003e#179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/f89ea1bae299c09f535c653e79136a98d9172558\"\u003e\u003ccode\u003ef89ea1b\u003c/code\u003e\u003c/a\u003e Version 1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/c1704692e889307aedaa2b1d766ffdb9911328de\"\u003e\u003ccode\u003ec170469\u003c/code\u003e\u003c/a\u003e Clean up OTP_EMAIL_SUBJECT improvement.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/ff845a7371527e8994a7fd1513cb9d49f5c2b5c8\"\u003e\u003ccode\u003eff845a7\u003c/code\u003e\u003c/a\u003e Adding {token} placeholder for email subject\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/6e9ae695c57676cf37d8d61a635c9d7b396aa727\"\u003e\u003ccode\u003e6e9ae69\u003c/code\u003e\u003c/a\u003e Version 1.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-otp/django-otp/compare/v1.3.0...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-q2` from 1.8.0 to 1.9.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GDay/django-q2/releases\"\u003edjango-q2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.9.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix to work with redis-py \u0026gt; 5 by \u003ca href=\"https://github.com/ltworf\"\u003e\u003ccode\u003e@​ltworf\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/282\"\u003edjango-q2/django-q2#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDjango 6.0 support by \u003ca href=\"https://github.com/spookylukey\"\u003e\u003ccode\u003e@​spookylukey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/307\"\u003edjango-q2/django-q2#307\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ltworf\"\u003e\u003ccode\u003e@​ltworf\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/282\"\u003edjango-q2/django-q2#282\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/spookylukey\"\u003e\u003ccode\u003e@​spookylukey\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/307\"\u003edjango-q2/django-q2#307\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-q2/django-q2/compare/v1.8.0...v1.9.0\"\u003ehttps://github.com/django-q2/django-q2/compare/v1.8.0...v1.9.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-q2/django-q2/blob/master/CHANGELOG.md\"\u003edjango-q2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/django-q2/django-q2/tree/v1.9.0\"\u003ev1.9.0\u003c/a\u003e (2025-12-04)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDjango 6.0 support \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/307\"\u003edjango-q2/django-q2#307\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix to make tests work with redis-py \u0026gt; 5 \u003ca href=\"https://redirect.github.com/django-q2/django-q2/pull/282\"\u003edjango-q2/django-q2#282\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-q2/django-q2/commit/386e04171b9c5e42af55ffe38ed4006e3b95be74\"\u003e\u003ccode\u003e386e041\u003c/code\u003e\u003c/a\u003e Release v1.9.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-q2/django-q2/commit/00545356244ab967870d02ef7f1b4c837703ca8d\"\u003e\u003ccode\u003e0054535\u003c/code\u003e\u003c/a\u003e Django 6.0 support (\u003ca href=\"https://redirect.github.com/GDay/django-q2/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-q2/django-q2/commit/09e65da5b34b9de152905dec42336d27c8b2116d\"\u003e\u003ccode\u003e09e65da\u003c/code\u003e\u003c/a\u003e Fix to make tests work with redis-py \u0026gt; 5 (\u003ca href=\"https://redirect.github.com/GDay/django-q2/issues/282\"\u003e#282\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/GDay/django-q2/compare/v1.8.0...v1.9.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `docutils` from 0.22.2 to 0.22.3\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/rtfd/recommonmark/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `drf-spectacular` from 0.28.0 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tfranzel/drf-spectacular/releases\"\u003edrf-spectacular's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.29.0\u003c/h2\u003e\n\u003cp\u003eThank you for all the patience with the release!\u003c/p\u003e\n\u003ch2\u003eImportant notes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFinally fixed the memory leak thanks to \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnother performance improvement is the usage of the C versions of yaml, if available.\u003c/li\u003e\n\u003cli\u003eApart from that, there are a lot of small improvements and bugfixes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePRs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLink to \u003ccode\u003eSerializerMethod\u003c/code\u003e docs by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1377\"\u003etfranzel/drf-spectacular#1377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument Django 5.1 support in README by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1376\"\u003etfranzel/drf-spectacular#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.11 to 4.2.18 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1366\"\u003etfranzel/drf-spectacular#1366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to lazily annotate a recursive SerializerMethod by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1384\"\u003etfranzel/drf-spectacular#1384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix docs compile issue and update some old code by \u003ca href=\"https://github.com/mikemanger\"\u003e\u003ccode\u003e@​mikemanger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1389\"\u003etfranzel/drf-spectacular#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd allauth's DRF token auth \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1401\"\u003e#1401\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1404\"\u003etfranzel/drf-spectacular#1404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.18 to 4.2.20 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1403\"\u003etfranzel/drf-spectacular#1403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting callable for ENUM_NAME_OVERRIDES by \u003ca href=\"https://github.com/q0w\"\u003e\u003ccode\u003e@​q0w\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1406\"\u003etfranzel/drf-spectacular#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct port mapping for the container in README by \u003ca href=\"https://github.com/mbienkowsk\"\u003e\u003ccode\u003e@​mbienkowsk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1408\"\u003etfranzel/drf-spectacular#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix python 3.11 slice index by \u003ca href=\"https://github.com/yegorLitvinov\"\u003e\u003ccode\u003e@​yegorLitvinov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1411\"\u003etfranzel/drf-spectacular#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Django REST framework 3.16 support by \u003ca href=\"https://github.com/pauloxnet\"\u003e\u003ccode\u003e@​pauloxnet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1420\"\u003etfranzel/drf-spectacular#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixes prefix estimation on windows by \u003ca href=\"https://github.com/originell\"\u003e\u003ccode\u003e@​originell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1440\"\u003etfranzel/drf-spectacular#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.20 to 4.2.24 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1451\"\u003etfranzel/drf-spectacular#1451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sort list to produce same hash by \u003ca href=\"https://github.com/florianvazelle\"\u003e\u003ccode\u003e@​florianvazelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1433\"\u003etfranzel/drf-spectacular#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typing.Generic to default lib_doc_excludes by \u003ca href=\"https://github.com/maxhowald\"\u003e\u003ccode\u003e@​maxhowald\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1429\"\u003etfranzel/drf-spectacular#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DecimalField with decimal_places and max_digits equal. by \u003ca href=\"https://github.com/keter2002\"\u003e\u003ccode\u003e@​keter2002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1457\"\u003etfranzel/drf-spectacular#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix default for array types by \u003ca href=\"https://github.com/TheSuperiorStanislav\"\u003e\u003ccode\u003e@​TheSuperiorStanislav\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1437\"\u003etfranzel/drf-spectacular#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.24 to 4.2.25 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1458\"\u003etfranzel/drf-spectacular#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenApiViewExtension\u003c/code\u003e not providing view instance under \u003ccode\u003eself.target\u003c/code\u003e by \u003ca href=\"https://github.com/astro-stan\"\u003e\u003ccode\u003e@​astro-stan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1405\"\u003etfranzel/drf-spectacular#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance bug report template with instructions for better clarity. by \u003ca href=\"https://github.com/Antoliny0919\"\u003e\u003ccode\u003e@​Antoliny0919\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1357\"\u003etfranzel/drf-spectacular#1357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd option to overwrite serializer description \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1463\"\u003e#1463\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1464\"\u003etfranzel/drf-spectacular#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove to_filter_name support for django_filter by \u003ca href=\"https://github.com/matwey\"\u003e\u003ccode\u003e@​matwey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1446\"\u003etfranzel/drf-spectacular#1446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: camelize tuples/fixed length array by \u003ca href=\"https://github.com/CharString\"\u003e\u003ccode\u003e@​CharString\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1432\"\u003etfranzel/drf-spectacular#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix memory leak by \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1416\"\u003etfranzel/drf-spectacular#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add check condition, that serializer meta has model attribute by \u003ca href=\"https://github.com/kritohanzo\"\u003e\u003ccode\u003e@​kritohanzo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1397\"\u003etfranzel/drf-spectacular#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[django-filter] Add null_label if set in ChoiceFilter by \u003ca href=\"https://github.com/epou\"\u003e\u003ccode\u003e@​epou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1450\"\u003etfranzel/drf-spectacular#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd l18n handling for Decimal field \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1466\"\u003e#1466\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1467\"\u003etfranzel/drf-spectacular#1467\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikemanger\"\u003e\u003ccode\u003e@​mikemanger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1389\"\u003etfranzel/drf-spectacular#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mbienkowsk\"\u003e\u003ccode\u003e@​mbienkowsk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1408\"\u003etfranzel/drf-spectacular#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yegorLitvinov\"\u003e\u003ccode\u003e@​yegorLitvinov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1411\"\u003etfranzel/drf-spectacular#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pauloxnet\"\u003e\u003ccode\u003e@​pauloxnet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1420\"\u003etfranzel/drf-spectacular#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/originell\"\u003e\u003ccode\u003e@​originell\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1440\"\u003etfranzel/drf-spectacular#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/florianvazelle\"\u003e\u003ccode\u003e@​florianvazelle\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1433\"\u003etfranzel/drf-spectacular#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maxhowald\"\u003e\u003ccode\u003e@​maxhowald\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1429\"\u003etfranzel/drf-spectacular#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keter2002\"\u003e\u003ccode\u003e@​keter2002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1457\"\u003etfranzel/drf-spectacular#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheSuperiorStanislav\"\u003e\u003ccode\u003e@​TheSuperiorStanislav\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1437\"\u003etfranzel/drf-spectacular#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astro-stan\"\u003e\u003ccode\u003e@​astro-stan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1405\"\u003etfranzel/drf-spectacular#1405\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tfranzel/drf-spectacular/blob/master/CHANGELOG.rst\"\u003edrf-spectacular's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.29.0 (2025-11-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd l18n handling for Decimal field \u003ccode\u003e[#1466](https://github.com/tfranzel/drf-spectacular/issues/1466) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1466\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eFix LogoutSerializer for JWT/dj_rest_auth \u003ccode\u003e[#1392](https://github.com/tfranzel/drf-spectacular/issues/1392) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1392\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003efix: support token blacklist feature in rest_auth [Bart van Andel]\u003c/li\u003e\n\u003cli\u003e[django-filter] Add null_label if set in ChoiceFilter (\u003ccode\u003e[#1450](https://github.com/tfranzel/drf-spectacular/issues/1450) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1450\u0026gt;\u003c/code\u003e_) [Enric Pou]\u003c/li\u003e\n\u003cli\u003efix: camelize tuples/fixed length array (\u003ccode\u003e[#1432](https://github.com/tfranzel/drf-spectacular/issues/1432) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1432\u0026gt;\u003c/code\u003e_) [Chris Wesseling]\u003c/li\u003e\n\u003cli\u003eFix items:False case in enum hook \u003ccode\u003e[#1432](https://github.com/tfranzel/drf-spectacular/issues/1432) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1432\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdd option to overwrite serializer description \u003ccode\u003e[#1463](https://github.com/tfranzel/drf-spec...\n\n_Description has been truncated_","html_url":"https://github.com/invenhost/InvenTree/pull/277","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/invenhost%2FInvenTree/issues/277","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/277/packages"}},{"old_version":"8.1.0","new_version":"10.0.0","update_type":"major","path":null,"pr_created_at":"2025-12-08T20:56:50.000Z","version_change":"8.1.0 → 10.0.0","issue":{"uuid":"3707991840","node_id":"PR_kwDOQaoXUc63w_pr","number":18,"state":"open","title":"⬆️ [Security](deps): Bump the django group across 1 directory with 4 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["issouf14-DEV"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-12-08T20:56:50.000Z","updated_at":"2025-12-08T20:56:52.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"⬆️ [Security](deps): Bump","group_name":"django","update_count":4,"packages":[{"name":"django-csp","old_version":"3.8","new_version":"4.0","repository_url":"https://github.com/mozilla/django-csp"},{"name":"django-permissions-policy","old_version":"4.20.0","new_version":"4.28.0","repository_url":"https://github.com/adamchainz/django-permissions-policy"},{"name":"django-extensions","old_version":"3.2.3","new_version":"4.1","repository_url":"https://github.com/django-extensions/django-extensions"},{"name":"django-structlog","old_version":"8.1.0","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"}],"path":null,"ecosystem":"pip"},"body":"Bumps the django group with 4 updates in the / directory: [django-csp](https://github.com/mozilla/django-csp), [django-permissions-policy](https://github.com/adamchainz/django-permissions-policy), [django-extensions](https://github.com/django-extensions/django-extensions) and [django-structlog](https://github.com/jrobichaud/django-structlog).\n\nUpdates `django-csp` from 3.8 to 4.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mozilla/django-csp/releases\"\u003edjango-csp's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev4.0\u003c/h2\u003e\n\u003cp\u003eThis release contains several breaking changes. For a complete migration guide, see:\n\u003ca href=\"https://django-csp.readthedocs.io/en/latest/migration-guide.html\"\u003ehttps://django-csp.readthedocs.io/en/latest/migration-guide.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eConfiguration Format\u003c/strong\u003e: Moved to dict-based configuration which allows for setting policies for\nboth enforced and report-only. Instead of using individual settings with \u003ccode\u003eCSP_\u003c/code\u003e prefixes, you now\nuse dictionaries called \u003ccode\u003eCONTENT_SECURITY_POLICY\u003c/code\u003e and/or \u003ccode\u003eCONTENT_SECURITY_POLICY_REPORT_ONLY\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/mozilla/django-csp/pull/219\"\u003e#219\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eYou can use Django's check command to automatically identify existing CSP settings and generate a\ntemplate for the new configuration format:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython manage.py check\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis will detect your old \u003ccode\u003eCSP_\u003c/code\u003e prefixed settings and output a draft of the new dict-based\nconfiguration, giving you a starting point for migration.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eExample:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eChange from:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eCSP_DEFAULT_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;*.example.com\u0026quot;]\nCSP_SCRIPT_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;js.cdn.com/example/\u0026quot;]\nCSP_IMG_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;data:\u0026quot;, \u0026quot;example.com\u0026quot;]\nCSP_EXCLUDE_URL_PREFIXES = [\u0026quot;/admin\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eto:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom csp.constants import SELF\n\u003cp\u003eCONTENT_SECURITY_POLICY = {\n\u0026quot;DIRECTIVES\u0026quot;: {\n\u0026quot;default-src\u0026quot;: [SELF, \u0026quot;*.example.com\u0026quot;],\n\u0026quot;script-src\u0026quot;: [SELF, \u0026quot;js.cdn.com/example/\u0026quot;],\n\u0026quot;img-src\u0026quot;: [SELF, \u0026quot;data:\u0026quot;, \u0026quot;example.com\u0026quot;],\n},\n\u0026quot;EXCLUDE_URL_PREFIXES\u0026quot;: [\u0026quot;/admin\u0026quot;],\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eNonce Configuration\u003c/strong\u003e: Switched from specifying directives that should contain nonces as a\nseparate list to using a sentinel \u003ccode\u003eNONCE\u003c/code\u003e value in the directive itself.\n(\u003ca href=\"https://redirect.github.com/mozilla/django-csp/pull/223\"\u003e#223\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eExample:\u003c/strong\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/mozilla/django-csp/blob/main/CHANGES.md\"\u003edjango-csp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e4.0\u003c/h1\u003e\n\u003cp\u003eThis release contains several breaking changes. For a complete migration guide, see:\n\u003ca href=\"https://django-csp.readthedocs.io/en/latest/migration-guide.html\"\u003ehttps://django-csp.readthedocs.io/en/latest/migration-guide.html\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003eBreaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eConfiguration Format\u003c/strong\u003e: Moved to dict-based configuration which allows for setting policies for\nboth enforced and report-only. Instead of using individual settings with \u003ccode\u003eCSP_\u003c/code\u003e prefixes, you now\nuse dictionaries called \u003ccode\u003eCONTENT_SECURITY_POLICY\u003c/code\u003e and/or \u003ccode\u003eCONTENT_SECURITY_POLICY_REPORT_ONLY\u003c/code\u003e.\n(\u003ca href=\"https://redirect.github.com/mozilla/django-csp/pull/219\"\u003e#219\u003c/a\u003e)\u003c/p\u003e\n\u003cp\u003eYou can use Django's check command to automatically identify existing CSP settings and generate a\ntemplate for the new configuration format:\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003epython manage.py check\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eThis will detect your old \u003ccode\u003eCSP_\u003c/code\u003e prefixed settings and output a draft of the new dict-based\nconfiguration, giving you a starting point for migration.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eExample:\u003c/strong\u003e\u003c/p\u003e\n\u003cp\u003eChange from:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eCSP_DEFAULT_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;*.example.com\u0026quot;]\nCSP_SCRIPT_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;js.cdn.com/example/\u0026quot;]\nCSP_IMG_SRC = [\u0026quot;'self'\u0026quot;, \u0026quot;data:\u0026quot;, \u0026quot;example.com\u0026quot;]\nCSP_EXCLUDE_URL_PREFIXES = [\u0026quot;/admin\u0026quot;]\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eto:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003efrom csp.constants import SELF\n\u003cp\u003eCONTENT_SECURITY_POLICY = {\n\u0026quot;DIRECTIVES\u0026quot;: {\n\u0026quot;default-src\u0026quot;: [SELF, \u0026quot;*.example.com\u0026quot;],\n\u0026quot;script-src\u0026quot;: [SELF, \u0026quot;js.cdn.com/example/\u0026quot;],\n\u0026quot;img-src\u0026quot;: [SELF, \u0026quot;data:\u0026quot;, \u0026quot;example.com\u0026quot;],\n},\n\u0026quot;EXCLUDE_URL_PREFIXES\u0026quot;: [\u0026quot;/admin\u0026quot;],\n}\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003cstrong\u003eNonce Configuration\u003c/strong\u003e: Switched from specifying directives that should contain nonces as a\nseparate list to using a sentinel \u003ccode\u003eNONCE\u003c/code\u003e value in the directive itself.\n(\u003ca href=\"https://redirect.github.com/mozilla/django-csp/pull/223\"\u003e#223\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/6d5cc6c00e90651447ee555f948231bc21998b3e\"\u003e\u003ccode\u003e6d5cc6c\u003c/code\u003e\u003c/a\u003e Prep for 4.0 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/9d06e2579ef3765dd47721db27417b25a00378d0\"\u003e\u003ccode\u003e9d06e25\u003c/code\u003e\u003c/a\u003e docs: Update configuration exclude info\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/d6bff9fabef65ee3d9efe9bd764450b0a6f2f0ae\"\u003e\u003ccode\u003ed6bff9f\u003c/code\u003e\u003c/a\u003e Prep for 4.0b7 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/395d928f701a128798dc400f6dd7a61015a25f57\"\u003e\u003ccode\u003e395d928\u003c/code\u003e\u003c/a\u003e Remove \u003ccode\u003eCSPMiddlewareAlwaysGenerateNonce\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/4054a7b1535d5ebe854d114dab803cd6fbeb13a0\"\u003e\u003ccode\u003e4054a7b\u003c/code\u003e\u003c/a\u003e Prepare for 4.0b6 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/3553412492c882fe98fc68c26fb020f8eb31a9b9\"\u003e\u003ccode\u003e3553412\u003c/code\u003e\u003c/a\u003e Fix CSPMiddlewareAlwaysGenerateNonce\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/970be2661b4ce19140e2cd2b194cce8e166c8175\"\u003e\u003ccode\u003e970be26\u003c/code\u003e\u003c/a\u003e Prep for django-csp==4.0b5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/834e628a146f68bf8cafdf7eac1fb5f58266392f\"\u003e\u003ccode\u003e834e628\u003c/code\u003e\u003c/a\u003e Reformat with pyproject-fmt\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/580c1fc00b092c5dd051d271405cf75fb5aa0e4b\"\u003e\u003ccode\u003e580c1fc\u003c/code\u003e\u003c/a\u003e Upgrade ReadTheDocs environment\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mozilla/django-csp/commit/40c89d4535a9b4a88f0ee78c386ccf518ac770ee\"\u003e\u003ccode\u003e40c89d4\u003c/code\u003e\u003c/a\u003e Expand tests for nonce usage in templates\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/mozilla/django-csp/compare/3.8...v4.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-permissions-policy` from 4.20.0 to 4.28.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/adamchainz/django-permissions-policy/blob/main/CHANGELOG.rst\"\u003edjango-permissions-policy's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.28.0 (2025-09-18)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Django 6.0.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.27.0 (2025-09-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eSupport Python 3.14.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated to the latest set of features from Chrome 141 dev.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003earia-notify\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage-model\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elocal-network-access\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eon-device-speech-recognition\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eRemoved features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003eweb-app-installation\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.26.0 (2025-04-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated to the latest set of features from Chrome 137 dev.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003edevice-attributes\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003elanguage-detector\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erewriter\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003esummarizer\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003etranslator\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewriter\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.25.0 (2025-02-06)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport Django 5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.24.0 (2025-01-07)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eUpdated to the latest set of features from Chrome 133 dev.\u003c/p\u003e\n\u003cp\u003eNew features:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003edeferred-fetch-minimal\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/1478f2d9dfed8fa2d58b614825371feb382453a3\"\u003e\u003ccode\u003e1478f2d\u003c/code\u003e\u003c/a\u003e Version 4.28.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/156c93775148ba604194ace1d4fe4b70943ace1f\"\u003e\u003ccode\u003e156c937\u003c/code\u003e\u003c/a\u003e Correct testing of Django 6.0 (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/516\"\u003e#516\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/24c32546b201f7cca5cec8dc83912983b9edad20\"\u003e\u003ccode\u003e24c3254\u003c/code\u003e\u003c/a\u003e Support Django 6.0 (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/515\"\u003e#515\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/5ebaf2bf1a0d3c6d0ee22e493e2637e23e22aa21\"\u003e\u003ccode\u003e5ebaf2b\u003c/code\u003e\u003c/a\u003e Version 4.27.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/6978994090df3f29746682e4e4b4c040b2449051\"\u003e\u003ccode\u003e6978994\u003c/code\u003e\u003c/a\u003e Update list of features for Chrome 141 dev (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/514\"\u003e#514\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/346e32b30f8618cb11b91ef59382943d6cbfa650\"\u003e\u003ccode\u003e346e32b\u003c/code\u003e\u003c/a\u003e Support Python 3.14 (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/513\"\u003e#513\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/8985353fbeca065f38dccaf3dd9d926c32e1b62e\"\u003e\u003ccode\u003e8985353\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/512\"\u003e#512\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/3694aa0b72c978370adaca46c9fe48a0342272ac\"\u003e\u003ccode\u003e3694aa0\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/511\"\u003e#511\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/07d6da54e600a9082aa4e7d99663286031842d13\"\u003e\u003ccode\u003e07d6da5\u003c/code\u003e\u003c/a\u003e Upgrade dependencies (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/510\"\u003e#510\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/adamchainz/django-permissions-policy/commit/9b8db7b6552171b82c1992138ef31030b9e8b14a\"\u003e\u003ccode\u003e9b8db7b\u003c/code\u003e\u003c/a\u003e Use uvx to run tox on GitHub Actions (\u003ca href=\"https://redirect.github.com/adamchainz/django-permissions-policy/issues/509\"\u003e#509\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/adamchainz/django-permissions-policy/compare/4.20.0...4.28.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-extensions` from 3.2.3 to 4.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-extensions/django-extensions/releases\"\u003edjango-extensions's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd: show_permissions command (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1920\"\u003e#1920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, style per app (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: JSONField, bulk_update's (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1924\"\u003e#1924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ahmad88me\"\u003e\u003ccode\u003e@​ahmad88me\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1848\"\u003edjango-extensions/django-extensions#1848\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-extensions/django-extensions/compare/4.0...4.1\"\u003ehttps://github.com/django-extensions/django-extensions/compare/4.0...4.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e4.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eImprovement: Support for Python 3.12 and 3.13\u003c/li\u003e\n\u003cli\u003eImprovement: Support for Django 5.x\u003c/li\u003e\n\u003cli\u003eImprovement: Switch from setup.{cfg,py} to pyproject.toml\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Add option to display field choices in graph_models (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1854\"\u003e#1854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Add webp support (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Support for ordering edges on pydot/dot/graphviz (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1914\"\u003e#1914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: mail_debug, Update mail_debug command to use aiosmtpd (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1880\"\u003e#1880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: shell_plus, Improve error message for missing import (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1898\"\u003e#1898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: reset_db, Add reset_db support for django_tenants (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1855\"\u003e#1855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: docs, various improvements (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1852\"\u003e#1852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1888\"\u003e#1888\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1882\"\u003e#1882\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1901\"\u003e#1901\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1912\"\u003e#1912\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: jobs, Handle non-package modules when looking for job definitions (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1887\"\u003e#1887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: Add django-prometheus DB backends support (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1800\"\u003e#1800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: Call post_command when the command raises an unhandled exception (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: sqldiff, do not consider ('serial', 'integer') nor ('bigserial', 'bigint') as a field-type-differ (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: shell_plus, Fix start up order and add history (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1869\"\u003e#1869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove pipchecker and associated tests (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1906\"\u003e#1906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFollowing Django's release numbering style more closely (see \u003ca href=\"https://docs.djangoproject.com/en/5.2/internals/release-process/\"\u003ehttps://docs.djangoproject.com/en/5.2/internals/release-process/\u003c/a\u003e )\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dimitrismistriotis\"\u003e\u003ccode\u003e@​dimitrismistriotis\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1859\"\u003edjango-extensions/django-extensions#1859\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/titouanc\"\u003e\u003ccode\u003e@​titouanc\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1854\"\u003edjango-extensions/django-extensions#1854\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/dmwyatt\"\u003e\u003ccode\u003e@​dmwyatt\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1872\"\u003edjango-extensions/django-extensions#1872\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/stianjensen\"\u003e\u003ccode\u003e@​stianjensen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1898\"\u003edjango-extensions/django-extensions#1898\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PapaZ810\"\u003e\u003ccode\u003e@​PapaZ810\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1888\"\u003edjango-extensions/django-extensions#1888\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/kviktor\"\u003e\u003ccode\u003e@​kviktor\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1857\"\u003edjango-extensions/django-extensions#1857\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/aripollak\"\u003e\u003ccode\u003e@​aripollak\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1913\"\u003edjango-extensions/django-extensions#1913\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/flowgunso\"\u003e\u003ccode\u003e@​flowgunso\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1914\"\u003edjango-extensions/django-extensions#1914\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anitahammer\"\u003e\u003ccode\u003e@​anitahammer\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1869\"\u003edjango-extensions/django-extensions#1869\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/nicolaspanel\"\u003e\u003ccode\u003e@​nicolaspanel\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1867\"\u003edjango-extensions/django-extensions#1867\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yujinyuz\"\u003e\u003ccode\u003e@​yujinyuz\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1855\"\u003edjango-extensions/django-extensions#1855\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/soof-golan\"\u003e\u003ccode\u003e@​soof-golan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1852\"\u003edjango-extensions/django-extensions#1852\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ghickman\"\u003e\u003ccode\u003e@​ghickman\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1887\"\u003edjango-extensions/django-extensions#1887\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud\"\u003e\u003ccode\u003e@​jrobichaud\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/pull/1837\"\u003edjango-extensions/django-extensions#1837\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-extensions/django-extensions/compare/3.2.3...4.0\"\u003ehttps://github.com/django-extensions/django-extensions/compare/3.2.3...4.0\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e3.2.4b1\u003c/h2\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-extensions/django-extensions/blob/main/CHANGELOG.md\"\u003edjango-extensions's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e4.1\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdd: show_permissions command (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1920\"\u003e#1920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, style per app (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: JSONField, bulk_update's (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1924\"\u003e#1924\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e4.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eImprovement: Support for Python 3.12 and 3.13\u003c/li\u003e\n\u003cli\u003eImprovement: Support for Django 5.x\u003c/li\u003e\n\u003cli\u003eImprovement: Switch from setup.{cfg,py} to pyproject.toml\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Add option to display field choices in graph_models (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1854\"\u003e#1854\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Add webp support (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: graph_models, Support for ordering edges on pydot/dot/graphviz (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1914\"\u003e#1914\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: mail_debug, Update mail_debug command to use aiosmtpd (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1880\"\u003e#1880\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: shell_plus, Improve error message for missing import (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1898\"\u003e#1898\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: reset_db, Add reset_db support for django_tenants (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1855\"\u003e#1855\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: docs, various improvements (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1852\"\u003e#1852\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1888\"\u003e#1888\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1882\"\u003e#1882\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1901\"\u003e#1901\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1912\"\u003e#1912\u003c/a\u003e, \u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1913\"\u003e#1913\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: jobs, Handle non-package modules when looking for job definitions (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1887\"\u003e#1887\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: Add django-prometheus DB backends support (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1800\"\u003e#1800\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprovement: Call post_command when the command raises an unhandled exception (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1837\"\u003e#1837\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: sqldiff, do not consider ('serial', 'integer') nor ('bigserial', 'bigint') as a \u003ccode\u003efield-type-differ\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1867\"\u003e#1867\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix: shell_plus, Fix start up order and add history (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1869\"\u003e#1869\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove pipchecker and associated tests (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1906\"\u003e#1906\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFollowing Django's release numbering style more closely (see \u003ca href=\"https://docs.djangoproject.com/en/5.2/internals/release-process/\"\u003ehttps://docs.djangoproject.com/en/5.2/internals/release-process/\u003c/a\u003e )\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/ad015513e5d8e8ee6ad748fca5f32ccf3fb3d5c5\"\u003e\u003ccode\u003ead01551\u003c/code\u003e\u003c/a\u003e v4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/2c3e914f1264c0a029b3b47b7425d0f68ce637ed\"\u003e\u003ccode\u003e2c3e914\u003c/code\u003e\u003c/a\u003e update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/fb5b2af1b6595ee126237c299acf242fcfee817e\"\u003e\u003ccode\u003efb5b2af\u003c/code\u003e\u003c/a\u003e ruff format\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/7e978d27b031843640f9204ff495738c46233d7f\"\u003e\u003ccode\u003e7e978d2\u003c/code\u003e\u003c/a\u003e graph_models style per app (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1848\"\u003e#1848\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/067064ea0c6dec7cba1583447fe5fe1c706d5351\"\u003e\u003ccode\u003e067064e\u003c/code\u003e\u003c/a\u003e avoid trying to serialize expressions when serializing default values\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/a886068502474e70a2d68ff4634a15cc3366088d\"\u003e\u003ccode\u003ea886068\u003c/code\u003e\u003c/a\u003e update CHANGELOG\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/d824501cbc6d04a24a43ff5756b496f84093b225\"\u003e\u003ccode\u003ed824501\u003c/code\u003e\u003c/a\u003e Add show_permissions management command (\u003ca href=\"https://redirect.github.com/django-extensions/django-extensions/issues/1920\"\u003e#1920\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/934f93f53bdf6c6271ae1ddaee71bc9bf3364a0e\"\u003e\u003ccode\u003e934f93f\u003c/code\u003e\u003c/a\u003e bumped version number\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/c4577df5b69ec1ebcbe6bc64d7a5c20362f3a8fa\"\u003e\u003ccode\u003ec4577df\u003c/code\u003e\u003c/a\u003e v4.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-extensions/django-extensions/commit/7cdb43ab56a3b610b47680d8a2fe86b09d5913aa\"\u003e\u003ccode\u003e7cdb43a\u003c/code\u003e\u003c/a\u003e pyproject formatting\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-extensions/django-extensions/compare/3.2.3...4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 8.1.0 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003ch2\u003e9.1.1 (April 7, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- fix \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata not working. See \u003ccode\u003e[#811](https://github.com/jrobichaud/django-structlog/issues/811) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/811\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.1.0 (April 4, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- new setting \u003ccode\u003eDJANGO_STRUCTLOG_IP_LOGGING_ENABLED\u003c/code\u003e (default \u003ccode\u003eTrue\u003c/code\u003e) to allow to disable ip binding. See \u003ccode\u003e[#803](https://github.com/jrobichaud/django-structlog/issues/803) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/803\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@dulguunpc \u0026lt;https://github.com/dulguunpc\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- add \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata. See \u003ccode\u003e[#796](https://github.com/jrobichaud/django-structlog/issues/796) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/796\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- \u003ccode\u003evary: Cookie\u003c/code\u003e was always set. See \u003ccode\u003e[#734](https://github.com/jrobichaud/django-structlog/issues/734) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/734\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@last-partizan \u0026lt;https://github.com/last-partizan\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOther:\u003c/em\u003e\n- add support of django 5.2 (just adding it to the test matrix, no code changes)\u003c/p\u003e\n\u003ch2\u003e9.0.1 (January 29, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- Fix exceptions not being propagated when using streaming response. See \u003ccode\u003e[#747](https://github.com/jrobichaud/django-structlog/issues/747) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/747\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@liambuchanan \u0026lt;https://github.com/liambuchanan\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.0.0 (November 26, 2024)\u003c/h2\u003e\n\u003cp\u003eSee: :ref:\u003ccode\u003eupgrade_9.0\u003c/code\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add type definitions for the project. See \u003ccode\u003e[#697](https://github.com/jrobichaud/django-structlog/issues/697) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/697\u0026gt;\u003c/code\u003e_ and \u003ccode\u003e[#696](https://github.com/jrobichaud/django-structlog/issues/696) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/696\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@j00bar \u0026lt;https://github.com/j00bar\u0026gt;\u003c/code\u003e\u003c/em\u003e and \u003ccode\u003e@MaxDude132 \u0026lt;https://github.com/MaxDude132\u0026gt;\u003c/code\u003e_ for the review.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/8.1.0...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore conditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will remove the ignore condition of the specified dependency and ignore conditions\n\n\n\u003c/details\u003e","html_url":"https://github.com/issouf14-DEV/respira-backend/pull/18","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/issouf14-DEV%2Frespira-backend/issues/18","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/18/packages"}},{"old_version":"9.1.1","new_version":"10.0.0","update_type":"major","path":null,"pr_created_at":"2025-12-01T10:35:17.000Z","version_change":"9.1.1 → 10.0.0","issue":{"uuid":"3680350954","node_id":"PR_kwDOEExChs62T-Ro","number":555,"state":"closed","title":"Bump the dependencies group across 1 directory with 19 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2026-01-26T10:53:58.000Z","author_association":null,"state_reason":null,"created_at":"2025-12-01T10:35:17.000Z","updated_at":"2026-01-26T10:54:00.000Z","time_to_close":4839521,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"dependencies","update_count":19,"packages":[{"name":"django","old_version":"5.2.7","new_version":"5.2.8","repository_url":"https://github.com/django/django"},{"name":"celery","old_version":"5.5.3","new_version":"5.6.0","repository_url":"https://github.com/celery/celery"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0"},{"name":"boto3","old_version":"1.40.52","new_version":"1.42.0","repository_url":"https://github.com/boto/boto3"},{"name":"sentry-sdk","old_version":"2.42.0","new_version":"2.46.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"google-api-python-client","old_version":"2.184.0","new_version":"2.187.0","repository_url":"https://github.com/googleapis/google-api-python-client"},{"name":"google-auth","old_version":"2.41.1","new_version":"2.43.0","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"google-auth-httplib2","old_version":"0.2.0","new_version":"0.2.1","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2"},{"name":"google-auth-oauthlib","old_version":"1.2.2","new_version":"1.2.3","repository_url":"https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib"},{"name":"pytest","old_version":"8.4.2","new_version":"9.0.1","repository_url":"https://github.com/pytest-dev/pytest"},{"name":"faker","old_version":"37.11.0","new_version":"38.2.0","repository_url":"https://github.com/joke2k/faker"},{"name":"ipython","old_version":"9.6.0","new_version":"9.7.0","repository_url":"https://github.com/ipython/ipython"},{"name":"django-debug-toolbar","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/django-commons/django-debug-toolbar"},{"name":"mypy","old_version":"1.18.2","new_version":"1.19.0","repository_url":"https://github.com/python/mypy"},{"name":"django-stubs","old_version":"5.2.7","new_version":"5.2.8","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"djangorestframework-stubs","old_version":"3.16.4","new_version":"3.16.5","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"boto3-stubs","old_version":"1.40.52","new_version":"1.41.5","repository_url":"https://github.com/youtype/mypy_boto3_builder"},{"name":"ruff","old_version":"0.14.0","new_version":"0.14.7","repository_url":"https://github.com/astral-sh/ruff"},{"name":"pre-commit","old_version":"4.3.0","new_version":"4.5.0","repository_url":"https://github.com/pre-commit/pre-commit"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 19 updates in the / directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django](https://github.com/django/django) | `5.2.7` | `5.2.8` |\n| [celery](https://github.com/celery/celery) | `5.5.3` | `5.6.0` |\n| [django-structlog[celery]](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [boto3](https://github.com/boto/boto3) | `1.40.52` | `1.42.0` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.42.0` | `2.46.0` |\n| [google-api-python-client](https://github.com/googleapis/google-api-python-client) | `2.184.0` | `2.187.0` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.41.1` | `2.43.0` |\n| [google-auth-httplib2](https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2) | `0.2.0` | `0.2.1` |\n| [google-auth-oauthlib](https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib) | `1.2.2` | `1.2.3` |\n| [pytest](https://github.com/pytest-dev/pytest) | `8.4.2` | `9.0.1` |\n| [faker](https://github.com/joke2k/faker) | `37.11.0` | `38.2.0` |\n| [ipython](https://github.com/ipython/ipython) | `9.6.0` | `9.7.0` |\n| [django-debug-toolbar](https://github.com/django-commons/django-debug-toolbar) | `6.0.0` | `6.1.0` |\n| [mypy](https://github.com/python/mypy) | `1.18.2` | `1.19.0` |\n| [django-stubs](https://github.com/sponsors/typeddjango) | `5.2.7` | `5.2.8` |\n| [djangorestframework-stubs](https://github.com/sponsors/typeddjango) | `3.16.4` | `3.16.5` |\n| [boto3-stubs](https://github.com/youtype/mypy_boto3_builder) | `1.40.52` | `1.41.5` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.0` | `0.14.7` |\n| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.3.0` | `4.5.0` |\n\n\nUpdates `django` from 5.2.7 to 5.2.8\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/47fe39af56ecd0ad73b9c7562511015e96b91b80\"\u003e\u003ccode\u003e47fe39a\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.8 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ac9fcf6eb2c909f4150c5287808f49170ce1f9e2\"\u003e\u003ccode\u003eac9fcf6\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs CVE-2025-64459 -- Avoided propagating invalid arguments to Q on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6703f364d767e949c5b0e4016433ef75063b4f9b\"\u003e\u003ccode\u003e6703f36\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64459 -- Prevented SQL injections in Q/QuerySet via th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/4f5d904b63751dea9ffc3b0e046404a7fa5881ac\"\u003e\u003ccode\u003e4f5d904\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64458 -- Mitigated potential DoS in HttpResponseRedire...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/cbdf128cb316bccf9ca3b3b4966e57bd050bfc8a\"\u003e\u003ccode\u003ecbdf128\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36704\"\u003e#36704\u003c/a\u003e -- Fixed system check error for proxy model with a compo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6775888470317a6d69121779b489bb2dc7350318\"\u003e\u003ccode\u003e6775888\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36696\"\u003e#36696\u003c/a\u003e -- Fixed NameError when inspecting functions with deferr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/d5dfffaae52b9dcb4857d42b1e2902290a5c5e3c\"\u003e\u003ccode\u003ed5dfffa\u003c/code\u003e\u003c/a\u003e [5.2.x] Added stub release notes and release date for 5.2.8, 5.1.14, and 4.2.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/368f955c371cab5db18e9e239d10560cf15f5ea4\"\u003e\u003ccode\u003e368f955\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36681\"\u003e#36681\u003c/a\u003e -- Removed English pluralization bias from example in do...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/71267c97db211f1d7f1b8b794ceb2167a7619a4d\"\u003e\u003ccode\u003e71267c9\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/35095\"\u003e#35095\u003c/a\u003e -- Clarified Swiss number formatting in docs/topics/i18n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/9b37bd5fe73b0d614ad8e503071d6f7bf2bdf6b2\"\u003e\u003ccode\u003e9b37bd5\u003c/code\u003e\u003c/a\u003e [5.2.x] Made RemoteTestResultTest.test_pickle_errors_detection() compatible w...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/5.2.7...5.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `celery` from 5.5.3 to 5.6.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/releases\"\u003ecelery's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev5.6.0\u003c/h2\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003ch2\u003eKey Highlights\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://docs.celeryq.dev/en/stable/history/whatsnew-5.6.html\"\u003eWhat's new in Celery 5.6\u003c/a\u003e for a complete overview or read the main highlights below.\u003c/p\u003e\n\u003ch3\u003ePython 3.9 Minimum Version\u003c/h3\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python version is now 3.9. Users still on Python 3.8 must upgrade their Python version before upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch3\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h3\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in Celery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS users.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/auvipy\"\u003e\u003ccode\u003e@​auvipy\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9620\"\u003ecelery/celery#9620\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eSecurity Fix: Broker Credential Leak Prevention\u003c/h3\u003e\n\u003cp\u003eFixed a security issue where broker URLs containing passwords were being logged in plaintext by the delayed delivery mechanism. Broker credentials are now properly sanitized in all log output.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/giancarloromeo\"\u003e\u003ccode\u003e@​giancarloromeo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9997\"\u003ecelery/celery#9997\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eMemory Leak Fixes\u003c/h3\u003e\n\u003cp\u003eTwo significant memory leaks have been fixed in this release:\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003eException Handling Memory Leak\u003c/strong\u003e: Fixed a critical memory leak in task exception handling that was particularly severe on Python 3.11+ due to enhanced traceback data. The fix properly breaks reference cycles in tracebacks to allow garbage collection.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/jaiganeshs21\"\u003e\u003ccode\u003e@​jaiganeshs21\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9799\"\u003ecelery/celery#9799\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cstrong\u003ePending Result Memory Leak\u003c/strong\u003e: Fixed a memory leak where \u003ccode\u003eAsyncResult\u003c/code\u003e subscriptions were not being cleaned up when results were forgotten.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/tsoos99dev\"\u003e\u003ccode\u003e@​tsoos99dev\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9806\"\u003ecelery/celery#9806\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eETA Task Memory Limit\u003c/h3\u003e\n\u003cp\u003eNew configuration option \u003ccode\u003eworker_eta_task_limit\u003c/code\u003e to prevent out-of-memory crashes when workers fetch large numbers of ETA or countdown tasks. Previously, workers could exhaust available memory when the broker contained many scheduled tasks.\u003c/p\u003e\n\u003cp\u003eExample usage:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eapp.conf.worker_eta_task_limit = 1000\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eContributed by \u003ca href=\"https://github.com/sashu2310\"\u003e\u003ccode\u003e@​sashu2310\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/celery/celery/pull/9853\"\u003ecelery/celery#9853\u003c/a\u003e.\u003c/p\u003e\n\u003ch3\u003eQueue Type Selection for Auto-created Queues\u003c/h3\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/celery/celery/blob/main/Changelog.rst\"\u003ecelery's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e5.6.0\u003c/h1\u003e\n\u003cp\u003e:release-date: 2025-11-30\n:release-by: Tomer Nosrati\u003c/p\u003e\n\u003cp\u003eCelery v5.6.0 is now available.\u003c/p\u003e\n\u003cp\u003eKey Highlights\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\nSee :ref:`whatsnew-5.6` for a complete overview or read the main highlights below.\n\u003ch2\u003ePython 3.9 Minimum Version\u003c/h2\u003e\n\u003cp\u003eCelery 5.6.0 drops support for Python 3.8 (EOL). The minimum required Python\nversion is now 3.9. Users still on Python 3.8 must upgrade their Python version\nbefore upgrading to Celery 5.6.0.\u003c/p\u003e\n\u003cp\u003eAdditionally, this release includes initial support for Python 3.14.\u003c/p\u003e\n\u003ch2\u003eSQS: Reverted to \u003ccode\u003epycurl\u003c/code\u003e from \u003ccode\u003eurllib3\u003c/code\u003e\u003c/h2\u003e\n\u003cp\u003eThe switch from \u003ccode\u003epycurl\u003c/code\u003e to \u003ccode\u003eurllib3\u003c/code\u003e for the SQS transport (introduced in\nCelery 5.5.0 via Kombu) has been reverted due to critical issues affecting SQS\nusers:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eProcessing throughput dropped from ~100 tasks/sec to ~3/sec in some environments\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eUnknownOperationException\u003c/code\u003e errors causing container crash loops\u003c/li\u003e\n\u003cli\u003eSilent message processing failures with no error logs\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eUsers of the SQS transport must ensure \u003ccode\u003epycurl\u003c/code\u003e is installed. If you removed\n\u003ccode\u003epycurl\u003c/code\u003e after upgrading to Celery 5.5.0, you will need to reinstall it.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ccode\u003e@auvipy \u0026amp;lt;https://github.com/auvipy\u0026amp;gt;\u003c/code\u003e_ in\n\u003ccode\u003e[#9620](https://github.com/celery/celery/issues/9620) \u0026amp;lt;https://github.com/celery/celery/pull/9620\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003ch2\u003eSecurity Fix: Broker Credential Leak Prevention\u003c/h2\u003e\n\u003cp\u003eFixed a security issue where broker URLs containing passwords were being logged\nin plaintext by the delayed delivery mechanism. Broker credentials are now\nproperly sanitized in all log output.\u003c/p\u003e\n\u003cp\u003eContributed by \u003ccode\u003e@giancarloromeo \u0026amp;lt;https://github.com/giancarloromeo\u0026amp;gt;\u003c/code\u003e_ in\n\u003ccode\u003e[#9997](https://github.com/celery/celery/issues/9997) \u0026amp;lt;https://github.com/celery/celery/pull/9997\u0026amp;gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003eMemory Leak Fixes\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/cca11164860a1bee6ad8626c27a683b482f741eb\"\u003e\u003ccode\u003ecca1116\u003c/code\u003e\u003c/a\u003e Prepare for release: v5.6.0 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10010\"\u003e#10010\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/1133f22181bb22223d39c0060973695c6af55643\"\u003e\u003ccode\u003e1133f22\u003c/code\u003e\u003c/a\u003e Bump mypy from 1.14.1 to 1.19.0 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10008\"\u003e#10008\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/0932d2c06e001903b90638f7c40a14f5407c9801\"\u003e\u003ccode\u003e0932d2c\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10007\"\u003e#10007\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/b446910f18860531b089d6c39f974265cc24a589\"\u003e\u003ccode\u003eb446910\u003c/code\u003e\u003c/a\u003e Prepare for (pre) release: v5.6.0rc2 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10005\"\u003e#10005\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/3f0f0fe7ea6a67a696d0a750644b552559ae368e\"\u003e\u003ccode\u003e3f0f0fe\u003c/code\u003e\u003c/a\u003e asynpool: Don't return from inside a finally block (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10000\"\u003e#10000\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/95d05527c0e1fff5c1a38877ba87592983a7f993\"\u003e\u003ccode\u003e95d0552\u003c/code\u003e\u003c/a\u003e Bump actions/checkout from 5 to 6 (\u003ca href=\"https://redirect.github.com/celery/celery/issues/10003\"\u003e#10003\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/f32b92f0e481601e9cc9f1212a4feced3f48e1a0\"\u003e\u003ccode\u003ef32b92f\u003c/code\u003e\u003c/a\u003e Add Py39-314t to CI (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9999\"\u003e#9999\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/63c1910221d9fb8c1931ff62c80c4c37232b2d58\"\u003e\u003ccode\u003e63c1910\u003c/code\u003e\u003c/a\u003e Don't fail task on timeout during cold shutdown (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9678\"\u003e#9678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/30649dbd41308fc8eef79b2aae179a908eaa7a51\"\u003e\u003ccode\u003e30649db\u003c/code\u003e\u003c/a\u003e Fix log leaking broker credentials (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9997\"\u003e#9997\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/celery/celery/commit/929412e2d4d328e337be3f177ca99fff10ab9bdc\"\u003e\u003ccode\u003e929412e\u003c/code\u003e\u003c/a\u003e Remove Python 4.0 version condition for pytest dependencies (\u003ca href=\"https://redirect.github.com/celery/celery/issues/9993\"\u003e#9993\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/celery/celery/compare/v5.5.3...v5.6.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog[celery]` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog[celery]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `boto3` from 1.40.52 to 1.42.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/7ce189b284cdb2c8c963719b3a806d2eab61d123\"\u003e\u003ccode\u003e7ce189b\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.42.0'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/29d92d1d17b7e9ab2f32ed9e27de376e36e70f41\"\u003e\u003ccode\u003e29d92d1\u003c/code\u003e\u003c/a\u003e Bumping version to 1.42.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/743f945f5120285528643d1eda34b8dbff458d89\"\u003e\u003ccode\u003e743f945\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/e3744fd3054f1686e306d82f925f8a8e463c66a5\"\u003e\u003ccode\u003ee3744fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/boto/boto3/issues/4629\"\u003e#4629\u003c/a\u003e from hssyoo/crt-mode\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/39215b64750416e032dbfe565cf055f5ef66a0fd\"\u003e\u003ccode\u003e39215b6\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.5'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/79f28454bf612524a73cd2716292e4a3d9681f47\"\u003e\u003ccode\u003e79f2845\u003c/code\u003e\u003c/a\u003e Merge branch 'release-1.41.5' into develop\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/0fc80754d993e98dad51ea4e37656c4ad8962512\"\u003e\u003ccode\u003e0fc8075\u003c/code\u003e\u003c/a\u003e Bumping version to 1.41.5\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/573d3594fd35e4d7243a3d4319ef738a9041071e\"\u003e\u003ccode\u003e573d359\u003c/code\u003e\u003c/a\u003e Add changelog entries from botocore\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/177e90022e3d3975e7e07a42b17ec3dfd9c1797a\"\u003e\u003ccode\u003e177e900\u003c/code\u003e\u003c/a\u003e Remove backticks from error msg\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/boto/boto3/commit/ff9d88cca12eda7afa6e957944c904ea58cc7094\"\u003e\u003ccode\u003eff9d88c\u003c/code\u003e\u003c/a\u003e Add warning\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/boto/boto3/compare/1.40.52...1.42.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sdk` from 2.42.0 to 2.46.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/releases\"\u003esentry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.46.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve metadata on wrapped coroutines (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5105\"\u003e#5105\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake imports defensive to avoid \u003ccode\u003eModuleNotFoundError\u003c/code\u003e in Pydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5135\"\u003e#5135\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix OpenAI agents integration mistakenly enabling itself (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5132\"\u003e#5132\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd instrumentation to embedding functions for various backends (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5120\"\u003e#5120\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove embeddings support for OpenAI (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5121\"\u003e#5121\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance input handling for embeddings in LiteLLM integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5127\"\u003e#5127\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpect exceptions when re-raised (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5125\"\u003e#5125\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eMagicMock\u003c/code\u003e from mocked \u003ccode\u003eModelResponse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5126\"\u003e#5126\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.45.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOTLPIntegration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4877\"\u003e#4877\u003c/a\u003e) by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new OTLP integration with the code snippet below, and your OpenTelemetry instrumentation will be automatically sent to Sentry's OTLP ingestion endpoint.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e  import sentry_sdk\n  from sentry_sdk.integrations.otlp import OTLPIntegration\n\u003cp\u003esentry_sdk.init(\u003cbr /\u003e\ndsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\u003cbr /\u003e\n# Add data like inputs and responses;\u003cbr /\u003e\n# see \u003ca href=\"https://docs.sentry.io/platforms/python/data-management/data-collected/\"\u003ehttps://docs.sentry.io/platforms/python/data-management/data-collected/\u003c/a\u003e for more info\u003cbr /\u003e\nsend_default_pii=True,\u003cbr /\u003e\nintegrations=[\u003cbr /\u003e\nOTLPIntegration(),\u003cbr /\u003e\n],\u003cbr /\u003e\n)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eUnder the hood, this will setup:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003eSpanExporter\u003c/code\u003e that will automatically set up the OTLP ingestion endpoint from your DSN\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003ePropagator\u003c/code\u003e that ensures Distributed Tracing works\u003c/li\u003e\n\u003cli\u003eTrace/Span linking for all other Sentry events such as Errors, Logs, Crons and Metrics\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you were using the \u003ccode\u003eSentrySpanProcessor\u003c/code\u003e before, we recommend migrating over to \u003ccode\u003eOTLPIntegration\u003c/code\u003e since it's a much simpler setup.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat(integrations): implement context management for invoke_agent spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5089\"\u003e#5089\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat(loguru): Capture extra (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5096\"\u003e#5096\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat: Attach \u003ccode\u003eserver.address\u003c/code\u003e to metrics (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5113\"\u003e#5113\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: Cast message and detail attributes before appending exception notes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5114\"\u003e#5114\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(integrations): ensure that GEN_AI_AGENT_NAME is properly set for GEN_AI spans under an invoke_agent span (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5030\"\u003e#5030\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(logs): Update \u003ccode\u003esentry.origin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5112\"\u003e#5112\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: Deprecate description truncation option for Redis spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5073\"\u003e#5073\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: Deprecate \u003ccode\u003emax_spans\u003c/code\u003e LangChain parameter (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5074\"\u003e#5074\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore(toxgen): Check availability of pip and add detail to exceptions (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5076\"\u003e#5076\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md\"\u003esentry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.46.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePreserve metadata on wrapped coroutines (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5105\"\u003e#5105\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake imports defensive to avoid \u003ccode\u003eModuleNotFoundError\u003c/code\u003e in Pydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5135\"\u003e#5135\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix OpenAI agents integration mistakenly enabling itself (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5132\"\u003e#5132\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd instrumentation to embedding functions for various backends (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5120\"\u003e#5120\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove embeddings support for OpenAI (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5121\"\u003e#5121\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance input handling for embeddings in LiteLLM integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5127\"\u003e#5127\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExpect exceptions when re-raised (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5125\"\u003e#5125\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemove \u003ccode\u003eMagicMock\u003c/code\u003e from mocked \u003ccode\u003eModelResponse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5126\"\u003e#5126\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.45.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eOTLPIntegration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4877\"\u003e#4877\u003c/a\u003e) by \u003ca href=\"https://github.com/sl0thentr0py\"\u003e\u003ccode\u003e@​sl0thentr0py\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new OTLP integration with the code snippet below, and your OpenTelemetry instrumentation will be automatically sent to Sentry's OTLP ingestion endpoint.\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003e  import sentry_sdk\n  from sentry_sdk.integrations.otlp import OTLPIntegration\n\u003cp\u003esentry_sdk.init(\u003cbr /\u003e\ndsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\u003cbr /\u003e\n# Add data like inputs and responses;\u003cbr /\u003e\n# see \u003ca href=\"https://docs.sentry.io/platforms/python/data-management/data-collected/\"\u003ehttps://docs.sentry.io/platforms/python/data-management/data-collected/\u003c/a\u003e for more info\u003cbr /\u003e\nsend_default_pii=True,\u003cbr /\u003e\nintegrations=[\u003cbr /\u003e\nOTLPIntegration(),\u003cbr /\u003e\n],\u003cbr /\u003e\n)\u003cbr /\u003e\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cp\u003eUnder the hood, this will setup:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eA \u003ccode\u003eSpanExporter\u003c/code\u003e that will automatically set up the OTLP ingestion endpoint from your DSN\u003c/li\u003e\n\u003cli\u003eA \u003ccode\u003ePropagator\u003c/code\u003e that ensures Distributed Tracing works\u003c/li\u003e\n\u003cli\u003eTrace/Span linking for all other Sentry events such as Errors, Logs, Crons and Metrics\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eIf you were using the \u003ccode\u003eSentrySpanProcessor\u003c/code\u003e before, we recommend migrating over to \u003ccode\u003eOTLPIntegration\u003c/code\u003e since it's a much simpler setup.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat(integrations): implement context management for invoke_agent spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5089\"\u003e#5089\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat(loguru): Capture extra (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5096\"\u003e#5096\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efeat: Attach \u003ccode\u003eserver.address\u003c/code\u003e to metrics (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5113\"\u003e#5113\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix: Cast message and detail attributes before appending exception notes (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5114\"\u003e#5114\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(integrations): ensure that GEN_AI_AGENT_NAME is properly set for GEN_AI spans under an invoke_agent span (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5030\"\u003e#5030\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(logs): Update \u003ccode\u003esentry.origin\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5112\"\u003e#5112\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003echore: Deprecate description truncation option for Redis spans (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5073\"\u003e#5073\u003c/a\u003e) by \u003ca href=\"https://github.com/alexander-alderman-webb\"\u003e\u003ccode\u003e@​alexander-alderman-webb\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d3375bc37b08f0bb203689d77ea81fea6511eda4\"\u003e\u003ccode\u003ed3375bc\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/23abfe299675a32dc7354e72aee8890918659479\"\u003e\u003ccode\u003e23abfe2\u003c/code\u003e\u003c/a\u003e release: 2.46.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/ca19d6300f53178e77e77ded477a91338ad9be09\"\u003e\u003ccode\u003eca19d63\u003c/code\u003e\u003c/a\u003e feat: Preserve metadata on wrapped coroutines (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5105\"\u003e#5105\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/cf165e332b765b5ce657e09388fae454c1e63e54\"\u003e\u003ccode\u003ecf165e3\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/checkout from 5.0.0 to 6.0.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5136\"\u003e#5136\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b8d6a57d7861eb2420fc591083f70c2d0f477379\"\u003e\u003ccode\u003eb8d6a57\u003c/code\u003e\u003c/a\u003e build(deps): bump actions/create-github-app-token from 2.1.4 to 2.2.0 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5137\"\u003e#5137\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/c0c28b842d2ef3eb2e876bb40594ce8130b3bacd\"\u003e\u003ccode\u003ec0c28b8\u003c/code\u003e\u003c/a\u003e build(deps): bump supercharge/redis-github-action from 1.8.0 to 1.8.1 (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5138\"\u003e#5138\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/fb18c2164e054dfcf11c86b392c45a19a0630112\"\u003e\u003ccode\u003efb18c21\u003c/code\u003e\u003c/a\u003e fix(pydantic-ai): Make imports defensive to avoid \u003ccode\u003eModuleNotFoundError\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5135\"\u003e#5135\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/f945e382eeef31ad68738a0b6aef80119484ffbc\"\u003e\u003ccode\u003ef945e38\u003c/code\u003e\u003c/a\u003e Fix openai-agents import (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5132\"\u003e#5132\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/8596f894907c488925eb3e1b9eb07c3219eef65c\"\u003e\u003ccode\u003e8596f89\u003c/code\u003e\u003c/a\u003e fix(integrations): enhance input handling for embeddings in LiteLLM integrati...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/0e6e80888296e2c907b399b375639ec7f662a2f6\"\u003e\u003ccode\u003e0e6e808\u003c/code\u003e\u003c/a\u003e test(openai-agents): Remove \u003ccode\u003eMagicMock\u003c/code\u003e from mocked \u003ccode\u003eModelResponse\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5126\"\u003e#5126\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-python/compare/2.42.0...2.46.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-api-python-client` from 2.184.0 to 2.187.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-api-python-client/releases\"\u003egoogle-api-python-client's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.187.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.186.0...v2.187.0\"\u003e2.187.0\u003c/a\u003e (2025-11-04)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eadmin:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4ae6f5bc3f1a35cd69cb589c432c299df559dacf\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4ae6f5bc3f1a35cd69cb589c432c299df559dacf\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eaiplatform:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/131f59d6003dfbce3abfa00730dba9f90b9ca2ab\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/131f59d6003dfbce3abfa00730dba9f90b9ca2ab\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ealloydb:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8c341070f77639ef47f010d9410a814d65f0ed1e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8c341070f77639ef47f010d9410a814d65f0ed1e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eanalyticshub:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9ba4beb4e61873283345d197c2909259948c5488\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9ba4beb4e61873283345d197c2909259948c5488\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eandroidpublisher:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/3db77266c2abb44ab149d0f83f58f87727280274\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/3db77266c2abb44ab149d0f83f58f87727280274\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapigee:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a0411b6f5cc087f24e7ffb2c3e55b75e68f7d3c7\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a0411b6f5cc087f24e7ffb2c3e55b75e68f7d3c7\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapihub:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f820a3b6cd6fdcb90a02f0635cc53b231fd340f3\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f820a3b6cd6fdcb90a02f0635cc53b231fd340f3\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eapphub:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/0cde10dd690e2ca303b8dddd26baee762b12e103\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/0cde10dd690e2ca303b8dddd26baee762b12e103\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eartifactregistry:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c5e5cbd48fac599f541b4bb0671f73504bd95331\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c5e5cbd48fac599f541b4bb0671f73504bd95331\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eauthorizedbuyersmarketplace:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/4b1a58e965c744981d87598ff4d1d9caeb5ad442\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/4b1a58e965c744981d87598ff4d1d9caeb5ad442\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebackupdr:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/9ea2eb7f2c1bea7de204c1641ad2b2fa232cfad8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/9ea2eb7f2c1bea7de204c1641ad2b2fa232cfad8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebiglake:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/f598d38025c1515b5e615f8437a64cbd43fed135\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/f598d38025c1515b5e615f8437a64cbd43fed135\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebigquerydatatransfer:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/8dd81b0b258535afa8a6da984cd62f53892f7754\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/8dd81b0b258535afa8a6da984cd62f53892f7754\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ebigquery:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/cee5b00a8ea42682301ccd82abb987ca985520b1\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/cee5b00a8ea42682301ccd82abb987ca985520b1\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003echat:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c0b2205c2dbc816c783d5d9da64aa8f01ac64976\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c0b2205c2dbc816c783d5d9da64aa8f01ac64976\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudfunctions:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c40d929e0a719ba2f756c5e076edaafe97f0ade8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c40d929e0a719ba2f756c5e076edaafe97f0ade8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudidentity:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d55d33d3d82ed3045a20a6372368c06060aa7afe\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d55d33d3d82ed3045a20a6372368c06060aa7afe\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudkms:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aa4d8af269309a77657799795233644c83f41156\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aa4d8af269309a77657799795233644c83f41156\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecloudscheduler:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/68574b08de677e92f6b4ef73c9aa8981480fd244\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/68574b08de677e92f6b4ef73c9aa8981480fd244\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ecompute:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/385aad3a9db1c1e964dfabe2aec63510e495f929\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/385aad3a9db1c1e964dfabe2aec63510e495f929\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtactcenterinsights:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/abf00d5720427fc630a1b261b37bddf881d4aed8\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/abf00d5720427fc630a1b261b37bddf881d4aed8\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003econtainer:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/1fa286c4cf3c068ad7389a9f0c9d2672023d0a9a\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/1fa286c4cf3c068ad7389a9f0c9d2672023d0a9a\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataplex:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b082bcdea218f8eda4e3167f0d91086067f54326\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b082bcdea218f8eda4e3167f0d91086067f54326\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edataproc:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/46ecc1b97aee590e952a455f36a17ee57edc4878\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/46ecc1b97aee590e952a455f36a17ee57edc4878\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edatastream:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/94712425b6c1a43eac2f609efa2bbe0130c1d157\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/94712425b6c1a43eac2f609efa2bbe0130c1d157\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeveloperconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b5dbb37c9de1093601e5258e3390dbcba29090ab\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b5dbb37c9de1093601e5258e3390dbcba29090ab\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edfareporting:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/eb29fdfc7d374ca0fa8a4521dfd03adf5f9d2aaa\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/eb29fdfc7d374ca0fa8a4521dfd03adf5f9d2aaa\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edialogflow:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/0d073639ba2dd3cf64711a0b2e765c69cf40f301\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/0d073639ba2dd3cf64711a0b2e765c69cf40f301\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ediscoveryengine:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/0a0ffefd477c00e649e2449de4e978e97c7cb77e\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/0a0ffefd477c00e649e2449de4e978e97c7cb77e\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edisplayvideo:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/b952757151bf40ee3e8a29b4ba97723e839d564f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/b952757151bf40ee3e8a29b4ba97723e839d564f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edlp:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/c44af38454081885ad41f8e11e39e6d2b8be9250\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/c44af38454081885ad41f8e11e39e6d2b8be9250\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edocumentai:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/892d8591315553114022645b20b312d8f0b0e142\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/892d8591315553114022645b20b312d8f0b0e142\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edrive:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d0d23365f047c5bc095d500fbfb6364fea5b829f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d0d23365f047c5bc095d500fbfb6364fea5b829f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efile:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/33cc60f6da2e139c26e4037a0b2bd26a688b956f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/33cc60f6da2e139c26e4037a0b2bd26a688b956f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebaseappdistribution:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/d228cb515590e17fdbb2732f667db09940ff65f0\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/d228cb515590e17fdbb2732f667db09940ff65f0\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebaseapphosting:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/62fab0552fa333a8a79c0c433c515b029d743e3f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/62fab0552fa333a8a79c0c433c515b029d743e3f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003efirebasedataconnect:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/5fc2c543b13bc466fccd2e89fef36fd6da5a905c\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/5fc2c543b13bc466fccd2e89fef36fd6da5a905c\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003egkeonprem:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/aacb9659d60bed0a38c05936c788d6c96eb30599\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/aacb9659d60bed0a38c05936c788d6c96eb30599\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003ehealthcare:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/ac074ed9332b6ebaa776c9ef7123d708fea89b8b\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/ac074ed9332b6ebaa776c9ef7123d708fea89b8b\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eiamcredentials:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/a668b6ab59c1c913ed455c94e722cd0747850c9f\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/a668b6ab59c1c913ed455c94e722cd0747850c9f\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003eids:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/e03595989016a96400343dbaa03371a049656d50\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/e03595989016a96400343dbaa03371a049656d50\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elogging:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/652fd598fcd529c3da0563990bf7f4941b172f55\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/652fd598fcd529c3da0563990bf7f4941b172f55\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003elooker:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/483cba2bbcd375f8c6808e6ad386f8279b622fb6\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/483cba2bbcd375f8c6808e6ad386f8279b622fb6\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003emanagedkafka:\u003c/strong\u003e Update the api \u003ca href=\"https://togithub.com/googleapis/google-api-python-client/commit/94e3bc173770528969b1abd935ac393934f6fda4\"\u003ehttps://togithub.com/googleapis/google-api-python-client/commit/94e3bc173770528969b1abd935ac393934f6fda4\u003c/a\u003e (\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e8edf6d6\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/623c34ff35b2a4b44bbc0e013073199d5aea4f5a\"\u003e\u003ccode\u003e623c34f\u003c/code\u003e\u003c/a\u003e chore(main): release 2.187.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2682\"\u003e#2682\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8edf6d686daaa9763cae1c09749c77c8fcd0c10c\"\u003e\u003ccode\u003e8edf6d6\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2681\"\u003e#2681\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/98ba848a8b8dc3baac562122fc5fd115ee0cea1e\"\u003e\u003ccode\u003e98ba848\u003c/code\u003e\u003c/a\u003e chore(main): release 2.186.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2679\"\u003e#2679\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/86cb1335984094dad37bbf5e2148ef9b44dee5d9\"\u003e\u003ccode\u003e86cb133\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2678\"\u003e#2678\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/33aee305b094e501517847552292a0f7e1ba8898\"\u003e\u003ccode\u003e33aee30\u003c/code\u003e\u003c/a\u003e chore(main): release 2.185.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2667\"\u003e#2667\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/8ee51c47a47db8e09997502f482e990b291cbb98\"\u003e\u003ccode\u003e8ee51c4\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2672\"\u003e#2672\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/bde091934f8392d920e9f96f44bc0af078fc6124\"\u003e\u003ccode\u003ebde0919\u003c/code\u003e\u003c/a\u003e chore(python): Add Python 3.14 to python post processor image (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2669\"\u003e#2669\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/f32e6fa89eebee9b57d2fdd11c2e732a75bb7ffc\"\u003e\u003ccode\u003ef32e6fa\u003c/code\u003e\u003c/a\u003e chore: add googleapis/python-core-client-libraries as codeowner (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2670\"\u003e#2670\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/0fb1cf3a3d292281a9ba0d378e3bc7c0a75ecc9c\"\u003e\u003ccode\u003e0fb1cf3\u003c/code\u003e\u003c/a\u003e feat: add support for 3.14 (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2668\"\u003e#2668\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-api-python-client/commit/3850298de90deca18c5aac04f120fc15843fdc54\"\u003e\u003ccode\u003e3850298\u003c/code\u003e\u003c/a\u003e chore: Update discovery artifacts (\u003ca href=\"https://redirect.github.com/googleapis/google-api-python-client/issues/2666\"\u003e#2666\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-api-python-client/compare/v2.184.0...v2.187.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.41.1 to 2.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003egoogle-auth 2.43.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.1...v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccb\"\u003e1535eccb\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b\"\u003e395e405b\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa5\"\u003ec503eaa5\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRead scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e62c0fc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-cloud-python/compare/google-auth-v2.42.1...google-auth-v2.43.0\"\u003e2.43.0\u003c/a\u003e (2025-11-05)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd public wrapper for _mtls_helper.check_use_client_cert which enables mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1859\"\u003e#1859\u003c/a\u003e) Add public wrapper for check_use_client_cert which enables mTLS if\nGOOGLE_API_USE_CLIENT_CERTIFICATE is not set, when the MWID/X.509 cert\nsources detected. Also, fix check_use_client_cert to return boolean\nvalue.\nChange \u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e added the check_use_client_cert method that helps know if\nclient cert should be used for mTLS connection. However, that was in a\nprivate class, thus, created a public wrapper of the same function so\nthat it can be used by python Client Libraries. Also, updated\ncheck_use_client_cert to return a boolean value instead of existing\nstring value for better readability and future scope.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eEnable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MWID/X.509 cert sources detected (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1848\"\u003e#1848\u003c/a\u003e) The Python SDK will use a hybrid approach for mTLS enablement:\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is set\n(either true or false), the SDK will respect that setting. This is\nnecessary for test scenarios and users who need to explicitly control\nmTLS behavior.\u003c/li\u003e\n\u003cli\u003eIf the GOOGLE_API_USE_CLIENT_CERTIFICATE environment variable is not\nset, the SDK will automatically enable mTLS only if it detects Managed\nWorkload Identity (MWID) or X.509 Workforce Identity Federation (WIF)\ncertificate sources. In other cases where the variable is not set, mTLS\nwill remain disabled.\n** This change also adds the helper method \u003ccode\u003echeck_use_client_cert\u003c/code\u003e and\nit's unit test, which will be used for checking the criteria for setting\nthe mTLS to true\n** This change is only for Auth-Library, other changes will be created\nfor Client-Library use-cases.\n--------- (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e395e405b64b56ddb82ee639958c2e8056ad2e82b\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cul\u003e\n\u003cli\u003eonboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e) This PR onboards \u003ccode\u003egoogle-auth\u003c/code\u003e library to the Librarian system.\nWait for\n\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/pull/1819\"\u003egoogleapis/google-auth-library-python#1819\u003c/a\u003e. (\u003ca href=\"https://github.com/googleapis/google-cloud-python/commit/c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\"\u003ec503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/89a883824b437e9be0c97309ed36f35e5c071f11\"\u003e\u003ccode\u003e89a8838\u003c/code\u003e\u003c/a\u003e chore: librarian release pull request: 20251105T230735Z (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1863\"\u003e#1863\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/79564e20cf5644a29a2269dcc91902b023f4afac\"\u003e\u003ccode\u003e79564e2\u003c/code\u003e\u003c/a\u003e chore: update prev version in state (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1862\"\u003e#1862\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/1535eccbff0ad8f3fd6a9775316ac8b77dca66ba\"\u003e\u003ccode\u003e1535ecc\u003c/code\u003e\u003c/a\u003e feat: Add public wrapper for _mtls_helper.check_use_client_cert which enables...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/54502a73170dbe14f04769463c45c9d940f4999b\"\u003e\u003ccode\u003e54502a7\u003c/code\u003e\u003c/a\u003e chore: update secret (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1860\"\u003e#1860\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/395e405b64b56ddb82ee639958c2e8056ad2e82b\"\u003e\u003ccode\u003e395e405\u003c/code\u003e\u003c/a\u003e feat: Enable mTLS if GOOGLE_API_USE_CLIENT_CERTIFICATE  is not set, if the MW...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/f2708b282b108713a8a9a04a5c0d58b253ce2217\"\u003e\u003ccode\u003ef2708b2\u003c/code\u003e\u003c/a\u003e chore: secret upadte (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1857\"\u003e#1857\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/c503eaa511357d7a76cc1e1f1d3a3be2dabd5bca\"\u003e\u003ccode\u003ec503eaa\u003c/code\u003e\u003c/a\u003e feat: onboard \u003ccode\u003egoogle-auth\u003c/code\u003e to librarian (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1838\"\u003e#1838\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d1b862db2b23b4b7ae7d243f6dbb23165636bd5\"\u003e\u003ccode\u003e5d1b862\u003c/code\u003e\u003c/a\u003e chore(main): release 2.42.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1853\"\u003e#1853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003e\u003ccode\u003eb074cad\u003c/code\u003e\u003c/a\u003e fix: catch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cb62f5727854965e108c4e1790c4f9f9306fe3ce\"\u003e\u003ccode\u003ecb62f57\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth-httplib2` from 0.2.0 to 0.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/GoogleCloudPlatform/google-auth-library-python-httplib2/releases\"\u003egoogle-auth-httplib2's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev0.2.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/compare/v0.2.0...v0.2.1\"\u003e0.2.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Require google-auth \u0026gt;= 1.32.0,\u0026lt;3.0.0 (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Require httplib2 \u0026gt;= 0.19.0,\u0026lt;1.0.0 (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop python 3.6; require python 3.7+ (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python-httplib2/issues/191\"\u003e#191\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/c2be0ae5537d15f20a6c81d1e51408a11ecda22e\"\u003ec2be0ae\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/blob/main/CHANGELOG.md\"\u003egoogle-auth-httplib2's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/compare/v0.2.0...v0.2.1\"\u003e0.2.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Require google-auth \u0026gt;= 1.32.0,\u0026lt;3.0.0 (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003cstrong\u003edeps:\u003c/strong\u003e Require httplib2 \u0026gt;= 0.19.0,\u0026lt;1.0.0 (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDrop python 3.6; require python 3.7+ (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/a69b725eb2f0f4538824ea2bb76581ee37ba3bd9\"\u003ea69b725\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRemove setup.cfg configuration for creating universal wheels (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python-httplib2/issues/191\"\u003e#191\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python-httplib2/commit/c2be0ae5537d15f20a6c81d1e51408a11ecda22e\"\u003ec2be0ae\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n...\n\n_Description has been truncated_","html_url":"https://github.com/HackSoftware/Django-Styleguide-Example/pull/555","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/HackSoftware%2FDjango-Styleguide-Example/issues/555","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/555/packages"}},{"old_version":"9.1.1","new_version":"10.0.0","update_type":"major","path":null,"pr_created_at":"2025-11-06T01:13:00.000Z","version_change":"9.1.1 → 10.0.0","issue":{"uuid":"3593431202","node_id":"PR_kwDOLzxzKM6xxsUU","number":260,"state":"open","title":"chore(deps): bump the dependencies group across 2 directories with 16 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["matmair"],"locked":false,"comments_count":2,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-11-06T01:13:00.000Z","updated_at":"2025-11-07T06:01:02.333Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":16,"packages":[{"name":"django","old_version":"4.2.25","new_version":"5.2.8","repository_url":"https://github.com/django/django"},{"name":"blessed","old_version":"1.22.0","new_version":"1.23.0","repository_url":"https://github.com/jquast/blessed"},{"name":"django-allauth","old_version":"65.12.1","new_version":"65.13.0"},{"name":"django-filter","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/carltongibson/django-filter"},{"name":"django-otp","old_version":"1.3.0","new_version":"1.6.3","repository_url":"https://github.com/django-otp/django-otp"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"},{"name":"drf-spectacular","old_version":"0.28.0","new_version":"0.29.0","repository_url":"https://github.com/tfranzel/drf-spectacular"},{"name":"dulwich","old_version":"0.24.1","new_version":"0.24.8","repository_url":"https://github.com/dulwich/dulwich"},{"name":"pint","old_version":"0.24.4","new_version":"0.25.1","repository_url":"https://github.com/hgrecco/pint"},{"name":"django-stubs","old_version":"5.1.3","new_version":"5.2.7","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"django-test-migrations","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/wemake-services/django-test-migrations"},{"name":"django-types","old_version":"0.20.0","new_version":"0.22.0","repository_url":"https://github.com/sbdchd/django-types"},{"name":"isort","old_version":"6.1.0","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"ty","old_version":"0.0.1a21","new_version":"0.0.1a25","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-material](https://github.com/squidfunk/mkdocs-material).\nBumps the dependencies group with 14 updates in the /src/backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django](https://github.com/django/django) | `4.2.25` | `5.2.8` |\n| [blessed](https://github.com/jquast/blessed) | `1.22.0` | `1.23.0` |\n| [django-allauth[mfa,openid,saml,socialaccount]](https://github.com/sponsors/pennersr) | `65.12.1` | `65.13.0` |\n| [django-filter](https://github.com/carltongibson/django-filter) | `25.1` | `25.2` |\n| [django-otp](https://github.com/django-otp/django-otp) | `1.3.0` | `1.6.3` |\n| [django-structlog](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [drf-spectacular](https://github.com/tfranzel/drf-spectacular) | `0.28.0` | `0.29.0` |\n| [dulwich](https://github.com/dulwich/dulwich) | `0.24.1` | `0.24.8` |\n| [pint](https://github.com/hgrecco/pint) | `0.24.4` | `0.25.1` |\n| [django-stubs](https://github.com/sponsors/typeddjango) | `5.1.3` | `5.2.7` |\n| [django-test-migrations](https://github.com/wemake-services/django-test-migrations) | `1.4.0` | `1.5.0` |\n| [django-types](https://github.com/sbdchd/django-types) | `0.20.0` | `0.22.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.1.0` | `7.0.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a21` | `0.0.1a25` |\n\n\nUpdates `mkdocs-material` from 9.6.22 to 9.6.23\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/releases\"\u003emkdocs-material's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003emkdocs-material-9.6.23\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/squidfunk/mkdocs-material/blob/master/CHANGELOG\"\u003emkdocs-material's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003emkdocs-material-9.6.23 (2025-11-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Burmese translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.22 (2025-10-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Georgian translation\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.21 (2025-09-30)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Serbian translations\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8458\"\u003e#8458\u003c/a\u003e: Temporary pin of click dependency\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.20 (2025-09-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8446\"\u003e#8446\u003c/a\u003e: Deprecation warning as of Python 3.14 in Emoji extension\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8440\"\u003e#8440\u003c/a\u003e: \u003ccode\u003e\u0026amp;\u003c/code\u003e character not escaped in search highlighting\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8439\"\u003e#8439\u003c/a\u003e: FontAwesome icons color not set in social cards (regression)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.19 (2025-09-07)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.14\u003c/li\u003e\n\u003cli\u003eUpdated Bahasa Malaysia translations\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.18 (2025-08-22)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Azerbaijani translations\u003c/li\u003e\n\u003cli\u003eFixed last compat issues with [minijinja], now 100% compatible\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.17 (2025-08-15)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8396\"\u003e#8396\u003c/a\u003e: Videos do not autoplay when inside a content tab\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8394\"\u003e#8394\u003c/a\u003e: Stroke width not effective in Mermaid.js diagrams\u003c/li\u003e\n\u003cli\u003eFixed disappearing version selector when hiding page title\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.16 (2025-07-26)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8349\"\u003e#8349\u003c/a\u003e: Info plugin doesn't correctly detect virtualenv in some cases\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8334\"\u003e#8334\u003c/a\u003e: Find-in-page detects matches in hidden search result list\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.15 (2025-07-01)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eUpdated Mongolian translations\u003c/li\u003e\n\u003cli\u003eImproved semantic markup of \u0026quot;edit this page\u0026quot; button\u003c/li\u003e\n\u003cli\u003eImproved info plugin virtual environment resolution\u003c/li\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8291\"\u003e#8291\u003c/a\u003e: Large font size setting throws of breakpoints in JavaScript\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003emkdocs-material-9.6.14 (2025-05-13)\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFixed \u003ca href=\"https://redirect.github.com/squidfunk/mkdocs-material/issues/8215\"\u003e#8215\u003c/a\u003e: Social plugin crashes when CairoSVG is updated to 2.8\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/54c7b79315b5ef5620efe16a1473d3368c8b8f52\"\u003e\u003ccode\u003e54c7b79\u003c/code\u003e\u003c/a\u003e Prepare 9.6.23 release\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/f0dbcb5b66aa5060eef3ebce04d241686505887c\"\u003e\u003ccode\u003ef0dbcb5\u003c/code\u003e\u003c/a\u003e Disabled dependabot\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/53d15f854d0479f01378023926e06a5cc857e28f\"\u003e\u003ccode\u003e53d15f8\u003c/code\u003e\u003c/a\u003e Updated dependencies\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/squidfunk/mkdocs-material/commit/d9e4f7139274bb70743a076da8b80a898b1a1c14\"\u003e\u003ccode\u003ed9e4f71\u003c/code\u003e\u003c/a\u003e Updated Burmese translations\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/squidfunk/mkdocs-material/compare/9.6.22...9.6.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django` from 4.2.25 to 5.2.8\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/47fe39af56ecd0ad73b9c7562511015e96b91b80\"\u003e\u003ccode\u003e47fe39a\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.8 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ac9fcf6eb2c909f4150c5287808f49170ce1f9e2\"\u003e\u003ccode\u003eac9fcf6\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs CVE-2025-64459 -- Avoided propagating invalid arguments to Q on ...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6703f364d767e949c5b0e4016433ef75063b4f9b\"\u003e\u003ccode\u003e6703f36\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64459 -- Prevented SQL injections in Q/QuerySet via th...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/4f5d904b63751dea9ffc3b0e046404a7fa5881ac\"\u003e\u003ccode\u003e4f5d904\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-64458 -- Mitigated potential DoS in HttpResponseRedire...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/cbdf128cb316bccf9ca3b3b4966e57bd050bfc8a\"\u003e\u003ccode\u003ecbdf128\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36704\"\u003e#36704\u003c/a\u003e -- Fixed system check error for proxy model with a compo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6775888470317a6d69121779b489bb2dc7350318\"\u003e\u003ccode\u003e6775888\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36696\"\u003e#36696\u003c/a\u003e -- Fixed NameError when inspecting functions with deferr...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/d5dfffaae52b9dcb4857d42b1e2902290a5c5e3c\"\u003e\u003ccode\u003ed5dfffa\u003c/code\u003e\u003c/a\u003e [5.2.x] Added stub release notes and release date for 5.2.8, 5.1.14, and 4.2.26.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/368f955c371cab5db18e9e239d10560cf15f5ea4\"\u003e\u003ccode\u003e368f955\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36681\"\u003e#36681\u003c/a\u003e -- Removed English pluralization bias from example in do...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/71267c97db211f1d7f1b8b794ceb2167a7619a4d\"\u003e\u003ccode\u003e71267c9\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/35095\"\u003e#35095\u003c/a\u003e -- Clarified Swiss number formatting in docs/topics/i18n...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/9b37bd5fe73b0d614ad8e503071d6f7bf2bdf6b2\"\u003e\u003ccode\u003e9b37bd5\u003c/code\u003e\u003c/a\u003e [5.2.x] Made RemoteTestResultTest.test_pickle_errors_detection() compatible w...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/4.2.25...5.2.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 80.9.0 to \n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/setuptools/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `blessed` from 1.22.0 to 1.23.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/blessed/releases\"\u003eblessed's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.23: Enhanced keyboard, mouse, and more\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced: Environment values FORCE_COLOR_, CLICOLOR_FORCE_, and NO_COLOR_ overrides\n:class:\u003ccode\u003eblessed.Terminal\u003c/code\u003e argument value, \u003ccode\u003eforce_styling\u003c/code\u003e \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/295\"\u003e#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimproved: performance of :meth:\u003ccode\u003e~Terminal.rgb_downconvert\u003c/code\u003e for 256-color\nterminals, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/298\"\u003e#298\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeprecated: Python 2.7 through 3.6 no longer supported. \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/299\"\u003e#299\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eimproved: keyboard support for modifier keys, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: kitty keyboard protocol support, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/309\"\u003e#309\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: mouse support, Synchronized Output, and support for DEC Private Modes, \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/310\"\u003e#310\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: methods to determine Sixel, dimensions and color depth \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/312\"\u003e#312\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: in-band resize support (DEC Private Mode 2048) \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/313\"\u003e#313\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: XTVersion identification: \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/314\"\u003e#314\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: default timeout for get_bgcolor, get_fgcolor \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/315\"\u003e#315\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jquast/blessed/blob/master/docs/history.rst\"\u003eblessed's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e.. py:currentmodule:: blessed.terminal\u003c/p\u003e\n\u003ch1\u003eVersion History\u003c/h1\u003e\n\u003cp\u003e1.23\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced: Environment values FORCE_COLOR_, CLICOLOR_FORCE_, and NO_COLOR_ overrides\n:class:\u003ccode\u003eblessed.Terminal\u003c/code\u003e argument value, \u003ccode\u003eforce_styling\u003c/code\u003e :ghpull:\u003ccode\u003e295\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eimproved: performance of :meth:\u003ccode\u003e~Terminal.rgb_downconvert\u003c/code\u003e for 256-color\nterminals, :ghpull:\u003ccode\u003e298\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003edeprecated: Python 2.7 through 3.6 no longer supported. :ghpull:\u003ccode\u003e299\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eimproved: keyboard support for modifier keys, :ghpull:\u003ccode\u003e306\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eintroduced: kitty keyboard protocol support, :ghpull:\u003ccode\u003e309\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eintroduced: mouse support, Synchronized Output, and support for DEC Private Modes, :ghpull:\u003ccode\u003e310\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: methods to determine Sixel, dimensions and color depth :ghpull:\u003ccode\u003e312\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: in-band resize support (DEC Private Mode 2048) :ghpull:\u003ccode\u003e313\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eintroduced: XTVersion identification: :ghpull:\u003ccode\u003e314\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: default timeout for get_bgcolor, get_fgcolor :ghpull:\u003ccode\u003e315\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.22\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eperformance improvements to :meth:\u003ccode\u003e~Terminal.length\u003c/code\u003e and\n:meth:\u003ccode\u003e~Terminal.wrap\u003c/code\u003e via :ghpull:\u003ccode\u003e286\u003c/code\u003e, :ghpull:\u003ccode\u003e287\u003c/code\u003e, :ghpull:\u003ccode\u003e289\u003c/code\u003e, and\n:ghpull:\u003ccode\u003e291\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003espelling fixes, :ghpull:\u003ccode\u003e278\u003c/code\u003e, :ghpull:\u003ccode\u003e293\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.21\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003ebugfix infinite loop in :meth:\u003ccode\u003e~Terminal.wrap\u003c/code\u003e when \u0026quot;Wide\u0026quot; characters of\nwidth 2 (East-Asian or Emoji) are used with a wrap width of 1, and a small\nperformance enhancement, :ghissue:\u003ccode\u003e273\u003c/code\u003e and :ghpull:\u003ccode\u003e274\u003c/code\u003e by :ghuser:\u003ccode\u003egrayjk\u003c/code\u003e\nmerged as :ghpull:\u003ccode\u003e275\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.20\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced :meth:\u003ccode\u003e~Terminal.get_fgcolor\u003c/code\u003e and :meth:\u003ccode\u003e~Terminal.get_bgcolor\u003c/code\u003e to query\nthe terminal for the currently set colors. :ghissue:\u003ccode\u003e237\u003c/code\u003e by :ghuser:\u003ccode\u003estefanholek\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Copy globals dict before iterating to avoid RuntimeError in multithreaded\napplications, :ghissue:\u003ccode\u003e248\u003c/code\u003e by :ghuser:\u003ccode\u003eadamnovak\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e1.19\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eintroduced :meth:\u003ccode\u003e~Terminal.truncate\u003c/code\u003e to truncate a string while\nretaining the sequences, :ghissue:\u003ccode\u003e211\u003c/code\u003e by :ghuser:\u003ccode\u003efishermans-friend\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eenhancement: Add small sleep in :meth:\u003ccode\u003e~Terminal.kbhit\u003c/code\u003e on Windows\nto reduce CPU load :ghissue:\u003ccode\u003e209\u003c/code\u003e by :ghuser:\u003ccode\u003enumerlor\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eenhancement: :meth:\u003ccode\u003e~Terminal.rjust\u003c/code\u003e, :meth:\u003ccode\u003e~Terminal.ljust\u003c/code\u003e,\nand :meth:\u003ccode\u003e~Terminal.center\u003c/code\u003e now accept :class:\u003ccode\u003e~typing.SupportsIndex\u003c/code\u003e types, :ghissue:\u003ccode\u003e234\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eenhancement: When 88 colors is detected, it is now interpreted as 16 colors rather than raising\nan :exc:\u003ccode\u003eAssertionError\u003c/code\u003e, :ghissue:\u003ccode\u003e235\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003ebugfix: Fix global variable declarations in type annotations, :ghissue:\u003ccode\u003e230\u003c/code\u003e by\n:ghuser:\u003ccode\u003emwchase\u003c/code\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/7cfd2992df8d8d6ebdbbe1f334e0df36750642e1\"\u003e\u003ccode\u003e7cfd299\u003c/code\u003e\u003c/a\u003e Set version for next release, 1.23 (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/316\"\u003e#316\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/d5107613d7f43544b28f54f8af40aca59b13bcc8\"\u003e\u003ccode\u003ed510761\u003c/code\u003e\u003c/a\u003e Set default keyword argument timeout of 1 for get_dec_mode, get_location, get...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/fda1759d085b6fa185862d3ec7f368af489c5e2c\"\u003e\u003ccode\u003efda1759\u003c/code\u003e\u003c/a\u003e Modifiers/Keyboard+kitty, Dec Private Modes+Mouse, Sixel, XTVersion (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/306\"\u003e#306\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/4e65e2e36bc7f30cd02c2cfa1a5eb388f117bfab\"\u003e\u003ccode\u003e4e65e2e\u003c/code\u003e\u003c/a\u003e add Python 3.14 to testing (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/307\"\u003e#307\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/03b42011143f8b41bd86f2a0ec952db4edd0e99b\"\u003e\u003ccode\u003e03b4201\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/304\"\u003e#304\u003c/a\u003e from grayjk/classifier-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/b00d7134d4d7366c69bb4b46dfba0deab484672c\"\u003e\u003ccode\u003eb00d713\u003c/code\u003e\u003c/a\u003e Improve coverage (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/303\"\u003e#303\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/f934587db33ef91b5d039dd1724dc8c5627fa421\"\u003e\u003ccode\u003ef934587\u003c/code\u003e\u003c/a\u003e Code cleanup and Pylint tweaks (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/301\"\u003e#301\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/350cec44f3f1e1a99c6abbf2c386079943a96ed8\"\u003e\u003ccode\u003e350cec4\u003c/code\u003e\u003c/a\u003e Switch to pyproject.toml (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/300\"\u003e#300\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/b806cc00e8b76a74bce578b59925c07fde1ae185\"\u003e\u003ccode\u003eb806cc0\u003c/code\u003e\u003c/a\u003e Implement FORCE_COLOR, CLICOLOR_FORCE, and NO_COLOR Environment Variables \u003ca href=\"https://redirect.github.com/jquast/blessed/issues/295\"\u003e#295\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jquast/blessed/commit/7082160d829feb099b2bde22d97f3d2fb8d8a268\"\u003e\u003ccode\u003e7082160\u003c/code\u003e\u003c/a\u003e Faster rgb_downconvert for 256-color terminals (\u003ca href=\"https://redirect.github.com/jquast/blessed/issues/298\"\u003e#298\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jquast/blessed/compare/1.22.0...1.23\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-allauth[mfa,openid,saml,socialaccount]` from 65.12.1 to 65.13.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/pennersr/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-filter` from 25.1 to 25.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst\"\u003edjango-filter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.2 (2025-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded testing for Django 6.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Django \u0026lt;5.2 LTS\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/17ec565554bea4119ad74d2ffccdfb9740d9845b\"\u003e\u003ccode\u003e17ec565\u003c/code\u003e\u003c/a\u003e Bumped version for 25.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/9b4b8fdbfe84d471b2e69b7b28faacdd0dca2661\"\u003e\u003ccode\u003e9b4b8fd\u003c/code\u003e\u003c/a\u003e Updated testing for Django 6.0. (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1730\"\u003e#1730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/1b07b3e4c22354af31f3dcbaf4337566d7803fd4\"\u003e\u003ccode\u003e1b07b3e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/27a116864880a503b869c87a61e3e3ee597dae42\"\u003e\u003ccode\u003e27a1168\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7f59b6f092dadee749540a93c760f84fe5e08b9f\"\u003e\u003ccode\u003e7f59b6f\u003c/code\u003e\u003c/a\u003e Add drf as optional dependencies (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1724\"\u003e#1724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/635343ec55c9928bfa297314711df77fa83ff6c7\"\u003e\u003ccode\u003e635343e\u003c/code\u003e\u003c/a\u003e Add reference anchors to filter types to facilitate intersphinx refs (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1706\"\u003e#1706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7b3176e2ea05a42f2684296733004579f6dcece5\"\u003e\u003ccode\u003e7b3176e\u003c/code\u003e\u003c/a\u003e Document steps for postgres full text search (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1704\"\u003e#1704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carltongibson/django-filter/compare/25.1...25.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-otp` from 1.3.0 to 1.6.3\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-otp/django-otp/blob/master/CHANGES.rst\"\u003edjango-otp's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.6.3 - October 25, 2025 - Spanish update\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#182](https://github.com/django-otp/django-otp/issues/182)\u003c/code\u003e_: Correct missing Spanish translations\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#181](https://github.com/django-otp/django-otp/issues/181)\u003c/code\u003e_: Wrong :rtype: in StaticToken.random_token docstring\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003e#181\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003edjango-otp/django-otp#181\u003c/a\u003e\n.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/182\"\u003e#182\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/182\"\u003edjango-otp/django-otp#182\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.2 - October 21, 2025 - Cleanup\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#179](https://github.com/django-otp/django-otp/issues/179)\u003c/code\u003e_: Add missing gettext strings\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003e[#180](https://github.com/django-otp/django-otp/issues/180)\u003c/code\u003e_: Remove tests from wheels\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/179\"\u003e#179\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/179\"\u003edjango-otp/django-otp#179\u003c/a\u003e\n.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/180\"\u003e#180\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/180\"\u003edjango-otp/django-otp#180\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.6.1 - July 08, 2025 - Small improvements\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAllow a {token} placeholder in :setting:\u003ccode\u003eOTP_EMAIL_SUBJECT\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.6.0 - April 02, 2025 - Django 5.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpdate test matrix for Django 5.2.\u003c/li\u003e\n\u003cli\u003eRemove support for Django 3.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev1.5.4 - September 06, 2024 - Ignore proxy models when enumerating device classes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#161](https://github.com/django-otp/django-otp/issues/161)\u003c/code\u003e_: Discard proxied models when iterating device models\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/161\"\u003e#161\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/161\"\u003edjango-otp/django-otp#161\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.5.3 - September 04, 2024 - Small admin template fix\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003e[#158](https://github.com/django-otp/django-otp/issues/158)\u003c/code\u003e_: Remove JS focus() in admin login template\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e.. _\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/158\"\u003e#158\u003c/a\u003e: \u003ca href=\"https://redirect.github.com/django-otp/django-otp/pull/158\"\u003edjango-otp/django-otp#158\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ev1.5.2 - August 18, 2024 - otp_verification_failed signal\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/38b7ebabd7b4817aec92f884d448eeb462e82108\"\u003e\u003ccode\u003e38b7eba\u003c/code\u003e\u003c/a\u003e Version 1.6.3\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/b9026d7025da45b0144c99e91b5286c734448012\"\u003e\u003ccode\u003eb9026d7\u003c/code\u003e\u003c/a\u003e Correct Missing Spanish Translations\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/ae18ba95bd03534e15583d456572f86ea2f41442\"\u003e\u003ccode\u003eae18ba9\u003c/code\u003e\u003c/a\u003e Fix \u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/181\"\u003e#181\u003c/a\u003e: misdocumented return type.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/c9eef89240985293e0c9f197d0257a5352cfb62d\"\u003e\u003ccode\u003ec9eef89\u003c/code\u003e\u003c/a\u003e Version 1.6.2\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/b23eca0111d0ae980f29cbfa7243303bb676e10d\"\u003e\u003ccode\u003eb23eca0\u003c/code\u003e\u003c/a\u003e Removes tests from wheels (\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/180\"\u003e#180\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/2ff35962b4ace4b07ddaf59255419ba12165420c\"\u003e\u003ccode\u003e2ff3596\u003c/code\u003e\u003c/a\u003e Adds missing gettext strings (\u003ca href=\"https://redirect.github.com/django-otp/django-otp/issues/179\"\u003e#179\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/f89ea1bae299c09f535c653e79136a98d9172558\"\u003e\u003ccode\u003ef89ea1b\u003c/code\u003e\u003c/a\u003e Version 1.6.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/c1704692e889307aedaa2b1d766ffdb9911328de\"\u003e\u003ccode\u003ec170469\u003c/code\u003e\u003c/a\u003e Clean up OTP_EMAIL_SUBJECT improvement.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/ff845a7371527e8994a7fd1513cb9d49f5c2b5c8\"\u003e\u003ccode\u003eff845a7\u003c/code\u003e\u003c/a\u003e Adding {token} placeholder for email subject\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-otp/django-otp/commit/6e9ae695c57676cf37d8d61a635c9d7b396aa727\"\u003e\u003ccode\u003e6e9ae69\u003c/code\u003e\u003c/a\u003e Version 1.6.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-otp/django-otp/compare/v1.3.0...v1.6.3\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `drf-spectacular` from 0.28.0 to 0.29.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tfranzel/drf-spectacular/releases\"\u003edrf-spectacular's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.29.0\u003c/h2\u003e\n\u003cp\u003eThank you for all the patience with the release!\u003c/p\u003e\n\u003ch2\u003eImportant notes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFinally fixed the memory leak thanks to \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnother performance improvement is the usage of the C versions of yaml, if available.\u003c/li\u003e\n\u003cli\u003eApart from that, there are a lot of small improvements and bugfixes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePRs\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eLink to \u003ccode\u003eSerializerMethod\u003c/code\u003e docs by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1377\"\u003etfranzel/drf-spectacular#1377\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument Django 5.1 support in README by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1376\"\u003etfranzel/drf-spectacular#1376\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.11 to 4.2.18 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1366\"\u003etfranzel/drf-spectacular#1366\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocument how to lazily annotate a recursive SerializerMethod by \u003ca href=\"https://github.com/johnthagen\"\u003e\u003ccode\u003e@​johnthagen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1384\"\u003etfranzel/drf-spectacular#1384\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix docs compile issue and update some old code by \u003ca href=\"https://github.com/mikemanger\"\u003e\u003ccode\u003e@​mikemanger\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1389\"\u003etfranzel/drf-spectacular#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd allauth's DRF token auth \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1401\"\u003e#1401\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1404\"\u003etfranzel/drf-spectacular#1404\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.18 to 4.2.20 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1403\"\u003etfranzel/drf-spectacular#1403\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAllow setting callable for ENUM_NAME_OVERRIDES by \u003ca href=\"https://github.com/q0w\"\u003e\u003ccode\u003e@​q0w\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1406\"\u003etfranzel/drf-spectacular#1406\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: correct port mapping for the container in README by \u003ca href=\"https://github.com/mbienkowsk\"\u003e\u003ccode\u003e@​mbienkowsk\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1408\"\u003etfranzel/drf-spectacular#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix python 3.11 slice index by \u003ca href=\"https://github.com/yegorLitvinov\"\u003e\u003ccode\u003e@​yegorLitvinov\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1411\"\u003etfranzel/drf-spectacular#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Django REST framework 3.16 support by \u003ca href=\"https://github.com/pauloxnet\"\u003e\u003ccode\u003e@​pauloxnet\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1420\"\u003etfranzel/drf-spectacular#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efixes prefix estimation on windows by \u003ca href=\"https://github.com/originell\"\u003e\u003ccode\u003e@​originell\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1440\"\u003etfranzel/drf-spectacular#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.20 to 4.2.24 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1451\"\u003etfranzel/drf-spectacular#1451\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: sort list to produce same hash by \u003ca href=\"https://github.com/florianvazelle\"\u003e\u003ccode\u003e@​florianvazelle\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1433\"\u003etfranzel/drf-spectacular#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd typing.Generic to default lib_doc_excludes by \u003ca href=\"https://github.com/maxhowald\"\u003e\u003ccode\u003e@​maxhowald\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1429\"\u003etfranzel/drf-spectacular#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix DecimalField with decimal_places and max_digits equal. by \u003ca href=\"https://github.com/keter2002\"\u003e\u003ccode\u003e@​keter2002\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1457\"\u003etfranzel/drf-spectacular#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix default for array types by \u003ca href=\"https://github.com/TheSuperiorStanislav\"\u003e\u003ccode\u003e@​TheSuperiorStanislav\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1437\"\u003etfranzel/drf-spectacular#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.24 to 4.2.25 in /requirements by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1458\"\u003etfranzel/drf-spectacular#1458\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenApiViewExtension\u003c/code\u003e not providing view instance under \u003ccode\u003eself.target\u003c/code\u003e by \u003ca href=\"https://github.com/astro-stan\"\u003e\u003ccode\u003e@​astro-stan\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1405\"\u003etfranzel/drf-spectacular#1405\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance bug report template with instructions for better clarity. by \u003ca href=\"https://github.com/Antoliny0919\"\u003e\u003ccode\u003e@​Antoliny0919\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1357\"\u003etfranzel/drf-spectacular#1357\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd option to overwrite serializer description \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1463\"\u003e#1463\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1464\"\u003etfranzel/drf-spectacular#1464\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImprove to_filter_name support for django_filter by \u003ca href=\"https://github.com/matwey\"\u003e\u003ccode\u003e@​matwey\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1446\"\u003etfranzel/drf-spectacular#1446\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: camelize tuples/fixed length array by \u003ca href=\"https://github.com/CharString\"\u003e\u003ccode\u003e@​CharString\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1432\"\u003etfranzel/drf-spectacular#1432\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix memory leak by \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1416\"\u003etfranzel/drf-spectacular#1416\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: add check condition, that serializer meta has model attribute by \u003ca href=\"https://github.com/kritohanzo\"\u003e\u003ccode\u003e@​kritohanzo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1397\"\u003etfranzel/drf-spectacular#1397\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e[django-filter] Add null_label if set in ChoiceFilter by \u003ca href=\"https://github.com/epou\"\u003e\u003ccode\u003e@​epou\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1450\"\u003etfranzel/drf-spectacular#1450\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd l18n handling for Decimal field \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1466\"\u003e#1466\u003c/a\u003e by \u003ca href=\"https://github.com/tfranzel\"\u003e\u003ccode\u003e@​tfranzel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1467\"\u003etfranzel/drf-spectacular#1467\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mikemanger\"\u003e\u003ccode\u003e@​mikemanger\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1389\"\u003etfranzel/drf-spectacular#1389\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mbienkowsk\"\u003e\u003ccode\u003e@​mbienkowsk\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1408\"\u003etfranzel/drf-spectacular#1408\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/yegorLitvinov\"\u003e\u003ccode\u003e@​yegorLitvinov\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1411\"\u003etfranzel/drf-spectacular#1411\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/pauloxnet\"\u003e\u003ccode\u003e@​pauloxnet\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1420\"\u003etfranzel/drf-spectacular#1420\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/originell\"\u003e\u003ccode\u003e@​originell\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1440\"\u003etfranzel/drf-spectacular#1440\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/florianvazelle\"\u003e\u003ccode\u003e@​florianvazelle\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1433\"\u003etfranzel/drf-spectacular#1433\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/maxhowald\"\u003e\u003ccode\u003e@​maxhowald\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1429\"\u003etfranzel/drf-spectacular#1429\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/keter2002\"\u003e\u003ccode\u003e@​keter2002\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1457\"\u003etfranzel/drf-spectacular#1457\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/TheSuperiorStanislav\"\u003e\u003ccode\u003e@​TheSuperiorStanislav\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1437\"\u003etfranzel/drf-spectacular#1437\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/astro-stan\"\u003e\u003ccode\u003e@​astro-stan\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/pull/1405\"\u003etfranzel/drf-spectacular#1405\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/tfranzel/drf-spectacular/blob/master/CHANGELOG.rst\"\u003edrf-spectacular's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.29.0 (2025-11-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdd l18n handling for Decimal field \u003ccode\u003e[#1466](https://github.com/tfranzel/drf-spectacular/issues/1466) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1466\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eFix LogoutSerializer for JWT/dj_rest_auth \u003ccode\u003e[#1392](https://github.com/tfranzel/drf-spectacular/issues/1392) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1392\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003efix: support token blacklist feature in rest_auth [Bart van Andel]\u003c/li\u003e\n\u003cli\u003e[django-filter] Add null_label if set in ChoiceFilter (\u003ccode\u003e[#1450](https://github.com/tfranzel/drf-spectacular/issues/1450) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1450\u0026gt;\u003c/code\u003e_) [Enric Pou]\u003c/li\u003e\n\u003cli\u003efix: camelize tuples/fixed length array (\u003ccode\u003e[#1432](https://github.com/tfranzel/drf-spectacular/issues/1432) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1432\u0026gt;\u003c/code\u003e_) [Chris Wesseling]\u003c/li\u003e\n\u003cli\u003eFix items:False case in enum hook \u003ccode\u003e[#1432](https://github.com/tfranzel/drf-spectacular/issues/1432) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1432\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdd option to overwrite serializer description \u003ccode\u003e[#1463](https://github.com/tfranzel/drf-spectacular/issues/1463) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1463\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eFix \u003ccode\u003eOpenApiViewExtension\u003c/code\u003e not providing view instance under \u003ccode\u003eself.target\u003c/code\u003e (\u003ccode\u003e[#1405](https://github.com/tfranzel/drf-spectacular/issues/1405) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1405\u0026gt;\u003c/code\u003e_) [astro-stan]\u003c/li\u003e\n\u003cli\u003eMove list default fix to source of the problem \u003ccode\u003e[#1436](https://github.com/tfranzel/drf-spectacular/issues/1436) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1436\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eImprove confusing doc \u003ccode\u003e[#1461](https://github.com/tfranzel/drf-spectacular/issues/1461) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1461\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eAdd assert to pagination test \u003ccode\u003e[#1459](https://github.com/tfranzel/drf-spectacular/issues/1459) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1459\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003efix SafeString handling for picky CDumper (\u003ccode\u003e[#1435](https://github.com/tfranzel/drf-spectacular/issues/1435) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1435\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eRemove EOL 3.7 from suite; pydantic not updated for \u0026lt;=3.8\u003c/li\u003e\n\u003cli\u003eFix DecimalField with decimal_places and max_digits equal. [keter2002]\u003c/li\u003e\n\u003cli\u003efix test for i18n changes on DRF (\u003ccode\u003e[#1444](https://github.com/tfranzel/drf-spectacular/issues/1444) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1444\u0026gt;\u003c/code\u003e_)\u003c/li\u003e\n\u003cli\u003eImprove to_filter_name support for django_filter [Matwey V. Kornilov]\u003c/li\u003e\n\u003cli\u003efixes prefix estimation on windows [Luis Nell]\u003c/li\u003e\n\u003cli\u003eFix default for array types [Stanislav Khlud]\u003c/li\u003e\n\u003cli\u003efix: use CSafeDumper for render yaml if available [florian]\u003c/li\u003e\n\u003cli\u003efix: sort list to produce same hash [florian]\u003c/li\u003e\n\u003cli\u003eAdd typing.Generic to default lib_doc_excludes [Max Howald]\u003c/li\u003e\n\u003cli\u003eAdd get_doc test for class that inherits from Generic [Max Howald]\u003c/li\u003e\n\u003cli\u003eAdd Django REST framework 3.16 support [Paolo Melchiorre]\u003c/li\u003e\n\u003cli\u003eFix memory leak [artemkucher]\u003c/li\u003e\n\u003cli\u003eFix python 3.11 slice index [Egor Litvinov]\u003c/li\u003e\n\u003cli\u003efix: correct port mapping for the container in README [Maksym Bieńkowski]\u003c/li\u003e\n\u003cli\u003eUpdate docs [q0w]\u003c/li\u003e\n\u003cli\u003eAllow setting callable for ENUM_NAME_OVERRIDES [q0w]\u003c/li\u003e\n\u003cli\u003eAdd allauth's DRF token auth \u003ccode\u003e[#1401](https://github.com/tfranzel/drf-spectacular/issues/1401) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1401\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003cli\u003eupdate away from retired GH worker image\u003c/li\u003e\n\u003cli\u003eadd condition to check, that serializer Meta has model attribute [aliev_vt]\u003c/li\u003e\n\u003cli\u003eFix docs compile issue and update some old code (\u003ccode\u003e[#1389](https://github.com/tfranzel/drf-spectacular/issues/1389) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1389\u0026gt;\u003c/code\u003e_) [Mike Manger]\u003c/li\u003e\n\u003cli\u003eFix location of \u003ca href=\"https://github.com/extend\"\u003e\u003ccode\u003e@​extend\u003c/code\u003e\u003c/a\u003e_schema_field [johnthagen]\u003c/li\u003e\n\u003cli\u003eRemove reference to non-exposed lazy_serializer [johnthagen]\u003c/li\u003e\n\u003cli\u003eDocument how to lazily define a recursive SerializerMethod [johnthagen]\u003c/li\u003e\n\u003cli\u003eLink to SerializerMethod docs [johnthagen]\u003c/li\u003e\n\u003cli\u003eDocument Django 5.1 support in README [johnthagen]\u003c/li\u003e\n\u003cli\u003eBump django from 4.2.11 to 4.2.18 in /requirements [dependabot[bot]]\u003c/li\u003e\n\u003cli\u003eEnhance bug report template with instructions for better clarity [antoliny0919]\u003c/li\u003e\n\u003cli\u003eadd pydantic computed field to tests \u003ccode\u003e[#1354](https://github.com/tfranzel/drf-spectacular/issues/1354) \u0026lt;https://github.com/tfranzel/drf-spectacular/issues/1354\u0026gt;\u003c/code\u003e_\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eBreaking changes / important additions:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eFinally fixed the memory leak thanks to \u003ca href=\"https://github.com/artKucher\"\u003e\u003ccode\u003e@​artKucher\u003c/code\u003e\u003c/a\u003e.\u003c/li\u003e\n\u003cli\u003eAnother performance improvement is the usage of the C versions of yaml, if available.\u003c/li\u003e\n\u003cli\u003eApart from that, there are a lot of small improvements and bugfixes.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/7a7a1f2acc2287466738c87b7e62958b4cb10abd\"\u003e\u003ccode\u003e7a7a1f2\u003c/code\u003e\u003c/a\u003e disable py3.8 target due to pyproject.toml issues\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/ff7a62bebf82da7c93d7f773522257f2bfd3df06\"\u003e\u003ccode\u003eff7a62b\u003c/code\u003e\u003c/a\u003e fix docs\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/e58143b50295257320ff836fb3422d1364575722\"\u003e\u003ccode\u003ee58143b\u003c/code\u003e\u003c/a\u003e version bump\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/e40b287c22ab1a09e6182d32045055744f358d1f\"\u003e\u003ccode\u003ee40b287\u003c/code\u003e\u003c/a\u003e Renovate project setup \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1162\"\u003e#1162\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/62fc98b412112b8396796d76e6a06b4c7c0e45ca\"\u003e\u003ccode\u003e62fc98b\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1467\"\u003e#1467\u003c/a\u003e from tfranzel/decimal_l18n\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/d7247a5fa400888c3f7958041da78da8641fb86a\"\u003e\u003ccode\u003ed7247a5\u003c/code\u003e\u003c/a\u003e Add l18n handling for Decimal field \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1466\"\u003e#1466\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/5221afdd524091faca3839bb97ee883bdf1ac5b5\"\u003e\u003ccode\u003e5221afd\u003c/code\u003e\u003c/a\u003e Merge branch '\u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1392\"\u003e#1392\u003c/a\u003e'\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/88302fa5aead206d0156cf09e389bb14cd514879\"\u003e\u003ccode\u003e88302fa\u003c/code\u003e\u003c/a\u003e Fix LogoutSerializer for JWT/dj_rest_auth \u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1392\"\u003e#1392\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/f7138e330e16da34c902246b05ea23fe08da8350\"\u003e\u003ccode\u003ef7138e3\u003c/code\u003e\u003c/a\u003e fix: support token blacklist feature in rest_auth\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/tfranzel/drf-spectacular/commit/2c71a35c5d11809f2c06b85ccb8d83b541f4f92c\"\u003e\u003ccode\u003e2c71a35\u003c/code\u003e\u003c/a\u003e [django-filter] Add null_label if set in ChoiceFilter (\u003ca href=\"https://redirect.github.com/tfranzel/drf-spectacular/issues/1450\"\u003e#1450\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/tfranzel/drf-spectacular/compare/0.28.0...0.29.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dulwich` from 0.24.1 to 0.24.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dulwich/dulwich/releases\"\u003edulwich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003edulwich-0.24.8\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport ref namespaces by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1957\"\u003ejelmer/dulwich#1957\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Rust test step to CI workflow. by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1958\"\u003ejelmer/dulwich#1958\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for GIT_FLUSH environment variable by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1959\"\u003ejelmer/dulwich#1959\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for recursive submodule updates by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1961\"\u003ejelmer/dulwich#1961\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd maintenance subcommand by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1960\"\u003ejelmer/dulwich#1960\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd interpret-trailers command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1962\"\u003ejelmer/dulwich#1962\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for replace command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1963\"\u003ejelmer/dulwich#1963\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix config file leakage in compat tests by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1964\"\u003ejelmer/dulwich#1964\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eVarious bundle fixes by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1965\"\u003ejelmer/dulwich#1965\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement advanced Git object specification support by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1966\"\u003ejelmer/dulwich#1966\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd rust implementation of create_delta by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1956\"\u003ejelmer/dulwich#1956\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for dulwich stripspace by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1967\"\u003ejelmer/dulwich#1967\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix TypeError when passing refspec to clone() by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1968\"\u003ejelmer/dulwich#1968\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDrop authors by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1970\"\u003ejelmer/dulwich#1970\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd per-URL http.extraHeader configuration support by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1969\"\u003ejelmer/dulwich#1969\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for GIT_REFLOG_ACTION environment variable by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1971\"\u003ejelmer/dulwich#1971\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMake generate_pack_data() arguments consistent and keyword-only by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1972\"\u003ejelmer/dulwich#1972\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump typing-extensions by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1974\"\u003ejelmer/dulwich#1974\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.7...dulwich-0.24.8\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.7...dulwich-0.24.8\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse make_commit() from test utils in test files by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1943\"\u003ejelmer/dulwich#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance fetch with missing options by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1944\"\u003ejelmer/dulwich#1944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd sparse index support for improved performance with large repositories by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1946\"\u003ejelmer/dulwich#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSH connections with custom ssh command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1947\"\u003ejelmer/dulwich#1947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWork around typing module bug in Python 3.9.0/3.9.1 by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1949\"\u003ejelmer/dulwich#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnd support for local files in LFS by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1953\"\u003ejelmer/dulwich#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for core.fsyncObjectFiles configuration option by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1954\"\u003ejelmer/dulwich#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd bitmap support by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1952\"\u003ejelmer/dulwich#1952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.6...dulwich-0.24.7\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.6...dulwich-0.24.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore pool_manager parameter to transport functions by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1929\"\u003ejelmer/dulwich#1929\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport show-branch by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1931\"\u003ejelmer/dulwich#1931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git mailsplit command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1930\"\u003ejelmer/dulwich#1930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dulwich config CLI command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1933\"\u003ejelmer/dulwich#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git cherry command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1932\"\u003ejelmer/dulwich#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure files are closed by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1935\"\u003ejelmer/dulwich#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for octopus merge strategy by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1934\"\u003ejelmer/dulwich#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd convenience functions for dealing with refs by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1937\"\u003ejelmer/dulwich#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement recursive merge strategy for handling multiple merge bases by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1936\"\u003ejelmer/dulwich#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git grep command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1938\"\u003ejelmer/dulwich#1938\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jelmer/dulwich/blob/master/NEWS\"\u003edulwich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.24.8\t2025-10-29\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rust implementation of pack delta creation (create_delta). The\nimplementation uses the similar crate for efficient diff computation.\n(Jelmer Vernooĳ)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExtend \u003ccode\u003ehttp.extraHeader\u003c/code\u003e configuration to support per-URL settings.\nAllows configuring different HTTP headers for specific URLs using\n\u003ccode\u003ehttp.\u0026lt;url\u0026gt;.extraHeader\u003c/code\u003e syntax, enabling authentication in CI/CD\nenvironments like GitHub Actions. More specific URL configurations\noverride less specific ones.  (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/882\"\u003e#882\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003eGIT_REFLOG_ACTION\u003c/code\u003e environment variable in porcelain\nfunctions. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1811\"\u003e#1811\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for namespace isolation via \u003ccode\u003eNamespacedRefsContainer\u003c/code\u003e.\nImplements Git's namespace feature for isolating refs within a single\nrepository using the \u003ccode\u003erefs/namespaces/\u003c/code\u003e prefix. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1809\"\u003e#1809\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for GIT_FLUSH environment variable to control output buffering\nin CLI commands. When GIT_FLUSH=1, output is flushed after each write for\nreal-time visibility. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1810\"\u003e#1810\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement \u003ccode\u003edulwich interpret-trailers\u003c/code\u003e functionality to parse and manipulate\nstructured metadata (trailers) in commit messages. Adds \u003ccode\u003eporcelain.interpret_trailers()\u003c/code\u003e\nwith support for parsing, adding, replacing, and formatting trailers. Also fixes\nthe \u003ccode\u003esignoff\u003c/code\u003e parameter in \u003ccode\u003eporcelain.commit()\u003c/code\u003e to add \u003ccode\u003eSigned-off-by\u003c/code\u003e trailers.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for recursive submodule updates via \u003ccode\u003e--recursive\u003c/code\u003e flag in\n\u003ccode\u003edulwich submodule update\u003c/code\u003e command and \u003ccode\u003erecursive\u003c/code\u003e parameter in\n\u003ccode\u003eporcelain.submodule_update()\u003c/code\u003e.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1813\"\u003e#1813\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003egit maintenance\u003c/code\u003e command to optimize Git repository data.\nImplements gc, commit-graph, loose-objects, incremental-repack, pack-refs, and\nprefetch tasks. Supports automatic maintenance with \u003ccode\u003e--auto\u003c/code\u003e flag and task-specific\nconfiguration. (Jelmer Vernooĳ)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003edulwich replace\u003c/code\u003e command to create refs that replace objects.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1834\"\u003e#1834\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement advanced Git object specification support: index path lookup (\u003ccode\u003e:\u003c/code\u003e, \u003ccode\u003e:0:\u003c/code\u003e,\n\u003ccode\u003e:1:\u003c/code\u003e, \u003ccode\u003e:2:\u003c/code\u003e, \u003ccode\u003e:3:\u003c/code\u003e) for accessing files from the index and merge stages, and\nreflog time specifications (\u003ccode\u003e@{time}\u003c/code\u003e) using Git's approxidate format (e.g.,\n\u003ccode\u003eHEAD@{yesterday}`, \u003c/code\u003emaster@{2.weeks.ago}``). (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1783\"\u003e#1783\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003edulwich stripspace\u003c/code\u003e command to remove unnecessary whitespace from text.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1838\"\u003e#1838\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/0793d023de8314426c5e5e2e2e1cda823d51eb36\"\u003e\u003ccode\u003e0793d02\u003c/code\u003e\u003c/a\u003e release 0.24.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/f146cc4a14f0ca3089ab00e9c1be4585f3df78ef\"\u003e\u003ccode\u003ef146cc4\u003c/code\u003e\u003c/a\u003e Bump typing-extensions (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1974\"\u003e#1974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/802c63e5f7d55ee4e7b443c80343b8ffa207725b\"\u003e\u003ccode\u003e802c63e\u003c/code\u003e\u003c/a\u003e Make generate_pack_data() arguments consistent and keyword-only (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/b31a6cfee42f0c04f033c73e3220e562c0ec6423\"\u003e\u003ccode\u003eb31a6cf\u003c/code\u003e\u003c/a\u003e Bump typing-extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/5b154847c7844495ea3753bae6fceac3180fbbb4\"\u003e\u003ccode\u003e5b15484\u003c/code\u003e\u003c/a\u003e Make generate_pack_data() arguments consistent and keyword-only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/a5c62c4922584a8633a7256240ad28a9f7a5af76\"\u003e\u003ccode\u003ea5c62c4\u003c/code\u003e\u003c/a\u003e Add support for GIT_REFLOG_ACTION environment variable (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/5e1a7093836ca94ef64648c8f1169b65b6aa1a5c\"\u003e\u003ccode\u003e5e1a709\u003c/code\u003e\u003c/a\u003e Add support for GIT_REFLOG_ACTION environment variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/12a5f0c460886272e0cba915d29f0985689b1ce1\"\u003e\u003ccode\u003e12a5f0c\u003c/code\u003e\u003c/a\u003e Add per-URL http.extraHeader configuration support (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/11c1051b979ea3b463cca71d22843cede90d0379\"\u003e\u003ccode\u003e11c1051\u003c/code\u003e\u003c/a\u003e Drop authors (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1970\"\u003e#1970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/406fad90cb3a10a9dfdcd945901285a4d572a71e\"\u003e\u003ccode\u003e406fad9\u003c/code\u003e\u003c/a\u003e Fix TypeError when passing refspec to clone() (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1968\"\u003e#1968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dulwich/dulwich/compare/dulwich-0.24.1...dulwich-0.24.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pint` from 0.24.4 to 0.25.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hgrecco/pint/blob/master/CHANGES\"\u003epint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.25.1 (2025-11-01)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix raising exception in \u003ccode\u003eQuantity.from_tuple\u003c/code\u003e with invalid units (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSeveral unit definition fixes.\u003c/li\u003e\n\u003cli\u003eAdd devcontainer.json to add GitHub Codespace support (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003enumpy.geomspace\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elinalg.diagonal\u003c/code\u003e, \u003ccode\u003elinalg.matrix_transpose\u003c/code\u003e, \u003ccode\u003ediag\u003c/code\u003e, \u003ccode\u003etril\u003c/code\u003e, \u003ccode\u003etriu\u003c/code\u003e, \u003ccode\u003elinalg.eigvals\u003c/code\u003e, \u003ccode\u003elinalg.eigvalsh\u003c/code\u003e, \u003ccode\u003elinalg.matrix_norm\u003c/code\u003e and \u003ccode\u003elinalg.vector_norm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2210\"\u003e#2210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAn example of performing currency conversions that change over time has been added to the docs. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2240\"\u003e#2240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003epint.Quantity\u003c/code\u003e being used as Generic. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2231\"\u003e#2231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd a typing and IDE autocomplete page to the documentation. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2243\"\u003e#2243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enan\u003c/code\u003e/\u003ccode\u003enan\u003c/code\u003e to return \u003ccode\u003enan\u003c/code\u003e rather than 1 in unit conversion (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2228\"\u003e#2228\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0 (2025-08-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum Python version to 3.11.\u003c/li\u003e\n\u003cli\u003eUpgrade code to Python 3.11.\u003c/li\u003e\n\u003cli\u003eMove to pixi/uv/ruff.\u003c/li\u003e\n\u003cli\u003eRefactor compat to make it easier to test.\u003c/li\u003e\n\u003cli\u003eImplemented several pixi environment and tasks to simplify development.\u003c/li\u003e\n\u003cli\u003eAdd docs to the functions in \u003ccode\u003epint.testing\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix round function returning float instead of int (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix return type of \u003ccode\u003ePlainQuantity.to\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2088\"\u003e#2088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate constants to CODATA 2022 recommended values. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue with \u003ccode\u003e.to_compact\u003c/code\u003e and Magnitudes with uncertainties / Quantities with units (PR \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2069\"\u003e#2069\u003c/a\u003e, issue \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2044\"\u003e#2044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue in unit conversion which led to loss of precision when using \u003ccode\u003edecimal\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd conductivity dimension. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd absorbance unit and dimension. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd membrane filtration flux and permeability dimensionality, and shorthand \u0026quot;LMH\u0026quot;. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix find_shortest_path to use breadth first search (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2146\"\u003e#2146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003epyproject.toml\u003c/code\u003e: rename \u003ccode\u003eAS_MIP\u003c/code\u003e to \u003ccode\u003eHAS_MIP\u003c/code\u003e so that MIP support is correctly detected. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2152\"\u003e#2152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of extra arguments in conversion with enabled contexts (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2172\"\u003e#2172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix swapped left and right arguments in interp (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatted scientific notation bug in Python 3.13 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2168\"\u003e#2168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix ability to add dB units, and to add dB (dimensionless) to referenced dB units, such as dBm or dBW (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1160\"\u003e#1160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove pressure unit definitions in default definition file (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2186\"\u003e#2186\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid and document known issues with MIP during install, testing and runtime (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue with Dask by restricting its version to \u0026lt; 2025.3.0 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and Dask \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip false xfail tests linked to a known numpy issue (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003eContributing\u003c/code\u003e documentation (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eQuantity.to_unprefixed\u003c/code\u003e and \u003ccode\u003eito_unprefixed\u003c/code\u003e methods that remove SI prefixes without converting to base units. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2201\"\u003e#2201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/7caaf15d4f65948572d5a2a32189b3ef4df46b5d\"\u003e\u003ccode\u003e7caaf15\u003c/code\u003e\u003c/a\u003e typing for unit \u003cstrong\u003emul\u003c/strong\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2243\"\u003e#2243\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/ea41cb7817c715f83559100b9563b4e8098d6703\"\u003e\u003ccode\u003eea41cb7\u003c/code\u003e\u003c/a\u003e typing docs (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2242\"\u003e#2242\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/7ecfe3cf098a6bfd89954f17bc214e3d26f0eb07\"\u003e\u003ccode\u003e7ecfe3c\u003c/code\u003e\u003c/a\u003e Cancelnans (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2241\"\u003e#2241\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/9adf5cc9abb2e67a6f2d30c50401084fcb92c645\"\u003e\u003ccode\u003e9adf5cc\u003c/code\u003e\u003c/a\u003e Add \u003ccode\u003ecomplex\u003c/code\u003e to the union of the \u003ccode\u003eScalar\u003c/code\u003e alias (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2236\"\u003e#2236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/45a44301b553cf12affe7bf94b39e5610e19845b\"\u003e\u003ccode\u003e45a4430\u003c/code\u003e\u003c/a\u003e currency example (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2240\"\u003e#2240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/7101803cab6fd40ce707b99cacf1bea2155301cd\"\u003e\u003ccode\u003e7101803\u003c/code\u003e\u003c/a\u003e Allow pint.registry.Quantity to be used as a generic class (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2231\"\u003e#2231\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/5e5104d4bd0e09960a4ac688ea125fbab8f04ce2\"\u003e\u003ccode\u003e5e5104d\u003c/code\u003e\u003c/a\u003e Fix definition...\n\n_Description has been truncated_","html_url":"https://github.com/invenhost/InvenTree/pull/260","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/invenhost%2FInvenTree/issues/260","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/260/packages"}},{"old_version":"9.1.1","new_version":"10.0.0","update_type":"major","path":null,"pr_created_at":"2025-11-01T16:26:45.000Z","version_change":"9.1.1 → 10.0.0","issue":{"uuid":"3578178843","node_id":"PR_kwDOBqTFoc6w_v-q","number":330,"state":"closed","title":"Bump the uv-dependencies group with 13 updates","user":"dependabot[bot]","labels":["dependencies","python:uv"],"assignees":[],"locked":false,"comments_count":1,"pull_request":true,"closed_at":"2025-11-02T12:32:39.000Z","author_association":null,"state_reason":null,"created_at":"2025-11-01T16:26:45.000Z","updated_at":"2025-11-02T12:32:41.000Z","time_to_close":72354,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","group_name":"uv-dependencies","update_count":13,"packages":[{"name":"biopython","old_version":"1.85","new_version":"1.86","repository_url":"https://github.com/biopython/biopython"},{"name":"django-anymail","old_version":"10.0","new_version":"13.1","repository_url":"https://github.com/anymail/django-anymail"},{"name":"django-crispy-forms","old_version":"1.13.0","new_version":"2.4","repository_url":"https://github.com/django-crispy-forms/django-crispy-forms"},{"name":"django-reversion-compare","old_version":"0.19.0","new_version":"0.19.1","repository_url":"https://github.com/jedie/django-reversion-compare"},{"name":"google-auth","old_version":"2.41.1","new_version":"2.42.1","repository_url":"https://github.com/googleapis/google-auth-library-python"},{"name":"numpy","old_version":"2.2.6","new_version":"2.3.4","repository_url":"https://github.com/numpy/numpy"},{"name":"sentry-sdk","old_version":"2.42.0","new_version":"2.43.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"},{"name":"structlog","old_version":"25.4.0","new_version":"25.5.0","repository_url":"https://github.com/hynek/structlog"},{"name":"django-debug-toolbar","old_version":"6.0.0","new_version":"6.1.0","repository_url":"https://github.com/django-commons/django-debug-toolbar"},{"name":"djangorestframework-stubs","old_version":"3.16.4","new_version":"3.16.5","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"prek","old_version":"0.2.11","new_version":"0.2.12","repository_url":"https://github.com/j178/prek"},{"name":"ruff","old_version":"0.14.1","new_version":"0.14.3","repository_url":"https://github.com/astral-sh/ruff"}],"path":null,"ecosystem":"pip"},"body":"Bumps the uv-dependencies group with 13 updates:\n\n| Package | From | To |\n| --- | --- | --- |\n| [biopython](https://github.com/biopython/biopython) | `1.85` | `1.86` |\n| [django-anymail](https://github.com/anymail/django-anymail) | `10.0` | `13.1` |\n| [django-crispy-forms](https://github.com/django-crispy-forms/django-crispy-forms) | `1.13.0` | `2.4` |\n| [django-reversion-compare](https://github.com/jedie/django-reversion-compare) | `0.19.0` | `0.19.1` |\n| [google-auth](https://github.com/googleapis/google-auth-library-python) | `2.41.1` | `2.42.1` |\n| [numpy](https://github.com/numpy/numpy) | `2.2.6` | `2.3.4` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.42.0` | `2.43.0` |\n| [django-structlog](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [structlog](https://github.com/hynek/structlog) | `25.4.0` | `25.5.0` |\n| [django-debug-toolbar](https://github.com/django-commons/django-debug-toolbar) | `6.0.0` | `6.1.0` |\n| [djangorestframework-stubs](https://github.com/sponsors/typeddjango) | `3.16.4` | `3.16.5` |\n| [prek](https://github.com/j178/prek) | `0.2.11` | `0.2.12` |\n| [ruff](https://github.com/astral-sh/ruff) | `0.14.1` | `0.14.3` |\n\nUpdates `biopython` from 1.85 to 1.86\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/biopython/biopython/blob/master/NEWS.rst\"\u003ebiopython's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003e28 October 2025: Biopython 1.86\u003c/h1\u003e\n\u003cp\u003eThis release of Biopython supports Python 3.10, 3.11, 3.12, 3.13 and 3.14.  It\nhas also been tested on PyPy3.10 v7.3.19.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.SearchIO\u003c/code\u003e now supports parsing the tabular and plain text output of\n\u003ccode\u003eInfernal \u0026lt;http://eddylab.org/infernal/\u0026gt;\u003c/code\u003e (v1.0.0+) RNA search tool. The\nformat names are \u003ccode\u003einfernal-tab\u003c/code\u003e and \u003ccode\u003einfernal-text\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003eThe default value of the gap score of a \u003ccode\u003ePairwiseAligner\u003c/code\u003e object was changed\nin this release.  Previously, for consistency with \u003ccode\u003eBio.pairwise2\u003c/code\u003e, the\ndefault value for gap score was 0.  However, this means that a mismatch, an\ninsertion followed by a deletion, and a deletion followed by an insertion all\nget assigned a score of 0.  The aligner then finds a large number of alignments\nthat are logically the same, but have trivial differences between them.  For\nexample, aligning AAACAAA to AAAGAAA previously yielded the following three\nalignments, all with score 6::\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e AAACAAA        AAAC-AAA        AAA-CAAA\n AAAGAAA        AAA-GAAA        AAAG-AAA\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eWith the new default parameter for the gap score, only the first alignment is\nreturned.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e now ensures that b-factor values are always at most 6 characters to\nensure that we do not violate the wwPDB specification. This should not have an impact\non the majority of uses, as b-factor values are generally small (less than 100). When\n1000 \u0026lt;= b-factor \u0026lt; 10_000, the value is rounded to a single decimal place. When,\n10_000 \u0026lt;= b-factor \u0026lt; 999_999, the value is rounded to zero decimal places. Values\nabove 999_999 are now clamped. The justification for this is the rise in the b-factor\nfield being used for additional metadata, typically from computational tools.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.Align\u003c/code\u003e now provides a method \u003ccode\u003eAlignment.from_alignments_with_same_reference\u003c/code\u003e\nto construct a multiple sequence alignment from a collection of alignments\nthat share the same reference sequence.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.PDBIO\u003c/code\u003e will now raise module specific warnings:\n\u003ccode\u003eBio.PDB.PDBExceptions.PDBIOWarning\u003c/code\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ccode\u003eBio.PDB.SCADIO\u003c/code\u003e now supports object selection by color in the OpenSCAD\noutput file.  This enables generation of separate STL files for each color for\nprinting protein structures on multi-material 3D printers.\u003c/p\u003e\n\u003cp\u003eThe \u003ccode\u003eiplotx\u003c/code\u003e library is mentioned in the Tutorial as an option to visualise\ntrees using complex style options.\u003c/p\u003e\n\u003cp\u003eMany thanks to the Biopython developers and community for making this release\npossible, especially the following contributors:\u003c/p\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/biopython/biopython/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-anymail` from 10.0 to 13.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anymail/django-anymail/releases\"\u003edjango-anymail's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev13.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v13-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev13.0.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v13-0-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev13.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v13-0\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev12.0\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v12-0\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v11-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev11.0.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v11-0-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003e(This release is solely to update documentation and metadata. Code is identical to v11.0.)\u003c/p\u003e\n\u003ch2\u003ev11.0\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eBreaking changes\u003c/strong\u003e for Amazon SES; SparkPost (with \u003ccode\u003etemplate_id\u003c/code\u003e)\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003emerge_headers\u003c/code\u003e feature\u003c/li\u003e\n\u003cli\u003eAnd more…\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003ePlease check the \u003ca href=\"https://anymail.dev/en/stable/changelog/#v11-0\"\u003echangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.3\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v10-3\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.2\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v10-2\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev10.1\u003c/h2\u003e\n\u003cp\u003e\u003ca href=\"https://anymail.dev/en/stable/changelog/#v10-1\"\u003eChangelog\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/anymail/django-anymail/blob/main/CHANGELOG.rst\"\u003edjango-anymail's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev13.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-09-03\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eFeatures\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **Scaleway:** Add support for this ESP.\n  (See `docs \u0026lt;https://anymail.dev/en/stable/esps/scaleway/\u0026gt;`__.\n  Thanks to `@hleroy`_ for the contribution.)\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSendGrid:\u003c/strong\u003e Add optional signature verification for tracking webhooks.\nTo support this, Anymail now includes the :pypi:\u003ccode\u003ecryptography\u003c/code\u003e package when\ninstalled with the \u003ccode\u003edjango-anymail[sendgrid]\u003c/code\u003e extra.\n(Thanks to \u003ccode\u003e@blag\u003c/code\u003e_ for contributing this improvement. Note this was tested\nagainst SendGrid's live API by its contributor at the time it was added,\nbut cannot be independently verified by Anymail's maintainers as we\n\u003ccode\u003eno longer have access \u0026amp;lt;https://github.com/anymail/django-anymail/issues/432\u0026amp;gt;\u003c/code\u003e__\nto a SendGrid test account.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev13.0.1\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-07-25\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003eBreaking changes (external)\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003cstrong\u003eSendGrid:\u003c/strong\u003e Anymail no longer officially supports SendGrid, because we are\nunable to test it. Although it will \u003cem\u003eprobably\u003c/em\u003e keep working, you'll get\nwarnings about this change in status. See\n\u003ccode\u003eDropping support for SendGrid \u0026lt;https://github.com/anymail/django-anymail/issues/432\u0026gt;\u003c/code\u003e__\nfor details and actions SendGrid customers can take. (Since this breaking\nchange is due to external causes and impacts SendGrid users on all versions\nof Anymail, it is being handled as a minor patch release rather than a semver\nmajor version change.)\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eFixes\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e\n* **Amazon SES:** Require boto3 1.24.6 or later to ensure support for the SESv2\n  close method. (Thanks to `@mgibeau`_ for identifying the issue.)\n\u003ch2\u003ev13.0\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003e2025-04-03\u003c/em\u003e\n\u0026lt;/tr\u0026gt;\u0026lt;/table\u0026gt;\n\u003c/code\u003e\u003c/pre\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/74b5e257c0089a1cc47104607fcc99da8b282105\"\u003e\u003ccode\u003e74b5e25\u003c/code\u003e\u003c/a\u003e Release 13.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/12f203290e72642ce927fc53364d4eca64234071\"\u003e\u003ccode\u003e12f2032\u003c/code\u003e\u003c/a\u003e Scaleway: cleanup and enable integration tests\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/8be0aaa4cec676c91712a7d45132787e30490c6c\"\u003e\u003ccode\u003e8be0aaa\u003c/code\u003e\u003c/a\u003e Readme: fix test status badges\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/90367b394a8b2c472a47efab1a452817e3ec9783\"\u003e\u003ccode\u003e90367b3\u003c/code\u003e\u003c/a\u003e Scaleway: new ESP\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/4b2d6f857651801739044a0ff81fbaa947d7c8d4\"\u003e\u003ccode\u003e4b2d6f8\u003c/code\u003e\u003c/a\u003e SendGrid: Add optional webhook signature verification\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/b8a5ee89f6df3f3d4760d83338b099830afdae9b\"\u003e\u003ccode\u003eb8a5ee8\u003c/code\u003e\u003c/a\u003e CI: fix typo in release.yml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/30c613003f4a8bac0b78d50cabcfd474bf9ea8aa\"\u003e\u003ccode\u003e30c6130\u003c/code\u003e\u003c/a\u003e Release 13.0.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/6b27bd9d699d41d209cb9ae6103b0e5f6f324d90\"\u003e\u003ccode\u003e6b27bd9\u003c/code\u003e\u003c/a\u003e CI: fix outdated Django 5.2 alpha reference\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/dfa4ce0c6a62e9002f68331e0137ee128031b900\"\u003e\u003ccode\u003edfa4ce0\u003c/code\u003e\u003c/a\u003e SendGrid: change to \u0026quot;unsupported\u0026quot; status\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/anymail/django-anymail/commit/c29c993d85ba5f971375d6a2ca565458a31f1c4a\"\u003e\u003ccode\u003ec29c993\u003c/code\u003e\u003c/a\u003e Fix lint\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/anymail/django-anymail/compare/v10.0...v13.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-crispy-forms` from 1.13.0 to 2.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/releases\"\u003edjango-crispy-forms's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eConfirmed support for Django 5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed unexpected addition the 'active' css_class to AccordionGroup\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 5.1.\u003c/li\u003e\n\u003cli\u003eAllowed pass through of context when rendering a Fieldset layout object.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.1...2.2\"\u003ehttps://github.com/django-crispy-forms/django-crispy-forms/compare/2.1...2.2\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 5.0.\u003c/li\u003e\n\u003cli\u003eDropped support for Django 3.2, 4.0 and 4.1.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/DanielSwain\"\u003e\u003ccode\u003e@​DanielSwain\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/pull/1340\"\u003edjango-crispy-forms/django-crispy-forms#1340\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sankarebarri\"\u003e\u003ccode\u003e@​sankarebarri\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/pull/1342\"\u003edjango-crispy-forms/django-crispy-forms#1342\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/foarsitter\"\u003e\u003ccode\u003e@​foarsitter\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/pull/1353\"\u003edjango-crispy-forms/django-crispy-forms#1353\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/2.0...2.1\"\u003ehttps://github.com/django-crispy-forms/django-crispy-forms/compare/2.0...2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch1\u003e2.0 (2023-02-13)\u003c/h1\u003e\n\u003ch2\u003eMajor Changes and Migration Guide\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved all Bootstrap template packs. These template packs are now available as standalone packages.\nTo upgrade, install the required template pack and add it to your\n\u003ca href=\"https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-INSTALLED_APPS\"\u003e\u003ccode\u003eINSTALLED_APPS\u003c/code\u003e\u003c/a\u003e setting.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBoostrap 2: \u003ca href=\"https://pypi.org/project/crispy-forms-bootstrap2/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-forms-bootstrap2\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoostrap 3: \u003ca href=\"https://pypi.org/project/crispy-bootstrap3/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap3\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoostrap 4: \u003ca href=\"https://pypi.org/project/crispy-bootstrap4/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap4\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAlso, support for Bootstrap 5 is provided by a 3rd party package under the \u003ccode\u003edjango-crispy-forms\u003c/code\u003e organisation at\n\u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap5\"\u003ecrispy-bootstrap5\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved uni-form template pack. Uni-Form specific classes previously added to every template pack e.g. \u003ccode\u003etextInput\u003c/code\u003e are now removed.\nIf you require these classes, the previous behaviour can be restored by adding the following to \u003ca href=\"https://django-crispy-forms.readthedocs.io/en/latest/crispy_tag_forms.html#change-crispy-forms-input-default-classes\"\u003eCRISPY_CLASS_CONVERTERS\u003c/a\u003e in your settings file.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  converters = {\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/blob/main/CHANGELOG.md\"\u003edjango-crispy-forms's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4 (2025-04-13)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Python 3.13.\u003c/li\u003e\n\u003cli\u003eConfirmed support for Django 5.2.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.3 (2024-07-19)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFixed a bug in \u003ccode\u003eAccordionGroup\u003c/code\u003e rendering then it gets an unexpected css class \u003ccode\u003eactive\u003c/code\u003e.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.2 (2024-06-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 5.1.\u003c/li\u003e\n\u003cli\u003eAllowed pass through of context when rendering a \u003ccode\u003eFieldset\u003c/code\u003e layout object.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e2.1 (2023-10-15)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for Django 5.0.\u003c/li\u003e\n\u003cli\u003eDropped support for Django 3.2, 4.0 and 4.1.\u003c/li\u003e\n\u003cli\u003eAdded support for Python 3.12.\u003c/li\u003e\n\u003cli\u003eDropped support for Python 3.7.\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/milestone/20?closed=1\"\u003e2.1 Milestone\u003c/a\u003e for the full change\nlist.\u003c/p\u003e\n\u003ch2\u003e2.0 (2023-02-13)\u003c/h2\u003e\n\u003cp\u003eRelease of django-crispy-forms 2.0. No changes introduced since 2.0a1.\u003c/p\u003e\n\u003ch2\u003e2.0a1 (2023-01-18)\u003c/h2\u003e\n\u003ch1\u003eMajor Changes and Migration Guide\u003c/h1\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved all Bootstrap template packs. These template packs are now available as standalone packages.\nTo upgrade, install the required template pack and add it to your\n\u003ca href=\"https://docs.djangoproject.com/en/stable/ref/settings/#std-setting-INSTALLED_APPS\"\u003e\u003ccode\u003eINSTALLED_APPS\u003c/code\u003e\u003c/a\u003e setting.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eBoostrap 2: \u003ca href=\"https://pypi.org/project/crispy-forms-bootstrap2/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-forms-bootstrap2\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoostrap 3: \u003ca href=\"https://pypi.org/project/crispy-bootstrap3/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap3\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBoostrap 4: \u003ca href=\"https://pypi.org/project/crispy-bootstrap4/\"\u003ePyPI\u003c/a\u003e -- \u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap4\"\u003eGitHub\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eAlso, support for Bootstrap 5 is provided by a 3rd party package under the \u003ccode\u003edjango-crispy-forms\u003c/code\u003e organisation at\n\u003ca href=\"https://github.com/django-crispy-forms/crispy-bootstrap5\"\u003ecrispy-bootstrap5\u003c/a\u003e.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eRemoved uni-form template pack. Uni-Form specific classes previously added to every template pack e.g. \u003ccode\u003etextInput\u003c/code\u003e are now removed.\nIf you require these classes, the previous behaviour can be restored by adding the following to \u003ca href=\"https://django-crispy-forms.readthedocs.io/en/latest/crispy_tag_forms.html#change-crispy-forms-input-default-classes\"\u003eCRISPY_CLASS_CONVERTERS\u003c/a\u003e in your settings file.\u003c/p\u003e\n\u003cpre\u003e\u003ccode\u003e  converters = {\n    \u0026quot;textinput\u0026quot;: \u0026quot;textinput textInput\u0026quot;,\n    \u0026quot;fileinput\u0026quot;: \u0026quot;fileinput fileUpload\u0026quot;,\n    \u0026quot;passwordinput\u0026quot;: \u0026quot;textinput textInput\u0026quot;,\n}\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eThe \u003ccode\u003euni-form\u003c/code\u003e template pack allowed for rendering of templates using a \u003ccode\u003edefault\u003c/code\u003e or \u003ccode\u003einline\u003c/code\u003e layout. As the \u003ccode\u003euni-form\u003c/code\u003e template\npack has been removed support for this has also been removed. This has resulted in the following \u003cstrong\u003eBREAKING\u003c/strong\u003e changes.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/b3f1d2255be531bba4acb67311a5d3c00dbd9973\"\u003e\u003ccode\u003eb3f1d22\u003c/code\u003e\u003c/a\u003e 2.4 Release. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1412\"\u003e#1412\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/ac2479e16f48c265897acd2ce2455af6ad9840ef\"\u003e\u003ccode\u003eac2479e\u003c/code\u003e\u003c/a\u003e Update GitHub action versions in workflows. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1411\"\u003e#1411\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/bb7030a9a07f327bc725a62341ae0e14526f82e6\"\u003e\u003ccode\u003ebb7030a\u003c/code\u003e\u003c/a\u003e Confirmed Django 5.2 support. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1407\"\u003e#1407\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/a4fb3c7be1129cbd0de7895413cdb926fbb83d80\"\u003e\u003ccode\u003ea4fb3c7\u003c/code\u003e\u003c/a\u003e Pre-commit autoupdate. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1404\"\u003e#1404\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/e7cc89a1a298515b3e934312f8aa1b21617c63a8\"\u003e\u003ccode\u003ee7cc89a\u003c/code\u003e\u003c/a\u003e Added Python 3.13 support. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1403\"\u003e#1403\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/e07622dc68c7199f36677f819d8dcf68125ad596\"\u003e\u003ccode\u003ee07622d\u003c/code\u003e\u003c/a\u003e Version 2.3. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1396\"\u003e#1396\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/64f4b21836eb6c54721e5f896a44493372053213\"\u003e\u003ccode\u003e64f4b21\u003c/code\u003e\u003c/a\u003e Fixed unexpected addition the 'active' css_class to AccordionGroup (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1394\"\u003e#1394\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/4f454cd9d5fd3139ce1d0c01593c86923956ed5b\"\u003e\u003ccode\u003e4f454cd\u003c/code\u003e\u003c/a\u003e Version 2.2. (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1392\"\u003e#1392\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/086afbbe1bff99d39f00d3d044bf670fb3c953e0\"\u003e\u003ccode\u003e086afbb\u003c/code\u003e\u003c/a\u003e Fix documentation of \u003ccode\u003eField\u003c/code\u003e's constructor (\u003ca href=\"https://redirect.github.com/django-crispy-forms/django-crispy-forms/issues/1375\"\u003e#1375\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/commit/f9d67d3e164c52f05a3465bce6aada099ad6fd9f\"\u003e\u003ccode\u003ef9d67d3\u003c/code\u003e\u003c/a\u003e Allowed pass through of context when rendering a \u003ccode\u003eFieldset\u003c/code\u003e layout object. ...\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-crispy-forms/django-crispy-forms/compare/1.13.0...2.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-reversion-compare` from 0.19.0 to 0.19.1\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jedie/django-reversion-compare/commit/0ca554456bb5d1b6ba3761afe075482cc23add45\"\u003e\u003ccode\u003e0ca5544\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jedie/django-reversion-compare/issues/265\"\u003e#265\u003c/a\u003e from jedie/update\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jedie/django-reversion-compare/commit/677a7b43c1b2c7f775f118aa4c212e2229173dcd\"\u003e\u003ccode\u003e677a7b4\u003c/code\u003e\u003c/a\u003e Apply manageprojects updates + update requirements\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/jedie/django-reversion-compare/compare/v0.19.0...v0.19.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `google-auth` from 2.41.1 to 2.42.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/releases\"\u003egoogle-auth's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.42.1\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ev2.42.0\u003c/h2\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRead scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e62c0fc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/googleapis/google-auth-library-python/blob/main/CHANGELOG.md\"\u003egoogle-auth's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.42.0...v2.42.1\"\u003e2.42.1\u003c/a\u003e (2025-10-30)\u003c/h2\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eCatch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003eb074cad\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.0\"\u003e2.42.0\u003c/a\u003e (2025-10-24)\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e36ecb1d\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eBug Fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eRead scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e) (\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e62c0fc8\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/5d1b862db2b23b4b7ae7d243f6dbb23165636bd5\"\u003e\u003ccode\u003e5d1b862\u003c/code\u003e\u003c/a\u003e chore(main): release 2.42.1 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1853\"\u003e#1853\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/b074cad460589633adfc6744c01726ae86f2aa2b\"\u003e\u003ccode\u003eb074cad\u003c/code\u003e\u003c/a\u003e fix: catch ValueError for json.loads() (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1842\"\u003e#1842\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/cb62f5727854965e108c4e1790c4f9f9306fe3ce\"\u003e\u003ccode\u003ecb62f57\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1851\"\u003e#1851\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/2f8826d3226a3df7dfdd5898c91ea15ee21d1bd0\"\u003e\u003ccode\u003e2f8826d\u003c/code\u003e\u003c/a\u003e chore(main): release 2.42.0 (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1819\"\u003e#1819\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/aca34b5ca521398be7bb99543a32302bc40ca234\"\u003e\u003ccode\u003eaca34b5\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1847\"\u003e#1847\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/62c0fc82a3625542381f85c698595446fc99ddae\"\u003e\u003ccode\u003e62c0fc8\u003c/code\u003e\u003c/a\u003e fix: Read scopes from ADC json for impersoanted cred (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1820\"\u003e#1820\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/36ecb1d65883477d27faf9c2281fc289659b9903\"\u003e\u003ccode\u003e36ecb1d\u003c/code\u003e\u003c/a\u003e feat: Add trust boundary support for external accounts. (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1809\"\u003e#1809\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/10823c2feb700075cd9d2e895ca60a1fa0d4d912\"\u003e\u003ccode\u003e10823c2\u003c/code\u003e\u003c/a\u003e chore: secret update (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1818\"\u003e#1818\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/googleapis/google-auth-library-python/commit/e16d70b750e469d59e89ebc8969b6a74a97ae365\"\u003e\u003ccode\u003ee16d70b\u003c/code\u003e\u003c/a\u003e test: Add tests to cover deprecation and suppression (\u003ca href=\"https://redirect.github.com/googleapis/google-auth-library-python/issues/1817\"\u003e#1817\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/googleapis/google-auth-library-python/compare/v2.41.1...v2.42.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `numpy` from 2.2.6 to 2.3.4\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/numpy/numpy/releases\"\u003enumpy's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.3.4 (Oct 15,  2025)\u003c/h2\u003e\n\u003ch1\u003eNumPy 2.3.4 Release Notes\u003c/h1\u003e\n\u003cp\u003eThe NumPy 2.3.4 release is a patch release split between a number of maintenance\nupdates and bug fixes. This release supports Python versions 3.11-3.14. This\nrelease is based on Python 3.14.0 final.\u003c/p\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003cp\u003eThe \u003ccode\u003enpymath\u003c/code\u003e and \u003ccode\u003enpyrandom\u003c/code\u003e libraries now have a \u003ccode\u003e.lib\u003c/code\u003e rather than a\n\u003ccode\u003e.a\u003c/code\u003e file extension on win-arm64, for compatibility for building with MSVC and\n\u003ccode\u003esetuptools\u003c/code\u003e. Please note that using these static libraries is discouraged\nand for existing projects using it, it's best to use it with a matching\ncompiler toolchain, which is \u003ccode\u003eclang-cl\u003c/code\u003e on Windows on Arm.\u003c/p\u003e\n\u003cp\u003e(\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29750\"\u003egh-29750\u003c/a\u003e)\u003c/p\u003e\n\u003ch2\u003eContributors\u003c/h2\u003e\n\u003cp\u003eA total of 17 people contributed to this release. People with a \u0026quot;+\u0026quot; by their\nnames contributed a patch for the first time.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e!DWesl\u003c/li\u003e\n\u003cli\u003eCharles Harris\u003c/li\u003e\n\u003cli\u003eChristian Barbia +\u003c/li\u003e\n\u003cli\u003eEvgeni Burovski\u003c/li\u003e\n\u003cli\u003eJoren Hammudoglu\u003c/li\u003e\n\u003cli\u003eMaaz +\u003c/li\u003e\n\u003cli\u003eMateusz Sokół\u003c/li\u003e\n\u003cli\u003eMatti Picus\u003c/li\u003e\n\u003cli\u003eNathan Goldbaum\u003c/li\u003e\n\u003cli\u003eRalf Gommers\u003c/li\u003e\n\u003cli\u003eRiku Sakamoto +\u003c/li\u003e\n\u003cli\u003eSandeep Gupta +\u003c/li\u003e\n\u003cli\u003eSayed Awad\u003c/li\u003e\n\u003cli\u003eSebastian Berg\u003c/li\u003e\n\u003cli\u003eSergey Fedorov +\u003c/li\u003e\n\u003cli\u003eWarren Weckesser\u003c/li\u003e\n\u003cli\u003edependabot[bot]\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003ePull requests merged\u003c/h2\u003e\n\u003cp\u003eA total of 30 pull requests were merged for this release.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29725\"\u003e#29725\u003c/a\u003e: MAINT: Prepare 2.3.x for further development\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29781\"\u003e#29781\u003c/a\u003e: MAINT: Pin some upstream dependences\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29782\"\u003e#29782\u003c/a\u003e: BLD: enable x86-simd-sort to build on KNL with -mavx512f\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29783\"\u003e#29783\u003c/a\u003e: BUG: Include python-including headers first (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29281\"\u003e#29281\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29784\"\u003e#29784\u003c/a\u003e: TYP: fix np.number and np.*integer method declaration\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://redirect.github.com/numpy/numpy/pull/29785\"\u003e#29785\u003c/a\u003e: TYP: mypy 1.18.1\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/1458b9e79d1a5755eae9adcb346758f449b6b430\"\u003e\u003ccode\u003e1458b9e\u003c/code\u003e\u003c/a\u003e REL: Prepare for the NumPy 2.3.4 release (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29955\"\u003e#29955\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7583bed3577d8b5e7e74a24a6337d530b045f0bc\"\u003e\u003ccode\u003e7583bed\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29950\"\u003e#29950\u003c/a\u003e from charris/backport-29885\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/318675152646f184a24da3f9b8742de202c99bfb\"\u003e\u003ccode\u003e3186751\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29949\"\u003e#29949\u003c/a\u003e from charris/backport-29948\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/7fd2ad9eff9cb04bcea5e2b6f89e8870329c5c93\"\u003e\u003ccode\u003e7fd2ad9\u003c/code\u003e\u003c/a\u003e STY: rename \u003ccode\u003e@classmethod\u003c/code\u003e arg to \u003ccode\u003ecls\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/fe8447d7aefe7c63ab37d426e6d725e857fb45f7\"\u003e\u003ccode\u003efe8447d\u003c/code\u003e\u003c/a\u003e MAINT: Simplify string arena growth strategy (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29885\"\u003e#29885\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/a90f073415846b378ab166b5a2f9acf87876853b\"\u003e\u003ccode\u003ea90f073\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29940\"\u003e#29940\u003c/a\u003e from charris/backport-29937\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/55d91abd9564835cc0e0dcc92d84b25dcfaff1d9\"\u003e\u003ccode\u003e55d91ab\u003c/code\u003e\u003c/a\u003e MAINT: Bump pypa/cibuildwheel from 3.1.4 to 3.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/e2f038314bb736930f74c127eed8843d29f59c55\"\u003e\u003ccode\u003ee2f0383\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29926\"\u003e#29926\u003c/a\u003e from charris/backport-29609\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/b427e83710abd344168f156ab212a8d19f0d2185\"\u003e\u003ccode\u003eb427e83\u003c/code\u003e\u003c/a\u003e BUG: fix negative samples generated by Wald distribution (\u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29609\"\u003e#29609\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/numpy/numpy/commit/36363d6534eb9e786f998a56ccc59f0ba1bc1efe\"\u003e\u003ccode\u003e36363d6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/numpy/numpy/issues/29922\"\u003e#29922\u003c/a\u003e from charris/backport-29914\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/numpy/numpy/compare/v2.2.6...v2.3.4\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sdk` from 2.42.0 to 2.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/releases\"\u003esentry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4906\"\u003e#4906\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        PydanticAIIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMCP Python SDK (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Python MCP integration with the code snippet below:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.mcp import MCPIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        MCPIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003esentry_sdk.init(\n    # ...\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md\"\u003esentry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4906\"\u003e#4906\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        PydanticAIIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMCP Python SDK (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Python MCP integration with the code snippet below:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.mcp import MCPIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        MCPIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003esentry_sdk.init(\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b069aa24fdf3c52a9e8b75f4f83d5fee035c3234\"\u003e\u003ccode\u003eb069aa2\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/a7a3fb17956790a0ddba575c0436e6409e0ddec5\"\u003e\u003ccode\u003ea7a3fb1\u003c/code\u003e\u003c/a\u003e release: 2.43.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/76cc4163087c6e89f406b89440be45d87ff8e148\"\u003e\u003ccode\u003e76cc416\u003c/code\u003e\u003c/a\u003e fix(google-genai): Set agent name (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b3b2eb62d9f1d9132aa8114a4d2eecf7e5fc517c\"\u003e\u003ccode\u003eb3b2eb6\u003c/code\u003e\u003c/a\u003e fix(integrations): hooking into error tracing function to find out if an exec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d7ccf06aea28c709abd3d6e7002951c4fa169fe2\"\u003e\u003ccode\u003ed7ccf06\u003c/code\u003e\u003c/a\u003e fix(django): Improve logic for classifying cache hits and misses (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5029\"\u003e#5029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/64c145ffb19cb7c49b679b0cdf2e7754f0f91d12\"\u003e\u003ccode\u003e64c145f\u003c/code\u003e\u003c/a\u003e chore(metrics): Rename _metrics to metrics (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/fe31660c50c649f1730f4307ae6f4c10e61acd2f\"\u003e\u003ccode\u003efe31660\u003c/code\u003e\u003c/a\u003e fix(tracemetrics): Bump metric buffer size to 1k (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5031\"\u003e#5031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/6e06a07467b7b808699d67e8b71bc5ec2fbc9f6f\"\u003e\u003ccode\u003e6e06a07\u003c/code\u003e\u003c/a\u003e fix startlette deprecation warning (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/e6366194f61fdae97e7867c6457b67ac9a77014c\"\u003e\u003ccode\u003ee636619\u003c/code\u003e\u003c/a\u003e fix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/8ab8f3b3895944ac52518d47a4ea436f715bab6c\"\u003e\u003ccode\u003e8ab8f3b\u003c/code\u003e\u003c/a\u003e ci: 🤖 Update test matrix with new releases (10/27) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5033\"\u003e#5033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-python/compare/2.42.0...2.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `structlog` from 25.4.0 to 25.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/structlog/releases\"\u003estructlog's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e25.5.0\u003c/h2\u003e\n\u003ch2\u003eHighlights\u003c/h2\u003e\n\u003cp\u003eHuge release! There's plenty of important little bug fixes and new features, but the headliner is definitely the improved ergonomics of \u003ccode\u003estructlog.dev.ConsoleRenderer\u003c/code\u003e. We have finally accepted that local development has different priorities than production and made it both mutable (with automatic re-configuration) and also easily retrievable (\u003ccode\u003ecr = ConsoleRenderer.get_active()\u003c/code\u003e). This allows you, for example, to disable Rich exception formatting as easily as \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active().exception_formatter = structlog.dev.plain_traceback\u003c/code\u003e. Please check out the \u003ca href=\"https://www.structlog.org/en/stable/console-output.html\"\u003eupdated docs\u003c/a\u003e!\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFull changelog below!\u003c/em\u003e\u003c/p\u003e\n\u003ch2\u003eSpecial Thanks\u003c/h2\u003e\n\u003cp\u003eThis release would not be possible without my generous sponsors! Thank you to all of you making sustainable maintenance possible! If \u003cem\u003eyou\u003c/em\u003e would like to join them, go to \u003ca href=\"https://github.com/sponsors/hynek\"\u003ehttps://github.com/sponsors/hynek\u003c/a\u003e and check out the sweet perks!\u003c/p\u003e\n\u003ch3\u003eAbove and Beyond\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://www.variomedia.de/\"\u003eVariomedia AG\u003c/a\u003e (@\u003ca href=\"https://github.com/variomedia\"\u003evariomedia\u003c/a\u003e), \u003ca href=\"https://www.tidelift.com/\"\u003eTidelift\u003c/a\u003e (@\u003ca href=\"https://github.com/tidelift\"\u003etidelift\u003c/a\u003e), \u003ca href=\"https://www.thanks.dev\"\u003ethanks.dev\u003c/a\u003e (@\u003ca href=\"https://github.com/thnxdev\"\u003ethnxdev\u003c/a\u003e), \u003ca href=\"https://privacy-solutions.org\"\u003ePrivacy Solutions GmbH\u003c/a\u003e (@\u003ca href=\"https://github.com/privacy-solutions\"\u003eprivacy-solutions\u003c/a\u003e), \u003ca href=\"https://quesma.com/\"\u003eQuesma\u003c/a\u003e (\u003ca href=\"https://github.com/QuesmaOrg\"\u003e\u003ccode\u003e@​QuesmaOrg\u003c/code\u003e\u003c/a\u003e), \u003ca href=\"http://filepreviews.io/\"\u003eFilePreviews\u003c/a\u003e (@\u003ca href=\"https://github.com/filepreviews\"\u003efilepreviews\u003c/a\u003e), \u003ca href=\"https://www.lambdatest.com\"\u003eLambdaTest\u003c/a\u003e (@\u003ca href=\"https://github.com/LambdaTest-Inc\"\u003eLambdaTest-Inc\u003c/a\u003e), \u003ca href=\"https://doist.com/\"\u003eDoist\u003c/a\u003e (@\u003ca href=\"https://github.com/Doist\"\u003eDoist\u003c/a\u003e), Daniel Fortunov (@\u003ca href=\"https://github.com/asqui\"\u003easqui\u003c/a\u003e), and Kevin P. Fleming (@\u003ca href=\"https://github.com/kpfleming\"\u003ekpfleming\u003c/a\u003e).\u003c/p\u003e\n\u003ch3\u003eMaintenance Sustainers\u003c/h3\u003e\n\u003cp\u003e\u003ca href=\"https://buttondown.com\"\u003eButtondown\u003c/a\u003e (@\u003ca href=\"https://github.com/buttondown\"\u003ebuttondown\u003c/a\u003e), Jeff McCarrell (@\u003ca href=\"https://github.com/jmccarrell\"\u003ejmccarrell\u003c/a\u003e), \u003ca href=\"https://christopher.xyz\"\u003eChristopher Dignam\u003c/a\u003e (@\u003ca href=\"https://github.com/chdsbd\"\u003echdsbd\u003c/a\u003e), Magnus Watn (@\u003ca href=\"https://github.com/magnuswatn\"\u003emagnuswatn\u003c/a\u003e), \u003ca href=\"https://cra.mr\"\u003eDavid Cramer\u003c/a\u003e (@\u003ca href=\"https://github.com/dcramer\"\u003edcramer\u003c/a\u003e), Jesse Snyder (@\u003ca href=\"https://github.com/jessesnyder\"\u003ejessesnyder\u003c/a\u003e), \u003ca href=\"https://rivolaks.com\"\u003eRivo Laks\u003c/a\u003e (@\u003ca href=\"https://github.com/rivol\"\u003erivol\u003c/a\u003e), \u003ca href=\"https://polar.sh\"\u003ePolar\u003c/a\u003e (@\u003ca href=\"https://github.com/polarsource\"\u003epolarsource\u003c/a\u003e), \u003ca href=\"https://www.miketheman.net\"\u003eMike Fiedler\u003c/a\u003e (@\u003ca href=\"https://github.com/miketheman\"\u003emiketheman\u003c/a\u003e), Duncan Hill (@\u003ca href=\"https://github.com/cricalix\"\u003ecricalix\u003c/a\u003e), Colin Marquardt (@\u003ca href=\"https://github.com/cmarqu\"\u003ecmarqu\u003c/a\u003e), \u003ca href=\"https://blog.journeythatcounts.nl\"\u003ePieter Swinkels\u003c/a\u003e (@\u003ca href=\"https://github.com/swinkels\"\u003eswinkels\u003c/a\u003e), Nick Libertini (@\u003ca href=\"https://github.com/libertininick\"\u003elibertininick\u003c/a\u003e), \u003ca href=\"https://bmdphd.info/\"\u003eBrian M. Dennis\u003c/a\u003e (@\u003ca href=\"https://github.com/crossjam\"\u003ecrossjam\u003c/a\u003e), Celebrity News AG (@\u003ca href=\"https://github.com/celebritynewsag\"\u003ecelebritynewsag\u003c/a\u003e), \u003ca href=\"https://westervelt.com\"\u003eThe Westervelt Company\u003c/a\u003e (@\u003ca href=\"https://github.com/westerveltco\"\u003ewesterveltco\u003c/a\u003e), \u003ca href=\"https://slafs.net\"\u003eSławomir Ehlert\u003c/a\u003e (@\u003ca href=\"https://github.com/slafs\"\u003eslafs\u003c/a\u003e), Mostafa Khalil (@\u003ca href=\"https://github.com/khadrawy\"\u003ekhadrawy\u003c/a\u003e), \u003ca href=\"https://fmularczyk.pl\"\u003eFilip Mularczyk\u003c/a\u003e (@\u003ca href=\"https://github.com/mukiblejlok\"\u003emukiblejlok\u003c/a\u003e), Thomas Klinger (@\u003ca href=\"https://github.com/thmsklngr\"\u003ethmsklngr\u003c/a\u003e), \u003ca href=\"https://poehlmann.io\"\u003eAndreas Poehlmann\u003c/a\u003e (@\u003ca href=\"https://github.com/ap--\"\u003eap--\u003c/a\u003e), \u003ca href=\"https://atbigelow.com\"\u003eAugust Trapper Bigelow\u003c/a\u003e (@\u003ca href=\"https://github.com/atbigelow\"\u003eatbigelow\u003c/a\u003e), \u003ca href=\"https://noumenal.es/\"\u003eCarlton Gibson\u003c/a\u003e (@\u003ca href=\"https://github.com/carltongibson\"\u003ecarltongibson\u003c/a\u003e), \u003ca href=\"https://roboflow.com\"\u003eRoboflow\u003c/a\u003e (@\u003ca href=\"https://github.com/roboflow\"\u003eroboflow\u003c/a\u003e), and Jeff McCarrell (@\u003ca href=\"https://github.com/jmccarrell\"\u003ejmccarrell\u003c/a\u003e).\u003c/p\u003e\n\u003ch2\u003eFull Changelog\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e's \u003cem\u003epad_event\u003c/em\u003e argument has been renamed to \u003cem\u003epad_event_to\u003c/em\u003e to differentiate it from the boolean \u003cem\u003epad_level\u003c/em\u003e argument. \u003cem\u003epad_event\u003c/em\u003e is now deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active()\u003c/code\u003e that returns the currently active \u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e now supports setting the \u003ccode\u003eexception_formatter\u003c/code\u003e attribute.\u003c/p\u003e\n\u003cp\u003eYou can now disable the pretty-printing of exceptions by setting it to \u003ccode\u003estructlog.dev.plain_traceback\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003ecr = structlog.dev.ConsoleRenderer.get_active()\ncr.exception_formatter = structlog.dev.plain_traceback\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSame goes for \u003cem\u003esort_keys\u003c/em\u003e, \u003cem\u003ecolumns\u003c/em\u003e, \u003cem\u003ecolors\u003c/em\u003e, \u003cem\u003eforce_colors\u003c/em\u003e, \u003cem\u003elevel_styles\u003c/em\u003e, \u003cem\u003epad_event_to\u003c/em\u003e, \u003cem\u003eevent_key\u003c/em\u003e, \u003cem\u003etimestamp_key\u003c/em\u003e, and \u003cem\u003erepr_native_str\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/756\"\u003e#756\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/757\"\u003e#757\u003c/a\u003e \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/759\"\u003e#759\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_default_column_styles()\u003c/code\u003e for reuse the default column styles. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/741\"\u003e#741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.testing.capture_logs()\u003c/code\u003e now optionally accepts \u003cem\u003eprocessors\u003c/em\u003e to apply before capture. \u003ca href=\"https://redirect.github.com/hynek/structlog/pull/728\"\u003e#728\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hynek/structlog/blob/main/CHANGELOG.md\"\u003estructlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e\u003ca href=\"https://github.com/hynek/structlog/compare/25.4.0...25.5.0\"\u003e25.5.0\u003c/a\u003e - 2025-10-27\u003c/h2\u003e\n\u003ch3\u003eDeprecated\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e's \u003cem\u003epad_event\u003c/em\u003e argument has been renamed to \u003cem\u003epad_event_to\u003c/em\u003e to differentiate it from the boolean \u003cem\u003epad_level\u003c/em\u003e argument.\n\u003cem\u003epad_event\u003c/em\u003e is now deprecated.\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eAdded\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_active()\u003c/code\u003e that returns the currently active \u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.ConsoleRenderer()\u003c/code\u003e now supports setting the \u003ccode\u003eexception_formatter\u003c/code\u003e attribute.\u003c/p\u003e\n\u003cp\u003eYou can now disable the pretty-printing of exceptions by setting it to \u003ccode\u003estructlog.dev.plain_traceback\u003c/code\u003e:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003ecr = structlog.dev.ConsoleRenderer.get_active()\ncr.exception_formatter = structlog.dev.plain_traceback\n\u003c/code\u003e\u003c/pre\u003e\n\u003cp\u003eSame goes for \u003cem\u003esort_keys\u003c/em\u003e, \u003cem\u003ecolumns\u003c/em\u003e, \u003cem\u003ecolors\u003c/em\u003e, \u003cem\u003eforce_colors\u003c/em\u003e, \u003cem\u003elevel_styles\u003c/em\u003e, \u003cem\u003epad_event_to\u003c/em\u003e, \u003cem\u003eevent_key\u003c/em\u003e, \u003cem\u003etimestamp_key\u003c/em\u003e, and \u003cem\u003erepr_native_str\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/749\"\u003e#749\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/756\"\u003e#756\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/757\"\u003e#757\u003c/a\u003e\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/759\"\u003e#759\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdded \u003ccode\u003estructlog.dev.ConsoleRenderer.get_default_column_styles()\u003c/code\u003e for reuse the default column styles.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/741\"\u003e#741\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.testing.capture_logs()\u003c/code\u003e now optionally accepts \u003cem\u003eprocessors\u003c/em\u003e to apply before capture.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/728\"\u003e#728\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.dev.RichTracebackFormatter\u003c/code\u003e now exposes the upstream \u003cem\u003ecode_width\u003c/em\u003e parameter.\nDefault \u003cem\u003ewidth\u003c/em\u003e is now \u003ccode\u003eNone\u003c/code\u003e for full terminal width.\nFull terminal width is now handled by Rich itself, bringing support for reflow and \u003ccode\u003eCOLUMN\u003c/code\u003e environment variable.\nPassing \u003ccode\u003e-1\u003c/code\u003e for \u003cem\u003ewidth\u003c/em\u003e is now deprecated and automatically replaced by \u003ccode\u003eNone\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/717\"\u003e#717\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eNative loggers now allow the passing of a dictionary for dictionary-based interpolation \u003ccode\u003elog.info(\u0026quot;hello %(name)s!\u0026quot;, {\u0026quot;name\u0026quot;: \u0026quot;world\u0026quot;})\u003c/code\u003e.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/748\"\u003e#748\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eOn Python 3.11+, \u003ccode\u003estructlog.processors.CallsiteParameterAdder\u003c/code\u003e now supports \u003ccode\u003eCallsiteParameter.QUAL_NAME\u003c/code\u003e that adds the qualified name of the callsite, including scope and class names.\nThis is only available for \u003cem\u003estructlog\u003c/em\u003e-originated events since the standard library has no equivalent.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003e\u003ccode\u003estructlog.stdlib.LoggerFactory\u003c/code\u003e now supports the \u003cem\u003estacklevel\u003c/em\u003e parameter.\n\u003ca href=\"https://redirect.github.com/hynek/structlog/pull/763\"\u003e#763\u003c/a\u003e\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/c0ef9e09e7a536cae65e33c1ac1c8b4e6a6f7511\"\u003e\u003ccode\u003ec0ef9e0\u003c/code\u003e\u003c/a\u003e Prepare 25.5.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/9cb662fe32046f92f08346c58089a2dcba7cb4bf\"\u003e\u003ccode\u003e9cb662f\u003c/code\u003e\u003c/a\u003e docs: nit\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/5400612735ad07bbe8ee9f2279f3040aa2e69ca4\"\u003e\u003ccode\u003e5400612\u003c/code\u003e\u003c/a\u003e docs/stdlib: add warning about ProcessorFormatter\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/1c2c19aa19c8f30330b76465b7a0d9993b9e8360\"\u003e\u003ccode\u003e1c2c19a\u003c/code\u003e\u003c/a\u003e Try validating pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/aca10f23dd12bd9e14cfe712f1ce66c9cb5f4400\"\u003e\u003ccode\u003eaca10f2\u003c/code\u003e\u003c/a\u003e Drop pretend dependency (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/766\"\u003e#766\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/3800d401db2c682c7c83b2d3eec38d81c9791f4d\"\u003e\u003ccode\u003e3800d40\u003c/code\u003e\u003c/a\u003e docs: use native\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/ecaa15ac6b166ebca9f2b4f5cfdb4c4ec138a602\"\u003e\u003ccode\u003eecaa15a\u003c/code\u003e\u003c/a\u003e stdlib: add support for stacklevel (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/763\"\u003e#763\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/7f7a221aed6bbff3c13cefd7effe14cc4f0cfc24\"\u003e\u003ccode\u003e7f7a221\u003c/code\u003e\u003c/a\u003e update dev (\u003ca href=\"https://redirect.github.com/hynek/structlog/issues/765\"\u003e#765\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/5acfc85e3c3fa821dc65b55a226900d40dc0831c\"\u003e\u003ccode\u003e5acfc85\u003c/code\u003e\u003c/a\u003e docs: 5% bigger still\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hynek/structlog/commit/c102862e3f30de84c898c4501418dede15056c6d\"\u003e\u003ccode\u003ec102862\u003c/code\u003e\u003c/a\u003e docs: bigger font\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hynek/structlog/compare/25.4.0...25.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-debug-toolbar` from 6.0.0 to 6.1.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/releases\"\u003edjango-debug-toolbar's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cp\u003eSee \u003ca href=\"https://django-debug-toolbar.readthedocs.io/en/latest/changes.html#:~:text=6.1.0%20(2025-10-30)\"\u003echange log here\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eCommits:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eAdded a note about the default password in make example by \u003ca href=\"https://github.com/abdibaker\"\u003e\u003ccode\u003e@​abdibaker\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2180\"\u003edjango-commons/django-debug-toolbar#2180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eRemoved logging about the toolbar failing to serialize a value into JSON by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2181\"\u003edjango-commons/django-debug-toolbar#2181\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eExplicitly call out the selenium job in the GitHub actions matrix by \u003ca href=\"https://github.com/matthiask\"\u003e\u003ccode\u003e@​matthiask\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2182\"\u003edjango-commons/django-debug-toolbar#2182\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: move the import statement of \u003ccode\u003edebug_toolbar_urls\u003c/code\u003e to inside of … by \u003ca href=\"https://github.com/Lidoca\"\u003e\u003ccode\u003e@​Lidoca\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2174\"\u003edjango-commons/django-debug-toolbar#2174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eChanged StoredDebugToolbar.from_store to always create panel keys. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2196\"\u003edjango-commons/django-debug-toolbar#2196\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Community Panel by \u003ca href=\"https://github.com/alan-rosenberg\"\u003e\u003ccode\u003e@​alan-rosenberg\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2193\"\u003edjango-commons/django-debug-toolbar#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded support for async to timer panel by \u003ca href=\"https://github.com/Zakui\"\u003e\u003ccode\u003e@​Zakui\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2197\"\u003edjango-commons/django-debug-toolbar#2197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd Python 3.14 to CI workflow matrix by \u003ca href=\"https://github.com/cclauss\"\u003e\u003ccode\u003e@​cclauss\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2208\"\u003edjango-commons/django-debug-toolbar#2208\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs/add docs generation guide by \u003ca href=\"https://github.com/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2220\"\u003edjango-commons/django-debug-toolbar#2220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: Add spell checking prerequisites for building documentation by \u003ca href=\"https://github.com/JohananOppongAmoateng\"\u003e\u003ccode\u003e@​JohananOppongAmoateng\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2222\"\u003edjango-commons/django-debug-toolbar#2222\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003ePostgis upgrade from 14-3.1 to 17.3.5 by \u003ca href=\"https://github.com/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2224\"\u003edjango-commons/django-debug-toolbar#2224\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the transifex link for the project. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2229\"\u003edjango-commons/django-debug-toolbar#2229\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate the translatable strings. by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2230\"\u003edjango-commons/django-debug-toolbar#2230\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix django unicode error by \u003ca href=\"https://github.com/jmgutu\"\u003e\u003ccode\u003e@​jmgutu\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2217\"\u003edjango-commons/django-debug-toolbar#2217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003emake doc corrections for django channels by \u003ca href=\"https://github.com/Chiemezuo\"\u003e\u003ccode\u003e@​Chiemezuo\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2232\"\u003edjango-commons/django-debug-toolbar#2232\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport hiding migrations and models when not using the DatabaseStore by \u003ca href=\"https://github.com/tim-schilling\"\u003e\u003ccode\u003e@​tim-schilling\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2236\"\u003edjango-commons/django-debug-toolbar#2236\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/abdibaker\"\u003e\u003ccode\u003e@​abdibaker\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2180\"\u003edjango-commons/django-debug-toolbar#2180\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Lidoca\"\u003e\u003ccode\u003e@​Lidoca\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2174\"\u003edjango-commons/django-debug-toolbar#2174\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/alan-rosenberg\"\u003e\u003ccode\u003e@​alan-rosenberg\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2193\"\u003edjango-commons/django-debug-toolbar#2193\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Zakui\"\u003e\u003ccode\u003e@​Zakui\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2197\"\u003edjango-commons/django-debug-toolbar#2197\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/okotdaniel\"\u003e\u003ccode\u003e@​okotdaniel\u003c/code\u003e\u003c/a\u003e :rocket: made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2220\"\u003edjango-commons/django-debug-toolbar#2220\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/JohananOppongAmoateng\"\u003e\u003ccode\u003e@​JohananOppongAmoateng\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2222\"\u003edjango-commons/django-debug-toolbar#2222\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jmgutu\"\u003e\u003ccode\u003e@​jmgutu\u003c/code\u003e\u003c/a\u003e :rocket: made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2217\"\u003edjango-commons/django-debug-toolbar#2217\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/Chiemezuo\"\u003e\u003ccode\u003e@​Chiemezuo\u003c/code\u003e\u003c/a\u003e :rocket: made their first contribution in \u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/pull/2232\"\u003edjango-commons/django-debug-toolbar#2232\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changes\u003c/strong\u003e: \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/compare/6.0.0...6.1.0\"\u003ehttps://github.com/django-commons/django-debug-toolbar/compare/6.0.0...6.1.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/django-commons/django-debug-toolbar/blob/main/docs/changes.rst\"\u003edjango-debug-toolbar's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e6.1.0 (2025-10-30)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded support for async to timer panel.\u003c/li\u003e\n\u003cli\u003eAdded a note about the default password in \u003ccode\u003emake example\u003c/code\u003e.\u003c/li\u003e\n\u003cli\u003eRemoved logging about the toolbar failing to serialize a value into JSON.\u003c/li\u003e\n\u003cli\u003eMoved the the import statement of \u003ccode\u003edebug_toolbar.urls\u003c/code\u003e to within the if\nstatement's scope on the installation documentation.\u003c/li\u003e\n\u003cli\u003eChanged \u003ccode\u003eStoredDebugToolbar.from_store\u003c/code\u003e to always create a panel key and\nclass instance, regardless if any data was generated.\u003c/li\u003e\n\u003cli\u003eFixed selenium tests for CI by using psycopg for Python 3.13 runs.\u003c/li\u003e\n\u003cli\u003eAdded \u003ccode\u003eCommunityPanel\u003c/code\u003e containing links to documentation and resources.\u003c/li\u003e\n\u003cli\u003eUpgraded CI \u003ccode\u003epostgis\u003c/code\u003e version to 17-3.5.\u003c/li\u003e\n\u003cli\u003eAdded how to generate the documentation locally to the contributing\ndocumentation.\u003c/li\u003e\n\u003cli\u003eUpdated logic that forces values to strings (\u003ccode\u003eforce_str\u003c/code\u003e) to render\n\u0026quot;Django Debug Toolbar was unable to parse value.\u0026quot; when there's a decoding\nerror.\u003c/li\u003e\n\u003cli\u003eUpdated docs to show incompatibility with Django Channels.\u003c/li\u003e\n\u003cli\u003eHide the toolbar's migrations unless \u003ccode\u003edebug_toolbar.store.DatabaseStore\u003c/code\u003e\nis being used. This may change in the future.\u003c/li\u003e\n\u003cli\u003eHide \u003ccode\u003edebug_toolbar.HistoryEntry\u003c/code\u003e as a model unless\n\u003ccode\u003edebug_toolbar.store.DatabaseStore\u003c/code\u003e is being used. This may change in the\nfuture.\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/6ef77a16b942dac293d65b93407bdf9dab3876ce\"\u003e\u003ccode\u003e6ef77a1\u003c/code\u003e\u003c/a\u003e Version 6.1.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/0b809d52e6156ab7aca8c9079f6076b571ddb08d\"\u003e\u003ccode\u003e0b809d5\u003c/code\u003e\u003c/a\u003e Support hiding migrations and models when not using the DatabaseStore (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2236\"\u003e#2236\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/45bc2db3bbd5b7ec8d1f7b31ba32e5a2323a5d16\"\u003e\u003ccode\u003e45bc2db\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/9d569dd84a9a9de4d567cd031a8dc17c1a517cad\"\u003e\u003ccode\u003e9d569dd\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 3 updates\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/65722213e71bcace0a5e1f25b2ea208873576a85\"\u003e\u003ccode\u003e6572221\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/875d58163efd050a8255e69bf3ea2c376d7219be\"\u003e\u003ccode\u003e875d581\u003c/code\u003e\u003c/a\u003e Make doc corrections for django channels (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2232\"\u003e#2232\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/62ef5021a033c43a6d0ae418f16be1fd3e420cee\"\u003e\u003ccode\u003e62ef502\u003c/code\u003e\u003c/a\u003e Fix django unicode error (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2217\"\u003e#2217\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/24e9065e937e10bacecc1c24d1d89531a4d75a81\"\u003e\u003ccode\u003e24e9065\u003c/code\u003e\u003c/a\u003e Update the translatable strings.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/6139fd0e8c474576e9efa8aeafa99b00c8a028b0\"\u003e\u003ccode\u003e6139fd0\u003c/code\u003e\u003c/a\u003e Update the transifex link for the project.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django-commons/django-debug-toolbar/commit/35834f827ca3bb7773863ce4eb105d9d51f85cbb\"\u003e\u003ccode\u003e35834f8\u003c/code\u003e\u003c/a\u003e [pre-commit.ci] pre-commit autoupdate (\u003ca href=\"https://redirect.github.com/django-commons/django-debug-toolbar/issues/2226\"\u003e#2226\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django-...\n\n_Description has been truncated_","html_url":"https://github.com/tlambert03/FPbase/pull/330","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/tlambert03%2FFPbase/issues/330","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/330/packages"}},{"old_version":"9.1.1","new_version":"10.0.0","update_type":"major","path":null,"pr_created_at":"2025-10-31T09:31:56.000Z","version_change":"9.1.1 → 10.0.0","issue":{"uuid":"3574113222","node_id":"PR_kwDOFJx1486wyg_e","number":456,"state":"open","title":"chore(deps): bump the dependencies group across 2 directories with 14 updates","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":["matmair"],"locked":false,"comments_count":1,"pull_request":true,"closed_at":null,"author_association":null,"state_reason":null,"created_at":"2025-10-31T09:31:56.000Z","updated_at":"2025-10-31T09:32:13.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps): bump","group_name":"dependencies","update_count":14,"packages":[{"name":"django","old_version":"4.2.25","new_version":"5.2.7","repository_url":"https://github.com/django/django"},{"name":"django-filter","old_version":"25.1","new_version":"25.2","repository_url":"https://github.com/carltongibson/django-filter"},{"name":"django-structlog","old_version":"9.1.1","new_version":"10.0.0","repository_url":"https://github.com/jrobichaud/django-structlog"},{"name":"dulwich","old_version":"0.24.1","new_version":"0.24.8","repository_url":"https://github.com/dulwich/dulwich"},{"name":"pint","old_version":"0.24.4","new_version":"0.25","repository_url":"https://github.com/hgrecco/pint"},{"name":"python-dotenv","old_version":"1.1.1","new_version":"1.2.1","repository_url":"https://github.com/theskumar/python-dotenv"},{"name":"sentry-sdk","old_version":"2.42.1","new_version":"2.43.0","repository_url":"https://github.com/getsentry/sentry-python"},{"name":"django-stubs","old_version":"5.1.3","new_version":"5.2.7","repository_url":"https://github.com/sponsors/typeddjango"},{"name":"django-test-migrations","old_version":"1.4.0","new_version":"1.5.0","repository_url":"https://github.com/wemake-services/django-test-migrations"},{"name":"django-types","old_version":"0.20.0","new_version":"0.22.0","repository_url":"https://github.com/sbdchd/django-types"},{"name":"isort","old_version":"6.1.0","new_version":"7.0.0","repository_url":"https://github.com/PyCQA/isort"},{"name":"ty","old_version":"0.0.1a21","new_version":"0.0.1a25","repository_url":"https://github.com/astral-sh/ty"}],"path":null,"ecosystem":"pip"},"body":"Bumps the dependencies group with 1 update in the /docs directory: [mkdocs-macros-plugin](https://github.com/fralau/mkdocs_macros_plugin).\nBumps the dependencies group with 12 updates in the /src/backend directory:\n\n| Package | From | To |\n| --- | --- | --- |\n| [django](https://github.com/django/django) | `4.2.25` | `5.2.7` |\n| [django-filter](https://github.com/carltongibson/django-filter) | `25.1` | `25.2` |\n| [django-structlog](https://github.com/jrobichaud/django-structlog) | `9.1.1` | `10.0.0` |\n| [dulwich](https://github.com/dulwich/dulwich) | `0.24.1` | `0.24.8` |\n| [pint](https://github.com/hgrecco/pint) | `0.24.4` | `0.25` |\n| [python-dotenv](https://github.com/theskumar/python-dotenv) | `1.1.1` | `1.2.1` |\n| [sentry-sdk](https://github.com/getsentry/sentry-python) | `2.42.1` | `2.43.0` |\n| [django-stubs](https://github.com/sponsors/typeddjango) | `5.1.3` | `5.2.7` |\n| [django-test-migrations](https://github.com/wemake-services/django-test-migrations) | `1.4.0` | `1.5.0` |\n| [django-types](https://github.com/sbdchd/django-types) | `0.20.0` | `0.22.0` |\n| [isort](https://github.com/PyCQA/isort) | `6.1.0` | `7.0.0` |\n| [ty](https://github.com/astral-sh/ty) | `0.0.1a21` | `0.0.1a25` |\n\n\nUpdates `mkdocs-macros-plugin` from 1.4.0 to 1.4.1\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/blob/master/CHANGELOG.md\"\u003emkdocs-macros-plugin's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e1.4.1, 2025-10-18\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eAdded: support for j2_extensions paramater in config file (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed: missing dependency declaration on \u003ccode\u003erequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/a93a1f74402b5d632acbab35a77d5171eb5d0e6d\"\u003e\u003ccode\u003ea93a1f7\u003c/code\u003e\u003c/a\u003e Update CHANGELOG for version 1.4.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/a76d62bf02f66cc9090cb8b266df738f97c1c80b\"\u003e\u003ccode\u003ea76d62b\u003c/code\u003e\u003c/a\u003e Add documentation for jinja2_extensions (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/272\"\u003e#272\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/9a329bc2c44af538556c840530d65266ee02ec44\"\u003e\u003ccode\u003e9a329bc\u003c/code\u003e\u003c/a\u003e Merge branch 'master' of \u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin\"\u003ehttps://github.com/fralau/mkdocs-macros-plugin\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/2eaf0330e74c458d6ec348a212a94dd7199a89e5\"\u003e\u003ccode\u003e2eaf033\u003c/code\u003e\u003c/a\u003e Update post_production.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/c6ea72ac8d57f3a750891953fa00ad0ffa683ea8\"\u003e\u003ccode\u003ec6ea72a\u003c/code\u003e\u003c/a\u003e Enable j2 extensions in mkdocs-macros without false-positive warning (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/273\"\u003e#273\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/fralau/mkdocs-macros-plugin/commit/51a3afc4868838f2c0e5f69485e74264cf173af8\"\u003e\u003ccode\u003e51a3afc\u003c/code\u003e\u003c/a\u003e Add dependency on \u003ccode\u003erequests\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/fralau/mkdocs_macros_plugin/issues/269\"\u003e#269\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/fralau/mkdocs_macros_plugin/compare/v1.4.0...v1.4.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django` from 4.2.25 to 5.2.7\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/3cff3209e35a560f94801d428cf7f2a3ecb2a051\"\u003e\u003ccode\u003e3cff320\u003c/code\u003e\u003c/a\u003e [5.2.x] Bumped version for 5.2.7 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/ed8fc39d77465eddbde1191a054ae965f6a8a584\"\u003e\u003ccode\u003eed8fc39\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-59682 -- Fixed potential partial directory-traversal v...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/52fbae0a4dbbe5faa59827f8f05694a0065cc135\"\u003e\u003ccode\u003e52fbae0\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed CVE-2025-59681 -- Protected QuerySet.annotate(), alias(), aggre...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/1794cbf961f9ea54715fb094fe8adc80a5054947\"\u003e\u003ccode\u003e1794cbf\u003c/code\u003e\u003c/a\u003e [5.2.x] Made cosmetic edits to 5.2.7 release notes.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/81625a141e1feaaea877fc18876fdd7b6394442c\"\u003e\u003ccode\u003e81625a1\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36587\"\u003e#36587\u003c/a\u003e -- Clarified usage of \u003ccode\u003elist.insert()\u003c/code\u003e for upload handlers.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/6f3813e4b6e3db7fa3cc612c78f898142468bca9\"\u003e\u003ccode\u003e6f3813e\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/35877\"\u003e#35877\u003c/a\u003e, Refs \u003ca href=\"https://redirect.github.com/django/django/issues/36128\"\u003e#36128\u003c/a\u003e -- Documented unique constraint when migrat...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/10a2d3b837c5d8c1ac0cabd399ad7edcc66bfa8e\"\u003e\u003ccode\u003e10a2d3b\u003c/code\u003e\u003c/a\u003e [5.2.x] Added stub release notes and release date for 5.2.7, 5.1.13, and 4.2.25.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/b2773a39a34f0f0ca768fa1daaf8bf72fca56e06\"\u003e\u003ccode\u003eb2773a3\u003c/code\u003e\u003c/a\u003e [5.2.x] Refs \u003ca href=\"https://redirect.github.com/django/django/issues/25508\"\u003e#25508\u003c/a\u003e -- Used QuerySet.\u003cstrong\u003erepr\u003c/strong\u003e in docs/ref/contrib/postgres/se...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/7554c54e5f02566520dee81c8b95f47429f1b553\"\u003e\u003ccode\u003e7554c54\u003c/code\u003e\u003c/a\u003e [5.2.x] Fixed \u003ca href=\"https://redirect.github.com/django/django/issues/36581\"\u003e#36581\u003c/a\u003e -- Updated serialization examples from XML to JSON.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/django/django/commit/2a2936c3e6444a0f37156773ca405cedaf28dea7\"\u003e\u003ccode\u003e2a2936c\u003c/code\u003e\u003c/a\u003e [5.2.x] Updated translations from Transifex.\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/django/django/compare/4.2.25...5.2.7\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `setuptools` from 80.9.0 to \n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/pypa/setuptools/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-filter` from 25.1 to 25.2\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst\"\u003edjango-filter's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 25.2 (2025-10-05)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdded testing for Django 6.0.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Django \u0026lt;5.2 LTS\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDropped support for Python 3.9.\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/17ec565554bea4119ad74d2ffccdfb9740d9845b\"\u003e\u003ccode\u003e17ec565\u003c/code\u003e\u003c/a\u003e Bumped version for 25.2 release.\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/9b4b8fdbfe84d471b2e69b7b28faacdd0dca2661\"\u003e\u003ccode\u003e9b4b8fd\u003c/code\u003e\u003c/a\u003e Updated testing for Django 6.0. (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1730\"\u003e#1730\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/1b07b3e4c22354af31f3dcbaf4337566d7803fd4\"\u003e\u003ccode\u003e1b07b3e\u003c/code\u003e\u003c/a\u003e Bump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1726\"\u003e#1726\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/27a116864880a503b869c87a61e3e3ee597dae42\"\u003e\u003ccode\u003e27a1168\u003c/code\u003e\u003c/a\u003e Bump the github-actions group with 2 updates (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1722\"\u003e#1722\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7f59b6f092dadee749540a93c760f84fe5e08b9f\"\u003e\u003ccode\u003e7f59b6f\u003c/code\u003e\u003c/a\u003e Add drf as optional dependencies (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1724\"\u003e#1724\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/635343ec55c9928bfa297314711df77fa83ff6c7\"\u003e\u003ccode\u003e635343e\u003c/code\u003e\u003c/a\u003e Add reference anchors to filter types to facilitate intersphinx refs (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1706\"\u003e#1706\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/carltongibson/django-filter/commit/7b3176e2ea05a42f2684296733004579f6dcece5\"\u003e\u003ccode\u003e7b3176e\u003c/code\u003e\u003c/a\u003e Document steps for postgres full text search (\u003ca href=\"https://redirect.github.com/carltongibson/django-filter/issues/1704\"\u003e#1704\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/carltongibson/django-filter/compare/25.1...25.2\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-structlog` from 9.1.1 to 10.0.0\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e10.0.0 (October 22, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- Add 5xx and cancelled request log level config. See \u003ccode\u003e[#935](https://github.com/jrobichaud/django-structlog/issues/935) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/935\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@fcortes \u0026lt;https://github.com/fcortes\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- Add python 3.14 support. See \u003ccode\u003e[#937](https://github.com/jrobichaud/django-structlog/issues/937) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/937\u0026gt;\u003c/code\u003e_.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eChanges:\u003c/em\u003e\n- Drop python 3.9 support.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/6c2feb502016a7c841f695f8aa092ea8a9c18b23\"\u003e\u003ccode\u003e6c2feb5\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/938\"\u003e#938\u003c/a\u003e from jrobichaud/fix-readme\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/efcd704ff7c7c94df85249eeb332ec3a9d0d65e1\"\u003e\u003ccode\u003eefcd704\u003c/code\u003e\u003c/a\u003e fix error in readme (gotta add a checker)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fa277f694c4d2c59685a84423be48a07610162df\"\u003e\u003ccode\u003efa277f6\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/937\"\u003e#937\u003c/a\u003e from jrobichaud/python-3.14\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/238d813471f5e85aa27f0d76b857e475db0cfa58\"\u003e\u003ccode\u003e238d813\u003c/code\u003e\u003c/a\u003e Fix mypy regression when dropping 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/ee56156cf6896bfc0f829b6a08af41bc61dd7f6d\"\u003e\u003ccode\u003eee56156\u003c/code\u003e\u003c/a\u003e Add python 3.14 support\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/f46461e756a59081f178e189b9883bc46707e03c\"\u003e\u003ccode\u003ef46461e\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/936\"\u003e#936\u003c/a\u003e from jrobichaud/update-changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/c76d11fffb4c95ebfc7e63755d8551f0016eaa59\"\u003e\u003ccode\u003ec76d11f\u003c/code\u003e\u003c/a\u003e update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/fbc9dea000e512c0ed485ce64c62b75d043d20ff\"\u003e\u003ccode\u003efbc9dea\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/935\"\u003e#935\u003c/a\u003e from fcortes/add-access-log-level-config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a86d073cba6a8c8bf343fc7d08f827028baba20e\"\u003e\u003ccode\u003ea86d073\u003c/code\u003e\u003c/a\u003e feat(env): add REQUEST_CANCELLED_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/92684015dcbb4f82bf7533109fbe144389304ad3\"\u003e\u003ccode\u003e9268401\u003c/code\u003e\u003c/a\u003e feat(env): add STATUX_5XX_LOG_LEVEL config\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.1.1...10.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `dulwich` from 0.24.1 to 0.24.8\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/dulwich/dulwich/releases\"\u003edulwich's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.24.7\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUse make_commit() from test utils in test files by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1943\"\u003ejelmer/dulwich#1943\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnhance fetch with missing options by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1944\"\u003ejelmer/dulwich#1944\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd sparse index support for improved performance with large repositories by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1946\"\u003ejelmer/dulwich#1946\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix SSH connections with custom ssh command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1947\"\u003ejelmer/dulwich#1947\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eWork around typing module bug in Python 3.9.0/3.9.1 by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1949\"\u003ejelmer/dulwich#1949\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAnd support for local files in LFS by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1953\"\u003ejelmer/dulwich#1953\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for core.fsyncObjectFiles configuration option by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1954\"\u003ejelmer/dulwich#1954\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd bitmap support by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1952\"\u003ejelmer/dulwich#1952\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.6...dulwich-0.24.7\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.6...dulwich-0.24.7\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.6\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eRestore pool_manager parameter to transport functions by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1929\"\u003ejelmer/dulwich#1929\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSupport show-branch by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1931\"\u003ejelmer/dulwich#1931\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git mailsplit command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1930\"\u003ejelmer/dulwich#1930\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd dulwich config CLI command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1933\"\u003ejelmer/dulwich#1933\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git cherry command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1932\"\u003ejelmer/dulwich#1932\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eEnsure files are closed by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1935\"\u003ejelmer/dulwich#1935\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for octopus merge strategy by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1934\"\u003ejelmer/dulwich#1934\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd convenience functions for dealing with refs by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1937\"\u003ejelmer/dulwich#1937\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement recursive merge strategy for handling multiple merge bases by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1936\"\u003ejelmer/dulwich#1936\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for git grep command by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1938\"\u003ejelmer/dulwich#1938\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix import failure when sys.stdin is None by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1940\"\u003ejelmer/dulwich#1940\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eImplement git reflog expire and delete commands by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1941\"\u003ejelmer/dulwich#1941\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.5...dulwich-0.24.6\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.5...dulwich-0.24.6\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.5\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix LFS status tests cleanup issue on Windows Python 3.14 by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1924\"\u003ejelmer/dulwich#1924\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix HTTP authentication with credentials in URLs by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1926\"\u003ejelmer/dulwich#1926\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/jelmer/dulwich/compare/dulwich-0.24.4...dulwich-0.24.5\"\u003ehttps://github.com/jelmer/dulwich/compare/dulwich-0.24.4...dulwich-0.24.5\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003e0.24.4\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix pypi publish action version by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1890\"\u003ejelmer/dulwich#1890\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd remaining typing by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1891\"\u003ejelmer/dulwich#1891\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDisable android wheels build, which currently fails due to 403s on by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1892\"\u003ejelmer/dulwich#1892\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix typing by \u003ca href=\"https://github.com/jelmer\"\u003e\u003ccode\u003e@​jelmer\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1893\"\u003ejelmer/dulwich#1893\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps(deps): bump memchr from 2.7.5 to 2.7.6 in the cargo group by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1901\"\u003ejelmer/dulwich#1901\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(deps): bump actions/upload-artifact from 4.5.0 to 4.6.2 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1900\"\u003ejelmer/dulwich#1900\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edeps(deps): bump the pip group with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1902\"\u003ejelmer/dulwich#1902\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eci(deps): bump docker/setup-qemu-action from 3.2.0 to 3.6.0 by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/jelmer/dulwich/pull/1899\"\u003ejelmer/dulwich#1899\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jelmer/dulwich/blob/master/NEWS\"\u003edulwich's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.24.8\t2025-1029\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eAdd Rust implementation of pack delta creation (create_delta). The\nimplementation uses the similar crate for efficient diff computation.\n(Jelmer Vernooĳ)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eExtend \u003ccode\u003ehttp.extraHeader\u003c/code\u003e configuration to support per-URL settings.\nAllows configuring different HTTP headers for specific URLs using\n\u003ccode\u003ehttp.\u0026lt;url\u0026gt;.extraHeader\u003c/code\u003e syntax, enabling authentication in CI/CD\nenvironments like GitHub Actions. More specific URL configurations\noverride less specific ones.  (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/882\"\u003e#882\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003eGIT_REFLOG_ACTION\u003c/code\u003e environment variable in porcelain\nfunctions. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1811\"\u003e#1811\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for namespace isolation via \u003ccode\u003eNamespacedRefsContainer\u003c/code\u003e.\nImplements Git's namespace feature for isolating refs within a single\nrepository using the \u003ccode\u003erefs/namespaces/\u003c/code\u003e prefix. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1809\"\u003e#1809\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for GIT_FLUSH environment variable to control output buffering\nin CLI commands. When GIT_FLUSH=1, output is flushed after each write for\nreal-time visibility. (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1810\"\u003e#1810\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement \u003ccode\u003edulwich interpret-trailers\u003c/code\u003e functionality to parse and manipulate\nstructured metadata (trailers) in commit messages. Adds \u003ccode\u003eporcelain.interpret_trailers()\u003c/code\u003e\nwith support for parsing, adding, replacing, and formatting trailers. Also fixes\nthe \u003ccode\u003esignoff\u003c/code\u003e parameter in \u003ccode\u003eporcelain.commit()\u003c/code\u003e to add \u003ccode\u003eSigned-off-by\u003c/code\u003e trailers.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1826\"\u003e#1826\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for recursive submodule updates via \u003ccode\u003e--recursive\u003c/code\u003e flag in\n\u003ccode\u003edulwich submodule update\u003c/code\u003e command and \u003ccode\u003erecursive\u003c/code\u003e parameter in\n\u003ccode\u003eporcelain.submodule_update()\u003c/code\u003e.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1813\"\u003e#1813\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003egit maintenance\u003c/code\u003e command to optimize Git repository data.\nImplements gc, commit-graph, loose-objects, incremental-repack, pack-refs, and\nprefetch tasks. Supports automatic maintenance with \u003ccode\u003e--auto\u003c/code\u003e flag and task-specific\nconfiguration. (Jelmer Vernooĳ)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd support for \u003ccode\u003edulwich replace\u003c/code\u003e command to create refs that replace objects.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1834\"\u003e#1834\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eImplement advanced Git object specification support: index path lookup (\u003ccode\u003e:\u003c/code\u003e, \u003ccode\u003e:0:\u003c/code\u003e,\n\u003ccode\u003e:1:\u003c/code\u003e, \u003ccode\u003e:2:\u003c/code\u003e, \u003ccode\u003e:3:\u003c/code\u003e) for accessing files from the index and merge stages, and\nreflog time specifications (\u003ccode\u003e@{time}\u003c/code\u003e) using Git's approxidate format (e.g.,\n\u003ccode\u003eHEAD@{yesterday}`, \u003c/code\u003emaster@{2.weeks.ago}``). (Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1783\"\u003e#1783\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eAdd \u003ccode\u003edulwich stripspace\u003c/code\u003e command to remove unnecessary whitespace from text.\n(Jelmer Vernooĳ, \u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1838\"\u003e#1838\u003c/a\u003e)\u003c/p\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/0793d023de8314426c5e5e2e2e1cda823d51eb36\"\u003e\u003ccode\u003e0793d02\u003c/code\u003e\u003c/a\u003e release 0.24.8\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/f146cc4a14f0ca3089ab00e9c1be4585f3df78ef\"\u003e\u003ccode\u003ef146cc4\u003c/code\u003e\u003c/a\u003e Bump typing-extensions (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1974\"\u003e#1974\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/802c63e5f7d55ee4e7b443c80343b8ffa207725b\"\u003e\u003ccode\u003e802c63e\u003c/code\u003e\u003c/a\u003e Make generate_pack_data() arguments consistent and keyword-only (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1972\"\u003e#1972\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/b31a6cfee42f0c04f033c73e3220e562c0ec6423\"\u003e\u003ccode\u003eb31a6cf\u003c/code\u003e\u003c/a\u003e Bump typing-extensions\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/5b154847c7844495ea3753bae6fceac3180fbbb4\"\u003e\u003ccode\u003e5b15484\u003c/code\u003e\u003c/a\u003e Make generate_pack_data() arguments consistent and keyword-only\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/a5c62c4922584a8633a7256240ad28a9f7a5af76\"\u003e\u003ccode\u003ea5c62c4\u003c/code\u003e\u003c/a\u003e Add support for GIT_REFLOG_ACTION environment variable (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1971\"\u003e#1971\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/5e1a7093836ca94ef64648c8f1169b65b6aa1a5c\"\u003e\u003ccode\u003e5e1a709\u003c/code\u003e\u003c/a\u003e Add support for GIT_REFLOG_ACTION environment variable\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/12a5f0c460886272e0cba915d29f0985689b1ce1\"\u003e\u003ccode\u003e12a5f0c\u003c/code\u003e\u003c/a\u003e Add per-URL http.extraHeader configuration support (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1969\"\u003e#1969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/11c1051b979ea3b463cca71d22843cede90d0379\"\u003e\u003ccode\u003e11c1051\u003c/code\u003e\u003c/a\u003e Drop authors (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1970\"\u003e#1970\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jelmer/dulwich/commit/406fad90cb3a10a9dfdcd945901285a4d572a71e\"\u003e\u003ccode\u003e406fad9\u003c/code\u003e\u003c/a\u003e Fix TypeError when passing refspec to clone() (\u003ca href=\"https://redirect.github.com/dulwich/dulwich/issues/1968\"\u003e#1968\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/dulwich/dulwich/compare/dulwich-0.24.1...dulwich-0.24.8\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `pint` from 0.24.4 to 0.25\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/hgrecco/pint/blob/master/CHANGES\"\u003epint's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003ePint Changelog\u003c/h1\u003e\n\u003ch2\u003e0.26.0 (unreleased)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFix raising exception in \u003ccode\u003eQuantity.from_tuple\u003c/code\u003e with invalid units (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2199\"\u003e#2199\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd devcontainer.json to add GitHub Codespace support (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2208\"\u003e#2208\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003enumpy.geomspace\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2206\"\u003e#2206\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003elinalg.diagonal\u003c/code\u003e, \u003ccode\u003elinalg.matrix_transpose\u003c/code\u003e, \u003ccode\u003ediag\u003c/code\u003e, \u003ccode\u003etril\u003c/code\u003e, \u003ccode\u003etriu\u003c/code\u003e, \u003ccode\u003elinalg.eigvals\u003c/code\u003e, \u003ccode\u003elinalg.eigvalsh\u003c/code\u003e, \u003ccode\u003elinalg.matrix_norm\u003c/code\u003e and \u003ccode\u003elinalg.vector_norm\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2210\"\u003e#2210\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAn example of performing currency conversions that change over time has been added to the docs. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2240\"\u003e#2240\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd support for \u003ccode\u003epint.Quantity\u003c/code\u003e being used as Generic.\u003c/li\u003e\n\u003cli\u003eFixed \u003ccode\u003enan\u003c/code\u003e/\u003ccode\u003enan\u003c/code\u003e to return \u003ccode\u003enan\u003c/code\u003e rather than 1 in unit conversion (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2228\"\u003e#2228\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e0.25.0 (2025-08-25)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump minimum Python version to 3.11.\u003c/li\u003e\n\u003cli\u003eUpgrade code to Python 3.11.\u003c/li\u003e\n\u003cli\u003eMove to pixi/uv/ruff.\u003c/li\u003e\n\u003cli\u003eRefactor compat to make it easier to test.\u003c/li\u003e\n\u003cli\u003eImplemented several pixi environment and tasks to simplify development.\u003c/li\u003e\n\u003cli\u003eAdd docs to the functions in \u003ccode\u003epint.testing\u003c/code\u003e (PR \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2070\"\u003e#2070\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix round function returning float instead of int (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2081\"\u003e#2081\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix return type of \u003ccode\u003ePlainQuantity.to\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2088\"\u003e#2088\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate constants to CODATA 2022 recommended values. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2049\"\u003e#2049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue with \u003ccode\u003e.to_compact\u003c/code\u003e and Magnitudes with uncertainties / Quantities with units (PR \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2069\"\u003e#2069\u003c/a\u003e, issue \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2044\"\u003e#2044\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFixed issue in unit conversion which led to loss of precision when using \u003ccode\u003edecimal\u003c/code\u003e. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2107\"\u003e#2107\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd conductivity dimension. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2112\"\u003e#2112\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd absorbance unit and dimension. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2114\"\u003e#2114\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd membrane filtration flux and permeability dimensionality, and shorthand \u0026quot;LMH\u0026quot;. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2116\"\u003e#2116\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix find_shortest_path to use breadth first search (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2146\"\u003e#2146\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix typo in \u003ccode\u003epyproject.toml\u003c/code\u003e: rename \u003ccode\u003eAS_MIP\u003c/code\u003e to \u003ccode\u003eHAS_MIP\u003c/code\u003e so that MIP support is correctly detected. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2152\"\u003e#2152\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix handling of extra arguments in conversion with enabled contexts (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2172\"\u003e#2172\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix swapped left and right arguments in interp (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2187\"\u003e#2187\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix formatted scientific notation bug in Python 3.13 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2168\"\u003e#2168\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix ability to add dB units, and to add dB (dimensionless) to referenced dB units, such as dBm or dBW (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1160\"\u003e#1160\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove pressure unit definitions in default definition file (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2186\"\u003e#2186\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid and document known issues with MIP during install, testing and runtime (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2121\"\u003e#2121\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix issue with Dask by restricting its version to \u0026lt; 2025.3.0 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and Dask \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1016\"\u003e#1016\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSkip false xfail tests linked to a known numpy issue (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/1776\"\u003e#1776\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003eContributing\u003c/code\u003e documentation (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd \u003ccode\u003eQuantity.to_unprefixed\u003c/code\u003e and \u003ccode\u003eito_unprefixed\u003c/code\u003e methods that remove SI prefixes without converting to base units. (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2201\"\u003e#2201\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/20e3dd37ac46acae0fd7aaef144869acf03c4787\"\u003e\u003ccode\u003e20e3dd3\u003c/code\u003e\u003c/a\u003e Preparing for release 0.25\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/88f2ff02921b6fae82185c966a865a6fa592ed12\"\u003e\u003ccode\u003e88f2ff0\u003c/code\u003e\u003c/a\u003e fix ci (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2204\"\u003e#2204\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/084a07f327174f5ef4d8315f650cea338c6c6684\"\u003e\u003ccode\u003e084a07f\u003c/code\u003e\u003c/a\u003e to_unprefixed (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2201\"\u003e#2201\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/40034593b803ce4fb48d755d3ac55f14fa8cd1dd\"\u003e\u003ccode\u003e4003459\u003c/code\u003e\u003c/a\u003e Improve MIP issue management (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e and \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2121\"\u003e#2121\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2198\"\u003e#2198\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/268e06d963cb299756b97fbe9843fa9af04a1f75\"\u003e\u003ccode\u003e268e06d\u003c/code\u003e\u003c/a\u003e Improve default pressure unit definitions (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2186\"\u003e#2186\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2196\"\u003e#2196\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/1618828146208cf43cea7d6b9baa550074739235\"\u003e\u003ccode\u003e1618828\u003c/code\u003e\u003c/a\u003e Fix install and testing issues (closes \u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2188\"\u003e#2188\u003c/a\u003e) (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2197\"\u003e#2197\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/3d190ff4f5f96c5944a5e3e4e8540787c6472d55\"\u003e\u003ccode\u003e3d190ff\u003c/code\u003e\u003c/a\u003e simplify log arithmetic (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2195\"\u003e#2195\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/9ff423182bf53a8af277635aa7db8b3f927cce80\"\u003e\u003ccode\u003e9ff4231\u003c/code\u003e\u003c/a\u003e improve logarithmic unit support (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2194\"\u003e#2194\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/a0264aa4aa3a74f84930e320b1ca69f13b29609d\"\u003e\u003ccode\u003ea0264aa\u003c/code\u003e\u003c/a\u003e Fix Cannot divide a unit by a DataArray (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2193\"\u003e#2193\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/hgrecco/pint/commit/fcfcb0eee082b76ddc1afb3dc8467c099bc6742e\"\u003e\u003ccode\u003efcfcb0e\u003c/code\u003e\u003c/a\u003e fix Formatted scientific notation breaks in Python 3.13 (\u003ca href=\"https://redirect.github.com/hgrecco/pint/issues/2192\"\u003e#2192\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/hgrecco/pint/compare/0.24.4...0.25\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `python-dotenv` from 1.1.1 to 1.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/releases\"\u003epython-dotenv's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev1.2.1\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSupport reading .env from FIFOs (Unix) by \u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CI to use trusted publishing on PyPI\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/586\"\u003etheskumar/python-dotenv#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.2.0...v1.2.1\u003c/a\u003e\u003c/p\u003e\n\u003ch2\u003ev1.2.0\u003c/h2\u003e\n\u003ch2\u003eWhat's Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003estyle: upgrade to use ruff by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/567\"\u003etheskumar/python-dotenv#567\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUse sys.exit() instead of exit() by \u003ca href=\"https://github.com/theskumar\"\u003e\u003ccode\u003e@​theskumar\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/568\"\u003etheskumar/python-dotenv#568\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efeat:  add \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e flag to disable load_dotenv (fixes \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/510\"\u003e#510\u003c/a\u003e) by \u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdded Python@3.14: Github CI \u0026amp; tox.ini by \u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eocs: clarify what load_dotenv() does in README by \u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eBump the github-actions group across 1 directory with 2 updates by \u003ca href=\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/577\"\u003etheskumar/python-dotenv#577\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eMove project metadata and config to pyproject.toml by \u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/569\"\u003etheskumar/python-dotenv#569\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/579\"\u003etheskumar/python-dotenv#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/cybercoded\"\u003e\u003ccode\u003e@​cybercoded\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/575\"\u003etheskumar/python-dotenv#575\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e made their first contribution in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/583\"\u003etheskumar/python-dotenv#583\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\"\u003ehttps://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.0\u003c/a\u003e\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/theskumar/python-dotenv/blob/main/CHANGELOG.md\"\u003epython-dotenv's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e[1.2.1] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eMove more config to \u003ccode\u003epyproject.toml\u003c/code\u003e, removed \u003ccode\u003esetup.cfg\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for reading \u003ccode\u003e.env\u003c/code\u003e from FIFOs (Unix) by [\u003ca href=\"https://github.com/sidharth-sudhir\"\u003e\u003ccode\u003e@​sidharth-sudhir\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e[1.2.0] - 2025-10-26\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eUpgrade build system to use PEP 517 \u0026amp; PEP 518 to use \u003ccode\u003ebuild\u003c/code\u003e and \u003ccode\u003epyproject.toml\u003c/code\u003e by [\u003ca href=\"https://github.com/EpicWink\"\u003e\u003ccode\u003e@​EpicWink\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/583\"\u003e#583\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for Python 3.14 by [\u003ca href=\"https://github.com/23f3001135\"\u003e\u003ccode\u003e@​23f3001135\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/pull/563\"\u003e#579\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eAdd support for disabling of \u003ccode\u003eload_dotenv()\u003c/code\u003e using \u003ccode\u003ePYTHON_DOTENV_DISABLED\u003c/code\u003e env var. by [\u003ca href=\"https://github.com/matthewfranglen\"\u003e\u003ccode\u003e@​matthewfranglen\u003c/code\u003e\u003c/a\u003e] in \u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/569\"\u003e#569\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/eaf2a9129ccec6febda0f741eb3bb852c3f947bd\"\u003e\u003ccode\u003eeaf2a91\u003c/code\u003e\u003c/a\u003e Do not remove .coverage file\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8716196891532eeb67d24a513e8d975437f5e8b7\"\u003e\u003ccode\u003e8716196\u003c/code\u003e\u003c/a\u003e Bump version: 1.2.0 → 1.2.1\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/b87807fcad6e74332c3c63a75c92ce5814fa7a55\"\u003e\u003ccode\u003eb87807f\u003c/code\u003e\u003c/a\u003e Update changelog\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/3af77d3029eb717aeec0a3c25f751b6a614a6d3c\"\u003e\u003ccode\u003e3af77d3\u003c/code\u003e\u003c/a\u003e Support reading .env from FIFOs (Unix) (\u003ca href=\"https://redirect.github.com/theskumar/python-dotenv/issues/586\"\u003e#586\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/467ee22fccb2fb7ccda71a0d9e37c6ea3cb8d993\"\u003e\u003ccode\u003e467ee22\u003c/code\u003e\u003c/a\u003e Fix test failures after moving config to pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/76999e741d87e958ebd74e3ae9834c0514e77a59\"\u003e\u003ccode\u003e76999e7\u003c/code\u003e\u003c/a\u003e Move more config pyproject.toml\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/222ce2cc58ebc82ba78da8781269267b9f585932\"\u003e\u003ccode\u003e222ce2c\u003c/code\u003e\u003c/a\u003e Update to use trusted publisher on pypi\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/8ed4f79d202eba582b44bdf1f5deb726dd68783d\"\u003e\u003ccode\u003e8ed4f79\u003c/code\u003e\u003c/a\u003e Update docs requirements\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/5bf882241c607445bf02cf5b241535d62e2b99c1\"\u003e\u003ccode\u003e5bf8822\u003c/code\u003e\u003c/a\u003e Bump version: 1.1.1 → 1.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/theskumar/python-dotenv/commit/1fe11cc737ee4399e9c51d1b69b0dd858f6b4669\"\u003e\u003ccode\u003e1fe11cc\u003c/code\u003e\u003c/a\u003e upadate changelog\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/theskumar/python-dotenv/compare/v1.1.1...v1.2.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `sentry-sdk` from 2.42.1 to 2.43.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/releases\"\u003esentry-sdk's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4906\"\u003e#4906\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        PydanticAIIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMCP Python SDK (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Python MCP integration with the code snippet below:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.mcp import MCPIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        MCPIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003esentry_sdk.init(\n    # ...\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/getsentry/sentry-python/blob/master/CHANGELOG.md\"\u003esentry-sdk's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.43.0\u003c/h2\u003e\n\u003ch3\u003eVarious fixes \u0026amp; improvements\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003ePydantic AI integration (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4906\"\u003e#4906\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Pydantic AI integration with the code snippet below, and you can use the Sentry AI dashboards to observe your AI calls:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.pydantic_ai import PydanticAIIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        PydanticAIIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eMCP Python SDK (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4964\"\u003e#4964\u003c/a\u003e) by \u003ca href=\"https://github.com/constantinius\"\u003e\u003ccode\u003e@​constantinius\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003eEnable the new Python MCP integration with the code snippet below:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003eimport sentry_sdk\nfrom sentry_sdk.integrations.mcp import MCPIntegration\nsentry_sdk.init(\n    dsn=\u0026quot;\u0026lt;your-dsn\u0026gt;\u0026quot;,\n    # Set traces_sample_rate to 1.0 to capture 100%\n    # of transactions for tracing.\n    traces_sample_rate=1.0,\n    # Add data like inputs and responses;\n    # see https://docs.sentry.io/platforms/python/data-management/data-collected/ for more info\n    send_default_pii=True,\n    integrations=[\n        MCPIntegration(),\n    ],\n)\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003efix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e) by \u003ca href=\"https://github.com/sentrivana\"\u003e\u003ccode\u003e@​sentrivana\u003c/code\u003e\u003c/a\u003e\u003c/p\u003e\n\u003cp\u003ePreviously, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e would try to guess whether it should install the sync or async version of itself. This auto-detection was very brittle and could lead to us auto-enabling async code in a sync context. With this change, \u003ccode\u003eStrawberryIntegration\u003c/code\u003e remains an auto-enabling integration, but it'll enable the sync version by default. If you want to enable the async version, pass the option explicitly:\u003c/p\u003e\n\u003cpre lang=\"python\"\u003e\u003ccode\u003esentry_sdk.init(\n\u003c/code\u003e\u003c/pre\u003e\n\u003c/li\u003e\n\u003c/ul\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b069aa24fdf3c52a9e8b75f4f83d5fee035c3234\"\u003e\u003ccode\u003eb069aa2\u003c/code\u003e\u003c/a\u003e Update CHANGELOG.md\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/a7a3fb17956790a0ddba575c0436e6409e0ddec5\"\u003e\u003ccode\u003ea7a3fb1\u003c/code\u003e\u003c/a\u003e release: 2.43.0\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/76cc4163087c6e89f406b89440be45d87ff8e148\"\u003e\u003ccode\u003e76cc416\u003c/code\u003e\u003c/a\u003e fix(google-genai): Set agent name (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5038\"\u003e#5038\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/b3b2eb62d9f1d9132aa8114a4d2eecf7e5fc517c\"\u003e\u003ccode\u003eb3b2eb6\u003c/code\u003e\u003c/a\u003e fix(integrations): hooking into error tracing function to find out if an exec...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/d7ccf06aea28c709abd3d6e7002951c4fa169fe2\"\u003e\u003ccode\u003ed7ccf06\u003c/code\u003e\u003c/a\u003e fix(django): Improve logic for classifying cache hits and misses (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5029\"\u003e#5029\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/64c145ffb19cb7c49b679b0cdf2e7754f0f91d12\"\u003e\u003ccode\u003e64c145f\u003c/code\u003e\u003c/a\u003e chore(metrics): Rename _metrics to metrics (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5035\"\u003e#5035\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/fe31660c50c649f1730f4307ae6f4c10e61acd2f\"\u003e\u003ccode\u003efe31660\u003c/code\u003e\u003c/a\u003e fix(tracemetrics): Bump metric buffer size to 1k (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5031\"\u003e#5031\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/6e06a07467b7b808699d67e8b71bc5ec2fbc9f6f\"\u003e\u003ccode\u003e6e06a07\u003c/code\u003e\u003c/a\u003e fix startlette deprecation warning (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5034\"\u003e#5034\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/e6366194f61fdae97e7867c6457b67ac9a77014c\"\u003e\u003ccode\u003ee636619\u003c/code\u003e\u003c/a\u003e fix(strawberry): Remove autodetection, always use sync extension (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/4984\"\u003e#4984\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/getsentry/sentry-python/commit/8ab8f3b3895944ac52518d47a4ea436f715bab6c\"\u003e\u003ccode\u003e8ab8f3b\u003c/code\u003e\u003c/a\u003e ci: 🤖 Update test matrix with new releases (10/27) (\u003ca href=\"https://redirect.github.com/getsentry/sentry-python/issues/5033\"\u003e#5033\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/getsentry/sentry-python/compare/2.42.1...2.43.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-stubs` from 5.1.3 to 5.2.7\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sponsors/typeddjango/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-test-migrations` from 1.4.0 to 1.5.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/wemake-services/django-test-migrations/releases\"\u003edjango-test-migrations's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds Python 3.13 support\u003c/li\u003e\n\u003cli\u003eDrops Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdds Django 5.2 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/wemake-services/django-test-migrations/blob/master/CHANGELOG.md\"\u003edjango-test-migrations's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 1.5.0\u003c/h2\u003e\n\u003ch3\u003eFeatures\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdds Python 3.13 support\u003c/li\u003e\n\u003cli\u003eDrops Python 3.9 support\u003c/li\u003e\n\u003cli\u003eAdds Django 5.2 support\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/111b449b7029710149f0faef71aa85cbfc77e50e\"\u003e\u003ccode\u003e111b449\u003c/code\u003e\u003c/a\u003e Version 1.5.0 release (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/506\"\u003e#506\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/f0523aaf62483caf1bc88dc95f125f149ddba925\"\u003e\u003ccode\u003ef0523aa\u003c/code\u003e\u003c/a\u003e Support Django 5.2, Upgrade to Poetry 2.x (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/504\"\u003e#504\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/d584f03facafb3bc5d794fda4bec2bb44dacca95\"\u003e\u003ccode\u003ed584f03\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django from 4.2.19 to 4.2.20 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/502\"\u003e#502\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/a49863681e45d64e7f5c9cf4331ff74b4ce22cda\"\u003e\u003ccode\u003ea498636\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump pytest from 8.3.4 to 8.3.5 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/501\"\u003e#501\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/b1a349fcd332f18ddbd6a99704400194f8a0436a\"\u003e\u003ccode\u003eb1a349f\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump pytest-django from 4.9.0 to 4.10.0 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/500\"\u003e#500\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/8369432b6e167eb4042948ac86ba70adc96b460c\"\u003e\u003ccode\u003e8369432\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django-stubs from 5.1.2 to 5.1.3 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/499\"\u003e#499\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/1d2d0b62bf16f8a2d6448812f574465654178611\"\u003e\u003ccode\u003e1d2d0b6\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump mypy from 1.14.1 to 1.15.0 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/497\"\u003e#497\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/19072deba0b5d1a3e4f8695c949c39d54b81192d\"\u003e\u003ccode\u003e19072de\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django from 4.2.18 to 4.2.19 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/498\"\u003e#498\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/df95a7236fa476203def5b528de21cae4a5e37fc\"\u003e\u003ccode\u003edf95a72\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django from 4.2.17 to 4.2.18 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/495\"\u003e#495\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/wemake-services/django-test-migrations/commit/3a066f8d967e408b911b2832aeb26e016cfe0665\"\u003e\u003ccode\u003e3a066f8\u003c/code\u003e\u003c/a\u003e build(deps-dev): bump django-stubs from 5.1.1 to 5.1.2 (\u003ca href=\"https://redirect.github.com/wemake-services/django-test-migrations/issues/496\"\u003e#496\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/wemake-services/django-test-migrations/compare/1.4.0...1.5.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `django-types` from 0.20.0 to 0.22.0\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003eSee full diff in \u003ca href=\"https://github.com/sbdchd/django-types/commits\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `isort` from 6.1.0 to 7.0.0\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/releases\"\u003eisort's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e7.0.0\u003c/h2\u003e\n\u003ch2\u003eChanges\u003c/h2\u003e\n\u003ch2\u003e:boom: Breaking Changes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eDrop support for Python 3.9 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:rocket: Features\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eShow absolute paths in skipped file messages (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2416\"\u003e#2416\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:beetle: Fixes\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eSome fixes for Python 3.14 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTest on \u003ccode\u003e3.14\u003c/code\u003e and fix any bugs (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2425\"\u003e#2425\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate CHANGELOG.md + Fix Formatting and Grammar (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2419\"\u003e#2419\u003c/a\u003e) \u003ca href=\"https://github.com/lukbrew25\"\u003e\u003ccode\u003e@​lukbrew25\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eFix output of hanging indent for long lines with noqa (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2407\"\u003e#2407\u003c/a\u003e) \u003ca href=\"https://github.com/matan1008\"\u003e\u003ccode\u003e@​matan1008\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:construction_worker: Continuous Integration\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eFormat with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eTarget 3.10 for \u003ccode\u003eruff\u003c/code\u003e (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eUpdate development dependencies to latest version (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2426\"\u003e#2426\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003edocs: update pre-commit examples to version 6.1.0 (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2413\"\u003e#2413\u003c/a\u003e) \u003ca href=\"https://github.com/pranlawate\"\u003e\u003ccode\u003e@​pranlawate\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eSmall cleanup for developer environment (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2418\"\u003e#2418\u003c/a\u003e) \u003ca href=\"https://github.com/DanielNoord\"\u003e\u003ccode\u003e@​DanielNoord\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e:package: Dependencies\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eBump actions/setup-python from 5 to 6 in the github-actions group (\u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2411\"\u003e#2411\u003c/a\u003e) @\u003ca href=\"https://github.com/apps/dependabot\"\u003edependabot[bot]\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/PyCQA/isort/blob/main/CHANGELOG.md\"\u003eisort's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003cp\u003eNOTE: isort follows the \u003ca href=\"https://semver.org/\"\u003esemver\u003c/a\u003e versioning standard.\nFind out more about isort's release policy \u003ca href=\"https://pycqa.github.io/isort/docs/major_releases/release_policy\"\u003ehere\u003c/a\u003e.\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0a09c783808cfe77bb3269250f663ff733d23302\"\u003e\u003ccode\u003e0a09c78\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2433\"\u003e#2433\u003c/a\u003e from DanielNoord/python-314\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/0fee794a05b5d0c471ac80bc8943f9843ca29644\"\u003e\u003ccode\u003e0fee794\u003c/code\u003e\u003c/a\u003e Add 3.14 to \u003ccode\u003estdlibds\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/332a1ad0b68bf3a3acac055b0ec3666408b3b425\"\u003e\u003ccode\u003e332a1ad\u003c/code\u003e\u003c/a\u003e Bump \u003ccode\u003ezstandard\u003c/code\u003e for 3.14 compat\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/f756e5653afcf6d79ec4d0240b1868cbebd8fafd\"\u003e\u003ccode\u003ef756e56\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2432\"\u003e#2432\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/52f5134889d345ff35afdcb86501c8221b804c70\"\u003e\u003ccode\u003e52f5134\u003c/code\u003e\u003c/a\u003e Format with \u003ccode\u003eruff\u003c/code\u003e instead of \u003ccode\u003eblack\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/012aa69fcadb3c89ff92a3d96aa449be7ae6746f\"\u003e\u003ccode\u003e012aa69\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2431\"\u003e#2431\u003c/a\u003e from DanielNoord/ruff-it-up\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/89773dbb371192541092657972a74e9ce0bbbc74\"\u003e\u003ccode\u003e89773db\u003c/code\u003e\u003c/a\u003e Target 3.10 with \u003ccode\u003eruff\u003c/code\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/933e382f98a0c77b4c6e33c4e3ef12bd57192884\"\u003e\u003ccode\u003e933e382\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/PyCQA/isort/issues/2430\"\u003e#2430\u003c/a\u003e from DanielNoord/drop-39\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/8b6e00cbe643a216da57fed4baa282d0a4a1b829\"\u003e\u003ccode\u003e8b6e00c\u003c/code\u003e\u003c/a\u003e Remove support for Python 3.9\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/PyCQA/isort/commit/b5f9f296ad873734e8caa3a731f27360648d9b37\"\u003e\u003ccode\u003eb5f9f29\u003c/code\u003e\u003c/a\u003e Bump profile plugin to 3.10+ and re-lock\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/PyCQA/isort/compare/6.1.0...7.0.0\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `ty` from 0.0.1a21 to 0.0.1a25\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/releases\"\u003ety's releases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e0.0.1-alpha.25\u003c/h2\u003e\n\u003ch2\u003eRelease Notes\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-29.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where ty would think all types had an \u003ccode\u003e__mro__\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix rare panic with highly cyclic \u003ccode\u003eTypeVar\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21059\"\u003e#21059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix infinite recursion with generic type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20969\"\u003e#20969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing newline before first diagnostic in CLI output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21058\"\u003e#21058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the ty server's auto-import feature skip symbols in the current module (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21100\"\u003e#21100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't provide goto-definition for definitions which are not reexported in builtins (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21127\"\u003e#21127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid duplicate diagnostics during multi-inference of standalone expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21056\"\u003e#21056\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType inference and diagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse constructor parameter types as context to inform solving type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21054\"\u003e#21054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider \u003ccode\u003e__len__\u003c/code\u003e when determining the truthiness of an instance of a tuple class or a \u003ccode\u003e@final\u003c/code\u003e class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21049\"\u003e#21049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelegate truthiness inference of an enum \u003ccode\u003eLiteral\u003c/code\u003e type to its enum-instance supertype (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21060\"\u003e#21060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003einvalid-argument-type\u003c/code\u003e diagnostics where a union type was provided (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21044\"\u003e#21044\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest \u003ccode\u003etype_check_only\u003c/code\u003e items last in completions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20910\"\u003e#20910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender \u003ccode\u003eimport \u0026lt;...\u0026gt;\u003c/code\u003e in completions when \u0026quot;label details\u0026quot; isn't supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21109\"\u003e#21109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate workspace diagnostic progress every 50ms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21019\"\u003e#21019\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--no-progress\u003c/code\u003e option to suppress the rendering of a progress bar (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21063\"\u003e#21063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatthewMckee4\"\u003e\u003ccode\u003e@​MatthewMckee4\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshiba\"\u003e\u003ccode\u003e@​mtshiba\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/AlexWaygood\"\u003e\u003ccode\u003e@​AlexWaygood\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MichaReiser\"\u003e\u003ccode\u003e@​MichaReiser\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/decorator-factory\"\u003e\u003ccode\u003e@​decorator-factory\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eInstall ty 0.0.1-alpha.25\u003c/h2\u003e\n\u003ch3\u003eInstall prebuilt binaries via shell script\u003c/h3\u003e\n\u003cpre lang=\"sh\"\u003e\u003ccode\u003ecurl --proto '=https' --tlsv1.2 -LsSf https://github.com/astral-sh/ty/releases/download/0.0.1-alpha.25/ty-installer.sh | sh\n\u003c/code\u003e\u003c/pre\u003e\n\u003c!-- raw HTML omitted --\u003e\n\u003c/blockquote\u003e\n\u003cp\u003e... (truncated)\u003c/p\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/astral-sh/ty/blob/main/CHANGELOG.md\"\u003ety's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch1\u003eChangelog\u003c/h1\u003e\n\u003ch2\u003e0.0.1-alpha.25\u003c/h2\u003e\n\u003cp\u003eReleased on 2025-10-29.\u003c/p\u003e\n\u003ch3\u003eBug fixes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eFix bug where ty would think all types had an \u003ccode\u003e__mro__\u003c/code\u003e attribute (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20995\"\u003e#20995\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix rare panic with highly cyclic \u003ccode\u003eTypeVar\u003c/code\u003e definitions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21059\"\u003e#21059\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eFix infinite recursion with generic type aliases (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20969\"\u003e#20969\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAdd missing newline before first diagnostic in CLI output (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21058\"\u003e#21058\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eMake the ty server's auto-import feature skip symbols in the current module (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21100\"\u003e#21100\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDon't provide goto-definition for definitions which are not reexported in builtins (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21127\"\u003e#21127\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eAvoid duplicate diagnostics during multi-inference of standalone expressions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21056\"\u003e#21056\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eType inference and diagnostics\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eUse constructor parameter types as context to inform solving type variables (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21054\"\u003e#21054\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eConsider \u003ccode\u003e__len__\u003c/code\u003e when determining the truthiness of an instance of a tuple class or a \u003ccode\u003e@final\u003c/code\u003e class (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21049\"\u003e#21049\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eDelegate truthiness inference of an enum \u003ccode\u003eLiteral\u003c/code\u003e type to its enum-instance supertype (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21060\"\u003e#21060\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eImprove \u003ccode\u003einvalid-argument-type\u003c/code\u003e diagnostics where a union type was provided (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21044\"\u003e#21044\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eLSP server\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eSuggest \u003ccode\u003etype_check_only\u003c/code\u003e items last in completions (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/20910\"\u003e#20910\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eRender \u003ccode\u003eimport \u0026lt;...\u0026gt;\u003c/code\u003e in completions when \u0026quot;label details\u0026quot; isn't supported (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21109\"\u003e#21109\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eUpdate workspace diagnostic progress every 50ms (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21019\"\u003e#21019\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eCLI\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eAdd \u003ccode\u003e--no-progress\u003c/code\u003e option to suppress the rendering of a progress bar (\u003ca href=\"https://redirect.github.com/astral-sh/ruff/pull/21063\"\u003e#21063\u003c/a\u003e)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eContributors\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/ibraheemdev\"\u003e\u003ccode\u003e@​ibraheemdev\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/MatthewMckee4\"\u003e\u003ccode\u003e@​MatthewMckee4\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/BurntSushi\"\u003e\u003ccode\u003e@​BurntSushi\u003c/code\u003e\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/mtshi...\n\n_Description has been truncated_","html_url":"https://github.com/matmair/InvenTree/pull/456","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/matmair%2FInvenTree/issues/456","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/456/packages"}},{"old_version":"9.0.1","new_version":"9.1.1","update_type":"minor","path":"/django","pr_created_at":"2025-08-01T22:44:17.000Z","version_change":"9.0.1 → 9.1.1","issue":{"uuid":"2714449964","node_id":"PR_kwDOMcrnu86hyzgs","number":449,"state":"open","title":"chore(deps): bump django-structlog[celery,commands] from 9.0.1 to 9.1.1 in /django","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"NONE","state_reason":null,"created_at":"2025-08-01T22:44:17.000Z","updated_at":"2025-08-01T22:44:18.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"chore(deps)","packages":[{"name":"django-structlog","old_version":"9.0.1","new_version":"9.1.1","repository_url":null},{"name":"commands]","old_version":"9.0.1","new_version":"9.1.1","repository_url":null}],"path":"/django","ecosystem":"pip"},"body":"Bumps [django-structlog[celery,commands]](https://github.com/jrobichaud/django-structlog) from 9.0.1 to 9.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog[celery,commands]'s changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.1 (April 7, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- fix \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata not working. See \u003ccode\u003e[#811](https://github.com/jrobichaud/django-structlog/issues/811) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/811\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.1.0 (April 4, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- new setting \u003ccode\u003eDJANGO_STRUCTLOG_IP_LOGGING_ENABLED\u003c/code\u003e (default \u003ccode\u003eTrue\u003c/code\u003e) to allow to disable ip binding. See \u003ccode\u003e[#803](https://github.com/jrobichaud/django-structlog/issues/803) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/803\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@dulguunpc \u0026lt;https://github.com/dulguunpc\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- add \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata. See \u003ccode\u003e[#796](https://github.com/jrobichaud/django-structlog/issues/796) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/796\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- \u003ccode\u003evary: Cookie\u003c/code\u003e was always set. See \u003ccode\u003e[#734](https://github.com/jrobichaud/django-structlog/issues/734) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/734\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@last-partizan \u0026lt;https://github.com/last-partizan\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOther:\u003c/em\u003e\n- add support of django 5.2 (just adding it to the test matrix, no code changes)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/aa9f8ca174436131dbe706fe32c12bf96038d533\"\u003e\u003ccode\u003eaa9f8ca\u003c/code\u003e\u003c/a\u003e release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/851cc959dd257622c5f038fda57f64f82a8c52a4\"\u003e\u003ccode\u003e851cc95\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/76eb6fdb945fa789849d531fd32c3541cc4f3e90\"\u003e\u003ccode\u003e76eb6fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/811\"\u003e#811\u003c/a\u003e from ahumeau/fix-celery-task-duration-logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/81f9def51274c6c16bca34578e3c2a7613257c29\"\u003e\u003ccode\u003e81f9def\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/810\"\u003e#810\u003c/a\u003e from jrobichaud/update/pre-commit-hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/82463afcef0ca1129786d99ebc2badb7ed8da050\"\u003e\u003ccode\u003e82463af\u003c/code\u003e\u003c/a\u003e fix(CeleryReceiver.add_duration_ms): check hasattr on task.request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/034959a64888ef4a8fe13f0c18c2fecd7caee2a4\"\u003e\u003ccode\u003e034959a\u003c/code\u003e\u003c/a\u003e chore: update pre-commit hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/460a1a387cc76fde340d5777a242119e251a6097\"\u003e\u003ccode\u003e460a1a3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/809\"\u003e#809\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/pytest-dj...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/3d4245cb06bd5b30dc8815aa93462c488288926a\"\u003e\u003ccode\u003e3d4245c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/808\"\u003e#808\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/crispy-bo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a3c0279c67d6742288e18e874cecfe498025476b\"\u003e\u003ccode\u003ea3c0279\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/807\"\u003e#807\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/coverage-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/3d5b4931e6f21079f647500ff3bc0bf5cb60c2b2\"\u003e\u003ccode\u003e3d5b493\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/806\"\u003e#806\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/ruff-0.11.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.0.1...9.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=django-structlog[celery,commands]\u0026package-manager=pip\u0026previous-version=9.0.1\u0026new-version=9.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/justicecanada/otto/pull/449","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/justicecanada%2Fotto/issues/449","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/449/packages"}},{"old_version":"9.0.1","new_version":"9.1.1","update_type":"minor","path":null,"pr_created_at":"2025-06-23T01:49:11.000Z","version_change":"9.0.1 → 9.1.1","issue":{"uuid":"2610163951","node_id":"PR_kwDOBcoTZs6bk_Dv","number":1548,"state":"open","title":"Bump django-structlog from 9.0.1 to 9.1.1","user":"dependabot[bot]","labels":["dependencies","python"],"assignees":[],"locked":false,"comments_count":0,"pull_request":true,"closed_at":null,"author_association":"CONTRIBUTOR","state_reason":null,"created_at":"2025-06-23T01:49:11.000Z","updated_at":"2025-07-01T11:39:02.000Z","time_to_close":null,"merged_at":null,"merged_by":null,"closed_by":null,"dependency_metadata":{"prefix":"Bump","packages":[{"name":"django-structlog","old_version":"9.0.1","new_version":"9.1.1","repository_url":"https://github.com/jrobichaud/django-structlog"}],"path":null,"ecosystem":"pip"},"body":"Bumps [django-structlog](https://github.com/jrobichaud/django-structlog) from 9.0.1 to 9.1.1.\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca href=\"https://github.com/jrobichaud/django-structlog/blob/main/docs/changelog.rst\"\u003edjango-structlog's changelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e9.1.1 (April 7, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- fix \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata not working. See \u003ccode\u003e[#811](https://github.com/jrobichaud/django-structlog/issues/811) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/811\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003ch2\u003e9.1.0 (April 4, 2025)\u003c/h2\u003e\n\u003cp\u003e\u003cem\u003eNew:\u003c/em\u003e\n- new setting \u003ccode\u003eDJANGO_STRUCTLOG_IP_LOGGING_ENABLED\u003c/code\u003e (default \u003ccode\u003eTrue\u003c/code\u003e) to allow to disable ip binding. See \u003ccode\u003e[#803](https://github.com/jrobichaud/django-structlog/issues/803) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/803\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@dulguunpc \u0026lt;https://github.com/dulguunpc\u0026gt;\u003c/code\u003e\u003c/em\u003e.\n- add \u003ccode\u003eduration_ms\u003c/code\u003e to the celery tasks metadata. See \u003ccode\u003e[#796](https://github.com/jrobichaud/django-structlog/issues/796) \u0026lt;https://github.com/jrobichaud/django-structlog/pull/796\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@ahumeau \u0026lt;https://github.com/ahumeau\u0026gt;\u003c/code\u003e\u003c/em\u003e.\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eFixes:\u003c/em\u003e\n- \u003ccode\u003evary: Cookie\u003c/code\u003e was always set. See \u003ccode\u003e[#734](https://github.com/jrobichaud/django-structlog/issues/734) \u0026lt;https://github.com/jrobichaud/django-structlog/issues/734\u0026gt;\u003c/code\u003e\u003cem\u003e. Special thanks to \u003ccode\u003e@last-partizan \u0026lt;https://github.com/last-partizan\u0026gt;\u003c/code\u003e\u003c/em\u003e\u003c/p\u003e\n\u003cp\u003e\u003cem\u003eOther:\u003c/em\u003e\n- add support of django 5.2 (just adding it to the test matrix, no code changes)\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003c/details\u003e\n\u003cdetails\u003e\n\u003csummary\u003eCommits\u003c/summary\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/aa9f8ca174436131dbe706fe32c12bf96038d533\"\u003e\u003ccode\u003eaa9f8ca\u003c/code\u003e\u003c/a\u003e release notes\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/851cc959dd257622c5f038fda57f64f82a8c52a4\"\u003e\u003ccode\u003e851cc95\u003c/code\u003e\u003c/a\u003e Bump version\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/76eb6fdb945fa789849d531fd32c3541cc4f3e90\"\u003e\u003ccode\u003e76eb6fd\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/811\"\u003e#811\u003c/a\u003e from ahumeau/fix-celery-task-duration-logging\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/81f9def51274c6c16bca34578e3c2a7613257c29\"\u003e\u003ccode\u003e81f9def\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/810\"\u003e#810\u003c/a\u003e from jrobichaud/update/pre-commit-hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/82463afcef0ca1129786d99ebc2badb7ed8da050\"\u003e\u003ccode\u003e82463af\u003c/code\u003e\u003c/a\u003e fix(CeleryReceiver.add_duration_ms): check hasattr on task.request\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/034959a64888ef4a8fe13f0c18c2fecd7caee2a4\"\u003e\u003ccode\u003e034959a\u003c/code\u003e\u003c/a\u003e chore: update pre-commit hooks\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/460a1a387cc76fde340d5777a242119e251a6097\"\u003e\u003ccode\u003e460a1a3\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/809\"\u003e#809\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/pytest-dj...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/3d4245cb06bd5b30dc8815aa93462c488288926a\"\u003e\u003ccode\u003e3d4245c\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/808\"\u003e#808\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/crispy-bo...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/a3c0279c67d6742288e18e874cecfe498025476b\"\u003e\u003ccode\u003ea3c0279\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/807\"\u003e#807\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/coverage-...\u003c/li\u003e\n\u003cli\u003e\u003ca href=\"https://github.com/jrobichaud/django-structlog/commit/3d5b4931e6f21079f647500ff3bc0bf5cb60c2b2\"\u003e\u003ccode\u003e3d5b493\u003c/code\u003e\u003c/a\u003e Merge pull request \u003ca href=\"https://redirect.github.com/jrobichaud/django-structlog/issues/806\"\u003e#806\u003c/a\u003e from jrobichaud/dependabot/pip/requirements/ruff-0.11.4\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca href=\"https://github.com/jrobichaud/django-structlog/compare/9.0.1...9.1.1\"\u003ecompare view\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\n\n[![Dependabot compatibility score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=django-structlog\u0026package-manager=pip\u0026previous-version=9.0.1\u0026new-version=9.1.1)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)\n\nDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting `@dependabot rebase`.\n\n[//]: # (dependabot-automerge-start)\n[//]: # (dependabot-automerge-end)\n\n---\n\n\u003cdetails\u003e\n\u003csummary\u003eDependabot commands and options\u003c/summary\u003e\n\u003cbr /\u003e\n\nYou can trigger Dependabot actions by commenting on this PR:\n- `@dependabot rebase` will rebase this PR\n- `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it\n- `@dependabot merge` will merge this PR after your CI passes on it\n- `@dependabot squash and merge` will squash and merge this PR after your CI passes on it\n- `@dependabot cancel merge` will cancel a previously requested merge and block automerging\n- `@dependabot reopen` will reopen this PR if it is closed\n- `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all of the ignore conditions of the specified dependency\n- `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)\n- `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)\n\n\n\u003c/details\u003e","html_url":"https://github.com/ministryofjustice/analytics-platform-control-panel/pull/1548","url":"https://dependabot.ecosyste.ms/api/v1/hosts/GitHub/repositories/ministryofjustice%2Fanalytics-platform-control-panel/issues/1548","packages_url":"https://dependabot.ecosyste.ms/api/v1/issues/1548/packages"}}]}