Skip to content

Bump the pip group across 1 directory with 7 updates#1

Open
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/pip/pip-460489f4d1
Open

Bump the pip group across 1 directory with 7 updates#1
dependabot[bot] wants to merge 1 commit intomasterfrom
dependabot/pip/pip-460489f4d1

Conversation

@dependabot
Copy link
Copy Markdown

@dependabot dependabot Bot commented on behalf of github Sep 9, 2025

Bumps the pip group with 7 updates in the / directory:

Package From To
django 1.9.12 4.2.24
djangorestframework 3.5.3 3.15.2
pymongo 3.4.0 4.6.3
requests 2.12.4 2.32.4
gunicorn 19.6.0 23.0.0
gevent 1.2.0 23.9.0
wheel 0.29.0 0.38.1

Updates django from 1.9.12 to 4.2.24

Commits
  • 5e23d89 [4.2.x] Bumped version for 4.2.24 release.
  • 31334e6 [4.2.x] Fixed CVE-2025-57833 -- Protected FilteredRelation against SQL inject...
  • d5860d5 [4.2.x] Added stub release notes and release date for 4.2.24.
  • c3f9871 [4.2.x] Fixed #36499 -- Adjusted utils_tests.test_html.TestUtilsHtml.test_str...
  • 2a79837 [4.2.x] Fixed test_utils.tests.HTMLEqualTests.test_parsing_errors following P...
  • 7335a1a [4.2.x] Refs #36535 -- Doc'd that docutils < 0.22 is required.
  • 591b23a [4.2.x] Fixed GitHub Action that checks commit prefixes to fetch PR head corr...
  • 0c9ab35 [4.2.x] Added GitHub Action to enforce stable branch commit message prefix.
  • 8293b0f [4.2.x] Added follow-up to CVE-2025-48432 to security archive.
  • bc4d96c [4.2.x] Post-release version bump.
  • Additional commits viewable in compare view

Updates djangorestframework from 3.5.3 to 3.15.2

Release notes

Sourced from djangorestframework's releases.

3.15.2

What's Changed

New Contributors

Full Changelog: encode/django-rest-framework@3.15.1...3.15.2

Version 3.15.1

What's Changed

New Contributors

... (truncated)

Commits
  • c7a7eae Version 3.15.2 (#9439)
  • 3b41f01 Fix potential XSS vulnerability in break_long_headers template filter (#9435)
  • fe92f0d Add __hash__ method for permissions.OperandHolder class (#9417)
  • fbdab09 docs: Correct some evaluation results and a httpie option in Tutorial1 (#9421)
  • 36d5c0e tests: Check urlpatterns after cleanups (#9400)
  • 9d4ed05 Don't use Windows line endings
  • b34bde4 Fix typo in setup.cfg setting
  • ab681f2 Update requirements in docs
  • 2237724 bump pygments (security hygiene)
  • d58b8da Update deprecation hints
  • Additional commits viewable in compare view

Updates pymongo from 3.4.0 to 4.6.3

Release notes

Sourced from pymongo's releases.

PyMongo 4.6.3

Community notes: https://www.mongodb.com/community/forums/t/pymongo-4-6-3-release-for-cve-2024-5629/284348

PyMongo 4.6.2

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-6-2-released/267404

PyMongo 4.6.1

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-6-1-released/255752

PyMongo 4.6.0

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-6-0-released/251866

PyMongo 4.5.0

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-5-0-released/240662

PyMongo 4.4.1

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-4-1-released/235045

PyMongo 4.4.0

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-4-released/232211

PyMongo 4.4.0b0

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-4-0b0-release/210471

PyMongo 4.3.3

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-3-3-release/200145

PyMongo 4.3.2

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-3-2-released/194266

PyMongo 4.2.0

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-2-0-released/176012

PyMongo 4.2.0b0

Release notes: https://www.mongodb.com/community/forums/t/python-driver-4-2-0-beta-available/168488

PyMongo 4.1.1

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-1-1-released/157895

PyMongo 4.1.0

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-1-0-released/156029

PyMongo 4.0.2

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-0-2-released/150457

PyMongo 4.0.1

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-0-1-released/135979

PyMongo 4.0

Release notes: https://www.mongodb.com/community/forums/t/pymongo-4-0-released/134677

... (truncated)

Changelog

Sourced from pymongo's changelog.

Changes in Version 4.6.3 (2024/03/27)

PyMongo 4.6.3 fixes the following bug:

  • Fixed a potential memory access violation when decoding invalid bson.

Issues Resolved ...............

See the PyMongo 4.6.3 release notes in JIRA_ for the list of resolved issues in this release.

.. _PyMongo 4.6.3 release notes in JIRA: https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=38360

Changes in Version 4.6.2 (2024/02/21)

PyMongo 4.6.2 fixes the following bug:

  • Fixed a bug appearing in Python 3.12 where "RuntimeError: can't create new thread at interpreter shutdown" could be written to stderr when a MongoClient's thread starts as the python interpreter is shutting down.

Issues Resolved ...............

See the PyMongo 4.6.2 release notes in JIRA_ for the list of resolved issues in this release.

.. _PyMongo 4.6.2 release notes in JIRA: https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=37906

Changes in Version 4.6.1 (2023/11/29)

PyMongo 4.6.1 fixes the following bug:

  • Ensure retryable read OperationFailure errors re-raise exception when 0 or NoneType error code is provided.

Issues Resolved ...............

See the PyMongo 4.6.1 release notes in JIRA_ for the list of resolved issues in this release.

.. _PyMongo 4.6.1 release notes in JIRA: https://jira.mongodb.org/secure/ReleaseNote.jspa?projectId=10004&version=37138

Changes in Version 4.6.0 (2023/11/01)

PyMongo 4.6 brings a number of improvements including:

... (truncated)

Commits
  • 8da192f BUMP 4.6.3
  • 56b6b6d PYTHON-4305 Fix bson size check (#1564)
  • 449d0f3 BUMP to 4.6.3.dev0
  • e04576d DEVPROD-3871 Use teardown_task when there is one function/command (#1533)
  • cf1c6a1 PYTHON-4219 Prep for 4.6.2 Release (#1530)
  • d29b2b7 PYTHON-4147 [v4.6]: Silence noisy thread.start() RuntimeError at shutdown (#1...
  • 0477b9b PYTHON-4077 [v4.6]: Ensure there is a MacOS wheel for Python 3.7 (#1527)
  • ecad17d BUMP 4.6.2.dev0
  • 485e0a5 BUMP 4.6.1
  • 995365c PYTHON-4038 [v4.6]: Ensure retryable read OperationFailures re-raise except...
  • Additional commits viewable in compare view

Updates requests from 2.12.4 to 2.32.4

Release notes

Sourced from requests's releases.

v2.32.4

2.32.4 (2025-06-10)

Security

  • CVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted environment will retrieve credentials for the wrong hostname/machine from a netrc file. (#6965)

Improvements

  • Numerous documentation improvements

Deprecations

  • Added support for pypy 3.11 for Linux and macOS. (#6926)
  • Dropped support for pypy 3.9 following its end of support. (#6926)

v2.32.3

2.32.3 (2024-05-29)

Bugfixes

  • Fixed bug breaking the ability to specify custom SSLContexts in sub-classes of HTTPAdapter. (#6716)
  • Fixed issue where Requests started failing to run on Python versions compiled without the ssl module. (#6724)

v2.32.2

2.32.2 (2024-05-21)

Deprecations

  • To provide a more stable migration for custom HTTPAdapters impacted by the CVE changes in 2.32.0, we've renamed _get_connection to a new public API, get_connection_with_tls_context. Existing custom HTTPAdapters will need to migrate their code to use this new API. get_connection is considered deprecated in all versions of Requests>=2.32.0.

    A minimal (2-line) example has been provided in the linked PR to ease migration, but we strongly urge users to evaluate if their custom adapter is subject to the same issue described in CVE-2024-35195. (#6710)

v2.32.1

2.32.1 (2024-05-20)

Bugfixes

  • Add missing test certs to the sdist distributed on PyPI.

v2.32.0

2.32.0 (2024-05-20)

... (truncated)

Changelog

Sourced from requests's changelog.

2.32.4 (2025-06-10)

Security

  • CVE-2024-47081 Fixed an issue where a maliciously crafted URL and trusted environment will retrieve credentials for the wrong hostname/machine from a netrc file.

Improvements

  • Numerous documentation improvements

Deprecations

  • Added support for pypy 3.11 for Linux and macOS.
  • Dropped support for pypy 3.9 following its end of support.

2.32.3 (2024-05-29)

Bugfixes

  • Fixed bug breaking the ability to specify custom SSLContexts in sub-classes of HTTPAdapter. (#6716)
  • Fixed issue where Requests started failing to run on Python versions compiled without the ssl module. (#6724)

2.32.2 (2024-05-21)

Deprecations

  • To provide a more stable migration for custom HTTPAdapters impacted by the CVE changes in 2.32.0, we've renamed _get_connection to a new public API, get_connection_with_tls_context. Existing custom HTTPAdapters will need to migrate their code to use this new API. get_connection is considered deprecated in all versions of Requests>=2.32.0.

    A minimal (2-line) example has been provided in the linked PR to ease migration, but we strongly urge users to evaluate if their custom adapter is subject to the same issue described in CVE-2024-35195. (#6710)

2.32.1 (2024-05-20)

Bugfixes

  • Add missing test certs to the sdist distributed on PyPI.

2.32.0 (2024-05-20)

Security

... (truncated)

Commits
  • 021dc72 Polish up release tooling for last manual release
  • 821770e Bump version and add release notes for v2.32.4
  • 59f8aa2 Add netrc file search information to authentication documentation (#6876)
  • 5b4b64c Add more tests to prevent regression of CVE 2024 47081
  • 7bc4587 Add new test to check netrc auth leak (#6962)
  • 96ba401 Only use hostname to do netrc lookup instead of netloc
  • 7341690 Merge pull request #6951 from tswast/patch-1
  • 6716d7c remove links
  • a7e1c74 Update docs/conf.py
  • c799b81 docs: fix dead links to kenreitz.org
  • Additional commits viewable in compare view

Updates gunicorn from 19.6.0 to 23.0.0

Release notes

Sourced from gunicorn's releases.

23.0.0

Gunicorn 23.0.0 has been released. This version improve HTTP 1.1. support and which improve safety

You're invited to upgrade asap your own installation.

23.0.0 - 2024-08-10

  • minor docs fixes (:pr:3217, :pr:3089, :pr:3167)
  • worker_class parameter accepts a class (:pr:3079)
  • fix deadlock if request terminated during chunked parsing (:pr:2688)
  • permit receiving Transfer-Encodings: compress, deflate, gzip (:pr:3261)
  • permit Transfer-Encoding headers specifying multiple encodings. note: no parameters, still (:pr:3261)
  • sdist generation now explicitly excludes sphinx build folder (:pr:3257)
  • decode bytes-typed status (as can be passed by gevent) as utf-8 instead of raising TypeError (:pr:2336)
  • raise correct Exception when encounting invalid chunked requests (:pr:3258)
  • the SCRIPT_NAME and PATH_INFO headers, when received from allowed forwarders, are no longer restricted for containing an underscore (:pr:3192)
  • include IPv6 loopback address [::1] in default for :ref:forwarded-allow-ips and :ref:proxy-allow-ips (:pr:3192)

** NOTE **

  • The SCRIPT_NAME change mitigates a regression that appeared first in the 22.0.0 release
  • Review your :ref:forwarded-allow-ips setting if you are still not seeing the SCRIPT_NAME transmitted
  • Review your :ref:forwarder-headers setting if you are missing headers after upgrading from a version prior to 22.0.0

** Breaking changes **

  • refuse requests where the uri field is empty (:pr:3255)
  • refuse requests with invalid CR/LR/NUL in heade field values (:pr:3253)
  • remove temporary --tolerate-dangerous-framing switch from 22.0 (:pr:3260)
  • If any of the breaking changes affect you, be aware that now refused requests can post a security problem, especially so in setups involving request pipe-lining and/or proxies.

Fix CVE-2024-1135

Gunicorn 22.0 has been released

Gunicorn 22.0.0 has been released. This version fix the numerous security vulnerabilities. You're invited to upgrade asap your own installation.

Changes:

22.0.0 - 2024-04-17
===================
  • use utime to notify workers liveness
  • migrate setup to pyproject.toml
  • fix numerous security vulnerabilities in HTTP parser (closing some request smuggling vectors)
  • parsing additional requests is no longer attempted past unsupported request framing
  • on HTTP versions < 1.1 support for chunked transfer is refused (only used in exploits)
  • requests conflicting configured or passed SCRIPT_NAME now produce a verbose error
  • Trailer fields are no longer inspected for headers indicating secure scheme </tr></table>

... (truncated)

Commits
  • 411986d fix doc
  • 334392e Merge pull request #2559 from laggardkernel/bugfix/reexec-env
  • e75c353 Merge pull request #3189 from pajod/patch-py36
  • 9357b28 keep document user in access_log_format setting
  • 79fdef0 bump to 23.0.0
  • 3acd9fb Merge pull request #2620 from talkerbox/improve-access-log-format-docs
  • 3f56d76 Merge pull request #3192 from pajod/patch-allowed-script-name
  • 256d474 docs: revert duped directive
  • ffa48b5 test: default change was intentional
  • 52538ca docs: recommend SCRIPT_NAME=/subfolder
  • Additional commits viewable in compare view

Updates gevent from 1.2.0 to 23.9.0

Changelog

Sourced from gevent's changelog.

================= Changes for 1.2

.. currentmodule:: gevent

1.2.2 (2017-06-05)

  • Testing on Python 3.5 now uses Python 3.5.3 due to SSL changes. See :issue:943.

  • Linux CI has been updated from Ubuntu 12.04 to Ubuntu 14.04 since the former has reached EOL.

  • Linux CI now tests on PyPy2 5.7.1, updated from PyPy2 5.6.0.

  • Linux CI now tests on PyPy3 3.5-5.7.1-beta, updated from PyPy3 3.3-5.5-alpha.

  • Python 2 sockets are compatible with the SOCK_CLOEXEC flag found on Linux. They no longer pass the socket type or protocol to getaddrinfo when connect is called. Reported in :issue:944 by Bernie Hackett.

  • Replace optparse module with argparse. See :issue:947.

  • Update to version 1.3.1 of tblib to fix :issue:954, reported by ml31415.

  • Fix the name of the type parameter to :func:gevent.socket.getaddrinfo to be correct on Python 3. This would cause callers using keyword arguments to raise a :exc:TypeError. Reported in :issue:960 by js6626069. Likewise, correct the argument names for fromfd and socketpair on Python 2, although they cannot be called with keyword arguments under CPython.

    .. note:: The gethost* functions take different argument names under CPython and PyPy. gevent follows the CPython convention, although these functions cannot be called with keyword arguments on CPython.

  • The previously-singleton exception objects FileObjectClosed and cancel_wait_ex were converted to classes. On Python 3, an exception object is stateful, including references to its context and possibly traceback, which could lead to objects remaining alive longer than intended.

  • Make sure that python -m gevent.monkey <script> runs code in the global scope, not the scope of the main function. Fixed in :pr:975 by Shawn Bohrer.

1.2.1 (2017-01-12)

  • CI services now test on 3.6.0.
  • Windows: Provide socket.socketpair for all Python 3 versions. This was added to Python 3.5, but tests were only added in 3.6. (For versions older than 3.4 this is a gevent extension.) Previously

... (truncated)

Commits
  • 693181e Preparing release 23.9.0
  • 6fc7898 Set the cython version; go back to default wheel tags.
  • 666e374 Had the constraint wrong.
  • 74ef876 Tweaking the build, and it seems like the greenlet stack issue should be fixed.
  • b652e2a Error handling adjustments from running under a debug build.
  • 70e7318 Tweaking tests and comments; temporary workarounds for 3.12 to enable builds.
  • 495e37a Workaround the 3.12 traceback issue again.
  • 2f53c85 gevent.pywsgi: Much improved handling of chunk trailers.
  • bb06d2d Test builds with greenlet assertions enabled.
  • 6b22af0 pyproject.toml: Bump to latest cython.
  • Additional commits viewable in compare view

Updates wheel from 0.29.0 to 0.38.1

Changelog

Sourced from wheel's changelog.

Release Notes

UNRELEASED

  • Restored the bdist_wheel command for compatibility with setuptools older than v70.1
  • Importing wheel.bdist_wheel now emits a FutureWarning instead of a DeprecationWarning

0.46.1 (2025-04-08)

  • Temporarily restored the wheel.macosx_libfile module ([#659](https://github.com/pypa/wheel/issues/659) <https://github.com/pypa/wheel/issues/659>_)

0.46.0 (2025-04-03)

  • Dropped support for Python 3.8
  • Removed the bdist_wheel setuptools command implementation and entry point. The wheel.bdist_wheel module is now just an alias to setuptools.command.bdist_wheel, emitting a deprecation warning on import.
  • Removed vendored packaging in favor of a run-time dependency on it
  • Made the wheel.metadata module private (with a deprecation warning if it's imported
  • Made the wheel.cli package private (no deprecation warning)
  • Fixed an exception when calling the convert command with an empty description field

0.45.1 (2024-11-23)

  • Fixed pure Python wheels converted from eggs and wininst files having the ABI tag in the file name

0.45.0 (2024-11-08)

  • Refactored the convert command to not need setuptools to be installed

  • Don't configure setuptools logging unless running bdist_wheel

  • Added a redirection from wheel.bdist_wheel.bdist_wheel to setuptools.command.bdist_wheel.bdist_wheel to improve compatibility with setuptools' latest fixes.

    Projects are still advised to migrate away from the deprecated module and import the setuptools' implementation explicitly. (PR by @​abravalheri)

0.44.0 (2024-08-04)

  • Canonicalized requirements in METADATA file (PR by Wim Jeantine-Glenn)
  • Deprecated the bdist_wheel module, as the code was migrated to setuptools itself

... (truncated)

Commits
  • 6f1608d Created a new release
  • cf8f5ef Moved news item from PR #484 to its proper place
  • 9ec2016 Removed install dependency on setuptools (#483)
  • 747e1f6 Fixed PyPy SOABI parsing (#484)
  • 7627548 [pre-commit.ci] pre-commit autoupdate (#480)
  • 7b9e8e1 Test on Python 3.11 final
  • a04dfef Updated the pypi-publish action
  • 94bb62c Fixed docs not building due to code style changes
  • d635664 Updated the codecov action to the latest version
  • fcb94cd Updated version to match the release
  • Additional commits viewable in compare view

Dependabot 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.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> 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)
  • @dependabot ignore <dependency name> 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)
  • @dependabot ignore <dependency name> 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)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Summary by CodeRabbit

  • Chores
    • Upgraded core framework and key libraries to current stable releases.
    • Updated deployment stack components to modern versions.
    • Brings security patches, stability and performance improvements, and better compatibility with current environments.
    • No user-facing functionality changes expected.

Bumps the pip group with 7 updates in the / directory:

| Package | From | To |
| --- | --- | --- |
| [django](https://github.com/django/django) | `1.9.12` | `4.2.24` |
| [djangorestframework](https://github.com/encode/django-rest-framework) | `3.5.3` | `3.15.2` |
| [pymongo](https://github.com/mongodb/mongo-python-driver) | `3.4.0` | `4.6.3` |
| [requests](https://github.com/psf/requests) | `2.12.4` | `2.32.4` |
| [gunicorn](https://github.com/benoitc/gunicorn) | `19.6.0` | `23.0.0` |
| [gevent](https://github.com/gevent/gevent) | `1.2.0` | `23.9.0` |
| [wheel](https://github.com/pypa/wheel) | `0.29.0` | `0.38.1` |



Updates `django` from 1.9.12 to 4.2.24
- [Commits](django/django@1.9.12...4.2.24)

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

Updates `pymongo` from 3.4.0 to 4.6.3
- [Release notes](https://github.com/mongodb/mongo-python-driver/releases)
- [Changelog](https://github.com/mongodb/mongo-python-driver/blob/master/doc/changelog.rst)
- [Commits](mongodb/mongo-python-driver@3.4.0...4.6.3)

Updates `requests` from 2.12.4 to 2.32.4
- [Release notes](https://github.com/psf/requests/releases)
- [Changelog](https://github.com/psf/requests/blob/main/HISTORY.md)
- [Commits](psf/requests@v2.12.4...v2.32.4)

Updates `gunicorn` from 19.6.0 to 23.0.0
- [Release notes](https://github.com/benoitc/gunicorn/releases)
- [Commits](benoitc/gunicorn@19.6.0...23.0.0)

Updates `gevent` from 1.2.0 to 23.9.0
- [Release notes](https://github.com/gevent/gevent/releases)
- [Changelog](https://github.com/gevent/gevent/blob/master/docs/changelog_1_2.rst)
- [Commits](gevent/gevent@1.2.0...23.9.0)

Updates `wheel` from 0.29.0 to 0.38.1
- [Release notes](https://github.com/pypa/wheel/releases)
- [Changelog](https://github.com/pypa/wheel/blob/main/docs/news.rst)
- [Commits](pypa/wheel@0.29.0...0.38.1)

---
updated-dependencies:
- dependency-name: django
  dependency-version: 4.2.24
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: djangorestframework
  dependency-version: 3.15.2
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: pymongo
  dependency-version: 4.6.3
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: requests
  dependency-version: 2.32.4
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: gunicorn
  dependency-version: 23.0.0
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: gevent
  dependency-version: 23.9.0
  dependency-type: direct:production
  dependency-group: pip
- dependency-name: wheel
  dependency-version: 0.38.1
  dependency-type: direct:production
  dependency-group: pip
...

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 Sep 9, 2025
@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Sep 9, 2025

Walkthrough

Updated versions in requirements.txt for Django, DRF, pymongo, requests, and deployment tools (gunicorn, gevent, wheel). No files other than requirements.txt were changed. No new dependencies were added.

Changes

Cohort / File(s) Summary
Dependency upgrades
requirements.txt
Bumped versions: Django 1.9.12 → 4.2.24; djangorestframework 3.5.3 → 3.15.2; pymongo 3.4.0 → 4.6.3; requests 2.12.4 → 2.32.4; gunicorn 19.6.0 → 23.0.0; gevent 1.2.0 → 23.9.0; wheel 0.29.0 → 0.38.1. No additions/removals.

Estimated code review effort

🎯 1 (Trivial) | ⏱️ ~2 minutes

Pre-merge checks (2 passed, 1 inconclusive)

❌ Failed checks (1 inconclusive)
Check name Status Explanation Resolution
Title Check ❓ Inconclusive The title is generic and uses non-descriptive terms like “pip group” and “1 directory” without conveying which dependencies are being updated or the core purpose of the change, making it difficult for reviewers to quickly understand the main impact of the PR. Consider renaming the title to clearly summarize the primary change, for example “Bump Django, DRF, PyMongo, Requests, Gunicorn, Gevent, and Wheel to latest versions” to provide immediate context to reviewers.
✅ Passed checks (2 passed)
Check name Status Explanation
Description Check ✅ Passed The description clearly lists each dependency being updated along with their from/to versions and includes relevant links and details, making it directly related to the changeset.
Docstring Coverage ✅ Passed No functions found in the changes. Docstring coverage check skipped.

Poem

I nudge the versions up the hill,
Little paws tap “pip install” still.
Django hops, DRF sings,
Requests and Mongo spread their wings.
Gunicorn warms the autumn air—
A rabbit signs the release with flair. 🐇✨

Warning

Review ran into problems

🔥 Problems

Errors were encountered while retrieving linked issues.

Errors (1)
  • Failed to retrieve linked issues from the platform client.
✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch dependabot/pip/pip-460489f4d1

Comment @coderabbitai help to get the list of available commands and usage tips.

Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 4

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (2)
requirements.txt (2)

29-34: Migrate tests off nose/django-nose to pytest

  • Remove nose, django-nose and related plugins from requirements.txt (lines 29–34) and add pytest>=8 and pytest-django>=4.8:
    - yanc==0.3.3
    - nose==1.3.7
    - nose-exclude==0.5.0
    - nose-timer==0.6.0
    - django-nose==1.4.4
    + pytest>=8
    + pytest-django>=4.8
  • Remove TEST_RUNNER = 'django_nose.NoseTestSuiteRunner' and NOSE_ARGS from settings.py and refactor all nose.tools imports in tests to use pytest’s assertions or Python’s unittest.

23-25: Update code and settings before migrating to boto3-backed storage

• boto v2 is still in use – imports in
– amon/apps/cloudservers/api.py:7–8 (import boto.ec2)
– amon/apps/cloudservers/apicalls.py:1–2 (import boto.ec2, from boto.exception import EC2ResponseError)
• apache-libcloud is used in apicalls (amon/apps/cloudservers/apicalls.py:7–8)
• No django-storages backends or DEFAULT_FILE_STORAGE configured in amon/settings.py; either remove unused django-storages or add and configure storages.backends.s3boto3.S3Boto3Storage before bumping to django-storages[boto3]

Cannot safely remove boto==2.x or apache-libcloud from requirements or upgrade django-storages without refactoring these code paths.

🧹 Nitpick comments (3)
requirements.txt (3)

11-11: pytz pin from 2016 is outdated; Django 4 encourages zoneinfo.

Either upgrade pytz to a current release or migrate to Python’s zoneinfo (preferred) and drop the pin.

Possible diff (if retaining pytz):

-pytz==2016.10
+pytz>=2024.2

27-27: pip>=9.0 is very old for resolving this set of pins.

Use a modern pip to avoid resolver edge cases and to get better metadata handling.

-pip>=9.0
+pip>=23

2-19: Plan and gate the upgrade: split into staged PRs with CI gates.

  • Stage 1: Replace insecure/obsolete deps (pycrypto → pycryptodome, boto→boto3, modern django-storages), update test stack.
  • Stage 2: Upgrade to Django 3.2 LTS + DRF mid-version, fix deprecations.
  • Stage 3: Upgrade to Django 4.2 LTS + DRF 3.15, address remaining breaks.

I can generate a migration checklist and a tox/pytest matrix to run Django 3.2 and 4.2 side-by-side. Want me to open a follow-up issue?

📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between b358956 and 90b3571.

📒 Files selected for processing (1)
  • requirements.txt (1 hunks)
🔇 Additional comments (4)
requirements.txt (4)

12-12: Requests bump looks safe.

No known app-level breaking changes between 2.12 → 2.32 for typical usage.


19-19: Wheel bump: low risk.

Fine to update build tooling.


18-18: Confirm gevent worker applies monkey-patching
No explicit gevent.monkey.patch_* calls detected; since you’ve switched to the gevent Gunicorn worker (gunicorn.conf: worker_class='gevent'), verify it applies the necessary DNS/SSL patches and that greenlet is installed. Re-test graceful shutdowns under load and consider adding an explicit gevent.monkey.patch_all() in your app bootstrap if needed.


17-17: Gunicorn 23 upgrade: config flags unchanged. gunicorn.conf only defines bind, workers, and worker_class='gevent'—all supported in v23. Validate gevent worker operation after upgrading.

Comment thread requirements.txt
@@ -1,22 +1,22 @@
beautifulsoup4==4.5.1
Django==1.9.12
Django==4.2.24
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

Django 1.9 → 4.2 jump is breaking; expect install/boot failures without coordinated app/code upgrades.

  • Very likely resolver conflicts with old Django add-ons here (e.g., django-timezone-field==2.0, django-storages==1.5.1, django-nose, etc.), and runtime breakages (urls, middleware, settings, translations, timezone handling). Do not auto-merge.

Quick grep to surface high-risk Django 1.x patterns to fix:


🏁 Script executed:

#!/bin/bash
rg -nP -C2 '\burl\s*\(|MIDDLEWARE_CLASSES|django\.core\.urlresolvers|ugettext(_lazy)?\(|patterns\(|TEMPLATES.*' .

Length of output: 265818


Block merge: refactor legacy Django 1.x code before upgrading to Django 4.2.24

  • Replace all patterns()/url() usages and django.core.urlresolvers imports (e.g. in amon/urls.py, templatetags/baseurl.py, apps/*/urls.py) with path()/re_path() and django.urls
  • Change MIDDLEWARE_CLASSES to MIDDLEWARE in settings.py
  • Swap all ugettext/ugettext_lazy calls to gettext/gettext_lazy
  • Audit third-party packages (django-timezone-field, django-storages, django-nose, etc.) and ensure they support Django 4.x

Do not merge until all breaking changes are addressed.

🤖 Prompt for AI Agents
In requirements.txt around lines 2 to 2, the PR upgrades Django to 4.2.24 but
legacy Django 1.x patterns remain; before merging, refactor all code to be
Django 4.x compatible: replace any uses of patterns()/url() and imports from
django.core.urlresolvers with path()/re_path() and django.urls (check
amon/urls.py, apps/*/urls.py, templatetags/baseurl.py), rename
MIDDLEWARE_CLASSES to MIDDLEWARE in settings.py and migrate middleware ordering
accordingly, replace ugettext/ugettext_lazy with gettext/gettext_lazy throughout
the codebase, and audit/upgrade or replace third‑party packages (e.g.,
django-timezone-field, django-storages, django-nose) to versions that explicitly
support Django 4.x or remove incompatible ones; run the test suite and fix any
deprecations/compatibility errors before merging.

Comment thread requirements.txt
django-kronos==1.0
django-timezone-field==2.0
djangorestframework==3.5.3
djangorestframework==3.15.2
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

DRF 3.15 requires modern Django and has multiple breaking changes vs 3.5.

  • Expect breaks around pagination classes, exceptions, schema generation (coreapi removal), request.data vs deprecated request.DATA, renderer settings.

Search for removed/changed DRF API:


🏁 Script executed:

#!/bin/bash
rg -nP -C2 'request\.DATA|request\.QUERY_PARAMS|coreapi|SchemaGenerator|PageNumberPagination\(|DEFAULT_PAGINATION_CLASS|BrowsableAPIRenderer|is_authenticated\(\)' --type=py

Length of output: 1361


Update is_authenticated() calls to the boolean property

  • Replace all instances of request.user.is_authenticated() with request.user.is_authenticated in:
    • amon/apps/users/decorators.py:9
    • amon/apps/api/permissions.py:22
    • amon/apps/charts/context_processors.py:11
    • amon/apps/account/middleware.py:22
  • After refactoring, audit for other DRF 3.15 breaking changes (pagination defaults, exception APIs, CoreAPI/schema removal, request.DATArequest.data, renderer settings).
🤖 Prompt for AI Agents
In requirements.txt around line 6 and in the codebase files
amon/apps/users/decorators.py:9, amon/apps/api/permissions.py:22,
amon/apps/charts/context_processors.py:11, and
amon/apps/account/middleware.py:22, replace calls to
request.user.is_authenticated() with the boolean property
request.user.is_authenticated; run a repo-wide search for any remaining
.is_authenticated() and update them similarly, then run tests. After that, audit
for DRF 3.15 breaking changes and fix usages: replace request.DATA with
request.data, adjust pagination default settings to the new API if relying on
defaults, update any exception handler signatures to the new DRF APIs,
remove/replace CoreAPI/schema usages with the supported schema generators, and
verify renderer settings in REST_FRAMEWORK config; run the test suite and linter
to confirm no regressions.

Comment thread requirements.txt

pyaml==16.12.2
pymongo==3.4.0
pymongo==4.6.3
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Verification agent

🧩 Analysis chain

PyMongo 4.x removes legacy APIs; high risk of data-layer breakage.

  • Removed/changed: collection.count(), ensure_index(), remove(), find_and_modify(), Cursor.count().

Find usages to migrate:


🏁 Script executed:

#!/bin/bash
rg -nP -C2 '\.count\(|ensure_index\(|remove\(|find_and_modify\(|authenticate\(|map_reduce\(' --type=py

Length of output: 140952


Migrate deprecated PyMongo legacy APIs before upgrading to 4.x
Multiple occurrences of removed/changed PyMongo methods were found—must replace them with their modern equivalents to avoid data‐layer breakage.

  • ensure_index() → create_index()
  • collection.remove(filter) → delete_one(filter) / delete_many(filter)
  • find().count() / Cursor.count() → count_documents(filter)
  • find_and_modify() → find_one_and_update() / find_one_and_delete()
  • collection.count() → count_documents({}) / estimated_document_count()

Run a global replace or audit in each model and test, updating calls to the above.

🤖 Prompt for AI Agents
In requirements.txt around lines 9 to 9, the project pins pymongo==4.6.3 which
requires migrating deprecated legacy PyMongo APIs; audit and update all
code/tests to replace ensure_index() with create_index(),
collection.remove(filter) with delete_one()/delete_many(), any find().count() or
Cursor.count() with count_documents(filter), find_and_modify() with
find_one_and_update()/find_one_and_delete(), and collection.count() with
count_documents({}) or estimated_document_count(); perform a global
search/replace across models and tests, run the test suite, and fix any
remaining call signatures or returned-value differences accordingly.

Comment thread requirements.txt
pytz==2016.10
requests==2.12.4
requests==2.32.4
pycrypto==2.6.1
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue

pycrypto is abandoned with critical CVEs — replace immediately.

Switch to PyCryptodome (drop-in for most cases).

Apply this diff:

-pycrypto==2.6.1
+pycryptodome>=3.10
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
pycrypto==2.6.1
pycryptodome>=3.10
🤖 Prompt for AI Agents
In requirements.txt at line 13 replace the abandoned vulnerable pycrypto==2.6.1
with a maintained drop-in replacement (e.g. pycryptodome>=3.17.0); remove the
pycrypto entry, add pycryptodome, run pip install/update and CI/tests to ensure
imports still work (PyCryptodome provides the same Crypto namespace in most
cases) and ensure no conflicting pycrypto remains in the environment.

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.

0 participants