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.)