openSUSE / osem

Open Source Event Manager. An event management tool tailored to Free and Open Source Software conferences.
http://osem.io
MIT License
871 stars 491 forks source link

Update net-imap 0.3.7 → 0.4.10 (major) #3347

Closed depfu[bot] closed 5 months ago

depfu[bot] commented 5 months ago

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

What's Changed

Fixes

  • 🐛 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

New Contributors

Full Changelog: v0.4.9...v0.4.10

0.4.9.1

What's Changed

New Contributors

Full Changelog: v0.4.9...v0.4.9.1

0.4.9

What's Changed

Added

  • ✨ Add SequenceSet#overlap? alias for intersect? by @nevans in #252
  • ✨ Preserving sequence set order by @nevans in #254
    • Add SequenceSet#entries and #each_entry, for unsorted iteration
    • Add SequenceSet#append, to keep unsorted order when modifying the set

Documentation

  • 📚 Fix "not not" in FetchData docs by @nevans in #248
  • 📚 Document SequenceSet "Normalized form" by @nevans in #254

Other Changes

  • Remove redundant calls in sort_internal and thread_internal by @gobijan in #251

Miscellaneous

  • ✅ Document and test workaround for invalid "*" in FLAGS by @nevans in #249
  • ✅ Limit CI rubygems for 2.7 compatibility by @nevans in #253

New Contributors

Full Changelog: v0.4.8...v0.4.9

0.4.8

What's Changed

Added

  • ✨ 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

Full Changelog: v0.4.7...v0.4.8

0.4.7

What's Changed

  • Provide a 'Changelog' link on rubygems.org/gems/net-imap by @mark-young-atg in #235
  • ⚡️ Simplify and speed up SEARCH response parsing by @nevans in #238
  • 🩹 Workaround buggy outlook.com address lists by @nevans in #240

New Contributors

Full Changelog: v0.4.6...v0.4.7

0.4.6

What's Changed

Changed

  • 🩹 Workaround servers that don't send required SP when resp-text is empty by @nevans in #230
  • ⚡️ Simplify and speed up envelope and address parsing by @nevans in #232
  • ⚡️ Simplify and speed up mailbox-list parsing by @nevans in #233
  • ⚡ Simplify and speed up thread-data response parsing by @nevans in #234

Documentation

  • 📚 Update #status docs for DELETED (IMAP4rev2) by @nevans in #227

Miscellaneous

  • 📈 Fix benchmark string encoding by @nevans in #231

Full Changelog: v0.4.5...v0.4.6

0.4.5

What's Changed

✨ Added

IMAP extension support

  • ✨ Add fetch support for BINARY and BINARY.SIZE by @nevans in #207
  • ✨ Add fetch support for Gmail's X-GM-EXT-1 extensions by @nevans in #209
  • ✨ Add support for OBJECTID extension (RFC8474) by @nevans in #226
    • MAILBOXID ResponseCode
    • MAILBOXID attribute for Net::IMAP#status
    • EMAILID and THREADID message attributes to Net::IMAP#fetch/#uid_fetch and FetchData#emailid/#threadid

Other API improvements

  • ✨ Allow decode_datetime to work without dquotes by @nevans in #218
  • ✨ Add FetchData msg-att methods and update rdoc by @nevans in #220

♻️ Changed

  • ⚡ Better Faster Cleaner STATUS parsing by @nevans in #225

📚 Documentation

  • 📚 Add :nodoc: to internal parser utils by @nevans in #221
  • 💄 Fix styles.css customization for RDoc 6.6 by @nevans in #222
  • ✨ Add FetchData msg-att methods and update rdoc by @nevans in #220
  • 📚 Improve STATUS attribute documentation by @nevans in #225

Miscellaneous

  • 🔎 Simplify parser test debugging by @nevans in #223
  • 📈 Update parser benchmark comparison by @nevans in #224

Full Changelog: v0.4.4...v0.4.5

0.4.4

What's Changed

Performance

  • ⚡ Parse expected chars using String#getbyte by @nevans in #215
  • ⚡ Simplify header-fld-name parser (backward compatible) by @nevans in #217

Error handling

  • 🥅 Return empty array for missing server response by @nevans in #214

Full Changelog: v0.4.3...v0.4.4

0.4.3

What's Changed

Fixes

  • 🐛 Fix unbalanced parens in body-fld-lang parsing by @nevans in #204

Error handling

  • 🥅 Validate response-tagged in the parser by @nevans in #198
  • 🥅 Return UnparsedData for unhandled response-data by @nevans in #200
  • 🥅 Update parsing of unknown numeric response types by @nevans in #213

Performance

  • ⚡ Simpler, faster response-data parser by @nevans in #201
  • ⚡ Simpler, faster msg-att parser (for fetch responses) by @nevans in #205
  • ⚡ Simpler, faster resp-text-code parser (for response codes) by @nevans in #211
  • ⚡ Update flag parsing: FLAGS, LIST, PERMANENTFLAGS by @nevans in #212

Changes

  • ✨ Update response-data parser w/stubs for all extensions by @nevans in #202
  • ♻️ Update response and continue-req to new parser style by @nevans in #199
  • ♻️ Refactor response-data methods to match ABNF by @nevans in #203

Documentation

  • 📚 Fix XOAuth2Authenticator rdoc typo by @nevans in #196
  • 📚 Fixing and formatting docs by @nevans in #197

Miscellaneous

  • 📈 Add benchmark rake task to compare gem versions by @nevans in #208
  • Set utf-8 encoding when looking for VERSION in the file. by @debasishbsws in #210

New Contributors

Full Changelog: v0.4.2...v0.4.3

0.4.2

What's Changed

  • 🔒 SASL: Clarify usage of username vs authcid vs authzid by @nevans in #187
    • Improved SASL authenticator parameter documentation.
    • 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

Full Changelog: v0.4.1...v0.4.2

0.4.1

What's Changed

  • 📚 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.

Full Changelog: v0.4.0...v0.4.1

0.4.0

What's Changed

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
    • Minor bits for UTF8=ACCEPT by @arnt in #114
  • ✨🔒 Add SASL-IR support by @nevans in #90
    • 🐛 Fix empty SASL-IR to send "=" by @nevans in #180

Improved SASL support

  • 🔒 Add SASL OAUTHBEARER mechanism by @nevans in #171
  • 🔒 Add SASL ANONYMOUS mechanism by @nevans in #169
  • 🔒 Add SASL EXTERNAL mechanism by @nevans in #170
  • ✨ Make SASL.authenticator case insensitive by @nevans in #167
    • 🐛 Fix authenticate using Symbol mechanism name by @nevans in #186
  • ✨ Add attr_readers to SASL mechanisms by @nevans in #176
  • ✨ Allow keyword args on all SASL authenticators by @nevans in #177
  • 🔒 Verify SASL authentication has completed by @nevans in #179
  • 🔒 Add SASL SCRAM-SHA-* mechanisms by @nevans in #172
  • 🔒 SASL PLAIN: Raise ArgumentError for conflicts by @nevans in #181
  • ✨ Minor updates to SASL::Authenticators API by @nevans in #184

Improved Net::IMAP client API

  • ✨ Add attr_readers for host and port by @nevans in #92
  • 🧵 New thread-safe API for #responses and add #clear_responses by @nevans in #93
  • ✨ Add greeting code data to #responses by @nevans in #94
  • ✨ Add #capable?(name), #auth_capable?(name), #auth_mechanisms, #capabilities, etc by @nevans in #156
  • 🔒 Add #tls_verified? by @nevans in #91
  • 🔒 Add ssl_ctx and ssl_ctx_params attr readers by @nevans in #174
  • ✨ Add #logout! to combine logout and disconnect by @nevans in #178

StringPrep profiles

  • ✨ Add generic stringprep algorithm and the "trace" profile by @nevans in #101
  • ✨ Add Nameprep stringprep profile by @nevans in #83

🗑️ Deprecated

  • 🗑️ Deprecated #client_thread by @nevans in #93
  • 🗑️🧵 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
  • Decode UTF-7 more strictly by @nobu in #152
  • Fix for Digest MD5 bad challenges by @nobu in #160
  • 🥅 Work around missing server responses by @nevans in #192

♻️ Changed

  • 🔎 Improve parse error debugging by @nevans in #105
  • 🚚 Move the StringPrep module out of SASL by @nevans in #100
  • ✅ 📈 Move most parser tests to yaml, add more tests, and add parser benchmarks by @nevans in #103
  • 🧪 Add Regexp.linear_time? tests; ⚡✅ Update BEG_REGEXP to pass by @nevans in #145
  • ⚡✅ Update more regexps to run in linear time by @nevans in #147
  • 🧪 Add experimental new FakeServer for tests by @nevans in #157
  • ⏱️ Add Timeout to several existing SSL tests by @nevans in #163
  • ♻️ Use Net::IMAP::FakeServer::TestHelper by @nevans in #164
  • 🚚 Move and rename SASL authenticators by @nevans in #165
  • ♻️ Simplify lazy-loaded SASL::{Name}Authenticator registration by @nevans in #168

📚 Documentation

  • 📚 Add "rake ghpages" for publishing rdoc by @nevans in #102
  • 📚 Auto-deploy GitHub Pages from an action by @nevans in #135
  • 📚 More rdoc updates, all related to capabilities by @nevans in #159
  • SASL doc updates by @nevans in #166
  • 📚 Update SASL docs and add attr_readers by @nevans in #176
  • 📚 Update examples with modern SASL mechanisms by @nevans in #182

Miscellaneous

New Contributors

Full Changelog: v0.3.7...v0.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 Status

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)