Serenade Changelog

August 9, 2021

  • Added a new setting to configure the position of the alternatives list in minimized mode.
  • Added enable and disable methods to the Serenade API in order to create dynamically-toggleable automations. See the Serenade Docs for more.
  • Added community link to settings window.
  • Fixed issue where the alternatives list would go blank on certain responses.
  • Fixed issue where certain external microphones wouldn't be detected.

July 28, 2021

  • When minimizing Serenade, the alternatives list will appear where the window was before minimizing.
  • Enable the timeout before hiding alternatives to be configurable.
  • Enable the number of alternatives shown to be configurable.
  • Fix crash in speech server that would cause the app to disconnect.
  • Fix issue causing some words to be missing from the speech engine.
  • Fix issue where dictation box would sometimes appear empty.

July 21, 2021

  • Fixed alternatives list + suggestions behavior when Serenade is minimized.
  • Fixed issue with flickering alternatives in mini-mode.
  • Fixed issue with scrollbar appearing on Windows.
  • Fixed issue where unmaximizing the application didn't work on Windows.
  • Upgraded the serenade-driver package used for custom commands to ensure API automations have parity with voice commands.
  • Fixed issue where the alternatives list was shown too frequently for custom commands.
  • Fixed visual issue with app update notifications.
  • Fixed issues with transparent windows on macOS and Linux.
  • Fixed issue where settings volume indicator wouldn't consistently update.

July 16, 2021

  • Redesigned status indicators so you can see what language, mode, and application Serenade is using.
  • New autoExecute flag for custom commands, indicating that they can be automatically executed.
  • Expanded compatibility for 32-bit Windows installations and older macOS versions.
  • More commands, like scroll and show will automatically execute, so you don't have to manually confirm alternatives.
  • Make the behavior of next and previous consistent across all commands.
  • add commands better infer where code should go when adding to a class, list, dictionary, etc.
  • Fixed issue where custom commands would show up alongside built-in commands rather than overriding them.
  • Fixed issue where api.runCommand calls wouldn't wait for the previous command in the sequence to complete.
  • Fix issue where shift commands didn't handle multiple lines consistently.
  • In-app warning when your file has a syntax error, along with a new go to syntax error command to easily find it.
  • Various improvements to command understanding models to improve accuracy.
  • Fixed issue where continuing to speak after an add or insert command would cut you off.
  • Improved dictation box to be compatible with more system applications.
  • Improvements to parsers for Python, Java, TypeScript, JavaScript, C++, and Dart.
  • Performance improvements to the Serenade desktop application to reduce CPU usage.

June 3, 2021

  • See our blog post for more.
  • Dedicated dictation mode, which defaults to inserting words that are heard. You can enable with start dictating and disable with stop dictating.
  • Natural English model for formatting prose text.
  • Language switcher to control which model is used to format your code and text.
  • Integration with macOS and Windows accessibility APIs, to edit text without a plugin.
  • Dictation box to edit text when both plugins and accessibility APIs are unsupported.
  • New model for voice activity detection, so Serenade works better with background noise.
  • New model for better understanding command intent and resolving ambiguities.
  • Switch to a WebSocket-based API for all network communication, for compatibility.

April 6, 2021

  • Plugins for Hyper and iTerm2. See our blog post for more.
  • Fix issues with Serenade Pro not starting on Windows and macOS.
  • Fix issue on macOS with dark mode setting not taking effect on startup.
  • Fix issue where custom command server didn't terminate on app close.
  • Fix issue with chaining commands with native keypresses.

March 22, 2021

  • Support for creating plugins via the Serenade Protocol
  • Switch to the open-sourced serenade-driver for system integrations.
  • Support for third-party npm packages in custom commands.
  • Microphone settings page now shows current microphone volume, so you can more easily test your microphone.
  • Added API function evaluateInPlugin to call VSCode APIs from custom commands, rather than relying on keyboard shortcuts.
  • Added API functions for click and setCursorPosition across macOS, Windows, and Linux.
  • Added API functions for mouseDown and mouseUp.
  • Added API function focusOrLaunch for focusing an app if it's running, and launching it if not.
  • Support for non-English keyboard layouts across macOS, Windows, and Linux.
  • Microphone fixes to improve audio quality and accuracy.
  • Added complete symbol, key, and selector lists to the documentation.

February 8, 2021

  • New mode indicators to make it easier to see which Serenade commands are supported, and which are not.
  • Fix issues causing Serenade to lag on long commands.
  • Support for unicode characters in source code.
  • Save microphone settings between app launches.
  • Add entry for using the default system microphone.
  • Fix issue where "repeat" didn't work after selecting a different alternative.
  • Fix issue where the Serenade app didn't always choose the nearest Cloud server.
  • serenade.include API method for including a custom commands file from another.
  • Add symlink support for ~/.serenade/scripts.

January 19, 2021

  • Support for Mini-mode.
  • Support for connecting through proxy servers.
  • Support for customizing which styler is used for the style file command. Stylers include Black (Python), yapf (Python), google-java-format (Java), clang (C++), and more.
  • Support for prepositional phrases after commands, like insert foo after bar, as an alternative to chaining commands like end of bar insert foo. (Both work!)
  • More reliable audio streaming for both Serenade Cloud and Serenade Pro.
  • More robust detection for when a command has finished being spoken.
  • Fixes for focus across all platforms.
  • Fixes for surround with, and introduction of commands like surround with div tag
  • Fix change commands that weren't working when changing multiple words.
  • Fixes for selecting or changing text that also matches the name of a Serenade command (e.g., "next word paste" will be parsed as "go to next word, then paste" rather than "go to the next word called paste").
  • Commands like go to and change match any case, so you don't have to explicitly specify one.
  • Add a border to the Windows and Linux applications to make the app stand out more on white backgrounds.

November 23, 2020

  • General availability of Serenade Pro.
  • New tutorials for Python, Java, and JavaScript, covering frameworks like Flask, React, and Express.
  • Added support for C and C++.
  • Apple Silicon compatibility.
  • When adding code at a blank line, an extra newline won't be created.
  • Fix chained commands in Visual Studio Code.
  • Support for custom word pronunciations.
  • Support for clicking native macOS buttons via click commands.
  • next line creates a newline if the cursor is at the end of a file.
  • Updated our speech engine to improve accuracy across all languages.
  • Updated our speech-to-code AI platform to enable more ambiguous descriptions of code.

October 15, 2020

  • Added the change all command for changing all instances of a string in a file.
  • Added the shift command for moving objects around (e.g., shift argument right and shift line up).
  • Added selectors for before and after, so you can say commands like after foo type bar.
  • Added the forward delete key for triggering a forward delete on macOS.
  • Improvements to background noise handling.
  • Fixed issue with chaining commands in VS Code (e.g., next tab line one).

October 5, 2020

  • Added first-class support for JetBrains IDEs via Serenade for JetBrains
  • Added first-class support for the Kotlin programming language
  • Added first-class support for the Dart programming language
  • Added VS Code debugger support with commands like start debugging, step over, and toggle breakpoint
  • Added the duplicate command for copying and pasting selectors
  • Added the surround command for surrounding selectors with text
  • Added the rename command for changing the name of selectors
  • Added the join lines command for combining multiple lines into one
  • Added the <style> <selector> command for toggling the text style of selectors (e.g., capitalize next two words)
  • Added the switch window command for toggling among multiple windows of the same application in macOS
  • Added the title case text style for formatting text In Title Case
  • Added shorter camel and pascal aliases for camel case and pascal case
  • Added stop listening as an alias for pause
  • Fixed issue causing the microphone to cut off commands too early

September 21, 2020

  • Visual refresh of client application and website
  • Added dictate command for speaking text without programming symbols
  • Added system command for typing text into native OS fields rather than the editor field
  • Fixed open command for VS Code remote projects
  • Fixed next/previous behavior in tutorial mode
  • Fixed parsing of files with comments inside enclosures