- Switched to using
require_relativeto improve load-times. - Added
# frozen_string_literal: trueto all files.
- Updated {URI::Generic#to_s} to ruby-3.0.0.
- Override {URI::HTTP#request_uri} to be aware of {URI::QueryParams::Mixin#query_params}.
- Require ruby >= 2.0.0.
- Renamed
uri/query_params/extensionstouri/query_params/core_ext. - Removed legacy ruby 1.8 code.
- Fix instance variable warnings in
uri/query_params/mixin.
- Use
URI::DEFAULT_PARSER.escape/.unescapeinstead of the deprecatedURI.escape/URI.unescape.
- Fixed a Ruby 2.2 specific bug where
aliases are defined before the method they alias. (@iraupph) - Removed the
URI::Generic#path_querymonkeypatch. - Override {URI::Generic#to_s} to call the
querymethod overrode by {URI::QueryParams::Mixin}, instead of@query. Starting in Ruby 2.2.0,path_querywas inlined directly intoURI::Generic#to_swhich broke ourpath_querymonkeypatch.
- Inject {URI::QueryParams::Mixin} into {URI::Generic}, so all URIs have
query_params. - Inject {URI::QueryParams::Mixin} into
Addressable::URI, ifaddressable/uriis loaded.
- Fixed a query parameter ordering issue in {URI::QueryParams.dump}, under Ruby 1.8.x.
- Added white-space and unprintable characters to {URI::QueryParams::UNSAFE}.
- Allow {URI::QueryParams.parse} to yield query-params, in the order they were parsed.
- Fixed a bug when parsing query params containing
&&&&.
- Only require
uri/commonforURI.escapeandURI.unescape.
- Added {URI::QueryParams::UNSAFE}:
- Contains RFC 3986 unsafe URI characters.
- Use {URI::QueryParams::UNSAFE} in {URI::QueryParams.dump} for safer query strings.
- Added
URI::QueryParams::Mixin#query:- If any query-params are set, dump them out using {URI::QueryParams.dump}.
- Renamed
parse_query_paramsto {URI::QueryParams::Mixin#parse_query_params!}.
- Added {URI::QueryParams::Mixin#initialize_copy} to properly copy the
query_paramswhen callingcloneordupon a URI.
- Added {URI::QueryParams.dump}.
- Added
uri/query_params/extensions/https.rb. - Fixed a bug in {URI::QueryParams.parse}, where query param values
containing
=characters were not properly parsed.
- Initial release.