Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
passlib
passlib
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 30
    • Issues 30
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 0
    • Merge Requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • python-libs
  • passlibpasslib
  • Issues
  • #119

Closed
Open
Created May 11, 2020 by Eli Collins@eli-collinsMaintainer4 of 6 tasks completed4/6 tasks

Passlib 1.8 dropping support for Python 2.x, 3.3, and 3.4

Last year v1.8 was scheduled to drop support for Python 2.6 & 3.3; leaving only Python 2.7 & >= 3.4 supported (rev 2203d9a89f1c)

But enough factors have lined up, that now aiming to drop Python 2.x support entirely from Passlib 1.8 (rather than delaying that until Passlib 2.0). Additionally at this time, dropping Python 3.4 support as well.

In summary, Passlib 1.8 will require Python >= 3.5

Reasons for dropping 2.x include:

  • Maintaining 2/3 compatibility adds complexity; and that complexity has accounted for a non-trivial % of the bugs in the 1.7 series.
  • Would like to clean up string encoding on/by Passlib 2.0 (issue #79), and that transition would be eased by removing Python 2 compatibility as a concern before tackling that task.
  • Python 2 is officially being sunset, and Pip et al are soon to follow (probably by the time Passlib 1.8 rolls out).
  • If demand exists, it shouldn't be too difficult to maintain the 1.7 series as a bugfix-only LTS branch for a while longer. (If so, need to set an end date, maybe 2021-6-1?)

Items that need doing:

  • Announce this on homepage, and mailing list.
  • Announce this on docs
  • Strip out "passlib.utils.compat" if possible
  • Track down any explicit encode/decode calls that aren't needed (though some could be handled as part of issue #79 cleanup)
  • Remove stray __future__ imports we don't need anymore.
  • Remove setup.py py2 support tags; add python_requires clause.
Edited Oct 06, 2020 by Eli Collins
Assignee
Assign to
1.8
Milestone
1.8
Assign milestone
Time tracking
None
Due date
None