📌

Catch-up! 週刊 GitHub updates(2024年2月12-18日)

に公開

GitHub Changelog for Feb 12 - 18, 2024

こんにちは、@dz_ こと、岩永かづみです。

先週のGitHub Changelog週刊キャッチアップをお届けします。

VS CodeにおけるCopilot Chatのアップデート January 2024 (version 0.12)

https://github.blog/changelog/2024-02-12-vs-code-copilot-chat-january-2024-version-0-12

Visual Studio Code 1.86におけるGitHub Copilot拡張機能(バージョン 0.12)の更新をお知らせします。より能率的で対話によるコーディング体験をお届けします。よりCopilotにコンテキストを伝えやすくなる新しいコンテキスト変数や、音声入力の拡張など、Copilotとの対話を改善するよう設計された更新です。

コンテキスト変数

チャットで#シンボルを使って、あなたの質問にさらにコンテキストを追加するためにコンテキスト変数を使えます。新しいコンテキスト変数である#file#editorを紹介します。

#file変数は、ワークスペース内の特定のファイルをチャット プロンプトで参照させられます。これは、あなたが作業しているファイルに関するコンテキストを与えることにより、Copilot Chatがそのコードにより関連性の高い回答ができるように助けます。"Can you suggest improvements to #file:package.json?"や"How do I add an extension in #file:devcontainer.json?"というように質問できます。#file変数を使うこと位より、より対象を絞った正確な返答をCopilotから得られるでしょう。

#editorコンテキスト変数は、Copilot Chatのプロンプトに作業中のエディタに表示されているコードの範囲を与えるために利用できます。以前は、この情報は、何も選択していない状態であれば自動的に挿入されていましたが、今回の更新で、表示しているコードについて話したいのか、一般的な質問をしたいのか明示的に指示できるようになります。

#selectionコンテキスト変数はすでに使えるようになっており、エディタ内で選択した特定のコードにCopilotによる候補の対象を絞れます。これらの#file#editor#selection変数を組み合わせることにより、Copilot Chatへ与えるコンテキストを完全に制御でき、より関連性が高く役に立つ回答を得られます。

インライン チャット

Copilotのインライン チャットの体験をより生産的にするため、Copilot Code Actionsの追加やliveモードを更新しました。

コードを書いているとき、エディタの特定の行にあるCopilot Actions(電球アイコン)からCopilotを起動できます。この機能により直接対象を絞ってCopilotにアクセスできます。対象のコードにエラーがある場合、 sparkle アイコンのCode Actionが利用でき、エラーの説明や修正の提案をCopilotに行わせられます。

インライン チャットのliveモードの更新については、エディタ上で提案されたコードの変更箇所を確認できるようになります。加えて、元のコードと比較するために、インラインの差分エディタを開くこともできます。

責任あるAI

AI、とくにソースコードに関して、責任ある利用に重きを置いています。Copilotにって生成されたコードを保存する前に確認する設定を追加しました。これは、ユーザーがCopilotによって生成されたコードを完全にコントロールでき、保存する前にレビューできることを確実にするためのものです。

その設定はinlineChat.acceptedOrDiscardBeforeSaveで、既定で有効です。この設定が有効の場合、ファイルの保存はユーザーがインライン チャットのセッションを許諾または破棄するまで待たされます。これは、Auto Saveが有効の場合でも同様に、インライン チャットが終了するまで一時的に適用されます。

音声による操作の拡張

より柔軟に、また音声入力の開始の選択肢を与えることにより、音声によるVS Codeにおける音声による操作を拡張しました。

"Hey Code"と音声によるコマンドを使うことで、Copilot Chatの音声入力セッションを開始できます。この音声コマンドでChatビュー、インライン チャット、クイック チャットのどれを開くか選択でき、もしくはフォーカスに基づき動的にも選択できます。

音声コマンドを有効にするには、GitHub Copilot Chat拡張機能VS Code Speech拡張をインストールしてください。インストールすれば、accessibility.voice.keywordActivation設定で音声コマンドを有効化できます。

加えて、"hold to speak"モードを使ってチャットへの音声入力を活用できます。インラインチャットのキーバインドを押し続けると音声の録音が自動的に開始されます。キーを離すとCopilotにリクエストが送信されます。

これらの主要な機能のほか、わくわくする新しいプレビュー機能についてぜひご覧ください。

GitHub Issues & Projects – Projects without Limits Private Beta

https://github.blog/changelog/2024-02-12-github-issues-projects-projects-without-limits-private-beta

GitHub Projectsを発表した当初、プロジェクトを軽快に保ちアクティブなタスクの追跡に集中できるよう、プロジェクトごとのアイテム数を1,200に制限しました。長年の貴重なフィードバックからは、強く明確に、この1,200個の制限は成長中で拡大しているプロジェクトでは十分でないと訴えがありました。そこで、制限なくアイテムを扱えるようProjectsの制限解除をプライベート ベータとして公開します。

この機能はまだ開発途中にもかかわらず、プライベート ベータではテーブル、ボード、ロードマップのすべてのレイアウトでサポートされます。また、slice byやスウィムレーン、モバイルでのサポート、Projects APIやインサイトなどの他の愛すべき機能へのサポートも追って対応するのでご注目ください。

もしあなたがプロジェクトの管理者で、プロジェクトのアイテム数がリミットに迫っていて、サポートされる機能のみを利用しているなら、"This project is nearing the 1,200 item limit. Join the waitlist for the beta to unlock unlimited items for this project."というバナーメッセージが表示されます。「Join waitlist」ボタンを選択して、プライベート ベータのウェイティングリストにご参加ください。利用可能になれば、ベータ版へのアクセス権が付与されます。

質問やフィードバックは、Community Discussionにお寄せください。

GitHub Codespacesの接続に関する更新

https://github.blog/changelog/2024-02-12-enhanced-codespaces-connection

次の記事にて個別に和訳しました。

https://zenn.dev/dzeyelid/articles/77dd970edbd8c8

Secret scanningのwebhookでvalidity checksがサポートされた

https://github.blog/changelog/2024-02-12-secret-scanning-adds-webhook-support-for-validity-checks

Secret scanningアラートに関するアクティビティが発生したときに送信されるsecret_scanning_alertのwebhookにおいて、validity checkがサポートされました。これにより、正常性の状態の変化を追跡し続けられます。

secret_scanning_alertwebhookの変更点は以下の通り。

  • 新しくvalidityプロパティが追加された。直近の正常性チェックに基づき、activeinactiveunknownの値をとる
  • アクション型に新しくvalidatedが追加された。シークレットの正常性の状態が変化したときに発火する

留意点: この機能を利用するには、リポジトリレベルまたはorganizationレベルでvalidity checksの機能を有効にする必要があります。Settingsの「Code security and analysis」にあるsecret scanningの設定で、「automatically verify if a secret is valid by sending it to the relevant partner.」オプションを選択してください。

詳しくはサポートされるシークレットタイプsecret scanning webhookをご参照ください。

DDependabotがpubのプライベートリポジトリとレジストリをサポート

https://github.blog/changelog/2024-02-13-dependabot-support-for-pub-private-repositories-and-registries

Dartの依存関係を管理するために、プライベートにホストされているpub(DartとFlutterのためのパッケージリポジトリ)のリポジトリやレジストリを利用している場合、Dependabotは自動的のその依存関係を更新できるようになりました。dependabot.ymlにそのプライベートリポジトリまたはレジストリについて記載することにより、Dependabotはそれらにアクセスできるようになります。

詳細は下記をご参照ください。

廃止のお知らせ: GitHub Actionsのartifactアクションのv1とv2

https://github.blog/changelog/2024-02-13-deprecation-notice-v1-and-v2-of-the-artifact-actions

2023年12月14日に、GitHub Actionsでは、artifactsのアップロード/ダウンロードを行うアクションのv4をリリースしました。このバージョンは、長年顧客から要望を寄せられていたアップロード/ダウンロードのスピードを98%まで改善し、GitHub Actionsのartifactsの将来像を表すことになりました。

v4の導入により、actions/upload-artifactおよびactions/download-artifactアクション、および関連するnpmパッケージのv1とv2は2024年6月30日に廃止します。これに伴い、みなさまのワークフローでartifactアクションをお使いの場合は、v4にアップグレードすることを強く推奨します。

GitHub Connectを利用している環境における問題を回避するために、当該リポジトリのv1からv2までのタグは削除しません。しかし、廃止日以降に古いバージョンを利用しようとするとワークフローは失敗するでしょう。なお、この廃止は、GitHub Enterprise Serverのどのバージョンにおいても影響しません。

このお知らせは、actions/upload-artifactactions/download-artifactにも記載されます。詳細は、ワークフロー データを成果物として保存するをご覧ください。

Repository Custom PropertiesのGAと、Rulesetの改善

https://github.blog/changelog/2024-02-14-repository-custom-properties-ga-and-ruleset-improvements

Repository Custom PropertiesのGeneral available(GA、一般公開)をお知らせします。GitHub organizationをまたがってリポジトリを分類して管理するのに有用な機能です。

Propertiesは自在に意味のあるメタデータをリポジトリに付与できるもので、リポジトリの分類が簡単にできるようになり、検索性を向上し、ルールセットとシームレスに統合できます。

利用のシナリオを紹介しているJon Peckさんのビデオをぜひチェックしてみたください。

https://youtu.be/z0CYdcqZxyQ?si=gvGf2mpRaCtcmtFh

organizationのリポジトリ一覧の新しいUIをpublic betaで公開しました

本日(2024年2月14日)から、organizationにおけるリポジトリ一覧の新しいUIをpublic betaで公開します。

リポジトリ ルールセットの改善

リポジトリ ルールで、Dependabotをバイパスとして追加できるようになりました。これにより、Dependabotが保護対象のブランチに変更をマージできるようになります。

詳しくは、組織内リポジトリのカスタム プロパティの管理組織内のリポジトリのルールセットを管理するをご覧ください。

フィードバックはこちらのdiscussionsにお願いします。

Secret scanning’s push protection will soon be enabled for all free accounts on GitHub

https://github.blog/changelog/2024-02-14-secret-scannings-push-protection-will-soon-be-enabled-for-all-free-accounts-on-github

GitHubの無料アカウントをお使いの皆さまは、昨年8月からscret scanningのプッシュ保護(push protection)をユーザーレベルで有効にできます。これは、リポジトリ側でsecret scanningが有効であるかどうかにかかわらず、パブリックリポジトリに誤ってシークレットをコミットしてしまうことを防いでくれます。2月27には、この機能が全ての無料アカウントをお使いの皆さまにおいて自動的に有効になります。

もしパブリックリポジトリに対するプッシュの中でシークレットが検知されたら、あなたのプッシュはブロックされます。コミットからシークレットを削除するか、シークレットが安全であると判断できるのであれば、ブロックを回避する選択ができます。

今は、この機能を有効にするにはuser settingsで設定しますが、2月27日以降は自動的に有効になるので、必要に応じて無効化できます。ただし、push protectionを無効化することは、シークレットの予期せぬ漏洩を引き起こすリスクがあることをご留意ください。

詳しくは下記をご参照ください。

フィードバックはGitHub Communityでお待ちしています。

The GitHub Enterprise Server 3.12 Release Candidate is available

https://github.blog/changelog/2024-02-15-the-github-enterprise-server-3-12-release-candidate-is-available

GitHub Enterprise Server 3.12では、deploymentにおいてより細かな制御ができるようになり、セキュリティ制御が強化されます。

詳しくは、下記をご覧ください。

フィードバックや質問は、サポートチームにお問い合わせください。

Discussion