summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2025-11-10[ruby/net-http] Remember if TCPSocket impl supports open_timeoutDaisuke Aritomo
For open_timeout support detection, the previous implementation relied on an ArgumentError being raised and then rescued. In Ruby, rescue is a rather expensive operation and should be avoided when possible. This patch reduces the number of begin-rescues by remembering if the TCPSocket implementation supports open_timeout. https://github.com/ruby/net-http/commit/06d982f3a1
2025-11-10[ruby/net-http] Ruby 2 compatDaisuke Aritomo
https://github.com/ruby/net-http/commit/09bf573dd5
2025-11-10[ruby/net-http] Replace Timeout.timeout with TCPSocket.open(open_timeout:) ↵Daisuke Aritomo
when available This patch replaces the implementation of #open_timeout from Timeout.timeout from the builtin timeout in TCPSocket.open, which was introduced in Ruby 3.5 (https://bugs.ruby-lang.org/issues/21347). The builtin timeout in TCPSocket.open is better in several ways than Timeout.timeout. It does not rely on a separate Ruby Thread for monitoring Timeout (which is what the timeout library internally does). Furthermore, it is compatible with Ractors, as opposed to Timeout.timeout (it internally uses Thread::Mutex which can not be used in non-main Ractors). This change allows the following code to work. require 'net/http' Ractor.new { uri = URI('http://example.com/') http = Net::HTTP.new(uri.host, uri.port) http.open_timeout = 1 http.get(uri.path) }.value In Ruby <3.5 environments where `TCPSocket.open` does not have the `open_timeout` option, I have kept the behavior unchanged. net/http will use `Timeout.timeout { TCPSocket.open }`. https://github.com/ruby/net-http/commit/728eb8fc42
2025-11-10[ruby/resolv] [DOC] `Resolv::LOC` itself is undocumentedNobuyoshi Nakada
https://github.com/ruby/resolv/commit/7c5bfe7acd
2025-11-09Reapply "[ruby/net-http] [DOC] Suppress documentation for internals"Nobuyoshi Nakada
This reverts commit af610e107c3a7515228843eb6b1c5978f2ee2685. Reverted by a mistake.
2025-11-09Revert "[ruby/net-http] [DOC] Suppress documentation for internals"Nobuyoshi Nakada
This reverts commit 155cdce539a95b510a80a19e3840cde6b293cd4d.
2025-11-09[ruby/net-http] [DOC] Fix too stopped documentationsNobuyoshi Nakada
https://github.com/ruby/net-http/commit/58685b78ab
2025-11-09[ruby/resolv] [DOC] Fix documentationsNobuyoshi Nakada
https://github.com/ruby/resolv/commit/d8b8d36f63
2025-11-09[ruby/resolv] Require win32/resolv just onceNobuyoshi Nakada
And Use Win32::Resolv instead of a constant `WINDOWS`. https://github.com/ruby/resolv/commit/b2c775cd80
2025-11-09[ruby/resolv] Exclude unneeded filesNobuyoshi Nakada
https://github.com/ruby/resolv/commit/60bf151a1d
2025-11-09[ruby/ipaddr] [DOC] Stop documentation for internalsNobuyoshi Nakada
https://github.com/ruby/ipaddr/commit/cb9f561883
2025-11-09[ruby/ipaddr] gemspec files does not need to be included in spec.filesNobuyoshi Nakada
https://github.com/ruby/ipaddr/commit/ada04589fe
2025-11-09[ruby/net-http] [DOC] Suppress documentation for internalsNobuyoshi Nakada
https://github.com/ruby/net-http/commit/e4d80bd609
2025-11-09[ruby/net-http] Exclude unneeded filesNobuyoshi Nakada
https://github.com/ruby/net-http/commit/89e1ecb556
2025-11-09[ruby/net-protocol] [DOC] Suppress documentation for internalsNobuyoshi Nakada
https://github.com/ruby/net-protocol/commit/6c5734dc1e
2025-11-09[ruby/net-protocol] Exclude unneeded filesNobuyoshi Nakada
https://github.com/ruby/net-protocol/commit/8286341e8c
2025-11-09[ruby/optparse] [DOC] A constant for compatibilityNobuyoshi Nakada
https://github.com/ruby/optparse/commit/0125cb4918
2025-11-08[ruby/prism] Rename Ruby 3.5 to Ruby 4.0Earlopain
See https://github.com/ruby/ruby/commit/6d81969b475262aba251e99b518181bdf7c5a523 It leaves the old variant around. RuboCop for examples accesses `Prism::Translation::Parser35` to test against ruby-head. For now I left these simply as an alias https://github.com/ruby/prism/commit/d0a823f045
2025-11-07[ruby/rubygems] Use Dir.pwd instead of Pathname.pwdHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/6c161b253d
2025-11-07[ruby/rubygems] Removed unnecessary loading of pathnameHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/6e965b7872
2025-11-07[ruby/rubygems] Replaced pathname auto-loading in bootstrap of bundlerHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/79ba4a537d
2025-11-07Update Bundler::CurrentRuby::ALL_RUBY_VERSIONSNobuyoshi Nakada
2025-11-07Prism update for 4.0Nobuyoshi Nakada
2025-11-05[ruby/erb] Fix tag shown in example of ERB expression tag andSam Partington
execution tag (https://github.com/ruby/erb/pull/92) These were the wrong way around. https://github.com/ruby/erb/commit/50a5cd76fe
2025-11-04[ruby/uri] v1.1.1Sorah Fukumori
https://github.com/ruby/uri/commit/f1b05c89ab
2025-11-04[ruby/uri] Re-allow consecutive, leading and trailing dots in EMAIL_REGEXPDaisuke Aritomo
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-04Revert "[ruby/rubygems] Fix constants in TAR to be frozen"Hiroshi SHIBATA
This reverts commit 2c2eaa3103e5cf1cbfc2b16d9db975a9b8a0399a.
2025-11-04[ruby/rubygems] Fix constants in TAR to be frozenAaron Patterson
I would like to use the tar implementation inside a Ractor, but two of the constants are not frozen. This patch freezes the constants so we can use it in a Ractor. https://github.com/ruby/rubygems/commit/0ff4790f4c
2025-11-04[ruby/rubygems] Remove open-ended and prerelease dependency warnings when ↵Jeremy Evans
building gems In general, rubygems should provide mechanism and not policy. Pessimistic versioning is not universally better, and in many cases, it can cause more problems than it solves. Rubygems should not be warning against open-ended versioning when building gems. The majority of the default gems with dependencies do not use pessimistic versioning, which indicates that Ruby itself recognizes that open-ended versioning is generally better. In some cases, depending on a prerelease gem is the only choice other than not releasing a gem. If you are building an extension gem for a feature in a prerelease version of another gem, then depending on the prerelease version is the only way to ensure a compatible dependency is installed. https://github.com/ruby/rubygems/commit/beba8dd065
2025-11-02minor code allignment (related to bug 21559)Martin Dürst
2025-11-02[ruby/erb] Fix typo in documentationAlejandro Exojo
(https://github.com/ruby/erb/pull/91) https://github.com/ruby/erb/commit/6bceee7d6e
2025-11-02Remove recursion in UnicodeNormalize.nfc_one, fixing bug 21159.Martin Dürst
2025-10-31[ruby/resolv] v0.6.3Hiroshi SHIBATA
https://github.com/ruby/resolv/commit/31a393e96c
2025-10-31[ruby/optparse] Bump up to v0.8.0Hiroshi SHIBATA
v0.8.0 is mistake of release workflow. This version is same as v0.7.0 https://github.com/ruby/optparse/commit/9a467d10d4
2025-10-31[ruby/optparse] Bump up v0.7.0Hiroshi SHIBATA
https://github.com/ruby/optparse/commit/a394ca4878
2025-10-31[ruby/optparse] We should use VERSION instead of Version constantHiroshi SHIBATA
https://github.com/ruby/optparse/commit/94de48b47e
2025-10-31[ruby/net-http] v0.7.0Hiroshi SHIBATA
https://github.com/ruby/net-http/commit/ec9c70a6fb
2025-10-31[ruby/uri] v1.1.0Hiroshi SHIBATA
https://github.com/ruby/uri/commit/c41903b3e4
2025-10-31[ruby/uri] improve error messagesodacris
https://github.com/ruby/uri/commit/1c6e81b721
2025-10-31[ruby/uri] Switch a parsing behavior completely when switching a parseryuuji.yaginuma
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[ruby/uri] chore(docs): replace reference to the obsolete URI.escape with ↵vivshaw
URI::RFC2396_PARSER.escape https://github.com/ruby/uri/commit/72e7d6b364
2025-10-31[ruby/uri] Use generic version number to VERSION and generate VERSION_CODE ↵Hiroshi SHIBATA
from that https://github.com/ruby/uri/commit/1fc4f0496a
2025-10-31[ruby/English] v0.8.1Hiroshi SHIBATA
https://github.com/ruby/English/commit/c921886aaf
2025-10-30[ruby/prism] Add equal_loc to call nodesKevin Newton
In the case of attribute writes, there are use cases where you want to know the location of the = sign. (Internally we actually need this for translation to the writequark AST.) https://github.com/ruby/prism/commit/bfc798a7ec
2025-10-30[ruby/error_highlight] Support cases where there are multiple missing / ↵Aaron Patterson
wrong kwargs This commit fixes the case when there are multiple missing or incorrect keywords provided to a method. Without this fix, ErrorHighlight itself will raise an exception https://github.com/ruby/error_highlight/commit/8bde92b36e
2025-10-29[ruby/fileutils] v1.8.0Hiroshi SHIBATA
https://github.com/ruby/fileutils/commit/29de582f68
2025-10-29[ruby/timeout] v0.4.4Hiroshi SHIBATA
https://github.com/ruby/timeout/commit/f42b47d383
2025-10-28[ruby/rubygems] Introduce default_spec_dir when it's not providedHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/e9bd59699c
2025-10-28[ruby/rubygems] Removed default bundler spec from specification directoryHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/6fbbde48e2
2025-10-28[ruby/rubygems] Completely removed install_as_default featureHiroshi SHIBATA
https://github.com/ruby/rubygems/commit/15e46a3a68