summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-04-09bump teenyv3_3_8nagachika
2025-04-09merge revision(s) 06919949a60b42a8f30e8bd0cb075e17b05eebcd, ↵nagachika
51bc992822f9108ad64de32d300e1cefd0e2da59, 42daa6c2a2b49b4e45f40736e25c7d182860f24a: [Backport #21141] [Bug #21141] [DOC] Clarify what time is in UTC [Bug #21141] [DOC] Refine description of `Time#utc?` [Bug #21141] [DOC] Fix indentation
2025-04-07merge revision(s) 3a7b9ca93b91dcc086b9ac8b9957e59268f9493b: [Backport #21217]nagachika
Fix `Integer.sqrt` to never exceed actual value `Integer.sqrt` uses `sqrt(3)` from libm for small values. This method must return a value less than or equal to the actual integer square root, but libm's sqrt does not always guarantee that. This change corrects that by decrementing the result if necessary. Fixes [Bug #21217]
2025-04-06Update prism test snapshots.nagachika
This is follow-up for 7c315e23983a35d29108d9ba8c914d6320254d43.
2025-04-06merge revision(s) 117d6e145a0270ab8fc9134403519ef13b9ebb24: [Backport #21027]nagachika
[ruby/prism] Fix `not` receiver `not foo` should be `!foo` `not()` should be `!nil` Fixes [Bug #21027] https://github.com/ruby/prism/commit/871ed4b462
2025-04-04Use EnvUtil.apply_timeout_scaleHiroshi SHIBATA
2025-04-04Extend open_timeout for test failure on s390xHiroshi SHIBATA
https://rubyci.s3.amazonaws.com/s390x/ruby-master/log/20250403T060004Z.fail.html.gz
2025-04-03Use IPv4 for test server because TestNetHTTPS is failing with s390xHiroshi SHIBATA
https://rubyci.s3.amazonaws.com/s390x/ruby-3.2/log/20250403T005659Z.fail.html.gz
2025-04-03f7059af50a31 is also required at ractor_core.hHiroshi SHIBATA
2025-04-03Enforce to use CMake 3 because CMake 4 is not compatible to build libyaml ↵Hiroshi SHIBATA
via vcpkg
2025-04-02merge revision(s) d78ff6a767ca813ac5fa178dd7611f20a993c191: [Backport #20984]nagachika
[Bug #20984] Fix test with locale encoding
2025-04-02[rubygems/rubygems] Bump up minimum required version for cmake 4Hiroshi SHIBATA
https://github.com/rubygems/rubygems/commit/3e77caeddf
2025-03-30merge revision(s) 5f77f9bea61fb4cc8447a76e191fdfb28f076862: [Backport #21195]nagachika
Fix handling of `error`/`errno` in `io_internal_wait`. (#12961) [Bug #21195]
2025-03-29merge revision(s) f69ad0e810e1fdc18dc12f77bbecfa49999ef3bf: [Backport #21094]nagachika
[Bug #21094] Update nested module names when setting temporary name
2025-03-29merge revision(s) 1acfb29015dbc38fd345d8786aa78aad59f7dcd1: [Backport #21186]nagachika
[Bug #21186] multibyte char literal should be a single letter word
2025-03-29merge revision(s) 9459bedd84d479bb1d7d3d40bada1cecb4701c37: [Backport #19841]nagachika
[Bug #19841] Refine error on marshaling recursive USERDEF
2025-03-24[rubygems/rubygems] Support git 2.49David Rodríguez
One error message that we parse is now slightly different. https://github.com/rubygems/rubygems/commit/758528791d
2025-03-16merge revision(s) f423f6e10c0c226dfed98e7cb7a5d489191dfa35: [Backport #21131]nagachika
Ensure IO.copy_stream buffer is an independent string Otherwise, changes to the buffer by the destination write method could result in data changing for supposedly independent strings. Fixes [Bug #21131]
2025-03-16merge revision(s) 08b3a45bc97c835b4677bf76dbce68fd51d81897: [Backport #21180]nagachika
Push a real iseq in rb_vm_push_frame_fname() Previously, vm_make_env_each() (used during proc creation and for the debug inspector C API) picked up the non-GC-allocated iseq that rb_vm_push_frame_fname() creates, which led to a SEGV when the GC tried to mark the non GC object. Put a real iseq imemo instead. Speed should be about the same since the old code also did a imemo allocation and a malloc allocation. Real iseq allows ironing out the special-casing of dummy frames in rb_execution_context_mark() and rb_execution_context_update(). A check is added to RubyVM::ISeq#eval, though, to stop attempts to run dummy iseqs. [Bug #21180] Co-authored-by: Aaron Patterson <tenderlove@ruby-lang.org>
2025-03-16merge revision(s) 3f07bc76ff6a11232d9f18e5eaa31835c195e8f0, ↵nagachika
34098b669c0cbc024cd08e686891f1dfe0a10aaf: [Backport #21144] [Bug #21144] Win32: Use Windows time zone ID if TZ is not set If the TZ environment variable is not set, the time zone names retrieved from the system are localized for UI display and may vary across editions and language packs for the same time zone. Use the time zone IDs that are invariant across environments instead. [Bug #21144] Win32: Convert the time zone name to the current locale The Windows time zone IDs provided by Microsoft as of 24H1 are ASCII only all, but the API itself is not impossible to set non-ASCII key name. Prefer the current locale encoding for now until we move to UTF-8 including environment variables and command line arguments.
2025-03-16merge revision(s) c224ca4feaff20cab03d76439bcbfb35d4e2f6b1: [Backport #21172]nagachika
Fix a race condition with interned strings sweeping. [Bug #21172] This fixes a rare CI failure. The timeline of the race condition is: - A `"foo" oid=1` string is interned. - `"foo" oid=1` is no longer referenced and will be swept in the future. - Another `"foo" oid=2` string is interned. - `register_fstring` finds `"foo" oid=1`, but since it is about to be swept, removes it from `fstring_table` and insert `"foo" oid=2` instead. - `"foo" oid=1` is swept, since it has the `RSTRING_FSTR` flag, a `st_delete` is issued in `fstring_table` which removes `"foo" oid=2`. I don't know how to reproduce this bug consistently in a single test case.
2025-03-16merge revision(s) 931ac960b6d11937364b6c4e847fdd575ee67980: [Backport #21159]nagachika
[Bug #21159] module names should not be modifiable
2025-03-16merge revision(s) 2b6fc9ea7212543a1be26768403f59c7a759b5ea: [Backport #21092]nagachika
[Bug #21092] Fallback variables after execonf has done When reading from a dummy makefile, the global variables initialized in `init_mkmf` may not be overridden.
2025-03-16Silently ignore keyword args for attr-asign method to cease segmentation fault.nagachika
2025-03-08merge revision(s) 91a10c07579f282a94e4b5830feaeca87f9a7dd3: [Backport #21112]nagachika
Fix a typo in WeakKeyMap argument error [Bug #21112]
2025-03-08merge revision(s) 46b544c54955348ef1ea9692b837b061f59f91cd, ↵nagachika
d3abee739f4feb91bb9aaae33877d70c8c576db0: [Backport #21095] Prefer `uname -n` over `hostname`. (#12647) Add fallback for `hostname` if `uname` isn't available. (#12655)
2025-03-08merge revision(s) d4a1a2780c39bc648496ac92fc6e6ce2eb38ab47: [Backport #21032]nagachika
rb_feature_p: skip `get_expanded_load_path` for absolute paths Ref: https://github.com/fxn/zeitwerk/pull/308 ```ruby require 'benchmark' $LOAD_PATH << 'relative-path' autoload :FOO, '/tmp/foo.rb' puts Benchmark.realtime { 500_000.times do Object.autoload?(:FOO) end } ``` The above script takes 2.5 seconds on `master`, and only 50ms on this branch. When we're looking for a feature with an absolute path, we don't need to call the expensive `get_expanded_load_path`.
2025-03-08merge revision(s) f7059af50a31a4d27a04ace0beadb60616f3f971: [Backport #21046]nagachika
Use no-inline version `rb_current_ec` on Arm64 The TLS across .so issue seems related to Arm64, but not Darwin.
2025-03-08merge revision(s) ae6bd3b49ba252985b92416c24102ede3c0aac9b, ↵nagachika
966458199d870b88b42898d4a063b487c1ef6b00, 966458199d870b88b42898d4a063b487c1ef6b00: [Backport #20951] [DOC] Tweak "Timezone Objects" - Make method descriptions plain pragraphs in each method. - Make "Argument" and "Returns" note-lists. [Bug #20951] [DOC] About UTC offset calculation after `utc_to_local` [Bug #20951] [DOC] About UTC offset calculation after `utc_to_local`
2025-03-08Replace tombstone when converting AR to ST hashJohn Hawthorn
[Bug #21170] st_table reserves -1 as a special hash value to indicate that an entry has been deleted. So that that's a valid value to be returned from the hash function, do_hash replaces -1 with 0 so that it is not mistaken for the sentinel. Previously, when upgrading an AR table to an ST table, rb_st_add_direct_with_hash was used which did not perform the same conversion, this could lead to a hash in a broken state where one if its entries which was supposed to exist being marked as a tombstone. The hash could then become further corrupted when the ST table required resizing as the falsely tombstoned entry would be skipped but it would be counted in num entries, leading to an uninitialized entry at index 15. In most cases this will be really rare, unless using a very poorly implemented custom hash function. This also adds two debug assertions, one that st_add_direct_with_hash does not receive the reserved hash value, and a second in rebuild_table_with, which ensures that after we rebuild/compact a table it contains the expected number of elements. Co-authored-by: Alan Wu <alanwu@ruby-lang.org>
2025-03-08Merge cgi-0.4.2Hiroshi SHIBATA
2025-03-08Merge uri-0.13.2Hiroshi SHIBATA
2025-03-05Name dependency checks jobNobuyoshi Nakada
And run on the latest ubuntu.
2025-03-05automerge needs windows resultsHiroshi SHIBATA
2025-03-05Update actions/cache for ruby_3_3Takashi Kokubun
2025-02-28Skip VS2022 17.13.x buildHiroshi SHIBATA
see https://github.com/ruby/ruby/pull/12830
2025-02-13Drop k0kubun from CODEOWNERSTakashi Kokubun
The maintainers have been shifted to newer versions. https://bugs.ruby-lang.org/issues/21136
2025-02-11Bump net-imap to 0.4.19 for Ruby 3.3 (CVE-2025-25186) (#12732)nicholas a. evans
This update addresses CVE-2025-25186 (GHSA-7fc5-f82f-cx69).
2025-02-10Support `git ls-files ...`.split style for file list of gemspecHiroshi SHIBATA
2025-02-10Bump up net-smtp-0.5.1Hiroshi SHIBATA
2025-02-06Bump up actions/upload-artifact-4.4.1Hiroshi SHIBATA
2025-01-14v3.3.7v3_3_7Takashi Kokubun
2025-01-14Skip an unstable test due to a Ractor assertionTakashi Kokubun
2025-01-14YJIT: Filter & calls from specialized C method codegenTakashi Kokubun
Evident with the crash reported in [Bug #20997], the C replacement codegen functions aren't authored to handle block arguments (nor should they because the extra code from the complexity defeats optimization). Filter sites with VM_CALL_ARGS_BLOCKARG. Co-Authored-By: Alan Wu <alanwu@ruby-lang.org>
2025-01-14merge revision(s) 04ec07794657cd2444ecb001a522b9df2db1b90a: [Backport #21038]Takashi Kokubun
Preserve `errno` in `rb_fiber_scheduler_unblock`. (#12576) [Bug #21038] Co-authored-by: Julian Scheid <julians37@gmail.com>
2025-01-14merge revision(s) b176d4f52e4af67654814dab3e9c5f4bf9170e54: [Backport #21008]Takashi Kokubun
[Bug #21008] Normalize before sum to float After switching to `Float`-mode when summing `Numeric` objects, normalization for `Float` is still needed.
2025-01-14merge revision(s) 8034e9c3d001ca3dff124ab42972684eac8af2ae: [Backport #20995]Takashi Kokubun
[Bug #20995] Protect `IO.popen` block from exiting by exception
2025-01-14merge revision(s) 19c39e4cfaa467e69b9848c9c5496d7f50d39c7f: [Backport #20984]Takashi Kokubun
[Bug #20984] ENV.inspect should be encoding aware
2025-01-14merge revision(s) e0d600ec190c64aff76cfcbd6009cffb927da166: [Backport #21012]Takashi Kokubun
Avoid opt_aset_with optimization inside multiple assignment Previously, since the opt_aset_with optimization was introduced, use of the opt_aset_with optimization inside multiple assignment would result in a segfault or incorrect instructions. Fixes [Bug #21012] Co-authored-by: Nobuyoshi Nakada <nobu.nakada@gmail.com>
2025-01-14merge revision(s) 92dd9734a967c20e628c8f77c5ce700058dcd58c: [Backport #20950]Takashi Kokubun
Fix use-after-free in ep in Proc#dup for ifunc procs [Bug #20950] ifunc proc has the ep allocated in the cfunc_proc_t which is the data of the TypedData object. If an ifunc proc is duplicated, the ep points to the ep of the source object. If the source object is freed, then the ep of the duplicated object now points to a freed memory region. If we try to use the ep we could crash. For example, the following script crashes: p = { a: 1 }.to_proc 100.times do p = p.dup GC.start p.call rescue ArgumentError end This commit changes ifunc proc to also duplicate the ep when it is duplicated.