Dev meeting IS NOT a decision-making place. All decisions should be done at the bug tracker.
Dev meeting is a place we can ask Matz, nobu, nurse and other developers directly.
Matz is a very busy person. Take this opportunity to ask him. If you can not attend, other attendees can ask instead of you (if attendees can understand your issue).
We will write a record of the discussion in the file or to each ticket in English.
All activities are best-effort (keep in mind that most of us are volunteer developers).
The date, time and place of the meeting are scheduled according to when/where we can reserve Matz's time.
If you have a ticket that you want matz and committers to discuss, please post it into this ticket in the following format:
* [Ticket ref] Ticket title (your name)
* Comment (A summary of the ticket, why you put this ticket here, what point should be discussed, etc.)
Example:
* [Feature #14609] `Kernel#p` without args shows the receiver (ko1)
* I feel this feature is very useful and some people say :+1: so let discuss this feature.
It is recommended to add a comment by 2026/10/04. We hold a preparatory meeting to create an agenda a few days before the dev-meeting.
Your comment is mandatory. We cannot read all discussion of the ticket in a limited time. We appreciate it if you could write a short summary and update from a previous discussion.
[Feature #22400] Use rb_long_t for lengths so that String and Array can exceed 2GiB on mswin (hsbt)
The first step (PR #18862) replaces long with rb_long_t, which stays typedef long, and changes nothing. The second step makes it 64 bits on mswin and breaks a few extensions there. I would like to know whether we go this way, whether rb_long_t is a good name, and whether both steps can land in 4.1.
[Feature #22392] Allow refinements to define && and || (shugo)
I propose to allow && and || to be defined in refinements, so that DSLs can write where { name == "x" && age > 20 } instead of where { (name == "x") & (age > 20) }.
The right-hand side is evaluated before the hook is called, so a hook never short-circuits; code outside using or Proc#refined keeps the current behavior, and defining them outside refinements raises NameError.
&&= and ||=, conditions such as if a && b, and statements that discard the value keep the current behavior.
Objections on the ticket: the cost for non-users (alanwu) and that &/| with parentheses is readable enough (matheusrich). With conditions excluded, code that doesn't use the hooks pays +2..3 instructions per &&/|| whose value is used and about +0.4% of iseq memory. Is the feature worth that?
[Feature #22402] Drop support for Darwin on PowerPC (hsbt)
PowerPC Macs stopped at Mac OS X 10.5 in 2007 and no CI covers them, but coroutine/ppc, coroutine/ppc64 and the PowerPC branches under __APPLE__ remain and still get occasional patches. I would like to drop Darwin on PowerPC only, not PowerPC in general (ppc64le and AIX stay), and raise the minimum Mac OS X version to 10.6 along with it (https://github.com/ruby/ruby/pull/19183). Can we drop it?