Skip to content

[3.13] gh-63121: Refresh imaplib capabilities on state changes (GH-152752)#152865

Open
serhiy-storchaka wants to merge 1 commit into
python:3.13from
serhiy-storchaka:backport-c89b72a-3.13
Open

[3.13] gh-63121: Refresh imaplib capabilities on state changes (GH-152752)#152865
serhiy-storchaka wants to merge 1 commit into
python:3.13from
serhiy-storchaka:backport-c89b72a-3.13

Conversation

@serhiy-storchaka

@serhiy-storchaka serhiy-storchaka commented Jul 2, 2026

Copy link
Copy Markdown
Member

Manual backport of #152752; the bot could not cherry-pick cleanly because
3.13's _get_response has a different signature (an unrelated main-only
change), which was the only conflict. The ported change is otherwise
identical.

imaplib fetched the server capabilities only once, at connection time.
They are now also refreshed after a successful LOGIN or AUTHENTICATE, and
capabilities advertised in the server greeting are used, so methods such
as enable() see capabilities added after login (gh-103451).

(cherry picked from commit c89b72a)

Co-authored-by: Serhiy Storchaka storchaka@gmail.com

…GH-152752)

imaplib fetched the server capabilities only once, at connection time.
They are now also refreshed after a successful LOGIN or AUTHENTICATE,
from the CAPABILITY response the server sent or, if it sent none, by
querying it.  This lets methods such as enable() see capabilities added
after login, for example ENABLE on Gmail (pythongh-103451).

Capabilities advertised in the server greeting are now used too, saving
a redundant CAPABILITY command.

Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
(cherry picked from commit c89b72a)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant