[PATCH 07/10] Add support for Django REST Framework 3.7, 3.8
Daniel Axtens
dja at axtens.net
Fri May 3 17:01:32 AEST 2019
Daniel Axtens <dja at axtens.net> writes:
> Stephen Finucane <stephen at that.guru> writes:
>
>> On Tue, 2019-04-30 at 16:03 +1000, Daniel Axtens wrote:
>>> From: Stephen Finucane <stephen at that.guru>
>>>
>>> No breaking changes that concern us here.
>>>
>>> Signed-off-by: Stephen Finucane <stephen at that.guru>
>>> Reviewed-by: Daniel Axtens <dja at axtens.net>
>>> Signed-off-by: Daniel Axtens <dja at axtens.net>
>>> (cherry picked from commit a27f36fb784867e434527b8e65064ae3bdb12c82)
>>> Signed-off-by: Daniel Axtens <dja at axtens.net>
>>
>> I'm conflicted on this. This introduces a change in requirements which
>> is not something we should typically do on a stable branch. The only
>> thing that could save us is that we don't *drop* support for something
>> (I'd be a hard -1 if we did), but is there any reason we couldn't just
>> cut a 2.2 release instead?
>
> So:
>
> - Production systems may legitimately want to run with the most recent
> minor version of dependencies, because they often contain security
> fixes.
>
> - Production systems may also want to stick to stable versions of PW
> while running recent dependencies, especially since a 2.1->2.2
> upgrade will require a schema migration and downtime.
>
> - Therefore, stable versions of PW should support the most recent
> versions of our dependencies.
>
> In this case, the only patch we _really_ need is the django-filters one,
> as there's a change between 1.0 and 1.1 that we need support for. The
> DRF changes just allow us to use tox and friends to test that we support
> this usecase.
>
> If you wanted, I'd be happy to only pick the changes to tox.ini and drop
> the changes to requirements-* - then I can use tox to satisfy myself
> that the OzLabs setup is likely to work but we don't change the default
> versions.
>
I've adopted this approach (only change tox.ini), applied the patches,
and tagged v2.1.2.
Regards,
Daniel
> We also should cut 2.2 soon, if for no other reason than to get the db
> speedups, but I don't think it provides a solution for this usecase.
>
> Regards,
> Daniel
>
>>
>> Stephen
>>
>>> ---
>>> README.rst | 2 +-
>>> .../notes/django-rest-framework-3-7-bc6ad5df8bc54afc.yaml | 6 ++++++
>>> .../notes/django-rest-framework-3-8-23865db833b4d188.yaml | 6 ++++++
>>> requirements-dev.txt | 2 +-
>>> requirements-prod.txt | 2 +-
>>> tox.ini | 5 +++--
>>> 6 files changed, 18 insertions(+), 5 deletions(-)
>>> create mode 100644 releasenotes/notes/django-rest-framework-3-7-bc6ad5df8bc54afc.yaml
>>> create mode 100644 releasenotes/notes/django-rest-framework-3-8-23865db833b4d188.yaml
>>>
>>> diff --git a/README.rst b/README.rst
>>> index 4a970ec5a9ff..ddc4b98125d1 100644
>>> --- a/README.rst
>>> +++ b/README.rst
>>> @@ -45,7 +45,7 @@ Requirements
>>>
>>> - Django (1.8 - 1.11)
>>>
>>> -- Django REST Framework (3.2 - 3.6)
>>> +- Django REST Framework (3.4 - 3.8)
>>>
>>> - Django Filters (1.0)
>>>
>>> diff --git a/releasenotes/notes/django-rest-framework-3-7-bc6ad5df8bc54afc.yaml b/releasenotes/notes/django-rest-framework-3-7-bc6ad5df8bc54afc.yaml
>>> new file mode 100644
>>> index 000000000000..4bf92c999df5
>>> --- /dev/null
>>> +++ b/releasenotes/notes/django-rest-framework-3-7-bc6ad5df8bc54afc.yaml
>>> @@ -0,0 +1,6 @@
>>> +---
>>> +upgrade:
>>> + - |
>>> + `Django REST Framework 3.7
>>> + <http://www.django-rest-framework.org/topics/release-notes/#370/>`_ is now
>>> + supported.
>>> diff --git a/releasenotes/notes/django-rest-framework-3-8-23865db833b4d188.yaml b/releasenotes/notes/django-rest-framework-3-8-23865db833b4d188.yaml
>>> new file mode 100644
>>> index 000000000000..dc2d2c8f8bfa
>>> --- /dev/null
>>> +++ b/releasenotes/notes/django-rest-framework-3-8-23865db833b4d188.yaml
>>> @@ -0,0 +1,6 @@
>>> +---
>>> +upgrade:
>>> + - |
>>> + `Django REST Framework 3.8
>>> + <http://www.django-rest-framework.org/topics/release-notes/#380/>`_ is now
>>> + supported.
>>> diff --git a/requirements-dev.txt b/requirements-dev.txt
>>> index 7a8fdb9c8851..b12246dd1b89 100644
>>> --- a/requirements-dev.txt
>>> +++ b/requirements-dev.txt
>>> @@ -1,4 +1,4 @@
>>> Django>=1.8,<2.0
>>> -djangorestframework>=3.4,<3.7
>>> +djangorestframework>=3.4,<3.9
>>> django-filter>=1.0,<1.1
>>> -r requirements-test.txt
>>> diff --git a/requirements-prod.txt b/requirements-prod.txt
>>> index d249ad84c10c..42ff8ecd82f1 100644
>>> --- a/requirements-prod.txt
>>> +++ b/requirements-prod.txt
>>> @@ -1,5 +1,5 @@
>>> Django>=1.8,<2.0
>>> -djangorestframework>=3.4,<3.7
>>> +djangorestframework>=3.4,<3.9
>>> django-filter>=1.0,<1.1
>>> psycopg2>=2.7,<2.8
>>> sqlparse==0.2.4
>>> diff --git a/tox.ini b/tox.ini
>>> index 327b9e7c14a8..5c741d374a64 100644
>>> --- a/tox.ini
>>> +++ b/tox.ini
>>> @@ -10,8 +10,9 @@ deps =
>>> django19: django>=1.9,<1.10
>>> django110: django>=1.10,<1.11
>>> django111: django>=1.11,<2.0
>>> - django{18,19,110}: djangorestframework>=3.4,<3.7
>>> - django111: djangorestframework>=3.6,<3.7
>>> + django{18,19}: djangorestframework>=3.4,<3.7
>>> + django110: djangorestframework>=3.4,<3.9
>>> + django111: djangorestframework>=3.6,<3.9
>>> django{18,19,110,111}: django-filter>=1.0,<1.1
>>> setenv =
>>> DJANGO_SETTINGS_MODULE = patchwork.settings.dev
More information about the Patchwork
mailing list