Skip to content

Dropping support for Python 3.8 #1078

Description

@codejedi365

Description

Python 3.8 has recently hit End-Of-Life (EOL) October 7, 2024. While there's been no great need to break compatibility, upstream dependencies will dropping support and will be harder to keep in-line. By having to constrain our dependencies to versions which still support 3.8, we're making it difficult to install PSR in an environment alongside other packages when do not support 3.8 and have pinned to versions higher than we can accommodate, and this problem obviously only worsens with time.

As a result of this, the intention is to release a breaking change on July 7, 2025, after which new versions of Python Semantic Release will no longer support Python 3.8.

Activity

  1. pinned this issue on Jan 9, 2025
  2. larsks commented on Jan 23, 2025

    @larsks
    Contributor

    I ran into this while working on #1151 -- if you have a tool that implements strict dependency checks (like uv), the dependencies fail to resolve because one the dependencies (sphinx_autobuild) requires Python>=3.9:

      × No solution found when resolving dependencies for split (python_full_version == '3.8.*'):
      ╰─▶ Because the requested Python version (>=3.8) does not satisfy Python>=3.9 and sphinx-autobuild==2024.2.4 depends on Python>=3.9, we can conclude that
          sphinx-autobuild==2024.2.4 cannot be used.
          And because python-semantic-release[docs] depends on sphinx-autobuild==2024.2.4 and your project requires python-semantic-release[docs], we can
          conclude that your project's requirements are unsatisfiable.
    
          hint: The `requires-python` value (>=3.8) includes Python versions that are not supported by your dependencies (e.g., sphinx-autobuild==2024.2.4 only
          supports >=3.9). Consider using a more restrictive `requires-python` value (like >=3.9).
    
  3. codejedi365 commented on Jan 24, 2025

    @codejedi365
    ContributorAuthor

    Thanks for the note. Its not worth fixing since docs are not part of the actual wheel install and we don't use uv for development installs

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    breakingIdentifies breaking changeinfolong-term, stale-less info

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions