Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: drop support for Python 3.10 and Django 3.2 #292

Merged
merged 4 commits into from
Oct 22, 2024

Conversation

magajh
Copy link
Contributor

@magajh magajh commented Oct 22, 2024

Description:

This PR removes support for Django 3.2 and Python 3.10 from our plugin.

Rationale:

We have decided to drop support for these versions because none of the Open edX releases we support use Django 3.2 or Python 3.10. Therefore, maintaining compatibility with them is unnecessary.

For more context and information, please refer to AP-1490.

Changes:

  • Updated the test workflow to remove Python 3.10 and Django 3.2 from the Python and Django matrix.
  • Updated the tox.ini file to eliminate specifications for Python 3.10 and Django 3.2.
  • Deleted the django32.txt file.
  • Removed constraints that were only necessary for compatibility with Python 3.10 or Django 3.2.
  • Upgraded the requirements using Python 3.8, which is the oldest version we now support.

How to Test:

  • Ensure that all tests in the GitHub CI pipeline pass successfully.
  • Verify that the pipeline no longer runs tests with Python 3.10 and Django 3.2.

@magajh magajh requested a review from a team as a code owner October 22, 2024 13:11
Copy link
Contributor

@MaferMazu MaferMazu left a comment

Choose a reason for hiding this comment

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

Thanks for this, @magajh. This looks good.

My only comment is that we may want to modify the setup.py to show these changes in the Pypi info.

Here: https://github.com/eduNEXT/eox-core/blob/master/setup.py#L64

Copy link
Contributor

@BryanttV BryanttV left a comment

Choose a reason for hiding this comment

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

Thanks @magajh! Should we update changelog and bump version?

@magajh
Copy link
Contributor Author

magajh commented Oct 22, 2024

Thanks @magajh! Should we update changelog and bump version?

Hey @BryanttV. Since Python 3.10 and Django 3.2 are not used by any of the Open edX releases we support, I'm unsure if this change justifies making a new release (I believe Python 3.10 isn't even used by any Open edX release). What do you think? I was reviewing the documentation, but it's not entirely clear to me; maybe this could be a patch bump?

https://internal.docs.edunext.co/en/latest/internal/Teams/Descontrol/Internal_processes/releases_strategy.html

@BryanttV @MaferMazu

@MaferMazu
Copy link
Contributor

MaferMazu commented Oct 22, 2024

I think we will need the bump version, and a major bump version. Because in our readme, we said that the latest version of eox-core works on maple, nutmeg, olive, and palm in the compatibilities notes. And with this change, for the dropping support of Django 3.2, that is the Django version used palm, we are dropping support for the releases before or equals palm.

And based on Release Strategy doc, we should use a major if we change the compatibility and require users to adapt. In this case, someone using palm could no longer use the latest release of eox-core, and we are breaking compatibility for previous releases.

I understand this is not a bump version change if we only think in Python and Django, but thinking about the release we support of Open edX, we are dropping support for maple, nutmeg, olive, and palm, which should be a major change.

So, we probably want to update the readme to have an upper limit for those releases we are dropping support for and apply a major version.

What do you think?

@magajh
Copy link
Contributor Author

magajh commented Oct 22, 2024

@MaferMazu, I agree—I like this approach. Since we're dropping support for Django 3.2, we can officially say that previous releases are no longer supported and update the compatibility table accordingly.

This doesn't necessarily mean that this version or future versions of the plugin will lose compatibility with Open edX releases from Maple - Palm. When the plugin is installed on the platform, versions of dependencies compatible with the required Python and Django versions will still be used, and we haven't really modified anything related to the user interface or the plugin's features in this PR. However, we can no longer guarantee it will work because we're not running tests for the necessary Django version.

This got me thinking that we should better document our version support and update the compatibility table to reflect this. I'll open an issue to improve the doc and document these cases. Thanks!

@BryanttV
Copy link
Contributor

I was going to comment with that making a patch was the best thing to do but... not anymore, I agree with @MaferMazu's comment.

CHANGELOG.md Outdated Show resolved Hide resolved
@magajh magajh force-pushed the mjh/remove-support-py3.10-django3.2 branch from eacefe5 to 2e053ef Compare October 22, 2024 18:20
Co-authored-by: Bryann Valderrama <[email protected]>
Copy link
Contributor

@BryanttV BryanttV left a comment

Choose a reason for hiding this comment

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

LGTM!

Copy link
Contributor

@MaferMazu MaferMazu left a comment

Choose a reason for hiding this comment

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

It looks good to me. Thanks a lot for this ✨

@magajh magajh merged commit 5f4bcb8 into master Oct 22, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants