Releases: ruby/net-imap
Releases · ruby/net-imap
v0.5.4
v0.5.3
v0.5.2
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
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
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
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
What's Changed
Full Changelog: v0.4.17...v0.4.18
v0.5.0
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)
andHEADER.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")
orfetch_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 withSequenceSet#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 byv0.4.0
. - 🔥 Drop deprecated BodyType structs by @nevans in #323
These structs were deprecated byv0.4.0
.
Added
- ✨ Add
#extract_responses
method by @nevans in #330 Also backported tov0.4.17
. - ✨ New config option to return frozen dup from
#responses
by @nevans in #334 Also backported tov0.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
orfalse
. - 🔒 SASL DIGEST-MD5: realm, host, service_name, etc by @nevans in #284
Please note that theDIGEST-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 sincev0.4.0
), - pass a response type to
#responses
for a frozen copied array (sincev0.4.17
), - set
config.responses_without_block
to:silence_deprecation_warning
(sincev0.4.13
), - set
config.responses_without_block
to:frozen_dup
for a frozen copy (sincev0.4.17
), - use
#clear_responses
instead (sincev0.4.0
), - use
#extract_responses
instead (sincev0.4.17
).
- pass a block to
- 🗑️ 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 tov0.4.15
. - 🐛 Fix #header_fld_name to handle quoted strings correctly by @taku0 in #315
Also backported tov0.4.16
. - 🐛 Fix SequenceSet[input] when input is a SequenceSet by @nevans in #326
Also backported tov0.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 towarn
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 tov0.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 tov0.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
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 inv0.6.0
.
Bug fixes
Other Changes
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
v0.4.15
v0.4.14
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