| Age | Commit message (Collapse) | Author |
|
|
|
https://hackerone.com/reports/1244185
Notes:
Merged: https://github.com/ruby/ruby/pull/5238
|
|
https://github.com/ruby/securerandom/commit/1e57277b9e
Notes:
Merged: https://github.com/ruby/ruby/pull/5237
|
|
|
|
|
|
|
|
|
|
RUBY_PLATFORM on JRuby is always 'java' so it does not indicate
the host OS.
https://github.com/ruby/open3/commit/d2308040e6
|
|
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
|
|
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
|
|
Fixes #2
https://github.com/ruby/open3/commit/6b7ede69e8
|
|
This just makes that fact more explicit.
https://github.com/ruby/open-uri/commit/ffbfba5d69
|
|
https://github.com/ruby/io-wait/commit/c97ab9a212
|
|
This gem exposes no executables.
https://github.com/ruby/English/commit/bb1ce0af20
|
|
https://github.com/ruby/rdoc/commit/23747b4950
|
|
https://github.com/ruby/rdoc/commit/1e16284fe5
|
|
|
|
`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
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5236
Merged-By: nobu <nobu@ruby-lang.org>
|
|
Since tests are about testing our development copy of rubygems, not
whatever is installed in the system.
https://github.com/rubygems/rubygems/commit/f5e0b68cdd
|
|
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
|
|
|
|
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.
|
|
Treats:
#replace
#clear
#chr
#getbyte
#setbyte
#byteslice
#reverse
#reverse!
#include?
Notes:
Merged-By: BurdetteLamar <BurdetteLamar@Yahoo.com>
|
|
|
|
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
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5228
|
|
|
|
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)>'
```
|
|
* 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>
|
|
https://github.com/rubygems/rubygems/commit/5e50f12e7a
|
|
It's provided by bundler.
https://github.com/rubygems/rubygems/commit/25ccaab46b
|
|
https://github.com/rubygems/rubygems/commit/99cd6e0627
|
|
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
|
|
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
|
|
|
|
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
|
|
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
|
|
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.
|
|
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
|
|
Notes:
Merged: https://github.com/ruby/ruby/pull/5224
|
|
Set the alternative memory management library only as a platform
specific library, without other libraries.
Notes:
Merged: https://github.com/ruby/ruby/pull/5223
|
|
|
|
|
|
Skips methods that do not end with letter (in particular `!~` and `=~`)
For JRuby, also skip `instance_exec`, `instance_eval` and `eval`
|
|
[Feature #12913]
|
|
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
|
|
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
|
|
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>
|
|
|