1915 Commits
Author SHA1 Message Date
Burdette Lamar ccba8baa7b [DOC] Add new directives to tables (#19431) 2026-10-20 20:32:39 +09:00
Burdette Lamar c2ce8487b4 [DOC] Add remark about return values (#19382)
* [DOC] Add remark about return values

* Respond to review
2026-10-18 14:31:15 -05:00
Peter Zhu af502c7530 [DOC] Fix indentation in packed_data.md 2026-10-18 11:07:34 +09:00
BurdetteLamar 1f6b0e78f8 [DOC] Tweaks for '***' globbing 2026-10-18 10:11:14 +09:00
Taketo Takashima bf2eb21afc Update maintainers for ipaddr.rb (#19406) 2026-10-17 16:10:18 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 c498dc697a Document building with GNU make on mswin
A ruby built this way also builds extension libraries with `make` from PATH, so installing gems with C extensions needs GNU make there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 18:16:49 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 84b47a2d6b [DOC] Register each new worktree with firewall.cmd from a post-checkout hook
Coding agents build in a new worktree for each task, so every worktree meets the dialog. The hook runs without stopping only when User Account Control never notifies, and otherwise it starts a task registered once with the highest privileges.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:30:53 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 30160ec24c win32: Add firewall.cmd to stop the firewall alert in tests
Windows Defender Firewall asks about every new executable path that listens on all interfaces. A block rule for the build directory stops the dialog without exposing the tests to other machines, and connections from the same machine still work. With -delete the directory need not exist, since the rules outlive the worktree or build directory they were added for.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 16:30:53 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 ce3a306211 Document building with clang-cl on mswin
clang-cl 15 is the oldest version the build accepts. The component is not in Visual Studio 2017, which mswin still supports.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-15 13:39:04 +09:00
Yusuke EndohandClaude Opus 5.5 128308226c Say that Ruby::Prism is the parser that parsed the running program
Ruby::Prism itself does not compile the program (prism_compile.c does,
and other implementations may not even compile an AST into bytecode).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 04:27:15 +09:00
Yusuke EndohandClaude Opus 5.5 d763d10cfc NEWS and docs for Ruby::Prism and the bundled prism gem
[Bug #22379]

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-11 04:27:15 +09:00
Benoit Daloze ef83236c79 Rework the RUBY_TYPED_FROZEN_SHAREABLE to be more precise and accurate
* See https://github.com/ruby/ruby/pull/18492#discussion_r4207898351
2026-10-09 21:26:54 +02:00
Benoit Daloze 5ee67ca362 Fix some typos in extension.rdoc 2026-10-09 21:26:54 +02:00
Benoit Daloze 49bfc6cd6d Link to efficient_extensions.md from extension.rdoc for discoverability 2026-10-09 21:26:54 +02:00
Benoit Daloze 477555eece Move efficient_extensions.md under doc/
* It's for any native extension, not just extensions in CRuby, like doc/extension.rdoc.
2026-10-09 21:26:54 +02:00
Hiroshi SHIBATAandClaude Opus 5.5 28050861df Mention the rb_len_t macros in the HAVE_RB_LEN_T entry
An extension that defines only the types as a fallback for older versions still misses `NUM2LEN` and `PRIdLEN` there.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 03:16:01 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 174639e092 Add HAVE_RB_LEN_T
An extension that also supports older versions can check it and fall back to `typedef long rb_len_t`, as with `HAVE_RB_IO_T`.

https://bugs.ruby-lang.org/issues/22400

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-10 03:16:01 +09:00
Hiroshi SHIBATAandClaude Opus 5 cc3ba11012 Use rb_len_t in the C API for lengths and indices
Once rb_len_t widens this changes the `long *` output parameters of rb_range_beg_len(), rb_str_subpos(), rb_arithmetic_sequence_beg_len_step(), ruby_enc_find_basename() and ruby_enc_find_extname(), so extensions passing `long *` to them will need to be updated. The extension guides list these signatures verbatim and follow along.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-10-09 14:00:15 +09:00
BurdetteLamar b9ec010a22 [DOC] Harmonize executable? methods 2026-10-08 09:04:27 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 bfa11c72ac Document YJIT on mswin
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-07 06:11:37 +09:00
Burdette Lamar 002ae526ff [DOC] Remove helper display method - #19189 2026-10-04 18:37:35 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 fffeffa83d [DOC] List the workflows that collect crash dumps
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:47:05 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 c85cb72bcc [DOC] Move debugging out of building_ruby.md
The section has grown past building with the crash dumps, so give it its own page next to building and testing.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:47:05 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 aa4a4c34f8 [DOC] Describe how to get and read crash dumps
The CI uploads crash dumps on Windows, Linux and macOS now, and a crash that leaves no [BUG] report can only be followed through one.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-30 14:47:05 +09:00
Burdette LamarandJeremy Evans aeb212ecb4 [DOC] Adding section 'Cleaning Up' to doc guide (#19101)
* [DOC] Adding section 'Cleaning Up' to doc guide

* Update doc/contributing/documentation_guide.md

Co-authored-by: Jeremy Evans <code@jeremyevans.net>

* Update doc/contributing/documentation_guide.md

Co-authored-by: Jeremy Evans <code@jeremyevans.net>

* Update doc/contributing/documentation_guide.md

Co-authored-by: Jeremy Evans <code@jeremyevans.net>

* Update doc/contributing/documentation_guide.md

Co-authored-by: Jeremy Evans <code@jeremyevans.net>

* Respond to review

---------

Co-authored-by: Jeremy Evans <code@jeremyevans.net>
2026-09-29 08:06:10 -05:00
Burdette Lamar d84403c039 [DOC] Harmonize unlink doc 2026-09-28 09:28:21 +09:00
Hiroshi SHIBATAandClaude Opus 5.5 ccdc278e75 Document Windows 10 version 1809 as the minimum for mswin
Windows Server 2016 and Windows 10 Enterprise LTSB 2016 reach end of support by January 2027. Version 1809 is the oldest release still supported afterwards, as Windows Server 2019 and Windows 10 Enterprise LTSC 2019 until January 2029.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 17:50:13 +09:00
Matt Valentine-House 2ad6b99a98 GC: scope rb_gc_register_address to the calling Ractor
The registered_globals list made every Ractor's GC scan every slot under
a shared lock. This commit splits it into per-Ractor lists.

We also maintain a global registry that references every Ractor that has
ever registered so that unregistering from a Ractor other than the one
that registered can look up the owning list.

When a Ractor is joined, the dead Ractor's slots are moved to the
joining Ractor's heap before the objspace merge happens.

This change tightens up the requirements for values stored in a
registered address.

Previously, Every Ractor's local GC scanned the shared list. So if a
slot held an unshareable object living in a different Ractor's heap,
that object was always kept alive regardless.

After this change, only the registering Ractor's GC scans its list. So if a
slot holds another Ractor's unshareable object, the owning Ractor's
local GC cannot see that reference, so it can collect the object while
the registered slot still points at it.

Storing such an object was already a Ractor containment violation. It
was just hidden by the shared scan.

[Feature #22277]
2026-09-25 19:24:10 +01:00
Hiroshi SHIBATAandClaude Opus 5.5 14fd99e1cb Document Visual Studio 2017 version 15.8 as the minimum for mswin
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-25 13:36:12 +09:00
Nobuyoshi Nakada ea2836f7ec [Feature #17548] Allow Dir.glob to follow symlinks with ***
Allow recursive matching through directory symlinks while stopping
at links to ancestor directories to avoid cycles.
2026-09-24 18:48:45 +09:00
Burdette Lamar 79c60fe7ee [DOC] Fix broken link (#18917) 2026-09-19 20:12:51 +09:00
Hiroshi SHIBATA 30ded5b167 Rewrite rdoc-ref from absolute path at stringio doc 2026-09-16 18:40:35 +09:00
Ben Sheldon 5d8cb984a2 [DOC] Fix shareable proc typo in Ractor documentation 2026-09-16 12:57:48 +09:00
HASUMI Hitoshi 03a426ec8d [Feature #22279] Add region arguments to String bit operations (#18562)
This patch extends the following String methods:

* String#bit_set(offset, length, lsb_first: true) -> self
* String#bit_set(range, lsb_first: true) -> self
* String#bit_clear(offset, length, lsb_first: true) -> self
* String#bit_clear(range, lsb_first: true) -> self
* String#bit_flip(offset, length, lsb_first: true) -> self
* String#bit_flip(range, lsb_first: true) -> self
* String#bit_count(offset, length, lsb_first: true) -> Integer
* String#bit_count(range, lsb_first: true) -> Integer

Link: [Feature #22279]
2026-09-14 17:30:15 +09:00
Samuel Williams aaf83bcebe Scope fiber_interrupt with an operation proxy. (#18793)
[Bug #21918]
2026-09-13 14:48:19 +12:00
BurdetteLamar b49ac40e44 [DOC] Harmonize rename methods 2026-09-13 09:08:36 +09:00
Koichi SasadaandClaude Fable 5 f0bae5f73d Update doc/language/ractor.md and bootstraptest for class/module ownership
Document the model: only the creator Ractor can modify a class/module,
singleton class ownership follows the attached object, classes of a terminated
Ractor become read-only, and the main-Ractor-only rules for class instance
variables, constants and class variables are generalized to the owner.  For a
class variable, say which owner decides -- the class it is stored in, not the
receiver it was looked up through.

State explicitly what ownership does not give.  Reads are unsynchronized and a
class modification is not atomic, so a non-owner Ractor can observe a class
while its owner is modifying it: ownership is a single-writer guarantee, not a
consistent view for readers.  And that single writer is not always the class's
own owner -- M.include(N) rewires the ancestor chain of every class that
already includes M, whoever owns them, because modifying M is M's owner's
right.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 16:02:03 +09:00
Ivo Anjo 4affd0ba8b Documentation for modernizing C extensions. (#18492) 2026-09-09 17:14:41 +12:00
Takashi Kokubun fead5aefba Add Jean as an ERB maintainer
and update the list of active maintainers. We don't seem to enumerate
all past maintainers for other gems in this file.

Context: https://github.com/ruby/erb/pull/136#issuecomment-5588630696
2026-09-08 14:30:19 -07:00
Benoit Daloze 37d60dd324 [DOC] Fixes for Appendix G. Embedded TypedData in extension.rdoc (#18669) 2026-09-08 08:51:58 +00:00
Burdette Lamar 13fc4ffd32 [DOC] New symbolic links doc- #18619 2026-09-06 20:22:48 +09:00
Max Bernstein 8cf4dc8ac7 ZJIT: Support dumping HIR to a file (#18604)
This lets us analyze HIR without redirecting all stdout somewhere.
2026-09-04 13:22:42 -04:00
Hiroshi SHIBATAandClaude Opus 5 5efd4ad899 Drop the GNU make note from --with-static-linked-ext
The premature `ruby` link it warned about comes from `programs` running
before `exts` under `make test-all`, not from parallelism, and whether
the extension build repairs it afterwards varies. Documenting a make
version is the wrong place to address it.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 11:37:43 +09:00
Hiroshi SHIBATAandClaude Opus 5 ef21bf4d79 Document --with-static-linked-ext
The option was described only by configure --help, so the extra
--with-EXTLIB-dir options it needs had to be found by trial and error.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-09-04 11:37:43 +09:00
BurdetteLamar 25ab32c76e [DOC] Tweak for filesystem_modes.md 2026-08-29 10:02:35 +09:00
Burdette Lamar ae55fbbae6 [DOC] New file about filesystem modes (#18521) 2026-08-28 08:10:00 +09:00
Nobuyoshi Nakada 9ee713a92c Revert "Adjust indent [ci skip]"
This reverts commit c0a526dd97.
2026-08-27 09:27:53 +09:00
Nobuyoshi Nakada c0a526dd97 Adjust indent [ci skip] 2026-08-27 09:26:49 +09:00
Samuel Williams 0968fd4b3b Require Fiber::Scheduler#fiber_interrupt. (#18513) 2026-08-27 09:52:46 +12:00
Samuel Williams 44da9d7384 Make IO::Buffer I/O operations single-transfer and composable. (#18483) 2026-08-25 14:46:49 +12:00