Skip to content

Releases: ruby/net-imap

v0.5.4

23 Dec 00:20
v0.5.4
Compare
Choose a tag to compare

What's Changed

Added

  • ✨ Add support for PARTIAL extension (RFC9394) by @nevans in #367

Fixed

  • 🐛 Fix partial-range encoding of exclusive ranges by @nevans in #370

Documentation

Full Changelog: v0.5.3...v0.5.4

v0.5.3

22 Dec 23:48
v0.5.3
Compare
Choose a tag to compare

What's Changed

Added

  • ✨ Add support for VANISHED responses by @nevans in #329

Documentation

Full Changelog: v0.5.2...v0.5.3

v0.5.2

16 Dec 15:36
v0.5.2
Compare
Choose a tag to compare

What's Changed

Added

  • 🥅 Raise ArgumentError on multiple search charset args by @nevans in #363
  • ✨ Add keyword argument for search charset by @nevans in #364
  • ✨ Add basic ESEARCH support (RFC4466, RFC4731) by @nevans in #333

Fixed

  • 🐛 Return empty SearchResult for no search result by @nevans in #362

Documentation

  • 📚 Fix README example by @nevans in #354
  • 📦📚 Add release.yml for better release note generation by @nevans in #355
  • 📚💄 Fix rdoc 6.8 CSS styles by @nevans in #356
  • 📚 Update IMAP#search docs (again) by @nevans in #360
  • 📚 Consistent heading levels inside method rdoc by @nevans in #361

Other Changes

  • ✨ Add Data polyfill for ruby 3.1 by @nevans in #352
  • ♻️ Refactor internal command data classes by @nevans in #358

Miscellaneous

  • 🔥 Drop YAML.unsafe_load_file refinement (tests only) by @nevans in #353
  • ⬆️ Bump step-security/harden-runner from 2.10.1 to 2.10.2 by @dependabot in #357
  • Enabled windows-latest on GHA by @hsbt in #359

Full Changelog: v0.5.1...v0.5.2

v0.5.1

08 Nov 23:10
v0.5.1
Compare
Choose a tag to compare

What's Changed

Added

  • ✨ Add SequenceSet#deconstruct by @nevans in #343
  • ✨ Coerce Set, :*, #to_sequence_set search args into sequence-set by @nevans in #351
  • ✨ Enable parenthesized lists in search criteria by @nevans in #345

Fixed

  • 🐛 Ensure set is loaded in ruby 3.1 by @nevans in #342
  • 🐛 Fix SequenceSet.try_convert by @nevans in #349

Documentation

Other Changes

  • ♻️ Reduce duplication in normalizing search args by @nevans in #348

Miscellaneous

  • Make simplecov-json as optional dependency by @hsbt in #344
  • Removed needless workaround by @hsbt in #346

Full Changelog: v0.5.0...v0.5.1

v0.4.18

08 Nov 23:11
v0.4.18
Compare
Choose a tag to compare

What's Changed

Full Changelog: v0.4.17...v0.4.18

v0.5.0

16 Oct 23:03
v0.5.0
Compare
Choose a tag to compare

What's Changed

Breaking Changes

  • 💥 Drop ruby 2.7 and 3.0 support, and require ruby 3.1 by @nevans in #276
  • 💥⚡ Simplify header-fld-name parser (backward incompatible) by @nevans in #216
    For example, HEADER.FIELDS (Content-Type) and HEADER.FIELDS ("Content-Type") are semantically identical, and a server may choose to return the quoted version.
    • Before this change, the FetchData attr header name would be quoted if the server sent the field name quoted.
    • After this change, the header field names will always be unquoted by the parser, so the result will always available via fetch_data.header_fields("Content-Type") or fetch_data.attr_upcase["HEADER.FIELDS (CONTENT-TYPE)"].
  • 💥 Replace MessageSet with SequenceSet by @nevans in #282
    Most of the changes are bugfixes or allow something new to work that didn't work before. See the PR for more details.
    This affects #search, #uid_search, #sort, #uid_sort, #fetch, #uid_fetch, #store, #uid_store, #copy, #uid_copy, #move, #uid_move, and #uid_expunge.
  • 💥 SequenceSet input validation for Set, Array, and enumerables by @nevans in #319
    • Array inputs can still be deeply nested. This is unchanged.
    • Set inputs can only contain integers and "*" or :*, to be consistent with SequenceSet#to_set.
    • Other Enumerables will only be converted if they implement #to_sequence_set.
  • 🔥 Remove deprecated #client_thread attr_reader by @nevans in #321
    #client_thread was deprecated by v0.4.0.
  • 🔥 Drop deprecated BodyType structs by @nevans in #323
    These structs were deprecated by v0.4.0.

Added

  • ✨ Add #extract_responses method by @nevans in #330 Also backported to v0.4.17.
  • ✨ New config option to return frozen dup from #responses by @nevans in #334 Also backported to v0.4.17.
  • 🥅 Improve SequenceSet frozen errors by @nevans in #331 Also backported to v0.4.17.
  • 📚 SequenceSet API is considered stable now by @nevans in #318
  • 🔒 Enforce LOGINDISABLED requirement by @nevans in #307
    To workaround buggy servers, config.enforce_logindisabled can be set to :when_capabilities_cached or false.
  • 🔒 SASL DIGEST-MD5: realm, host, service_name, etc by @nevans in #284
    Please note that the DIGEST-MD5 SASL mechanism is insecure and deprecated.

Deprecations

  • 🔊 Warn about deprecated #responses usage by @nevans in #97
    To silence these warnings:
    • pass a block to #responses (supported since v0.4.0),
    • pass a response type to #responses for a frozen copied array (since v0.4.17),
    • set config.responses_without_block to :silence_deprecation_warning (since v0.4.13),
    • set config.responses_without_block to :frozen_dup for a frozen copy (since v0.4.17),
    • use #clear_responses instead (since v0.4.0),
    • use #extract_responses instead (since v0.4.17).
  • 🗑️ Deprecate MessageSet by @nevans in #282
    MessageSet was only intended for internal use, and all internal usage has been replaced.

Fixed

  • 🐛 Fix #send_data to send DateTime as time by @taku0 in #313
    Also backported to v0.4.15.
  • 🐛 Fix #header_fld_name to handle quoted strings correctly by @taku0 in #315
    Also backported to v0.4.16.
  • 🐛 Fix SequenceSet[input] when input is a SequenceSet by @nevans in #326
    Also backported to v0.4.17.
  • 🐛 Fix Set inputs for SequenceSet by @nevans in #332
    This bug was introduced by #319, which had not been previously released.

Other Changes

  • 🔧 Update default config for v0.5 by @nevans in #305
  • ♻️ Use Integer.try_convert (new in ruby 3.1+) by @nevans in #316
  • 🗑️ Add category: :deprecated to calls to warn by @nevans in #322
  • ♻️ Extract SASL::Authenticators#normalize_name by @nevans in #309
  • 🔒 📚 Improvements and docs for SASL::ClientAdapter by @nevans in #320
  • ♻️ Use SASL::ClientAdapter by @nevans in #194

Documentation

  • 📚 Update Config rdoc for v0.5 by @nevans in #306
  • 📚 Update SASL documentation by @nevans in #308
  • 📚 SequenceSet API is considered stable now by @nevans in #318
  • 🔒 📚 Improvements and docs for SASL::ClientAdapter by @nevans in #320

Miscellaneous

  • ✅ Add a Mutex to FakeServer (for tests only) by @nevans in #317
    Also backported to v0.4.17.
  • ⬆️ Bump step-security/harden-runner from 2.8.1 to 2.9.0 by @dependabot in #311
  • ⬆️ Bump step-security/harden-runner from 2.9.0 to 2.9.1 by @dependabot in #312
  • Bump step-security/harden-runner from 2.9.1 to 2.10.1 by @dependabot in #325
  • 🔨📚 Fix rdoc => ghpages workflow by @nevans in #335
  • ✅ Fix GH action for rubygems Trusted Publishing by @nevans in #340
    Also backported to v0.4.17.
  • ✅ Setup simplecov by @nevans in #328

New Contributors

Full Changelog: v0.4.14...v0.5.0
(Note that v0.4.x releases since v0.4.14 have used the v0.4-stable branch.)

v0.4.17

13 Oct 19:36
v0.4.17
8484205
Compare
Choose a tag to compare

What's Changed

Added features

  • ✨ Add #extract_responses method by @nevans in #337 (backports #330)
  • ✨ New config option to return frozen dup from #responses by @nevans in #339 (backports #334)
    This will become the default in v0.6.0.

Bug fixes

  • 🐛 Fix SequenceSet[input] when input is a SequenceSet by @nevans in #327 (backports #326)

Other Changes

  • 🥅 Improve SequenceSet frozen errors by @nevans in #338 (backports #331)

Miscellaneous

  • ✅ Add a Mutex to FakeServer (for tests only) by @nevans in #336 (backports #317)
  • ✅ Fix GH action for Rubygems Trusted Publishing by @nevans in #341 (backports #340)

Full Changelog: v0.4.16...v0.4.17

v0.4.16

04 Sep 16:05
v0.4.16
Compare
Choose a tag to compare

What's Changed

Fixed

  • 🐛 Fix #header_fld_name to handle quoted strings correctly by @taku0 in #315

Full Changelog: v0.4.15...v0.4.16

v0.4.15

28 Aug 01:52
v0.4.15
Compare
Choose a tag to compare

What's Changed

Fixed

  • 🐛 Fix #send_data to send DateTime as time by @taku0 in #313

New Contributors

Full Changelog: v0.4.14...v0.4.15

v0.4.14

22 Jun 16:12
v0.4.14
Compare
Choose a tag to compare

What's Changed

Added

  • ✨ Add Config methods: #to_h, #update, and #with by @nevans in #300
  • 🔧 Add versioned defaults by @nevans in #302
  • 🔧 Add Config#load_defaults by @nevans in #301

Fixed

  • 🐛 Fix Config#clone to clone internal data struct by @nevans in #303
  • 🔇 Fix ruby 2.7 warnings by @nevans in #304

Full Changelog: v0.4.13...v0.4.14