Skip to content

Releases

Cyrano 0.12.0

Choose a tag to compare

@github-actions github-actions released this 08 Nov 12:44
654a2b2

Cyrano now works with VoiceOver and with the keyboard alone, in the Proofreading panel, onboarding and Settings. The Proofreading panel is now an ordinary window that has the keyboard while you work in it.

Added

  • When ⌥⌘G, Check Text… or Check Clipboard would replace an open panel, Cyrano asks first: Check New Text, or Return to Panel to keep its versions and conversation.
  • While a Cyrano window is open, Cyrano has a Dock icon, a place in ⌘Tab and the standard menus. Help → Cyrano Help opens the documentation.
  • Press ⌘↩ to check or to send a message, anywhere in the panel; the same command is in the Proofreading menu.
  • VoiceOver announces a new version ("Version 2, 1 change"), an answer once it's complete, an error, how reading the context ended, and status lines such as "Copied." in full.
  • Never Change works from VoiceOver's actions on a change and on selected text. Without a mouse, select the text and press ⌃↩ to open its menu.
  • A context image reads as "Image 1 of 2"; VoiceOver's press opens Quick Look, and Remove Image is one of its actions.
  • With Reduce Motion on, a new version and an answer appear whole instead of being typed out.
  • Settings → Dictionary: the menu of a term has Edit Term… and Delete. VoiceOver announces the result of Import and Export and "This term is already in the dictionary."

Changed

  • The Proofreading panel opens in front with the keyboard in it, and VoiceOver reads it. A click on another app puts the panel behind that app, so you can read the conversation you're replying to; ⌘Tab or the Dock icon brings it back.
  • The panel stays open until you close it with ✕, ⌘W or Esc. On closing, the app you were writing in gets the keyboard back with the cursor where it was. The panel can also be minimized.
  • Edit → Paste adds an image on the clipboard to Context, the same as ⌘V.
  • After the first check the keyboard is in the message field, ready for the next request.
  • Tab and Shift-Tab move out of Context, the text to check and the message field instead of typing a tab.
  • Your messages in the panel are shown on a light tint with regular text, and removed words in a version are darker, so both are easier to read. Warnings such as "Plan limit reached" show a colored sign next to regular text.

Fixed

  • The onboarding window was a little too short, and its content scrolled. It's now as tall as its content, and only scrolls on a screen too small for it.
  • VoiceOver read a version with the removed words mixed in. It now reads the corrected text; the changes are read from the list.
  • VoiceOver read the panel's pop-ups without their current values and the Context and changes buttons with a triangle symbol. It now reads "Tone, Neutral" and "Expanded" or "Collapsed".
  • Context, the text to check and Custom instructions had no name for VoiceOver.
  • A version without changes was read as "Version 1," with nothing after it.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.11.0...v0.12.0

Cyrano 0.11.0

Choose a tag to compare

@github-actions github-actions released this 07 Nov 10:39
08859ff

Added

  • Settings → Prompts shows the instructions Cyrano sends to the model, and you can edit them: Read Context, Proofread, Explain Changes, and the lines each text type, tone and level adds to Proofread. An edit is saved as you type and applies from the next check, in an open panel too.
  • A changed prompt is marked "•" in the list, and VoiceOver reads it as "Modified". Restore Default brings back the built-in prompt.
  • The options you pick in the panel keep working whatever the prompts say, and so do the version cards and explanations. A poor edit can only make the results worse; Restore Default undoes it.

Fixed

  • VoiceOver read an added word in the list of changes as an empty word "replaced with" the new one. It now reads "added", and "removed" for a removed word.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.10.0...v0.11.0

Cyrano 0.10.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 22:48
2e81216

Fixed

  • An explanation could present an optional point as a rule, for example a comma before "and" at the end of a list, or "data are" instead of "data is". Such changes are now marked as style and explained as a choice; your original was correct.
  • Changes on both sides of a line break or a blank line could show as one change, and its explanation covered only half of it. Each line now has its own changes, each with its own reason.
  • VoiceOver read a change in the list without its reason. It now reads the reason after the change.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.9.0...v0.10.0

Cyrano 0.9.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 17:47
a1b2638

Added

  • Your "Never change" dictionary also corrects spelling: when the text spells a dictionary term a letter or two off, for example Pria for Priya, the check spells it as in the dictionary.
  • In the dialog you can name a version by the number on its card: "take version 1 and make it shorter". "Go back to my original" starts from the text you checked.
  • VoiceOver reads an answer in the dialog once it has arrived.

Changed

  • A message in the dialog now takes one request to the model instead of two. With the default model, gpt-6.1-sol, a typical reply comes in about 7 seconds instead of 8.
  • The Friendly tone now softens a blunt text even when it has no errors, turning orders into requests. The Concise tone cuts filler and repetition from correct sentences too.
  • When Context says the conversation is formal, for example a message to a manager, the check removes slang such as gonna.

Fixed

  • A question about the text in the dialog, such as "Is this polite?", could get the text back instead of an answer. It now gets a short answer in the language you asked in, and your next request can build on that answer.
  • When you explained something in the dialog, such as what a word means or who the text is for, the new version could replace your words with words from your explanation. It now changes only the parts your explanation is about.
  • The check could make a sentence say more than you wrote: "soon" became "as soon as possible".
  • A name spelled two ways in the same text, such as Pria and Priya, is now spelled the same way everywhere.
  • A noun used before another noun is now made singular: users directory becomes user directory.
  • Asking gpt-6.1-terra to translate the text could return it unchanged. It now translates.
  • After a translation, the next request in the dialog keeps the new language.
  • When OpenAI stopped answering partway through, a check or its explanations could wait for many minutes. After 30 seconds without a reply Cyrano now tries once more, then says "OpenAI stopped answering" with Try Again. Your text stays.
  • After an update, Cyrano could sign you out of ChatGPT when macOS didn't let the new version save your sign-in to the Keychain. Cyrano now keeps the sign-in and asks you to allow Keychain access and try again; checks wait until the sign-in is saved.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.8.0...v0.9.0

Cyrano 0.8.0

Choose a tag to compare

@github-actions github-actions released this 06 Nov 10:18
ecdabde

Changed

  • Context is now read with gpt-6.1-terra by default: it reads the window as well as the other models and doesn't keep you waiting before Check. If you've ever changed a model in Settings → General, your choice for Read context stays; pick gpt-6.1-terra there to switch.
  • Context read from the window is shorter: what the conversation is about fits in one sentence without invoice numbers, amounts or IDs, and the style of the conversation takes a few words.

Fixed

  • In a channel thread, Context could list everyone in the channel as recipients ("Daniel Ortiz and 22 others"). It now names the person you're answering.
  • Context could come out in the conversation's language, for example in Russian. It's always in English now, with names and job titles exactly as in the window.
  • Context could describe what your draft says as the topic of the conversation. It now takes the topic only from the conversation in the window.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.7.0...v0.8.0

Cyrano 0.7.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 20:42
c16a973

Added

  • Protect a word before the first check: select it in Text to check, right-click and choose Never Change. The first check already keeps it as written. Cut, Copy, Paste and spelling stay in the same menu, and for a word already in your dictionary the menu offers Remove from Dictionary.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.6.0...v0.7.0

Cyrano 0.6.0

Choose a tag to compare

@github-actions github-actions released this 03 Nov 22:16
e73ecf4

Changed

  • Context read from the window now describes the conversation instead of copying messages from the screen: who you're writing to, the language, what it's about, whether you're replying, following up or starting a new topic, and how formal it is. It no longer comes out empty when only part of a long email is visible. Anything Cyrano can't tell from the window is left out for you to add.
  • The output language follows the conversation: when Context shows that the conversation is in Spanish, the language pop-up switches to Spanish before you press Check, whatever language your draft is in. Pick another language to override it.
  • The output language is no longer remembered for each app: you write in different languages in the same app. The Proofreading panel opens with Auto, and the language you pick applies to that panel only. Settings → Style → Per-app defaults no longer has a Language column.
  • While Cyrano reads the conversation from the window, the Context title shows how long it has been reading and a Skip link to check without it. Reading now waits up to 20 seconds instead of 10, so a slow answer is no longer lost.
  • When reading gives nothing, the Context title says why: no conversation in the window, it took too long, or an error. After a timeout or an error, Try Again reads the window again.

Fixed

  • A stopped request is no longer sent to OpenAI a second time.
  • A closed Proofreading panel no longer stays in memory after a failed check.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.5.0...v0.6.0

Cyrano 0.5.0

Choose a tag to compare

@github-actions github-actions released this 02 Nov 20:57
2e76902

The Proofreading panel now fits its content, and Settings lets you choose the model for each step of a check.

Added

  • Settings → General → Models: choose gpt-6.1-sol, gpt-6.1-terra or gpt-6-luna separately for reading context, for proofreading and the dialog, and for explanations. By default context is read with gpt-6-luna and everything else uses gpt-6.1-sol.
  • Settings → General → Launch at login starts Cyrano when you log in to your Mac.
  • Settings → Style → Per-app defaults shows the Context, Tone, Level and Language that Cyrano remembers for each app. Select an app and press − or Delete to reset it to Message · Neutral · Fluency · Auto.
  • The first times you use the Proofreading panel, hints show where to add what you're replying to, what the camera button does and that you can ask for changes in the dialog field. A hint goes away for good once you close it or do what it says.
  • Setup has a step for context from the window: turn Read context from the window on or off and grant Screen Recording right there. With it off, the camera button asks for Screen Recording the first time you press it.
  • Cyrano has its own app icon.

Changed

  • The Proofreading panel is as tall as its content, up to 70% of the screen; after that only the versions and the dialog scroll. It grows downward and keeps its top edge in place. You can no longer resize it by dragging.
  • The model is no longer chosen in the menu bar menu, and About no longer shows it.

Fixed

  • Settings and About no longer open behind the Proofreading panel. The panel stays in front of other apps, but not of Cyrano's own windows.
  • Settings… and About Cyrano in the menu bar menu always open in front of the app you're in. Before, about one time in five the window opened behind it.
  • Closing the Proofreading panel or the setup window frees its memory right away, including context screenshots. Before, the last closed panel stayed in memory until the next check.

Known issues

  • gpt-6.1-terra is offered but hasn't been tested on Cyrano's examples yet, so its corrections may differ in quality from gpt-6.1-sol.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.4.0...v0.5.0

Cyrano 0.4.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 21:25
4ea89c7

Added

  • Teach Cyrano words it should never change: names, product terms, slang. Select a word in a version card, right-click and choose Never Change. From the next check on, Cyrano keeps it exactly as you wrote it. The status line under the dialog field confirms it, with Undo.
  • Right-click a change in the list under a version and choose Never Change for one of its words: the change is undone and the word is kept from then on, in one step.
  • Settings → Dictionary lists your words with the date you added them. Search, add, edit with a double-click, delete, and import or export them as a text file with one word per line. Right-click a word in a card and choose Remove from Dictionary to let Cyrano correct it again.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.3.0...v0.4.0

Cyrano 0.3.0

Choose a tag to compare

@github-actions github-actions released this 29 Oct 16:58
025aeaa

Added

  • Cyrano fills in Context for you. When you press ⌥⌘G in an app, it takes a screenshot of the window and reads who is in the conversation and the message you're replying to. It takes a few seconds; edit the result or add more before you press Check. Only the text goes with your check, not the screenshot. Turn it off in Settings → General → Read context from the window. Needs Screen Recording.
  • You can type or paste the text to check right in the panel, and fix the captured text before the first check.
  • Click an image thumbnail in Context, or select it and press Space, to see it full size with Quick Look. Handy for telling similar screenshots apart.

Changed

  • One button by the dialog field starts every check. It says Check before the first check and after you change the context with the dialog field empty; otherwise it says Send, and your message goes with the current context. The Check and Recheck buttons in Context are gone: Context is only for what you're replying to.
  • Cyrano reads only the text you selected or the field you're typing in. It no longer selects everything with ⌘A or guesses your draft from a screenshot. When there's nothing to read, the panel opens with an empty field for your text.
  • Check Text… opens the same panel instead of a separate window.
  • The dialog field appears after the first check.
  • The token counter shows one total.

Fixed

  • Pressing ⌥⌘G on the desktop no longer checks the names of the files on it.

Removed

  • Keyboard shortcuts inside the panel (⌘R, ⌘K, ⌘↩, ⇧⌘C) and ⌥⌘G next to Check Text… in the menu. Use the buttons instead; ⌥⌘G still opens the panel from any app and can be changed in Settings.

Requirements: macOS 27 and a ChatGPT Plus or Pro plan.

Install: signed builds come later. For now, build from source: see the README.

All changes: v0.2.0...v0.3.0