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-nameparser (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
Enumerableswill only be converted if they implement#to_sequence_set.
- π₯ Remove deprecated
#client_threadattr_reader by @nevans in #321
#client_threadwas deprecated byv0.4.0. - π₯ Drop deprecated BodyType structs by @nevans in #323
These structs were deprecated byv0.4.0.
Added
- β¨ Add
#extract_responsesmethod by @nevans in #330 Also backported tov0.4.17. - β¨ New config option to return frozen dup from
#responsesby @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
LOGINDISABLEDrequirement by @nevans in #307
To workaround buggy servers,config.enforce_logindisabledcan be set to:when_capabilities_cachedorfalse. - π SASL DIGEST-MD5: realm, host, service_name, etc by @nevans in #284
Please note that theDIGEST-MD5SASL mechanism is insecure and deprecated.
Deprecations
- π Warn about deprecated
#responsesusage by @nevans in #97
To silence these warnings:- pass a block to
#responses(supported sincev0.4.0), - pass a response type to
#responsesfor a frozen copied array (sincev0.4.17), - set
config.responses_without_blockto:silence_deprecation_warning(sincev0.4.13), - set
config.responses_without_blockto:frozen_dupfor a frozen copy (sincev0.4.17), - use
#clear_responsesinstead (sincev0.4.0), - use
#extract_responsesinstead (sincev0.4.17).
- pass a block to
- ποΈ Deprecate
MessageSetby @nevans in #282
MessageSetwas 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: :deprecatedto calls towarnby @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.)