Skip to content

deps(deps): Bump the python-minor-and-patch group with 32 updates - #944

Merged
mpasternak merged 1 commit into
devfrom
dependabot/uv/python-minor-and-patch-cf1d990994
Nov 1, 2026
Merged

mpasternak merged 1 commit into
devfrom
dependabot/uv/python-minor-and-patch-cf1d990994

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Oct 26, 2026

Copy link
Copy Markdown
Contributor

Bumps the python-minor-and-patch group with 32 updates:

Package From To
pygad 3.7.0 3.9.2
simplejson 4.1.2 4.2.0
django-reversion 6.3.0 6.4.0
cryptography 50.0.1 50.0.2
django-grappelli 5.0.0 5.0.1
django-mptt 0.18.0 0.20.0
django-filter 26.1 26.2
djangorestframework 3.18.2 3.18.3
rjsmin 1.2.5 1.3.0
django-constance 4.3.5 4.4.0
django-weasyprint 2.5.0 2.6.0
pandas 3.0.5 3.1.0
tqdm 4.70.0 4.70.1
xhtml2pdf 0.2.18 0.2.27
chardet 7.6.0 7.7.0
psycopg2-binary 2.9.12 2.9.13
bibtexparser 2.0.0b9 2.1.0
idutils 1.7.0 1.7.1
django-auth-ldap 5.3.0 5.4.0
pytest-recording 0.13.4 0.14.0
pytest-rerunfailures 16.6.1 16.7
model-bakery 1.24.0 1.24.2
django-webtest 1.9.14 1.9.15
pytest-httpserver 1.1.5 1.2.0
pytest-mock 3.15.1 3.17.0
pyparsing 3.3.2 3.3.3
ruff 0.16.6 0.17.2
djlint 1.45.2 1.47.0
pre-commit 4.6.2 4.7.0
playwright 1.62.0 1.64.1
pytest-playwright 0.9.0 0.10.0
pytest-env 1.7.0 1.8.1

Updates pygad from 3.7.0 to 3.9.2

Release notes

Sourced from pygad's releases.

PyGAD 3.9.2

Release Date: October 16, 2026.

  1. Roulette wheel selection and stochastic universal selection no longer fail with fitness values near the float limits. In PyGAD 3.9.1, a fitness of -sys.float_info.max, which some libraries give a rejected solution, made the shifted values overflow, and parent selection raised IndexError. The values are now scaled before they are shifted or added. -inf and NaN get no chance, solutions with +inf fitness share every chance equally, and a population with no finite fitness raises a clear ValueError. Ordinary non-negative fitness keeps exactly the same probabilities.
  2. Regression tests cover the most negative float, huge values of both signs, huge positive values, infinite and missing values, and full runs with both selectors. The pygad.utils submodule version is 1.5.12.

PyGAD 3.9.1

Release Date: October 16, 2026.

  1. Roulette wheel selection and stochastic universal selection favor the better solutions when fitness values are negative. Before this change, each share was the fitness divided by the total, which flips the order for negative values: the fitness values -1 and -9 gave the worse solution 90% of the selections. Negative fitness values are now shifted by the smallest fitness first, so -1 and -9 become 8 and 0. This also covers mixed positive and negative values, and equal negative values give every solution the same chance. Fitness values that are all zero or above keep their exact previous behavior.
  2. Regression tests cover negative, mixed-sign, equal negative, multi-objective, and large Python integer fitness, and a minimization run with each selector. The pygad.utils submodule version is 1.5.11.

PyGAD 3.9.0

Release Date: October 16, 2026.

  1. Roulette wheel selection and stochastic universal selection sum fitness values in a floating-point type wide enough for the input. Large int64, uint64, float16, and float32 fitness values no longer overflow and raise ZeroDivisionError. Object arrays of Python integers keep exact values. See [PR #381](ahmedfgad/GeneticAlgorithmPython#381).
  2. SBX crossover and polynomial mutation round integer results to the nearest integer instead of truncating them. For a gene with a finite gene space, the result moves to the nearest allowed value. Before this change, the highest value of an integer gene was almost never produced, values were pulled toward zero, and SBX could not keep a parent's highest value. Results for integer genes change for the same random seed. Float genes are not affected. See Conversion and Rounding Rules.
  3. A new gene_categorical parameter marks genes whose values are categories with no order. For these genes, polynomial mutation picks one of the other allowed values at random and SBX crossover copies the value of one parent. The default None keeps the previous behavior. See Categorical Genes.
  4. Regression tests cover reaching both ends of integer and finite gene spaces, balanced steps up and down, negative ranges, stepped and uneven spaces, and every gene_categorical validation rule and operator behavior. The pygad.helper and pygad.utils submodule versions are 1.4.7 and 1.5.10.

PyGAD 3.8.1

Release Date: October 11, 2026.

  1. Random and adaptive mutation clip generated values to NumPy integer type limits before casting, fixing overflow errors and wraparound with types such as numpy.uint8 and numpy.int8. The same rule covers additive and replacement mutation, None gene-space entries, constraint candidates, and duplicate repair. Clipping applies only to explicitly requested NumPy integer types. See [issue #379](ahmedfgad/GeneticAlgorithmPython#379) and Conversion and Rounding Rules.
  2. Python int conversion of candidate arrays and population columns uses explicit signed 64-bit storage across NumPy versions and platforms, fixing large-integer conversion and initialization failures on Windows with NumPy 1.x. Integer range sampling and bounded operators use the same storage limits. Parent selection and crossover share array allocation, preserving large integers throughout the lifecycle. Per-gene Python int elements keep their scalar type, and explicitly requested NumPy types keep their widths. Supplied Python int population values must fit in signed 64-bit storage; use gene_type=object for larger supplied integers. See Conversion and Rounding Rules.
  3. Regression tests cover integer mutation limits, exact large-integer storage, initialization, constraints, duplicate repair, parent selection, crossover, and NSGA-III population growth. Windows CI checks both NumPy 1.24.4 and the latest NumPy release without version-specific implementation branches. The 16 pre-existing Windows failures with NumPy 1.24.4 are fixed, and no higher NumPy minimum is required. The pygad.helper and pygad.utils submodule versions are 1.4.6 and 1.5.8.

PyGAD 3.8.0

Release Date: October 9, 2026.

Watch the release video on YouTube.

  1. Two-point crossover selects two distinct random cut points from 0 through num_genes, with every pair equally likely. The segment length can vary from one to all genes, and the single-gene case no longer raises a slicing error. See [PR #371](ahmedfgad/GeneticAlgorithmPython#371).
  2. Swap mutation can select any pair of distinct gene positions, matching its documentation. Single-gene offspring are returned unchanged. See [PR #375](ahmedfgad/GeneticAlgorithmPython#375).
  3. SBX crossover selects the lower or upper child with equal probability, removing the bias toward lower gene values. See [PR #376](ahmedfgad/GeneticAlgorithmPython#376).
  4. Random and adaptive mutation can change permutations when allow_duplicate_genes=False leaves no unused replacement value. The fallback swaps compatible genes while preserving their numeric values, destination types, gene spaces, uniqueness, and constraints. Swapped genes are tracked within each mutation pass to prevent immediately undoing a swap. See [PR #373](ahmedfgad/GeneticAlgorithmPython#373).
  5. Regression tests cover single-gene behavior, cut-point and swap-pair coverage, SBX symmetry and bounds, mixed gene types, constrained permutations, both adaptive mutation controls, and reproducibility. The pygad.utils submodule version is 1.5.2.
  6. Parallel fitness evaluation now reuses its executor within each run() call, including adaptive offspring evaluation. Workers are shut down after normal completion, early stopping, and exceptions. Executors are excluded from checkpoints and worker snapshots.
  7. Serial, thread, and process modes use the same fitness-cache rules and result validation. Adaptive mutation evaluates the actual offspring, supplies None for their not-yet-assigned population indices, preserves fractional fitness, and uses the correct retained-parent or elite fitness. These evaluations are included in num_fitness_evaluations and the evaluations_<N> stop criterion. See issues #195 and #201.

... (truncated)

Changelog

Sourced from pygad's changelog.

PyGAD 3.8.0 release readiness

Prepublication review completed October 9, 2026. This document records the preparation and validation performed on github-actions before its release pull request to master. The publication date in the release notes is October 9, 2026.

Published release

PyGAD 3.8.0 is published on PyPI and GitHub. [PR #378](ahmedfgad/GeneticAlgorithmPython#378) merged github-actions into master. The release tag points to commit c8752b6a901a078299998f137453f7b650046c94.

The publishing workflow passed all seven Python jobs, package checks, documentation checks, PyPI publication, and GitHub Release creation. Independent downloads confirmed that both GitHub package files match PyPI by SHA-256. Fresh installs of the wheel and source distribution passed optimization, repeated-history, transparent-chart, and PDF-report checks. Another 151 regression tests passed against the published wheel. The public latest and stable documentation builds succeeded.

Watch the published announcement video on YouTube.

Version

At the start of this review, the latest public release was 3.7.0, published June 5, 2026. The prepared release is 3.8.0 because it adds public features, including plot_lifecycle() and generation metadata, alongside fixes and internal refactoring. A patch release would understate those additions. The main GA constructor signature is unchanged from 3.7.0; the reviewed changes do not require a new major version.

The package version is prepared in pygad/_version.py. Sphinx reads that file directly so documentation and package versions cannot drift.

Validation

  • Release preparation baseline: 1,871 tests passed, one skipped, on Python 3.11.13 with NumPy 2.4.4. The skip is the unavailable Windows fork process start method.
  • TensorFlow/Keras and PyTorch tests were excluded locally because those optional frameworks are absent. They are covered by the existing remote matrix on its supported framework versions.
  • Latest matrix: all seven Python 3.8 through 3.14 jobs passed at commit adde6bfe83f1e8b2ba8a3c8f73205f2dbcab8951, including the lifecycle export fix, using the changed workflow and installed 3.8.0 wheels: https://github.com/ahmedfgad/GeneticAlgorithmPython/actions/runs/37995352872
  • SDK compatibility: all six minimum/latest/development SDK jobs on Python 3.9

... (truncated)

Commits
  • 02069ae Release PyGAD 3.9.2
  • 8e6a0c4 Release PyGAD 3.9.1
  • 18ff9be Release PyGAD 3.9.0
  • 079bf39 Release PyGAD 3.8.1
  • 75de35f Link the published PyGAD 3.8.0 release video
  • c8752b6 Release PyGAD 3.8.0
  • 7e21f58 Include release tooling and notes in the source distribution
  • d04174b Finalize PyGAD 3.8.0 notes and verify published release assets
  • 23ac023 Record completed video revisions and saved music library
  • adde6bf Fit lifecycle charts to content and support transparent exports
  • Additional commits viewable in compare view

Updates simplejson from 4.1.2 to 4.2.0

Release notes

Sourced from simplejson's releases.

v4.2.0

What's Changed

New Contributors

Full Changelog: simplejson/simplejson@v4.1.2...v4.2.0

Changelog

Sourced from simplejson's changelog.

Version 4.2.0 released 2026-10-02

  • Start building wheels for Python 3.15 and drop Python 3.8 support via upgrade to cibuildwheel v4.2.0 simplejson/simplejson#385
  • Build and test riscv64 Linux wheels on native RISE runners simplejson/simplejson#389
  • The C scanner now reports the same error message as the pure Python decoder for an invalid first key in an object simplejson/simplejson#388
  • int_as_string_bitcount now supports thresholds of 64 bits and above (including 128-bit integers) in both the C and pure Python encoders; the C encoder previously rejected them simplejson/simplejson#387
  • Circular references introduced through for_json() or _asdict() now raise ValueError("Circular reference detected") instead of recursing without bound simplejson/simplejson#390
  • CI now tests Python 3.15 (including free-threaded 3.15t), PyPy 3.12, CPython 3.14.8 debug builds, and uses current GitHub Actions and cibuildwheel v4.2.1 simplejson/simplejson#386

Version 4.1.2 released 2026-08-26

Version 4.1.1 released 2026-04-24

  • The build_wheels_py27 CI job now also builds Python 2.7 wheels for Windows AMD64 and Windows x86, joining the existing Py2.7 manylinux1 / manylinux2010 x86_64 wheels. This unblocks offline / --no-index installs on Py2.7-on-Windows (the original reporter's case), which previously had no matching binary wheel on PyPI, fell through to the sdist, and failed on the PEP 517 isolated-build step complaining that setuptools>=42 was not in the wheelhouse. simplejson/simplejson#377

Version 4.1.0 released 2026-04-22

  • The C extension now accelerates encoding when indent= is set.

... (truncated)

Commits
  • 0ace7d1 Prep for v4.2.0 - Update CHANGES and build matrix (#386)
  • c3edf28 ci: build and test riscv64 wheels (#389)
  • 41f8017 Check circular references introduced by custom JSON methods (#390)
  • 48e7c3b Support large integer stringification thresholds in both encoders (#387)
  • 50cadb6 Use the first-key error message in the C scanner (#388)
  • fbc057f Start building CPython 3.15 wheels (#385)
  • See full diff in compare view

Updates django-reversion from 6.3.0 to 6.4.0

Release notes

Sourced from django-reversion's releases.

v6.4.0

What's Changed

New Contributors

Full Changelog: etianen/django-reversion@v6.3.0...v6.4.0

Changelog

Sourced from django-reversion's changelog.

6.4.0 - 2026-10-15

Commits

Updates cryptography from 50.0.1 to 50.0.2

Changelog

Sourced from cryptography's changelog.

50.0.2 - 2026-09-30


* Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 4.0.3.
* Added ``abi3.abi3t`` wheels for free-threaded CPython 3.15 and later.
* Updated to PyO3 0.29.2, which fixes building ``cryptography`` on Cygwin and
  MSYS2.

.. _v50-0-1:

Commits

Updates django-grappelli from 5.0.0 to 5.0.1

Changelog

Sourced from django-grappelli's changelog.

5.0.1 (October 16th, 2026)

  • Added: dark theme, following Django's admin dark-mode toggle (auto/light/dark). No configuration is required (#1018).
  • Changed: |grappelli|'s skin colours are now CSS custom properties (--grp-*) instead of Sass-only variables, so a dark value can be overridden in plain CSS. Overriding a $grp-* Sass variable before importing |grappelli|'s sass still works exactly as before; calling a Sass colour function (e.g. darken()) on a $grp-* variable after the import no longer works, because it now resolves to a CSS custom property. See :ref:Customization <customizationdarktheme> for the override pattern that replaces it.
  • Fixed: Django's inlined theme-toggle icon definitions (the three <symbol> elements admin/color_theme_toggle.html references) were laying out as an empty 300x150 box; hiding them (svg.base-svgs { display: none }) makes every page 130-154px shorter than it would otherwise be. Net-neutral against the previous release, since the icons themselves are new in this one.
  • Fixed: the jQuery UI datepicker and autocomplete overlay frame now renders the [#888](https://github.com/sehmaschine/django-grappelli/issues/888) |grappelli| has always declared for it, instead of jQuery UI's own #c5c5c5, which was winning because the declaration used a descendant selector that never reached the widget root. This matches #ui-timepicker, which has always rendered [#888](https://github.com/sehmaschine/django-grappelli/issues/888). This is a small but real change to light-theme rendering: the datepicker overlay differs by roughly 1000 pixels against the previous release.
  • Fixed: .grp-collapse-handler is now bound with a single delegated click handler instead of one direct handler per element at init time, so collapsibles injected into the page after load (e.g. inline rows fetched by AJAX) toggle without re-running grp_collapsible() on the new markup (#1060).
  • Fixed: on a paginated changelist, choosing "Select all N across pages" now hides the per-page "X of Y selected" counter, leaving only "All N selected". The counter's hidden class was toggled on the inner <span>, which no CSS rule matched; it is now toggled on the li.grp-action-counter like every other action-bar chip (#1080).
  • Fixed: changelist pagination numbers rendered as oversized filled buttons with unreadable labels, and the current page was no longer highlighted. Django now emits paginator numbers as <a role="button"> and the current page as <a aria-current="page"> (previously <span class="this-page">). The a[role="button"] button styling added for the password-reset link (#1073) was catching the former; it is now scoped to a[role="button"].button. The current-page style is now keyed off a[aria-current="page"] as well as span (#1080).
  • Fixed: on a filtered changelist, the paginator carried a reset link (href="?") next to the "Show all" link, and with show_full_result_count = False both of them were labelled "Show all". Clicking the reset link dropped the filters, and _popup/_to_field with them in a related-lookup popup. The paginator now states the counts as plain text and keeps a single link, "Show all", which puts every row on one page with the filters intact. Clearing filters is an explicit "Clear all filters" link in the filter pulldown, built from cl.has_active_filters and cl.clear_all_filters_qs, so it removes the filter parameters only and leaves the search query in place (#1087).
Commits
  • d07dc6d docs for upcoming release (5.0.1)
  • 6326a0b Merge pull request #1088 from PNoryk/issue/1087-pagination-show-all-filters
  • f98a2db Fixed: paginator "Show all" no longer drops the filters, #1087
  • 667e847 Merge pull request #1086 from sehmaschine/issue/1080-hide-action-counter-on-s...
  • 5f1ab76 Fixed: changelist pagination numbers styled as oversized buttons, #1080
  • 2766541 Fixed: hide per-page action counter on "select all across pages", #1080
  • 1a1886f Merge pull request #1085 from sehmaschine/issue/1060-collapse-handler-injecte...
  • 88c0f1a Updated changelog and javascripts docs for #1060
  • e38afe1 Fixed: delegate grp-collapse-handler so injected collapsibles toggle, #1060
  • a4a6ed4 Merge pull request #1084 from sehmaschine/issue/1018-compatibility-with-djang...
  • Additional commits viewable in compare view

Updates django-mptt from 0.18.0 to 0.20.0

Changelog

Sourced from django-mptt's changelog.

========== Change log

Next version

0.20 (2026-10-20)

  • DraggableMPTTAdmin now uses Script(src, **attrs) instead of the deprecated JS(src, {...}) form of django-js-asset, and requires django-js-asset>=4.0.

0.19.1 (2026-10-16)

  • Fixed move_to() / TreeManager.move_node() corrupting the tree when the node or the target instance was loaded before other nodes were moved; their tree fields (and the node's parent) are now reloaded from the database before the move (#257, #568).
  • Fixed delay_mptt_updates() leaving a gap in the old tree when a node was moved out of it; the old tree is now rebuilt as well when the block exits (fixes #483).
  • Documented why transaction.atomic() alone does not prevent concurrent writes from corrupting the tree and how to serialize tree writes.

0.19 (2026-10-16)

  • Added support for Python 3.14, Django 6.0 and Django 6.1.
  • Fixed is_root_node() incorrectly returning True for unsaved instances that have a parent assigned but not yet saved (fixes #617).
  • Fixed _is_saved() always returning True for models with a UUID primary key or any other auto-generated non-None PK by using _state.adding instead of checking pk is None (fixes #514).
  • Removed the unnecessary get_absolute_url() call per row in DraggableMPTTAdmin.tree_actions(); the resulting data-url attribute was not used by the drag-and-drop JavaScript and caused N+1 queries when get_absolute_url() traversed the tree (fixes #782).
  • Fixed delete_selected_tree admin action crashing with CantDisableUpdates when used with a proxy model; it now correctly calls delay_mptt_updates() on the underlying concrete model (fixes #615).
  • Fixed save(using=...) and delete(using=...) ignoring the specified database for MPTT tree management queries; they now route raw SQL and queryset operations to the correct database instead of always falling back to default (fixes #685).
  • Fixed duplicate tree_id values when saving a root node after changing its order_insertion_by field while other root nodes have already been reshuffled since the instance was loaded. The MPTT tree fields are now

... (truncated)

Commits
  • 24cd820 django-mptt 0.20
  • 07ef548 Use Script instead of the deprecated JS attrs dict
  • 6a0ad74 django-mptt 0.19.1
  • 3410f48 Document a concrete recipe for serializing tree writes
  • 1b96b33 Update README: rebuild() does not lock, CI badge, issue link
  • 27f4cd6 Note LLM disclosure for issue comments and the closed tree issues in AGENTS.md
  • 67c4ee3 Reload tree fields of both nodes before move_to() (#257, #568)
  • 27efff7 Rebuild the old tree when moving nodes in delay_mptt_updates (fixes #483)
  • 44dca73 Update action versions
  • f4b47ea django-mptt 0.19
  • Additional commits viewable in compare view

Updates django-filter from 26.1 to 26.2

Changelog

Sourced from django-filter's changelog.

Version 26.2 (2026-10-03)

  • Added testing against Python 3.15.

  • Dropped support for Python 3.10.

  • LinkWidget will now conditionally escape provided label text.

    Filter choices are under developer control, and applications populating them from user-supplied values, including via AllValuesFilter, must filter those appropriately, as always. Nonetheless, escaping labels by default serves as defense-in-depth hardening. Apply mark_safe() to labels intended to contain HTML.

    Thanks to Sanjeev Kumar for the report.

Commits
  • daddf7b Set date and bump version for 26.2 release.
  • a3593ea Escape LinkWidget values.
  • 29be896 Update testing to add Python 3.15 and drop 3.10.
  • 5128b8f Increase the version upper limit for flit_core to 5
  • See full diff in compare view

Updates djangorestframework from 3.18.2 to 3.18.3

Release notes

Sourced from djangorestframework's releases.

3.18.3

What's Changed

Bug fixes

Full Changelog: encode/django-rest-framework@3.18.2...3.18.3

Commits

Updates rjsmin from 1.2.5 to 1.3.0

Commits

Updates django-constance from 4.3.5 to 4.4.0

Release notes

Sourced from django-constance's releases.

4.4.0

What's Changed

New Contributors

Full Changelog: django-commons/django-constance@4.3.5...4.4.0

Commits
  • 1914f76 ci(release): publish only from django commons
  • 17d6ea2 Publish releases from Jazzband until the repository transfer.
  • 02f3e96 Avoid leaking read-only state between forms (#672)
  • 71045b5 Switch release and project information to Django Commons (#673)
  • d77bace chore(ci): bump the github-actions group with 2 updates (#671)
  • 7c2bac5 Merge pull request #670 from jazzband/dependabot/github_actions/github-action...
  • b3c409e chore(ci): bump the github-actions group with 2 updates
  • 20080d6 Made 0003_drop_pickle.py database (multi-tenant) aware (#669)
  • e9f850b chore(ci): bump pypa/gh-action-pypi-publish in the github-actions group (#666)
  • 7400ff9 Remove idempotent autofill to fix lazy config load in async context (#668)
  • Additional commits viewable in compare view

Updates django-weasyprint from 2.5.0 to 2.6.0

Release notes

Sourced from django-weasyprint's releases.

v2.6.0 🍂

  • Add WeasyPrint 70 to the test matrix
  • Fix Content-Disposition for non-ASCII pdf_filename by following RFC 6266 (#122, #123, by @​rfricz)
  • Changed: the header now reads attachment; filename="..." (with a space), and responses without a pdf_filename now send a plain Content-Disposition: attachment unless pdf_attachment = False
Changelog

Sourced from django-weasyprint's changelog.

[2.6.0] - 2026-10-01

  • Add WeasyPrint 70 to the test matrix
  • Fix Content-Disposition for non-ASCII pdf_filename by following RFC 6266 (#122, #123, by @​rfricz)
  • Changed: the header now reads attachment; filename="..." (with a space), and responses without a pdf_filename now send a plain Content-Disposition: attachment unless pdf_attachment = False
Commits
  • c88c5ef Prepare release 2.6.0
  • 2a52989 Add WeasyPrint 70 to the test matrix
  • 0dc9c29 Run zizmor and make improvements
  • 3b8641f Upgrade github actions
  • eec47c0 Merge pull request #123 from rfricz/header_fix
  • af3411c Keep Django 3.2 support and document bare Content-Disposition
  • bbc8b3c Construct Content-Disposition header as specified by RFC 6266 to support inte...
  • 6963dd2 Fix UP033: use functools.cache instead of lru_cache(maxsize=None)
  • 3b969a5 Add funding sources for GitHub and Open Collective
  • d88753a Run CI on releases/**
  • Additional commits viewable in compare view

Updates pandas from 3.0.5 to 3.1.0

Release notes

Sourced from pandas's releases.

pandas 3.1.0

We are pleased to announce the release of pandas 3.1.0. This release includes some new features, bug fixes, and performance improvements. We recommend that all users upgrade to this version.

Highlights include:

See the detailed release notes for a list of all the changes.

The release can be installed from PyPI:

python -m pip install --upgrade pandas

Or from conda-forge

conda install -c conda-forge pandas

Please report any issues with the release on the pandas issue tracker.

Thanks to all the contributors who made this release possible.

pandas 3.1.0rc0

We are pleased to announce a release candidate for pandas 3.1.0.

See the whatsnew for a list of all the changes.

The release can be installed from PyPI:

python -m pip install --upgrade --pre pandas==3.1.0rc0

Or from conda-forge

conda install -c conda-forge/label/pandas_rc pandas==3.1.0rc0

Please report any issues with the release candidate on the pandas issue tracker.

Thanks to all the contributors who made this release possible.

pandas 3.0.6

We are pleased to announce the release of pandas 3.0.6. This is a patch release in the 3.0.x series and includes some regression fixes and bug fixes. We recommend that all users of the 3.0.x series upgrade to this version. This is also the first release to support Python 3.15.

See the full whatsnew for a list of all the changes.

Pandas 3.0 supports Python 3.11 and higher. The release can be installed from PyPI:

python -m pip install --upgrade pandas==3.0.*

... (truncated)

Commits
  • c6f4676 RLS: 3.1.0
  • dd69475 Backport PR #71468 on branch 3.1.x (DOC: 3.1 whatsnew: add some structure to ...
  • 4ccc19a Backport PR #71465 on branch 3.1.x (DOC: update announce (contributor listing...
  • 24dae63 [backport 3.1.x] DOC: cleanup 3.1.0 whatsnew (#71408) (#71466)
  • 8519ca6 [backport 3.1.x] CI: temporary pin dateutil to <3 (#71461) (#71464)
  • 2126193 Backport PR #71387 on branch 3.1.x (BUG: fix string regex operations with $ e...
  • 4700f5d Backport PR #71442 on branch 3.1.x (BUG: parallel read_csv raising released m...
  • 08efb14 Backport PR #71456 on branch 3.1.x (TST: Fix test_reduce_array until reduct...
  • ee8dcb7 Backport PR #71429 on branch 3.1.x (DOC: add dedicated 3.1 whatsnew section f...
  • d93e32c Backport PR #71383 on branch 3.1.x (BUG: fix string regex operations with Pyt...
  • Additional commits viewable in compare view

Updates tqdm from 4.70.0 to 4.70.1

Release notes

Sourced from tqdm's releases.

tqdm v4.70.1 stable

  • contrib.concurrent: fix no-len iterables (#1830 <- #1828)
  • tests: major overhaul (#1819)
  • update AI policy in PR template
  • misc lint & tidy
  • CI: bump workflow actions & pre-commit hooks
Description has been truncated

Bumps the python-minor-and-patch group with 32 updates:

| Package | From | To |
| --- | --- | --- |
| [pygad](https://github.com/ahmedfgad/GeneticAlgorithmPython) | `3.7.0` | `3.9.2` |
| [simplejson](https://github.com/simplejson/simplejson) | `4.1.2` | `4.2.0` |
| [django-reversion](https://github.com/etianen/django-reversion) | `6.3.0` | `6.4.0` |
| [cryptography](https://github.com/pyca/cryptography) | `50.0.1` | `50.0.2` |
| [django-grappelli](https://github.com/sehmaschine/django-grappelli) | `5.0.0` | `5.0.1` |
| [django-mptt](https://github.com/django-mptt/django-mptt) | `0.18.0` | `0.20.0` |
| [django-filter](https://github.com/carltongibson/django-filter) | `26.1` | `26.2` |
| [djangorestframework](https://github.com/encode/django-rest-framework) | `3.18.2` | `3.18.3` |
| [rjsmin](https://github.com/ndparker/rjsmin) | `1.2.5` | `1.3.0` |
| [django-constance](https://github.com/django-commons/django-constance) | `4.3.5` | `4.4.0` |
| [django-weasyprint](https://github.com/fdemmer/django-weasyprint) | `2.5.0` | `2.6.0` |
| [pandas](https://github.com/pandas-dev/pandas) | `3.0.5` | `3.1.0` |
| [tqdm](https://github.com/tqdm/tqdm) | `4.70.0` | `4.70.1` |
| [xhtml2pdf](https://github.com/xhtml2pdf/xhtml2pdf) | `0.2.18` | `0.2.27` |
| [chardet](https://github.com/chardet/chardet) | `7.6.0` | `7.7.0` |
| [psycopg2-binary](https://github.com/psycopg/psycopg2) | `2.9.12` | `2.9.13` |
| [bibtexparser](https://github.com/sciunto-org/python-bibtexparser) | `2.0.0b9` | `2.1.0` |
| [idutils](https://github.com/inveniosoftware/idutils) | `1.7.0` | `1.7.1` |
| [django-auth-ldap](https://github.com/django-auth-ldap/django-auth-ldap) | `5.3.0` | `5.4.0` |
| [pytest-recording](https://github.com/kiwicom/pytest-recording) | `0.13.4` | `0.14.0` |
| [pytest-rerunfailures](https://github.com/pytest-dev/pytest-rerunfailures) | `16.6.1` | `16.7` |
| [model-bakery](https://github.com/model-bakers/model_bakery) | `1.24.0` | `1.24.2` |
| [django-webtest](https://github.com/django-webtest/django-webtest) | `1.9.14` | `1.9.15` |
| [pytest-httpserver](https://github.com/csernazs/pytest-httpserver) | `1.1.5` | `1.2.0` |
| [pytest-mock](https://github.com/pytest-dev/pytest-mock) | `3.15.1` | `3.17.0` |
| [pyparsing](https://github.com/pyparsing/pyparsing) | `3.3.2` | `3.3.3` |
| [ruff](https://github.com/astral-sh/ruff) | `0.16.6` | `0.17.2` |
| [djlint](https://github.com/djlint/djLint) | `1.45.2` | `1.47.0` |
| [pre-commit](https://github.com/pre-commit/pre-commit) | `4.6.2` | `4.7.0` |
| [playwright](https://github.com/microsoft/playwright-python) | `1.62.0` | `1.64.1` |
| [pytest-playwright](https://github.com/microsoft/playwright-pytest) | `0.9.0` | `0.10.0` |
| [pytest-env](https://github.com/pytest-dev/pytest-env) | `1.7.0` | `1.8.1` |


Updates `pygad` from 3.7.0 to 3.9.2
- [Release notes](https://github.com/ahmedfgad/GeneticAlgorithmPython/releases)
- [Changelog](https://github.com/ahmedfgad/GeneticAlgorithmPython/blob/master/docs/RELEASE_READINESS_3.8.0.md)
- [Commits](ahmedfgad/GeneticAlgorithmPython@3.7.0...3.9.2)

Updates `simplejson` from 4.1.2 to 4.2.0
- [Release notes](https://github.com/simplejson/simplejson/releases)
- [Changelog](https://github.com/simplejson/simplejson/blob/main/CHANGES.txt)
- [Commits](simplejson/simplejson@v4.1.2...v4.2.0)

Updates `django-reversion` from 6.3.0 to 6.4.0
- [Release notes](https://github.com/etianen/django-reversion/releases)
- [Changelog](https://github.com/etianen/django-reversion/blob/master/CHANGELOG.rst)
- [Commits](etianen/django-reversion@v6.3.0...v6.4.0)

Updates `cryptography` from 50.0.1 to 50.0.2
- [Changelog](https://github.com/pyca/cryptography/blob/main/CHANGELOG.rst)
- [Commits](pyca/cryptography@50.0.1...50.0.2)

Updates `django-grappelli` from 5.0.0 to 5.0.1
- [Changelog](https://github.com/sehmaschine/django-grappelli/blob/master/docs/changelog.rst)
- [Commits](sehmaschine/django-grappelli@5.0.0...5.0.1)

Updates `django-mptt` from 0.18.0 to 0.20.0
- [Changelog](https://github.com/django-mptt/django-mptt/blob/main/CHANGELOG.rst)
- [Commits](django-mptt/django-mptt@0.18...0.20)

Updates `django-filter` from 26.1 to 26.2
- [Release notes](https://github.com/carltongibson/django-filter/releases)
- [Changelog](https://github.com/carltongibson/django-filter/blob/main/CHANGES.rst)
- [Commits](carltongibson/django-filter@26.1...26.2)

Updates `djangorestframework` from 3.18.2 to 3.18.3
- [Release notes](https://github.com/encode/django-rest-framework/releases)
- [Commits](encode/django-rest-framework@3.18.2...3.18.3)

Updates `rjsmin` from 1.2.5 to 1.3.0
- [Changelog](https://github.com/ndparker/rjsmin/blob/master/CHANGES)
- [Commits](ndparker/rjsmin@1.2.5...1.3.0)

Updates `django-constance` from 4.3.5 to 4.4.0
- [Release notes](https://github.com/django-commons/django-constance/releases)
- [Changelog](https://github.com/django-commons/django-constance/blob/master/docs/changes.rst)
- [Commits](django-commons/django-constance@4.3.5...4.4.0)

Updates `django-weasyprint` from 2.5.0 to 2.6.0
- [Release notes](https://github.com/fdemmer/django-weasyprint/releases)
- [Changelog](https://github.com/fdemmer/django-weasyprint/blob/main/CHANGELOG.md)
- [Commits](fdemmer/django-weasyprint@v2.5.0...v2.6.0)

Updates `pandas` from 3.0.5 to 3.1.0
- [Release notes](https://github.com/pandas-dev/pandas/releases)
- [Commits](pandas-dev/pandas@v3.0.5...v3.1.0)

Updates `tqdm` from 4.70.0 to 4.70.1
- [Release notes](https://github.com/tqdm/tqdm/releases)
- [Commits](tqdm/tqdm@v4.70.0...v4.70.1)

Updates `xhtml2pdf` from 0.2.18 to 0.2.27
- [Release notes](https://github.com/xhtml2pdf/xhtml2pdf/releases)
- [Commits](xhtml2pdf/xhtml2pdf@v0.2.18...v0.2.27)

Updates `chardet` from 7.6.0 to 7.7.0
- [Release notes](https://github.com/chardet/chardet/releases)
- [Changelog](https://github.com/chardet/chardet/blob/main/docs/changelog.rst)
- [Commits](chardet/chardet@7.6.0...7.7.0)

Updates `psycopg2-binary` from 2.9.12 to 2.9.13
- [Changelog](https://github.com/psycopg/psycopg2/blob/master/NEWS)
- [Commits](psycopg/psycopg2@2.9.12...2.9.13)

Updates `bibtexparser` from 2.0.0b9 to 2.1.0
- [Release notes](https://github.com/sciunto-org/python-bibtexparser/releases)
- [Changelog](https://github.com/sciunto-org/python-bibtexparser/blob/main/CHANGELOG)
- [Commits](sciunto-org/python-bibtexparser@v2.0.0b9...v2.1.0)

Updates `idutils` from 1.7.0 to 1.7.1
- [Changelog](https://github.com/inveniosoftware/idutils/blob/master/docs/changelog.md)
- [Commits](inveniosoftware/idutils@v1.7.0...v1.7.1)

Updates `django-auth-ldap` from 5.3.0 to 5.4.0
- [Release notes](https://github.com/django-auth-ldap/django-auth-ldap/releases)
- [Changelog](https://github.com/django-auth-ldap/django-auth-ldap/blob/main/docs/changes.rst)
- [Commits](django-auth-ldap/django-auth-ldap@5.3.0...5.4.0)

Updates `pytest-recording` from 0.13.4 to 0.14.0
- [Release notes](https://github.com/kiwicom/pytest-recording/releases)
- [Changelog](https://github.com/kiwicom/pytest-recording/blob/master/docs/changelog.rst)
- [Commits](kiwicom/pytest-recording@v0.13.4...v0.14.0)

Updates `pytest-rerunfailures` from 16.6.1 to 16.7
- [Changelog](https://github.com/pytest-dev/pytest-rerunfailures/blob/master/CHANGES.rst)
- [Commits](pytest-dev/pytest-rerunfailures@16.6.1...16.7)

Updates `model-bakery` from 1.24.0 to 1.24.2
- [Release notes](https://github.com/model-bakers/model_bakery/releases)
- [Changelog](https://github.com/model-bakers/model_bakery/blob/main/CHANGELOG.md)
- [Commits](model-bakers/model_bakery@1.24.0...1.24.2)

Updates `django-webtest` from 1.9.14 to 1.9.15
- [Changelog](https://github.com/django-webtest/django-webtest/blob/master/CHANGES.rst)
- [Commits](django-webtest/django-webtest@1.9.14...1.9.15)

Updates `pytest-httpserver` from 1.1.5 to 1.2.0
- [Release notes](https://github.com/csernazs/pytest-httpserver/releases)
- [Changelog](https://github.com/csernazs/pytest-httpserver/blob/master/CHANGES.rst)
- [Commits](csernazs/pytest-httpserver@1.1.5...1.2.0)

Updates `pytest-mock` from 3.15.1 to 3.17.0
- [Release notes](https://github.com/pytest-dev/pytest-mock/releases)
- [Changelog](https://github.com/pytest-dev/pytest-mock/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest-mock@v3.15.1...v3.17.0)

Updates `pyparsing` from 3.3.2 to 3.3.3
- [Release notes](https://github.com/pyparsing/pyparsing/releases)
- [Changelog](https://github.com/pyparsing/pyparsing/blob/master/CHANGES)
- [Commits](pyparsing/pyparsing@3.3.2...3.3.3)

Updates `ruff` from 0.16.6 to 0.17.2
- [Release notes](https://github.com/astral-sh/ruff/releases)
- [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md)
- [Commits](astral-sh/ruff@0.16.6...0.17.2)

Updates `djlint` from 1.45.2 to 1.47.0
- [Release notes](https://github.com/djlint/djLint/releases)
- [Changelog](https://github.com/djlint/djLint/blob/master/CHANGELOG.md)
- [Commits](djlint/djLint@v1.45.2...v1.47.0)

Updates `pre-commit` from 4.6.2 to 4.7.0
- [Release notes](https://github.com/pre-commit/pre-commit/releases)
- [Changelog](https://github.com/pre-commit/pre-commit/blob/main/CHANGELOG.md)
- [Commits](pre-commit/pre-commit@v4.6.2...v4.7.0)

Updates `playwright` from 1.62.0 to 1.64.1
- [Release notes](https://github.com/microsoft/playwright-python/releases)
- [Commits](microsoft/playwright-python@v1.62.0...v1.64.1)

Updates `pytest-playwright` from 0.9.0 to 0.10.0
- [Release notes](https://github.com/microsoft/playwright-pytest/releases)
- [Commits](microsoft/playwright-pytest@v0.9.0...v0.10.0)

Updates `pytest-env` from 1.7.0 to 1.8.1
- [Release notes](https://github.com/pytest-dev/pytest-env/releases)
- [Changelog](https://github.com/pytest-dev/pytest-env/blob/main/CHANGELOG.md)
- [Commits](pytest-dev/pytest-env@1.7.0...1.8.1)

---
updated-dependencies:
- dependency-name: pygad
  dependency-version: 3.9.2
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: simplejson
  dependency-version: 4.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: django-reversion
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: cryptography
  dependency-version: 50.0.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: django-grappelli
  dependency-version: 5.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: django-mptt
  dependency-version: 0.20.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: django-filter
  dependency-version: '26.2'
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: djangorestframework
  dependency-version: 3.18.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: rjsmin
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: django-constance
  dependency-version: 4.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: django-weasyprint
  dependency-version: 2.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: pandas
  dependency-version: 3.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: tqdm
  dependency-version: 4.70.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: xhtml2pdf
  dependency-version: 0.2.27
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: chardet
  dependency-version: 7.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: psycopg2-binary
  dependency-version: 2.9.13
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: bibtexparser
  dependency-version: 2.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: idutils
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: django-auth-ldap
  dependency-version: 5.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: pytest-recording
  dependency-version: 0.14.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: pytest-rerunfailures
  dependency-version: '16.7'
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: model-bakery
  dependency-version: 1.24.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: django-webtest
  dependency-version: 1.9.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: pytest-httpserver
  dependency-version: 1.2.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: pytest-mock
  dependency-version: 3.17.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: pyparsing
  dependency-version: 3.3.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: python-minor-and-patch
- dependency-name: ruff
  dependency-version: 0.17.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: djlint
  dependency-version: 1.47.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: pre-commit
  dependency-version: 4.7.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: playwright
  dependency-version: 1.64.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: pytest-playwright
  dependency-version: 0.10.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
- dependency-name: pytest-env
  dependency-version: 1.8.1
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: python-minor-and-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update Python code labels Oct 26, 2026
@mpasternak
mpasternak merged commit 696aee9 into dev Nov 1, 2026
20 of 21 checks passed
@mpasternak
mpasternak deleted the dependabot/uv/python-minor-and-patch-cf1d990994 branch November 1, 2026 21:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update Python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant