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
9 changes: 6 additions & 3 deletions requirements/production.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@
-r base.txt

gevent==24.2.1 # http://www.gevent.org/
gunicorn==21.2.0 # https://github.com/benoitc/gunicorn
gunicorn==23.0.0 # https://github.com/benoitc/gunicorn
psycopg2==2.9.9 # https://github.com/psycopg/psycopg2
sentry-sdk[django]==2.5.1 # https://github.com/getsentry/sentry-python
sentry-sdk==2.8.0 # https://github.com/getsentry/sentry-python

Copilot AI Jan 30, 2026

Copy link

Choose a reason for hiding this comment

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

Minor formatting: other lines in this file use two spaces before inline comments (e.g., gevent==... # ...), but sentry-sdk==2.8.0 # ... uses a single space. Consider normalizing spacing for consistency.

Copilot uses AI. Check for mistakes.

# Django
# ------------------------------------------------------------------------------
Expand All @@ -16,4 +16,7 @@ django-anymail # https://github.com/anymail/django-anymail

# Elastic-APM # https://pypi.org/project/elastic-apm/
# ------------------------------------------------------------------------------
elastic-apm==6.15.1
elastic-apm==6.15.1
django>=4.2.27 # not directly required, pinned by Snyk to avoid a vulnerability

Copilot AI Jan 30, 2026

Copy link

Choose a reason for hiding this comment

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

production.txt already includes -r base.txt, and base.txt pins django==4.1.6 (requirements/base.txt:15). Adding django>=4.2.27 here creates an unsatisfiable constraint (==4.1.6 vs >=4.2.27) and will cause pip install -r requirements/production.txt to fail. Align the Django constraint by updating the pin in base.txt to the intended secure version (or remove the duplicate constraint here if base.txt is the source of truth).

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

Copilot uses AI. Check for mistakes.
sqlparse>=0.5.4 # not directly required, pinned by Snyk to avoid a vulnerability
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability
Comment on lines +20 to +22

Copilot AI Jan 30, 2026

Copy link

Choose a reason for hiding this comment

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

These new Snyk pins use >= in a file that otherwise pins production deps with ==, which makes production installs non-deterministic and could pull in future major versions (e.g., Django 5.x) without review. Prefer an exact pin (or at least an upper bound like <5) consistent with the rest of this file, ideally managed in the same place as other pins (e.g., base.txt).

Suggested change
django>=4.2.27 # not directly required, pinned by Snyk to avoid a vulnerability
sqlparse>=0.5.4 # not directly required, pinned by Snyk to avoid a vulnerability
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability
django==4.2.27 # not directly required, pinned by Snyk to avoid a vulnerability
sqlparse==0.5.4 # not directly required, pinned by Snyk to avoid a vulnerability
zipp==3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability

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

Copilot AI Jan 30, 2026

Copy link

Choose a reason for hiding this comment

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

The header says to avoid production dependencies that aren't in development (-r base.txt is intended to keep envs aligned). Adding direct vulnerability pins only in production.txt means local/dev installs from requirements/local.txt won't match production. Consider moving these vulnerability-driven constraints into base.txt so all environments exercise the same dependency set.

Suggested change
elastic-apm==6.15.1
django>=4.2.27 # not directly required, pinned by Snyk to avoid a vulnerability
sqlparse>=0.5.4 # not directly required, pinned by Snyk to avoid a vulnerability
zipp>=3.19.1 # not directly required, pinned by Snyk to avoid a vulnerability
elastic-apm==6.15.1

Copilot uses AI. Check for mistakes.