Relax Django dependency accepted versions #2308

Closed
opened 2025-12-29 17:24:42 +01:00 by adam · 1 comment
Owner

Originally created by @volans- on GitHub (Jan 24, 2019).

Proposed Changes

Restore a more relaxed dependency on Django (e.g. Django>=2.1,<2.2) that would allow the patch version to change, simplifying the inclusion of Django security releases.

Justification

In 0a71c63583 the dependency on Django was changed from a relaxed major-minor that accepted any patch version Django>=2.0,<2.1 to a frozen version Django==2.1.3, that was later bumped to 2.1.4 in baeb7937fc.

On Jan. 4th Django had another security release 2.1.5, that is not included in an installation of Netbox due to the frozen requirement.

I'm wondering what lead to the choice of using a frozen version, in particular for Django that is well known to be stable and to properly follow semantic versioning.

Originally created by @volans- on GitHub (Jan 24, 2019). ### Proposed Changes Restore a more relaxed dependency on Django (e.g. `Django>=2.1,<2.2`) that would allow the patch version to change, simplifying the inclusion of Django security releases. ### Justification In 0a71c63583d786c32e01ed5fb5c3aa18bddf3218 the dependency on Django was changed from a relaxed major-minor that accepted any patch version `Django>=2.0,<2.1` to a frozen version `Django==2.1.3`, that was later bumped to `2.1.4` in baeb7937fca4eda854a7e3639cdac683690bdfe3. On Jan. 4th Django had another security release `2.1.5`, that is not included in an installation of Netbox due to the frozen requirement. I'm wondering what lead to the choice of using a frozen version, in particular for Django that is well known to be stable and to properly follow semantic versioning.
adam added the status: accepted label 2025-12-29 17:24:42 +01:00
adam closed this issue 2025-12-29 17:24:42 +01:00
Author
Owner

@jeremystretch commented on GitHub (Jan 29, 2019):

We decided to adopt strict dependency pinning after dealing with numerous compatibility issues (see #2239 for an example). However, I agree that Django is a mature and stable enough project that we should have no problem matching on minor version only.

@jeremystretch commented on GitHub (Jan 29, 2019): We decided to adopt strict dependency pinning after dealing with numerous compatibility issues (see #2239 for an example). However, I agree that Django is a mature and stable enough project that we should have no problem matching on minor version only.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/netbox#2308