summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2022-04-12[ruby/net-http] Add HTTP#response_body_encoding for setting response body ↵Jeremy Evans
encoding This allows for the ability to opt-in to a method to set the encoding of response bodies. By setting the accessor to a String or Encoding instance, it will use the specified encoding. Setting the value of true will try to detect the encoding of the response body, either using the Content-Type header (assuming it specifies charset) or by scanning for a <meta> tag in the document that specifies the encoding. The default is false in which case no forcing of encoding will be done (same as before the patch). Implements [Feature #2567] Implements [Feature #15517] https://github.com/ruby/net-http/commit/6233e6b7c1 Co-authored-by: Yui Naruse <naruse@ruby-lang.org>
2022-04-11* 2022-04-11 [ci skip]git
2022-04-11test/ruby/test_keyword.rb: Prevent warning: assigned but unused variableYusuke Endoh
2022-04-10* 2022-04-10 [ci skip]git
2022-04-10[DOC] Enhanced RDoc for Array intro (#5781)Burdette Lamar
This covers the first few sections of the class doc for Array. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-04-09[DOC]Some link prefix replaceS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/5783
2022-04-09* 2022-04-09 [ci skip]git
2022-04-08Fix some RDoc links (#5778)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-04-08call `const_added` after `autoload`Koichi Sasada
When calling `const_added` while process in `autoload`, it can cause synchronization issue because of a thread swithcing. http://ci.rvm.jp/logfiles/brlog.trunk.20220407-152213#L489 ``` 1) Module#autoload (concurrently) raises a LoadError in each thread if the file does not exist ERROR NameError: uninitialized constant ModuleSpecs::Autoload::FileDoesNotExist ModuleSpecs::Autoload::FileDoesNotExist ^^^^^^^^^^^^^^^^^^ /tmp/ruby/v3/src/trunk/spec/ruby/core/module/autoload_spec.rb:965:in `block (5 levels) in <top (required)>' ``` Notes: Merged: https://github.com/ruby/ruby/pull/5780
2022-04-08sync `vm->constant_cache`Koichi Sasada
On multi-ractors, `vm->constant_cache` (and so on) can be accessed in parallel so we need to synchronize the accesses to them. http://rubyci.s3.amazonaws.com/centos7/ruby-master/log/20220407T213003Z.log.html.gz#btest Notes: Merged: https://github.com/ruby/ruby/pull/5779
2022-04-07All-in-one RDoc for class String (#5777)Burdette Lamar
Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-04-08* 2022-04-08 [ci skip]git
2022-04-07Fix strict aliasing issueAlan Wu
`rb_id_table_lookup()` writes to a `VALUE`, which is definitely a distinct type from `st_table *`. With LTO, the compiler is allowed by N1256 §6.5p7 to remove the output parameter write via type-based alias analysis. See also: a0a8f2abf53 Notes: Merged: https://github.com/ruby/ruby/pull/5773
2022-04-07[ruby/psych] Update autoconf files bundled with yaml-2.5Nobuyoshi Nakada
https://github.com/ruby/psych/commit/e28f17ac18
2022-04-07Get rid of type-punning pointer castsNobuyoshi Nakada
2022-04-07Get rid of type aliasingNobuyoshi Nakada
2022-04-07Suppress an unused functionNobuyoshi Nakada
2022-04-07Fix a typo [ci skip]Kazuhiro NISHIYAMA
2022-04-07Retrieve previously configured macros also other than `extensions`Nobuyoshi Nakada
2022-04-07Update `heap_pages_deferred_final` atomicallyNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5775
2022-04-06Raise RuntimeError if Kernel#binding is called from a non-Ruby frameJeremy Evans
Check whether the current or previous frame is a Ruby frame in call_trace_func and rb_tracearg_binding before attempting to create a binding for the frame. Fixes [Bug #18487] Co-authored-by: Alan Wu <XrXr@users.noreply.github.com> Notes: Merged: https://github.com/ruby/ruby/pull/5767 Merged-By: jeremyevans <code@jeremyevans.net>
2022-04-07[DOC] Fix comment linksS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/5765
2022-04-07Install built gem extension binariesNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5774
2022-04-07Obey spec file locations to rubygemsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5774
2022-04-07Move the target directory of bundled gems like as rubygemsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5774
2022-04-07Retrieve configured gems infoNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5774
2022-04-07Bundled gems are expanded under `.bundle/gems` nowNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5774
2022-04-07[DOC] Fix linux kernel commit linksS-H-GAMELINKS
Notes: Merged: https://github.com/ruby/ruby/pull/5768
2022-04-06Copyedit parallel test harness crash messageAlan Wu
Mea culpa. Co-authored-by: Kaíque Kandy Koga <kaiquekandykoga@gmail.com>
2022-04-07[rubygems/rubygems] Set `@tempdir` as early as possibleDavid Rodríguez
We have seen some errors during test `setup` before `@tempdir` is actually set, in particular, when instantiating `Gem::MockUI` which in turn requires `stringio`. In this case, the `teardown` method will also produce an error because it tries to remove the `@tempdir`, which has not been set, so tries to remove a `nil` directory. It results in a confusing error like ``` <internal:D:/a/rubygems/rubygems/lib/rubygems/core_ext/kernel_require.rb>:85:in `require': Interrupt Error: test_bump_one_level(TestGemVersion): TypeError: no implicit conversion of nil into String C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/3.1.0/fileutils.rb:1570:in `path' from <internal:D:/a/rubygems/rubygems/lib/rubygems/core_ext/kernel_require.rb>:85:in `require' C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/3.1.0/fileutils.rb:1570:in `block in fu_list' from D:/a/rubygems/rubygems/lib/rubygems/mock_gem_ui.rb:43:in `initialize' C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/3.1.0/fileutils.rb:1570:in `map' from D:/a/rubygems/rubygems/test/rubygems/helper.rb:323:in `new' C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/3.1.0/fileutils.rb:1570:in `fu_list' from D:/a/rubygems/rubygems/test/rubygems/helper.rb:323:in `setup' C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/3.1.0/fileutils.rb:616:in `rm_r' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/fixture.rb:284:in `run_fixture_callback' C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/3.1.0/fileutils.rb:638:in `rm_rf' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/fixture.rb:272:in `block in create_fixtures_runner' D:/a/rubygems/rubygems/test/rubygems/helper.rb:462:in `teardown' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/fixture.rb:276:in `block in create_fixtures_runner' =============================================================================== from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/fixture.rb:257:in `run_fixture' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/fixture.rb:292:in `run_setup' Finished in 683.0312862 seconds. from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:564:in `block in run' ------------------------------------------------------------------------------- from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:563:in `catch' 2185 tests, 5929 assertions, 0 failures, 1 errors, 28 pendings, 0 omissions, 0 notifications from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testcase.rb:563:in `run' 98.7185% passed from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:124:in `run_test' ------------------------------------------------------------------------------- from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:53:in `run' 3.20 tests/s, 8.68 assertions/sTerminate batch job (Y/N)? from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:124:in `run_test' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:53:in `run' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:124:in `run_test' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/testsuite.rb:53:in `run' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:67:in `run_suite' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:45:in `block (2 levels) in run' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:102:in `with_listener' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:41:in `block in run' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:39:in `catch' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnermediator.rb:39:in `run' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunner.rb:40:in `start_mediator' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunner.rb:25:in `start' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/ui/testrunnerutilities.rb:24:in `run' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:458:in `block in run' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:514:in `change_work_directory' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:457:in `run' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit/autorunner.rb:66:in `run' from C:/hostedtoolcache/windows/Ruby/3.1.1/x64/lib/ruby/gems/3.1.0/gems/test-unit-3.5.3/lib/test/unit.rb:518:in `block (2 levels) in <top (required)>' rake aborted! Interrupt: ``` The should make this same error much cleaner if it happens again. https://github.com/rubygems/rubygems/commit/fa649d22e8
2022-04-06Copyedit parallel test harness crash messageAlan Wu
Notes: Merged: https://github.com/ruby/ruby/pull/5772
2022-04-07* 2022-04-07 [ci skip]git
2022-04-06[DOC] Enhanced RDoc for string slices (#5769)Burdette Lamar
Creates file doc/string/slices.rdoc that the string slicing methods can link to. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2022-04-06Update bundled gems list at 8197ae35f90aa1c260b5782c08827d [ci skip]git
2022-04-06Bundle RBS 2.3.2 (#5762)Soutaro Matsumoto
Notes: Merged-By: soutaro <matsumoto@soutaro.com>
2022-04-06Fix a typo [ci skip]Kazuhiro NISHIYAMA
2022-04-06[rubygems/rubygems] Use `ask_yes_no`Ashley Ellis Pierce
https://github.com/rubygems/rubygems/commit/1d38e167fa
2022-04-06[rubygems/rubygems] Extract default_host methodAshley Ellis Pierce
https://github.com/rubygems/rubygems/commit/6e10e75574
2022-04-06[rubygems/rubygems] Use YAMLAshley Ellis Pierce
https://github.com/rubygems/rubygems/commit/6122e8cac5
2022-04-06[rubygems/rubygems] Accomodate gem hosts without profile/me endpointAshley Ellis Pierce
https://github.com/rubygems/rubygems/commit/31b6dcf5d3
2022-04-06[rubygems/rubygems] Update endpointAshley Ellis Pierce
https://github.com/rubygems/rubygems/commit/a5a7b3ec96
2022-04-06[rubygems/rubygems] Remove whitespaceAshley Ellis Pierce
https://github.com/rubygems/rubygems/commit/08c2d88137
2022-04-06[rubygems/rubygems] Make changes <2.6 compatibleAshley Ellis Pierce
Multiple params to merge was not introduced until Ruby 2.6, so this merges the two additional params together first and then merges that with the request body https://github.com/rubygems/rubygems/commit/870f7e9a1c
2022-04-06[rubygems/rubygems] Fix lintAshley Ellis Pierce
https://github.com/rubygems/rubygems/commit/a68bfde18e
2022-04-06[rubygems/rubygems] Make mfa the defaultAshley Ellis Pierce
https://github.com/rubygems/rubygems/commit/0b636f6902
2022-04-06[rubygems/rubygems] Correct mfa level nameAshley Ellis Pierce
https://github.com/rubygems/rubygems/commit/a002e351ae
2022-04-06[rubygems/rubygems] Enable mfa on specific keys during gem signinAshley Ellis Pierce
https://github.com/rubygems/rubygems/commit/e787f7f655
2022-04-05RubyVM.stat constant cache metrics (#5766)Kevin Newton
Before the new constant cache behavior, caches were invalidated by a single global variable. You could inspect the value of this variable with RubyVM.stat(:global_constant_state). This was mostly useful to verify the behavior of the VM or to test constant loading like in Rails. With the new constant cache behavior, we introduced RubyVM.stat(:constant_cache) which returned a hash with symbol keys and integer values that represented the number of live constant caches associated with the given symbol. Additionally, we removed the old RubyVM.stat(:global_constant_state). This was proven to be not very useful, so it doesn't help you diagnose constant loading issues. So, instead we added the global constant state back into the RubyVM output. However, that number can be misleading as now when you invalidate something like `Foo::Bar::Baz` you're actually invalidating 3 different lists of inline caches. This commit attempts to get the best of both worlds. We remove RubyVM.stat(:global_constant_state) like we did originally, as it doesn't have the same semantic meaning and it could be confusing going forward. Instead we add RubyVM.stat(:constant_cache_invalidations) and RubyVM.stat(:constant_cache_misses). These two metrics should provide enough information to diagnose any constant loading issues, as well as provide a replacement for the old global constant state. Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2022-04-06* 2022-04-06 [ci skip]git
2022-04-05Document MakeMakefile#append_cflagsAlan Wu
This method is at least 7 years old and is widely used in the wild. Since we need to support it, let's document it to make it discoverable. Add docs and move it out of the `# :stopdoc:` zone. Notes: Merged: https://github.com/ruby/ruby/pull/5760