Skip to content

[Snyk] Security upgrade djangorestframework from 3.11.2 to 3.17.2 - #51

Open
fredex42 wants to merge 1 commit into
mainfrom
snyk-fix-9e4fd3ca12188ed403d698500d8c06eb
Open

[Snyk] Security upgrade djangorestframework from 3.11.2 to 3.17.2#51
fredex42 wants to merge 1 commit into
mainfrom
snyk-fix-9e4fd3ca12188ed403d698500d8c06eb

Conversation

@fredex42

Copy link
Copy Markdown
Contributor

snyk-top-banner

Snyk has created this PR to fix 1 vulnerabilities in the pip dependencies of this project.

Snyk changed the following file(s):

  • requirements.txt
⚠️ Warning
Django 3.2.25 requires sqlparse, which is not installed.

Breaking Change Risk

Merge Risk: Medium

Notice: This assessment is enhanced by AI.


Important

  • Check the changes in this PR to ensure they won't cause issues with your project.
  • Max score is 1000. Note that the real score may have changed since the PR was raised.
  • This PR was automatically created by Snyk using the credentials of a real user.
  • Some vulnerabilities couldn't be fully fixed and so Snyk will still find them when the project is tested again. This may be because the vulnerability existed within more than one direct dependency, but not all of the affected dependencies could be upgraded.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open fix PRs.

For more information:
🧐 View latest project report
📜 Customise PR templates
🛠 Adjust project settings
📚 Read about Snyk's upgrade logic


Learn how to fix vulnerabilities with free interactive lessons:

🦉 Learn about vulnerability in an interactive lesson of Snyk Learn.

The following vulnerabilities are fixed by pinning transitive dependencies:
- https://snyk.io/vuln/SNYK-PYTHON-DJANGORESTFRAMEWORK-18853986
@fredex42

Copy link
Copy Markdown
Contributor Author

Merge Risk: Medium

This upgrade spans multiple minor versions and introduces several breaking changes and new requirements. Developers must verify their environment and code against these changes.

Key Changes & Risks:

  • Python & Django Version Requirements:

    • v3.16+ requires Python 3.9+ and Django 4.2+.
    • v3.15.2+ requires Django >= 4.2 and drops support for Python 3.6 and 3.7.
    • v3.14 dropped support for Django 2.2.
    • v3.13 added support for Django 4.0.
  • Code & API Changes:

    • v3.17: Support for coreapi is completely removed.
    • v3.14: serializers.NullBooleanField is removed. Use serializers.BooleanField(allow_null=True) instead.
    • v3.14: The raise_exception argument for is_valid() is now keyword-only (is_valid(raise_exception=True)).
    • v3.13: Arguments for serializer fields are now strictly keyword-only (e.g., serializers.CharField(max_length=100)).
  • Behavioral Changes:

    • v3.15: The dependency on pytz is removed in favor of ZoneInfo. This may affect timezone-aware datetime handling.
    • v3.14: The logic for OR operations between permission classes has changed.

Recommendation:

  1. Ensure your project is running on Python 3.9+ and Django 4.2+ before upgrading.
  2. Review code for usage of removed or modified APIs, such as coreapi, NullBooleanField, and positional arguments in serializer fields.
  3. Run tests with deprecation warnings enabled (python -Wd manage.py test) to identify required changes.

Notice 🤖: This content was augmented using artificial intelligence. AI-generated content may contain errors and should be reviewed for accuracy before use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants