Activity
From 12/19/2025 to 12/25/2025
Today
-
12:06 AM Revision 3c4cda10 (git): [DOC] Add back Rust 1.85.0 requirement to NEWS.md (#15728)
- * [DOC] Add back Rust 1.85.0 requirement to NEWS.md
Addresses k0kubun's review in https://github.com/ruby/ruby/pull/15711#issuecomment-3690541074
NEWS.md serves both CRuby developers as well as end-users. As the
release date closes in,...
12/24/2025
-
10:37 PM Revision 3e82da72 (git): ZJIT: Don't mark control-flow opcodes as invalidating locals (#15694)
- jump, branchif, etc don't invalidate locals in the JIT; they might in the interpreter because they can execute arbitrary code, but the JIT side exits before that happens.
-
09:52 PM Revision 8d097bc4 (git): Rollback to minitest-5.27.0
- Test of 6.0.0 is not working with 4.0.0 stable version.
https://github.com/ruby/actions/actions/runs/20488398805/job/58875672023#step:20:362
```
rake aborted!
NoMethodError: undefined method 'cov_filter=' for #<Hoe:0x00007fdb550fc8... -
08:47 PM Revision 26a1a522 (git): Revert "Rollback to test-unit 3.7.3"
- This reverts commit c17307ac22f37f74786a4f016121c6ee8cc38915.
-
08:46 PM Revision 8caea032 (git): rbs_skip_tests_windows
-
08:46 PM Revision b92bc965 (git): Skip test to avoid NoMemoryError
-
08:46 PM Revision d0193e92 (git): Bundle test-unit 3.7.5
- 08:45 PM Revision 96d87653 (git): Bump RDoc to 7.0.3
-
02:52 PM Revision 479f8682 (git): Remove extra help
-
02:07 PM Revision 29ffc5d6 (git): Reapply "Extract `ruby_api_version_name`"
- This reverts commit ba2f6972193cdbd7c1e77e26212513e47926b115.
Box already used ruby_api_version_name. -
01:55 PM Revision 285e22ed (git): Revert "Add link to Ruby options doc in help text"
- This reverts commit 31ff07ed1eb05d01f7da3c017d542137a3db1e94.
* Don't add a test which only runs on production release
* https://github.com/ruby/actions/actions/runs/20486784889/job/58870959976
* Don't add a new line to `ruby --help`
... -
01:55 PM Revision ba2f6972 (git): Revert "Extract `ruby_api_version_name`"
- This reverts commit 9b576cd6255aba97e5e2f55f4b09f00c7dd0e839.
-
01:36 PM Feature #6012: Proc#source_location also return the column
- I didn't mean to cancel nor reject this proposal. It would probably be merged in 4.1 (or later). But since any design mistake would remain virtually forever in Ruby, and I am the one to be blamed.
We had some concerns, e.g. #21783 or #2... -
01:11 PM Revision 8de2622c (git): Fix a fragile test
- `Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j2". -
12:29 PM Revision f00abcfd (git): Prevent "warning: assigned but unused variable - it"
-
12:29 PM Revision 17e4f28c (git): Remove unintentional return
-
12:09 PM Revision 2d0d9530 (git): ext/-test-/scheduler/scheduler.c: explicitly ignore the result of write
- ```
scheduler.c:44:5: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
44 | write(blocking_state->notify_descriptor, "x", 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~... -
10:49 AM Revision df1c9a06 (git): Win32: Remove an unused function
- Since 50e5c542cc0541fb38e52766d88d87bd8a96b072, `constat_reset` is no
longer used. -
10:44 AM Revision c17307ac (git): Rollback to test-unit 3.7.3
- 3.7.5 is not working with rbs-3.10.0
https://github.com/ruby/ruby/actions/runs/20480628393/job/58853288287#step:22:353
```
D:/a/ruby/ruby/src/.bundle/gems/test-unit-3.7.5/lib/test/unit/testcase.rb:641:in 'block (2 levels) in Test::Un... -
10:44 AM Revision 6e20e92d (git): Disable auto-update of bundled gems
-
08:32 AM Revision aaed4ccc (git): Restore gem updates that are accidentally deleted
-
08:26 AM Revision ca67e72b (git): Added release histories of default/bundled gems from Ruby 3.4.8
-
07:10 AM Revision 1c071582 (git): Update to test-unit 3.7.5 at NEWS.md
-
07:10 AM Revision 422ff273 (git): Added https://github.com/ruby/net-http/issues/205 to NEWS.md
- 06:55 AM Revision 04a64622 (git): Update bundled gems list as of 2025-12-24
-
06:43 AM Revision 88d6c5aa (git): [DOC] Update ZJIT status in NEWS.md
- As for Ruby v4.0.0-preview3, ZJIT support is enabled by default on
supported platforms. The previous phrasing is not relevant for most
users. Replaced with brief instructions for enabling the JIT itself. - 06:10 AM Revision f7b48456 (git): Box: show the fully qualified URL of the Ruby::Box doc
-
05:41 AM Revision 352de161 (git): Remove an extra dot from `RUBY_API_VERSION_STR`
-
05:10 AM Revision fc19ce0a (git): Lrama v0.7.1
-
05:05 AM Revision 44693ee3 (git): Fix a possible memory leak in dtoa
- Fix GH-15061
-
04:59 AM Revision 6af9b8d5 (git): Minor update at stdlib section
-
04:48 AM Revision 7d2815d9 (git): Add flag for prevent to update NEWS.md for release day.
-
03:30 AM Revision 342d2578 (git): [DOC] Fix backticks in Coverage.peek_result
-
03:24 AM Revision 202028ae (git): Update the latest results of test-bundled-gems
-
02:46 AM Revision ab683d56 (git): [DOC] Cross-links between Japanese and English pages (#15705)
- * [DOC] Cross-links between Japanese and English pages
-
02:21 AM Revision 9154d72a (git): Improve CGI.escape* docs
-
02:14 AM Revision 10a68210 (git): [DOC] Fix IO::Buffer document
- 02:03 AM Revision 6e2bf5df (git): [Tests] Assert Module#set_temporary_name returns self
- The return value of Module#set_temporary_name was changed
to return `self`, but the existing tests
did not verify this. -
01:59 AM Revision ceea8060 (git): Properly handle test cases terminated by signals in test-bundled-gems
- Process::Status#exitstatus turn into nil when child process is signeled.
When exit_code was unchanged, test-bundled-gems.rb returned 0 and make was unable to detect the failure. Fix this. -
01:46 AM Revision 688c1f6c (git): [DOC] Reword "Pattern Matching" to "Regular Expression"
- In ruby, since 3.1 at least, the words "Pattern Matching" should refer
the syntax. - 01:39 AM Revision e2a58c45 (git): [DOC] Fix minor typo in signals.rdoc
- 01:10 AM Revision 30d9782c (git): Tidy up fiber scheduler tests.
- 01:10 AM Revision 2df72c0c (git): Fix flaky test.
-
12:53 AM Revision 01d1cbbb (git): [DOC] Enhance Fiber::Scheduler docs (#15708)
12/23/2025
-
06:54 PM Revision e2cf92ed (git): Move special const check to gc.c for rb_gc_impl_object_moved_p
-
05:09 PM Revision d7d11090 (git): Describe base code layout rules (#15696)
- * Describe base code layout rules
* Enhance optional keyword explanation
* Change the logical operators description -
02:00 PM Revision d517e048 (git): [DOC] Combine docs for Method#call aliases
- RDoc does not parse the documentation for the Method#call aliases, so we
should combine the aliases into one documentation. -
12:59 PM Bug #21802: segmentation fault when installing gems on CI
- ufuk (Ufuk Kayserilioglu) wrote in #note-2:
> Please post the C level backtrace as well. Usually that's very helpful.
any idea how I could do that? the job inside the CI most of the time simply dies with an output like this:
```
/b... -
12:52 PM Bug #21802: segmentation fault when installing gems on CI
- Please post the C level backtrace as well. Usually that's very helpful.
-
09:14 AM Bug #21802 (Open): segmentation fault when installing gems on CI
- hey!
recently, we updated to Bundler v4 (currently running v4.0.3) and Ruby 3.4.8. Since then, one of our CircleCI steps has been failing repeatedly, often without logs. Sometimes it does fail with a log
```
Installing faraday-typ... - 12:51 PM Revision ab565a3e (git): Box: split the test for CI timeouts
-
12:43 PM Bug #21801: compile failed at 4.0.0 preview 3 and snapshot issue
- darkspy (gerty ken) wrote in #note-3:
> nobu (Nobuyoshi Nakada) wrote in #note-2:
> ...
now snapshot tonight:
compiling ./missing/langinfo.c
compiling ./missing/crypt.c
compiling ./missing/explicit_bzero.c
compiling ./missing/ffs.c... -
09:53 AM Revision 51511954 (git): Fix a fragile test
- `Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j4". - 08:52 AM Revision 3ddf6950 (git): Update bundled gems list as of 2025-12-23
-
08:51 AM Revision 2ed9a7bd (git): Bundle RBS 3.10.0 (#15701)
- * Bundle RBS 3.10.0
* Unskip BigDecimal tests -
08:37 AM Bug #21723: `binding.irb` raises a LoadError under `bundle exec` when Gemfile contains `path:` or `git:`
- I have no enough time to handle this for Ruby 4.0.0.
Please add `irb` to your Gemfile or wait to release 4.0.1. Sorry to your inconvenience. -
08:28 AM Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
- So first, I must say I agree this is a common problem with the advent of containers. Both Rails and Puma tried to have automatic detection and configuration of the number of worker processes, and it caused issue for users on various plat...
-
08:04 AM Bug #21799 (Closed): Delegated top-level methods are not visible outside the Ruby Box
- Yes. `Foo` is a constant, not a method. The example was wrong. Now that it's updated we can close.
-
08:02 AM Revision d879f9f6 (git): [DOC] Fix example in Ruby::Box documentation
-
07:30 AM Revision b04e61c3 (git): Added release note for RubyGems 4.0.3
- 07:11 AM Revision 3a92e07a (git): Update default gems list at 1c3ef2719155b56f14bf734c82b26e [ci skip]
-
07:10 AM Revision 1c3ef271 (git): Merge RubyGems 4.0.3 and Bundler 4.0.3
- 04:04 AM Revision ed1aac54 (git): Update default gems list at 8eaf6739fda591233b07f3ada7ed4e [ci skip]
-
04:03 AM Revision 8eaf6739 (git): [ruby/error_highlight] Bump version
- https://github.com/ruby/error_highlight/commit/dc2dad6632
-
02:31 AM Feature #21796: unpack variant that returns the final offset
- I like `^` specifier too.
Matz.
-
12:12 AM Revision 0b3199a6 (git): [DOC] Fix backticks in docs for Set#add
12/22/2025
-
11:21 PM Bug #21801: compile failed at 4.0.0 preview 3 and snapshot issue
- nobu (Nobuyoshi Nakada) wrote in #note-2:
> darkspy (gerty ken) wrote:
> ...
yep like for 8 years compiling ruby using msys 1.0 + winlib / mingw64. until 4.0 preview2 were fine -
02:05 PM Bug #21801: compile failed at 4.0.0 preview 3 and snapshot issue
- darkspy (gerty ken) wrote:
> ENV:
> ...
Are you really using msys **1.0**? -
11:11 AM Bug #21801 (Open): compile failed at 4.0.0 preview 3 and snapshot issue
- ```
compiling x64-msvcrt-ruby400.res.o
creating verconf.h
verconf.h updated
compiling loadpath.c
linking static-library libx64-msvcrt-ruby400-static.a
generating x64-msvcrt-ruby400.def
linking shared-library x64-msvcrt-ruby400.dll... -
10:52 PM Revision e69f41a0 (git): [DOC] Languages in Examples (#15697)
- * [DOC] Languages in Examples
* 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>
... -
09:54 PM Revision af30e471 (git): [ruby/mmtk] Implement Ruby heap
- This heap emulates the growth characteristics of the Ruby default GC's
heap. By default, the heap grows by 40%, requires at least 20% empty
after a GC, and allows at most 65% empty before it shrinks the heap. This
is all configurable via... - 06:22 PM Revision 481f16f3 (git): [DOC] Improve ractor class docs (grammar, code examples) (#15686)
-
02:12 PM Revision 6a2cd630 (git): [DOC] Improve call-seq of Proc#call
-
02:12 PM Revision f98bbb74 (git): [DOC] Doc for Rational#<=>
-
12:00 PM Revision 5272f2bc (git): Bump RDoc to 7.0.2 (#15691)
-
08:34 AM Feature #17001 (Closed): [Feature] Dir.scan to yield dirent for efficient and composable recursive directory scaning
- Closing in favor of [Feature #21800]
-
08:34 AM Feature #21800 (Open): `Dir.foreach` and `Dir.each_child` to optionally yield `File::Stat` object alongside the children name
- When listing a directory, it's very common to need to know the type of each children, generally because you want to scan recursively.
The naive way to do this is to call `stat(2)` for each children, but this is quite costly.
This us... -
06:59 AM Bug #21799: Delegated top-level methods are not visible outside the Ruby Box
- I think `box.Foo.say` should be `box::Foo.say`. https://github.com/ruby/ruby/pull/15690
-
06:38 AM Bug #21799 (Closed): Delegated top-level methods are not visible outside the Ruby Box
- The following example code based on Ruby Box results in an unexpected error.
https://github.com/ruby/ruby/blob/v4.0.0-preview3/doc/language/box.md#top-level-methods
I'm not familiar with Ruby Box, but it seems that either the above d... -
05:58 AM Revision 21917689 (git): [DOC] Refine packed_data.rdoc
- * Escape unexpected links
* Remove unnecessary path name from in-file reference -
05:39 AM Revision 87e78e6f (git): [DOC] Add multiline condition code example that was already possible
- To avoid the misconception that previously conditional code had to be
written on a single line.
12/21/2025
-
08:02 PM Feature #21785 (Open): Add signed and unsigned LEB128 support to pack / unpack
-
07:08 PM Revision cfb324e9 (git): [DOC] Improve docs for Method#>>
-
07:08 PM Revision 9f8231b7 (git): [DOC] Update call-seq for Method#>>
-
07:08 PM Revision 759187b5 (git): [DOC] Improve docs for Method#<<
-
07:08 PM Revision 76441060 (git): [DOC] Update call-seq for Method#<<
-
07:05 PM Revision ab4a0b4e (git): [DOC] Doc for File::Stat<=>
-
07:05 PM Revision 2d69facd (git): [DOC] Tweaks for Object#<=>
- 06:26 PM Revision d0ec60dc (git): More doc improvements to ractor.md (#15676)
- [DOC] More doc improvements to ractor.md
-
01:59 PM Revision 37b98f0d (git): [ruby/mmtk] Add a 32 byte heap for allocating smaller objects
- https://github.com/ruby/mmtk/commit/c4cca6c1c3
-
11:31 AM Revision d8b33993 (git): Box: Fix an unused variable warning
- 09:35 AM Revision 2ffd5ad0 (git): [DOC] Remove duplicate Pathname promotion entry at NEWS.md
- The Pathname promotion to core class is already documented in the
"Core classes updates" section, making this duplicate entry
redundant. -
02:55 AM Revision 038b158f (git): [ruby/mmtk] Implement fast path for bump pointer allocator
- Adding a fast path for bump pointer allocator can improve allocation
performance.
For the following microbenchmark with MMTK_HEAP_MIN=100MiB:
10_000_000.times { String.new }
Before:
810.7 ms ± 8.3 ms [User: 790.9 ms, Sys... -
02:31 AM Revision 1bc2a915 (git): [DOC] Align tables in globals.md
- * Align "Contains" column in "Streams" table
* Align some columns vertically
* Remove a duplicate `$-a` description -
02:24 AM Revision e2243ed2 (git): [DOC] Correct typo
12/20/2025
-
11:14 PM Revision 483ef3a0 (git): Test test_remove_instance_variable_re_embed separately
- Shape tree pollution could cause this test to flake.
-
11:14 PM Revision f42535fa (git): Change test to define ivars in initialize method
- Defining ivars in initialize method guarantees the object to be embedded.
-
11:13 PM Revision 58087278 (git): [DOC] Fix indentation error in Complex#<=>
-
11:13 PM Revision addbeb6c (git): [DOC] Note for String#<=> about Comparable
-
11:12 PM Revision 7c1e37cf (git): [DOC] Tweaks for Module#<=>
-
10:19 PM Revision 48842525 (git): Exclude TestObjSpace#test_dump_objects_dumps_page_slot_sizes for MMTk [ci skip]
- 08:28 PM Revision 3fee7dd9 (git): Small improvements to doc/language/ractor.md (#15588)
- [DOC] Improvements to doc/language/ractor.md
-
04:41 PM Revision 6d5605b2 (git): [ruby/mmtk] Make rb_gc_impl_heap_id_for_size use MMTK_HEAP_COUNT
- https://github.com/ruby/mmtk/commit/2185189df4
-
04:27 PM Revision fe9a7448 (git): Check slot_size before zeroing memory for GC hook
- If the slot_size < RVALUE_SIZE then we would underflow in the memset.
-
03:26 PM Revision 5cdda61d (git): [DOC] Enhancements for globals.md (#15545)
- * [DOC] Enhancements for globals.md
-
03:16 PM Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
- Thank you for your comments. Let me summarize the discussion.
### 1. Introducing a new API under `Etc`
Introducing a method such as `Etc.cpu_quota`, which returns `Float | nil`, seems reasonable.
### 2. Changing the behavior of ... -
11:41 AM Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
- CPU quotas can be floating point numbers though, not just integers.
But `Etc.nprocessors` returns an Integer.
So it seems having a new method is worth it.
I think it's good if `Etc.nprocessors` rounds it though for convenience and s... -
02:47 AM Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
- osyoyu (Daisuke Aritomo) wrote in #note-4:
> It'd be nice if `RUBY_MAX_CPU` would be autoconfigured based on this, just like Go 1.25 `GOMAXPROCS`.
> ...
This sounds very good, but it should probably be a separate ticket though.
nobu... -
12:14 AM Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
- How about https://github.com/ruby/etc/tree/linux-cgroup-from-maxprocs?
-
01:40 PM Revision 6bf92105 (git): [ruby/mmtk] Call rb_bug when Ruby mutator thread panics
- This will allow the Ruby backtrace, memory mapping, etc. to be outputted
when a Ruby mutator thread panics.
https://github.com/ruby/mmtk/commit/d10fd325dd -
01:25 PM
Bug #21792 (Closed): 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
- Applied in changeset commit:git|e6520de3442659def3463d3bfdca3432f41b2d6a.
----------
[Bug #21792] Build rubyspec-capiext only when excuting `test-spec`
rubyspec-capiext is only needed for running specs, not for building or
installing R... -
11:32 AM Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
- Do you then use this "minimal Ruby" to run the gem extconf.rb?
I don't think that works in general without extensions, extconf.rb can assume the full stdlib to be available.
As nobu said even RubyGems cannot load without `monitor`, a C... -
04:47 AM Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
- mdalessio (Mike Dalessio) wrote in #note-6:
> Ah, I see, is this because logger relies on monitor, and logger is no longer part of the stdlib (it is a bundled gem)?
Not `logger`, `lib/rubygems/core_ext/kernel_require.rb` requires `mo... - 01:24 PM Revision e6520de3 (git): [Bug #21792] Build rubyspec-capiext only when excuting `test-spec`
- rubyspec-capiext is only needed for running specs, not for building or
installing Ruby. -
01:12 PM Revision e4bcb64b (git): [Doc] prefer encoding objects over encoding names
-
12:37 PM Revision 8f7c3603 (git): Fix a fragile test
- `Dir.mktmpdir` concatenates a random base-36 number separated by "-",
so may generate pathnames containing "-j4". -
11:28 AM Feature #21767: Consider procs which `self` is Ractor-shareable as Ractor shareable
- osyoyu (Daisuke Aritomo) wrote in #note-3:
> @eregon I'm not sure I fully understand your point, but conceptually your code should raise an `Ractor::IsolationError` by accessing a unshareable, mutable variable `a`.
You can try the ex... -
05:57 AM Feature #21767: Consider procs which `self` is Ractor-shareable as Ractor shareable
- I think a number of "frozen Proc" is enough small so the incompatibility is enough small to ignore.
So I'm +1.
-
11:26 AM Revision a5703919 (git): Add clarifications about the Enumerator.size (#15615)
-
11:07 AM Revision ec4ca913 (git): Small documentation adjustments for new/updated features (#15634)
- * Document Range#to_set
* Update Thread#raise and Fiber#raise signatures and docs
* Add reference to String#strip to character_selectors.rdoc
* Update *nil docs when calling methods
* Enhance Array#find and #rfind docs
* Add a notic... -
08:21 AM Bug #21798 (Open): `bundle install` command fails if touches `$LOAD_PATH` on `Ruby::Box` enabled
- ## How to reproduce
```dockerfile
FROM ruby:4.0.0-preview3-trixie
WORKDIR /ruby_box_test
RUN bundle gem foo --test=minitest
WORKDIR /ruby_box_test/foo
RUN head -n 10 foo.gemspec
# PASS
RUN bundle install
# PASS
RUN ... -
07:59 AM Revision 77c3a9e4 (git): Revert pack/unpack support for LEB128
- https://bugs.ruby-lang.org/issues/21785#note-10
> It is too late to introduce it in Ruby 4.0, let's aim for 4.1.
This reverts commits:
* d0b72429a93e54f1f956b4aedfc25c57dc7001aa
Add support for signed and unsigned LEB128 to pack/unpa... - 07:18 AM Revision 49f9c9bf (git): Box: [DOC] Uodate the name from Namespace
-
06:44 AM Feature #21785: Add signed and unsigned LEB128 support to pack / unpack
- It is too late to introduce it in Ruby 4.0, let's aim for 4.1.
Matz. -
05:54 AM Revision 02911235 (git): fix for a test case that depends on rbuf size
-
05:54 AM Revision 43b67356 (git): remove obsolete workaround
- This appears to be a workaround for Windows XP behavior. It is unnecessary now.
-
02:38 AM Revision df685350 (git): [DOC] Improve docs for Signal.trap
-
02:36 AM Revision b7d4d7c9 (git): [DOC] Harmonize several <=> methods
-
02:27 AM Revision bb0637a9 (git): ZJIT: [DOC] Fix link to in-repo file. Mention GNU Make requirement
-
02:08 AM Bug #21716 (Feedback): YJIT panic: "all PendingBranchRefs should be unique" in net/http response reading (infinite unwind loop)
- Unfortunately, with the information available, there is not much we can do on our end.
The PendingBranchRefs in question are transient reference counted objects in YJIT. They have clear
release points that should have been reached be...
12/19/2025
-
10:14 PM Revision 8274c5e1 (git): [ruby/mmtk] Extract max object size to MMTK_MAX_OBJ_SIZE
- https://github.com/ruby/mmtk/commit/ed9036c295
-
10:13 PM Revision ed0fae5b (git): [ruby/mmtk] Extract heap count to MMTK_HEAP_COUNT macro
- https://github.com/ruby/mmtk/commit/4e789e118b
-
10:09 PM Revision 42c4df9a (git): [DOC] Harmonize String#<=>
-
10:09 PM Revision d540903e (git): [DOC] Harmonize <= methods
-
08:06 PM Revision d9c0d4c7 (git): Don't copy invalidated CME in rb_vm_cc_table_dup
- The cc_entries list associated with the invalidated CME can be deleted
from the table during GC, so it isn't safe to copy (and we shouldn't
copy it anyways, it's stale data). -
07:57 PM Feature #21796: unpack variant that returns the final offset
- > Why a new parameter?
because I misread the ticket, I didn't notice the `o`.
I do think `^` for offset is pure genius though. -
05:22 PM Feature #21796: unpack variant that returns the final offset
- I really like this idea. @jhawthorn suggested `^` instead of `o` though, and I really like it.
```ruby
bytes = "\x01\x02\x03"
offset = 0
leb128_value1, offset = bytes.unpack("R^", offset: offset) #=> 1
leb128_value2, offset = byt... -
08:10 AM Feature #21796: unpack variant that returns the final offset
- It would be useful indeed, but I'm not sure a new method is the best way?
I think the simplest would be a new keyword parameter:
```ruby
offset, *values = bytes.unpack("Ro", offset: offset, return_offset:true)
```
Another poss... -
03:56 AM Feature #21796 (Open): unpack variant that returns the final offset
- mame (Yusuke Endoh) wrote in [#note-4](https://bugs.ruby-lang.org/issues/21785#note-4):
> It's a shame `unpack` doesn't tell you how many bytes it read. You'd probably want a `unpack` variant that returns the final offset too, or a spec... -
07:04 PM Bug #21266: YJIT GC safety crash with proc objects as block argument
- Backport PR for 3.3: https://github.com/ruby/ruby/pull/15657
-
06:49 PM Revision 04e90fe2 (git): skip TestFiberScheduler#test_io_write_on_flush because it makes GC.stat test fragile
-
05:32 PM Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
- > > I don't think the installation script works with no extensions because it loads rubygems that require monitor
> ...
Ah, I see, is this because logger relies on monitor, and logger is no longer part of the stdlib (it is a bundled gem... -
05:16 PM Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
- > I don't think the installation script works with no extensions because it loads rubygems that require monitor
@nobu Is this something that changed since Ruby 3.4? `rake-compiler` has been using the `--with-ext=` (empty) option since... -
12:54 AM Bug #21792: 4.0.0-preview3: Build fails with `--with-ext=` when ENABLE_SHARED=yes: ruby/digest.h not found for rubyspec CAPI extensions
- I don't think the installation script works with no extensions because it loads rubygems that require `monitor`.
- 12:58 PM Revision 8c7e6f24 (git): Update bundled gems list as of 2025-12-19
-
11:02 AM Revision e23a918a (git): Update NEWS.md for Fiber Scheduler (#15629)
-
10:58 AM Revision 9ee2243b (git): Fiber scheduler: invoke `#io_write` hook on IO flush (#15609)
- Previously, calling IO#flush or closing an IO with unflushed buffered
writes would just invoke `#blocking_operation_wait` and flush the write
buffer using a `write` syscall. This change adds flushing through the
fiber scheduler by invoki... -
10:49 AM Bug #21794 (Closed): O_CLOEXEC is not available on Solaris 10
- Applied in changeset commit:git|dd2f7d6ae6ab53bea7a179338378e1d32c306747.
----------
[Bug #21794] Fix for platforms where O_CLOEXEC is not available -
10:44 AM Bug #21794: O_CLOEXEC is not available on Solaris 10
- Yes, with the patch, it is successfully compiled without errors, and make test-all completed without any additional errors/failures.
-
06:33 AM Bug #21794: O_CLOEXEC is not available on Solaris 10
- Can [GH-15650](https://github.com/ruby/ruby/pull/15650) fix it?
-
10:48 AM Revision dd2f7d6a (git): [Bug #21794] Fix for platforms where O_CLOEXEC is not available
-
10:20 AM Bug #21696: Performance degradation for long running processes in Ruby 4.0.0-preview2
- @luke-gru FWIW 4.0.0-preview3 performs normally.
-
09:52 AM Feature #21795: Methods for retrieving ASTs
- I anticipated that we would consider this eventually, but incorporating it into the core presents significant challenges.
Here are two major issues regarding feasibility.
(Based on chats with @ko1, @tompng, and @yui-knk, though the... -
02:09 AM Feature #21795 (Open): Methods for retrieving ASTs
- I would like to propose a handful of methods for retrieving ASTs from various objects that correspond to locations in code. This includes:
* Proc#ast
* Method#ast
* UnboundMethod#ast
* Thread::Backtrace::Location#ast
* TracePoint#... -
09:13 AM Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
- It'd be nice if `RUBY_MAX_CPU` would be autoconfigured based on this, just like Go 1.25 `GOMAXPROCS`.
Its default value is currently fixed to 8, but not many cloud containers have 8 cores worth of processors.
https://github.com/ruby/... -
08:38 AM Feature #21797: Make Etc.nprocessors cgroup-aware on Linux
- RubyGems 4.0.x support -j option for building C extension gem. But It causes in container environment like Circle CI.
https://github.com/ruby/rubygems/issues/9170
If cgroup provides the correct number of CPU for Cicle CI or others... -
08:12 AM Feature #21797 (Open): Make Etc.nprocessors cgroup-aware on Linux
- Currently, `Etc.nprocessors` ignores cgroup CPU quotas. This causes issues in containers where CPU limits differ from the host CPU count.
I have written a gem for this purpose (https://github.com/moznion/maxprocs-ruby), but it would be ... -
08:47 AM Feature #21767: Consider procs which `self` is Ractor-shareable as Ractor shareable
- @eregon I'm not sure I fully understand your point, but conceptually your code should raise an `Ractor::IsolationError` by accessing a unshareable, mutable variable `a`. My proposal's intent was to preserve `self` while making the proc s...
-
08:16 AM Revision f0472f2d (git): [Feature #21785] [DOC] LEB128 support
-
08:15 AM Feature #21791: Implement Set#compact/Set#compact!, these should return Set instead of Array
- Since `Set#delete` is O(1) performance and return self, why not just:
```ruby
>> Set[1, 2, nil, 3].delete(nil)
=> Set[1, 2, 3]
``` -
07:36 AM Revision 7b19f1a1 (git): Skip RBS Ractor test on Windows
- It seems hunging up.
-
06:55 AM Revision 8efaf5e6 (git): Adjust Stdlib section with 4.0.0 and added reference of RubyGems release notes.
- 06:44 AM Revision 47244b0f (git): Fix: Specifying 0 should cause an immediate timeout (#15641)
- This change fixes a bug in which specifying 0 for timeout-related options (such as the `timeout` option of `Addrinfo.getaddrinfo`) incorrectly results in an infinite wait.
(This change overwrites https://github.com/ruby/ruby/pull/15626 .) -
05:39 AM Revision f81c62be (git): Terminate `args_tail_basic` rule with a semicolon
- Semicolon is optional however it clarifies the end of the rule.
-
04:36 AM Revision 6f6ea70d (git): Just passing FDs does not need to create IO objects
-
04:36 AM Revision bfba65d8 (git): Extract `Test::JobServer` module
- A placeholder to handle GNU make jobserver option.
spec/default.mspec didn't handle the jobserver using a FIFO. - 03:12 AM Revision 42d66b89 (git): Fix: Do not check open_timeout twice (#15626)
-
02:58 AM Revision 305f0421 (git): NEWS.md: Sort items in alphabetical order
- 02:44 AM Revision b90d3a6b (git): Update bundled gems list as of 2025-12-19
-
02:43 AM Revision 81ad4074 (git): Fix rbs test failure caused by minitest-6 (#15643)
- * Fix rbs test failure caused by minitest6
* Bundle minitest-6.0.0 -
01:57 AM Revision 68a900e3 (git): add news for pack / unpack directives
- 12:59 AM Revision fec5363b (git): Update default gems list at 5c0c0dd8737c8225f0ebcf0eaf3fb8 [ci skip]
-
12:58 AM Revision 5c0c0dd8 (git): [ruby/prism] Bump to v1.7.0
- https://github.com/ruby/prism/commit/21c499d6e4
-
12:58 AM Revision e2c886dd (git): [ruby/prism] Reject `p(p a, &block => value)` and similar
- Redo of https://github.com/ruby/prism/pull/3669 with more tests
https://github.com/ruby/prism/commit/48b403ea79 -
12:58 AM Revision 76248400 (git): [ruby/prism] Add Ruby 4.1 as a version specifier
- https://github.com/ruby/prism/commit/138db9ccc4
-
12:58 AM Revision d9b03c93 (git): [ruby/prism] Fix assertions in location_test.rb
- * assert_raise's 2nd argument is the failure message,
shown when the expected exception is not raised.
It's not the expected message.
See https://github.com/test-unit/test-unit/issues/347
https://github.com/ruby/prism/commit/e3df9... -
12:47 AM Revision 0c4fcdff (git): Update ArgumentError message for Ractor.select
-
12:21 AM Revision b14f2f01 (git): [DOC] Harmonize lt methods
-
12:00 AM Revision 084b916a (git): [DOC] Update NEWS for implementation improvements
-
12:00 AM Revision 805f53a9 (git): [DOC] Various improvements to NEWS