[pull] master from ruby:master#901
Merged
pull[bot] merged 20 commits intoturkdevops:masterfrom Apr 1, 2026
Merged
Conversation
… exists on disk: - ### Problem This change is purely to fix a problem when developing Bundler. When we tried to release Bundler 4.0.9, we bumped the VERSION from `4.1.0.dev` to `4.0.9`, this condition now evaluates to false https://github.com/ruby/rubygems/blob/34d19fa8a3f84c50e2ba65e0f39c80045e7cbfb8/bundler/lib/bundler/lockfile_generator.rb#L106. We then ended up with a CI crash. ``` Errno::ENOENT: No such file or directory @ rb_sysopen - /Users/runner/work/rubygems/rubygems/cache/bundler-4.0.9.gem ``` ### Context Computing a checksum for the `bundler` gem is only possible when the `bundler.gem` binary exists on disk. When a regular user interacts with `bundler`, the spec is loaded from disk and an associated cached `bundler.gem` should exists. However, when developing Bundler, the spec doesn't come from disk but from a fake spec https://github.com/ruby/rubygems/blob/34d19fa8a3f84c50e2ba65e0f39c80045e7cbfb8/bundler/lib/bundler/source/metadata.rb#L22-L28 that with no associated `bundler.gem`. ### Solution To prevent CI from breaking whenever we make a release, we have to skip computing a checksum if no `bundler.gem` exists. ruby/rubygems@01e0e61612
…tempt a release: - ### Problem Whenever we bump the bundler `VERSION` to a non development release, like we recently did in [4.0.9](ruby/rubygems#9426) The test suite will behave differently and will break due to the Bundler checksum feature introduced in ruby/rubygems#9366 This is because the expectactions of tests that have a lockfile' will sometimes include a checksum line for the bundler gem itself depending on whether this condition evaluates to `true`. https://github.com/ruby/rubygems/blob/34d19fa8a3f84c50e2ba65e0f39c80045e7cbfb8/bundler/lib/bundler/lockfile_generator.rb#L106 ### Solution We can modify the spec helper `checksums_section_when_enabled` to automatically append a checksum entry for bundler whenever necesary. ruby/rubygems@2a5019cac6
- ### Problem This test breaks whenever checksums are computed. It didn't break before because the gemfile in this test doesn't include any gems (only git gems) and therefore checksum is skipped. ### Context This test was added in ruby/rubygems@c19a9f2ff71 to ensure Bundler will not load "digest". I don't think this test really works as it will break as soon as you had a regular gem in the gemfile test. https://github.com/ruby/rubygems/blob/34d19fa8a3f84c50e2ba65e0f39c80045e7cbfb8/spec/runtime/setup_spec.rb#L1354-L1355 I'm being unlucky and it now fails because we compute a checksum for the "bundler" gem itself. Computing a checksum requires "rubygems/package", and down the line requires "digest". ### Solution For the sake of shipping this PR, I'm going to go workaround the problem and skip checksum so that "digest" is not loaded. ruby/rubygems@699b01159c
OpenSSL's master branch is changing functions to return const pointers where the returned objects are not meant to be modified by the caller. Update ossl_*_new() to take const pointers accordingly. Unfortunately, *_dup() in older versions of OpenSSL and in LibreSSL/AWS-LC take non-const pointers, so const casts are required. ruby/openssl@34c49e6c6c
ossl_ec_new() was removed in commit ruby/openssl@94aeab2f265d (pkey: simplify ossl_pkey_new(), 2017-03-16), but it forgot to remove the declaration while doing so. ruby/openssl@faad7a0811
…OpenSSL 4.0 ASN1_STRING has been made opaque in OpenSSL's master branch. Use the new accessor functions instead of accessing fields directly. Other uses of ASN1_STRING fields were already updated in <ruby/openssl#978>. This patch converts the remaining ones, which require the new functions added in OpenSSL 4.0 and were not available at that time. ruby/openssl@ebb505f217
…nSSL 4.0 OpenSSL master added support for RFC 7919 groups in TLS 1.2. They are preferred over SSLContext#tmp_dh= or #tmp_dh_callback= values if the client advertises them in the supported_groups extension. ruby/openssl@3e01c802c9
…in OpenSSL 4.0 FIPS OpenSSL 4.0.0 added a check for Password-Based Key Derivation Function 2 (PBKDF2) to require the minimal password length 8 in FIPS by the following commit. openssl/openssl@71ed0fc This commit fixes the following test failure in OpenSSL 4.0 FIPS by changing testing password length from 6 to 8.. ``` 1) Error: test_private_encoding_encrypted(OpenSSL::TestPKeyRSA): OpenSSL::PKey::PKeyError: i2d_PKCS8PrivateKey_bio: encrypt error /home/runner/work/openssl/openssl/test/openssl/test_pkey_rsa.rb:465:in `private_to_der' /home/runner/work/openssl/openssl/test/openssl/test_pkey_rsa.rb:465:in `test_private_encoding_encrypted' 462: 463: def test_private_encoding_encrypted 464: rsa = Fixtures.pkey("rsa2048") => 465: encoded = rsa.private_to_der("aes-128-cbc", "abcdef") 466: asn1 = OpenSSL::ASN1.decode(encoded) # PKCS #8 EncryptedPrivateKeyInfo 467: assert_kind_of OpenSSL::ASN1::Sequence, asn1 468: assert_equal 2, asn1.value.size Error: OpenSSL::PKey::PKeyError: i2d_PKCS8PrivateKey_bio: encrypt error ``` ruby/openssl@69f8cd1af1
We have the global register allocator now and don't need to thread everything through manually as block params. Simplify HIR construction.
This fixes a SIGABRT of Assertion Failed: RCLASS_ALLOCATOR:!RCLASS_SINGLETON_P(klass)
by explicitly adding no-op entries, rather than leaving the line empty, which may seem like lines that have been deleted.
necojackarc/auto-request-review#135 fixes last_files_match_only. Let's use a fork to fix it until it gets merged.
Outputs the number of GC cycles that are moving. ruby/mmtk@fef8f04186
…_get Initialize `entry` and `var` to NULL. They are assigned inside RB_VM_LOCKING() but used after it, and the compiler cannot prove the locked block always executes.
Initialize `c` and `encidx` to 0. They are assigned inside `if (n >= 0)` and the following `if (n <= 0)` calls rb_raise, but the compiler cannot see through the noreturn guarantee.
Initialize `end_cursor` to 0. It is guarded by `end_found` but the compiler cannot prove `end_found` is always true when `end_cursor` is read.
"Sync git.ruby-lang.org" and "Push PR notes to GitHub" steps can fail due to transient issues, which blocks execution of all subsequent steps. Use continue-on-error so the rest of the workflow still runs, and add a "Check for failures" step at the end to ensure the overall CI status is still red when either step fails. example: https://github.com/ruby/ruby/actions/runs/23825370964/job/69447008480 https://github.com/ruby/ruby/actions/runs/23671724888/job/68966478448
When the caller passes a block to a method that either rejects blocks (`&nil` parameter, `accepts_no_block`) or doesn't use them (`use_block` is false), ZJIT now falls back to the interpreter instead of compiling a direct send. This ensures: 1. Methods defined with `&nil` properly raise ArgumentError 2. Unused block warnings are properly emitted Previously, ZJIT would compile these sends directly, skipping the block validation and warning logic that the interpreter handles.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )