- Switched to using
require_relative
to improve load-times. - Added
# frozen_string_literal: true
to 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/extensions
touri/query_params/core_ext
. - Removed legacy ruby 1.8 code.
- Fix instance variable warnings in
uri/query_params/mixin
.
- Use
URI::DEFAULT_PARSER.escape
/.unescape
instead of the deprecatedURI.escape
/URI.unescape
.
- Fixed a Ruby 2.2 specific bug where
alias
es are defined before the method they alias. (@iraupph) - Removed the
URI::Generic#path_query
monkeypatch. - Override {URI::Generic#to_s} to call the
query
method overrode by {URI::QueryParams::Mixin}, instead of@query
. Starting in Ruby 2.2.0,path_query
was inlined directly intoURI::Generic#to_s
which broke ourpath_query
monkeypatch.
- Inject {URI::QueryParams::Mixin} into {URI::Generic}, so all URIs have
query_params
. - Inject {URI::QueryParams::Mixin} into
Addressable::URI
, ifaddressable/uri
is 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/common
forURI.escape
andURI.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_params
to {URI::QueryParams::Mixin#parse_query_params!}.
- Added {URI::QueryParams::Mixin#initialize_copy} to properly copy the
query_params
when callingclone
ordup
on 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.