先週、langchain-testsが1.1.6になった。リリースノートをざっと読んで、「あ、これ自分のプロジェクトに直接影響あるやつだ」と思ったので整理しておく。
今回のリリースで個人的に気になったのは3点だ。まず`pygments>=2.20.0`への強制アップグレード。これはCVE-2026-4539というセキュリティ脆弱性への対応で、全パッケージ横断で対応されている。自分のrequirements.txtにpygmentsをピン留めしている人は今すぐ確認してほしい。次に`requests 2.32.5 → 2.33.0`のバンプ。地味だけど依存関係の衝突を起こしやすい箇所なので、ロックファイルを持っているプロジェクトは再生成が必要になる。
個人的にいちばん「これは知っておきたかった」と思ったのが、`fix(standard-tests): update standard tests for sandbox backends`の変更だ。LLMをローカルやモックのバックエンドで動かしてテストを書いている人には直撃する内容だった。自分も最近、コスト節約のためにOpenAIのAPIを叩くテストをモックに切り替えていたところだったので、タイミングが良かった。
サンドボックスバックエンド向けのスタンダードテストが更新されたということは、自分が書いたカスタムテストも追従が必要になる可能性がある。具体的には、`BaseChatModelUnitTests`や`BaseChatModelIntegrationTests`を継承しているクラスを持っている人は要チェックだ。
上げた後はそのままテストを走らせてみればいい。エラーが出たところが今回の変更の影響を受けている箇所だ。
`ci: suppress pytest streaming output in CI`という変更も入っている。CIのログがpytestのストリーミング出力で埋まって読みにくかった問題への対応だ。自分もGitHub Actionsでlangchainを使ったテストを走らせているんだけど、ログが汚くて「どこでコケたのか」を探すのが地味にしんどかった。この変更がlangchain本体のCIだけでなく、downstream側にも影響するかどうかはもう少し追わないとわからない。でも方向性としては正しいと思う。
あと`ci: avoid unnecessary dep installs in lint targets`も入っている。lintのたびに不要な依存をインストールしていたのを削ったものだ。CIの実行時間に悩んでいる人は自分のワークフローも見直してみるといいかもしれない。
リリースの性質上、今回は機能追加より保守・品質系の変更がメインだった。でもこういうリリースこそ、気づかずに放置すると後でじわじわ効いてくる。特にpygmentsのCVE対応は「まあいいや」で後回しにするやつじゃない。
自分は今週中にlangchain-testsを1.1.6に上げて、既存のスタンダードテストが通るかどうか確認するつもりだ。ロックファイルの再生成も忘れずにやっておく。
今回のリリースで個人的に気になったのは3点だ。まず`pygments>=2.20.0`への強制アップグレード。これはCVE-2026-4539というセキュリティ脆弱性への対応で、全パッケージ横断で対応されている。自分のrequirements.txtにpygmentsをピン留めしている人は今すぐ確認してほしい。次に`requests 2.32.5 → 2.33.0`のバンプ。地味だけど依存関係の衝突を起こしやすい箇所なので、ロックファイルを持っているプロジェクトは再生成が必要になる。
サンドボックスバックエンドのテスト修正が地味に大きい
個人的にいちばん「これは知っておきたかった」と思ったのが、`fix(standard-tests): update standard tests for sandbox backends`の変更だ。LLMをローカルやモックのバックエンドで動かしてテストを書いている人には直撃する内容だった。自分も最近、コスト節約のためにOpenAIのAPIを叩くテストをモックに切り替えていたところだったので、タイミングが良かった。
サンドボックスバックエンド向けのスタンダードテストが更新されたということは、自分が書いたカスタムテストも追従が必要になる可能性がある。具体的には、`BaseChatModelUnitTests`や`BaseChatModelIntegrationTests`を継承しているクラスを持っている人は要チェックだ。
# langchain-testsのバージョンを確認する
pip show langchain-tests
# 1.1.6に上げる
pip install langchain-tests==1.1.6上げた後はそのままテストを走らせてみればいい。エラーが出たところが今回の変更の影響を受けている箇所だ。
CI周りの変更は地味に助かる
`ci: suppress pytest streaming output in CI`という変更も入っている。CIのログがpytestのストリーミング出力で埋まって読みにくかった問題への対応だ。自分もGitHub Actionsでlangchainを使ったテストを走らせているんだけど、ログが汚くて「どこでコケたのか」を探すのが地味にしんどかった。この変更がlangchain本体のCIだけでなく、downstream側にも影響するかどうかはもう少し追わないとわからない。でも方向性としては正しいと思う。
あと`ci: avoid unnecessary dep installs in lint targets`も入っている。lintのたびに不要な依存をインストールしていたのを削ったものだ。CIの実行時間に悩んでいる人は自分のワークフローも見直してみるといいかもしれない。
リリースの性質上、今回は機能追加より保守・品質系の変更がメインだった。でもこういうリリースこそ、気づかずに放置すると後でじわじわ効いてくる。特にpygmentsのCVE対応は「まあいいや」で後回しにするやつじゃない。
自分は今週中にlangchain-testsを1.1.6に上げて、既存のスタンダードテストが通るかどうか確認するつもりだ。ロックファイルの再生成も忘れずにやっておく。