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 2022/11/14. 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 #19104] Introduce the cache-based optimization for Regexp matching (mame)
This optimization to onigmo makes most Regexp matching linear time. In short, it will solve ReDoS.
There are two notable limitations: (1) there are some unoptimizable Regexp patterns (e.g., back-references. About 10% Regexp objects are not optimizable according to measurement with some real-world libraries), and (2) it comsumes memory proportional to the input string (According to measurement, at worst, about 10 times to the length of the input string)
We want you to discuss: (1) can we merge this change (into preview3 if possible), and (2) should we provide a way to tell users if a given regexp is optimizable or not (e.g., a warning at unoptimizable regexp creation, a new API like Regexp#optimizable?, or a new opt-in Regexp flag /foo/r to raise a SyntaxError when it is not optimizable, etc.)
[Feature #11689] Add methods allow us to get visibility from Method and UnboundMethod object. (eregon)
{Method,UnboundMethod}#{private?,protected?,public?} exist in 3.1 but are currently not defined in 3.2
I think we should add them back, I think there is no reason to remove them anymore, since the behavior is intuitive now. Of course we need to store and return the visibility of the original method found by .method/.instance_method, not the zsuper-resolved method (same as for owner).
I think it is unnecessary to wait for someone to open a ticket "private?,protected?,public? methods missing in 3.2".
[Feature #18996] Proposal: Introduce new APIs to reline for changing dialog UI colours
After discussing with @k0kubun (Takashi Kokubun), we've decided to use iTerm2's settings as colour options' naming reference.
We also think it's better to accept colour configs at both DialogRenderInfo and completion level (which builds on top of DialogRenderInfo but doesn't expose its APIs). This will give us enough flexibility for future extension.
[Feature #19000] Data: Add "Copy with changes method" [Follow-on to #16122 Data: simple immutable value object] (bdewater)
There seems to be consensus for the need of the feature, but not on what the method name should be. The proposals are with (C#, Java, Sorbet, value_semantics gem) and dup (with arguments, similar to Sequel datasets).
I think it would be valuable to have this decided and shipped with 3.2 to make Data objects ergonomic to work with.
This dev meeting has been postponed to 1st Dec. for various reasons.
If you have any topics you really want us to discuss, you can add them by 30th Nov. (But we already have a lot on the agenda, so I would appreciate your consideration.)