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

There will be about 1h of downtime on 2020-03-02 at 13:00 UTC+1 (change of servers and upgrade to Heptapod 0.20.0 final)

  • python-libs
  • passlibpasslib
  • Wiki
  • Roadmap

Last edited by Eli Collins May 11, 2020
Page history

Roadmap

🛤 Passlib Roadmap

Overview

Passlib is slowly moving towards 2.0, and with it, there are plans to cleanup (and attempt to simplify) a lot of the internal code. Release 1.7 made some major cleanups to the API, while trying to maintain backwards compatibility. 1.8 will drop python 2 support, shed some low-impact features, and add some slated new ones.

If something here would impact your application, please post a question / feedback on the mailing list!

Upcoming Changes

As a heads-up, developers may be impacted by the following changes planned for future releases:

v1.8

  • ⚠ Dropping Python 2.x and Python 3.3 support. See issue #119.
  • passlib.context: Removal of long-deprecated CryptPolicy class.
  • passlib.apache: Removal of deprecated v1.5 compatibility methods.
  • passlib.ext.django: Split out as separate project, or remove it. See issue #81
  • passlib.handlers: This package contains the actual hasher implementations, and should have been private all along. It will probably be renamed to passlib._hashers (or even relocated to within passlib.hash, if that's feasible given the proxy module that currently sits there).

v1.9

  • Depending on how v2.0 development pans out, there may be a v1.9 transitional release leading up to it; which would contain deprecation warnings for anything that needs fixing in your application before upgrading to v2.0. In all likelyhood, these warnings will just get rolled into v1.8.

v2.0

  • A large number of deprecated methods and features will be removed; primarily the deprecated PasswordHash.encrypt and CryptContext.encrypt methods.

  • passlib.context: CryptContext objects will default to deprecated="auto", meaning all but the first scheme will be considered deprecated unless explicitly stated otherwise.

  • passlib.apache: HtpasswdFile will default to apache-2.4 compatible defaults. Forward- & backward- compatible default_scheme settings are available as of Passlib 1.7.

Python Deprecation Policy

The following is a rough guide for when Passlib will drop support for a Python version:

  • When pip or setuptools drops support, Passlib will follow.

  • When tox or virtualenv drops support, Passlib will generally follow, unless there's a particular demand for that python release, and that demand justifies the special handling required for testing.

  • Otherwise general compatibility will be attempted, unless the python version requires specific hacks to the source code, in which case support will be dropped once general usage is low enough.

Clone repository
  • Roadmap
  • Home