summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-11-26Optimize instructions when creating an array just to call `include?` (#12123)Randy Stauner
* Add opt_duparray_send insn to skip the allocation on `#include?` If the method isn't going to modify the array we don't need to copy it. This avoids the allocation / array copy for things like `[:a, :b].include?(x)`. This adds a BOP for include? and tracks redefinition for it on Array. Co-authored-by: Andrew Novoselac <andrew.novoselac@shopify.com> * YJIT: Implement opt_duparray_send include_p Co-authored-by: Andrew Novoselac <andrew.novoselac@shopify.com> * Update opt_newarray_send to support simple forms of include?(arg) Similar to opt_duparray_send but for non-static arrays. * YJIT: Implement opt_newarray_send include_p --------- Co-authored-by: Andrew Novoselac <andrew.novoselac@shopify.com> Notes: Merged-By: maximecb <maximecb@ruby-lang.org>
2024-11-26[ruby/reline] KeyStroke handles multibyte charactertomoya ishida
(https://github.com/ruby/reline/pull/713) https://github.com/ruby/reline/commit/5a8da85f2b
2024-11-26[ruby/irb] Fix indentation of xstring literaltomoya ishida
(https://github.com/ruby/irb/pull/1038) Fixes indent calculation of this input ``` if false p `ls` end ``` https://github.com/ruby/irb/commit/4217a46f5d
2024-11-26Add Modular GC and MMTk to NEWSMatt Valentine-House
Notes: Merged: https://github.com/ruby/ruby/pull/12173
2024-11-26Add NEWS.md entry about `Hash.new(capacity:)`Jean Boussier
[Feature #19236] Ref: https://github.com/ruby/ruby/pull/10357 Notes: Merged: https://github.com/ruby/ruby/pull/12171
2024-11-26[MinGW] - Fix NET_LUID checkRaed Rizqie
Notes: Merged: https://github.com/ruby/ruby/pull/12165
2024-11-26Remove `Kernel.with_yjit` class methodNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/12172
2024-11-26Clear shared_gc directoryNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/12166
2024-11-26Use extmk.rb to configure shared GCNobuyoshi Nakada
Since mkmf.rb is for extension libraries after installation, it cannot work alone in build directory and needs to run from extmk.rb. Notes: Merged: https://github.com/ruby/ruby/pull/12166
2024-11-26Fix up gc/extconf_base.rbNobuyoshi Nakada
- Add flags to appropriate variables. - Use `append_cflags` to append a flag safely, instead of appending blindly. Notes: Merged: https://github.com/ruby/ruby/pull/12166
2024-11-26Shell dependent command should be in Makefile.inNobuyoshi Nakada
As common.mk is used by nmake.exe, the commands there need to be accepted also by cmd.exe. Notes: Merged: https://github.com/ruby/ruby/pull/12166
2024-11-26[ruby/uri] Suppress deprecate warning of test class (retry)Yusuke Endoh
(https://github.com/ruby/uri/pull/140) A follow-up to https://github.com/ruby/uri/commit/bd2e4be9d0fa Also, leave a comment that the use of `URI::REGEXP` is intentional https://github.com/ruby/uri/commit/bdf765e44a
2024-11-26Skip failing rbs tests with latest HEAD of ruby/jsonHiroshi SHIBATA
``` NoMethodError: undefined method 'flush' for an instance of JsonWrite ```
2024-11-26[rubygems/rubygems] Remove no longer necessary codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/9ea1539b08
2024-11-26[rubygems/rubygems] Avoid needing a second pass to ignore unlocked gemsDavid Rodríguez
When converging locked specifications to select the ones that should be preserved while resolving, we can avoid having to do a second pass to ignore the ones that have been explicitly unlocked. https://github.com/rubygems/rubygems/commit/411742703e
2024-11-26[rubygems/rubygems] Allow some materialized specs to be missingDavid Rodríguez
As long as some spec in the materialization is complete. https://github.com/rubygems/rubygems/commit/9a673b0bbb
2024-11-26[rubygems/rubygems] Deprecate `check` parameter to `Bundler::SpecSet#for`David Rodríguez
https://github.com/rubygems/rubygems/commit/3041b3d784
2024-11-26[rubygems/rubygems] Keep track of materializations in the original resolveDavid Rodríguez
This gives more flexibility to allow further improvements. https://github.com/rubygems/rubygems/commit/f11a890f5e
2024-11-26[rubygems/rubygems] Create LazySpecifications directly with ↵David Rodríguez
most_specific_locked_platform So there's no need to pass it around in so many places. https://github.com/rubygems/rubygems/commit/784ab7481b
2024-11-26[rubygems/rubygems] Enable `Performance/MapCompact` copDavid Rodríguez
https://github.com/rubygems/rubygems/commit/0c3a65871a
2024-11-26[rubygems/rubygems] More aggressive `Performance/FlatMap` cop configurationDavid Rodríguez
https://github.com/rubygems/rubygems/commit/d8d68cc00e
2024-11-26[rubygems/rubygems] Fix installs of subdependencies of unlocked dependencies ↵David Rodríguez
to be conservative When converging specification to pass the set of versions that should be preserved from the lockfile during resolution, we should make sure all top level gems are considered, and only exclude those gems themselves (and not their dependencies) if their locked versions happen to not be satisfied by an edited Gemfile. https://github.com/rubygems/rubygems/commit/ed2f1b7b88
2024-11-26[rubygems/rubygems] Filter out gems to unlock inside `converge_specs`David Rodríguez
https://github.com/rubygems/rubygems/commit/d0f789970f
2024-11-26[rubygems/rubygems] Remove unnecessary `verbose` parameterDavid Rodríguez
For consistency with other specs. https://github.com/rubygems/rubygems/commit/a5b2449896
2024-11-26[rubygems/rubygems] Remove unnecessary `let` and nestingDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c519830d4d
2024-11-26[rubygems/rubygems] Fix development dependencies considered unnecessarily ↵David Rodríguez
sometimes When used with `LazySpecification` objects, `SpecSet#for` was incorrectly considering development dependencies. This did not cause any issues because all usages of this method with `LazySpecification`'s are not strict, meaning the pass `check = false` and ignore incomplete specifications. But it was still doing more work than necessary because development dependencies were still added to the `deps` array for processing and then ignored because of not being found in the spec set. Same when converging path specifications and replacing their dependencies. https://github.com/rubygems/rubygems/commit/6afca8a95f
2024-11-26[rubygems/rubygems] Simplify moreDavid Rodríguez
https://github.com/rubygems/rubygems/commit/a2bb68a29b
2024-11-26[rubygems/rubygems] Don't bother sorting if there's a single elementDavid Rodríguez
https://github.com/rubygems/rubygems/commit/6dc64f9851
2024-11-26[rubygems/rubygems] Remove no longer necessary codeDavid Rodríguez
https://github.com/rubygems/rubygems/commit/e1caeecdf8
2024-11-26[rubygems/rubygems] Use `platform` local variableDavid Rodríguez
https://github.com/rubygems/rubygems/commit/6a6041d073
2024-11-26[rubygems/rubygems] This is about locked_platformsDavid Rodríguez
https://github.com/rubygems/rubygems/commit/df2c9eb52f
2024-11-26[rubygems/rubygems] Set instance variables in consistent orderDavid Rodríguez
https://github.com/rubygems/rubygems/commit/c382b606bd
2024-11-26JSON::GeneratorError expose invalid objectJean Boussier
Fix: https://github.com/ruby/json/issues/710 Makes it easier to debug why a given tree of objects can't be dumped as JSON. Co-Authored-By: Étienne Barrié <etienne.barrie@gmail.com>
2024-11-26[ruby/json] Stop using `rb_gc_mark_locations`Jean Boussier
It's using `rb_gc_mark_maybe` under the hood, which isn't what we need. https://github.com/ruby/json/commit/e10d0bffcd
2024-11-26[ruby/json] JSON.dump: write directly into the provided IOJean Boussier
Ref: https://github.com/ruby/json/issues/524 Rather than to buffer everything in memory. Unfortunately Ruby doesn't provide an API to write into and IO without first allocating a string, which is a bit wasteful. https://github.com/ruby/json/commit/f017af6c0a
2024-11-25Update NEWS.md for Bug #20620Jeremy Evans
2024-11-26[Feature #20293] Add `Warning.categories` to NEWSNobuyoshi Nakada
2024-11-26[ruby/uri] Suppress deprecate warning of test class and use ↵Hiroshi SHIBATA
EnvUtil.suppress_warning. https://github.com/ruby/uri/commit/bd2e4be9d0
2024-11-26[ruby/uri] Revert "Prevent a warning: URI::REGEXP is obsoleteHiroshi SHIBATA
(https://github.com/ruby/uri/pull/138)" This reverts commit https://github.com/ruby/uri/commit/c00726a20a00. https://github.com/ruby/uri/commit/22f5a7a790
2024-11-26NEWS.md: Fix a typoYusuke Endoh
2024-11-26Add NEWS entries temporarilyYusuke Endoh
https://bugs.ruby-lang.org/issues/20108 https://bugs.ruby-lang.org/issues/20564 https://bugs.ruby-lang.org/issues/20705 https://bugs.ruby-lang.org/issues/20782 https://bugs.ruby-lang.org/issues/20811
2024-11-26NEWS.md: sort the entries alphabeticallyYusuke Endoh
2024-11-26Many of Oniguruma functions need valid encoding stringsNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/12169
2024-11-26Check negative integer underflowNobuyoshi Nakada
Notes: Merged: https://github.com/ruby/ruby/pull/12169
2024-11-26[ruby/resolv] Omit Windows and MinGW platforms with with_udp_and_tcpHiroshi SHIBATA
https://github.com/ruby/resolv/actions/runs/12021339854/job/33511655994?pr=64 ``` => 705: with_udp_and_tcp('127.0.0.1', 0) do |u1, t1| 706: with_udp_and_tcp('127.0.0.1', 0) do |u2,t2| 707: u2.close # XXX: u2 UDP socket is not used, but using #with_udp_and_tcp to enable Windows EACCES workaround 708: _, server1_port, _, server1_address = u1.addr Error: Errno::EACCES: Permission denied - bind(2) for "127.0.0.1" port 55685 ``` https://github.com/ruby/ruby/actions/runs/12005069051/job/33461068529?pr=12161 ``` 1) Error: TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback: Errno::EACCES: Permission denied - bind(2) for "127.0.0.1" port 50676 D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TCPServer#initialize' D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TCPServer.new' D:/a/ruby/ruby/src/test/resolv/test_dns.rb:78:in 'TestResolvDNS#with_udp_and_tcp' D:/a/ruby/ruby/src/test/resolv/test_dns.rb:705:in 'TestResolvDNS#test_multiple_servers_with_timeout_and_truncated_tcp_fallback' ``` https://github.com/ruby/resolv/commit/05765df178
2024-11-26Add news about MatchData#bytebegin and MatchData#byteendShugo Maeda
2024-11-25Fix vm_objtostring optimization for SymbolMaximillian Polhill
Co-authored-by: John Hawthorn <john@hawthorn.email> Notes: Merged: https://github.com/ruby/ruby/pull/12168
2024-11-26[ruby/resolv] _1 is not provided in Ruby 2.5Hiroshi SHIBATA
https://github.com/ruby/resolv/commit/83f18e2a49
2024-11-25[ruby/logger] include license texts in gemMike Linksvayer
https://github.com/ruby/logger/commit/1a64cb552f
2024-11-25Use footnote links insteadStan Lo
Notes: Merged: https://github.com/ruby/ruby/pull/12157