summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
9 days[ruby/rubygems] Add plugin hooks around gem fetch and git source fetchMarvin Frick
Adds four new hook points: - before-fetch / after-fetch: fires in Source::Rubygems#download_gem around actual network downloads, avoiding noise from cache hits. - before-git-fetch / after-git-fetch: fires in Source::Git#specs around fetch/checkout operations. Based on the original proposal in #8162 with adjustments: - Moved gem fetch hooks from fetch_gem_if_possible to download_gem so they only fire on actual network I/O. - Dropped the source argument since spec.source provides it. - Renamed git hooks to before-git-fetch / after-git-fetch for consistency with the existing before-*/after-* pattern. - Removed GEM_BEFORE_FETCH/GEM_AFTER_FETCH from Source::Git#install since using gem fetch events for git sources is semantically inconsistent. https://github.com/ruby/rubygems/commit/34c4a46ef2 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
9 days[ruby/rubygems] Add bundler before/after eval hooks for pluginsCody Cutrer
https://github.com/ruby/rubygems/commit/fefe97c0bd
9 daysFix constant redefinition warning in test_moduleJohn Hawthorn
9 daysReplace subclasses linked list with weakref arrayJohn Hawthorn
9 days[ruby/rubygems] Fall back to lockfile version when BUNDLE_VERSION is "lockfile"Hiroshi SHIBATA
Bundler treats "lockfile" as a special value for the version setting, meaning "use the version recorded in BUNDLED WITH". BundlerVersionFinder was passing the raw string to Gem::Version.new and raising ArgumentError both from the env var added in #9538 and from .bundle/config. https://github.com/ruby/rubygems/commit/6576bb8e53
9 days[DOC] Fix hash style in Hash methodPeter Zhu
9 days[ruby/rubygems] Change Gem::Version#approximate_recommendation to be optimisticJeremy Evans
Previously, this used a pessimistic recommendation. This switches it to give an optimistic recommendation. https://github.com/ruby/rubygems/commit/de24c15410
9 days[ruby/rubygems] Read BUNDLE_VERSION env var in BundlerVersionFinderHiroshi SHIBATA
Bundler::Settings resolves the `version` setting from the BUNDLE_VERSION environment variable, but Gem::BundlerVersionFinder only consulted the .bundle/config file. As a result `BUNDLE_VERSION=system` was ignored at activation time and a lockfile-pinned bundler installed globally won out over the default gem. https://github.com/ruby/rubygems/issues/9534 https://github.com/ruby/rubygems/commit/c652c233aa
9 days[DOC] Improve docs for ObjectSpace.reachable_objects_fromPeter Zhu
9 days[DOC] Tweaks for Pathname#==BurdetteLamar
9 days[DOC] Tweaks for Pathname#+BurdetteLamar
9 days[DOC] Doc for Pathname#chmodBurdette Lamar
9 daysmodgc.yml: Disable cache-bin in modgc setup-rust-toolchain (#16953)Takashi Kokubun
Swatinem/rust-cache (embedded in actions-rust-lang/setup-rust-toolchain) caches ${CARGO_HOME}/bin by default. When the cache is restored from a stale or partially-populated state, the rustup proxy binaries at ~/.cargo/bin/{rustc,cargo,...} get overwritten with broken ones, leaving rustc behaving as rustup-init. This surfaces at make time: `rustc -V` returns the rustup version (1.29.0) instead of the active toolchain (1.95.0), and `rustc --crate-name=jit ...` fails with "error: unexpected argument '--crate-name' found / Usage: rustup-init[EXE] [OPTIONS]", breaking libjit.rlib in combo YJIT+ZJIT builds. The macOS runner image already preinstalls rustup, so caching ~/.cargo/bin saves only a few seconds while risking exactly this kind of poisoning. Disable it; the separate Cargo dependency cache stays on.
9 daysZJIT: Add back return type for .class (#16948)Max Bernstein
We fixed the underlying bug in https://github.com/ruby/ruby/pull/15268 (f9c51ac5ea42382a22fb8a2cc5d7aeb78e77c962).
9 daysZJIT: Run canonicalize before fold_constants (#16950)Max Bernstein
This helps get rid of repeated type guards in a loop such as structaref or structaset benchmark. @dak2 originally had this in his PR but it wasn't tested so I removed it. This brings it back with a test that catches it.
9 daysZJIT: Stop using def_ids! for HIR dump purposes (#16944)Takashi Kokubun
9 daysAdd news for CREF rewritingJohn Hawthorn
9 daysRemove CREF rewriting for cloned classes/modulesJohn Hawthorn
When a class or module was cloned, rb_vm_rewrite_cref would rewrite the CREF chain of each cloned method to point at the new class. Remove this special case so that clone behaves consistently with all other ways of adopting a method. This also removes the RCLASS_CLONED flag which was used to prevent constant inline cache sharing between cloned classes [Bug #15877], and the vm_cref_new_use_prev helper which only existed for CREF rewriting. [Feature #21981]
9 days[DOC] Fix grammar issues in layout.rdocStefan Friesel
Correct grammatical errors in the layout documentation.
9 daysUpdate default gems list at 82478404430ef95953a2f00ae57132 [ci skip]git
9 days[ruby/openssl] Merge branch 'maint-4.0'Kazuki Yamaguchi
* maint-4.0: Ruby/OpenSSL 4.0.2 Ruby/OpenSSL 3.3.3 Ruby/OpenSSL 3.2.4 https://github.com/ruby/openssl/commit/318be774d7 Kazuki Yamaguchi (6): Ruby/OpenSSL 3.2.4 Merge branch 'maint-3.2' into maint-3.3 Ruby/OpenSSL 3.3.3 Merge branch 'maint-3.3' into maint-4.0 Ruby/OpenSSL 4.0.2 Merge branch 'maint-4.0'
9 daysZJIT: Recompile ISEQ on guard_shape_failure exits for setivar/definedivar ↵Nozomi Hijikata
(#16881) * ZJIT: Recompile ISEQ on guard_shape_failure exits for setivar/definedivar Profile self when setivar and definedivar shape guards fail, matching getivar's recompilation behavior. On the final ISEQ version, keep the generic SetIvar/DefinedIvar fallback instead of emitting another shape guard that would keep side exiting. * ZJIT: Clarify attr_writer SetIvar reprofile TODO `ProfileSend { argc: 1 }` can identify the attr_writer receiver on the stack, but the existing ProfileSend path is for no-profile sends. With normal profiling settings, the send instruction has already finished profiling by the time the lowered SetIvar shape guard fails, so exit_recompile returns early and never recompiles into the generic SetIvar fallback. Update the TODO to make it clear that attr_writer SetIvar needs a separate reprofile strategy for profiling the receiver operand after send profiling has already finished. * ZJIT: Add TODO comments for DefinedIvar/SetIvar follow-ups We want to support polymorphic paths for both DefinedIvar and SetIvar in the near future.
9 daysZJIT: Drop AssemblerPanicHook (#16928)Takashi Kokubun
This requires `unsafe impl Send for Insn`, and it tends to annoy us when we add pointer types to Insn, e.g. zjit_jit_frame for Lightweight Frames. It's supplimental debug_assertions, and we no longer actively develop register spill for backend, so the maintenance cost seems to outweigh the benefit. Let's remove that until we need that again.
9 days[DOC] Remove unnecessary requireNobuyoshi Nakada
RDoc loads `rbs` within `rdoc/rbs_helper.rb`, but this is an internal process and is not that the wrapper script is concerned with.
9 daysIgnore the indentation fix commit [ci skip]Nobuyoshi Nakada
9 daysAdjust indent [ci skip]Nobuyoshi Nakada
9 dayspathname: Add simple benchmarksNobuyoshi Nakada
9 dayspathname: Use Dir.childrenNobuyoshi Nakada
9 dayspathname: Use add_trailing_separatorNobuyoshi Nakada
9 dayspathname: Reuse dirname resultsNobuyoshi Nakada
9 dayspathname: Move same_paths? to pathname.cNobuyoshi Nakada
9 dayspathname: Move split_names to pathname.cNobuyoshi Nakada
9 dayspathname: SEPARATOR_PAT is no longer usedNobuyoshi Nakada
9 dayspathname: Move del_trailing_separator to pathname.cNobuyoshi Nakada
9 dayspathname: Move add_trailing_separator to pathname.cNobuyoshi Nakada
9 dayspathname: Move has_trailing_separator? to pathname.cNobuyoshi Nakada
9 dayspathname: Move chop_basename to pathname.cNobuyoshi Nakada
9 dayspathname: Move sub_ext to pathname.cNobuyoshi Nakada
Including platform depending code.
9 dayspathname: Define has_separator? instead of SEPARATOR_PATNobuyoshi Nakada
9 dayspathname: ABSOLUTE_PATH is no longer usedNobuyoshi Nakada
9 dayspathname: Move root? to pathname.cNobuyoshi Nakada
9 dayspathname: Move absolute? to pathname.cNobuyoshi Nakada
9 dayspathname: Check for path encoding and NUL terminatorsNobuyoshi Nakada
9 dayspathname: Remove dead codeNobuyoshi Nakada
pathname_builtin.rb no longer synchronize from ruby/pathname.
9 daysFix `IO::Buffer#each_byte` bounds check. (#16823)Andrii Furmanets
10 daysBump github.com/microsoft/vcpkg from master to 2026.04.27dependabot[bot]
Bumps [github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) from master to 2026.04.27. This release includes the previously tagged commit. - [Release notes](https://github.com/microsoft/vcpkg/releases) - [Commits](https://github.com/microsoft/vcpkg/compare/c3867e714dd3a51c272826eea77267876517ed99...56bb2411609227288b70117ead2c47585ba07713) --- updated-dependencies: - dependency-name: github.com/microsoft/vcpkg dependency-version: 2026.04.27 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
10 daysBump the github-actions group across 2 directories with 5 updatesdependabot[bot]
Bumps the github-actions group with 4 updates in the / directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby), [github/codeql-action](https://github.com/github/codeql-action), [actions-rust-lang/setup-rust-toolchain](https://github.com/actions-rust-lang/setup-rust-toolchain) and [taiki-e/install-action](https://github.com/taiki-e/install-action). Bumps the github-actions group with 1 update in the /.github/actions/slack directory: [ruby/action-slack](https://github.com/ruby/action-slack). Updates `ruby/setup-ruby` from 1.306.0 to 1.307.0 - [Release notes](https://github.com/ruby/setup-ruby/releases) - [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb) - [Commits](https://github.com/ruby/setup-ruby/compare/c4e5b1316158f92e3d49443a9d58b31d25ac0f8f...6aaa311d81eba98ae12eaffbcb63296ace0efcde) Updates `github/codeql-action` from 4.35.3 to 4.35.4 - [Release notes](https://github.com/github/codeql-action/releases) - [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/github/codeql-action/compare/e46ed2cbd01164d986452f91f178727624ae40d7...68bde559dea0fdcac2102bfdf6230c5f70eb485e) Updates `actions-rust-lang/setup-rust-toolchain` from 1.16.0 to 1.16.1 - [Release notes](https://github.com/actions-rust-lang/setup-rust-toolchain/releases) - [Changelog](https://github.com/actions-rust-lang/setup-rust-toolchain/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions-rust-lang/setup-rust-toolchain/compare/2b1f5e9b395427c92ee4e3331786ca3c37afe2d7...46268bd060767258de96ed93c1251119784f2ab6) Updates `taiki-e/install-action` from 2.77.1 to 2.77.7 - [Release notes](https://github.com/taiki-e/install-action/releases) - [Changelog](https://github.com/taiki-e/install-action/blob/main/CHANGELOG.md) - [Commits](https://github.com/taiki-e/install-action/compare/cca35edeb1d01366c2843b68fc3ca441446d73d3...3235f8901fd37ffed0052b276cec25a362fb82e9) Updates `ruby/action-slack` from 3.2.2 to 4.0.0 - [Release notes](https://github.com/ruby/action-slack/releases) - [Commits](https://github.com/ruby/action-slack/compare/54175162371f1f7c8eb94d7c8644ee2479fcd375...d260b61aa817726d5bedd22dd6cc305787fa4cdd) --- updated-dependencies: - dependency-name: actions-rust-lang/setup-rust-toolchain dependency-version: 1.16.1 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: github/codeql-action dependency-version: 4.35.4 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions - dependency-name: ruby/action-slack dependency-version: 4.0.0 dependency-type: direct:production update-type: version-update:semver-major dependency-group: github-actions - dependency-name: ruby/setup-ruby dependency-version: 1.307.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: github-actions - dependency-name: taiki-e/install-action dependency-version: 2.77.7 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: github-actions ... Signed-off-by: dependabot[bot] <support@github.com>
10 daysRDoc is now a bundled gem, run by full set rubyNobuyoshi Nakada
10 dayswasm: Clean up configure argumentsNobuyoshi Nakada
Update statically-linked extension list.
10 daysSetup baseruby before setup-directoriesNobuyoshi Nakada
To run `make up`, baseruby needs to be 3.1 or later.