diff --git a/content/copilot/reference/copilot-feature-matrix.md b/content/copilot/reference/copilot-feature-matrix.md index 3b0518701432..70d5d60e84f7 100644 --- a/content/copilot/reference/copilot-feature-matrix.md +++ b/content/copilot/reference/copilot-feature-matrix.md @@ -15,12 +15,23 @@ contentType: reference **Key:** -* ✓ = supported -* ✗ = not supported -* P = under preview -* C = closing down +{% for level in tables.copilot.matrix-meta.supportLevels %} +* {{ level.symbol }} = {{ level.label }} +{%- endfor %} +{%- assign anyNotApplicable = false %} +{%- for ideKey in tables.copilot.matrix-meta.ideOrder %} + {%- assign naList = tables.copilot.matrix[ideKey].notApplicable %} + {%- if naList and naList.size > 0 %}{% assign anyNotApplicable = true %}{% endif %} +{%- endfor %} +{%- if anyNotApplicable %} +* — = does not apply to this IDE +{%- endif %} - +{%- comment %} +Source for the following tables lives in: + data/tables/copilot/matrix-meta.yml shared config: ideOrder, featureOrder, supportLevels + data/tables/copilot/matrix/.yml one file per IDE, owned by that IDE's product owner +{%- endcomment %} {% ides %} @@ -30,31 +41,34 @@ The following table shows supported {% data variables.product.prodname_copilot_s {%- comment %} This loop generates the "Features by IDE" comparison table: -- Outer loop: Iterates through each feature from VS Code's feature list (using VS Code as the canonical source) -- Inner loop: For each feature, iterates through all IDEs to check support in their latest versions - - Gets the latest version using ideEntry[1].versions | first - - Looks up the support level for that feature in that version - - Outputs ✓ (supported), P (preview), or ✗ (not supported) +- Column order comes from matrix-meta.ideOrder +- Row order comes from matrix-meta.featureOrder, so a feature that ships first in an + IDE other than VS Code still appears here +- For each cell, looks up the feature in that IDE's latest version (versions | first) +- A feature listed in an IDE's `notApplicable` renders as — (does not apply), which is + distinct from ✗ (not supported) Example row: | Agent mode | ✓ | ✓ | P | ✗ | ... | {%- endcomment %} +{%- assign matrix = tables.copilot.matrix %} +{%- assign meta = tables.copilot.matrix-meta %} -| Feature{%- for entry in tables.copilot.copilot-matrix.ides %} | {{ entry[0] }}{%- endfor %} | -|:----{%- for entry in tables.copilot.copilot-matrix.ides %}|:----:{%- endfor %}| -{%- for featureEntry in tables.copilot.copilot-matrix.ides["VS Code"].features %} -| {{ featureEntry[0] }}{%- for ideEntry in tables.copilot.copilot-matrix.ides %}{%- assign latestVersion = ideEntry[1].versions | first %}{%- assign supportLevel = ideEntry[1].features[featureEntry[0]][latestVersion] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "preview" %}P{%- when "closing-down" %}C{%- else %}✗{%- endcase -%}{%- endfor %} | +| Feature{%- for ideKey in meta.ideOrder %} | {{ matrix[ideKey].name }}{%- endfor %} | +|:----{%- for ideKey in meta.ideOrder %}|:----:{%- endfor %}| +{%- for feature in meta.featureOrder %} +| {{ feature }}{%- for ideKey in meta.ideOrder %}{%- assign ide = matrix[ideKey] %}{%- assign latestVersion = ide.versions | first %}{%- assign supportLevel = ide.features[feature][latestVersion] %} | {%- if ide.notApplicable contains feature -%}—{%- else -%}{%- case supportLevel -%}{%- when "supported" %}✓{%- when "preview" %}P{%- when "closing-down" %}C{%- else %}✗{%- endcase -%}{%- endif -%}{%- endfor %} | {%- endfor %} {% endides %} {% vscode %} -{% assign ideEntry = tables.copilot.copilot-matrix.ides["VS Code"] %} +{% assign ideEntry = tables.copilot.matrix.vs-code %} ## Features by VS Code version -The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the IDE. +The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% if ideEntry.versionType == "extension" %}{% data variables.copilot.copilot_extension %} for the {% endif %}IDE. -{%- comment %} Use the predefined versionGroups from JSON data {%- endcomment %} +{%- comment %} Use the predefined versionGroups from the IDE's data file {%- endcomment %} {% for groupEntry in ideEntry.versionGroups %} {%- assign groupName = groupEntry[0] %} {%- assign groupVersions = groupEntry[1] %} @@ -66,6 +80,10 @@ The following table shows supported {% data variables.product.prodname_copilot_s {%- for featureEntry in ideEntry.features %} | {{ featureEntry[0] }}{%- for version in groupVersions %}{%- assign supportLevel = featureEntry[1][version] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "preview" %}P{%- when "closing-down" %}C{%- else %}✗{%- endcase -%}{%- endfor %} | {%- endfor %} +{%- comment %} Features that do not apply to this IDE at all, rendered as — not ✗ {%- endcomment %} +{%- for naFeature in ideEntry.notApplicable %} +| {{ naFeature }}{%- for version in groupVersions %} | —{%- endfor %} | +{%- endfor %} {% endfor %} @@ -73,13 +91,13 @@ The following table shows supported {% data variables.product.prodname_copilot_s {% visualstudio %} -{% assign ideEntry = tables.copilot.copilot-matrix.ides["Visual Studio"] %} +{% assign ideEntry = tables.copilot.matrix.visual-studio %} ## Features by Visual Studio version -The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the IDE. +The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% if ideEntry.versionType == "extension" %}{% data variables.copilot.copilot_extension %} for the {% endif %}IDE. -{%- comment %} Use the predefined versionGroups from JSON data {%- endcomment %} +{%- comment %} Use the predefined versionGroups from the IDE's data file {%- endcomment %} {% for groupEntry in ideEntry.versionGroups %} {%- assign groupName = groupEntry[0] %} {%- assign groupVersions = groupEntry[1] %} @@ -91,6 +109,10 @@ The following table shows supported {% data variables.product.prodname_copilot_s {%- for featureEntry in ideEntry.features %} | {{ featureEntry[0] }}{%- for version in groupVersions %}{%- assign supportLevel = featureEntry[1][version] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "preview" %}P{%- when "closing-down" %}C{%- else %}✗{%- endcase -%}{%- endfor %} | {%- endfor %} +{%- comment %} Features that do not apply to this IDE at all, rendered as — not ✗ {%- endcomment %} +{%- for naFeature in ideEntry.notApplicable %} +| {{ naFeature }}{%- for version in groupVersions %} | —{%- endfor %} | +{%- endfor %} {% endfor %} @@ -98,13 +120,13 @@ The following table shows supported {% data variables.product.prodname_copilot_s {% jetbrains %} -{% assign ideEntry = tables.copilot.copilot-matrix.ides["JetBrains"] %} +{% assign ideEntry = tables.copilot.matrix.jetbrains %} ## Features by JetBrains version -The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% data variables.copilot.copilot_extension %} for the IDE. +The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% if ideEntry.versionType == "extension" %}{% data variables.copilot.copilot_extension %} for the {% endif %}IDE. -{%- comment %} Use the predefined versionGroups from JSON data {%- endcomment %} +{%- comment %} Use the predefined versionGroups from the IDE's data file {%- endcomment %} {% for groupEntry in ideEntry.versionGroups %} {%- assign groupName = groupEntry[0] %} {%- assign groupVersions = groupEntry[1] %} @@ -116,6 +138,10 @@ The following table shows supported {% data variables.product.prodname_copilot_s {%- for featureEntry in ideEntry.features %} | {{ featureEntry[0] }}{%- for version in groupVersions %}{%- assign supportLevel = featureEntry[1][version] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "preview" %}P{%- when "closing-down" %}C{%- else %}✗{%- endcase -%}{%- endfor %} | {%- endfor %} +{%- comment %} Features that do not apply to this IDE at all, rendered as — not ✗ {%- endcomment %} +{%- for naFeature in ideEntry.notApplicable %} +| {{ naFeature }}{%- for version in groupVersions %} | —{%- endfor %} | +{%- endfor %} {% endfor %} @@ -123,13 +149,13 @@ The following table shows supported {% data variables.product.prodname_copilot_s {% eclipse %} -{% assign ideEntry = tables.copilot.copilot-matrix.ides["Eclipse"] %} +{% assign ideEntry = tables.copilot.matrix.eclipse %} ## Features by Eclipse version -The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% data variables.copilot.copilot_extension %} for the IDE. +The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% if ideEntry.versionType == "extension" %}{% data variables.copilot.copilot_extension %} for the {% endif %}IDE. -{%- comment %} Use the predefined versionGroups from JSON data {%- endcomment %} +{%- comment %} Use the predefined versionGroups from the IDE's data file {%- endcomment %} {% for groupEntry in ideEntry.versionGroups %} {%- assign groupName = groupEntry[0] %} {%- assign groupVersions = groupEntry[1] %} @@ -141,6 +167,10 @@ The following table shows supported {% data variables.product.prodname_copilot_s {%- for featureEntry in ideEntry.features %} | {{ featureEntry[0] }}{%- for version in groupVersions %}{%- assign supportLevel = featureEntry[1][version] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "preview" %}P{%- when "closing-down" %}C{%- else %}✗{%- endcase -%}{%- endfor %} | {%- endfor %} +{%- comment %} Features that do not apply to this IDE at all, rendered as — not ✗ {%- endcomment %} +{%- for naFeature in ideEntry.notApplicable %} +| {{ naFeature }}{%- for version in groupVersions %} | —{%- endfor %} | +{%- endfor %} {% endfor %} @@ -148,13 +178,13 @@ The following table shows supported {% data variables.product.prodname_copilot_s {% xcode %} -{% assign ideEntry = tables.copilot.copilot-matrix.ides["Xcode"] %} +{% assign ideEntry = tables.copilot.matrix.xcode %} ## Features by Xcode version -The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% data variables.copilot.copilot_extension %} for the IDE. +The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% if ideEntry.versionType == "extension" %}{% data variables.copilot.copilot_extension %} for the {% endif %}IDE. -{%- comment %} Use the predefined versionGroups from JSON data {%- endcomment %} +{%- comment %} Use the predefined versionGroups from the IDE's data file {%- endcomment %} {% for groupEntry in ideEntry.versionGroups %} {%- assign groupName = groupEntry[0] %} {%- assign groupVersions = groupEntry[1] %} @@ -166,6 +196,10 @@ The following table shows supported {% data variables.product.prodname_copilot_s {%- for featureEntry in ideEntry.features %} | {{ featureEntry[0] }}{%- for version in groupVersions %}{%- assign supportLevel = featureEntry[1][version] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "preview" %}P{%- when "closing-down" %}C{%- else %}✗{%- endcase -%}{%- endfor %} | {%- endfor %} +{%- comment %} Features that do not apply to this IDE at all, rendered as — not ✗ {%- endcomment %} +{%- for naFeature in ideEntry.notApplicable %} +| {{ naFeature }}{%- for version in groupVersions %} | —{%- endfor %} | +{%- endfor %} {% endfor %} @@ -173,13 +207,13 @@ The following table shows supported {% data variables.product.prodname_copilot_s {% vimneovim %} -{% assign ideEntry = tables.copilot.copilot-matrix.ides["NeoVim"] %} +{% assign ideEntry = tables.copilot.matrix.neovim %} ## Features by NeoVim version -The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% data variables.copilot.copilot_extension %} for the IDE. +The following table shows supported {% data variables.product.prodname_copilot_short %} features across recent versions of the {% if ideEntry.versionType == "extension" %}{% data variables.copilot.copilot_extension %} for the {% endif %}IDE. -{%- comment %} Use the predefined versionGroups from JSON data {%- endcomment %} +{%- comment %} Use the predefined versionGroups from the IDE's data file {%- endcomment %} {% for groupEntry in ideEntry.versionGroups %} {%- assign groupName = groupEntry[0] %} {%- assign groupVersions = groupEntry[1] %} @@ -191,6 +225,10 @@ The following table shows supported {% data variables.product.prodname_copilot_s {%- for featureEntry in ideEntry.features %} | {{ featureEntry[0] }}{%- for version in groupVersions %}{%- assign supportLevel = featureEntry[1][version] %} | {%- case supportLevel -%}{%- when "supported" %}✓{%- when "preview" %}P{%- when "closing-down" %}C{%- else %}✗{%- endcase -%}{%- endfor %} | {%- endfor %} +{%- comment %} Features that do not apply to this IDE at all, rendered as — not ✗ {%- endcomment %} +{%- for naFeature in ideEntry.notApplicable %} +| {{ naFeature }}{%- for version in groupVersions %} | —{%- endfor %} | +{%- endfor %} {% endfor %} diff --git a/content/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization.md b/content/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization.md index b49a595ce08c..816dd535d3db 100644 --- a/content/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization.md +++ b/content/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization.md @@ -80,6 +80,24 @@ You can import a ruleset from another repository or organization using the expor {% data reusables.repositories.import-a-ruleset %} {% endif %} + +{% ifversion rule-insights-dashboard-org-level %} + +## Viewing the rule insights dashboard + +Use the rule insights dashboard to review the evaluation activity of rulesets across your organization. You can: + +* Review aggregated rule evaluation metrics across all repositories in your organization to understand where and how your rulesets take effect. +* Identify the repositories with the most bypasses so you can prioritize your review. +* Filter results by evaluation status, branch, ruleset, and date range to focus on the activity that matters to you. +* Export the data to a CSV file for further analysis. + +{% data reusables.profile.access_org %} +{% data reusables.profile.org_settings %} +1. {% data reusables.user-settings.code-planning-automation %} click **{% octicon "repo" aria-hidden="true" aria-label="repo" %} Repository**, then click **Dashboard**. + +{% endif %} + {% ifversion not fpt %} ## Viewing insights for rulesets diff --git a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository.md b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository.md index 186f27bcd9a9..cd64fd98e20f 100644 --- a/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository.md +++ b/content/repositories/configuring-branches-and-merges-in-your-repository/managing-rulesets/managing-rulesets-for-a-repository.md @@ -113,15 +113,15 @@ You can view insights for rulesets to see how rulesets are affecting a repositor {% ifversion rule-insights-dashboard %} -### Rule insights dashboard +### Viewing the rule insights dashboard > [!NOTE] -> The rule insights dashboard is in {% data variables.release-phases.public_preview %} and subject to change. It is available for {% data variables.product.prodname_team %} and {% data variables.product.prodname_ghe_cloud %} plans. +> The rule insights dashboard is available for {% data variables.product.prodname_team %} and {% data variables.product.prodname_ghe_cloud %} plans. The rule insights dashboard gives you a visual, high-level summary of rule evaluation activity for your repository, including: -- **Successes, failures, and bypasses over time**: A chart showing trends in rule evaluation results, helping you spot spikes in blocked pushes or unusual patterns. -- **Top bypassers**: A list of the most active bypassers for your rulesets. +* **Successes, failures, and bypasses over time**: A chart showing trends in rule evaluation results, helping you spot spikes in blocked pushes or unusual patterns. +* **Top bypassers**: A list of the most active bypassers for your rulesets. Each chart links back to the rule insights page with filters prefilled, so you can quickly drill into specific statuses, bypassers, or time ranges. @@ -132,6 +132,8 @@ To view the dashboard: 1. In the left sidebar, under "Code and automation," click **Rules**, then click **Insights**. 1. At the top of the "Rule Insights" page, view the dashboard charts for an overview of rule evaluation activity. +At the organization level, you can view the rule insights dashboard to review the evaluation activity of rulesets across your organization. See [AUTOTITLE](/organizations/managing-organization-settings/managing-rulesets-for-repositories-in-your-organization#viewing-the-rule-insights-dashboard). + {% endif %} {% endif %} diff --git a/data/features/rule-insights-dashboard-org-level.yml b/data/features/rule-insights-dashboard-org-level.yml new file mode 100644 index 000000000000..33e16d808761 --- /dev/null +++ b/data/features/rule-insights-dashboard-org-level.yml @@ -0,0 +1,6 @@ +# Rule insights dashboard at the organization level, issue #23276 + +versions: + fpt: '*' + ghec: '*' + ghes: '>=3.23' diff --git a/data/tables/copilot/copilot-matrix.yml b/data/tables/copilot/copilot-matrix.yml deleted file mode 100644 index e4ca9ee2d5ff..000000000000 --- a/data/tables/copilot/copilot-matrix.yml +++ /dev/null @@ -1,1908 +0,0 @@ -# NOTE: Within each IDE, versionGroups must be sorted in descending order -# (newest releases first within each group). - -metadata: - title: GitHub Copilot IDE Feature Matrix - supportLevels: - - not-supported - - preview - - supported - - closing-down -ides: - VS Code: - versions: - - 1.108.0 - - 1.107.0 - - 1.106.0 - - 1.105.0 - - 1.104.0 - - 1.103.0 - - 1.102.0 - - 1.101.0 - - 1.100.0 - - 1.99.0 - - 1.98.0 - - 1.97.0 - - 1.96.0 - - 1.95.0 - - 1.94.0 - - 1.80.0 - - 1.70.0 - - 1.60.0 - - 1.57.0 - - 0.0.0 - versionGroups: - latest releases: - - 1.108.0 - - 1.107.0 - - 1.106.0 - - 1.105.0 - - 1.104.0 - 2025 releases: - - 1.108.0 - - 1.107.0 - - 1.106.0 - - 1.105.0 - - 1.104.0 - - 1.103.0 - - 1.102.0 - - 1.101.0 - - 1.100.0 - - 1.99.0 - - 1.98.0 - - 1.97.0 - 2024 releases: - - 1.96.0 - - 1.95.0 - - 1.94.0 - 2023 releases: - - 1.80.0 - 2022 releases: - - 1.70.0 - 2021 releases: - - 1.60.0 - - 1.57.0 - features: - .NET Upgrade Agent: - 1.108.0: not-supported - 1.107.0: not-supported - 1.106.0: not-supported - 1.105.0: not-supported - 1.104.0: not-supported - 1.103.0: not-supported - 1.102.0: not-supported - 1.101.0: not-supported - 1.100.0: not-supported - 1.99.0: not-supported - 1.98.0: not-supported - 1.97.0: not-supported - 1.96.0: not-supported - 1.95.0: not-supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Agent skills: - 1.108.0: supported - 1.107.0: not-supported - 1.106.0: not-supported - 1.105.0: not-supported - 1.104.0: not-supported - 1.103.0: not-supported - 1.102.0: not-supported - 1.101.0: not-supported - 1.100.0: not-supported - 1.99.0: not-supported - 1.98.0: not-supported - 1.97.0: not-supported - 1.96.0: not-supported - 1.95.0: not-supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Agent mode: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: supported - 1.100.0: supported - 1.99.0: supported - 1.98.0: preview - 1.97.0: preview - 1.96.0: not-supported - 1.95.0: not-supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - BYOK: - 1.108.0: preview - 1.107.0: preview - 1.106.0: preview - 1.105.0: preview - 1.104.0: preview - 1.103.0: preview - 1.102.0: preview - 1.101.0: preview - 1.100.0: preview - 1.99.0: preview - 1.98.0: preview - 1.97.0: preview - 1.96.0: preview - 1.95.0: preview - 1.94.0: preview - 1.80.0: preview - 1.70.0: preview - 1.60.0: preview - 1.57.0: preview - 0.0.0: preview - Chat: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: supported - 1.100.0: supported - 1.99.0: supported - 1.98.0: supported - 1.97.0: supported - 1.96.0: supported - 1.95.0: supported - 1.94.0: supported - 1.80.0: supported - 1.70.0: supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Checkpoints: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: not-supported - 1.101.0: not-supported - 1.100.0: not-supported - 1.99.0: not-supported - 1.98.0: not-supported - 1.97.0: not-supported - 1.96.0: not-supported - 1.95.0: not-supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Code completion: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: supported - 1.100.0: supported - 1.99.0: supported - 1.98.0: supported - 1.97.0: supported - 1.96.0: supported - 1.95.0: supported - 1.94.0: supported - 1.80.0: supported - 1.70.0: supported - 1.60.0: supported - 1.57.0: preview - 0.0.0: not-supported - Code referencing: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: supported - 1.100.0: supported - 1.99.0: supported - 1.98.0: supported - 1.97.0: supported - 1.96.0: supported - 1.95.0: supported - 1.94.0: supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Copilot code review: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: supported - 1.100.0: supported - 1.99.0: supported - 1.98.0: preview - 1.97.0: preview - 1.96.0: preview - 1.95.0: preview - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Custom agents: - 1.108.0: supported - 1.107.0: supported - 1.106.0: preview - 1.105.0: preview - 1.104.0: preview - 1.103.0: preview - 1.102.0: preview - 1.101.0: preview - 1.100.0: not-supported - 1.99.0: not-supported - 1.98.0: not-supported - 1.97.0: not-supported - 1.96.0: not-supported - 1.95.0: not-supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Custom instructions: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: supported - 1.100.0: supported - 1.99.0: supported - 1.98.0: supported - 1.97.0: preview - 1.96.0: preview - 1.95.0: preview - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Edit mode: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: supported - 1.100.0: supported - 1.99.0: supported - 1.98.0: supported - 1.97.0: supported - 1.96.0: preview - 1.95.0: preview - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Java Upgrade Agent: - 1.108.0: preview - 1.107.0: preview - 1.106.0: preview - 1.105.0: preview - 1.104.0: preview - 1.103.0: preview - 1.102.0: preview - 1.101.0: preview - 1.100.0: preview - 1.99.0: preview - 1.98.0: preview - 1.97.0: preview - 1.96.0: preview - 1.95.0: preview - 1.94.0: preview - 1.80.0: preview - 1.70.0: preview - 1.60.0: preview - 1.57.0: preview - 0.0.0: preview - MCP: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: preview - 1.100.0: preview - 1.99.0: preview - 1.98.0: not-supported - 1.97.0: not-supported - 1.96.0: not-supported - 1.95.0: not-supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Next edit suggestions: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: supported - 1.100.0: supported - 1.99.0: supported - 1.98.0: preview - 1.97.0: preview - 1.96.0: not-supported - 1.95.0: not-supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Prompt files: - 1.108.0: supported - 1.107.0: supported - 1.106.0: preview - 1.105.0: preview - 1.104.0: preview - 1.103.0: preview - 1.102.0: preview - 1.101.0: preview - 1.100.0: preview - 1.99.0: preview - 1.98.0: preview - 1.97.0: preview - 1.96.0: not-supported - 1.95.0: not-supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Vision: - 1.108.0: preview - 1.107.0: preview - 1.106.0: preview - 1.105.0: preview - 1.104.0: preview - 1.103.0: preview - 1.102.0: preview - 1.101.0: preview - 1.100.0: preview - 1.99.0: preview - 1.98.0: preview - 1.97.0: preview - 1.96.0: not-supported - 1.95.0: not-supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Workspace indexing: - 1.108.0: supported - 1.107.0: supported - 1.106.0: supported - 1.105.0: supported - 1.104.0: supported - 1.103.0: supported - 1.102.0: supported - 1.101.0: supported - 1.100.0: supported - 1.99.0: supported - 1.98.0: supported - 1.97.0: supported - 1.96.0: supported - 1.95.0: supported - 1.94.0: not-supported - 1.80.0: not-supported - 1.70.0: not-supported - 1.60.0: not-supported - 1.57.0: not-supported - 0.0.0: not-supported - Visual Studio: - versions: - - 18.6.0 - - 17.14.0 - versionGroups: - latest releases: - - 18.6.0 - - 17.14.0 - features: - .NET Upgrade Agent: - 18.6.0: supported - 17.14.0: supported - Agent skills: - 18.6.0: supported - 17.14.0: not-supported - Agent mode: - 18.6.0: supported - 17.14.0: supported - BYOK: - 18.6.0: supported - 17.14.0: supported - Chat: - 18.6.0: supported - 17.14.0: supported - Checkpoints: - 18.6.0: supported - 17.14.0: supported - Code completion: - 18.6.0: supported - 17.14.0: supported - Code referencing: - 18.6.0: supported - 17.14.0: supported - Copilot code review: - 18.6.0: supported - 17.14.0: supported - Custom agents: - 18.6.0: supported - 17.14.0: not-supported - Custom instructions: - 18.6.0: supported - 17.14.0: supported - Edit mode: - 18.6.0: not-supported - 17.14.0: not-supported - MCP: - 18.6.0: supported - 17.14.0: supported - Next edit suggestions: - 18.6.0: supported - 17.14.0: supported - Prompt files: - 18.6.0: supported - 17.14.0: supported - Vision: - 18.6.0: supported - 17.14.0: supported - Workspace indexing: - 18.6.0: supported - 17.14.0: not-supported - JetBrains: - versions: - - 1.5.66 - - 1.5.65 - - 1.5.64 - - 1.5.63 - - 1.5.62 - - 1.5.54 - - 1.5.53 - - 1.5.49 - - 1.5.45 - - 1.5.43 - - 1.5.41 - - 1.5.39 - - 1.5.0 - - 1.4.0 - - 1.0.1 - - 0.0.0 - versionGroups: - latest releases: - - 1.5.66 - - 1.5.65 - - 1.5.64 - - 1.5.63 - - 1.5.62 - 2026 releases: - - 1.5.66 - - 1.5.65 - - 1.5.64 - - 1.5.63 - 2025 releases: - - 1.5.62 - - 1.5.54 - - 1.5.53 - - 1.5.49 - - 1.5.45 - - 1.5.43 - - 1.5.41 - - 1.5.0 - - 1.0.1 - 2024 releases: - - 1.5.39 - - 1.4.0 - features: - Agent skills: - 1.5.66: preview - 1.5.65: preview - 1.5.64: preview - 1.5.63: not-supported - 1.5.62: not-supported - 1.5.54: not-supported - 1.5.53: not-supported - 1.5.49: not-supported - 1.5.45: not-supported - 1.5.43: not-supported - 1.5.41: not-supported - 1.5.39: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - Agent mode: - 1.5.66: supported - 1.5.65: supported - 1.5.64: supported - 1.5.63: supported - 1.5.62: supported - 1.5.54: supported - 1.5.53: supported - 1.5.49: supported - 1.5.45: preview - 1.5.43: not-supported - 1.5.41: not-supported - 1.5.39: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - BYOK: - 1.5.66: preview - 1.5.65: preview - 1.5.64: preview - 1.5.63: preview - 1.5.62: preview - 1.5.54: preview - 1.5.53: preview - 1.5.49: preview - 1.5.45: preview - 1.5.43: preview - 1.5.41: preview - 1.5.39: preview - 1.5.0: preview - 1.4.0: preview - 1.0.1: preview - 0.0.0: preview - Chat: - 1.5.66: supported - 1.5.65: supported - 1.5.64: supported - 1.5.63: supported - 1.5.62: supported - 1.5.54: supported - 1.5.53: supported - 1.5.49: supported - 1.5.45: supported - 1.5.43: supported - 1.5.41: supported - 1.5.39: supported - 1.5.0: supported - 1.4.0: preview - 1.0.1: not-supported - 0.0.0: not-supported - Checkpoints: - 1.5.66: supported - 1.5.65: supported - 1.5.64: supported - 1.5.63: supported - 1.5.62: supported - 1.5.54: not-supported - 1.5.53: not-supported - 1.5.49: not-supported - 1.5.45: not-supported - 1.5.43: not-supported - 1.5.41: not-supported - 1.5.39: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - Code completion: - 1.5.66: supported - 1.5.65: supported - 1.5.64: supported - 1.5.63: supported - 1.5.62: supported - 1.5.54: supported - 1.5.53: supported - 1.5.49: supported - 1.5.45: supported - 1.5.43: supported - 1.5.41: supported - 1.5.39: supported - 1.5.0: supported - 1.4.0: supported - 1.0.1: supported - 0.0.0: preview - Code referencing: - 1.5.66: supported - 1.5.65: supported - 1.5.64: supported - 1.5.63: supported - 1.5.62: supported - 1.5.54: supported - 1.5.53: supported - 1.5.49: supported - 1.5.45: supported - 1.5.43: supported - 1.5.41: supported - 1.5.39: supported - 1.5.0: supported - 1.4.0: supported - 1.0.1: supported - 0.0.0: supported - Copilot code review: - 1.5.66: supported - 1.5.65: supported - 1.5.64: supported - 1.5.63: supported - 1.5.62: supported - 1.5.54: supported - 1.5.53: supported - 1.5.49: supported - 1.5.45: supported - 1.5.43: supported - 1.5.41: supported - 1.5.39: supported - 1.5.0: supported - 1.4.0: supported - 1.0.1: supported - 0.0.0: supported - Custom instructions: - 1.5.66: preview - 1.5.65: preview - 1.5.64: preview - 1.5.63: preview - 1.5.62: preview - 1.5.54: preview - 1.5.53: preview - 1.5.49: preview - 1.5.45: preview - 1.5.43: preview - 1.5.41: preview - 1.5.39: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - Custom agents: - 1.5.66: preview - 1.5.65: preview - 1.5.64: preview - 1.5.63: preview - 1.5.62: preview - Edit mode: - 1.5.66: supported - 1.5.65: supported - 1.5.64: supported - 1.5.63: supported - 1.5.62: supported - 1.5.54: supported - 1.5.53: supported - 1.5.49: supported - 1.5.45: supported - 1.5.43: supported - 1.5.41: preview - 1.5.39: preview - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - MCP: - 1.5.66: supported - 1.5.65: supported - 1.5.64: supported - 1.5.63: supported - 1.5.62: supported - 1.5.54: supported - 1.5.53: supported - 1.5.49: preview - 1.5.45: preview - 1.5.43: not-supported - 1.5.41: not-supported - 1.5.39: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - Next edit suggestions: - 1.5.66: preview - 1.5.65: preview - 1.5.64: preview - 1.5.63: preview - 1.5.62: preview - 1.5.54: preview - 1.5.53: not-supported - 1.5.49: not-supported - 1.5.45: not-supported - 1.5.43: not-supported - 1.5.41: not-supported - 1.5.39: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - Prompt files: - 1.5.66: preview - 1.5.65: preview - 1.5.64: preview - 1.5.63: preview - 1.5.62: preview - 1.5.54: preview - 1.5.53: not-supported - 1.5.49: not-supported - 1.5.45: not-supported - 1.5.43: not-supported - 1.5.41: not-supported - 1.5.39: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - Vision: - 1.5.66: preview - 1.5.65: preview - 1.5.64: preview - 1.5.63: preview - 1.5.62: preview - 1.5.54: preview - 1.5.53: preview - 1.5.49: preview - 1.5.45: preview - 1.5.43: preview - 1.5.41: preview - 1.5.39: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - Workspace indexing: - 1.5.66: supported - 1.5.65: supported - 1.5.64: supported - 1.5.63: supported - 1.5.62: supported - 1.5.54: not-supported - 1.5.53: not-supported - 1.5.49: not-supported - 1.5.45: not-supported - 1.5.43: not-supported - 1.5.41: not-supported - 1.5.39: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.0.1: not-supported - 0.0.0: not-supported - Eclipse: - versions: - - 0.14.0 - - 0.13.0 - - 0.12.0 - - 0.11.0 - - 0.10.0 - - 0.9.0 - - 0.8.0 - - 0.7.0 - - 0.6.0 - - 0.5.0 - - 0.4.0 - - 0.3.0 - - 0.2.0 - - 0.1.0 - versionGroups: - latest releases: - - 0.14.0 - - 0.13.0 - - 0.12.0 - - 0.11.0 - - 0.10.0 - 2025 releases: - - 0.14.0 - - 0.13.0 - - 0.12.0 - - 0.11.0 - - 0.10.0 - - 0.9.0 - - 0.8.0 - - 0.7.0 - - 0.6.0 - - 0.5.0 - - 0.4.0 - - 0.3.0 - - 0.2.0 - - 0.1.0 - features: - Agent skills: - 0.14.0: not-supported - 0.13.0: not-supported - 0.12.0: not-supported - 0.11.0: not-supported - 0.10.0: not-supported - 0.9.0: not-supported - 0.8.0: not-supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Agent mode: - 0.14.0: supported - 0.13.0: supported - 0.12.0: supported - 0.11.0: supported - 0.10.0: supported - 0.9.0: supported - 0.8.0: preview - 0.7.0: preview - 0.6.0: preview - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - BYOK: - 0.14.0: preview - 0.13.0: preview - 0.12.0: preview - 0.11.0: not-supported - 0.10.0: not-supported - 0.9.0: not-supported - 0.8.0: not-supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Chat: - 0.14.0: supported - 0.13.0: supported - 0.12.0: supported - 0.11.0: supported - 0.10.0: supported - 0.9.0: supported - 0.8.0: supported - 0.7.0: supported - 0.6.0: supported - 0.5.0: supported - 0.4.0: preview - 0.3.0: preview - 0.2.0: not-supported - 0.1.0: not-supported - Checkpoints: - 0.14.0: not-supported - 0.13.0: not-supported - 0.12.0: not-supported - 0.11.0: not-supported - 0.10.0: not-supported - 0.9.0: not-supported - 0.8.0: not-supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Code completion: - 0.14.0: supported - 0.13.0: supported - 0.12.0: supported - 0.11.0: supported - 0.10.0: supported - 0.9.0: supported - 0.8.0: supported - 0.7.0: supported - 0.6.0: supported - 0.5.0: supported - 0.4.0: supported - 0.3.0: supported - 0.2.0: preview - 0.1.0: preview - Code referencing: - 0.14.0: supported - 0.13.0: supported - 0.12.0: supported - 0.11.0: supported - 0.10.0: supported - 0.9.0: supported - 0.8.0: supported - 0.7.0: supported - 0.6.0: supported - 0.5.0: supported - 0.4.0: supported - 0.3.0: supported - 0.2.0: supported - 0.1.0: supported - Copilot code review: - 0.14.0: not-supported - 0.13.0: not-supported - 0.12.0: not-supported - 0.11.0: not-supported - 0.10.0: not-supported - 0.9.0: not-supported - 0.8.0: not-supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Custom agents: - 0.14.0: supported - 0.13.0: supported - 0.12.0: not-supported - 0.11.0: not-supported - 0.10.0: not-supported - 0.9.0: not-supported - 0.8.0: not-supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Custom instructions: - 0.14.0: preview - 0.13.0: preview - 0.12.0: preview - 0.11.0: preview - 0.10.0: preview - 0.9.0: not-supported - 0.8.0: not-supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Java Upgrade Agent: - 0.14.0: not-supported - 0.13.0: not-supported - 0.12.0: not-supported - 0.11.0: not-supported - 0.10.0: not-supported - 0.9.0: not-supported - 0.8.0: not-supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - MCP: - 0.14.0: supported - 0.13.0: supported - 0.12.0: supported - 0.11.0: supported - 0.10.0: supported - 0.9.0: preview - 0.8.0: preview - 0.7.0: preview - 0.6.0: preview - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Next edit suggestions: - 0.14.0: preview - 0.13.0: preview - 0.12.0: not-supported - 0.11.0: not-supported - 0.10.0: not-supported - 0.9.0: not-supported - 0.8.0: not-supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Prompt files: - 0.14.0: not-supported - 0.13.0: not-supported - 0.12.0: not-supported - 0.11.0: not-supported - 0.10.0: not-supported - 0.9.0: not-supported - 0.8.0: not-supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Vision: - 0.14.0: supported - 0.13.0: supported - 0.12.0: supported - 0.11.0: supported - 0.10.0: supported - 0.9.0: supported - 0.8.0: supported - 0.7.0: not-supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Workspace indexing: - 0.14.0: supported - 0.13.0: supported - 0.12.0: supported - 0.11.0: supported - 0.10.0: supported - 0.9.0: supported - 0.8.0: supported - 0.7.0: supported - 0.6.0: not-supported - 0.5.0: not-supported - 0.4.0: not-supported - 0.3.0: not-supported - 0.2.0: not-supported - 0.1.0: not-supported - Xcode: - versions: - - 0.46.0 - - 0.45.0 - - 0.44.0 - - 0.43.0 - - 0.42.0 - - 0.41.0 - - 0.40.0 - - 0.39.0 - - 0.38.0 - - 0.37.0 - - 0.36.0 - - 0.35.0 - - 0.34.0 - - 0.33.0 - - 0.32.0 - - 0.31.0 - - 0.30.0 - - 0.29.0 - - 0.28.0 - - 0.27.0 - - 0.26.0 - - 0.25.0 - - 0.24.0 - - 0.23.0 - - 0.0.0 - versionGroups: - latest releases: - - 0.46.0 - - 0.45.0 - - 0.44.0 - - 0.43.0 - - 0.42.0 - 2025 releases: - - 0.46.0 - - 0.45.0 - - 0.44.0 - - 0.43.0 - - 0.42.0 - - 0.41.0 - - 0.40.0 - - 0.39.0 - - 0.38.0 - - 0.37.0 - - 0.36.0 - - 0.35.0 - - 0.34.0 - - 0.33.0 - - 0.32.0 - - 0.31.0 - - 0.30.0 - 2024 releases: - - 0.29.0 - - 0.28.0 - - 0.27.0 - - 0.26.0 - - 0.25.0 - - 0.24.0 - - 0.23.0 - - 0.0.0 - features: - Agent skills: - 0.46.0: not-supported - 0.45.0: not-supported - 0.44.0: not-supported - 0.43.0: not-supported - 0.42.0: not-supported - 0.41.0: not-supported - 0.40.0: not-supported - 0.39.0: not-supported - 0.38.0: not-supported - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Agent mode: - 0.46.0: supported - 0.45.0: supported - 0.44.0: supported - 0.43.0: supported - 0.42.0: supported - 0.41.0: supported - 0.40.0: supported - 0.39.0: supported - 0.38.0: supported - 0.37.0: preview - 0.36.0: preview - 0.35.0: preview - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - BYOK: - 0.46.0: preview - 0.45.0: preview - 0.44.0: preview - 0.43.0: preview - 0.42.0: preview - 0.41.0: not-supported - 0.40.0: not-supported - 0.39.0: not-supported - 0.38.0: not-supported - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Chat: - 0.46.0: supported - 0.45.0: supported - 0.44.0: supported - 0.43.0: supported - 0.42.0: supported - 0.41.0: supported - 0.40.0: supported - 0.39.0: supported - 0.38.0: supported - 0.37.0: supported - 0.36.0: supported - 0.35.0: supported - 0.34.0: supported - 0.33.0: supported - 0.32.0: supported - 0.31.0: preview - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Checkpoints: - 0.46.0: supported - 0.45.0: supported - 0.44.0: supported - 0.43.0: not-supported - 0.42.0: not-supported - 0.41.0: not-supported - 0.40.0: not-supported - 0.39.0: not-supported - 0.38.0: not-supported - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Code completion: - 0.46.0: supported - 0.45.0: supported - 0.44.0: supported - 0.43.0: supported - 0.42.0: supported - 0.41.0: supported - 0.40.0: supported - 0.39.0: supported - 0.38.0: supported - 0.37.0: supported - 0.36.0: supported - 0.35.0: supported - 0.34.0: supported - 0.33.0: supported - 0.32.0: supported - 0.31.0: supported - 0.30.0: preview - 0.29.0: preview - 0.28.0: preview - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Code referencing: - 0.46.0: not-supported - 0.45.0: not-supported - 0.44.0: not-supported - 0.43.0: not-supported - 0.42.0: not-supported - 0.41.0: not-supported - 0.40.0: not-supported - 0.39.0: not-supported - 0.38.0: not-supported - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Copilot code review: - 0.46.0: supported - 0.45.0: supported - 0.44.0: supported - 0.43.0: supported - 0.42.0: supported - 0.41.0: supported - 0.40.0: not-supported - 0.39.0: not-supported - 0.38.0: not-supported - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Custom agents: - 0.46.0: preview - 0.45.0: preview - 0.44.0: not-supported - 0.43.0: not-supported - 0.42.0: not-supported - 0.41.0: not-supported - 0.40.0: not-supported - 0.39.0: not-supported - 0.38.0: not-supported - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Custom instructions: - 0.46.0: preview - 0.45.0: preview - 0.44.0: preview - 0.43.0: preview - 0.42.0: preview - 0.41.0: preview - 0.40.0: preview - 0.39.0: preview - 0.38.0: preview - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - MCP: - 0.46.0: supported - 0.45.0: supported - 0.44.0: supported - 0.43.0: supported - 0.42.0: supported - 0.41.0: supported - 0.40.0: preview - 0.39.0: preview - 0.38.0: preview - 0.37.0: preview - 0.36.0: preview - 0.35.0: preview - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Next edit suggestions: - 0.46.0: preview - 0.45.0: preview - 0.44.0: not-supported - 0.43.0: not-supported - 0.42.0: not-supported - 0.41.0: not-supported - 0.40.0: not-supported - 0.39.0: not-supported - 0.38.0: not-supported - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Prompt files: - 0.46.0: preview - 0.45.0: preview - 0.44.0: preview - 0.43.0: preview - 0.42.0: preview - 0.41.0: not-supported - 0.40.0: not-supported - 0.39.0: not-supported - 0.38.0: not-supported - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Vision: - 0.46.0: preview - 0.45.0: preview - 0.44.0: preview - 0.43.0: preview - 0.42.0: preview - 0.41.0: preview - 0.40.0: preview - 0.39.0: preview - 0.38.0: preview - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - Workspace indexing: - 0.46.0: not-supported - 0.45.0: not-supported - 0.44.0: not-supported - 0.43.0: not-supported - 0.42.0: not-supported - 0.41.0: not-supported - 0.40.0: not-supported - 0.39.0: not-supported - 0.38.0: not-supported - 0.37.0: not-supported - 0.36.0: not-supported - 0.35.0: not-supported - 0.34.0: not-supported - 0.33.0: not-supported - 0.32.0: not-supported - 0.31.0: not-supported - 0.30.0: not-supported - 0.29.0: not-supported - 0.28.0: not-supported - 0.27.0: not-supported - 0.26.0: not-supported - 0.25.0: not-supported - 0.24.0: not-supported - 0.23.0: not-supported - 0.0.0: not-supported - NeoVim: - versions: - - 1.18.0 - - 1.17.0 - - 1.16.0 - - 1.15.0 - - 1.14.0 - - 1.13.0 - - 1.12.0 - - 1.11.0 - - 1.10.0 - - 1.9.0 - - 1.8.0 - - 1.7.0 - - 1.6.0 - - 1.5.0 - - 1.4.0 - - 1.3.0 - - 1.2.0 - - 1.1.0 - - 1.0.0 - - 0.0.1 - versionGroups: - latest releases: - - 1.18.0 - - 1.17.0 - - 1.16.0 - - 1.15.0 - - 1.14.0 - 2024 releases: - - 1.18.0 - - 1.17.0 - - 1.16.0 - - 1.15.0 - - 1.14.0 - 2023 releases: - - 1.13.0 - - 1.12.0 - - 1.11.0 - - 1.10.0 - - 1.9.0 - 2022 releases: - - 1.8.0 - - 1.7.0 - - 1.6.0 - - 1.5.0 - - 1.4.0 - - 1.3.0 - - 1.2.0 - - 1.1.0 - 2021 releases: - - 1.0.0 - - 0.0.1 - features: - Agent skills: - 1.18.0: not-supported - 1.17.0: not-supported - 1.16.0: not-supported - 1.15.0: not-supported - 1.14.0: not-supported - 1.13.0: not-supported - 1.12.0: not-supported - 1.11.0: not-supported - 1.10.0: not-supported - 1.9.0: not-supported - 1.8.0: not-supported - 1.7.0: not-supported - 1.6.0: not-supported - 1.5.0: not-supported - 1.4.0: not-supported - 1.3.0: not-supported - 1.2.0: not-supported - 1.1.0: not-supported - 1.0.0: not-supported - 0.0.1: not-supported - Agent mode: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - BYOK: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Chat: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Checkpoints: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Code completion: - 0.0.1: preview - 1.0.0: supported - 1.1.0: supported - 1.2.0: supported - 1.3.0: supported - 1.4.0: supported - 1.5.0: supported - 1.6.0: supported - 1.7.0: supported - 1.8.0: supported - 1.9.0: supported - 1.10.0: supported - 1.11.0: supported - 1.12.0: supported - 1.13.0: supported - 1.14.0: supported - 1.15.0: supported - 1.16.0: supported - 1.17.0: supported - 1.18.0: supported - Code referencing: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Copilot code review: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Custom agents: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Custom instructions: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - MCP: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Next edit suggestions: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Prompt files: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Vision: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported - Workspace indexing: - 0.0.1: not-supported - 1.0.0: not-supported - 1.1.0: not-supported - 1.2.0: not-supported - 1.3.0: not-supported - 1.4.0: not-supported - 1.5.0: not-supported - 1.6.0: not-supported - 1.7.0: not-supported - 1.8.0: not-supported - 1.9.0: not-supported - 1.10.0: not-supported - 1.11.0: not-supported - 1.12.0: not-supported - 1.13.0: not-supported - 1.14.0: not-supported - 1.15.0: not-supported - 1.16.0: not-supported - 1.17.0: not-supported - 1.18.0: not-supported diff --git a/data/tables/copilot/matrix-meta.yml b/data/tables/copilot/matrix-meta.yml new file mode 100644 index 000000000000..ec433bde497b --- /dev/null +++ b/data/tables/copilot/matrix-meta.yml @@ -0,0 +1,52 @@ +# Shared configuration for the Copilot IDE feature matrix. +# +# Per-IDE data lives in data/tables/copilot/matrix/.yml +# +# ideOrder Column order in the summary table and section order on the page. +# Each entry must match a filename in matrix/ (without .yml). +# featureOrder Row order in the summary table. Any feature used by any IDE must +# be listed here or it will not render in the summary. +# supportLevels The vocabulary. Drives the rendered key/legend. +# NOTE: `symbol` is also hardcoded in the {% case %} statements in +# content/copilot/reference/copilot-feature-matrix.md. If you change a +# symbol here, change it there too. +title: GitHub Copilot IDE Feature Matrix +supportLevels: + - id: supported + symbol: ✓ + label: supported + - id: not-supported + symbol: ✗ + label: not supported + - id: preview + symbol: P + label: under preview + - id: closing-down + symbol: C + label: closing down +ideOrder: + - vs-code + - visual-studio + - jetbrains + - eclipse + - xcode + - neovim +featureOrder: + - .NET Upgrade Agent + - Agent skills + - Agent mode + - BYOK + - Chat + - Checkpoints + - Code completion + - Code referencing + - Copilot code review + - Custom agents + - Custom instructions + - Edit mode + - Java Upgrade Agent + - MCP + - Next edit suggestions + - Prompt files + - Vision + - Workspace indexing diff --git a/data/tables/copilot/matrix/README.md b/data/tables/copilot/matrix/README.md new file mode 100644 index 000000000000..ac829a46d8c1 --- /dev/null +++ b/data/tables/copilot/matrix/README.md @@ -0,0 +1,124 @@ +# Copilot IDE feature matrix + +This directory holds the data behind the **[Copilot feature matrix](https://docs.github.com/en/copilot/reference/copilot-feature-matrix)**. + +## The files + +| File | What it holds | +| --- | --- | +| `matrix/.yml` | One file per IDE: its versions and per-feature support. Edit these. | +| [`../matrix-meta.yml`](../matrix-meta.yml) | Shared config across all six IDEs: the legend, column order, row order. | +| [`../../../../content/copilot/reference/copilot-feature-matrix.md`](../../../../content/copilot/reference/copilot-feature-matrix.md) | The page that renders it. | + +Six IDEs: `vs-code`, `visual-studio`, `jetbrains`, `eclipse`, `xcode`, `neovim`. + +## How `matrix-meta.yml` connects + +Nothing in `matrix-meta.yml` describes an individual IDE. It defines the **vocabulary and ordering** that all six files share: + +| Key | Controls | If you get it wrong | +| --- | --- | --- | +| `supportLevels` | The valid values you may write in `features`, and the rendered legend | An unlisted value fails CI | +| `ideOrder` | Column order in the summary, section order on the page | Must list **every** file in this directory — a missing entry means that IDE does not render at all | +| `featureOrder` | Row order in the summary table | A feature missing here **will not appear** in the summary | + +So the relationship is: **the per-IDE file says what is true; `matrix-meta.yml` says what words you may use and what order things appear in.** + +The four support levels today: + +| Write this | Renders | +| --- | --- | +| `supported` | ✓ | +| `not-supported` | ✗ | +| `preview` | P | +| `closing-down` | C | + +> [!WARNING] +> The symbols are **also hardcoded** in seven `{% case %}` blocks in the content file. If you change a symbol in `matrix-meta.yml`, change it there too. + +## Anatomy of an IDE file + +```yaml +name: VS Code # Display name +versionType: ide # "ide" or "extension" — see below +versions: # Newest first. This is the display list. + - 1.108.0 + - 1.107.0 + - 0.0.0 # Sentinel: "supported before we tracked versions" +versionGroups: # The rendered tables. Versions may repeat across groups. + latest releases: + - 1.108.0 + - 1.107.0 + 2025 releases: + - 1.108.0 +features: # Feature -> version -> support level + Chat: + 1.108.0: supported + 1.107.0: supported + 0.0.0: supported +notApplicable: # Optional. Features that never apply to this IDE. + - Agent skills # Renders "—", not "✗". Omit from `features` too. +``` + +**`versionType`** decides one sentence of intro copy. Use `ide` when the table tracks the IDE's own version (`vs-code`, `visual-studio`); use `extension` when it tracks the Copilot extension version (the other four). Four of six are `extension`. + +**`notApplicable` vs `not-supported`** is a real distinction, so don't reach for `notApplicable` just to fill a hole: + +- `not-supported` (✗) — this feature _could_ exist here, but didn't in that version. +- `notApplicable` (—) — this feature does not apply to this IDE **at all**, in any version. + +## Adding a new version + +The common task. Say VS Code ships 1.109.0: + +1. **Add it to `versions`**, at the top (newest first). +2. **Add it to `versionGroups`** — usually both `latest releases` and the current year's group. +3. **Add it to every feature** in `features`. Copy the previous version's value, then change only what actually changed in the release. +4. **Run the tests** (below). + +Step 3 is the one people skip. It is not optional — see the warning below. + +> [!IMPORTANT] +> **A missing value renders as ✗ ("not supported"), not as blank.** +> +> The template falls through to `✗` when a key is absent, so forgetting a cell silently publishes a false claim that the feature is unsupported. It looks identical to a deliberate ✗. Always carry every feature forward. + +## Adding a new feature + +1. Add the feature name to `featureOrder` in `matrix-meta.yml`, or it will not appear in the summary table. +2. Add it to **every** IDE file — with real values, `not-supported` for versions predating it, or in `notApplicable` if it does not apply there. + +A new feature changes the shape of the table and puts a new product name in front of customers. Get the name confirmed before you publish it. + +## Rules the tests enforce + +- Versions must be `x.y.z` — three numeric parts. `1.107`, `1.107.0-beta` and `1.5.66.1` are all rejected. +- Quote nothing: `1.108.0` is fine unquoted. (A two-part `1.107` parses as a _number_ and fails with a type error rather than a format one.) +- Every version in `versionGroups` must exist in `versions`, and vice versa. +- Every version used in `features` must exist in `versions`. +- Every support level used must be defined in `matrix-meta.yml`. +- Every feature used must be in `featureOrder`. +- `ideOrder` must match the files in this directory exactly. +- A `notApplicable` feature must not also have support data. + +## Testing your change + +```bash +npx vitest run src/data-directory/tests/ +``` + +If port 4000 is busy, prefix with a free port: `PORT=4001 npx vitest run …` + +Then check it visually: + +```bash +npm start +# http://localhost:4000/en/copilot/reference/copilot-feature-matrix +``` + +Failures name the file, the feature, and what to fix. If a message is unclear, that is a bug worth reporting — the tests exist because these mistakes are invisible on the published page. + +## Good to know + +- **Versions are display-only.** A version renders because it is listed here, not because it exists upstream. Removing one removes a column. +- **JetBrains versions don't sort intuitively**: `1.5.66` is newer than `1.10.1`, but sorts before it as text. Order the list yourself; don't trust an alphabetical sort. diff --git a/data/tables/copilot/matrix/eclipse.yml b/data/tables/copilot/matrix/eclipse.yml new file mode 100644 index 000000000000..cefed401c195 --- /dev/null +++ b/data/tables/copilot/matrix/eclipse.yml @@ -0,0 +1,288 @@ +# Copilot feature support for Eclipse. +# +# versions Ordered newest-first. This is the display list: what is here is what renders. +# versionGroups Table groupings, also newest-first. Every version listed must appear in "versions". +# features Feature name -> version -> support level. +# Valid levels are defined in data/tables/copilot/matrix-meta.yml. +# notApplicable Optional. Features that do not apply to this IDE at all, rendered as "—" +# rather than "not supported". Omit the feature from "features" as well. +name: Eclipse +versionType: extension +versions: + - 0.14.0 + - 0.13.0 + - 0.12.0 + - 0.11.0 + - 0.10.0 + - 0.9.0 + - 0.8.0 + - 0.7.0 + - 0.6.0 + - 0.5.0 + - 0.4.0 + - 0.3.0 + - 0.2.0 + - 0.1.0 +versionGroups: + latest releases: + - 0.14.0 + - 0.13.0 + - 0.12.0 + - 0.11.0 + - 0.10.0 + 2025 releases: + - 0.14.0 + - 0.13.0 + - 0.12.0 + - 0.11.0 + - 0.10.0 + - 0.9.0 + - 0.8.0 + - 0.7.0 + - 0.6.0 + - 0.5.0 + - 0.4.0 + - 0.3.0 + - 0.2.0 + - 0.1.0 +features: + Agent skills: + 0.14.0: not-supported + 0.13.0: not-supported + 0.12.0: not-supported + 0.11.0: not-supported + 0.10.0: not-supported + 0.9.0: not-supported + 0.8.0: not-supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Agent mode: + 0.14.0: supported + 0.13.0: supported + 0.12.0: supported + 0.11.0: supported + 0.10.0: supported + 0.9.0: supported + 0.8.0: preview + 0.7.0: preview + 0.6.0: preview + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + BYOK: + 0.14.0: preview + 0.13.0: preview + 0.12.0: preview + 0.11.0: not-supported + 0.10.0: not-supported + 0.9.0: not-supported + 0.8.0: not-supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Chat: + 0.14.0: supported + 0.13.0: supported + 0.12.0: supported + 0.11.0: supported + 0.10.0: supported + 0.9.0: supported + 0.8.0: supported + 0.7.0: supported + 0.6.0: supported + 0.5.0: supported + 0.4.0: preview + 0.3.0: preview + 0.2.0: not-supported + 0.1.0: not-supported + Checkpoints: + 0.14.0: not-supported + 0.13.0: not-supported + 0.12.0: not-supported + 0.11.0: not-supported + 0.10.0: not-supported + 0.9.0: not-supported + 0.8.0: not-supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Code completion: + 0.14.0: supported + 0.13.0: supported + 0.12.0: supported + 0.11.0: supported + 0.10.0: supported + 0.9.0: supported + 0.8.0: supported + 0.7.0: supported + 0.6.0: supported + 0.5.0: supported + 0.4.0: supported + 0.3.0: supported + 0.2.0: preview + 0.1.0: preview + Code referencing: + 0.14.0: supported + 0.13.0: supported + 0.12.0: supported + 0.11.0: supported + 0.10.0: supported + 0.9.0: supported + 0.8.0: supported + 0.7.0: supported + 0.6.0: supported + 0.5.0: supported + 0.4.0: supported + 0.3.0: supported + 0.2.0: supported + 0.1.0: supported + Copilot code review: + 0.14.0: not-supported + 0.13.0: not-supported + 0.12.0: not-supported + 0.11.0: not-supported + 0.10.0: not-supported + 0.9.0: not-supported + 0.8.0: not-supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Custom agents: + 0.14.0: supported + 0.13.0: supported + 0.12.0: not-supported + 0.11.0: not-supported + 0.10.0: not-supported + 0.9.0: not-supported + 0.8.0: not-supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Custom instructions: + 0.14.0: preview + 0.13.0: preview + 0.12.0: preview + 0.11.0: preview + 0.10.0: preview + 0.9.0: not-supported + 0.8.0: not-supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Java Upgrade Agent: + 0.14.0: not-supported + 0.13.0: not-supported + 0.12.0: not-supported + 0.11.0: not-supported + 0.10.0: not-supported + 0.9.0: not-supported + 0.8.0: not-supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + MCP: + 0.14.0: supported + 0.13.0: supported + 0.12.0: supported + 0.11.0: supported + 0.10.0: supported + 0.9.0: preview + 0.8.0: preview + 0.7.0: preview + 0.6.0: preview + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Next edit suggestions: + 0.14.0: preview + 0.13.0: preview + 0.12.0: not-supported + 0.11.0: not-supported + 0.10.0: not-supported + 0.9.0: not-supported + 0.8.0: not-supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Prompt files: + 0.14.0: not-supported + 0.13.0: not-supported + 0.12.0: not-supported + 0.11.0: not-supported + 0.10.0: not-supported + 0.9.0: not-supported + 0.8.0: not-supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Vision: + 0.14.0: supported + 0.13.0: supported + 0.12.0: supported + 0.11.0: supported + 0.10.0: supported + 0.9.0: supported + 0.8.0: supported + 0.7.0: not-supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported + Workspace indexing: + 0.14.0: supported + 0.13.0: supported + 0.12.0: supported + 0.11.0: supported + 0.10.0: supported + 0.9.0: supported + 0.8.0: supported + 0.7.0: supported + 0.6.0: not-supported + 0.5.0: not-supported + 0.4.0: not-supported + 0.3.0: not-supported + 0.2.0: not-supported + 0.1.0: not-supported diff --git a/data/tables/copilot/matrix/jetbrains.yml b/data/tables/copilot/matrix/jetbrains.yml new file mode 100644 index 000000000000..4a6dca70903d --- /dev/null +++ b/data/tables/copilot/matrix/jetbrains.yml @@ -0,0 +1,325 @@ +# Copilot feature support for JetBrains. +# +# versions Ordered newest-first. This is the display list: what is here is what renders. +# versionGroups Table groupings, also newest-first. Every version listed must appear in "versions". +# features Feature name -> version -> support level. +# Valid levels are defined in data/tables/copilot/matrix-meta.yml. +# notApplicable Optional. Features that do not apply to this IDE at all, rendered as "—" +# rather than "not supported". Omit the feature from "features" as well. +name: JetBrains +versionType: extension +versions: + - 1.5.66 + - 1.5.65 + - 1.5.64 + - 1.5.63 + - 1.5.62 + - 1.5.54 + - 1.5.53 + - 1.5.49 + - 1.5.45 + - 1.5.43 + - 1.5.41 + - 1.5.39 + - 1.5.0 + - 1.4.0 + - 1.0.1 + - 0.0.0 +versionGroups: + latest releases: + - 1.5.66 + - 1.5.65 + - 1.5.64 + - 1.5.63 + - 1.5.62 + 2026 releases: + - 1.5.66 + - 1.5.65 + - 1.5.64 + - 1.5.63 + 2025 releases: + - 1.5.62 + - 1.5.54 + - 1.5.53 + - 1.5.49 + - 1.5.45 + - 1.5.43 + - 1.5.41 + - 1.5.0 + - 1.0.1 + 2024 releases: + - 1.5.39 + - 1.4.0 +features: + Agent skills: + 1.5.66: preview + 1.5.65: preview + 1.5.64: preview + 1.5.63: not-supported + 1.5.62: not-supported + 1.5.54: not-supported + 1.5.53: not-supported + 1.5.49: not-supported + 1.5.45: not-supported + 1.5.43: not-supported + 1.5.41: not-supported + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + Agent mode: + 1.5.66: supported + 1.5.65: supported + 1.5.64: supported + 1.5.63: supported + 1.5.62: supported + 1.5.54: supported + 1.5.53: supported + 1.5.49: supported + 1.5.45: preview + 1.5.43: not-supported + 1.5.41: not-supported + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + BYOK: + 1.5.66: preview + 1.5.65: preview + 1.5.64: preview + 1.5.63: preview + 1.5.62: preview + 1.5.54: preview + 1.5.53: preview + 1.5.49: preview + 1.5.45: preview + 1.5.43: preview + 1.5.41: preview + 1.5.39: preview + 1.5.0: preview + 1.4.0: preview + 1.0.1: preview + 0.0.0: preview + Chat: + 1.5.66: supported + 1.5.65: supported + 1.5.64: supported + 1.5.63: supported + 1.5.62: supported + 1.5.54: supported + 1.5.53: supported + 1.5.49: supported + 1.5.45: supported + 1.5.43: supported + 1.5.41: supported + 1.5.39: supported + 1.5.0: supported + 1.4.0: preview + 1.0.1: not-supported + 0.0.0: not-supported + Checkpoints: + 1.5.66: supported + 1.5.65: supported + 1.5.64: supported + 1.5.63: supported + 1.5.62: supported + 1.5.54: not-supported + 1.5.53: not-supported + 1.5.49: not-supported + 1.5.45: not-supported + 1.5.43: not-supported + 1.5.41: not-supported + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + Code completion: + 1.5.66: supported + 1.5.65: supported + 1.5.64: supported + 1.5.63: supported + 1.5.62: supported + 1.5.54: supported + 1.5.53: supported + 1.5.49: supported + 1.5.45: supported + 1.5.43: supported + 1.5.41: supported + 1.5.39: supported + 1.5.0: supported + 1.4.0: supported + 1.0.1: supported + 0.0.0: preview + Code referencing: + 1.5.66: supported + 1.5.65: supported + 1.5.64: supported + 1.5.63: supported + 1.5.62: supported + 1.5.54: supported + 1.5.53: supported + 1.5.49: supported + 1.5.45: supported + 1.5.43: supported + 1.5.41: supported + 1.5.39: supported + 1.5.0: supported + 1.4.0: supported + 1.0.1: supported + 0.0.0: supported + Copilot code review: + 1.5.66: supported + 1.5.65: supported + 1.5.64: supported + 1.5.63: supported + 1.5.62: supported + 1.5.54: supported + 1.5.53: supported + 1.5.49: supported + 1.5.45: supported + 1.5.43: supported + 1.5.41: supported + 1.5.39: supported + 1.5.0: supported + 1.4.0: supported + 1.0.1: supported + 0.0.0: supported + Custom instructions: + 1.5.66: preview + 1.5.65: preview + 1.5.64: preview + 1.5.63: preview + 1.5.62: preview + 1.5.54: preview + 1.5.53: preview + 1.5.49: preview + 1.5.45: preview + 1.5.43: preview + 1.5.41: preview + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + Custom agents: + 1.5.66: preview + 1.5.65: preview + 1.5.64: preview + 1.5.63: preview + 1.5.62: preview + 1.5.54: not-supported + 1.5.53: not-supported + 1.5.49: not-supported + 1.5.45: not-supported + 1.5.43: not-supported + 1.5.41: not-supported + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + Edit mode: + 1.5.66: supported + 1.5.65: supported + 1.5.64: supported + 1.5.63: supported + 1.5.62: supported + 1.5.54: supported + 1.5.53: supported + 1.5.49: supported + 1.5.45: supported + 1.5.43: supported + 1.5.41: preview + 1.5.39: preview + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + MCP: + 1.5.66: supported + 1.5.65: supported + 1.5.64: supported + 1.5.63: supported + 1.5.62: supported + 1.5.54: supported + 1.5.53: supported + 1.5.49: preview + 1.5.45: preview + 1.5.43: not-supported + 1.5.41: not-supported + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + Next edit suggestions: + 1.5.66: preview + 1.5.65: preview + 1.5.64: preview + 1.5.63: preview + 1.5.62: preview + 1.5.54: preview + 1.5.53: not-supported + 1.5.49: not-supported + 1.5.45: not-supported + 1.5.43: not-supported + 1.5.41: not-supported + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + Prompt files: + 1.5.66: preview + 1.5.65: preview + 1.5.64: preview + 1.5.63: preview + 1.5.62: preview + 1.5.54: preview + 1.5.53: not-supported + 1.5.49: not-supported + 1.5.45: not-supported + 1.5.43: not-supported + 1.5.41: not-supported + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + Vision: + 1.5.66: preview + 1.5.65: preview + 1.5.64: preview + 1.5.63: preview + 1.5.62: preview + 1.5.54: preview + 1.5.53: preview + 1.5.49: preview + 1.5.45: preview + 1.5.43: preview + 1.5.41: preview + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported + Workspace indexing: + 1.5.66: supported + 1.5.65: supported + 1.5.64: supported + 1.5.63: supported + 1.5.62: supported + 1.5.54: not-supported + 1.5.53: not-supported + 1.5.49: not-supported + 1.5.45: not-supported + 1.5.43: not-supported + 1.5.41: not-supported + 1.5.39: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.0.1: not-supported + 0.0.0: not-supported diff --git a/data/tables/copilot/matrix/neovim.yml b/data/tables/copilot/matrix/neovim.yml new file mode 100644 index 000000000000..840939fb216a --- /dev/null +++ b/data/tables/copilot/matrix/neovim.yml @@ -0,0 +1,378 @@ +# Copilot feature support for NeoVim. +# +# versions Ordered newest-first. This is the display list: what is here is what renders. +# versionGroups Table groupings, also newest-first. Every version listed must appear in "versions". +# features Feature name -> version -> support level. +# Valid levels are defined in data/tables/copilot/matrix-meta.yml. +# notApplicable Optional. Features that do not apply to this IDE at all, rendered as "—" +# rather than "not supported". Omit the feature from "features" as well. +name: NeoVim +versionType: extension +versions: + - 1.18.0 + - 1.17.0 + - 1.16.0 + - 1.15.0 + - 1.14.0 + - 1.13.0 + - 1.12.0 + - 1.11.0 + - 1.10.0 + - 1.9.0 + - 1.8.0 + - 1.7.0 + - 1.6.0 + - 1.5.0 + - 1.4.0 + - 1.3.0 + - 1.2.0 + - 1.1.0 + - 1.0.0 + - 0.0.1 +versionGroups: + latest releases: + - 1.18.0 + - 1.17.0 + - 1.16.0 + - 1.15.0 + - 1.14.0 + 2024 releases: + - 1.18.0 + - 1.17.0 + - 1.16.0 + - 1.15.0 + - 1.14.0 + 2023 releases: + - 1.13.0 + - 1.12.0 + - 1.11.0 + - 1.10.0 + - 1.9.0 + 2022 releases: + - 1.8.0 + - 1.7.0 + - 1.6.0 + - 1.5.0 + - 1.4.0 + - 1.3.0 + - 1.2.0 + - 1.1.0 + 2021 releases: + - 1.0.0 + - 0.0.1 +features: + Agent skills: + 1.18.0: not-supported + 1.17.0: not-supported + 1.16.0: not-supported + 1.15.0: not-supported + 1.14.0: not-supported + 1.13.0: not-supported + 1.12.0: not-supported + 1.11.0: not-supported + 1.10.0: not-supported + 1.9.0: not-supported + 1.8.0: not-supported + 1.7.0: not-supported + 1.6.0: not-supported + 1.5.0: not-supported + 1.4.0: not-supported + 1.3.0: not-supported + 1.2.0: not-supported + 1.1.0: not-supported + 1.0.0: not-supported + 0.0.1: not-supported + Agent mode: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + BYOK: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Chat: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Checkpoints: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Code completion: + 0.0.1: preview + 1.0.0: supported + 1.1.0: supported + 1.2.0: supported + 1.3.0: supported + 1.4.0: supported + 1.5.0: supported + 1.6.0: supported + 1.7.0: supported + 1.8.0: supported + 1.9.0: supported + 1.10.0: supported + 1.11.0: supported + 1.12.0: supported + 1.13.0: supported + 1.14.0: supported + 1.15.0: supported + 1.16.0: supported + 1.17.0: supported + 1.18.0: supported + Code referencing: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Copilot code review: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Custom agents: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Custom instructions: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + MCP: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Next edit suggestions: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Prompt files: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Vision: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported + Workspace indexing: + 0.0.1: not-supported + 1.0.0: not-supported + 1.1.0: not-supported + 1.2.0: not-supported + 1.3.0: not-supported + 1.4.0: not-supported + 1.5.0: not-supported + 1.6.0: not-supported + 1.7.0: not-supported + 1.8.0: not-supported + 1.9.0: not-supported + 1.10.0: not-supported + 1.11.0: not-supported + 1.12.0: not-supported + 1.13.0: not-supported + 1.14.0: not-supported + 1.15.0: not-supported + 1.16.0: not-supported + 1.17.0: not-supported + 1.18.0: not-supported diff --git a/data/tables/copilot/matrix/visual-studio.yml b/data/tables/copilot/matrix/visual-studio.yml new file mode 100644 index 000000000000..601bc316327a --- /dev/null +++ b/data/tables/copilot/matrix/visual-studio.yml @@ -0,0 +1,69 @@ +# Copilot feature support for Visual Studio. +# +# versions Ordered newest-first. This is the display list: what is here is what renders. +# versionGroups Table groupings, also newest-first. Every version listed must appear in "versions". +# features Feature name -> version -> support level. +# Valid levels are defined in data/tables/copilot/matrix-meta.yml. +# notApplicable Optional. Features that do not apply to this IDE at all, rendered as "—" +# rather than "not supported". Omit the feature from "features" as well. +name: Visual Studio +versionType: ide +versions: + - 18.6.0 + - 17.14.0 +versionGroups: + latest releases: + - 18.6.0 + - 17.14.0 +features: + .NET Upgrade Agent: + 18.6.0: supported + 17.14.0: supported + Agent skills: + 18.6.0: supported + 17.14.0: not-supported + Agent mode: + 18.6.0: supported + 17.14.0: supported + BYOK: + 18.6.0: supported + 17.14.0: supported + Chat: + 18.6.0: supported + 17.14.0: supported + Checkpoints: + 18.6.0: supported + 17.14.0: supported + Code completion: + 18.6.0: supported + 17.14.0: supported + Code referencing: + 18.6.0: supported + 17.14.0: supported + Copilot code review: + 18.6.0: supported + 17.14.0: supported + Custom agents: + 18.6.0: supported + 17.14.0: not-supported + Custom instructions: + 18.6.0: supported + 17.14.0: supported + Edit mode: + 18.6.0: not-supported + 17.14.0: not-supported + MCP: + 18.6.0: supported + 17.14.0: supported + Next edit suggestions: + 18.6.0: supported + 17.14.0: supported + Prompt files: + 18.6.0: supported + 17.14.0: supported + Vision: + 18.6.0: supported + 17.14.0: supported + Workspace indexing: + 18.6.0: supported + 17.14.0: not-supported diff --git a/data/tables/copilot/matrix/vs-code.yml b/data/tables/copilot/matrix/vs-code.yml new file mode 100644 index 000000000000..11fb72d7b8d6 --- /dev/null +++ b/data/tables/copilot/matrix/vs-code.yml @@ -0,0 +1,441 @@ +# Copilot feature support for VS Code. +# +# versions Ordered newest-first. This is the display list: what is here is what renders. +# versionGroups Table groupings, also newest-first. Every version listed must appear in "versions". +# features Feature name -> version -> support level. +# Valid levels are defined in data/tables/copilot/matrix-meta.yml. +# notApplicable Optional. Features that do not apply to this IDE at all, rendered as "—" +# rather than "not supported". Omit the feature from "features" as well. +name: VS Code +versionType: ide +versions: + - 1.108.0 + - 1.107.0 + - 1.106.0 + - 1.105.0 + - 1.104.0 + - 1.103.0 + - 1.102.0 + - 1.101.0 + - 1.100.0 + - 1.99.0 + - 1.98.0 + - 1.97.0 + - 1.96.0 + - 1.95.0 + - 1.94.0 + - 1.80.0 + - 1.70.0 + - 1.60.0 + - 1.57.0 + - 0.0.0 +versionGroups: + latest releases: + - 1.108.0 + - 1.107.0 + - 1.106.0 + - 1.105.0 + - 1.104.0 + 2025 releases: + - 1.108.0 + - 1.107.0 + - 1.106.0 + - 1.105.0 + - 1.104.0 + - 1.103.0 + - 1.102.0 + - 1.101.0 + - 1.100.0 + - 1.99.0 + - 1.98.0 + - 1.97.0 + 2024 releases: + - 1.96.0 + - 1.95.0 + - 1.94.0 + 2023 releases: + - 1.80.0 + 2022 releases: + - 1.70.0 + 2021 releases: + - 1.60.0 + - 1.57.0 +features: + .NET Upgrade Agent: + 1.108.0: not-supported + 1.107.0: not-supported + 1.106.0: not-supported + 1.105.0: not-supported + 1.104.0: not-supported + 1.103.0: not-supported + 1.102.0: not-supported + 1.101.0: not-supported + 1.100.0: not-supported + 1.99.0: not-supported + 1.98.0: not-supported + 1.97.0: not-supported + 1.96.0: not-supported + 1.95.0: not-supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Agent skills: + 1.108.0: supported + 1.107.0: not-supported + 1.106.0: not-supported + 1.105.0: not-supported + 1.104.0: not-supported + 1.103.0: not-supported + 1.102.0: not-supported + 1.101.0: not-supported + 1.100.0: not-supported + 1.99.0: not-supported + 1.98.0: not-supported + 1.97.0: not-supported + 1.96.0: not-supported + 1.95.0: not-supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Agent mode: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: supported + 1.100.0: supported + 1.99.0: supported + 1.98.0: preview + 1.97.0: preview + 1.96.0: not-supported + 1.95.0: not-supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + BYOK: + 1.108.0: preview + 1.107.0: preview + 1.106.0: preview + 1.105.0: preview + 1.104.0: preview + 1.103.0: preview + 1.102.0: preview + 1.101.0: preview + 1.100.0: preview + 1.99.0: preview + 1.98.0: preview + 1.97.0: preview + 1.96.0: preview + 1.95.0: preview + 1.94.0: preview + 1.80.0: preview + 1.70.0: preview + 1.60.0: preview + 1.57.0: preview + 0.0.0: preview + Chat: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: supported + 1.100.0: supported + 1.99.0: supported + 1.98.0: supported + 1.97.0: supported + 1.96.0: supported + 1.95.0: supported + 1.94.0: supported + 1.80.0: supported + 1.70.0: supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Checkpoints: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: not-supported + 1.101.0: not-supported + 1.100.0: not-supported + 1.99.0: not-supported + 1.98.0: not-supported + 1.97.0: not-supported + 1.96.0: not-supported + 1.95.0: not-supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Code completion: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: supported + 1.100.0: supported + 1.99.0: supported + 1.98.0: supported + 1.97.0: supported + 1.96.0: supported + 1.95.0: supported + 1.94.0: supported + 1.80.0: supported + 1.70.0: supported + 1.60.0: supported + 1.57.0: preview + 0.0.0: not-supported + Code referencing: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: supported + 1.100.0: supported + 1.99.0: supported + 1.98.0: supported + 1.97.0: supported + 1.96.0: supported + 1.95.0: supported + 1.94.0: supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Copilot code review: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: supported + 1.100.0: supported + 1.99.0: supported + 1.98.0: preview + 1.97.0: preview + 1.96.0: preview + 1.95.0: preview + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Custom agents: + 1.108.0: supported + 1.107.0: supported + 1.106.0: preview + 1.105.0: preview + 1.104.0: preview + 1.103.0: preview + 1.102.0: preview + 1.101.0: preview + 1.100.0: not-supported + 1.99.0: not-supported + 1.98.0: not-supported + 1.97.0: not-supported + 1.96.0: not-supported + 1.95.0: not-supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Custom instructions: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: supported + 1.100.0: supported + 1.99.0: supported + 1.98.0: supported + 1.97.0: preview + 1.96.0: preview + 1.95.0: preview + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Edit mode: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: supported + 1.100.0: supported + 1.99.0: supported + 1.98.0: supported + 1.97.0: supported + 1.96.0: preview + 1.95.0: preview + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Java Upgrade Agent: + 1.108.0: preview + 1.107.0: preview + 1.106.0: preview + 1.105.0: preview + 1.104.0: preview + 1.103.0: preview + 1.102.0: preview + 1.101.0: preview + 1.100.0: preview + 1.99.0: preview + 1.98.0: preview + 1.97.0: preview + 1.96.0: preview + 1.95.0: preview + 1.94.0: preview + 1.80.0: preview + 1.70.0: preview + 1.60.0: preview + 1.57.0: preview + 0.0.0: preview + MCP: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: preview + 1.100.0: preview + 1.99.0: preview + 1.98.0: not-supported + 1.97.0: not-supported + 1.96.0: not-supported + 1.95.0: not-supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Next edit suggestions: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: supported + 1.100.0: supported + 1.99.0: supported + 1.98.0: preview + 1.97.0: preview + 1.96.0: not-supported + 1.95.0: not-supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Prompt files: + 1.108.0: supported + 1.107.0: supported + 1.106.0: preview + 1.105.0: preview + 1.104.0: preview + 1.103.0: preview + 1.102.0: preview + 1.101.0: preview + 1.100.0: preview + 1.99.0: preview + 1.98.0: preview + 1.97.0: preview + 1.96.0: not-supported + 1.95.0: not-supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Vision: + 1.108.0: preview + 1.107.0: preview + 1.106.0: preview + 1.105.0: preview + 1.104.0: preview + 1.103.0: preview + 1.102.0: preview + 1.101.0: preview + 1.100.0: preview + 1.99.0: preview + 1.98.0: preview + 1.97.0: preview + 1.96.0: not-supported + 1.95.0: not-supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported + Workspace indexing: + 1.108.0: supported + 1.107.0: supported + 1.106.0: supported + 1.105.0: supported + 1.104.0: supported + 1.103.0: supported + 1.102.0: supported + 1.101.0: supported + 1.100.0: supported + 1.99.0: supported + 1.98.0: supported + 1.97.0: supported + 1.96.0: supported + 1.95.0: supported + 1.94.0: not-supported + 1.80.0: not-supported + 1.70.0: not-supported + 1.60.0: not-supported + 1.57.0: not-supported + 0.0.0: not-supported diff --git a/data/tables/copilot/matrix/xcode.yml b/data/tables/copilot/matrix/xcode.yml new file mode 100644 index 000000000000..4a28d9cda9ab --- /dev/null +++ b/data/tables/copilot/matrix/xcode.yml @@ -0,0 +1,461 @@ +# Copilot feature support for Xcode. +# +# versions Ordered newest-first. This is the display list: what is here is what renders. +# versionGroups Table groupings, also newest-first. Every version listed must appear in "versions". +# features Feature name -> version -> support level. +# Valid levels are defined in data/tables/copilot/matrix-meta.yml. +# notApplicable Optional. Features that do not apply to this IDE at all, rendered as "—" +# rather than "not supported". Omit the feature from "features" as well. +name: Xcode +versionType: extension +versions: + - 0.46.0 + - 0.45.0 + - 0.44.0 + - 0.43.0 + - 0.42.0 + - 0.41.0 + - 0.40.0 + - 0.39.0 + - 0.38.0 + - 0.37.0 + - 0.36.0 + - 0.35.0 + - 0.34.0 + - 0.33.0 + - 0.32.0 + - 0.31.0 + - 0.30.0 + - 0.29.0 + - 0.28.0 + - 0.27.0 + - 0.26.0 + - 0.25.0 + - 0.24.0 + - 0.23.0 + - 0.0.0 +versionGroups: + latest releases: + - 0.46.0 + - 0.45.0 + - 0.44.0 + - 0.43.0 + - 0.42.0 + 2025 releases: + - 0.46.0 + - 0.45.0 + - 0.44.0 + - 0.43.0 + - 0.42.0 + - 0.41.0 + - 0.40.0 + - 0.39.0 + - 0.38.0 + - 0.37.0 + - 0.36.0 + - 0.35.0 + - 0.34.0 + - 0.33.0 + - 0.32.0 + - 0.31.0 + - 0.30.0 + 2024 releases: + - 0.29.0 + - 0.28.0 + - 0.27.0 + - 0.26.0 + - 0.25.0 + - 0.24.0 + - 0.23.0 + - 0.0.0 +features: + Agent skills: + 0.46.0: not-supported + 0.45.0: not-supported + 0.44.0: not-supported + 0.43.0: not-supported + 0.42.0: not-supported + 0.41.0: not-supported + 0.40.0: not-supported + 0.39.0: not-supported + 0.38.0: not-supported + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Agent mode: + 0.46.0: supported + 0.45.0: supported + 0.44.0: supported + 0.43.0: supported + 0.42.0: supported + 0.41.0: supported + 0.40.0: supported + 0.39.0: supported + 0.38.0: supported + 0.37.0: preview + 0.36.0: preview + 0.35.0: preview + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + BYOK: + 0.46.0: preview + 0.45.0: preview + 0.44.0: preview + 0.43.0: preview + 0.42.0: preview + 0.41.0: not-supported + 0.40.0: not-supported + 0.39.0: not-supported + 0.38.0: not-supported + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Chat: + 0.46.0: supported + 0.45.0: supported + 0.44.0: supported + 0.43.0: supported + 0.42.0: supported + 0.41.0: supported + 0.40.0: supported + 0.39.0: supported + 0.38.0: supported + 0.37.0: supported + 0.36.0: supported + 0.35.0: supported + 0.34.0: supported + 0.33.0: supported + 0.32.0: supported + 0.31.0: preview + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Checkpoints: + 0.46.0: supported + 0.45.0: supported + 0.44.0: supported + 0.43.0: not-supported + 0.42.0: not-supported + 0.41.0: not-supported + 0.40.0: not-supported + 0.39.0: not-supported + 0.38.0: not-supported + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Code completion: + 0.46.0: supported + 0.45.0: supported + 0.44.0: supported + 0.43.0: supported + 0.42.0: supported + 0.41.0: supported + 0.40.0: supported + 0.39.0: supported + 0.38.0: supported + 0.37.0: supported + 0.36.0: supported + 0.35.0: supported + 0.34.0: supported + 0.33.0: supported + 0.32.0: supported + 0.31.0: supported + 0.30.0: preview + 0.29.0: preview + 0.28.0: preview + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Code referencing: + 0.46.0: not-supported + 0.45.0: not-supported + 0.44.0: not-supported + 0.43.0: not-supported + 0.42.0: not-supported + 0.41.0: not-supported + 0.40.0: not-supported + 0.39.0: not-supported + 0.38.0: not-supported + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Copilot code review: + 0.46.0: supported + 0.45.0: supported + 0.44.0: supported + 0.43.0: supported + 0.42.0: supported + 0.41.0: supported + 0.40.0: not-supported + 0.39.0: not-supported + 0.38.0: not-supported + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Custom agents: + 0.46.0: preview + 0.45.0: preview + 0.44.0: not-supported + 0.43.0: not-supported + 0.42.0: not-supported + 0.41.0: not-supported + 0.40.0: not-supported + 0.39.0: not-supported + 0.38.0: not-supported + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Custom instructions: + 0.46.0: preview + 0.45.0: preview + 0.44.0: preview + 0.43.0: preview + 0.42.0: preview + 0.41.0: preview + 0.40.0: preview + 0.39.0: preview + 0.38.0: preview + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + MCP: + 0.46.0: supported + 0.45.0: supported + 0.44.0: supported + 0.43.0: supported + 0.42.0: supported + 0.41.0: supported + 0.40.0: preview + 0.39.0: preview + 0.38.0: preview + 0.37.0: preview + 0.36.0: preview + 0.35.0: preview + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Next edit suggestions: + 0.46.0: preview + 0.45.0: preview + 0.44.0: not-supported + 0.43.0: not-supported + 0.42.0: not-supported + 0.41.0: not-supported + 0.40.0: not-supported + 0.39.0: not-supported + 0.38.0: not-supported + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Prompt files: + 0.46.0: preview + 0.45.0: preview + 0.44.0: preview + 0.43.0: preview + 0.42.0: preview + 0.41.0: not-supported + 0.40.0: not-supported + 0.39.0: not-supported + 0.38.0: not-supported + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Vision: + 0.46.0: preview + 0.45.0: preview + 0.44.0: preview + 0.43.0: preview + 0.42.0: preview + 0.41.0: preview + 0.40.0: preview + 0.39.0: preview + 0.38.0: preview + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported + Workspace indexing: + 0.46.0: not-supported + 0.45.0: not-supported + 0.44.0: not-supported + 0.43.0: not-supported + 0.42.0: not-supported + 0.41.0: not-supported + 0.40.0: not-supported + 0.39.0: not-supported + 0.38.0: not-supported + 0.37.0: not-supported + 0.36.0: not-supported + 0.35.0: not-supported + 0.34.0: not-supported + 0.33.0: not-supported + 0.32.0: not-supported + 0.31.0: not-supported + 0.30.0: not-supported + 0.29.0: not-supported + 0.28.0: not-supported + 0.27.0: not-supported + 0.26.0: not-supported + 0.25.0: not-supported + 0.24.0: not-supported + 0.23.0: not-supported + 0.0.0: not-supported diff --git a/src/data-directory/lib/data-schemas/index.ts b/src/data-directory/lib/data-schemas/index.ts index 262102a123f8..c0c394b4e8cf 100644 --- a/src/data-directory/lib/data-schemas/index.ts +++ b/src/data-directory/lib/data-schemas/index.ts @@ -54,6 +54,11 @@ const manualSchemas: DataSchemas = { 'data/code-languages.yml': resolveSchemaPath('code-languages.ts'), 'data/glossaries/candidates.yml': resolveSchemaPath('glossaries-candidates.ts'), 'data/glossaries/external.yml': resolveSchemaPath('glossaries-external.ts'), + // Tables in subdirectories of data/tables are not picked up by loadTableSchemas(), + // which only reads the top level, so the matrix is registered explicitly here. + // The matrix/ entry is a directory schema: every per-IDE file is validated against it. + 'data/tables/copilot/matrix': resolveSchemaPath('tables/copilot/matrix-ide.ts'), + 'data/tables/copilot/matrix-meta.yml': resolveSchemaPath('tables/copilot/matrix-meta.ts'), } // Combine manual registrations with auto-discovered table schemas diff --git a/src/data-directory/lib/data-schemas/tables/copilot/copilot-matrix.ts b/src/data-directory/lib/data-schemas/tables/copilot/copilot-matrix.ts deleted file mode 100644 index aeaab295a71c..000000000000 --- a/src/data-directory/lib/data-schemas/tables/copilot/copilot-matrix.ts +++ /dev/null @@ -1,87 +0,0 @@ -export default { - type: 'object', - additionalProperties: false, - required: ['metadata', 'ides'], - properties: { - metadata: { - type: 'object', - additionalProperties: false, - required: ['title', 'supportLevels'], - properties: { - lastUpdated: { - type: 'string', - pattern: '^\\d{4}-\\d{2}-\\d{2}$', // YYYY-MM-DD format - }, - title: { - type: 'string', - lintable: true, - }, - supportLevels: { - type: 'array', - items: { - type: 'string', - enum: ['not-supported', 'preview', 'supported'], - }, - minItems: 3, - maxItems: 3, - }, - }, - }, - ides: { - type: 'object', - additionalProperties: false, - patternProperties: { - // More flexible pattern for IDE names - '^.+$': { - type: 'object', - additionalProperties: false, - required: ['versions', 'versionGroups', 'features'], - properties: { - versions: { - type: 'array', - items: { - type: 'string', - // More flexible version pattern to handle 0.0.0, 17.13.0, etc. - pattern: '^\\d+\\.\\d+\\.\\d+$', - }, - minItems: 1, - }, - versionGroups: { - type: 'object', - // Allow any property name for version groups - patternProperties: { - '^.+$': { - type: 'array', - items: { - type: 'string', - pattern: '^\\d+\\.\\d+\\.\\d+$', - }, - minItems: 1, - }, - }, - }, - additionalProperties: false, - features: { - type: 'object', - // Allow any feature name - patternProperties: { - '^.+$': { - type: 'object', - // Allow any version number as key - patternProperties: { - '^\\d+\\.\\d+\\.\\d+$': { - type: 'string', - enum: ['not-supported', 'preview', 'supported'], - }, - }, - additionalProperties: false, - }, - }, - additionalProperties: false, - }, - }, - }, - }, - }, - }, -} diff --git a/src/data-directory/lib/data-schemas/tables/copilot/matrix-ide.ts b/src/data-directory/lib/data-schemas/tables/copilot/matrix-ide.ts new file mode 100644 index 000000000000..e91ddcc37c4c --- /dev/null +++ b/src/data-directory/lib/data-schemas/tables/copilot/matrix-ide.ts @@ -0,0 +1,88 @@ +// Schema for the per-IDE files in data/tables/copilot/matrix/ +// +// Registered as a directory schema in src/data-directory/lib/data-schemas/index.ts, +// so every file added to that directory is validated against this shape. + +// Deliberately not an enum. The vocabulary is defined once, as data, in +// matrix-meta.yml, and is enforced against every IDE file by the +// 'every support level used is defined in matrix-meta' invariant in +// src/data-directory/tests/copilot-matrix.ts. Repeating the values here would +// be a fourth copy that can drift from the data — which is exactly what the +// schema this file replaces did: it was missing 'closing-down'. +const supportLevel = { + type: 'string', +} + +// Every version tracked here is 3-part, and that follows from what is tracked +// rather than from convention: four of the six files track the Copilot +// extension (marketplace versions are required to be x.y.z) and the two that +// track the IDE itself, VS Code and Visual Studio, version that way natively. +// Kept strict on purpose. It catches a dropped or added segment — the mistake +// an updater reading release notes is most likely to make, and one the +// cross-file invariants cannot see, since they only check that a version is +// used consistently, not that it is real. If an IDE genuinely changes +// versioning scheme, that is a deliberate decision: change this pattern and say +// why in the PR. +const VERSION_PATTERN = '^\\d+\\.\\d+\\.\\d+$' + +const copilotMatrixIdeSchema = { + type: 'object', + additionalProperties: false, + required: ['name', 'versionType', 'versions', 'versionGroups', 'features'], + properties: { + name: { + type: 'string', + description: 'Display name for the IDE, used as the summary table column header.', + lintable: true, + }, + versionType: { + type: 'string', + description: + 'Whether the version column tracks the IDE itself or the Copilot extension for it.', + enum: ['ide', 'extension'], + }, + versions: { + type: 'array', + description: 'Versions to display, ordered newest first.', + minItems: 1, + items: { + type: 'string', + pattern: VERSION_PATTERN, + }, + }, + versionGroups: { + type: 'object', + description: + 'Named groupings of versions, each rendered as its own table. Versions must also appear in `versions`.', + additionalProperties: { + type: 'array', + minItems: 1, + items: { + type: 'string', + pattern: VERSION_PATTERN, + }, + }, + }, + notApplicable: { + type: 'array', + description: + 'Features that do not apply to this IDE at all. Rendered as an em dash rather than "not supported".', + items: { + type: 'string', + }, + }, + features: { + type: 'object', + description: 'Feature name to a map of version to support level.', + additionalProperties: { + type: 'object', + patternProperties: { + [VERSION_PATTERN]: supportLevel, + }, + additionalProperties: false, + }, + }, + }, +} + +export default copilotMatrixIdeSchema diff --git a/src/data-directory/lib/data-schemas/tables/copilot/matrix-meta.ts b/src/data-directory/lib/data-schemas/tables/copilot/matrix-meta.ts new file mode 100644 index 000000000000..8853dc696125 --- /dev/null +++ b/src/data-directory/lib/data-schemas/tables/copilot/matrix-meta.ts @@ -0,0 +1,63 @@ +// Schema for data/tables/copilot/matrix-meta.yml +// +// Shared configuration for the Copilot IDE feature matrix. Per-IDE data lives in +// data/tables/copilot/matrix/.yml and is validated by matrix-ide.ts. + +const copilotMatrixMetaSchema = { + type: 'object', + additionalProperties: false, + required: ['title', 'supportLevels', 'ideOrder', 'featureOrder'], + properties: { + title: { + type: 'string', + lintable: true, + }, + supportLevels: { + type: 'array', + description: 'The support vocabulary. Drives the rendered key/legend on the page.', + minItems: 1, + items: { + type: 'object', + additionalProperties: false, + required: ['id', 'symbol', 'label'], + properties: { + id: { + type: 'string', + description: 'Value used in each IDE file under `features`.', + enum: ['not-supported', 'preview', 'supported', 'closing-down'], + }, + symbol: { + type: 'string', + description: 'Character rendered in table cells.', + }, + label: { + type: 'string', + description: 'Human-readable meaning, rendered in the key.', + lintable: true, + }, + }, + }, + }, + ideOrder: { + type: 'array', + description: + 'Column order in the summary table and section order on the page. Each entry must match a filename in matrix/ without the .yml extension.', + minItems: 1, + items: { + type: 'string', + }, + }, + featureOrder: { + type: 'array', + description: + 'Row order for the summary table. Any feature used by any IDE must be listed here or it will not render in the summary.', + minItems: 1, + items: { + type: 'string', + lintable: true, + }, + }, + }, +} + +export default copilotMatrixMetaSchema diff --git a/src/data-directory/tests/copilot-matrix.ts b/src/data-directory/tests/copilot-matrix.ts new file mode 100644 index 000000000000..d12ec6ae8f8e --- /dev/null +++ b/src/data-directory/tests/copilot-matrix.ts @@ -0,0 +1,199 @@ +import { readFileSync, readdirSync } from 'fs' +import { join } from 'path' + +import { load } from 'js-yaml' +import { describe, expect, test } from 'vitest' + +// Cross-file invariants for the Copilot IDE feature matrix. +// +// The JSON schemas validate each file in isolation. These tests cover the +// relationships *between* matrix-meta.yml and the per-IDE files, which is where +// a hand edit — or, later, an automated changelog-driven update — is most +// likely to introduce a silent error. +// +// "Silent" is the operative word: a missing or mistyped key does not raise an +// error, it renders as ✗ (not supported) to customers. + +const MATRIX_DIR = join(process.cwd(), 'data/tables/copilot/matrix') +const META_PATH = join(process.cwd(), 'data/tables/copilot/matrix-meta.yml') + +// Stands for "supported since before we tracked versions". Some IDEs list it in +// `versions` without putting it in a `versionGroup`, so it is the one version +// allowed to have no detail table. Removing it is a customer-visible content +// decision; until then it is excluded from the grouping invariant below. +const SENTINEL_VERSION = '0.0.0' + +type Ide = { + name: string + versionType: string + versions: string[] + versionGroups: Record + notApplicable?: string[] + features: Record> +} + +type Meta = { + title: string + supportLevels: { id: string; symbol: string; label: string }[] + ideOrder: string[] + featureOrder: string[] +} + +const meta = load(readFileSync(META_PATH, 'utf8')) as Meta + +const ideFilenames = readdirSync(MATRIX_DIR) + .filter((file) => file.endsWith('.yml')) + .map((file) => file.replace(/\.yml$/, '')) + +const ides: Record = Object.fromEntries( + ideFilenames.map((slug) => [ + slug, + load(readFileSync(join(MATRIX_DIR, `${slug}.yml`), 'utf8')) as Ide, + ]), +) + +describe('copilot matrix meta', () => { + test('ideOrder lists every file in the matrix directory', () => { + expect( + [...meta.ideOrder].sort(), + 'ideOrder in matrix-meta.yml must list every file in data/tables/copilot/matrix/. ' + + 'An IDE missing from ideOrder does not render at all; an extra entry renders an empty column.', + ).toEqual([...ideFilenames].sort()) + }) + + test('supportLevel ids are unique', () => { + const ids = meta.supportLevels.map((level) => level.id) + expect(new Set(ids).size).toBe(ids.length) + }) + + test('featureOrder has no duplicates', () => { + expect(new Set(meta.featureOrder).size).toBe(meta.featureOrder.length) + }) + + // A stale featureOrder entry that no IDE uses renders as a row of ✗ across + // every column of the summary table. + test('every featureOrder entry is used by at least one IDE', () => { + const used = new Set() + for (const ide of Object.values(ides)) { + for (const feature of Object.keys(ide.features)) used.add(feature) + for (const feature of ide.notApplicable || []) used.add(feature) + } + const unused = meta.featureOrder.filter((feature) => !used.has(feature)) + expect( + unused, + 'These features are in featureOrder in matrix-meta.yml but no IDE file uses them. ' + + 'They render as a row of ✗ across every column. Remove them from featureOrder, ' + + 'or add support data for them in at least one file in data/tables/copilot/matrix/.', + ).toEqual([]) + }) +}) + +describe.each(ideFilenames)('copilot matrix: %s', (slug) => { + const ide = ides[slug] + const knownVersions = new Set(ide.versions) + const knownLevels = new Set(meta.supportLevels.map((level) => level.id)) + + test('versions has no duplicates', () => { + expect( + new Set(ide.versions).size, + `${slug}.yml lists the same version more than once in 'versions'.`, + ).toBe(ide.versions.length) + }) + + test('every version in versionGroups also appears in versions', () => { + const missing: string[] = [] + for (const [groupName, groupVersions] of Object.entries(ide.versionGroups)) { + for (const version of groupVersions) { + if (!knownVersions.has(version)) missing.push(`${groupName} → ${version}`) + } + } + expect( + missing, + `${slug}.yml groups versions that are not in its 'versions' list. ` + + `Add each version to 'versions' as well, newest first.`, + ).toEqual([]) + }) + + // Only versions listed in a versionGroup are rendered as a detail table. A + // version in `versions` that is in no group is data customers cannot see — + // and the summary table reads `versions | first`, so if it is the newest one + // the page shows support data for a version with no detail table at all. + // This is the most likely mistake for an automated updater that appends to + // `versions` and forgets `versionGroups`, and checking only the newest + // version would miss a backfilled older one. + test('every version appears in at least one versionGroup', () => { + const grouped = new Set(Object.values(ide.versionGroups).flat()) + const ungrouped = ide.versions.filter( + (version) => version !== SENTINEL_VERSION && !grouped.has(version), + ) + expect( + ungrouped, + `${slug}.yml lists these versions in 'versions' but no versionGroup includes them, ` + + `so they have no detail table. Add each to the appropriate group in 'versionGroups'. ` + + `('${SENTINEL_VERSION}' is exempt — it is the "since before version tracking" sentinel.)`, + ).toEqual([]) + }) + + test('every version used in features also appears in versions', () => { + const unknown: string[] = [] + for (const [feature, cells] of Object.entries(ide.features)) { + for (const version of Object.keys(cells)) { + if (!knownVersions.has(version)) unknown.push(`${feature} → ${version}`) + } + } + expect( + unknown, + `${slug}.yml has support data for versions that are not in its 'versions' list. ` + + `Add the version to 'versions' and to a 'versionGroups' entry, or correct the typo.`, + ).toEqual([]) + }) + + test('every support level used is defined in matrix-meta', () => { + const invalid: string[] = [] + for (const [feature, cells] of Object.entries(ide.features)) { + for (const [version, level] of Object.entries(cells)) { + if (!knownLevels.has(level)) invalid.push(`${feature} @ ${version} → ${level}`) + } + } + expect( + invalid, + `${slug}.yml uses support levels that are not defined in matrix-meta.yml. ` + + `Valid levels are: ${[...knownLevels].join(', ')}. ` + + `Adding a new level also requires a new {% case %} branch in the template.`, + ).toEqual([]) + }) + + // Without this, a renamed or mistyped feature silently disappears from the + // "Features by IDE" summary table, which iterates featureOrder. + test('every feature is listed in matrix-meta featureOrder', () => { + const unlisted = Object.keys(ide.features).filter( + (feature) => !meta.featureOrder.includes(feature), + ) + expect( + unlisted, + `${slug}.yml has features that are missing from featureOrder in matrix-meta.yml. ` + + `They render in this IDE's own tables but are invisible in the summary table. ` + + `Add each one to featureOrder, positioned where the row should appear.`, + ).toEqual([]) + }) + + test('notApplicable features are not also given support data', () => { + const contradictory = (ide.notApplicable || []).filter((feature) => feature in ide.features) + expect( + contradictory, + `${slug}.yml lists these features in both 'notApplicable' and 'features'. ` + + `A feature is either not applicable to this IDE or it has support data, not both.`, + ).toEqual([]) + }) + + test('notApplicable features are listed in matrix-meta featureOrder', () => { + const unlisted = (ide.notApplicable || []).filter( + (feature) => !meta.featureOrder.includes(feature), + ) + expect( + unlisted, + `${slug}.yml marks these features 'notApplicable' but they are missing from ` + + `featureOrder in matrix-meta.yml, so the — cell will not render in the summary table.`, + ).toEqual([]) + }) +}) diff --git a/src/data-directory/tests/data-schemas.ts b/src/data-directory/tests/data-schemas.ts index a421a18bcf16..7dd168ade55b 100644 --- a/src/data-directory/tests/data-schemas.ts +++ b/src/data-directory/tests/data-schemas.ts @@ -31,7 +31,8 @@ for (const dataDir of directorySchemas) { }) describe(dataDirectoryName, () => { - test.each(yamlFileList)('%p', async (yamlAbsPath) => { + // '%s' rather than '%p' so the failing filename appears in the test title. + test.each(yamlFileList)('%s', async (yamlAbsPath) => { const yamlContent = load(readFileSync(yamlAbsPath, 'utf8')) const isValid = validate(yamlContent) const formattedErrors = isValid ? undefined : formatAjvErrors(validate.errors || []) @@ -41,7 +42,7 @@ for (const dataDir of directorySchemas) { } describe('single data files', () => { - test.each(singleFilesSchemas)('%p', async (filepath) => { + test.each(singleFilesSchemas)('%s', async (filepath) => { const ymlData = load(readFileSync(filepath, 'utf8')) const schema = (await import(dataSchemas[filepath])).default const { isValid, errors } = validateJson(schema, ymlData) diff --git a/src/tests/helpers/schemas.ts b/src/tests/helpers/schemas.ts index 766419070047..cb35e6c84319 100644 --- a/src/tests/helpers/schemas.ts +++ b/src/tests/helpers/schemas.ts @@ -27,8 +27,18 @@ export const formatAjvErrors = (errors: ErrorObject[] = []): string => { additionalProperties = `: additional property is '${errorObj.params.additionalProperty}'` } + // ajv's enum message is "must be equal to one of the allowed values" but + // does not name them, which is not actionable when the schema lives in a + // different file than the data being validated + let allowedValues = '' + + if (errorObj.keyword === 'enum' && Array.isArray(errorObj.params.allowedValues)) { + const values = errorObj.params.allowedValues.map((value) => `'${value}'`).join(', ') + allowedValues = `: allowed values are ${values}` + } + if (split.length === 0) { - return `at '/' (top-level): ${errorObj.message}${additionalProperties}` + return `at '/' (top-level): ${errorObj.message}${additionalProperties}${allowedValues}` } const schemaErrorPath = split @@ -41,7 +51,7 @@ export const formatAjvErrors = (errors: ErrorObject[] = []): string => { }) .join(' > ') - return `at '${schemaErrorPath}': ${errorObj.message}${additionalProperties}` + return `at '${schemaErrorPath}': ${errorObj.message}${additionalProperties}${allowedValues}` }) .join('\n ') }