Skip to content

🗑️ Add deprecation warnings to .new and #starttls - #119

Draft
nevans wants to merge 2 commits into
ruby:masterfrom
nevans:deprecations-for-new-and-starttls
Draft

🗑️ Add deprecation warnings to .new and #starttls#119
nevans wants to merge 2 commits into
ruby:masterfrom
nevans:deprecations-for-new-and-starttls

Conversation

@nevans

Copy link
Copy Markdown
Collaborator

Preparing for a (backwards-incompatible) secure-by-default configuration, Net::IMAP.default_ssl will be used when no explicit port or TLS setting is provided.

TODO: should truthy default_ssl be used to config params when port is 993 but ssl is implicit? Another var?

Moved all deprecated option handling to DeprecatedClientOptions, which is prepended to Net::IMAP.

Additionally, split initialize up into small helper methods making it easier to understand at a glance.

This is a first step towards fixing #118.

@nevansnevans added the IMAP4rev2 Requirement for IMAP4rev2, RFC9051 label Mar 2, 2023
@nevans
nevans requested a review from shugoMarch 3, 2023 16:06
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch 2 times, most recently from e479952 to 1319d2aCompareJuly 26, 2023 02:52
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch 3 times, most recently from 42a247d to 688fae2CompareAugust 28, 2023 13:16
@nevans
nevans marked this pull request as draft August 28, 2023 13:21
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from 688fae2 to 031fb0fCompareAugust 29, 2023 14:31
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch 7 times, most recently from cf830ef to 6cea168CompareOctober 5, 2023 14:01
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch 2 times, most recently from 2141292 to de2244eCompareNovember 7, 2023 04:38
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from de2244e to dfffcfeCompareJanuary 2, 2024 17:18
@nevansnevans added the v0.5 label May 19, 2024
@nevansnevans added this to the v0.5 milestone May 19, 2024
@nevansnevans removed the v0.5 label May 19, 2024
@nevansnevans modified the milestones: v0.5, v0.6Jun 12, 2024
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch 2 times, most recently from e31b14e to 782cea8CompareJune 22, 2024 16:07
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from 782cea8 to 56befa6CompareJune 26, 2024 14:52
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from 56befa6 to 0cd91b4CompareOctober 12, 2024 14:40
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from 0cd91b4 to 06c3ebaCompareOctober 29, 2024 18:12
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from 06c3eba to 272a3a5CompareNovember 8, 2024 22:56
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from 272a3a5 to 3e070d8CompareDecember 23, 2024 22:38
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from 3e070d8 to 350e96bCompareFebruary 13, 2025 14:41
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from 350e96b to ceb8c14CompareApril 24, 2025 13:15
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from ceb8c14 to cedc62eCompareAugust 9, 2025 13:03
* `ssl` was renamed to `tls` in most places, with backwards compatible
aliases. Using `ssl` does not print any deprecation warnings. Using
both `tls` and `ssl` keywords raises an ArgumentError.
* Preparing for a (backwards-incompatible) secure-by-default
configuration, `Net::IMAP.default_tls` will determine the value for
`tls` when no explicit port or tls setting is provided. Using port
143 will be insecure by default. Using port 993 will be secure by
default. Providing no explicit port will use `Net::IMAP.default_tls`
with the appropriate port. And providing any other unknown port will
use `default_tls` with a warning.
🚧 TODO: should we use a different config var for default tls params
when port is 993 and `tls` is unspecified?
🚧 TODO: should we use a different config var for choosing `tls` when
`port` is non-standard vs choosing `port` and `tls` when neither are
specified?
🚧 TODO: should we use a different var for `default_tls` be used to
config params when port is 993 but tls is implicit? Another var?
@nevans
nevansforce-pushed the deprecations-for-new-and-starttls branch from cedc62e to 240035bCompareNovember 29, 2025 19:48
@nevansnevans modified the milestones: v0.6, v1.0Dec 10, 2025
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

IMAP4rev2Requirement for IMAP4rev2, RFC9051

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@nevans