Catch-up! 週刊 GitHub updates(2024年6月10日-16日)
GitHub Changelog for June 10 - 16, 2024
こんにちは、@dz_ こと、大平かづみです。
GitHub Changelogの週刊キャッチアップをお届けします。
CodeQL 2.17.4: 拡張クエリに対するAutofix、C++のプルリクエストスキャンの高速化
CodeQLのバージョン2.17.4がリリースされました。GitHub.comのユーザーに対して順次展開されます。
CodeQL 2.17.2
、2.17.3
および2.17.4
のリリースのうち重要な更新は以下の通り。
- Copilotにより強化されたautofixが、サポートされる言語(JS/TS、Go、Java、C#、Ruby、Python)の拡張クエリ スイートの一部で利用可能に
- 全てのローカルクエリの形式がJavaから削除された。同様の処理はローカル 脅威モデルを利用して対応できる
- プルリクエストにおけるC++の解析に対するキャッシュにより、スキャン時間が中央値で12%改善された
- C/C++のZeroMQ(ZMQ)ライブラリや、Python pyramidフレームワークおよびgradioパッケージに対するサポートが追加された
- 新しいクエリ
cpp/iterator-to-expired-container
が追加され、破棄されようとしている一時的なオブジェクトによって所有されるイテレーターの生成が検出できるように -
py/header-injection
クエリがメインのクエリパックに含まれるようになり、py/http-response-splitting
に名前変更された
それぞれのリリースの詳細は、changelogをご参照ください。
新しい機能は、GitHub Enterprise Server(GHES) 3.14にも含まれる予定で、GHES 3.13以前をご利用の方はCodeQLのバージョンをアップグレードしてご利用ください。
マニフェストファイルでバージョンを範囲指定している場合、生成されたSBOMファイルにパッケージURLが含まれるように
このリリースまでは、マニフェストファイルでパッケージのバージョンの範囲を指定している(例 version < 3
)場合、GitHubがパッケージに対して生成したSBOMにはパッケージURL(purl)が含まれていませんでした。GitHubはSBOMの生成を改善し、マニフェストファイルにおいてパッケージの範囲を指定している場合、仕様における省略可能な要素であるversion
ではなく、purlを含むようにしました。これにより、以前に生成されたSBOMより完璧なデータを得られ、利用者は彼らのリポジトリで利用しているパッケージをより明確に識別できるようになります。
リポジトリに関するアップデート(2024年6月12日)
カスタム プロパティの強化やpublic betaで公開されたpush ruleへの更新についてご紹介します。
カスタム プロパティのアップデート
新しいプロパティ型
-
Multi select
により、リポジトリは、定義されたプロパティに対して1つ以上の値を持てるようになる。例えば、リポジトリはコンプライアンス要件を定義したプロパティを持つことができ、今プロパティはFedRampとSOC2の値を持つ -
True/False
により、リポジトリに対して、trueまたはfalseのプロパティを与えられる
リポジトリの可視性などによる選択
加えて、作成したカスタムプロパティによってリポジトリを選択するにあたり、以下の項目で洗濯できるようになりました。
-
Visibility
: public、privateまたはinternal -
Fork
: true、false -
Language
: プライマリのリポジトリを構成する言語
詳しくは、カスタム プロパティのドキュメントをご参照ください。
フィードバックはGitHub Communityにてお寄せください。
バイパスを委譲するPush ruleがpublic beta公開
public beta公開されたpush ruleをさらに拡張し、新しいバイパスの委譲フローをリリースします。
以前は、push ruleをバイパスするには、制限された変更内容をプッシュするためにバイパスリストに加えねばなりませんでした。今回、バイパスの委譲により、コントリビューターはpush ruleをバイパスするために申請できるようになり、バイパスリストのメンバーはそのバイパスリクエストをレビューして変更内容を許可または拒否できるようになりました。
push ruleのバイパスの委譲についての鍾愛は、リポジトリ ルールのドキュメントをご参照ください。フィードバックは、GitHub Communityにてお寄せ下さい。
Visual StudioにおけるCopilot Enterpriseの新しい機能(preview)
Visual Studioをお使いでGitHub Copilot Enterpriseを契約されている方は、Copilot Chatを利用して、リポジトリ全体からのコンテキストやBingサーチの結果をもって強化された回答を得られるようになりました(開かれたタブからだけでなく!)。
この機能を利用するには、Visual Studio 17.11 Preview 2をインストールし、ドキュメントのIDE での GitHub Copilot チャットについて - Visual Studioをご参照ください。
コードベース全体を横断しての回答を得る
Copilot Chatは、開いたタブだけでなく、リポジトリ全体を理解して質問に答えらえるようになりました。GitHub.com上のリポジトリでインデックスを構成し、@github
をメンションして質問します。例えば、@github Where is device detection implemented?
のように質問できます。
ウェブのコンテキストを検索する
GitHub Copilotは、Bingで検索できるようになり、一般的な知識やコードベース以外の情報を探せるようになりました。@github
をメンションすると、Copilotは賢くBingを利用するか判断します。例えば、@github What are the breaking changes in Next.js v14?
のように質問できます。
Bingサーチは管理者によって有効化されている場合に利用できます。詳しくは、GitHub Copilot Enterprise 機能の有効化をご参照ください。
VS CodeにおけるCopilot Enterpriseの新しい機能(preview)
VS Codeをお使いでGitHub Copilot Enterpriseを契約されている方は、Copilot Chatを利用して、CopilotナレッジベースやBingサーチの結果をもって強化された回答を得られるようになりました。
利用するには、利用しているGitHub Copilot Chat extension for VS Codeが最新版であることを確認し、ドキュメントのIDE での GitHub Copilot チャットについてをご参照ください。
Copilotナレッジベースにアクセスする
VS CodeにおけるCopilot Chatとの会話で、@github #kb
と入力して、リストからナレッジベースを選択してから質問することで、ナレッジベースにアクセスできるようになりました。
Copilotは、回答のためにナレッジベースのMarkdownドキュメントをコンテキストとして利用し、返答します。これにより、Copilot Enterpriseの利用者は、#file
や#selection
のような既存のチャット変数を用いて、検索結果と内部のドキュメントをエディタのコンテキストと組み合わせられます。
ウェブのコンテキストを検索する
GitHub CopilotはVS Codeのチャットの会話の中でBingで検索できるようになり、一般的な知識やコードベース以外の情報を探して、質問に回答できるようになりました。
Bingサーチによる結果により強化された回答を得るには、@github
を使ってメッセージを送ります。Copilotは賢くBingを利用するか判断します。もしくは、#web
をクエリに追加して検索を起動できます。例えば、@github What is the latest LTS version of Node.js?
のように質問できます。
Bingサーチは管理者によって有効化されている場合に利用できます。詳しくは、GitHub Copilot Enterprise 機能の有効化をご参照ください。
Discussion