330 Commits

Author SHA1 Message Date
Yuji Yaginuma
58faaf11df [ruby/uri] [DOC] Fix result of sample code in #user=
A `password` is cleared when change a user now.

https://github.com/ruby/uri/commit/af6714473c
2025-11-25 02:15:08 +00:00
Sorah Fukumori
83c2e3b92e [ruby/uri] v1.1.1
https://github.com/ruby/uri/commit/f1b05c89ab
2025-11-04 06:53:18 +00:00
Daisuke Aritomo
397bb12778 [ruby/uri] Re-allow consecutive, leading and trailing dots in EMAIL_REGEXP
Effectively reverts commit https://github.com/ruby/uri/commit/788274b180d6 and
https://github.com/ruby/uri/commit/0abac721d8fe.

EMAIL_REGEXP was mostly drawn from WHATWG HTML LS. This spec states that
it intentionally violates RFC 5322 to provide a practical regex for
validation.

> This requirement is a willful violation of RFC 5322, which defines a
> syntax for email addresses that is simultaneously too strict (before the
> "@" character), too vague (after the "@" character), and too lax
> (allowing comments, whitespace characters, and quoted strings in manners
> unfamiliar to most users) to be of practical use here.

The allowing of consecutive dot s(`a..a@`) and leading/trailing dots
(`.a@`, `a.@`) is not the only derivation from RFC 5322. If a truly RFC
5322-compliant regexp is needed, tt should be organized under a
different name, since too much departure from the original EMAIL_REGEXP
must be introduced.

https://github.com/ruby/uri/commit/c551d7020b
2025-11-04 06:45:16 +00:00
Hiroshi SHIBATA
d2ffab11ce [ruby/uri] v1.1.0
https://github.com/ruby/uri/commit/c41903b3e4
2025-10-31 01:48:36 +00:00
sodacris
f0993de1c2 [ruby/uri] improve error message
https://github.com/ruby/uri/commit/1c6e81b721
2025-10-31 10:38:23 +09:00
yuuji.yaginuma
1dce0ae55a [ruby/uri] Switch a parsing behavior completely when switching a parser
Currently, some methods' behavior(e.g. `URI.parse`) don't change
when switching a parser. This is because some methods use
`DEFAULT_PARSER`, but `parser=` doesn't change `DEFAULT_PARSER`.

This PR introduces a constant to keep a parser's instance and
change it when switching a parser. Also, change to use it in
methods.

https://github.com/ruby/uri/commit/aded210709
2025-10-31 10:38:16 +09:00
vivshaw
08e822ba79 [ruby/uri] chore(docs): replace reference to the obsolete URI.escape with URI::RFC2396_PARSER.escape
https://github.com/ruby/uri/commit/72e7d6b364
2025-10-31 10:38:11 +09:00
Hiroshi SHIBATA
240962dffa [ruby/uri] Use generic version number to VERSION and generate VERSION_CODE from that
https://github.com/ruby/uri/commit/1fc4f0496a
2025-10-31 01:32:09 +00:00
Hiroshi SHIBATA
6a58c4fbb6 [ruby/uri] Bump up to v1.0.4
https://github.com/ruby/uri/commit/e5074739c3
2025-10-07 01:12:43 +00:00
Nobuyoshi Nakada
eccc54b4fa [ruby/uri] Add authority accessor
https://github.com/ruby/uri/commit/6c6449e15f
2025-10-07 01:12:42 +00:00
Nobuyoshi Nakada
d0395bd0ea [ruby/uri] Clear user info totally at setting any of authority info
Fix CVE-2025-27221.
https://hackerone.com/reports/3221142

https://github.com/ruby/uri/commit/5cec76b9e8
2025-10-07 01:12:42 +00:00
Nobuyoshi Nakada
8f54b5bb93 [ruby/uri] [DOC] Update old use of URI::Parser
https://github.com/ruby/uri/commit/d2a79c6343
2025-07-14 05:11:58 +00:00
Nobuyoshi Nakada
d147091418 [ruby/uri] [DOC] Document private visibility too
For the references to URI::RFC2396_Parser private methods.

https://github.com/ruby/uri/commit/372fbb455d
2025-07-14 05:11:58 +00:00
Nobuyoshi Nakada
1a03270a7e [ruby/uri] [DOC] Fix references
These are instance methods, not class methods.  And `URI::Parser` was
moved to URI::RFC2396_Parser at [r46491]

[r46491]: https://github.com/ruby/ruby/commit/bb83f32dc3e0

https://github.com/ruby/uri/commit/452d74390c
2025-07-14 05:11:58 +00:00
Nobuyoshi Nakada
cf7b871a94 [ruby/uri] Improve performance of URI::MailTo::EMAIL_REGEXP
Fix the performance regression at #172 for valid emails.

``` yml
prelude: |
  require 'uri/mailto'
  n = 1000
  re = URI::MailTo::EMAIL_REGEXP
benchmark:
  n.t..t.: re.match?("n.t..t.@docomo.ne.jp")
  example: re.match?("example@example.info")
```

|         |released| 788274b| c5974f0|    this|
|:--------|-------:|-------:|-------:|-------:|
|n.t..t.  |  3.795M|  4.864M|  4.993M|  8.739M|
|         |       -|   1.28x|   1.32x|   2.30x|
|example  |  3.911M|  3.740M|  2.838M|  3.880M|
|         |   1.38x|   1.32x|       -|   1.37x|

https://github.com/ruby/uri/commit/7363a134ac
2025-07-12 10:32:48 +00:00
Jeremy Evans
22b81b5bf5 [ruby/uri] Do not allow empty host names, as they are not allowed by RFC 3986
Pointed out by John Hawthorn.

Fixes [Bug #20686]

https://github.com/ruby/uri/commit/c0cfa04a66
2025-07-12 07:07:39 +00:00
Nobuyoshi Nakada
1add45e2a6 [ruby/uri] Prohibit successive dots in email
https://github.com/ruby/uri/commit/32335923bf
2025-07-12 07:07:05 +00:00
Nikita Levchuk
c97eba9bcd [ruby/uri] lib/uri/mailto.rb (EMAIL_REGEXP): use assertions surrounding the local part instead of a character class
https://github.com/ruby/uri/commit/2d7d2d9988
2025-07-12 03:31:54 +00:00
Nikita Levchuk
0685e8caf9 [ruby/uri] lib/uri/mailto.rb (EMAIL_REGEXP): the local part should not contain leading or trailing dots
https://github.com/ruby/uri/commit/618e2bb640
2025-07-12 03:31:53 +00:00
Nobuyoshi Nakada
f1764623db [ruby/uri] Make URI::regexp schemes case sensitive
(https://github.com/ruby/uri/pull/38)

https://github.com/ruby/uri/commit/0c2b6468fa
2025-07-12 03:24:15 +00:00
Nobuyoshi Nakada
c47a92b63d [ruby/uri] Fix the message for unexpected argument
Use just `self` instead of `self.class`, in `URI::Generic.build`.
Since this is a class method, `self.class` is always `Class` even in
inherited sub classes, and does not have `#component` method.

https://github.com/ruby/uri/commit/6f44d3d40e
2025-07-12 03:05:25 +00:00
Nobuyoshi Nakada
4b1de7378d [ruby/uri] [DOC] State that uri library is needed to call Kernel#URI
So that the example works as-is.

https://github.com/ruby/uri/commit/30212d311e
2025-06-26 01:46:48 +00:00
Nobuyoshi Nakada
4eba511c1b [ruby/uri] Fix a typo
https://github.com/ruby/uri/commit/b636e83d99

Co-authored-by: Olle Jonsson <olle.jonsson@gmail.com>
2025-06-26 01:39:20 +00:00
Nobuyoshi Nakada
228cc794f5 [ruby/uri] Use Lo category chars as escaped chars
TruffleRuby does not allow Symbol categories as identifiers.

https://github.com/ruby/uri/commit/5531d42375
2025-06-26 01:39:20 +00:00
Nobuyoshi Nakada
42f753d829 [ruby/uri] Escape reserved characters in scheme name
Fix https://github.com/ruby/uri/pull/89

https://github.com/ruby/uri/commit/d543c0dafa
2025-06-26 01:39:19 +00:00
yuuji.yaginuma
75f07afd18 [ruby/uri] Use a fully qualified name in warning messages
Currently, some warning messages don't contain a `URI` like the following.

```ruby
warning: URI::ABS_URI is obsolete. Use RFC2396_PARSER.regexp[:ABS_URI] explicitly.
```

But, without `URI` prefix, the suggested value doesn't work.
So I think we should use a fully qualified name to avoid confusion.

https://github.com/ruby/uri/commit/428eb10e44
2025-02-27 04:32:27 +00:00
Yuji Yaginuma
31bd669f67 [ruby/uri] Fix the mention to removed URI.escape/URI::Escape
This was removed by #9.

https://github.com/ruby/uri/commit/fec924238f
2025-02-27 04:30:23 +00:00
Hiroshi SHIBATA
eac8b1197f [ruby/uri] Bump up v1.0.3
https://github.com/ruby/uri/commit/3213f4a0f8
2025-02-26 07:12:53 +00:00
Hiroshi SHIBATA
b407b6b5b2 [ruby/uri] Fix merger of URI with authority component
https://hackerone.com/reports/2957667

https://github.com/ruby/uri/commit/2789182478

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2025-02-26 07:08:45 +00:00
Hiroshi SHIBATA
57dcb4bb9b [ruby/uri] Truncate userinfo with URI#join, URI#merge and URI#+
https://github.com/ruby/uri/commit/3675494839
2025-02-26 07:08:44 +00:00
Nobuyoshi Nakada
881924f259 [ruby/uri] [DOC] Make documentation 100%
https://github.com/ruby/uri/commit/fe7aa3dac2
2025-01-24 01:45:08 +00:00
Hiroshi SHIBATA
0f5e3dca5a [ruby/uri] Bump up v1.0.2
https://github.com/ruby/uri/commit/e46960a467
2024-11-14 03:49:15 +00:00
Hiroshi SHIBATA
310e6603a2 [ruby/uri] Check existence constants only URI module
https://github.com/ruby/uri/commit/b6f583369a
2024-11-14 03:32:13 +00:00
Hiroshi SHIBATA
1bab8bf88f [ruby/uri] Removed duplicated declare step for constants under the URI::RFC2396_REGEXP::PATTERN
https://github.com/ruby/uri/commit/60a8bc1575
2024-11-14 02:20:04 +00:00
Hiroshi SHIBATA
1d6c986104 [ruby/uri] Restore constants like URI::REGEXP::PATTERN::IPV6ADDR
https://github.com/ruby/uri/commit/ee9a38701a
2024-11-14 02:20:04 +00:00
Orien Madgwick
942ec7ab33 [ruby/uri] Remove rakelib/ dir from gem also
https://github.com/ruby/uri/commit/a0dd612e90
2024-11-13 05:07:53 +00:00
Orien Madgwick
7d5fdd97cc [ruby/uri] Remove unused files from the gem package
https://github.com/ruby/uri/commit/f0847c266c
2024-11-13 05:07:53 +00:00
Joe Rafaniello
25252677f9 [ruby/uri] Fix minor typo from
https://github.com/ruby/uri/commit/9997c1acee

https://github.com/ruby/uri/commit/c191b627cb
2024-11-11 02:42:53 +00:00
Hiroshi SHIBATA
35d8427b8b [ruby/uri] Bump up v1.0.1
https://github.com/ruby/uri/commit/3011eb6f6e
2024-11-08 06:07:54 +00:00
Hiroshi SHIBATA
d7c65398e0 [ruby/uri] Added more fallback constants like URI::PARTTERN and URI::REGEXP
Fixed https://github.com/ruby/uri/issues/125

https://github.com/ruby/uri/commit/1f3d3df02a
2024-11-08 06:06:30 +00:00
Hiroshi SHIBATA
fb6645a510 [ruby/uri] Bump up v1.0.0
https://github.com/ruby/uri/commit/af8d9d6bb1
2024-11-07 06:52:30 +00:00
David Rodríguez
39679d7fab [ruby/uri] Fix spelling of "cannot"
https://github.com/ruby/uri/commit/77241d6508
2024-09-17 22:12:12 +00:00
Hiroshi SHIBATA
7900128ab2 [ruby/uri] Bump up 0.13.1
https://github.com/ruby/uri/commit/31ec9cea66
2024-08-31 05:14:54 +00:00
Hiroshi SHIBATA
04ca75ea69 [ruby/uri] Also warn URI::RFC3986_PARSER.extract
https://github.com/ruby/uri/commit/0f6b945557
2024-08-27 02:39:52 +00:00
Hiroshi SHIBATA
b41d79962a Reapply "[ruby/uri] Warn compatibility methods in RFC3986_PARSER"
This reverts commit 3da7e440e9fca835f5475a98f1c0afb4d2ac71db.
2024-08-21 14:52:29 +09:00
Hiroshi SHIBATA
3da7e440e9 Revert "[ruby/uri] Warn compatibility methods in RFC3986_PARSER"
This reverts commit c3becc3ba6c584fbeabd5182e304e61529235fe6.
2024-08-08 12:04:00 +08:00
Hiroshi SHIBATA
68ebd56a76 [ruby/uri] Use URI::RFC2396_PARSER explicitly in URI
https://github.com/ruby/uri/commit/898b889811
2024-08-08 02:09:27 +00:00
Hiroshi SHIBATA
c3becc3ba6 [ruby/uri] Warn compatibility methods in RFC3986_PARSER
https://github.com/ruby/uri/commit/9997c1acee
2024-08-08 02:09:27 +00:00
Hiroshi SHIBATA
267da552a1 [ruby/uri] Fallback missing constants with RFC3986_PARSER
(https://github.com/ruby/uri/pull/113)

* Fallback missing constants with RFC3986_PARSER

* raise missing constant

* Update test/uri/test_common.rb

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

* Update lib/uri/common.rb

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

* Update lib/uri/common.rb

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>

---------

https://github.com/ruby/uri/commit/c2fdec079a

Co-authored-by: Nobuyoshi Nakada <nobu@ruby-lang.org>
2024-08-06 09:09:52 +00:00
Josh Soref
9d86864a6d [ruby/uri] Add space after bad URI
https://github.com/ruby/uri/commit/9f2c7ed5f2
2024-08-05 08:15:56 +00:00