netzkolchose / django-computedfields

Provides autogenerated autoupdated database fields for model methods.
MIT License
94 stars 14 forks source link

check django 4.2 compat #125

Closed jerch closed 1 year ago

simkimsia commented 1 year ago

Can I simply copy the changes from https://github.com/netzkolchose/django-computedfields/pull/118/files to do a PR that works with Django 4.2?

jerch commented 1 year ago

@simkimsia Sure thing, if there are no other incompatibilities with 4.2, that need further testing/coding, then you can simply apply the same log message. The test cases should be fairly complete to spot any breakage. Also note that there was another change I did not wrap yet into a release --> #120.

simkimsia commented 1 year ago

@jerch I see

In that case, from which point you want me to do a fork so I can do a PR? main branch?

simkimsia commented 1 year ago

Also since I have you here on this issue, what's your logic for stopping support for Django versions?

As in when do you consider dropping support for end-of-life Django versions?

jerch commented 1 year ago

I try to stay compatible to current LTS (which happens to be 3.2 atm), and the current minor release (now 4.2), and minors within their EOL. I dont care about interim minors, if they are past EOL (imho 4.0 is already off).

So basically it is: LTS, ?, ?, <EOL, current minor So far this led to no issues on the question mark versions, as the span of LTS to current usually covers all changes in between (django is quite conservative in applying changes, not yet stumbled over forth and back changes from one release to the next).

simkimsia commented 1 year ago

So do you want me to also try to drop 4.0 in the PR?

jerch commented 1 year ago

Oh well, 4.2 is marked for LTS as well. So LTS should stay within their EOL (means we have ~1yr to go until 3.2 drops). Two LTS versions in parallel was a code nuisance before (2.2 had several code switches), but it is not as bad for 3.2 + 4.2 (imho there is no version switch in the code atm, have not checked though...)

About 4.0 - yep, it just dropped off the window (see roadmap here: https://www.djangoproject.com/download/). Normally I dont remove support actively, unless it is a real code nuisance (like for the older 2.2 code switches). So I think 4.0 will just keep working, and a note like "not officially supported anymore, may break by any change in the future" would do here.

hwalinga commented 1 year ago

Created a PR @jerch

simkimsia commented 1 year ago

Thank you for doing this, @hwalinga 🙇🏻‍♂️

jerch commented 1 year ago

New version got released.

@hwalinga I also added an explicit test for Django 4.2 + psycopg3, as this is a quite bold change under the hood.