| Age | Commit message (Collapse) | Author |
|
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>
|
|
https://github.com/ruby/rubygems/commit/fefe97c0bd
|
|
|
|
|
|
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
|
|
|
|
Previously, this used a pessimistic recommendation. This switches
it to give an optimistic recommendation.
https://github.com/ruby/rubygems/commit/de24c15410
|
|
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
|
|
|
|
|
|
|
|
|
|
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.
|
|
We fixed the underlying bug in https://github.com/ruby/ruby/pull/15268
(f9c51ac5ea42382a22fb8a2cc5d7aeb78e77c962).
|
|
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.
|
|
|
|
|
|
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]
|
|
Correct grammatical errors in the layout documentation.
|
|
|
|
* 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'
|
|
(#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.
|
|
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.
|
|
RDoc loads `rbs` within `rdoc/rbs_helper.rb`, but this is an internal
process and is not that the wrapper script is concerned with.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Including platform depending code.
|
|
|
|
|
|
|
|
|
|
|
|
pathname_builtin.rb no longer synchronize from ruby/pathname.
|
|
|
|
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>
|
|
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>
|
|
|
|
Update statically-linked extension list.
|
|
To run `make up`, baseruby needs to be 3.1 or later.
|