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/01/11. 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.
[Bug #21780] Change the default size of Enumerator.produce back to infinity (zverok)
While the new argument is a good addition to the API, I argue that Float::INFINITY would be a more friendly default, corresponding to the most straightforward usage
[Bug #21803] Addrinfo#connect_internal should raise IO::TimeoutError on user-specified timeouts
I’d like to make Socket.tcp consistently raise IO::TimeoutError when a user-specified timeout occurs, rather than raising Errno::ETIMEDOUT in some cases.
[Feature #21800] Dir.foreach and Dir.each_child to optionally yield File::Stat object alongside the children name (byroot)
It's common for development tools to need to recursively scan the file system, but it's slower than it should be in Ruby because the API impose N+1 stat syscalls.
By providing File::Stat alongside the entry name we can leverage readdir's d_type and avoid a stat(2) call in most cases.
This would benefit many popular gems such as Zeitwerk, rubocop, etc.
[Feature #21788] Promote Thread::Monitor to a core class (byroot)
Monitor is about as useful as Mutex and yet one is a core class and the other is a "stdlib" extension.
Bringing it into core allow to make is about as fast as mutex, while it is currently ~20% slower.
I don't personally think MonitorMixin should be made core though. It can remain in monitor.rb.
[Feature #21821] Add Stack and SizedStack classes. (byroot)
Identical to Queue and SizedQueue but LIFO ordering.
Should they be namespaced under Thread:: like Queue or is it just historical?
I plan to attend this meeting, though I will only be able to join from 15:30PM JST (= 7:30AM CET).
Would it possible to discuss the topics I added, as well as #6012 (https://bugs.ruby-lang.org/issues/21777#note-7) after that time so I can participate in their discussion?
Maybe by simply putting these topics at the end of the list of topics when creating the agenda.