)]}'
{
  "commit": "b089d17e34a9f8037b9fe968ca9d536c0b875d7f",
  "tree": "05ad4e4c850e63274862a660b9e03fb1c4aea872",
  "parents": [
    "f9a7e8a171c090b15d6afb149c6549d9152cbfc7"
  ],
  "author": {
    "name": "dependabot[bot]",
    "email": "49699333+dependabot[bot]@users.noreply.github.com",
    "time": "Thu Nov 12 04:44:33 2026 +0000"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Thu Nov 12 04:44:33 2026 +0000"
  },
  "message": "build(deps-dev): Bump the \"dev-only\" group with 1 update across multiple ecosystems (#4479)\n\nBumps the dev-only group with 1 update in the /examples/wheel directory:\n[pypiserver](https://github.com/pypiserver/pypiserver).\nBumps the dev-only group with 1 update in the\n/tests/integration/unified_pypi directory:\n[colorama](https://github.com/tartley/colorama).\nBumps the dev-only group with 1 update in the /tests/multi_pypi/alpha\ndirectory:\n[more-itertools](https://github.com/more-itertools/more-itertools).\nBumps the dev-only group with 1 update in the /tests/multi_pypi/beta\ndirectory:\n[more-itertools](https://github.com/more-itertools/more-itertools).\n\nUpdates `pypiserver` from 2.4.2 to 2.4.3\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/releases\"\u003epypiserver\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003ev2.4.3\u003c/h2\u003e\n\u003cblockquote\u003e\n\u003cp\u003e[!NOTE]\nA few maintenance updates and fixes.\nThanks to all who helped improving the repo these times!\u003c/p\u003e\n\u003c/blockquote\u003e\n\u003ch2\u003eSummary:\u003c/h2\u003e\n\u003cp\u003eCore focus:\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003eimportant version updates\u003c/li\u003e\n\u003cli\u003ebug fixes in version lookup\u003c/li\u003e\n\u003cli\u003eupdate in documentation\u003c/li\u003e\n\u003c/ol\u003e\n\u003ch2\u003eWhat\u0027s Changed\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003echore: Bump urllib3 from 2.7.0 to 2.8.0 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/pull/737\"\u003epypiserver/pypiserver#737\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Bump setuptools from 80.10.2 to 84.1.0 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/pull/739\"\u003epypiserver/pypiserver#739\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore: Bump certifi from 2026.2.25 to 2026.10.19 by \u003ca\nhref\u003d\"https://github.com/dependabot\"\u003e\u003ccode\u003e@​dependabot\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/pull/738\"\u003epypiserver/pypiserver#738\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003eDocs: update ad-hoc authentication example to use roots by \u003ca\nhref\u003d\"https://github.com/rohansharmacode\"\u003e\u003ccode\u003e@​rohansharmacode\u003c/code\u003e\u003c/a\u003e\nin \u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/pull/734\"\u003epypiserver/pypiserver#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003efix: normalize project names in find_version for remove_pkg by \u003ca\nhref\u003d\"https://github.com/r3wretrhy\"\u003e\u003ccode\u003e@​r3wretrhy\u003c/code\u003e\u003c/a\u003e in \u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/pull/735\"\u003epypiserver/pypiserver#735\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003echore(auto-release-candidate-2026-11-08) by \u003ca\nhref\u003d\"https://github.com/github-actions\"\u003e\u003ccode\u003e@​github-actions\u003c/code\u003e\u003c/a\u003e[bot]\nin \u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/pull/742\"\u003epypiserver/pypiserver#742\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eNew Contributors\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/rohansharmacode\"\u003e\u003ccode\u003e@​rohansharmacode\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/pull/734\"\u003epypiserver/pypiserver#734\u003c/a\u003e\u003c/li\u003e\n\u003cli\u003e\u003ca href\u003d\"https://github.com/r3wretrhy\"\u003e\u003ccode\u003e@​r3wretrhy\u003c/code\u003e\u003c/a\u003e\nmade their first contribution in \u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/pull/735\"\u003epypiserver/pypiserver#735\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e\u003cstrong\u003eFull Changelog\u003c/strong\u003e: \u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/compare/v2.4.2...v2.4.3\"\u003ehttps://github.com/pypiserver/pypiserver/compare/v2.4.2...v2.4.3\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\nhref\u003d\"https://github.com/pypiserver/pypiserver/blob/main/CHANGES.rst\"\u003epypiserver\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003e2.4.3 (2026-11-08)\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003edeedae4 FIX: fix: passing formatting flags in CI\u003c/li\u003e\n\u003cli\u003e4885eea FIX: fix: normalize project names in find_version for\nremove_pkg (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eaf839b9 MAINT: Docs: update ad-hoc authentication example to use\nroots (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/734\"\u003e#734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e57eb6a6 MAINT: chore: Bump certifi from 2026.2.25 to 2026.10.19 (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e37dc266 MAINT: chore: Bump setuptools from 80.10.2 to 84.1.0 (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/739\"\u003e#739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e69f750c MAINT: chore: Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/737\"\u003e#737\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\nhref\u003d\"https://github.com/pypiserver/pypiserver/commit/14d1e994dc4160ffb1cd36191a72dc5005cb9aef\"\u003e\u003ccode\u003e14d1e99\u003c/code\u003e\u003c/a\u003e\nchore(ver): bump 2.4.2--\u0026gt;2.4.3\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/commit/7ebc668a04bcfa6869482e75aa2d838b40a462cd\"\u003e\u003ccode\u003e7ebc668\u003c/code\u003e\u003c/a\u003e\nchore(auto-release-candidate-2026-11-08) (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/742\"\u003e#742\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/commit/deedae4f2a9c6a0a4f582d98bc58622febc1fcbb\"\u003e\u003ccode\u003edeedae4\u003c/code\u003e\u003c/a\u003e\nfix: passing formatting flags in CI\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/commit/4885eea587675d26bd60c81a543b9fed3cd062c9\"\u003e\u003ccode\u003e4885eea\u003c/code\u003e\u003c/a\u003e\nfix: normalize project names in find_version for remove_pkg (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/735\"\u003e#735\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/commit/af839b9d80b4103b83cbbc32c6de80358aaaddaf\"\u003e\u003ccode\u003eaf839b9\u003c/code\u003e\u003c/a\u003e\nDocs: update ad-hoc authentication example to use roots (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/734\"\u003e#734\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/commit/57eb6a6d4d802e63f280403e34ee53c4d0fb6fa1\"\u003e\u003ccode\u003e57eb6a6\u003c/code\u003e\u003c/a\u003e\nchore: Bump certifi from 2026.2.25 to 2026.10.19 (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/738\"\u003e#738\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/commit/37dc26619d0ad94e313a3879ec74525b0d64f5e5\"\u003e\u003ccode\u003e37dc266\u003c/code\u003e\u003c/a\u003e\nchore: Bump setuptools from 80.10.2 to 84.1.0 (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/739\"\u003e#739\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/commit/69f750cd8fe5d8ad827fb4a19ee7b37ad0147622\"\u003e\u003ccode\u003e69f750c\u003c/code\u003e\u003c/a\u003e\nchore: Bump urllib3 from 2.7.0 to 2.8.0 (\u003ca\nhref\u003d\"https://redirect.github.com/pypiserver/pypiserver/issues/737\"\u003e#737\u003c/a\u003e)\u003c/li\u003e\n\u003cli\u003eSee full diff in \u003ca\nhref\u003d\"https://github.com/pypiserver/pypiserver/compare/v2.4.2...v2.4.3\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `colorama` from 0.4.5 to 0.4.6\n\u003cdetails\u003e\n\u003csummary\u003eChangelog\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/tartley/colorama/blob/master/CHANGELOG.rst\"\u003ecolorama\u0027s\nchangelog\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003cp\u003e0.4.6 Current release\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tartley/colorama/pull/139\"\u003etartley/colorama#139\u003c/a\u003e\nAdd alternative to \u0027init()\u0027,\ncalled \u0027just_fix_windows_console\u0027. This fixes many longstanding problems\nwith \u0027init\u0027, such as working incorrectly on modern Windows terminals,\nand\nwonkiness when init gets called multiple times. The intention is that it\njust makes all Windows terminals treat ANSI the same way as other\nterminals\ndo. Many thanks the njsmith for fixing our messes.\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tartley/colorama/pull/352\"\u003etartley/colorama#352\u003c/a\u003e\nSupport Windows 10\u0027s ANSI/VT\nconsole. This didn\u0027t exist when Colorama was created, and avoiding us\ncausing havok there is long overdue. Thanks to segeviner for the initial\napproach, and to njsmith for getting it merged.\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tartley/colorama/pull/338\"\u003etartley/colorama#338\u003c/a\u003e\nInternal overhaul of package\nmetadata declaration, which abolishes our use of the now heavily\ndiscouraged setuptools (and hence setup.py, setup.cfg and MANIFEST.in),\nin\nfavor of hatchling (and hence pyproject.toml), generously contributed by\nofek (author of hatchling). This includes dropping support Python3.5 and\n3.6, which are EOL, and were already dropped from setuptools, so this\nshould not affect our users.\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://redirect.github.com/tartley/colorama/pull/353\"\u003etartley/colorama#353\u003c/a\u003e\nAttention to detail award to\nLqdBcnAtWork for a spelling fix in demo06\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\nhref\u003d\"https://github.com/tartley/colorama/commit/3de9f013df4b470069d03d250224062e8cf15c49\"\u003e\u003ccode\u003e3de9f01\u003c/code\u003e\u003c/a\u003e\nbump version 0.4.6\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tartley/colorama/commit/a45949b3252633060261c9666b6aada4b2f2f020\"\u003e\u003ccode\u003ea45949b\u003c/code\u003e\u003c/a\u003e\nFormat the CHANGELOG bullet list, no content change\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tartley/colorama/commit/f55f72e9d3950276679da91ba6dc713cefc603db\"\u003e\u003ccode\u003ef55f72e\u003c/code\u003e\u003c/a\u003e\ncomment need for a fix after recent MP broke it\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tartley/colorama/commit/cb83041b25a6962d8124647e8741cfa0ab139994\"\u003e\u003ccode\u003ecb83041\u003c/code\u003e\u003c/a\u003e\nfix test-release after recent MPs broke it\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tartley/colorama/commit/832f14ce9a4d00c2dfb88e8cb02e2defadb76ba9\"\u003e\u003ccode\u003e832f14c\u003c/code\u003e\u003c/a\u003e\nREADME tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tartley/colorama/commit/54b89c33b2448a1a0fab67ab020a902622b9a932\"\u003e\u003ccode\u003e54b89c3\u003c/code\u003e\u003c/a\u003e\nBump version to 0.4.6rc1\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tartley/colorama/commit/7991d34773c72db791eb09d9ec349212d080fbc0\"\u003e\u003ccode\u003e7991d34\u003c/code\u003e\u003c/a\u003e\n\u0027make bootstrap\u0027 uses system python3, not pinned v3.8\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tartley/colorama/commit/0ae5ef2f9ab89335fb5b50933b75323178cb38bc\"\u003e\u003ccode\u003e0ae5ef2\u003c/code\u003e\u003c/a\u003e\nCHANGELOG updates for upcoming 0.4.6 release\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tartley/colorama/commit/52f4cfd7af3a779b0ba8a7ee320d99c0bfec9ce8\"\u003e\u003ccode\u003e52f4cfd\u003c/code\u003e\u003c/a\u003e\nTweak ordering of release checklist\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/tartley/colorama/commit/ab64cfac23fd70b9bf2944acd985e3673a1f09e1\"\u003e\u003ccode\u003eab64cfa\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/tartley/colorama/issues/353\"\u003e#353\u003c/a\u003e\nfrom LqdBcnAtWork/patch-1\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/tartley/colorama/compare/0.4.5...0.4.6\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `more-itertools` from 9.1.0 to 11.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/releases\"\u003emore-itertools\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 11.2.1\u003c/h2\u003e\n\u003cp\u003eThis release includes \u003ca\nhref\u003d\"https://redirect.github.com/more-itertools/more-itertools/issues/1331\"\u003e#1331\u003c/a\u003e,\na packaging-related change. No module code changed.\u003c/p\u003e\n\u003ch2\u003eVersion 11.2.0\u003c/h2\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003erandom_ordered_range\u003c/code\u003e function\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003esubfactorial\u003c/code\u003e function\u003c/li\u003e\n\u003cli\u003ePython 3.10 is no longer officially supported\u003c/li\u003e\n\u003cli\u003ePython 3.15 is now officially supported\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca\nhref\u003d\"https://raw.githubusercontent.com/more-itertools/more-itertools/737c261c21271e1a6eb949f7d188297bebe8b125/docs/versions.rst\"\u003erelease\nnotes\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003eVersion 11.1.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumeric_range\u003c/code\u003e was updated to fix its handling of empty\nranges (thanks to rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekable\u003c/code\u003e was updated to fix typing issues (thanks to\nDORI2001, powellnorma, Pandede, m9810223, and rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eislice_extended\u003c/code\u003e was optimized for memory usage and\nspeed (thanks to ben42code, rhettinger, and pochmann)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eserialize\u003c/code\u003e now supports the generator methods\n\u003ccode\u003ethrow\u003c/code\u003e, \u003ccode\u003esend\u003c/code\u003e, and \u003ccode\u003eclose\u003c/code\u003e (thanks to\nrhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eseekable\u003c/code\u003e now supports implements\n\u003ccode\u003e__getitem__\u003c/code\u003e for cached elements (thanks to SAY-5,\njenstroeger, and JamesParrott)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 11.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe changes to the type hints for \u003ccode\u003ealways_iterable\u003c/code\u003e in\n11.0.0 have been reverted due to reported problems (thanks to ngoldbaum\nand rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ezip_equal\u003c/code\u003e was removed in 11.0.0. It had been deprecated\nand raising \u003ccode\u003eDeprecationWarning\u003c/code\u003e since 2021, but it\u0027s removal\nshoul have been documented in 11.0.0\u0027s release notes. We regret the\nerror.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erunning_statistics\u003c/code\u003e has been moved from\n\u003ccode\u003emore_itertools.more\u003c/code\u003e to \u003ccode\u003emore_itertools.recipes\u003c/code\u003e.\nIts docstring was also improved (thanks to mastash3ff and\nrhettinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 11.0.1\u003c/h2\u003e\n\u003cp\u003eThis release restores \u003ccode\u003epairwise\u003c/code\u003e, which was mistakenly\nremoved in 11.0.0 instead of being deprecated. It is now marked as\ndeprecated and will be removed in a future major release. Use\n\u003ccode\u003eitertools.pairwise\u003c/code\u003e as a replacement.\u003c/p\u003e\n\u003ch2\u003eVersion 11.0.0\u003c/h2\u003e\n\u003ch3\u003ePotentially breaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.9 support was dropped, since it went EOL on 2025-10-31\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecallback_iter\u003c/code\u003e is deprecated. It will be removed in a\nfuture major release.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eiequals\u003c/code\u003e no longer returns \u003ccode\u003eTrue\u003c/code\u003e when called\nwith \u003ccode\u003e([], [ANY])\u003c/code\u003e (thanks to rhettinger and pochmann3)\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003epred\u003c/code\u003e argument for \u003ccode\u003elocate\u003c/code\u003e and\n\u003ccode\u003ereplace\u003c/code\u003e must now be able to\nhandle a variable number of arguments. See their docstrings for details.\n(thanks to veeceey, james-wasson, and pochmann3)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunique_everseen\u003c/code\u003e now raises \u003ccode\u003eTypeError\u003c/code\u003e when\ninput elements are not hashable.\nThe silent fallback mechanism for unhashable inputs has been removed.\n(thanks to rhettinger and karlicoss)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewindowed\u003c/code\u003e now raises \u003ccode\u003eValueError\u003c/code\u003e when given\na window size of \u003ccode\u003e0\u003c/code\u003e (thanks to rhettinger and brevzin)\u003c/li\u003e\n\u003cli\u003eParameter names for \u003ccode\u003eflatten\u003c/code\u003e, \u003ccode\u003eiter_except\u003c/code\u003e,\n\u003ccode\u003erepeatfunc\u003c/code\u003e, \u003ccode\u003eprepend\u003c/code\u003e, \u003ccode\u003etranspose\u003c/code\u003e,\nand \u003ccode\u003esum_of_squares\u003c/code\u003e have been changed. Code that uses these\nfunctions will need to be updated if it\nuses keywords for positional arguments. (thanks to rhettinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew functions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003econcurrent_tee\u003c/code\u003e: similar to \u003ccode\u003etee\u003c/code\u003e, but with\nguaranteed threading\nsemantics (thanks to rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erandom_derangement\u003c/code\u003e: returns a random derangement of\nelements from an\niterable (thanks to rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erunning_mean\u003c/code\u003e: yields the mean of values in an iterable,\nor in a sliding\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\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/4aeb4338ae1407d8da9723e86da99efeb446f719\"\u003e\u003ccode\u003e4aeb433\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/more-itertools/more-itertools/issues/1331\"\u003e#1331\u003c/a\u003e\nfrom more-itertools/flit-4-sdist\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/da864da6d8beaa49d693b719cbc21a5d88dfb475\"\u003e\u003ccode\u003eda864da\u003c/code\u003e\u003c/a\u003e\nVersion 11.2.1: Include additional files in sdist\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/737c261c21271e1a6eb949f7d188297bebe8b125\"\u003e\u003ccode\u003e737c261\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/more-itertools/more-itertools/issues/1314\"\u003e#1314\u003c/a\u003e\nfrom more-itertools/version-11.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/909b70336ce229088bbc253d300190c99fb8411a\"\u003e\u003ccode\u003e909b703\u003c/code\u003e\u003c/a\u003e\nBump version to 11.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/6ad55cbedd2cd722a9c029e5823177622910771a\"\u003e\u003ccode\u003e6ad55cb\u003c/code\u003e\u003c/a\u003e\nSwap 310 for 315 in tox\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/787bcb5c9faf800da3fdc72c1023c1aab24572dc\"\u003e\u003ccode\u003e787bcb5\u003c/code\u003e\u003c/a\u003e\nDrop typing_extensions for more.pyi\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/68a52e07369f3515bd9a0d5f31555429e16fcc54\"\u003e\u003ccode\u003e68a52e0\u003c/code\u003e\u003c/a\u003e\nUpdate versions.rst\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/be6ecc015e03f48c0a50f07ce6079f636c9753a4\"\u003e\u003ccode\u003ebe6ecc0\u003c/code\u003e\u003c/a\u003e\nChangelog tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/45c65a3dc532dadf014d53bcaa0c2f38cbeacfe1\"\u003e\u003ccode\u003e45c65a3\u003c/code\u003e\u003c/a\u003e\nEven more WIP release notes for 11.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/56a469cd7f3522d2f391060957b02be81809afb5\"\u003e\u003ccode\u003e56a469c\u003c/code\u003e\u003c/a\u003e\nMore WIP release ntoes 11.2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/compare/v9.1.0...v11.2.1\"\u003ecompare\nview\u003c/a\u003e\u003c/li\u003e\n\u003c/ul\u003e\n\u003c/details\u003e\n\u003cbr /\u003e\n\nUpdates `more-itertools` from 9.0.0 to 11.2.1\n\u003cdetails\u003e\n\u003csummary\u003eRelease notes\u003c/summary\u003e\n\u003cp\u003e\u003cem\u003eSourced from \u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/releases\"\u003emore-itertools\u0027s\nreleases\u003c/a\u003e.\u003c/em\u003e\u003c/p\u003e\n\u003cblockquote\u003e\n\u003ch2\u003eVersion 11.2.1\u003c/h2\u003e\n\u003cp\u003eThis release includes \u003ca\nhref\u003d\"https://redirect.github.com/more-itertools/more-itertools/issues/1331\"\u003e#1331\u003c/a\u003e,\na packaging-related change. No module code changed.\u003c/p\u003e\n\u003ch2\u003eVersion 11.2.0\u003c/h2\u003e\n\u003cp\u003eHighlights:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eNew \u003ccode\u003erandom_ordered_range\u003c/code\u003e function\u003c/li\u003e\n\u003cli\u003eNew \u003ccode\u003esubfactorial\u003c/code\u003e function\u003c/li\u003e\n\u003cli\u003ePython 3.10 is no longer officially supported\u003c/li\u003e\n\u003cli\u003ePython 3.15 is now officially supported\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eSee the \u003ca\nhref\u003d\"https://raw.githubusercontent.com/more-itertools/more-itertools/737c261c21271e1a6eb949f7d188297bebe8b125/docs/versions.rst\"\u003erelease\nnotes\u003c/a\u003e for details.\u003c/p\u003e\n\u003ch2\u003eVersion 11.1.0\u003c/h2\u003e\n\u003cp\u003eChanges:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003enumeric_range\u003c/code\u003e was updated to fix its handling of empty\nranges (thanks to rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003epeekable\u003c/code\u003e was updated to fix typing issues (thanks to\nDORI2001, powellnorma, Pandede, m9810223, and rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eislice_extended\u003c/code\u003e was optimized for memory usage and\nspeed (thanks to ben42code, rhettinger, and pochmann)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eserialize\u003c/code\u003e now supports the generator methods\n\u003ccode\u003ethrow\u003c/code\u003e, \u003ccode\u003esend\u003c/code\u003e, and \u003ccode\u003eclose\u003c/code\u003e (thanks to\nrhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eseekable\u003c/code\u003e now supports implements\n\u003ccode\u003e__getitem__\u003c/code\u003e for cached elements (thanks to SAY-5,\njenstroeger, and JamesParrott)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 11.0.2\u003c/h2\u003e\n\u003cul\u003e\n\u003cli\u003eThe changes to the type hints for \u003ccode\u003ealways_iterable\u003c/code\u003e in\n11.0.0 have been reverted due to reported problems (thanks to ngoldbaum\nand rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ezip_equal\u003c/code\u003e was removed in 11.0.0. It had been deprecated\nand raising \u003ccode\u003eDeprecationWarning\u003c/code\u003e since 2021, but it\u0027s removal\nshoul have been documented in 11.0.0\u0027s release notes. We regret the\nerror.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erunning_statistics\u003c/code\u003e has been moved from\n\u003ccode\u003emore_itertools.more\u003c/code\u003e to \u003ccode\u003emore_itertools.recipes\u003c/code\u003e.\nIts docstring was also improved (thanks to mastash3ff and\nrhettinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003eVersion 11.0.1\u003c/h2\u003e\n\u003cp\u003eThis release restores \u003ccode\u003epairwise\u003c/code\u003e, which was mistakenly\nremoved in 11.0.0 instead of being deprecated. It is now marked as\ndeprecated and will be removed in a future major release. Use\n\u003ccode\u003eitertools.pairwise\u003c/code\u003e as a replacement.\u003c/p\u003e\n\u003ch2\u003eVersion 11.0.0\u003c/h2\u003e\n\u003ch3\u003ePotentially breaking changes\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003ePython 3.9 support was dropped, since it went EOL on 2025-10-31\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ecallback_iter\u003c/code\u003e is deprecated. It will be removed in a\nfuture major release.\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eiequals\u003c/code\u003e no longer returns \u003ccode\u003eTrue\u003c/code\u003e when called\nwith \u003ccode\u003e([], [ANY])\u003c/code\u003e (thanks to rhettinger and pochmann3)\u003c/li\u003e\n\u003cli\u003eThe \u003ccode\u003epred\u003c/code\u003e argument for \u003ccode\u003elocate\u003c/code\u003e and\n\u003ccode\u003ereplace\u003c/code\u003e must now be able to\nhandle a variable number of arguments. See their docstrings for details.\n(thanks to veeceey, james-wasson, and pochmann3)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003eunique_everseen\u003c/code\u003e now raises \u003ccode\u003eTypeError\u003c/code\u003e when\ninput elements are not hashable.\nThe silent fallback mechanism for unhashable inputs has been removed.\n(thanks to rhettinger and karlicoss)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003ewindowed\u003c/code\u003e now raises \u003ccode\u003eValueError\u003c/code\u003e when given\na window size of \u003ccode\u003e0\u003c/code\u003e (thanks to rhettinger and brevzin)\u003c/li\u003e\n\u003cli\u003eParameter names for \u003ccode\u003eflatten\u003c/code\u003e, \u003ccode\u003eiter_except\u003c/code\u003e,\n\u003ccode\u003erepeatfunc\u003c/code\u003e, \u003ccode\u003eprepend\u003c/code\u003e, \u003ccode\u003etranspose\u003c/code\u003e,\nand \u003ccode\u003esum_of_squares\u003c/code\u003e have been changed. Code that uses these\nfunctions will need to be updated if it\nuses keywords for positional arguments. (thanks to rhettinger)\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003eNew functions\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e\u003ccode\u003econcurrent_tee\u003c/code\u003e: similar to \u003ccode\u003etee\u003c/code\u003e, but with\nguaranteed threading\nsemantics (thanks to rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erandom_derangement\u003c/code\u003e: returns a random derangement of\nelements from an\niterable (thanks to rhettinger)\u003c/li\u003e\n\u003cli\u003e\u003ccode\u003erunning_mean\u003c/code\u003e: yields the mean of values in an iterable,\nor in a sliding\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\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/4aeb4338ae1407d8da9723e86da99efeb446f719\"\u003e\u003ccode\u003e4aeb433\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/more-itertools/more-itertools/issues/1331\"\u003e#1331\u003c/a\u003e\nfrom more-itertools/flit-4-sdist\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/da864da6d8beaa49d693b719cbc21a5d88dfb475\"\u003e\u003ccode\u003eda864da\u003c/code\u003e\u003c/a\u003e\nVersion 11.2.1: Include additional files in sdist\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/737c261c21271e1a6eb949f7d188297bebe8b125\"\u003e\u003ccode\u003e737c261\u003c/code\u003e\u003c/a\u003e\nMerge pull request \u003ca\nhref\u003d\"https://redirect.github.com/more-itertools/more-itertools/issues/1314\"\u003e#1314\u003c/a\u003e\nfrom more-itertools/version-11.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/909b70336ce229088bbc253d300190c99fb8411a\"\u003e\u003ccode\u003e909b703\u003c/code\u003e\u003c/a\u003e\nBump version to 11.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/6ad55cbedd2cd722a9c029e5823177622910771a\"\u003e\u003ccode\u003e6ad55cb\u003c/code\u003e\u003c/a\u003e\nSwap 310 for 315 in tox\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/787bcb5c9faf800da3fdc72c1023c1aab24572dc\"\u003e\u003ccode\u003e787bcb5\u003c/code\u003e\u003c/a\u003e\nDrop typing_extensions for more.pyi\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/68a52e07369f3515bd9a0d5f31555429e16fcc54\"\u003e\u003ccode\u003e68a52e0\u003c/code\u003e\u003c/a\u003e\nUpdate versions.rst\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/be6ecc015e03f48c0a50f07ce6079f636c9753a4\"\u003e\u003ccode\u003ebe6ecc0\u003c/code\u003e\u003c/a\u003e\nChangelog tweaks\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/45c65a3dc532dadf014d53bcaa0c2f38cbeacfe1\"\u003e\u003ccode\u003e45c65a3\u003c/code\u003e\u003c/a\u003e\nEven more WIP release notes for 11.2.0\u003c/li\u003e\n\u003cli\u003e\u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/commit/56a469cd7f3522d2f391060957b02be81809afb5\"\u003e\u003ccode\u003e56a469c\u003c/code\u003e\u003c/a\u003e\nMore WIP release ntoes 11.2.0\u003c/li\u003e\n\u003cli\u003eAdditional commits viewable in \u003ca\nhref\u003d\"https://github.com/more-itertools/more-itertools/compare/v9.1.0...v11.2.1\"\u003ecompare\nview\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\u0027t\nalter it yourself. You can also trigger a rebase manually by commenting\n`@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\nthat have been made to it\n- `@dependabot show \u003cdependency name\u003e ignore conditions` will show all\nof the ignore conditions of the specified dependency\n- `@dependabot ignore \u003cdependency name\u003e major version` will close this\ngroup update PR and stop Dependabot creating any more for the specific\ndependency\u0027s major version (unless you unignore this specific\ndependency\u0027s major version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e minor version` will close this\ngroup update PR and stop Dependabot creating any more for the specific\ndependency\u0027s minor version (unless you unignore this specific\ndependency\u0027s minor version or upgrade to it yourself)\n- `@dependabot ignore \u003cdependency name\u003e` will close this group update PR\nand stop Dependabot creating any more for the specific dependency\n(unless you unignore this specific dependency or upgrade to it yourself)\n- `@dependabot unignore \u003cdependency name\u003e` will remove all of the ignore\nconditions of the specified dependency\n- `@dependabot unignore \u003cdependency name\u003e \u003cignore condition\u003e` will\nremove the ignore condition of the specified dependency and ignore\nconditions\n\n\n\u003c/details\u003e\n\n---------\n\nSigned-off-by: dependabot[bot] \u003csupport@github.com\u003e\nCo-authored-by: dependabot[bot] \u003c49699333+dependabot[bot]@users.noreply.github.com\u003e\nCo-authored-by: Richard Levasseur \u003crichardlev@gmail.com\u003e",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "b1cad6a7d6b8fbbcf91fb0204a27f901a86b564a",
      "old_mode": 33188,
      "old_path": ".github/dependabot.yml",
      "new_id": "24276923fec2d895fa1bdf075b18c8797f02d153",
      "new_mode": 33188,
      "new_path": ".github/dependabot.yml"
    },
    {
      "type": "modify",
      "old_id": "0912ccf0d0456f1cec2e77a92192c65a7e144c85",
      "old_mode": 33188,
      "old_path": "examples/wheel/pyproject.toml",
      "new_id": "fd509bf9e83cb9d7c28bf807660646a0dcd0e201",
      "new_mode": 33188,
      "new_path": "examples/wheel/pyproject.toml"
    },
    {
      "type": "modify",
      "old_id": "bb2f46afa4047a58c37d9366155ad3ac483d62a0",
      "old_mode": 33188,
      "old_path": "examples/wheel/uv.lock",
      "new_id": "949963bd9d0d2d3d7efc5fe68d3191c408990e92",
      "new_mode": 33188,
      "new_path": "examples/wheel/uv.lock"
    },
    {
      "type": "modify",
      "old_id": "f62a0a42eb43ca7fe460be8946675358db85ead0",
      "old_mode": 33188,
      "old_path": "tests/multi_pypi/alpha/pyproject.toml",
      "new_id": "13b7cdefc0531b5648c82bc91fcc6245e2aed8f5",
      "new_mode": 33188,
      "new_path": "tests/multi_pypi/alpha/pyproject.toml"
    },
    {
      "type": "modify",
      "old_id": "fc2f1f03bca890344058e3be1de0491e141bc8eb",
      "old_mode": 33188,
      "old_path": "tests/multi_pypi/alpha/uv.lock",
      "new_id": "2b1abdcf5d3e45eced16919ad4b87eb350ee8353",
      "new_mode": 33188,
      "new_path": "tests/multi_pypi/alpha/uv.lock"
    },
    {
      "type": "modify",
      "old_id": "753b52e8498aafabcc54f3bda16d1cac9f192fa2",
      "old_mode": 33188,
      "old_path": "tests/multi_pypi/beta/pyproject.toml",
      "new_id": "21fc5900572b3f1ed8cb57087d74c3916feb17e7",
      "new_mode": 33188,
      "new_path": "tests/multi_pypi/beta/pyproject.toml"
    },
    {
      "type": "modify",
      "old_id": "6ff80a5af3a9b4dcad9641e520795d7a9e1e32d4",
      "old_mode": 33188,
      "old_path": "tests/multi_pypi/beta/uv.lock",
      "new_id": "97fd4b428a7fdc902895a966a249938c57365ffd",
      "new_mode": 33188,
      "new_path": "tests/multi_pypi/beta/uv.lock"
    },
    {
      "type": "modify",
      "old_id": "ff0561a6f48e0748302a370d2c80d24bf73e1768",
      "old_mode": 33188,
      "old_path": "tests/multi_pypi/pypi_alpha/pypi_alpha_test.py",
      "new_id": "e5059937428e1b01c771617002804fbac143c14c",
      "new_mode": 33188,
      "new_path": "tests/multi_pypi/pypi_alpha/pypi_alpha_test.py"
    },
    {
      "type": "modify",
      "old_id": "bbb50dd8a8e7ebf7379ce2fbf4f552ce55c8958d",
      "old_mode": 33188,
      "old_path": "tests/multi_pypi/pypi_beta/pypi_beta_test.py",
      "new_id": "4a9317024c3f8c846700ab36fe8b38158f149aaa",
      "new_mode": 33188,
      "new_path": "tests/multi_pypi/pypi_beta/pypi_beta_test.py"
    }
  ]
}
