Thismonth, wemadesomebig improvements to GitHub Copilot! Copilot Chat is now powered by GPT-4 and we updated the model used to detect off-topic chat queries. In VS Code, we are announcing the public beta of code referencing. We also introduced “agents” and the ability to generate commit messages with Copilot. In addition, we improved the context for explaining code and updated the Copilot menu UI. In JetBrains IDEs, we introduced partial acceptance of code suggestions.
Copilot Chat ispoweredbyGPT–4
WeupgradedtheCopilotChat experience, bringing more accurate and useful code suggestions with OpenAI‘s GPT–4model.
Off–topicmodelimprovementsforCopilotChat
As part of our safety features, we‘veimproved our off-topic model to detect chat queries which do not relate to programming. This should result in significantly fewerfilteredresponses.
Codereferencing in VS CodeisnowinPublicBeta
InAugust, we announced the Private Beta of code referencing in VS Code. This feature searches across billions of files on public GitHubrepositories for code that matches a Copilot suggestion. Sincethen, we’ve heard your feedback, and we’re shipping with a new and redesigned experience. One of the top points offeedback was that the original flow resulted in too many notifications. To fix this, if there’samatch, users will find its information displayed in the Copilot console log, including where the match occurred, any applicable licenses, and a deep link to learnmore. If you are interested in code references, you can refer to the window, otherwise, it won’t be in your way.
Thedeep link will now take you to a navigable page on GitHub.com to browse examples of the code match and their repository licenses, andsee how many repositories — including ones without licenses — that code appears in, as well as links to those repositories.
Wehaveintroduced a new capability called “agents” to enhance your interaction with Copilot Chat. Agents are like specialized experts who canassist you with specific tasks. You can mention them in the chat using the @ symbol. Currently, there are two agents available:
@workspace: This agent has knowledge about the code in your workspace and can help you navigate it by finding relevant files or classes. The @workspace agent uses a meta prompt to determine what information to collect from the workspace to help answer your question.
@vscode: This agent is knowledgeable about commands and features in the VS Code editor itself, and can assist you in using them.
Eachagentalsosupportsslashcommands. The slash commands you may have used before should now be used with an agent. For example, /explain is now @workspace /explain.
Improvedexplanationcontext in Copilot Chat in VS Code
You can ask Copilot Chat to explain a code selection in your active editor either through the @workspace /explain command or through the “Explain with Copilot” action in thecontext menu. Copilot Chat has now integrated implementations of referenced symbols, suchasfunctions and classes, which leads to explanations that are more precise and useful. This works best across files when you have an extensioncontributinglanguage services installed for one of the following languages: TypeScript/JavaScript, Python, Java, C#, C++, Go, or Ruby.
Commit message generation using CopilotinVS Code
Copilot can now generatecommit messages based on the pendingchanges using the new “sparkle” action in the Source Control inputbox.
UpdatedCopilotmenuinVS Code
OurCopilotmenuinVS Code is nowmorevisibleand aligned with our design for JetBrains IDEs. It is now easier to understand the current status of Copilot, access the various settings or documentation.
Thenewmenu is displayedwhenclickingontheCopilot icon in the lower rightcorner in the statusbar of VS Code.
JetBrainspartialacceptance for codesuggestions
TheCopilotextension for JetBrains IDEs has leveled up! You now havetheflexibility to incorporatecodesuggestions piece by piece, whether that’s word-by-word or line-by-line. Feel free to customize these shortcuts as you prefer. Happycoding!
Wewelcome your feedback on Copilot! Please join the discussionintheGitHubCommunity.
A GitHub codespace is a development environment provided by a container that runs on a virtual machine (VM). The development environment that the developer works within is defined by the dev container configuration. The VM configuration defines the operating system which builds and runs the dev container. GitHub maintains this VM configuration, and regularly upgrades it to improve security, functionality, and performance.
While our regular security patching does not impact capabilities, occasionally we need to upgrade components that may have an impact on the way the container environment functions in certain cases. Therefore, we are introducing a way to opt into the beta image configuration, allowing you to test the changes in your specific environments and provide feedback before we ship the changes to the stable image.
The upgraded host image is initially made available as a beta release, which enables you to ensure your existing dev container configurations are compatible with the next iteration of the VM configuration. Once enabled, all newly created or resumed codespaces will use the specified host configuration. This enables you to test your configurations without impacting other developers who use the same dev container. You may switch between the beta and stable host configurations at any time. Whenever you switch, all of your subsequently created or resumed codespaces will receive the configuration you specified. Changing this setting does not impact currently running codespaces.
Beginning January 8th, 2024, we will be making changes to the repository insights UI and API on GitHub for repositories with over 10,000 commits. The targeted UI and API have very low usage and rely on a legacy service we’re moving away from.
User Interface Updates
We are removing the following data:
Under Insights > Contributors, we are removing addition/deletion counts for repositories with over 10,000 commits, as well as the dropdown that shows the graphs associated with additions and deletions. All the commit counts and commit count graphs will remain unchanged.
Current page
Repos with over 10,000 commits after the change is made
Under Insights > Code Frequency, we will only show data for repos with under 10k commits.
Current page
Repos with over 10,000 commits after the change is made
REST API Modifications
Alongside the UI changes, the following API changes will be implemented:
The REST API responses for repositories with 10,000+ commits will report 0 values for the addition and deletion counts to improve performance. This impacts the /repos/{owner}/{repo}/stats/contributors endpoint to get all contributor commit activity
The /repos/{owner}/{repo}/stats/code_frequencyAPI endpoint will return a 422 status code for repos with 10,000 or more commits.
This is different from the previous two because this endpoint only returns additions/deletions, which we will no longer return for repos with over 10k commits. The previous two endpoints also return the total number of commits, which we will continue to generate.
For users who continue to need detailed addition and deletion statistics for large-scale repositories, we suggest using the following Git command, as described in the Git documentation: