🐛 Do not automatically freeze SearchResult by @nevans in #263 This fixes a backwards incompatible change in v0.4.8 that affected the mail gem.
See #262, reported by @stanley90.
Documentation
📚 Workaround rdoc method visibility issue by @nevans in #257
📚 Workaround rdoc issue with :yield: and visibility by @nevans in #258
Miscellaneous
⬆️ Bump actions/upload-pages-artifact from 2 to 3 by @dependabot in #256
⬆️ Bump actions/deploy-pages from 3 to 4 by @dependabot in #255
✨ Improve SequenceSet with Set, Range, Enumerable methods by @nevans in #239
✨ Add support for the CONDSTORE extension (RFC7162) by @nevans in #236 NOTE: #search and #uid_search have been updated to return SearchResult rather than Array. SearchResult inherits from Array, for backward compatibility.
Fixed
🩹 Workaround invalid Gmail FLAGS response by @nevans in #246
🐛 Fix broken QUOTA/QUOTAROOT response parsing by @nevans in #247
Documentation
📚 Update extension docs for IMAP4rev2, STATUS=SIZE by @nevans in #242
📚 List all currently supported response codes by @nevans in #243
Miscellaneous
Bump actions/configure-pages from 3 to 4 by @dependabot in #245
Bump actions/deploy-pages from 2 to 3 by @dependabot in #244
Aliases have been added from username to authcid or authzid—or in the other direction, from authcid or authzd to username.
OAuthBearerAuthenticator may now receive two arguments, to match the common authenticate(username, secret) style. authzid (i.e. username) is still optional for the mechanism (although in practice many servers do require it).
Instead of raising an exception, conflicting arguments are silently ignored. This allows more specific arguments (like authcid or a keyword argument) to override more generic terms (like username or a positional argument). This improves compatibility with other projects, and can also simplify dynamic mechanism negotiation.
Keyword argument support has been added to the deprecated LOGIN and CRAM-MD5 mechanisms. This is for consistency and compatibility with other projects. These mechanisms are obsolete and should be avoided.
✨ Add secret alias (for password, oauth2_token, etc) to relevant SASL mechanisms by @nevans in #195
📚 Fix a few documentation mistakes by @nevans in #193
🔒⚗️ Add experimental SASL::ClientAdapter by @nevans in #183
This code is not yet used by Net::IMAP#authenticate (see #194). It is released in experimental form in order to simplify using it from other projects, to facilitate collaborating and iterating on a broadly useful API.
Most notably, support has been added for the SASL-IR, ENABLE, and UTF-8=ACCEPT extensions, and for many SASL mechanisms: EXTERNAL, ANONYMOUS, OAUTHBEARER, SCRAM-SHA-1, and SCRAM-SHA-256.
💥 Breaking changes
💥 ⬆️ Drop v2.6 support; Require v2.7.3; Use "..." arg by @nevans in #89
The test suite passes under ruby 2.7, although it does print some warnings for experimental pattern matching.
💥 Return an empty array (rather than nil) when the server doesn't send any responses by @nevans in #192
This can affect list, xlist, getquota, lsub, expunge, uid_expunge, fetch, uid_fetch, store, and uid_store.
✨ Added
Improved IMAP4rev1 protocol and extension support
✨ Add missing "location" BODYSTRUCTURE extension data by @nevans in #113
✨ Cache server capabilities and add #capable?(name) by @nevans in #156
✨ Add support for ENABLE (RFC 5161) by @arnt in #98
✨ Parse UTF-8 encoded strings, for UTF8=ACCEPT and IMAP4rev2 by @nevans in #111
🗑️🧵 Soft-deprecation of current #responses API by @nevans in #93 The current API is not thread-safe. It is documented as deprecated, but no warning message is logged yet.
🗑️ Deprecated BodyTypeAttachment and BodyTypeExtension structs @nevans in #113
🗑️ Deprecate backward compatible parameters to new and starttls by @nevans in #175 Net::IMAP.new uses keyword parameters for its options now.
Sending a port or an options hash as the second argument is documented as obsolete, but doesn't print warnings yet. Any other positional parameters are deprecated and will print warnings.
🐛 Fixed
🐛 Fix NAMESPACE parsing (and other ♻️ refactoring) by @nevans in #112
🐛 Fix BODYSTRUCTURE parser bugs by @nevans in #113
More strict about where NIL is not allowed, e.g: number, envelope, and body. Ignoring these uncommon bugs made it difficult to workaround much more common server bugs elsewhere.
BodyTypeAttachment and BodyTypeExtension won't be returned any more.
Better workaround for multipart parts with... zero parts.
🐛 Fix typo in uncommon BODYSTRUCTURE parsing code by @nevans in #185
🧵 Synchronize @responses update in thread_internal by @nevans in #116
🐛 Add missing lookahead_case_insensitive_string by @nevans in #144
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with @depfu rebase.
All Depfu comment commands
@depfu rebase
Rebases against your default branch and redoes this update
@depfu recreate
Recreates this PR, overwriting any edits that you've made to it
@depfu merge
Merges this PR once your tests are passing and conflicts are resolved
@depfu cancel merge
Cancels automatic merging of this PR
@depfu close
Closes this PR and deletes the branch
@depfu reopen
Restores the branch and reopens this PR (if it's closed)
@depfu pause
Ignores all future updates for this dependency and closes this PR
@depfu pause [minor|major]
Ignores all future minor/major updates for this dependency and closes this PR
@depfu resume
Future versions of this dependency will create PRs again (leaves this PR as is)
Here is everything you need to know about this update. Please take a good look at what changed and the test results before merging this pull request.
What changed?
↗️ net-imap (indirect, 0.3.7 → 0.4.10) · Repo
Release Notes
0.4.10
0.4.9.1
0.4.9
0.4.8
0.4.7
0.4.6
0.4.5
0.4.4
0.4.3
0.4.2
0.4.1
0.4.0
Does any of this look wrong? Please let us know.
Commits
See the full diff on Github. The new version differs by more commits than we can show here.
Depfu will automatically keep this PR conflict-free, as long as you don't add any commits to this branch yourself. You can also trigger a rebase manually by commenting with
@depfu rebase
.All Depfu comment commands