定期リリース予定の日だったので RubGems/Bundler 4.0.13 のリリース
https://blog.rubygems.org/2026/06/03/4.0.13-released.html
ここ数回はコンフリクトがあってもまあまあリリースできるようになってきたので、事前に素振りをして発生するコンフリクトと直し方の目処をつけて claude に解決させる、って感じでナレッジを積めば失敗することは無くなってきた、気がする。
しかし、それでも man の生成でバージョン違いで差分が出てやり直し、みたいなこともあり本当にだるいので徹底的に潰していかないとなあ。
4.0.13 には1-2ヶ月開発をしていた cooldown オプションを新規機能として追加した。
https://blog.rubygems.org/2026/06/03/cooldown-let-new-gems-be-vetted.html
最初は全く新しい機能なので 4.0.x ではなく 4.1.0 にするかなあなど考えていたけど、じゃあ出した後に 4.0.x のメンテはどうするの、とか 4.1.0 にしたら 4.0.x からのバージョンアップの心理障壁上がらないか?などを考えた結果「気軽に使ってもらいたいので 4.0.13 でいいや」となった。
細かい使い方などはリリースエントリの方を見て貰えば良くて、書いてないこととしてはエッジケースがめちゃくちゃあって、その都度 claude と壁打ちしながら、「じゃあ仕様としてこうするから」「それは債務を超えているので無視」などひたすら決めることをしていてなかなかに疲れた。日によっては1日8時間、ずっと日本語を書いてリサーチして仕様を決めてた日もあると思う。
例えば以下のようなケースで決めが必要となる。
自分の中では上記のようなケースで「こっちにします」という判断軸はあるので、聞きたいという人がいればどっかで話す、かもしれない。しかし、今回は自分で書いたコードはほぼ0で、claude にずーっと日本語だけを話しかけて作った。AI coding 最高である。
cooldown が最高の解決策、とは全く思わないけど cooldown 3 くらいで設定しておけば、ほとんどのケースで平和になると思うので、気になる人は設定しておくといいと思います。ご活用ください。
ちょっと前に Guest ユーザーの issue 表示を redis の cache にしたり、csv ダウンロードを全ユーザーで拒否したりと負荷の対策をしてちょっとは落ち着いたかなという bugs.ruby-lang.org がまた重くなってきたので、重い腰を上げて再び調査。
heroku の log を claude に分析させたり、datadog の画面を渡すのに色々だるくなってきたのでセッション付きの chrome を操作していいから調べろ、みたいな雑なことをやらせているうちにだいぶ広範囲の IP からローテートしつつ issues のクエリパラメータほぼ全てを色んな組み合わせで GET してる、ってことがわかった。
こうなるとキャッシュを入れていても、あらゆる組み合わせごとに 1 度はリクエストが走る、という最悪な感じなので Guest ユーザーは検索禁止!ってくらいに大袈裟に拒否するようにした。
https://github.com/ruby/b.r-l.o/commit/d7f9a4d433dc27f88ef44da1e91f3d281b02e81e
この結果、だいぶ負荷が落ち着いてきたような気がするのでこれでまた様子見。本当にボットなのかクローラーなのか酷い。
今週は Matz が来なかったので soutaro さんを捕まえて ko1 さんと2-3人で rbs について色々聞いていた。gem の sig 置き場としては sig ディレクトリでいいみたいだけど、sig のテスト置き場、は sig_test でもなく test/sig かなあって感じなのは発見だった。
bundle gem に入れるかどうかはちょっとまで知識が足りてないので保留だけど、この手の決めればいいで終わる話は決めてしまいたい。
引き続き積んである芸術新潮の消化。東博 vs 国立西洋という企画でテーマごとに作品を出してあれこれ言い合うという特集で面白かった。ただ国立西洋の方がマニアックというかやや旗色が悪い、って感じの流れではあった。
nobu が10年級で deprecated warning を出しているクラスやメソッドなどをエイっと消したのに伴って、CI では触れなかった gem が手元で軒並みビルドできなくなっているので調べた。
https://bugs.ruby-lang.org/issues/21768
最新バージョンだとビルドできるが、最新じゃ無いとビルドできない gem
byebug 13.0.0
cool.io 1.9.4
gpgme 2.0.26
redcarpet 3.6.1
nio4r 2.7.5
msgpack 1.8.1
puma 8.0.2
oj 3.17.1
ox 2.14.26
libxml-ruby 6.0.0
unf_ext 0.0.9.1
commonmarker 2.8.2
gherkin 9.0.0
最新バージョンでも直ってなくて、GitHub などの HEAD だと直っているかもしれないけど、gem としてリリースされていない gem
amatch https://github.com/flori/amatch
cbor https://github.com/cabo/cbor-ruby
duktape https://github.com/judofyr/duktape.rb
eventmachine https://github.com/eventmachine/eventmachine
http_parser.rb https://github.com/tmm1/http_parser.rb
llhttp https://github.com/bryanp/llhttp
oga https://gitlab.com/yorickpeterse/oga
panko_serializer https://github.com/yosiat/panko_serializer
patron https://github.com/toland/patron
rbtree https://github.com/mame/rbtree
rbtree3 https://github.com/kyrylo/rbtree3
ruby-ll https://gitlab.com/yorickpeterse/ruby-ll
rugged https://github.com/libgit2/rugged
thin https://github.com/macournoyer/thin
timfel-krb5-auth https://github.com/timfel/krb5-auth
yajl-ruby https://github.com/brianmario/yajl-ruby
thin とか eventmachine というのが見えるあたりが「あー、はいはい」って感じではあるけどもし自分が業務で触っているアプリケーションが上のリストの gem を使っているなら、横の url でビルドできないんだけど!と報告したり、直したよ!とか、リリースして!とかアクションを起こすといいと思います。
なお、これが世の中の全部、というわけではなくて、僕が手元で用意している大体著名な Rails アプリケーション、を ruby-dev なバージョンで片っ端からビルドなり bundle install している状態で見つけたものなので、抜けは大量にあります。皆さんも、private なリポジトリでビルドチェックなどをしてもらえるともっと多くの gem がビルドできない、とか見つかる、かもしれません。
すぐ油断すると芸術新潮がたまっていく...。というわけで3-4ヶ月前の3月号を読んだ。春画特集、というのはどこかで美術展でもやってたっけ、というのは記憶になかったけど、解説者の著作が発売するということらしい。
で、この特集、旧仮名な文章になっていて最悪だった。単純に読みにくいだけなので、X やブログで個人が発信するだけならまだしも、商業誌で使われるのは返金してくれよ、というレベルだと思う。星0つです。