Full Changelog: v0.24.2...v0.24.3
Bug Fixes
- Support the
jsongem 3.x, which removed thequirks_modeparser option. (#846) - Fix the
MultiXmldeprecation warning with multi_xml 0.9+. (#838, thanks @robzolkos) - A UTF-8 byte order mark (BOM) is now stripped from responses that don't declare a charset. Before, a BOM-prefixed JSON response without a charset raised
JSON::ParserError. (#852) - A response body that is only a BOM, or a BOM followed by whitespace, now parses to
nillike any other blank body, instead of raising or returning the whitespace. (#851, thanks @januththedev) parsed_responseandresponse.bodyare separate strings for UTF-8 text responses, as in 0.24.2. (#854)
Performance
raise_onwith a Range (e.g.500..599) checks the range directly instead of building a regex for every code in it. (#843, thanks @MaxLap)- Parsing allocates fewer objects per response. (#854)
Behavior Changes
For text/plain, text/html and text/csv responses without a charset, a leading BOM is now removed from parsed_response, matching what already happened when charset=utf-8 was set. If you worked around the BOM by matching it (for example a CSV header of "\xEF\xBB\xBFid"), that match will now be "id". Workarounds like delete_prefix("") keep working.
These are unchanged: response.body and to_s (raw bytes), application/octet-stream and other formats HTTParty doesn't parse, and bodies declared in other charsets such as ISO-8859-1 or UTF-16.
Other
- Specs no longer need a UTF-8 locale. (#853)
- README and example updates. (#836, thanks @harland-davis; #837, thanks @zed-0xff)