Skip to content

Bump django from 4.2.30 to 5.2.16 - #234

Closed
dependabot[bot] wants to merge 6 commits into
mainfrom
dependabot/pip/django-5.2.16
Closed

dependabot[bot] wants to merge 6 commits into
mainfrom
dependabot/pip/django-5.2.16

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 9, 2026 •

Copy link
Copy Markdown
Contributor

Bumps django from 4.2.30 to 5.2.16.

Commits

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 9, 2026
@sei-vsarvepalli

Copy link
Copy Markdown
Contributor

This is staged now for later updates.

@sei-vsarvepalli

Copy link
Copy Markdown
Contributor

@copilot

Can you check to see if my project is impacted by this major version update of Django? Check to see if any views or other parts needs to be updated as well.

Copilot AI commented Aug 12, 2026

Copy link
Copy Markdown
Contributor

@copilot

Can you check to see if my project is impacted by this major version update of Django? Check to see if any views or other parts needs to be updated as well.
...

Here's an analysis of the project's compatibility with the Django 4.2 → 5.2 upgrade:


Impact Assessment: Django 4.2 → 5.2

🔴 Breaking Issues (Must Fix)

1. STATICFILES_STORAGE setting removed in Django 5.1

  • File: bigvince/settings_.py:181
  • STATICFILES_STORAGE = "storages.backends.s3boto3.S3Boto3Storage" needs to be replaced with the new STORAGES dict format:
    STORAGES = {
        "default": {"BACKEND": "django.core.files.storage.FileSystemStorage"},
        "staticfiles": {"BACKEND": "storages.backends.s3boto3.S3Boto3Storage"},
    }

2. django.db.backends.postgresql_psycopg2 engine alias removed

  • File: bigvince/settings_.py lines 413, 427, 437, 450, 463
  • Must change to "django.db.backends.postgresql" in all 5 database configurations.

🟡 Deprecated Usages (May Still Work But Should Fix)

3. {% load staticfiles %} in 144 templates

  • Used across vince/, vincepub/, and vinny/ templates.
  • Note: The settings already include an alias "staticfiles": "django.templatetags.static" at line 338 of settings_.py, so this may continue working — but it's non-standard and should be cleaned up by replacing with {% load static %}.

4. force_str as force_text alias import

  • File: vincepub/views.py:47 — from django.utils.encoding import force_str as force_text
  • force_text was already removed in Django 4.0. The alias as force_text is harmless (it's just a local name), but the code at line 796 uses force_text(text) through that alias. It still works, but the naming is confusing — recommend updating to use force_str directly.

5. smart_str as smart_text alias imports

  • Files: vince/forms.py, vince/lib.py, cogauth/backend.py, vinny/forms.py, vinny/models.py, bakery/ (multiple files)
  • Same pattern — importing smart_str under the old name smart_text. This works but should be cleaned up.

✅ Already Compliant (No Changes Needed)

  • URL configuration: Uses modern path() and re_path() — no deprecated url().
  • ForeignKey.on_delete: All foreign keys have this specified.
  • is_authenticated: Used as a property (not callable).
  • CSRF_TRUSTED_ORIGINS: Correctly includes schemes.
  • DEFAULT_AUTO_FIELD: Explicitly set.
  • AUTH_USER_MODEL: Properly referenced via settings.AUTH_USER_MODEL.
  • Middleware (DatabaseRouterMiddleware): Already uses the modern __init__/__call__ pattern (the process_view/process_response hooks it also defines are still supported in Django 5.x).

⚙️ Environment

  • Python version: 3.12.3 — satisfies Django 5.x's Python 3.10+ requirement. ✅

Summary: The two breaking changes that must be fixed before running on Django 5.2 are the STATICFILES_STORAGE setting and the postgresql_psycopg2 DB engine alias. The rest are cleanup items that are deprecated but may not immediately break the app. Would you like me to go ahead and apply all of these fixes?

Copilot AI requested a review from sei-vsarvepalli August 12, 2026 20:25
@dependabot
dependabot Bot force-pushed the dependabot/pip/django-5.2.16 branch from 6c7c465 to 6d8c3b1 Compare August 13, 2026 15:54
@sei-vsarvepalli

Copy link
Copy Markdown
Contributor

@copilot

So this is backward incompatible change right? We cannot rollback to earlier Django versions

Copilot AI commented Aug 13, 2026

Copy link
Copy Markdown
Contributor

@copilot

So this is backward incompatible change right? We cannot rollback to earlier Django versions

Yes, this is a backward-incompatible change in several respects:

  1. Django 5.x drops Python < 3.10 support — if you ever needed to run on Python 3.8/3.9, you'd be stuck on Django 4.2.
  2. The two breaking changes identified (STATICFILES_STORAGE and postgresql_psycopg2 engine alias) would need to be reverted if rolling back to Django 4.2, since those fixes use APIs only available in 5.x (specifically, the STORAGES dict was introduced in 4.2 but STATICFILES_STORAGE still worked there as a deprecated fallback — so the STORAGES fix is actually safe on 4.2 as well).
  3. Database migrations: Django 5.x may add internal migration state changes. Running migrate on 5.x and then rolling back to 4.2 could leave the migration state in an inconsistent condition depending on whether any new migrations were applied.

Practically: The STORAGES dict format was already supported as of Django 4.2 (it was introduced then as the replacement, with STATICFILES_STORAGE deprecated). So if you apply the recommended fixes, the code would actually remain compatible with both 4.2 and 5.x — giving you a rollback path as long as no new Django 5.x-only migrations are applied. The postgresql_psycopg2 alias also still worked in 4.2 (it was only removed in 5.0), so reverting that fix would also be safe on 4.2.

Short answer: Applying the fixes doesn't close the door on 4.2 rollback, but running migrate on 5.x does carry some risk if a rollback is ever needed.

@sei-vsarvepalli
sei-vsarvepalli force-pushed the dependabot/pip/django-5.2.16 branch from 6d8c3b1 to 348d0f5 Compare August 13, 2026 21:08
@dependabot @github

dependabot Bot commented on behalf of github Oct 1, 2026

Copy link
Copy Markdown
Contributor Author

A newer version of django exists, but since this PR has been edited by someone other than Dependabot I haven't updated it. You'll get a PR for the updated version as normal once this PR is merged.

@sei-vsarvepalli

Copy link
Copy Markdown
Contributor

Already resolved in #247

@dependabot @github

dependabot Bot commented on behalf of github Oct 29, 2026

Copy link
Copy Markdown
Contributor Author

OK, I won't notify you again about this release, but will get in touch when a new version is available. If you'd rather skip all updates until the next major or minor version, let me know by commenting @dependabot ignore this major version or @dependabot ignore this minor version.

If you change your mind, just re-open this PR and I'll resolve any conflicts on it.

@dependabot
dependabot Bot deleted the dependabot/pip/django-5.2.16 branch October 29, 2026 19:37
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.

2 participants