https://github.com/puma/puma
Pumaに `single` と `cluster` 設定フックが追加され、実行モードに応じた条件分岐が可能になりました。フォーク非対応のJVMなどのライブラリ初期化を、単一の設定ファイル内でモード別に記述できます。
client.rbとrequest.rbに分散していたリクエストのenv処理コードをclient_env.rbに集約。ClientEnvモジュールとして切り出すことで、リクエスト検証ロジックを一箇所にまとめ、コードの責務を明確化しました。
pumactlテスト用に設定ファイルベースのヘルパーメソッド `set_pumactl_config` を追加し、バインディングとコントロール用のポート・パス変数の命名を統一。Windows環境でのサーバー停止処理の制約も明示的にエラー化されました。
テストにおける環境変数の保存・復元パターンを `with_temp_env` ヘルパーに集約。`temp_env` と `del_env` の2つのパラメータで「値の一時変更」と「キーの一時追加」に対応し、コードの重複を解消。
Pumaに、サーバー稼働中にスレッド数の最小値・最大値を動的に変更できる新しいAPIが追加されました。既存のスレッド管理ロジックを活用し、最小限の変更で動的調整機能の基盤を提供しています。