Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion requirements/production.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,4 +16,5 @@ django-anymail # https://github.com/anymail/django-anymail

# Elastic-APM # https://pypi.org/project/elastic-apm/
# ------------------------------------------------------------------------------

Copilot AI Feb 5, 2026

Copy link

Choose a reason for hiding this comment

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

Inconsistent line formatting: A blank line was removed before elastic-apm==6.15.1, breaking the visual separation pattern used throughout the requirements files. The blank line should be preserved to maintain consistency with the file's formatting conventions.

Suggested change
# ------------------------------------------------------------------------------
# ------------------------------------------------------------------------------

Copilot uses AI. Check for mistakes.
elastic-apm==6.15.1
elastic-apm==6.15.1
django>=4.2.28 # not directly required, pinned by Snyk to avoid a vulnerability

Copilot AI Feb 5, 2026

Copy link

Choose a reason for hiding this comment

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

Wagtail 4.2.2 is not compatible with Django 4.2. According to Wagtail's release notes, Wagtail 4.2.x series supports Django 3.2, 4.0, and 4.1, but not Django 4.2. To upgrade to Django 4.2.28, you need to upgrade Wagtail to at least version 5.0 or later. This incompatibility will likely cause runtime errors or prevent the application from starting.

This affects base.txt line 27: wagtail==4.2.2, which is outside the scope of this PR but is a blocking issue for the Django upgrade.

Suggested change
django>=4.2.28 # not directly required, pinned by Snyk to avoid a vulnerability
django<4.2 # constrained to remain compatible with wagtail==4.2.2 from base.txt

Copilot uses AI. Check for mistakes.

Copilot AI Feb 5, 2026

Copy link

Choose a reason for hiding this comment

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

The use of >= instead of == for version pinning creates unpredictable behavior. With >=4.2.28, pip could install any future Django version (e.g., 4.2.29, 4.3.x, 5.x), which may introduce breaking changes or incompatibilities.

For production dependencies, use exact version pinning with == to ensure reproducible builds. Change to django==4.2.28 instead.

Suggested change
django>=4.2.28 # not directly required, pinned by Snyk to avoid a vulnerability
django==4.2.28 # not directly required, pinned by Snyk to avoid a vulnerability

Copilot uses AI. Check for mistakes.
Comment on lines +19 to +20

Copilot AI Feb 5, 2026

Copy link

Choose a reason for hiding this comment

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

The comment "# pyup: < 4.0" in base.txt line 15 indicates that the project is intentionally configured to prevent automatic upgrades to Django 4.x. Upgrading to Django 4.2.28 in production.txt contradicts this configuration and suggests that the upgrade strategy needs to be coordinated across all requirements files and the pyup configuration should be updated accordingly.

Suggested change
elastic-apm==6.15.1
django>=4.2.28 # not directly required, pinned by Snyk to avoid a vulnerability
elastic-apm==6.15.1

Copilot uses AI. Check for mistakes.
Comment on lines +19 to +20

Copilot AI Feb 5, 2026

Copy link

Choose a reason for hiding this comment

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

Critical dependency conflict: This PR adds django>=4.2.28 to production.txt, but base.txt (which is included via -r base.txt on line 3) explicitly pins django==4.1.6. This will cause pip to fail during installation with a conflict error.

The base.txt file needs to be updated to django==4.2.28 (or higher) to resolve this conflict. Additionally, using >= is problematic because it allows unpredictable upgrades - use == for pinned versions to ensure reproducible builds.

Suggested change
elastic-apm==6.15.1
django>=4.2.28 # not directly required, pinned by Snyk to avoid a vulnerability
elastic-apm==6.15.1

Copilot uses AI. Check for mistakes.