Open adrienbrunet opened 6 years ago
@nanuxbe Your previous changes fix all of that except the
py{27,34,35,36}-django19-drf{33,34,35,36,37}
line.
As stated, drf37 does not support django19. If it works as is, all right but it may not be worth the pain to maintain it in the future.
Oh, I am sorry @adrienbrunet I totally missed this issue during EP2018. I figured that since you were not at the sprints I was the only one working on this :-/
tox -r -e python27-django19-drf37
fails the tests so I guess it should indeed be removed.
I've been thinking about the releases state and the support of python2 and django<1.11. Support for drf32 has already been dropped.
There are a few more things I'd like to get done during the 0.9.x versions, mostly improve the docs (in progress) and make sure every documented feature is tested (which it currently is not) as well as fixing #43.
Once this is done, I'm thinking of releasing the 1.x branch which would support Django1.8+ and Python2.7. After the release, the branch would mostly only receive bugfixes (or small features backport if there is a need on my -or any other contributor's- side) until Django1.11 is EOL. Django1.8 support doesn't require much work by itself compared to 1.11 but support for 1.9 and 1.10 could be dropped before the 1.x branch is reached if there is any big problem with those.
Simultaneously (almost) there would be a 2.x release branch that drops support for Python2 (same as what Django-filter did) and therefore Django<2.
What do you think?
Seems totally fair! Do ask for help if you need, that's a lot of work ahead! Cheers
It is a lot of work indeed :stuck_out_tongue:
To reach 1.0 / 2.0 here is the exhaustive list I can think of:
prevent_reverse
property on the endpoint. This would be a list of fields (relationships) that should explicitly mention they don't have a reverse relationship (inverse
: null) when the model is exportedUnrelated to the actual 1.0 and 2.0 releases, I am really bad at actually tagging releases but I'm good at creating the :bookmark: commits (weird, I know). I'm pretty sure github and/or gitlab can be configured to do that for me though.
With regards to 2.0:
I guess work on that can be started on a separate branch that will be rebased on the current master as we go along. The work there looks like it might be quite straight-forward:
setup.py
to remove python2 / django < 2 compatibility markerssix
from requirements.txt
try
/ except ImportError
and remove those (this should olso take care of obsolete DRF versions)If any of those appeals to you, feel free to pick any one up (even partially), just create an issue and assign it to yourself.
If you want to work on documentation and would like a "test environment", I can also give you access to our private gitlab which I like to test markdown commits on.
I'll try to work on it a bit in 2 weeks. About tagging etc, would you consider something like git flow to enforce the use of tags when releasing code ? It's just a suggestion, it helps me sometimes to have consistent tagging. Not sure how gitlab/GitHub could do that.
I'm really not found of gitflow for several reasons, the main one being the fact not everything is a bug or a feature ;-) The "emojiflow" I'm using on this project is way more complete :stuck_out_tongue: But that's just my opinion...
I was thinking more of something along the lines of a git hook that would identify the :bookmark: commits and tag the releases from there
There are several tox envs that fail to build.
Some of them are related to the latest version of
django-filter
which supportdjango2.0
and doing so, support for older django is not guaranteed anymore.Also, an env is impossible due to a drf37 not supporting django19. (see http://www.django-rest-framework.org/topics/3.7-announcement/#django-20-support)
Builds with latest changes on django or drf may be broken for now. But we need to wait for updates from both django, drf et django-filter. Nothing we can do on our side for now.
A PR is on its way (from me) to fix the above problems. I think we'll need to add some more docs about dependencies with django-filters and its limitation.
How long do you want to keep support for django1.8 ? It could greatly simplify our matrix support.