Skip to content

Poetry 2.0 removals and other breaking changes #9136

@radoering

Description

@radoering

This issue tracks possible removals and other breaking changes we want to include if the next release (or the one after that) will be a major release. (That does not mean that the changes listed here cannot be included in a minor release after a decent deprecation period.)

Please add a comment if you have concerns or would like to include another pending breaking change that is not on the list.

Background & Motivation

As support for PEP 621 is slowly taking shape (see #9135 to track the current state) and this will be a big, significant change (even if the old way will still be supported), this might be the time for a major version bump. Even if we try to avoid obvious breaking changes, just not ignoring the project section anymore will be a subtle breaking change for anyone who is already using this section (for whatever reason). Further, since supporting PEP 621 requires massive changes in many areas of the code, the risk of unintentional breaking changes is higher than usual.

Long story short: If we do a major version bump anyway, we should make use of it and remove things / add breaking changes we were holding back so far.

Candidates

Disclaimer: decision is not final and might be subject to change

change decision details
remove dependency on poetry-plugin-export #5980, although #5740 would be nice #9547 is sufficient
remove deprecated source types secondary and default #9698
remove support of scripts with extras already done in python-poetry/poetry-core#708
change poetry add --optional to require an extra required for PEP 621 support (#9135)
fail if project cannot be installed #9333
remove poetry shell will be moved to a plugin, #9763
remove poetry self #7872
make lock --no-update the default #9327
make install --sync the default introduce poetry sync #9855 or #9801
remove deprecated command line options ✅⛔ #9732 (revoked deprecation of --dev, removed the rest)
remove no-setuptools config option #9331
make include behavior more consistent #9691
remove (or deprecate?) support for x instead of * as wildcard #5990
prefer active python by default #9786
rename experimental.system-git-client to system-git-client #9787
disable keyring per default (and optionally only install via an extra) #9820 or #9866 (no consensus)
actually switch directory with --directory/-C #9831

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions