-
Notifications
You must be signed in to change notification settings - Fork 22.2k
Allow URI::RFC3986_PARSER warnings
#52682
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This pull request allows `URI::RFC3986_PARSER` warnings appeared since https://buildkite.com/rails/rails-nightly/builds/931 This warning has been implemented to Ruby master branch via ruby/ruby@b41d799 and the original pull request for URI is ruby/uri#114 We are not able to just replace `URI::DEFAULT_PARSER` with `URI::RFC2396_PARSER` because `URI::RFC2396_PARSER` gets `uninitialized constant URI::RFC2396_PARSER (NameError)` with Ruby 3.3.4 as reported ruby/uri#118 We can revert this commit and replace `URI::DEFAULT_PARSER` with `URI::RFC2396_PARSER` once `URI::RFC2396_PARSER` is available for uri bundled with Ruby 3.3.4 or older versions. - This commit allows the warning below and let Rails CI against Ruby master branch run ``` $ RAILS_STRICT_WARNINGS=1 bin/test test/abstract/callbacks_test.rb /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/mapper.rb:2063: warning: URI::RFC3986_PARSER.escape is obsoleted. Use URI::RFC2396_PARSER.escape explicitly. /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/testing/strict_warnings.rb:35:in 'ActiveSupport::RaiseWarnings#warn': /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/mapper.rb:2063: warning: URI::RFC3986_PARSER.escape is obsoleted. Use URI::RFC2396_PARSER.escape explicitly. (ActiveSupport::RaiseWarnings::WarningError) from <internal:warning>:54:in 'Kernel#warn' from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.4.0+0/uri/rfc3986_parser.rb:156:in 'URI::RFC3986_Parser#escape' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/mapper.rb:2063:in 'ActionDispatch::Routing::Mapper::Resources#add_route' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/mapper.rb:2038:in 'ActionDispatch::Routing::Mapper::Resources#decomposed_match' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/mapper.rb:2002:in 'block in ActionDispatch::Routing::Mapper::Resources#map_match' from <internal:array>:53:in 'Array#each' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/mapper.rb:1996:in 'ActionDispatch::Routing::Mapper::Resources#map_match' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/mapper.rb:1739:in 'ActionDispatch::Routing::Mapper::Resources#match' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/mapper.rb:798:in 'ActionDispatch::Routing::Mapper::HttpHelpers#map_method' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/mapper.rb:741:in 'ActionDispatch::Routing::Mapper::HttpHelpers#get' from /home/yahonda/src/github.com/rails/rails/actionpack/test/abstract_unit.rb:71:in 'block (2 levels) in <top (required)>' from /home/yahonda/src/github.com/rails/rails/activesupport/lib/active_support/deprecation/reporting.rb:43:in 'ActiveSupport::Deprecation::Reporting#silence' from /home/yahonda/src/github.com/rails/rails/actionpack/test/abstract_unit.rb:70:in 'block in <top (required)>' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/route_set.rb:479:in 'BasicObject#instance_exec' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/route_set.rb:479:in 'ActionDispatch::Routing::RouteSet#eval_block' from /home/yahonda/src/github.com/rails/rails/actionpack/lib/action_dispatch/routing/route_set.rb:461:in 'ActionDispatch::Routing::RouteSet#draw' from /home/yahonda/src/github.com/rails/rails/actionpack/test/abstract_unit.rb:69:in '<top (required)>' from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.4.0+0/bundled_gems.rb:75:in 'Kernel.require' from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.4.0+0/bundled_gems.rb:75:in 'block (2 levels) in Kernel#replace_require' from /home/yahonda/src/github.com/rails/rails/actionpack/test/abstract/callbacks_test.rb:3:in '<top (required)>' from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.4.0+0/bundled_gems.rb:75:in 'Kernel.require' from /home/yahonda/.rbenv/versions/trunk/lib/ruby/3.4.0+0/bundled_gems.rb:75:in 'block (2 levels) in Kernel#replace_require' from /home/yahonda/src/github.com/rails/rails/railties/lib/rails/test_unit/runner.rb:62:in 'block in Rails::TestUnit::Runner.load_tests' from <internal:array>:53:in 'Array#each' from /home/yahonda/src/github.com/rails/rails/railties/lib/rails/test_unit/runner.rb:60:in 'Rails::TestUnit::Runner.load_tests' from /home/yahonda/src/github.com/rails/rails/railties/lib/rails/test_unit/runner.rb:52:in 'Rails::TestUnit::Runner.run' from /home/yahonda/src/github.com/rails/rails/tools/test.rb:18:in '<top (required)>' from bin/test:5:in 'Kernel#require_relative' from bin/test:5:in '<main>' $ ```
yahonda
added a commit
to yahonda/rails
that referenced
this pull request
Sep 2, 2024
Ruby 3.4 changes `URI::DEFAULT_PARSER` to `URI::RFC3986_Parser` and deprecates `URI::RFC3986_PARSER.make_regexp`,`URI::RFC3986_PARSER.escape`, `URI::RFC3986_PARSER.unescape` and `URI::RFC3986_PARSER.extract`. uri v0.12.2 for Ruby 3.2/3.1 and v0.13.1 for Ruby 3.3 adds `URI::RFC2396_PARSER`. As of right now there is no way to use uri v0.12.2 for Ruby 3.2/3.1 and v0.13.1 for Ruby 3.3, This commit uses v0.13.1 or higher version for all supported Ruby versions by Rails main branch. It also reverts rails#52682 because the original issue has been resolved. Refer to following URL for the backgrond of this change: - URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER https://bugs.ruby-lang.org/issues/19266 - Use RFC3986_Parser by default ruby/uri#107 - Warn compatibility methods in RFC3986_PARSER ruby/uri#114 - Also warn URI::RFC3986_PARSER.extract ruby/uri#121 - Define RFC2396_PARSER for Ruby 3.3 ruby/uri#119 - Define RFC2396_PARSER for Ruby 3.2 and 3.1 ruby/uri#120
4 tasks
byroot
pushed a commit
to byroot/rails
that referenced
this pull request
Oct 3, 2024
Ruby 3.4 changes `URI::DEFAULT_PARSER` to `URI::RFC3986_Parser` and deprecates `URI::RFC3986_PARSER.make_regexp`,`URI::RFC3986_PARSER.escape`, `URI::RFC3986_PARSER.unescape` and `URI::RFC3986_PARSER.extract`. uri v0.12.2 for Ruby 3.2/3.1 and v0.13.1 for Ruby 3.3 adds `URI::RFC2396_PARSER`. As of right now there is no way to use uri v0.12.2 for Ruby 3.2/3.1 and v0.13.1 for Ruby 3.3, This commit uses v0.13.1 or higher version for all supported Ruby versions by Rails main branch. It also reverts rails#52682 because the original issue has been resolved. Refer to following URL for the backgrond of this change: - URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER https://bugs.ruby-lang.org/issues/19266 - Use RFC3986_Parser by default ruby/uri#107 - Warn compatibility methods in RFC3986_PARSER ruby/uri#114 - Also warn URI::RFC3986_PARSER.extract ruby/uri#121 - Define RFC2396_PARSER for Ruby 3.3 ruby/uri#119 - Define RFC2396_PARSER for Ruby 3.2 and 3.1 ruby/uri#120
DanielaVelasquez
pushed a commit
to DanielaVelasquez/rails
that referenced
this pull request
Oct 3, 2024
Ruby 3.4 changes `URI::DEFAULT_PARSER` to `URI::RFC3986_Parser` and deprecates `URI::RFC3986_PARSER.make_regexp`,`URI::RFC3986_PARSER.escape`, `URI::RFC3986_PARSER.unescape` and `URI::RFC3986_PARSER.extract`. uri v0.12.2 for Ruby 3.2/3.1 and v0.13.1 for Ruby 3.3 adds `URI::RFC2396_PARSER`. As of right now there is no way to use uri v0.12.2 for Ruby 3.2/3.1 and v0.13.1 for Ruby 3.3, This commit uses v0.13.1 or higher version for all supported Ruby versions by Rails main branch. It also reverts rails#52682 because the original issue has been resolved. Refer to following URL for the backgrond of this change: - URI::Generic should use URI::RFC3986_PARSER instead of URI::DEFAULT_PARSER https://bugs.ruby-lang.org/issues/19266 - Use RFC3986_Parser by default ruby/uri#107 - Warn compatibility methods in RFC3986_PARSER ruby/uri#114 - Also warn URI::RFC3986_PARSER.extract ruby/uri#121 - Define RFC2396_PARSER for Ruby 3.3 ruby/uri#119 - Define RFC2396_PARSER for Ruby 3.2 and 3.1 ruby/uri#120
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation / Background
This pull request allows
URI::RFC3986_PARSERwarnings appeared since https://buildkite.com/rails/rails-nightly/builds/931Detail
This commit allows the warning below and let Rails CI against Ruby master branch run.
Additional information
This warning has been implemented to Ruby master branch via ruby/ruby@b41d799 and the original pull request for URI is ruby/uri#114
We are not able to just replace
URI::DEFAULT_PARSERwithURI::RFC2396_PARSERbecauseURI::RFC2396_PARSERgetsuninitialized constant URI::RFC2396_PARSER (NameError)with Ruby 3.3.4 as reported ruby/uri#118We can revert this commit and replace
URI::DEFAULT_PARSERwithURI::RFC2396_PARSERonceURI::RFC2396_PARSERis available for uri bundled with Ruby 3.3.4 or older versions.Checklist
Before submitting the PR make sure the following are checked:
[Fix #issue-number]