summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-12-10* 2021-12-10 [ci skip]git
2021-12-09Check month overflow when marshalNobuyoshi Nakada
https://hackerone.com/reports/1244185 Notes: Merged: https://github.com/ruby/ruby/pull/5238
2021-12-09[ruby/securerandom] Split Random::Formatter from SecureRandom [Feature #18190]Nobuyoshi Nakada
https://github.com/ruby/securerandom/commit/1e57277b9e Notes: Merged: https://github.com/ruby/ruby/pull/5237
2021-12-09Fixed filename for Open3::VERSIONHiroshi SHIBATA
2021-12-09Followed up f5d80c26d493c14241d4e3320437e62d7f54eabb for sync_default_gems.rbHiroshi SHIBATA
2021-12-09Adjust gemspec location of default gemsHiroshi SHIBATA
2021-12-09Removed JRuby specific helper for open3Hiroshi SHIBATA
2021-12-09[ruby/open3] Use RbConfig's 'host_os'Charles Oliver Nutter
RUBY_PLATFORM on JRuby is always 'java' so it does not indicate the host OS. https://github.com/ruby/open3/commit/d2308040e6
2021-12-09[ruby/open3] Update to match JRuby 9.4Charles Oliver Nutter
This allows the wrapper functions in the main open3 to be defined while using our ProcessBuilder logic for the internal popen implementation. Note this adds logic to reject redirects from a numeric fd to a live IO object (or not a String or to_path object) since we cannot support direct IO redirects with ProcesBuilder. This patch allows tests to complete with the ProcessBuilder impl. Only three tests fail: * test_numeric_file_descriptor2 and test_numeric_file_descriptor2 fail due to redirecting streams to a pipe IO. * test_pid fails expecting a real PID which we cannot provide via ProcessBuilder. https://github.com/ruby/open3/commit/73f986c233
2021-12-09[ruby/open3] Add JRuby's Windows (JDK non-native) Open3 supportCharles Oliver Nutter
This adds JRuby's logic used on platforms where we do not have native access to posix_spawn and related posix functions needed to do fully-native subprocess launching and management. The code here instead uses the JDK ProcessBuilder logic to simulate most of the Open3 functionality. This code does not pass all tests, currently, but provides most of the key functionality on pure-Java (i.e. no native FFI) platforms. https://github.com/ruby/open3/commit/689da19c42
2021-12-09[ruby/open3] Only use JITSupport on CRubyCharles Oliver Nutter
Fixes #2 https://github.com/ruby/open3/commit/6b7ede69e8
2021-12-09[ruby/open-uri] gemspec: This gem exposes 0 executablesOlle Jonsson
This just makes that fact more explicit. https://github.com/ruby/open-uri/commit/ffbfba5d69
2021-12-09[ruby/io-wait] Bump up 0.2.1Hiroshi SHIBATA
https://github.com/ruby/io-wait/commit/c97ab9a212
2021-12-09[ruby/English] gemspec: Remove unused "executables" configurationOlle Jonsson
This gem exposes no executables. https://github.com/ruby/English/commit/bb1ce0af20
2021-12-09[ruby/rdoc] Support addition Object class when adding methods to top levelaycabta
https://github.com/ruby/rdoc/commit/23747b4950
2021-12-09[ruby/rdoc] Resolve class and method of the same name correctlyaycabta
https://github.com/ruby/rdoc/commit/1e16284fe5
2021-12-09Fix typo of namespaceaycabta
2021-12-09`Ractor.make_shareable` checks proc's seflKoichi Sasada
`Ractor.make_shareable(proc_obj)` raises an `IsolationError` if the self of `proc_obj` is not a shareable object. [Bug #18243] Notes: Merged: https://github.com/ruby/ruby/pull/5232
2021-12-09Fix typo in NEWS-2.5.0 [ci skip]Akihiro Sada
Notes: Merged: https://github.com/ruby/ruby/pull/5236 Merged-By: nobu <nobu@ruby-lang.org>
2021-12-09[rubygems/rubygems] Don't load system rubygems during testsDavid Rodríguez
Since tests are about testing our development copy of rubygems, not whatever is installed in the system. https://github.com/rubygems/rubygems/commit/f5e0b68cdd
2021-12-08YJIT: Fix leak in compilation loopAlan Wu
Previously, when there are too many blocks in a batch, the last block in the batch is not tracked in the array of batches and not freed. Notes: Merged: https://github.com/ruby/ruby/pull/5229
2021-12-08[ruby/ostruct] Bump version to 0.5.2Marc-André Lafortune
2021-12-08[ruby/ostruct] `Proc`'s self should be shareable.Koichi Sasada
To fix the issue https://bugs.ruby-lang.org/issues/18243 we need to make sure the Proc's self is shareable. These procs are used by `define_method` and it doesn't use Proc's self, so `nil` is enough.
2021-12-08Enhanced RDoc for String (#5227)Burdette Lamar
Treats: #replace #clear #chr #getbyte #setbyte #byteslice #reverse #reverse! #include? Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-12-09* 2021-12-09 [ci skip]git
2021-12-09ext/ripper/lib/ripper/lexer.rb: Do not deprecate Ripper::Lexer::State#[]Yusuke Endoh
The old code of IRB still uses this method. The warning is noisy on rails console. In principle, Ruby 3.1 deprecates nothing, so let's avoid the deprecation for the while. I think It is not so hard to continue to maintain it as it is a trivial shim. https://github.com/ruby/ruby/pull/5093 Notes: Merged: https://github.com/ruby/ruby/pull/5219
2021-12-08Add `to_f` to predefined conversion method name to ID tableNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5228
2021-12-08[DOC] Integer.try_convert [ci skip]Nobuyoshi Nakada
2021-12-08Skip bind port 1 when ip_unprivileged_port_start<=1Kazuhiro NISHIYAMA
Linux can allow to bind port 1 to user. And `ip_unprivileged_port_start` is 0 on [lima](https://github.com/lima-vm/lima) default vm. ``` 1) Socket#bind on SOCK_DGRAM socket raises Errno::EACCES when the current user does not have permission to bind FAILED Expected Errno::EACCES but no exception was raised (0 was returned) .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:38:in `block (4 levels) in <top (required)>' .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:4:in `<top (required)>' 2) Socket#bind on SOCK_STREAM socket raises Errno::EACCES when the current user does not have permission to bind FAILED Expected Errno::EACCES but no exception was raised (0 was returned) .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:79:in `block (4 levels) in <top (required)>' .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:44:in `<top (required)>' 3) Socket#bind using IPv4 using a packed socket address raises Errno::EACCES when the user is not allowed to bind to the port FAILED Expected Errno::EACCES but no exception was raised (0 was returned) .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:119:in `block (6 levels) in <top (required)>' .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:85:in `<top (required)>' 4) Socket#bind using IPv6 using a packed socket address raises Errno::EACCES when the user is not allowed to bind to the port FAILED Expected Errno::EACCES but no exception was raised (0 was returned) .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:119:in `block (6 levels) in <top (required)>' .../ruby/spec/ruby/library/socket/socket/bind_spec.rb:85:in `<top (required)>' ```
2021-12-07Avoid Array allocation when appending to args array (#5211)John Hawthorn
* Use duparray when possible for argspush ARGSPUSH is the node we see with a single value pushed to the end of a splatted array. ARGSCAT is similar, but is used when multiple values are being concatenated to the list. Previously only ARGSCAT had an optimization where when all the values were static it would use duparray instead of newarray to create the intermediate array. This commit adds similar behaviour for ARGSPUSH, using duparray instead of putobject/newarray. * Replace duparray with putobject before concatarray When performing duparray/concatarray we know we'll never use the intermediate array being created by duparray, so we should be able to use it as a temporary object. This avoids an extra array allocation for NODE_ARGSPUSH (ex. [*foo, 1]) and NODE_ARGSCAT (ex. [*foo, 1, 2]). Notes: Merged-By: jhawthorn <john@hawthorn.email>
2021-12-08[rubygems/rubygems] Remove unnecessary commentDavid Rodríguez
https://github.com/rubygems/rubygems/commit/5e50f12e7a
2021-12-08[rubygems/rubygems] Don't add custom github source to `bundle init` GemfileDavid Rodríguez
It's provided by bundler. https://github.com/rubygems/rubygems/commit/25ccaab46b
2021-12-08[rubygems/rubygems] Cancel deprecation of custom git sourcesDavid Rodríguez
https://github.com/rubygems/rubygems/commit/99cd6e0627
2021-12-07YJIT: Undo add_block_version() in OOM code pathAlan Wu
Preivously, [1] failed to undo the effect of applying add_block_version() to a block, leaving dangling pointers in the iseq when compilation fails. [1]: d0772632bf2ff15f73c0d3601d958670a5c77855 Notes: Merged: https://github.com/ruby/ruby/pull/5226
2021-12-07YJIT: Remove guard_self_is_heap()Alan Wu
It's superseded by functionality added to jit_guard_known_klass(). In weird situations such as the ones in the included test, guard_self_is_heap() triggered assertions. Co-authored-by: Jemma Issroff <jemmaissroff@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/5225
2021-12-08* 2021-12-08 [ci skip]git
2021-12-08[rubygems/rubygems] Add require parameter to `bundle add``Simon Fish
Test and ensure "false" is handled Don't use yield_self to operate on autorequire Remove duplicate autorequire Add banner to require option Don't use json to break down require params Pass linter https://github.com/rubygems/rubygems/commit/a4f2f8ac17
2021-12-07[rubygems/rubygems] Pass "--" to git commands to separate positional and ↵David Rodríguez
optional args To make sure git uri's specified in Gemfile are never misinterpreted as optional arguments, potentially allowing for local code execution. https://github.com/rubygems/rubygems/commit/90b1ed8b9f
2021-12-07More indentation in NEWS.md [ci skip]Nobuyoshi Nakada
The current Markdown implementation of RDoc requires list contents to be indented 4 columns except for the first paragraph. Maybe fixed as other implementations in the future.
2021-12-07Fixed the check order in wmap_live_p [Bug #18392]Nobuyoshi Nakada
Check if the object is a pointer to heap before check the flag in that object. Notes: Merged: https://github.com/ruby/ruby/pull/5224
2021-12-07ObjectSpace::WeakMap#inspect: check if living object [Bug #18392]Nobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/5224
2021-12-07Move -ljemalloc to DLDLIBS [Bug #18391]Nobuyoshi Nakada
Set the alternative memory management library only as a platform specific library, without other libraries. Notes: Merged: https://github.com/ruby/ruby/pull/5223
2021-12-07Fix a link [ci skip]Kazuhiro NISHIYAMA
2021-12-06[ruby/ostruct] ostruct v0.5.1Marc-André Lafortune
2021-12-06[ruby/ostruct] Alias less methodsMarc-André Lafortune
Skips methods that do not end with letter (in particular `!~` and `=~`) For JRuby, also skip `instance_exec`, `instance_eval` and `eval`
2021-12-07NEWS.md: Describe the change of the default width of `pp`Yusuke Endoh
[Feature #12913]
2021-12-06YJIT: Add integrity checks for blockidAlan Wu
Verify that the iseq idx pair for the block is valid in invalidate_block_version(). While we are at it, bound loop iterating over instructions to `iseq_body->iseq_size`. Notes: Merged: https://github.com/ruby/ruby/pull/5222
2021-12-06YJIT: Fix incomplete invalidation from opt_setinlinecacheAlan Wu
As part of YJIT's strategy for promoting Ruby constant expressions into constants in the output native code, the interpreter calls rb_yjit_constant_ic_update() from opt_setinlinecache. The block invalidation loop indirectly calls rb_darray_remove_unordered(), which does a shuffle remove. Because of this, looping with an incrementing counter like done previously can miss some elements in the array. Repeatedly invalidate the first element instead. The bug this commit resolves does not seem to cause crashes or divergent behaviors. Co-authored-by: Jemma Issroff <jemmaissroff@gmail.com> Notes: Merged: https://github.com/ruby/ruby/pull/5221
2021-12-06Enhanced RDoc for literals.rdoc (#5213)Burdette Lamar
Makes link targets among percent literals. Adds links to those targets. Adds examples to percent literals. Links from opening summary list to corresponding sections. Notes: Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
2021-12-07add a NEWS entry for `mandatory_only?`Koichi Sasada