Skip to content

v0.24.3

Latest

Choose a tag to compare

@jnunemaker jnunemaker released this 30 Sep 12:39
781fc54

Full Changelog: v0.24.2...v0.24.3

Bug Fixes

  • Support the json gem 3.x, which removed the quirks_mode parser option. (#846)
  • Fix the MultiXml deprecation 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 nil like any other blank body, instead of raising or returning the whitespace. (#851, thanks @januththedev)
  • parsed_response and response.body are separate strings for UTF-8 text responses, as in 0.24.2. (#854)

Performance

  • raise_on with 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