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

drop support for python 3.8 #349

Open
3 tasks done
baywet opened this issue Oct 9, 2024 · 11 comments · May be fixed by #433
Open
3 tasks done

drop support for python 3.8 #349

baywet opened this issue Oct 9, 2024 · 11 comments · May be fixed by #433
Assignees
Labels
enhancement New feature or request type:enhancement Enhancement request targeting an existing experience WIP

Comments

@baywet
Copy link
Member

baywet commented Oct 9, 2024

Python 3.8 has fallen out of support 2 days ago, which means it's not getting anymore security updates.
This also has consequences for dependency management since an increasing number of dependencies have moved away from it, and we're not able to get the new versions anymore.
Consider making this change at the same time as #341, and after #302 has been implemented.

TODO:

IMPORTANT: this is a source breaking change for 3.8 users (they'll need to upgrade to a newer version of python), make sure to include a bang in your message commit (e.g. feat!:) so a major version bump is made.

We do not need to major bump kiota itself since the generator will emit for the same API surface and we're within our support policy.

After the PR for this is merged but BEFORE the changes are released we also need to go back to any closed (not merged) dependabot PR and ask the bot to recreate the pull requests (@dependabot recreate) so we upgrade to the latest version of the dependencies.

@baywet baywet added enhancement New feature or request type:breaking-change An issue that will result in dependent client projects failing. type:enhancement Enhancement request targeting an existing experience labels Oct 9, 2024
@baywet baywet added this to Kiota Oct 9, 2024
@github-project-automation github-project-automation bot moved this to Needs Triage 🔍 in Kiota Oct 9, 2024
@baywet baywet moved this from Needs Triage 🔍 to Todo 📃 in Kiota Oct 9, 2024
@baywet baywet moved this from Todo 📃 to Blocked 🔒 in Kiota Oct 9, 2024
@baywet
Copy link
Member Author

baywet commented Oct 9, 2024

additionally this documentation needs to be updated https://learn.microsoft.com/en-us/openapi/kiota/quickstarts/python#required-tools

@baywet
Copy link
Member Author

baywet commented Oct 9, 2024

@baywet
Copy link
Member Author

baywet commented Dec 4, 2024

to add data points for this one: it seems that libraries are perfectly fine with bumping the required minor version of python in a patch/minor release.
Here are some examples:

Which means this is most likely was the eco-system expects, and it should be fine to follow that practice on our end.

@baywet
Copy link
Member Author

baywet commented Dec 5, 2024

Looking at the Azure SDK guidelines, they are just providing a (outdated?) target version. No upgrade guidance. I have asked a question in the internal channels to see if any Python architect tells us following what the ecosystem is doing here is a bad idea for some reason.

@Ndiritu
Copy link
Contributor

Ndiritu commented Dec 12, 2024

We could also consider dropping the deprecated type hint aliases in favor of the recommended types for Python 3.9+

@baywet
Copy link
Member Author

baywet commented Dec 12, 2024

I did get a first reply, Azure does drop support 6 months after the python version EOL, see their calendar

Looking at azure identity they dropped support for 3.7 without a major bump. And their guidelines indicate they do follow semver

I think that with all the evidence we've collected, it'd be ok to remove support for 3.8 in a minor bump. What do you think @andrueastman @Ndiritu ? If we're in agreement, we can probably proceed with the work.

In addition to the type hint improvement, we should also look at all the ignored dependabot PRs and make sure we update all dependencies before release the version that drops support for 3.8

@andrueastman
Copy link
Member

I think that with all the evidence we've collected, it'd be ok to remove support for 3.8 in a minor bump. What do you think @andrueastman @Ndiritu ? If we're in agreement, we can probably proceed with the work.

Agree. We can drop the version with a minor bump given the evidence collected.

@baywet baywet moved this from Blocked 🔒 to New📃 in Kiota Jan 6, 2025
@baywet
Copy link
Member Author

baywet commented Jan 6, 2025

We should now expedite this, dependabot (and most likely the associated security features) is dropping 3.8 support in less than a month
https://github.blog/changelog/2025-01-06-closing-down-notice-dependabot-will-no-longer-support-python-version-3-8

@andrueastman
Copy link
Member

Taking a look into this.

@andrueastman andrueastman self-assigned this Jan 7, 2025
@andrueastman andrueastman removed the type:breaking-change An issue that will result in dependent client projects failing. label Jan 7, 2025
@andrueastman andrueastman linked a pull request Jan 7, 2025 that will close this issue
@andrueastman andrueastman moved this from New📃 to In Progress 🚧 in Kiota Jan 9, 2025
@andrueastman
Copy link
Member

I believe #433 should be okay to review now.

On investigating, it looks like we are also emitting the deprecated type hints in the generated code, so I've also authored a generator PR at microsoft/kiota#5974.

My suggestion for review/release order here would be to

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request type:enhancement Enhancement request targeting an existing experience WIP
Projects
Status: In Progress 🚧
Development

Successfully merging a pull request may close this issue.

3 participants