Releases: intitni/CopilotForXcode
0.24.1
Please run Copilot for Xcode.app once and restart Xcode to finish the update.
- Prevent tab to accept suggestion when a modifier key is pressed.
New in 0.24.0
-
Introduce the experimental
@project
scope for chat that allows the bot to read your project. The current implementation is just a proof of concept, so don't expect it to work well.If you have any ideas about the
@project
scope, feel free to share them in the release discussion! I value your input on ideas like what information the bot should be able to provide about a project. -
Support setting models for prompt to code.
-
Support overriding chat model and temperature in a chat tab (right-click on the tab item to open the menu).
-
Bump Codeium to 1.2.93.
-
Bump GitHub Copilot to 1.10.3.
-
Fix project path detection when the workspace/project is in a git submodule or git worktree.
-
Some minor fixes.
0.24.0
Please run Copilot for Xcode.app once and restart Xcode to finish the update.
-
Support setting models for prompt to code.
-
Support overriding chat model and temperature in a chat tab (right-click on the tab item to open the menu).
-
Introduce the experimental
@project
scope for chat that allows the bot to read your project. The current implementation is just a proof of concept, so don't expect it to work well.If you have any ideas about the
@project
scope, feel free to share them in the release discussion! I value your input on ideas like what information the bot should be able to provide about a project. -
Bump Codeium to 1.2.93.
-
Bump GitHub Copilot to 1.10.3.
-
Fix project path detection when the workspace/project is in a git submodule or git worktree.
-
Some minor fixes.
0.23.2
Please run Copilot for Xcode.app once and restart Xcode to finish the update.
- Bump GitHub Copilot to 1.10.2
- Bump Codeium to 1.2.85
New in 0.23.1
-
Replace the OpenAI/Azure OpenAI settings page with Chat Models and Embedding Models settings.
- Support adding models with an OpenAI style API. (e.g. LocalAI)
- Support toggling function calling for each model.
- Use keychain to store the API keys.
Your settings should be migrated automatically once the service app launches after the update. If it fails, I am sorry ( •̅_•̅ ).
-
Prompt to Code:
- Support detaching prompt to code panel to the piece of code it's mutating. After detaching, you can accept the code anywhere you want.
- It will recover the indentation after updating the selected code.
- It now knows about the selected code range's line annotations (warnings, errors). So you can ask it to fix the errors.
- Support using command+L to focus on the input field.
-
Support Codeium enterprise.
-
Support editing, and reordering browser tab bookmarks.
-
Support using command+L to focus on the chat tab input field.
-
Some bug fixes in accepting suggestions.
-
Some other fixes.
0.23.1
Please run Copilot for Xcode.app once and restart Xcode to finish the update.
-
Replace the OpenAI/Azure OpenAI settings page with Chat Models and Embedding Models settings.
- Support adding models with an OpenAI style API. (e.g. LocalAI)
- Support toggling function calling for each model.
- Use keychain to store the API keys.
Your settings should be migrated automatically once the service app launches after the update. If it fails, I am sorry ( •̅_•̅ ).
-
Prompt to Code:
- Support detaching prompt to code panel to the piece of code it's mutating. After detaching, you can accept the code anywhere you want.
- It will recover the indentation after updating the selected code.
- It now knows about the selected code range's line annotations (warnings, errors). So you can ask it to fix the errors.
- Support using command+L to focus on the input field.
-
Support Codeium enterprise.
-
Support editing, and reordering browser tab bookmarks.
-
Support using command+L to focus on the chat tab input field.
-
Some bug fixes in accepting suggestions.
-
Some other fixes.
0.22.3
Please restart Xcode and run Copilot for Xcode.app once to finish the update.
-
Fix #341 . The default behavior of loading GitHub Copilot language server is changed, the app will no longer fetch the user defined PATH from shell if the "Run Node with" is set to "/usr/bin/env". It will use
/opt/homebrew/bin:/opt/homebrew/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin
instead.If you are leaving the "Path to Node" field blank, and your Node is not inside the paths above, you may have to update the settings.
-
Fix keyboard shortcut conflict in chat panel tabs.
-
Fix that the service app may crash when you switch windows.
-
Add more descriptions to GitHub Copilot settings.
New in 0.22.2
- Fix broken purchase license link.
- Fix that opening new browser tab will disable the observations in previous browser tabs.
New in 0.22.0
- (Plus, free to try before 2023-08-26) Accept suggestion with Tab, go turn it on in the settings!
- (Plus, free to try before 2023-08-26) Persisted chat tabs and browser tabs.
- (Plus) Browser tab:
- Fix that rewrite content was not working.
- Support rewriting content inside shadow dom (e.g. Bing Chat), and some
contenteditable
(e.g. Linear.app). - Support right click - open in new window. It will now open the link in another tab.
- Fix that
target="_blank"
links were unable to open.
- You can now hide the accept and reject buttons on the suggestion panel to have a more compact look.
- When the circular widget is hidden, it will display the animation when fetching suggestion.
- Fix the terrible transition when accepting prompt to code suggestion with continuous mode on.
- Make the chat bot know the current time.
- Remove Splash, use Highlight.js to highlight all the languages. Bump Highlight.js to 11.8.0.
Pull Requests
- Feature/function calling fallback by @intitni in #329
- Support hiding buttons in suggestion panel by @intitni in #330
- Handle target blank link browser tab by @intitni in #331
- Bump highlightjs version. Remove Splash. by @intitni in #332
- Persisted chat by @intitni in #333
- Tab to accept suggestion by @intitni in #339
- Circular widget animation when hidden by @intitni in #340
Full Changelog: 0.21.2...0.22.0
0.22.2
Please restart Xcode to finish the update.
- Fix broken purchase license link.
- Fix that opening new browser tab will disable the observations in previous browser tabs.
New in 0.22.0
- (Plus, free to try before 2023-08-26) Accept suggestion with Tab, go turn it on in the settings!
- (Plus, free to try before 2023-08-26) Persisted chat tabs and browser tabs.
- (Plus) Browser tab:
- Fix that rewrite content was not working.
- Support rewriting content inside shadow dom (e.g. Bing Chat), and some
contenteditable
(e.g. Linear.app). - Support right click - open in new window. It will now open the link in another tab.
- Fix that
target="_blank"
links were unable to open.
- You can now hide the accept and reject buttons on the suggestion panel to have a more compact look.
- When the circular widget is hidden, it will display the animation when fetching suggestion.
- Fix the terrible transition when accepting prompt to code suggestion with continuous mode on.
- Make the chat bot know the current time.
- Remove Splash, use Highlight.js to highlight all the languages. Bump Highlight.js to 11.8.0.
Pull Requests
- Feature/function calling fallback by @intitni in #329
- Support hiding buttons in suggestion panel by @intitni in #330
- Handle target blank link browser tab by @intitni in #331
- Bump highlightjs version. Remove Splash. by @intitni in #332
- Persisted chat by @intitni in #333
- Tab to accept suggestion by @intitni in #339
- Circular widget animation when hidden by @intitni in #340
Full Changelog: 0.21.2...0.22.0
0.22.1
Please restart Xcode to finish the update.
- Fix that opening new browser tab will disable the observations in previous browser tabs.
New in 0.22.0
- (Plus, free to try before 2023-08-26) Accept suggestion with Tab, go turn it on in the settings!
- (Plus, free to try before 2023-08-26) Persisted chat tabs and browser tabs.
- (Plus) Browser tab:
- Fix that rewrite content was not working.
- Support rewriting content inside shadow dom (e.g. Bing Chat), and some
contenteditable
(e.g. Linear.app). - Support right click - open in new window. It will now open the link in another tab.
- Fix that
target="_blank"
links were unable to open.
- You can now hide the accept and reject buttons on the suggestion panel to have a more compact look.
- When the circular widget is hidden, it will display the animation when fetching suggestion.
- Fix the terrible transition when accepting prompt to code suggestion with continuous mode on.
- Make the chat bot know the current time.
- Remove Splash, use Highlight.js to highlight all the languages. Bump Highlight.js to 11.8.0.
Pull Requests
- Feature/function calling fallback by @intitni in #329
- Support hiding buttons in suggestion panel by @intitni in #330
- Handle target blank link browser tab by @intitni in #331
- Bump highlightjs version. Remove Splash. by @intitni in #332
- Persisted chat by @intitni in #333
- Tab to accept suggestion by @intitni in #339
- Circular widget animation when hidden by @intitni in #340
Full Changelog: 0.21.2...0.22.0
0.22.0
Please restart Xcode to finish the update.
- (Plus, free to try before 2023-08-26) Accept suggestion with Tab, go turn it on in the settings!
- (Plus, free to try before 2023-08-26) Persisted chat tabs and browser tabs.
- (Plus) Browser tab:
- Fix that rewrite content was not working.
- Support rewriting content inside shadow dom (e.g. Bing Chat), and some
contenteditable
(e.g. Linear.app). - Support right click - open in new window. It will now open the link in another tab.
- Fix that
target="_blank"
links were unable to open.
- You can now hide the accept and reject buttons on the suggestion panel to have a more compact look.
- When the circular widget is hidden, it will display the animation when fetching suggestion.
- Fix the terrible transition when accepting prompt to code suggestion with continuous mode on.
- Make the chat bot know the current time.
- Remove Splash, use Highlight.js to highlight all the languages. Bump Highlight.js to 11.8.0.
Pull Requests
- Feature/function calling fallback by @intitni in #329
- Support hiding buttons in suggestion panel by @intitni in #330
- Handle target blank link browser tab by @intitni in #331
- Bump highlightjs version. Remove Splash. by @intitni in #332
- Persisted chat by @intitni in #333
- Tab to accept suggestion by @intitni in #339
- Circular widget animation when hidden by @intitni in #340
Full Changelog: 0.21.2...0.22.0
0.21.2
Please restart Xcode to finish the update.
Add a toggle to disable function calling in advanced settings.
you can disable it if you have no control over the model you are using for chat, and the model doesn't support function calling.
@web
scope and some features of the @code
scope will not work without function calling.
New in 0.21.1
- Fix that command+w can't close chat tabs.
- Fix that the project can't be built without the private submodule.
New in 0.21.0
Introducing Copilot for Xcode Plus!
Back in the beginning of 2023, I created the initial version of the source editor extension for GitHub Copilot, which injects suggestions into the code as comments. I never imagined that it would evolve into what it is today.
While most of what was free and open-source will remain free and open-source. I would like to introduce the Plus license key which unlocks a subset of the new features. I kindly ask you to consider getting a license key to support the development of this project!
The very first plus features are:
- Browser tab.
- Unlimited number of custom commands (non-plus users will have a limit of 10 commands (´・ω・`)).
What’s New
-
Replace selection and file scope with file and code scope.
- The file scope enables the chatbot to read the metadata of the edited file. The code scope enables the chatbot to read both the metadata and content of the edited file.
- The
@code
scope now parses the AST (Swift only at the moment) of the file so it knows more context of the file, like what is imported and what type or function the selected code is in. - When there is no selected code, it can get the focused code base on the cursor position.
-
(Plus) Browser tab
You can now use your favorite web tools from the chat panel. The context menu has been enhanced, allowing you to perform the following actions while editing text:- paste selected code / file content.
- paste selected code / file content in Markdown.
- rewrite selected text with custom commands.
When you are not editing text, you can still run custom commands on any selected text.
Known issue:
- active elements inside shadow dom and
contenteditable
divs are not yet supported. - open in new tab is not yet handled.
-
Create new chat tab with custom chat commands.
-
Chat panel now supports switch tabs with
shift+command+]
andshift+command+[
. -
Web page query with
@web
scope should be faster now. -
You can now hide the circular widget. #307
-
Move the chat context menu to tab bar.
-
Move the pin chat panel button to the title bar of chat panel.
-
Use SMAppService to setup launch agent. If you are building the app yourself, don’t forget to update the launchAgent.plist file in the project. #266
-
Bump Codeium to 1.2.57
-
Update Azure OpenAI API to 07-01 preview which supports function calling. (Please update the model version of your deployment tot 0613)
-
Make the ChatGPT service compatible with LocalAI, but you should use a model that supports function calling, or configure it to completely ignore function calling. #308
-
Prevent reading large files. #316
Pull Requests
- Browser chat tab by @intitni in #299
- Chat panel keyboard shortcuts by @intitni in #312
- Feature/browser tab inserting and processing by @intitni in #313
- Azure OpenAI 2023-07-01-preview by @intitni in #318
- Bump Codeium version to 1.2.57 by @intitni in #319
- Feature/adjust browser tab processed content presentation by @intitni in #320
- Disallow reading large files in Filespace by @intitni in #321
- Feature/allow hiding circular widget by @intitni in #322
- Make local models usable as an OpenAI replacement by @intitni in #323
- Use SMAppService to setup launch agent by @intitni in #324
- Update retrieval chain to only gather information by @intitni in #325
- Code scope with AST support by @intitni in #326
Full Changelog: 0.20.1...0.21.0
0.21.1
- Fix that command+w can't close chat tabs.
- Fix that the project can't be built without the private submodule.
New in 0.21.0
Introducing Copilot for Xcode Plus!
Back in the beginning of 2023, I created the initial version of the source editor extension for GitHub Copilot, which injects suggestions into the code as comments. I never imagined that it would evolve into what it is today.
While most of what was free and open-source will remain free and open-source. I would like to introduce the Plus license key which unlocks a subset of the new features. I kindly ask you to consider getting a license key to support the development of this project!
The very first plus features are:
- Browser tab.
- Unlimited number of custom commands (non-plus users will have a limit of 10 commands (´・ω・`)).
What’s New
-
Replace selection and file scope with file and code scope.
- The file scope enables the chatbot to read the metadata of the edited file. The code scope enables the chatbot to read both the metadata and content of the edited file.
- The
@code
scope now parses the AST (Swift only at the moment) of the file so it knows more context of the file, like what is imported and what type or function the selected code is in. - When there is no selected code, it can get the focused code base on the cursor position.
-
(Plus) Browser tab
You can now use your favorite web tools from the chat panel. The context menu has been enhanced, allowing you to perform the following actions while editing text:- paste selected code / file content.
- paste selected code / file content in Markdown.
- rewrite selected text with custom commands.
When you are not editing text, you can still run custom commands on any selected text.
Known issue:
- active elements inside shadow dom and
contenteditable
divs are not yet supported. - open in new tab is not yet handled.
-
Create new chat tab with custom chat commands.
-
Chat panel now supports switch tabs with
shift+command+]
andshift+command+[
. -
Web page query with
@web
scope should be faster now. -
You can now hide the circular widget. #307
-
Move the chat context menu to tab bar.
-
Move the pin chat panel button to the title bar of chat panel.
-
Use SMAppService to setup launch agent. If you are building the app yourself, don’t forget to update the launchAgent.plist file in the project. #266
-
Bump Codeium to 1.2.57
-
Update Azure OpenAI API to 07-01 preview which supports function calling. (Please update the model version of your deployment tot 0613)
-
Make the ChatGPT service compatible with LocalAI, but you should use a model that supports function calling, or configure it to completely ignore function calling. #308
-
Prevent reading large files. #316
Pull Requests
- Browser chat tab by @intitni in #299
- Chat panel keyboard shortcuts by @intitni in #312
- Feature/browser tab inserting and processing by @intitni in #313
- Azure OpenAI 2023-07-01-preview by @intitni in #318
- Bump Codeium version to 1.2.57 by @intitni in #319
- Feature/adjust browser tab processed content presentation by @intitni in #320
- Disallow reading large files in Filespace by @intitni in #321
- Feature/allow hiding circular widget by @intitni in #322
- Make local models usable as an OpenAI replacement by @intitni in #323
- Use SMAppService to setup launch agent by @intitni in #324
- Update retrieval chain to only gather information by @intitni in #325
- Code scope with AST support by @intitni in #326
Full Changelog: 0.20.1...0.21.0