https://github.com/basecamp/kamal
Kamalのbootstrap処理において、非rootユーザーが自動的にdockerグループに追加されるようになりました。グループ変更時のSSHセッション終了をIOErrorとして捕捉し、手動設定なしでDocker操作を可能にしています。
KamalのERBテンプレート処理に`trim_mode: "-"`が追加され、条件分岐を含む設定ファイルで不要な空行が挿入される問題が解消されました。`-%>`を使用することで、YAMLの構造を保ちながら空行を制御できるようになります。
Fish Shell環境でDockerコマンドの `$` 記号が変数として解釈される問題を、フィルタ名をシングルクォートで囲むことで解決。Bash/Zshとの互換性を維持しながら、シェル非依存の動作を実現しました。
`pre-connect`フックでsecretsが利用可能になり、接続前処理でAPIキーや認証情報を安全に参照できるようになりました。これにより、Kamalの4つの主要フックすべてでsecretsが一貫して利用可能になります。
Kamalのエイリアス定義内で `-d` オプションによる destination 指定が可能になりました。設定ファイルの部分的な読み込みを先行させることで、エイリアスと destination の依存関係を解消し、環境ごとのデプロイコマンドをエイリアスとして定義できるようになります。
kamal upgradeでwith_specific_hosts使用後にロック解除が失敗する問題を修正。specific_hostsとspecific_rolesにnilを渡した際、インスタンス変数が適切にクリアされるよう、条件式を代入式に組み込む方式に変更しました。
Kamal が依存する kamal-proxy の最小要求バージョンを v0.9.0 から v0.9.2 に更新。MINIMUM_VERSION 定数の変更により、Docker run コマンドで使用されるイメージタグが統一的に更新されます。
KamalがSSH接続時に設定ファイル(~/.ssh/configなど)を参照できるようになりました。単一/複数のファイル指定、明示的な有効化/無効化に対応し、`kamal app logs`などのコマンド実行時にSSH設定を活用できます。
Kamalの`--skip-hooks`オプションが`pre-connect`フックに適用されない問題を修正。`run_hook`呼び出しに`unless options[:skip_hooks]`のガード条件を追加し、すべてのフックが一貫してスキップされるようになりました。
Kamalのaccessory exec実行時、新規コンテナ起動時に設定されたDockerオプション(CPU制限、メモリ制限など)が適用されていなかった問題を修正。既存コンテナとの実行環境の一貫性を確保。
nftables環境でのDocker統合テスト失敗を解決。テストコンテナの起動スクリプトにiptables-legacyへの切り替え処理を追加し、コンテナ内からのnetfilterルール作成を可能にしました。
Kamalのフック実行時の出力制御機能が追加されました。グローバル設定またはフック単位で`:verbose`(全出力表示)、`:quiet`(出力非表示)を指定可能になり、デプロイログをより柔軟に管理できるようになりました。CLIフラグは設定ファイルより優先されます。