Skip to content

Releases: intitni/CopilotForXcode

0.35.2

28 Nov 09:09
Compare
Choose a tag to compare

instruction

  • Support prompt caching for Anthropic through OpenRouter.
  • Support adding debug area as context.
  • Bump GitHub Copilot and Codeium language servers.
  • Fix that errors from GitHub Copilot Chat are not correctly handled.
  • Fix incorrect color space when syncing theme with Xcode.
  • Fix message text color in light mode.
  • Fix that the chat may hang if the context window is small but the app fail to truncate the context.

0.35.1

20 Nov 15:34
Compare
Choose a tag to compare

instruction

This release focuses on the chat and modification features.

Quick Fix

  • Fix that the chat doesn't have memory when the limit is set to no limit. #606
  • Update the file search to support fuzzy match.

Chat

Learn More

  • Updated prompt to make use of prompt caching from OpenAI and Anthropic.

Note

Prompt caching for Anthropic through OpenRouter is not supported yet.

  • Added the new chat tab to replace the old one.

    The old chat tab will not be automatically converted to the new one, so you need to manually start a new chat.

  • New chat UI that should be more readable.

  • New input field that comes with a context picker that allows you to better control the context of the chat.

    context-input
    • You can add context by clicking the + button and remove context by clicking the x button. You can also use the @ to add a context, the app will show the context list as you type.
    • (Plus, free trial) Unlimited contexts.
  • Display the file name of code block if detected.

  • Added apply button to code block to apply the suggested code to selection or active document.

apply-button

Note

This feature relies on the modification feature, so it doesn't work without a chat model yet.

  • Added create file button to code block to create a new file with the suggested code if the file doesn't exist yet.
  • Added run button to code block if the code block is a shell command or AppleScript.
run-button
  • Updated the copy button to draggable one so you can drag the button to the file tree to create a new file with the code block content.

Tip

Just in case you don't know, you can paste the code into the Xcode file tree to create a new file since Xcode 16.

  • (Plus, free trial) Send message to a specific agent using the @ symbol. But there is only one extra agent for now @casual.
  • (Plus, free trial) Send message without waiting for the response to complete.
  • The custom command will behave differently now. The extra system prompt will now be injected into the context as a topic. Topics will be put into the system prompt.
  • You can still use / to run a command.
  • Updated @sense scope behavior.
  • Updated @web scope to be RAG based.
  • Removed the scope settings from the host app. The settings are now in the context picker. You can click the added context to configure each context.
  • The custom system prompt will now be appended to the default system prompt. The default system prompt contains a bunch of rules about the response format, so you don't need to include those rules in the custom system prompt.

Modification

Learn More

  • Updated prompt to make use of prompt caching from OpenAI and Anthropic.
  • The same new input field that comes with a context picker that allows you to better control the context of the modification.
  • Display modifications in full diff.
  • Updated the copy button to draggable one so you can drag the button to the file tree to create a new file with the code block content.

Others

  • Added custom header field settings for OpenAI compatible models.
  • Added dimension settings for the embedding model.
  • Fix that the embedding feature doesn't work with models that has a different embedding dimension than the default one.
  • Fix that the web content retrieval always wait for the timeout.

0.35.0

20 Nov 08:04
Compare
Choose a tag to compare

instruction

This release focuses on the chat and modification features.

Chat

Learn More

  • Updated prompt to make use of prompt caching from OpenAI and Anthropic.

Note

Prompt caching for Anthropic through OpenRouter is not supported yet.

  • Added the new chat tab to replace the old one.

    The old chat tab will not be automatically converted to the new one, so you need to manually start a new chat.

  • New chat UI that should be more readable.

  • New input field that comes with a context picker that allows you to better control the context of the chat.

    context-input
    • You can add context by clicking the + button and remove context by clicking the x button. You can also use the @ to add a context, the app will show the context list as you type.
    • (Plus, free trial) Unlimited contexts.
  • Display the file name of code block if detected.

  • Added apply button to code block to apply the suggested code to selection or active document.

apply-button

Note

This feature relies on the modification feature, so it doesn't work without a chat model yet.

  • Added create file button to code block to create a new file with the suggested code if the file doesn't exist yet.
  • Added run button to code block if the code block is a shell command or AppleScript.
run-button
  • Updated the copy button to draggable one so you can drag the button to the file tree to create a new file with the code block content.

Tip

Just in case you don't know, you can paste the code into the Xcode file tree to create a new file since Xcode 16.

  • (Plus, free trial) Send message to a specific agent using the @ symbol. But there is only one extra agent for now @casual.
  • (Plus, free trial) Send message without waiting for the response to complete.
  • The custom command will behave differently now. The extra system prompt will now be injected into the context as a topic. Topics will be put into the system prompt.
  • You can still use / to run a command.
  • Updated @sense scope behavior.
  • Updated @web scope to be RAG based.
  • Removed the scope settings from the host app. The settings are now in the context picker. You can click the added context to configure each context.
  • The custom system prompt will now be appended to the default system prompt. The default system prompt contains a bunch of rules about the response format, so you don't need to include those rules in the custom system prompt.

Modification

Learn More

  • Updated prompt to make use of prompt caching from OpenAI and Anthropic.
  • The same new input field that comes with a context picker that allows you to better control the context of the modification.
  • Display modifications in full diff.
  • Updated the copy button to draggable one so you can drag the button to the file tree to create a new file with the code block content.

Others

  • Added custom header field settings for OpenAI compatible models.
  • Added dimension settings for the embedding model.
  • Fix that the embedding feature doesn't work with models that has a different embedding dimension than the default one.
  • Fix that the web content retrieval always wait for the timeout.

0.34.3

30 Oct 12:55
Compare
Choose a tag to compare

instruction

  • Fix that a chat tab may be registered to an empty id so that it's not available.
  • Fix that command+w is not closing chat tabs.
  • For Claude models, use -latest variant when possible.

0.35.0 beta

20 Oct 18:10
Compare
Choose a tag to compare
0.35.0 beta Pre-release
Pre-release

instruction

For any feedback please report to the release discussion.

Beta 3

  • Support Apply code block in chat to selection and active document. You can now see the progress in the modification panel.

    Screenshot 2024-11-06 at 17 21 52
  • Modification panel now supports full diff.

  • Bring plugins to the new chat panel, you can use /run to run a shell command now.

  • Add completion panel to the new chat panel. You can type / or @ to trigger auto complete. You can use it to mention a file or symbol from the message.
    Screenshot 2024-11-06 at 18 02 34

  • Update sense scope to detect relevant symbols from the whole file so hopefully it's more useful.

  • Other minor fixes.

What's New

  • Adds a new chat tab to replace the old one. The old chat tab will not be converted to the new one automatically, so you will need to manually start a new chat.

    The new things are:

    • New UI

      • The responses will make use of the full width of the window. The text contents will still have a max width so they are more readable when the window is too wide.
      • Reimplemnted the pin to bottom behavior.
    • New context picker that allows you to better control the context of the chat.

      new-context-picker

      You can add context by clicking the + button and remove context by clicking the x button. You can also use auto completion to add context to the chat by typing @.

    • Updated prompt format to better utilize prompt caching from OpenAI and Claude.

    • Apply button on the code block to apply the suggestions to the target file, the current file or the current selection. The chat will also prompt the chat models to indicates the target file of a code block.

      apply-button

      In this example, clicking the apply button will generate the new file content with the suggestion for the file Contents.swift. The new content will be presented in the modification window.

    • You can send multiple message at the same time withot waiting for the response.

    • The custom command will behave differently now. The extra system prompt will now be injected into the context as a topic. Topics will be put into the system prompt.

0.34.2

06 Oct 15:12
Compare
Choose a tag to compare

instruction

  • Bump Codeium language server to 1.20.9. Breaking change is introduced. If the auto update failed for you, please update it in the host app.
  • Fix a potential crash.

0.34.1

18 Sep 17:18
Compare
Choose a tag to compare

instruction

  • Fix that the widgets wouldn't follow when you switch space in macOS 15.

0.34.0

13 Sep 06:06
Compare
Choose a tag to compare

instruction

  • Rename Prompt to Code to Modification.

  • Modification now supports modifying multiple selections at the same time.

  • Suggestions and Modification now support displaying diffs (insertions only).

  • (Free Trial) Add suggestion cheatsheet "Instructed Suggestions".

    When this cheatsheet is on, you can use \\\ instructions to instruct the suggestions. For example, typing .frame\\\width 30 height 100 will instruct the suggestion to be .frame(width: 30, height: 100).

    If you want the suggestion to rewrite the whole line, you can use let foo \\< instructions.

    For more details, see Instructed Suggestions.

  • (Free Until Useful) Add suggestion cheatsheet "Typo Fix".

    When this cheatsheet is on, it will try to fix the typo of the word under the text cursor in the suggestion.

  • (Free Trial) Support sending a message to chat using comments. You can use // chat: message to initiate a special suggestion. When you accept the suggestion, it will send the message to the chat.

  • Support installing to other folders than /Applications. If it's installed in other folders, you will have to install the launch agent manually by clicking the button. The launch agent will be installed into ~/Library/LaunchAgents.

  • Support setting OpenAI organization and project.

  • Bump Copilot Vim to 1.40.0.

  • Update text content (plain text, markdown) to always wrap in code block.

  • Modification window can now be as tall as the editor area.

  • Fix that the app may affect Xcode's performance when accessing it's UI with Accessibility API.

  • Fix that the previous suggestion button in non-compact mode will dismiss the suggestion.

  • Some other refactoring and bug fixes.

Note

The new suggestion cheatsheets are more like a hack so they may not work for all cases. I found that it's really not a good idea to make them in such a hacky way. The result is just not good enough. But let's leave them here for now.

In the next version, I will focus on improving the prompt and context awareness of chat and modification.

0.34.0 beta

01 Sep 16:00
Compare
Choose a tag to compare
0.34.0 beta Pre-release
Pre-release

instruction

For any feedback please report to the release discussion.

Beta 4

  • Bug fixes.

Beta 3

  • Fix that the app may affect Xcode's performance when accessing it's UI with Accessibility API.
  • Rename Prompt to Code to Modification, support modifying multiple selections, support displaying addition diffs.
  • Other fixes.

Beta 2

  • Support setting OpenAI organization and project.

Beta 1

  • Add suggestion cheatsheet "Instructed Suggestions".

    When this cheatsheet is on, you can use \\\ instructions to instruct the suggestions. For example, typing .frame\\\width 30 height 100 will instruct the suggestion to be .frame(width: 30, height: 100).

    If you want the suggestion to rewrite the whole line, you can use let foo \\< instructions.

  • Add suggestion cheatsheet "Typo Fix".

    When this cheatsheet is on, it will try to fix the typo of the word under the text cursor in the suggestion.

  • Support sending a message to chat using comments. You can use // chat: message to initiate a special suggestion. When you accept the suggestion, it will send the message to the chat.

  • Support installing to other folders than /Applications. If it's installed in other folders, you will have to install the launch agent manually by clicking the button. The launch agent will be installed into ~/Library/LaunchAgents.

  • Display diffs in the suggestion.

  • Some refactoring and bug fixes.

0.33.8

21 Aug 16:32
Compare
Choose a tag to compare

instruction

  • Fix Codeium chat for enterprise users.
  • Fix that the widget location is not updated when switching to another Xcode window in another space.