Version History


Version 12.2

December 17, 2024

Improved

  • Transcripts: Added the ability to view logs of remote SSH traffic for Git operations

Fixed

  • CLI Tool: The ‘–type’ argument is properly respected once again
  • CSS: Adjusted highlighting of class and ID names to include identifier once more, fixing a few third-party themes.
  • Editor: Addressed a potential crash when issues provided by language servers exceed the bounds of the document
  • Editor: Fixed an issue with copying entire lines of text to the pasteboard
  • Editor: Resolved a visual jump when dragging text in the editor and changing modifier keys
  • Editor: Fixed an issue with sending text to other apps via the Services contextual menu
  • File Browser: Resolved a potential issue displaying listed files when using column view
  • Files Sidebar: Addressed an issue with filters not returning results for deeply nested folder structures
  • Files Sidebar: Fixed a case where expanded folders without results would be displayed after applying filters
  • Find Bar: Fixed a visual glitch which could affect text near the current find match indicator
  • Find Sidebar: Selecting an offscreen result with line wrapping disabled now centers it horizontally in the editor
  • Git: Fixed an SSH encryption key exchange error when connecting to Azure DevOps
  • HTML: Addressed an issue preventing certain HTML attribute completions from being offered
  • HTML (EJS): The ejs file extension now opens as HTML (EJS) by default, in addition to html.ejs and htm.ejs
  • Parser: Fixed an issue that could crash the parse service, preventing syntax highlighting and indexing from completing
  • Python: Added syntax highlighting for the not in operator
  • Find/Replace: Fixed an issue using wildcards which are deeply nested within groups of parenthesis
  • SCSS: Resolved an issue preventing variables from showing in completions and project-wide indexing
  • Setup Wizard: Resolved a potential issue with displaying the “Import From Coda 2” window
  • Tasks: Fixed an issue preventing the “Chrome Debug” from resolving some files, such as sourcemaps

Version 12.1

November 27, 2024

Fixed

  • CLI Tool: Resolved an issue with opening files and folders using nova while the app isn’t running
  • Editor: Fixed a potential crash when typing clip triggers
  • Editor: Resolved an issue causing suggested completions in PHP, CSS, and other syntax modes to show in incorrect places
  • Editor: Addressed a case where a single completion delivered from a language server may not be shown
  • Extensions: Fixed an issue that could target the wrong extension when choosing items such as “Uninstall” from the contextual menu
  • Workspace: Resolved an issue preventing the searching of specific folders from within a project-less workspace
  • Column View: Addressed a potential crash when refreshing a file or using Quick Look
  • Column View: Fixed a hang when attempting to create Touch Bar buttons
  • SFTP: Host keys are now saved as expected on devices running macOS 15.2+
  • PHP: Fixed short-style opening tags (<?) not highlighting as expected

Version 12

November 19, 2024

Hello friends, Nova 12 is here! We've been hard at work, and this release brings a few of our latest improvements, including a brand new and totally redesigned Find sidebar! We hope you love it. And since we're here, we want to thank you personally for using Nova, and for helping spread the word about our underdog native Mac editor. It really means a whole lot to us.

While you're here! As a current (or former) Nova user, we'd love your help in charting our course. Take our 2024 Nova survey! It's short! Thanks in advance!

New Find sidebar

Completely resdesigned from the ground up with a refined design and powerful new features.

Cursor position history

Your cursor position history is now preserved, allowing you to cycle through previous editing locations.

Copy with Syntax Highlighting

Effortlessly copy code to other applications, complete with syntax highlighting.

New

  • Editor: One of several color palettes can now be chosen when using multi-color (“rainbow”) brackets
  • Editor: A new Character Inspector allows introspecting the Unicode and numeric values of selected characters
  • Editor: Added the ability to “Copy with Syntax Highlighting”
  • Editor: The Find bar now displays the current match index beside the total count
  • Editor: Printing support has been enhanced with many new options related to page layout and design
  • Editor: Added support for syntax highlighting within heredocs
  • Preview: Tabs containing playing audio or video now show a mute / unmute button
  • Preview: Pages may now request microphone and camera access
  • Python: Added support for autocompleting variables within f-strings
  • Settings: Copying stored server passwords now authenticates using Touch ID or Apple Watch, if available
  • Workspace: Preview tab content can now be printed
  • Workspace: Sidebars can now be open and closed independently
  • Workspace: New Filetype Icons (3D, Xcode projects, and more)
  • Workspace: Line numbers can now be toggled from the “Editor” menu
  • Workspace: Added Key bindings for “Copy Path”, “Copy Relative Path”, and “Copy URL”

New for Extensions

  • The Syntax Inspector has been enhanced to show Tree-sitter S-expressions and more when developing language extensions

Improved

  • Editor: Soft line wrapping behaviors have been improved, especially for CJK text
  • Editor: Bracket and quote auto-pairing behaviors have been refined
  • Editor: Switching between document encodings now shows a clarified alert message and option descriptions
  • Editor: Rendering of invisible Unicode control characters has been improved
  • Find sidebar: Pressing Return with the Replace field focused now starts a search operation
  • Find sidebar: Search scope can now be quickly set to any folder containing the focused document
  • Find sidebar: “Only in open files” is now a toggle button and can be scoped to specific folders
  • Find sidebar: Filters can now be individually toggled quickly from an inline disclosable section
  • Find sidebar: A “quick pattern” field has been added for easily filtering using shell-style “glob” patterns
  • Find sidebar: Multiple filters can now be combined using both inclusive / “or” & exclusive / “and” boolean logic
  • Languages: The Perl syntax has been migrated to Tree-sitter
  • Languages: The SQL syntax has been migrated to Tree-sitter
  • Open Quickly: The fuzzy match algorithm has been enhanced to better handle many previously ambiguous cases
  • Open Quickly: File results are now shown using Nova’s rich filetype icons
  • Preview: Opening a new preview tab now focuses the web view instead of the address bar
  • SSH: Added support for importing keys generated in the 1Password app
  • Workspace: Path Bar now shows file paths without document structure

Fixed

  • CSS: Fixed syntax highlighting of grid templates
  • Editor: Fixed a crash that could occur when parsing specific html documents
  • Editor: Addressed potential flickering of code structure headers
  • Editor: “Ensure a trailing newline” no longer moves the cursor to a new line after saving a document
  • Editor: Find Bar text count no longer overlaps match count label in certain cases
  • Editor: Resolved a case where fenced sub-language regions could fail to update after typing
  • File Browser: Contextual menus now work as expected when a window is backgrounded
  • Lua: Improved highlighting of function declarations
  • PHP: Added support for highlighting of magic constants
  • PHP: Inline PHP tags immediately before a # character no longer breaks syntax highlighting
  • PHP-HTML: PHP completions should no longer be offered within HTML elements
  • Python: ‘@property’ declarations are now parsed as properties instead of as methods
  • JavaScript: Fixed syntax highlighting of variables contained in template strings
  • Terminal: Fixed an issue where fnm failed to infer the current shell type
  • Terminal: Addressed a case where drawing can could be clipped when using macOS 14
  • Terminal: Resolved an emulation issue when using irssi in screen
  • Terminal: Option-clicking in the Terminal now works as expected when scrollbars are visible
  • Terminal: Toggling font size with GPU acceleration enabled no longer results in potential rendering issues
  • Terminal: Fixed a crash when using accessibility tools to parse text from the terminal buffer
  • Themes: The punctuation selector is now applied to closing parenthesis in Markdown documents
  • Themes: Unified display of italicize comments for “Bright” and “Dark” themes
  • Workspace: Resolved an issue that prevented Ctrl+Shift+Cmd+Space from being used as a custom keybinding
  • Workspace: Invoking the “Show Next / Previous Tab” shortcuts no longer swaps window tabs if no document tabs are open

Version 11.10

September 10, 2024

New

  • Beta releases of Nova can now be installed, if desired! Please see Settings > General for more information.

Fixed

  • Addressed a potential crash when scrolling text files with multiple invalid characters
  • JavaScript: Completions for Window are now exposed in the global context
  • Terminal: Fixed an issue with soft-wrapping in tmux that could cause text to overflow split panes
  • Localization: The “Close Window” menu item now properly translated in all languages

Version 11.9

March 6, 2024

Improved

  • Greatly improved editor scrolling / typing performance when very large Git change annotations extend offscreen
  • CSS: Completions have been updated for the latest standardized and experimental language features
  • JavaScript: Simplified completion suggestion weights with the intent of improving user experience
  • JavaScript: Completions have been updated for the latest official language release
  • Python: Added syntax highlighting for the bitwise assignment operators (&=, |=, and ^=)
  • Workspace: Improved automatic resizing of splits when adding or removing panes

Fixed

  • Addressed an issue with syntax highlighting preferring general selectors over specific ones in some circumstances
  • Fixed a crash when displaying invisible characters in documents containing Unicode code points in the range 0x200B–0x200F
  • Resolved a case where code structure headers could get out of sync during rapid scrolling
  • Improved automatic adjusting of the scroll viewport when “Wrap Lines” is disabled
  • Addressed a potential hang when local volume listings aren’t working as expected
  • JavaScript/TypeScript: Fixed symbolication naming of certain object literals from being displayed as k1k1
  • Files Sidebar: Addressed an issue with renaming new folders created on iCloud drive
  • Files Sidebar: Resolved a crash when auto-revealing items while the file tree is filtered
  • Files Sidebar: Spaces are no longer auto-inserted when pasting into a rename field directly after a period .
  • Files Sidebar: Improved drawing of the file name edit field when using a Graphite system accent color
  • Find Sidebar: Fixed a possible crash when performing a project-wide replace using a zero-width regex expression
  • French Localization: Corrected translation of “tabs” (as in indentation) to “tabulations” where appropriate
  • Git Accounts: Addressed a case where SSH keys specified in account settings were not used as expected
  • macOS Big Sur: Resolved a rare crash on launch
  • Microsoft Azure: Improved handling of errors when user names contain invalid characters
  • Spell Check: Parsing of very large plain text regions should no longer cause the UI to hang in some circumstances
  • Themes: Selections now properly draw above backgrounds applied to specific text ranges
  • Workspaces: Improved positioning of project windows reopened outside of macOS state restoration
  • Workspaces: Resolved an issue with new project windows not cascading in certain situations
  • XML: Fixed syntax highlighting of tag names containing underscores

Version 11.8

December 19, 2023

Fixed

  • Resolved a potential crash when using Find -> Replace All in plain text documents
  • Scroll bar annotation markers now adjust properly during window resizes
  • Addressed an issue that could cause the parser to enter an infinite loop when highlighting or indexing certain files
  • SFTP/SSH: Implemented a security fix for CVE-2023-48795, which could allow an attacker to downgrade the security of SSH connections
  • Terminal: lines no longer draw outside of the terminal region when GPU acceleration is disabled on macOS 14
  • Terminal: Cursor position is now properly reset after a CSI 3J
  • Color Pops: Resolved a button label layout issue with the German localization
  • File Transfers: Fixed an issue with the conflict resolution sheet background color on macOS 14
  • File Browser: Fixed drawing of the breadcrumbs in light themes when “Show File Count” is enabled on macOS 14
  • File Browser: The “Servers” and “Quick Connect” tab labels are no longer clipped on macOS 14
  • First Launch: Action button titles are no longer clipped on macOS 14
  • First Launch: Resolved a layout issue with the Coda 2 migration pane in German and French localizations

Version 11.7

December 5, 2023

Fixed

  • Improved text layout performance of very long lines containing differing syntax highlighting attributes when line wrapping is disabled
  • The “Editor” main menu item and its counterparts (“Terminal”, “Preview”, etc.) now resize properly when swapping tab types on macOS 14
  • Multi-line selections are now drawn as expected on macOS 14 “Sonoma” when line wrapping is disabled
  • Code structure headers are no longer misaligned when using specific screen resolutions or font sizes
  • Addressed an issue that could cause code structure headers to become scrambled in some circumstances
  • Improved horizontal sizing of the Language Server Protocol hint hovers in certain cases
  • File Browser: Improved layout of permissions section of the information sidebar/window
  • Remote Terminal: IdentityAgent config directive is now parsed as expected when using jump hosts
  • Terminal: Emulation improvements when using older versions of nano
  • Terminal: Fixed file list rendering when using zsh-interactive-cd
  • Extension Library: The correct license tab content is now displayed when viewing library extensions that are not yet installed.
  • Resolved an issue where editor keyboard shortcuts were not always routed correctly when using macOS 14.2+

Version 11.6

September 26, 2023

Fixed

  • Fixed an issue where Code Structure Headers could cause the editor to jump position when adding or removing new lines
  • macOS Sonoma: Type and Function Separators are now displayed as expected when line wrapping is disabled

Version 11.5

September 22, 2023

Improved

  • Node/Deno Debugging: Added support for explicitly defining path mappings between local and remote filesystems when debugging a Node or Deno instance running remotely, such as in a Docker container

Fixed

  • Addressed a potential crash when using “Move Lines Down”
  • Fixed a case where scrolling could cause code structure headers to flicker
  • Publishing: “Save & Publish” no longer re-enqueues the file for publishing in some cases
  • Chrome Debug: Resolved an issue with code stepping in some nightly builds of Chrome
  • Find & Replace: Fixed a potential crash when doing a multi-file replace with an empty replacement string
  • Git: Fixed a case where the current branch in the toolbar would not update when changed from outside of Nova
  • Tabs: Pinning a tab now makes it non-transient
  • Tabs: Dragging a tab out of the tab bar and then back into a new position now adjusts pinned state accordingly
  • Vim: Fixed behavior of cw and cW when used on a single-character word
  • Terminal: Addressed an issue that could cause Nova to hang when restoring project state
  • Terminal: Improved scroll-to-bottom behavior to better work with page up/down
  • macOS 14.0 “Sonoma”: Resolved an issue with drawing of multi-line selections when line wrapping is disabled
  • Workspaces: The “Close Window” menu item now properly renames itself to “Close Window Tab” when multiple window tabs are present

Version 11.4

August 10, 2023

Fixed

  • Improved display of hover identifiers following folded codeblocks
  • “Jump to clicked position” now works more reliably when using editor scroll bars
  • Tab-indenting lines using multiple cursors no longer causes incorrect cursor positioning in some circumstances
  • Scrolling a document with a wheel mouse and clicking or typing no longer jumps the editor by several lines in certain cases
  • Resolved a case where tag auto-closing with multiple cursors may not work properly
  • Addressed an issue with option-double-clicking to select words when the cursor is within the second half of a glyph
  • Large text insertions or deletions no longer scroll the editor unexpectedly in some circumstances when line wrapping is disabled
  • Workspaces: New project windows now cascade when created to ensure visibility
  • Workspaces: Inactive tabs no longer display progress indicators when disabled in project settings
  • Terminal: Opening the find bar no longer causes text to draw too far down
  • Git: Resolved a potential crash when rapid filesystem changes cause repeated updates of the Git status listings
  • Git: GitHub account authentication now requests the workflow OAuth scope to ensure that repositories using GitHub Actions can be cloned properly. (This may require you to re-authenticate your GitHub account in Nova’s settings)
  • Vim: Fixed a crash which happens when invoking next occurrence / f within a blank line
  • Minimap: Deleting blocks of whole lines in a plain text file no longer causes visual display issues
  • Minimap: Selected ranges and line highlights are now properly reflected after the document has been scrolled
  • Comparison View: Code hovers are now disabled as expected when viewing previous commits
  • The Code Actions popover is now scaled properly when “Show scroll bars” is set to “Always”
  • Improved scroll viewport positioning during animated scrolls, such as after Page Up / Down
  • Loading of project metadata (Tasks, Publishing, and Swatches) stored in iCloud Drive now works more reliably in betas of macOS Sonoma
  • Resolved a potential hang when opening or saving files in betas of macOS Sonoma

Version 11.3

July 17, 2023

Fixed

  • Extension completions are now offered when an extension does not also contribute a grammar
  • Improved scrolling performance of huge, single-line files with line wrapping off
  • Resolved a potential crash that can occur when invoking “Undo” or “Redo” with focus within a sidebar
  • Terminal: Fixed a potential deadlock when drawing
  • Terminal: Improved drawing while scrolling in certain versions of macOS
  • Git: SSH authentication no longer fails if a repository URL does not contain a username, and the osxkeychain credential helper is enabled
  • Resolved a potential crash when deleting a trailing document CR newline
  • Converting line endings of a document no longer incorrectly inserts a newline in some circumstances
  • Image documents no longer unexpectedly enable the Save menu item

Version 11.2

June 9, 2023

Fixed

  • Resolved a potential crash when modifying or pasting code with the minimap visible
  • Saving Plain Text files for the first time no longer results in a crash in some circumstances
  • Autoclosing of tags in regex-based grammars now works as expected
  • Git: Fixed a case where merge commits could be created incorrectly when integrating changes from the upstream branch
  • Git: Resolved a crash when discarding files via the Git sidebar
  • When copying a public key immediately after generation the key name and device are now included

Version 11.1

June 1, 2023

Fixed

  • Addressed a memory leak in the XPC parsing service
  • Improved auto-closing of tags in various circumstances
  • Resolved a potential crash when displaying very long code structure headers
  • Fixed a case where code structure headers would display with incorrect indentation
  • Addressed a problem with continuous word selection when using click-and-drag
  • The scroll viewport now maintains position during animated scrolls, such as after Page Up / Down
  • Resolved issues with tracking file indentation against the global indentation settings
  • Using the “Sort Tabs by Name / Type” commands while one or more tabs are pinned now works as expected
  • Fixed an issue with editor font styling that could cause some italicized fonts, like Operator Mono, to also be emboldened
  • Publishing: Marking a large number of files for publishing simultaneously no longer causes the editor to become temporarily unresponsive
  • Publishing: Publishing a folder no longer uploads it multiple times in some circumstances
  • Publishing: Filesystem events no longer unexpectedly enqueue multiple files when using certain project configurations
  • Accessibility: Improved contrast of selected text in some themes
  • When disabling parsing or swapping to Plain Text, rainbow brackets now recolor as expected
  • HTML: Resolved an issue preventing tag matching annotations from being displayed
  • HTML / PHP: Completions at the very end of a file now work as expected
  • JavaScript / PHP: switch statements can now be folded
  • Git: Resolved a case where merging two branches would fail unexpectedly
  • Git: Invocation of the post-checkout hook now properly provides the expected arguments
  • Minimap: Unfolding code containing bookmarks now updates them in the minimap as expected
  • Open Quickly: Bookmarks which contain multiple lines now truncate more reliably
  • Image Viewer: The path bar and footer placard are now visible when using a dark editor and light window theme
  • Preferences: Searching for the term ‘map’ now returns results for the minimap
  • Find sidebar: Fixed a potential layout issue with the “No project folder” placeholder
  • Newline characters can no longer be inserted into Server configuration text fields
  • Improved sidebar tab appearance when the “Increase Contrast” accessibility option is enabled

Version 11

May 17, 2023

This new release brings huge advancements to Nova's Git features, adds flexible interface improvements, and provides advanced font support, as well as enhancements and fixes across all parts of the app. It's all part of our goal to make Nova better and better with every update.

Robust Git Support

Level up your Git workflow with repo and submodule management, commit signing, amending, and a fully redesigned Git sidebar.

Powerful Workspace Improvements

Add flexibility to your workspace with project tabs, pinnable workspace tabs, and magnifiable split panes.

Professional Font Feature Support

Configure optional font variations, ligatures, and an extensive set of font features.

New

  • Multiple projects can now be grouped into a single window as individual window tabs
  • Tabs can now be pinned to the left side of each tab bar
  • Individual splits can now be “magnified” to take up the entire content area
  • Split panes can now be closed in their entirety using the close button to the far left of its tab bar
  • Create new text documents and open existing files and folders in Nova using Shortcuts on macOS 13.0 (Ventura) and later
  • Added advanced support for configuring optional font variations and features in the editor
  • A URL scheme action has been added to open a file nova://open?path=[path]&line=[line]&type=[syntax]
  • Git: Added support for commit signing using GPG keys, SSH keys, or X.509 certificates
  • Git: The current branch name is now displayed in the status bar
  • Git: A new “Repository” sidebar section allows for management of branches, tags, and more
  • Git: Added support for amending commits
  • Git: Added support for manually merging branches into HEAD
  • Git: Changes can now be viewed as either a tree or a list
  • Git: Added support for automatic, configurable fetching of remote changes
  • Git: The commit message field will now autofill from a template if set in the Git configuration
  • Git: “Discard Changes” can now be used on untracked files to delete them
  • Git: Added support for resolving hostnames from ~/.ssh/config
  • Git: Changes can now be discarded for the focused file from the Project → Git submenu
  • Git: Mailmaps are now supported for displaying updated names and email addresses for past commit authors and committers
  • Git: Inline “Author” placeholders for uncommitted lines can now be hidden
  • Git: Inline “Authors” and “Show Last Change for Line” can now optionally ignore changes in whitespace
  • Git: The commit details popover now supports one-click copy of the long commit hash
  • Git: The “Commit” field of the Git sidebar can now be accessed through the menu bar
  • Comparison: Added support for ignoring changes in whitespace
  • Comparison: Now supports drag and drop of files
  • Comparison: Changes to text within each hunk are now displayed inline
  • Tasks: The current Git branch is now available as an argument or environment variable wildcard
  • Git Accounts: Added support for “Gitea”
  • Vim mode: Added support for Control-N and Control-P for navigation of completions in Insert mode
  • Vim mode: Added support for Control-A and Control-X to increment or decrement, respectively, the number under the cursor in Normal mode
  • Vim mode: Added support for zc and zo to fold and unfold code, respectively, in Normal mode
  • Color Picker: The hue slider no longer displays inaccurate color values in some circumstances
  • Accessibility: Three new indentation guide color palettes are available to help users with protanopia, deuteranopia, and tritanopia
  • Added an option to suppress warnings when inserting characters with an incompatible encoding
  • Enforce a maximum width to minimap hover indicators for cases when symbol names are very large
  • Settings: Added a help button that links to documentation on how Nova sources Environment Variables from Settings > Tools
  • PHP: Added some missing function completions, such as http_build_query()
  • PHP: Added /** */ as an auto-closing pair (to assist Intelephense users with completion of documentation comments)
  • JavaScript / TypeScript: Improved object literal symbolication
  • Python: Inserting a newline after the ending : of a match or case statement now indents the new line

New for Extensions

  • Tree-sitter: Added support for several new filter predicates to allow for more complex queries
  • Language Servers: Added built-in support for “Format Document” and “Format Selection” when a compatible language server is available
  • Language Servers: Added support for “Jump to Type Declaration”, “Jump to Type Definition”, “Jump to Implementations”, and “Jump to References”

Improved

  • Code hovers now use the same font size and scaling as the editor
  • In-window notifications with large body text can now be scrolled
  • Parsing of all built-in languages has been moved to the NovaParseService XPC service
  • Performance improvements to scroll responsiveness for massive files (>100MB)
  • Languages: The XML, INI, Diff, and Shell Script parsers have been migrated to Tree-sitter
  • Automatic insert of closing delimiters now happens after typing additional characters, instead of immediately
  • Zero-width control characters now display the hexadecimal codepoint instead of an “unknown” glyph
  • Improved handling of CRLF (Windows) line endings for certain text movements, especially in Vim mode
  • Git: Improved handling of SSH StrictHostKeyChecking support
  • Git: Avatar fetching is now performed with GitHub first, before falling back to Gravatar
  • Git: Improved error reporting when attempting to push to protected branches without adequate access
  • Git: Custom hooks now inherit the login shell environment also used by Tasks, to better emulate as if running in an interactive shell
  • Git: Improved handling of timezone offsets when updating the Git reflog
  • Movement or selection forward by word now takes identifier prefixes into account (such as $ in PHP)
  • Extension syntax detectors are now consulted when determining if a file can be opened as text, before consulting system identifiers
  • TypeScript/TSX: Angle brackets are now treated as a surrounding pair when typing the opening bracket
  • Files sidebar: While editing a filename, double-clicking now selects individual components, not the entire filename
  • Launcher: Remote project items now show their URL in the list view location column, if applicable
  • Navigation controls are now always displayed for the remote sidebar, regardless of the “show navigation controls” preference

Fixed

  • Addressed a potential hang when closing the preferences window after editing a text field
  • Resolved an issue with using Move Lines Up / Down with multiple cursors on consecutive lines
  • LSP completions now work as expected when using multiple cursors
  • Addressed a problem with ligature rendering when using a block-style cursor
  • The “Save In Keychain” checkbox for SSH key passphrase alerts now works as expected
  • Code structure headers no longer display a line number when disabled in the editor preferences
  • Resolved a potential hang when displaying a code structure header that contains a very large number of characters
  • The line number gutter now sizes itself more accurately when using a proportional font with varying digit widths
  • Fixed a potential crash when attempting to display tooltips for text decorations that have already been removed
  • Visible path bar folder list pop-overs are now automatically closed if the file’s path is changed in the background
  • Resolved an issue which could cause narrow content splits to resize when focus or selection changes
  • Interactive spell checking can now be performed without enabling “check spelling while typing”
  • Resolved a potential case where the editor could “jump” when the scroll viewport was near the bottom
  • Fixed a potential crash when parsing JavaScript template literal expressions which contain only a string substitution
  • Resolved a case where certain characters in filenames would render incorrectly in transient tab titles
  • Improved some cases where typing performance could be slower than expected following large sections of code that had been folded
  • The “Save & Publish” menu item can now be rebound to a custom key binding independently of the “Save” item and its alternates
  • Resolved a case where error propagation in the JS Streams API could crash the extension service
  • Pressing Tab from within the Find banner “Replace” field now moves focus to the editor
  • Addressed a visual flash that could occur when opening document tabs and using the dark themes
  • Settings: The Nova Developer sign in sheet now validates after being autofilled from macOS Passwords
  • Tasks: Expanding variables containing special characters, such as the ampersand, now works as expected
  • Tasks: Invoking a large remote task script should now properly send the entire script before sending an EOF
  • Project Settings: Resolved an issue with saving extension task configurations if project settings was closed while editing a value
  • Project Settings: Resolved a case where renaming a task or remote destination to a name already in use would delete the renamed item
  • Git: Resolved an issue preventing use of SSH two-factor authentication
  • Git: Fixed an issue that prevented commits if the repository was in a detached HEAD state
  • Git: Resolving a merge or rebase state outside of Nova now clears the prepared commit message
  • Git: New repositories without commits will now show the default branch name instead of “No Commits.”
  • Git: Addressed an issue which could prevent editor gutter change annotations from updating after a commit
  • Git: Invoking the “Project → Git → Push” menu item in a repository with multiple remotes now works as expected
  • Git: Pushing references to a remote that is up to date will now skip the push, preventing remote hooks from triggering unexpectedly
  • Git: Fixed a potential crash when creating a commit or tag if the value of user.name or user.email Git config options were malformed
  • Git: Improved handling of repository initialization and deletion from external sources while Nova is running
  • Git: Attempting to merge a branch into HEAD when uncommitted conflicting changes are present now displays an alert and aborts the merge
  • Comparison: Resolved an issue with building comparison regions if the final region intersected the end of both files without a trailing newline
  • Comparison: Scroll position is now more accurately maintained when the comparison views are updated after editor settings are modified
  • Terminal: CSI r, A, and B should now respect terminal dimensions
  • Terminal: Mouse events are now sent in reverse when holding control-option-command
  • Terminal: Resolved a potential issue combining characters that follow wide characters
  • Terminal: Tabs no longer become focused when reconnecting as part of state restoration
  • Terminal: Remote terminal windows should now prompt for Yubikey PIN entry when applicable
  • Vim mode: Fixed a potential issue with movements that cross emoji
  • CLI: Resolved an issue with the creation of unsaved files
  • CLI: Resolved an issue where piping an opened file to stdout would fail if the path was specified as absolute
  • CLI: Attempting to open a symbolic link or alias which points to a folder now opens the folder as a project
  • Files sidebar: Invoking the “Publish” contextual menu item now honors publishing ignore rules
  • Files sidebar: Right-clicking the filename of a selected file no longer causes the filename to become editable
  • Files sidebar: Expanding recursive symlinks in the Files sidebar no longer leads to a hang or crash in some circumstances
  • Files sidebar: Fixed an issue which prevented files from being displayed when “Ignore files excluded by Git” was disabled
  • Find sidebar: Resolved an issue where the progress indicator could appear to fill backwards as directories to search were enumerated
  • Symbols sidebar: Addressed a case where adjusting the slider to the first position would not collapse all symbols
  • Symbols sidebar: Improved performance of displaying and updating the tree of symbols for very large or complex documents
  • Debug console: Improved parsing of terminal ANSI color codes
  • Debug console: When accepting completions, settings for whether Tab or Return accept are now respected
  • Preview: Addressed a potential crash when dismissing a JavaScript alert due to queued keyboard events
  • Publishing: Deleting and recreating the local publishing root folder no longer enqueues the folder itself
  • HTML: Entities using a Unicode escape code should now highlight properly
  • Ruby: Syntax highlighting of method arguments is now more consistent
  • Ruby: Autocomplete no longer improperly adds “self” to completion of instance method definitions
  • JavaScript: Fixed an issue which prevented Web API completions from being offered
  • Extension Library: Fixed a potential layout issue for extensions with many categories

Version 10.6

December 15, 2022

Fixed

  • The cursor insertion point should no longer be obscured by the code structure headers in some circumstances
  • Fixed an issue where closing brackets may be typed over when the “insert and type-over matching delimiters” preference is disabled
  • Resolved an issue where Page Up / Down would not always animate fully
  • Find: Performing a “match word” search now only enforces word boundaries when the boundaries are alphanumeric
  • HTML: Resolved a case where CSS color decorations may not appear after pasting in a new document
  • Terminal: Addressed an issue that could cause blank lines to be drawn on high refresh rate monitors
  • Vim mode: Using Option+Shift+ArrowKeys in Insert mode now selects text
  • Chrome Debugging: Resolved an issue with passing custom launch arguments to the browser

Version 10.5

December 8, 2022

Fixed

  • Added a limit to the amount of report and console output saved to state restoration for task runs
  • Key Bindings: Addressed an issue preventing deletion of a default key binding in a customized set
  • PHP: Resolved an issue with highlighting types as part of static call and static accessor expressions
  • Ruby: Fixed a problem completing instance properties starting with @
  • Markdown: Addressed an issue where HTML end tags would not highlight properly in some circumstances
  • Vim mode: Using Option + Arrow Keys in Insert mode now works as expected
  • Symbols sidebar: Improved performance of displaying and updating the tree of symbols for very large or complex documents
  • Automatic closing bracket insertion now works more reliably in nested brackets
  • Files ignored by Git are now applied to the Files sidebar filter when enabled in preferences
  • Transcript: Choosing “Show Transcript” from the Remote sidebar or “Transcript” from the Window menu now works as expected

Version 10.4

December 1, 2022

Fixed

  • Addressed an issue with certain text operations (like toggling comments) in injected code regions when using regex parsers
  • PHP: Resolved an issue where capitalized variable identifiers (such as $Foobar) would highlight as type names
  • Resolved an issue where the editor viewport could be too short after opening files while the minimap is visible
  • Autocomplete token annotations are now displayed as expected when using a light theme
  • Launcher: Fixed a potential issue laying out items in grid view
  • Terminal: Resolved a potential issue with clearing the screen while in a soft-wrapped line
  • Terminal: Addressed a potential hang when processing a lot of data very quickly
  • Terminal: Fixed 2FA dialogs not being show as expected when connecting with remote terminals
  • Terminal: The “Anonymous Pro” font is now drawn as expected when GPU acceleration is enabled

Version 10.3

November 16, 2022

Improved

  • Python: Documentation strings immediately after a function or class definition now highlight and fold as comments
  • Terminal commands and Tasks which use AppleEvents for inter-app communication can now request approval

Fixed

  • Fixed a potential crash when editing HTML+ERB files
  • Addressed a potential crash when using regex-based grammars
  • HTML/XML: Visual tag matching highlights now work as expected
  • Resolved an issue with third-party extensions that depend on the legacy PHP grammar
  • Ruby: Fixed an issue preventing variable identifiers in the document from completing
  • Vim mode: fixed a potential crash using Shift-H in an empty document
  • Resolved a potential issue with auto-sizing of new splits
  • macOS 13: The debug pane should now maintain its previous size when project windows are restored
  • SSH/SFTP: Resolved an issue that prevented connecting to an EC2 instance with SSM when using the ProxyCommand directive
  • LSP: Resolved an issue where snippets containing a tab stop of 0 would use it as the first tab stop, not the last

Version 10.2

November 10, 2022

Improved

  • Code structure headers now provide more context for symbols whose name or arguments are defined over multiple lines

Fixed

  • Addressed a potential crash when files are reloaded from disk, such as when swapping Git branches
  • Fixed an issue where the editor’s scroll position could change when typing in the last line of a file
  • Resolved a potential crash when moving a line downward in a new file
  • Fixed a crash that can occur when folding code with variable-width fonts
  • Resolved a potential issue with using Option-double-click to select multiple words
  • Inline authors: Fixed a case where line height could change when authors annotations are visible
  • Fixed an issue showing color annotations on open for some larger files
  • JavaScript: Restored support for folding template strings
  • PHP: Fixed an issue with variables not completing properly in strings
  • PHP: unset() and exit are now highlighted as keywords when used as such
  • JSX/TSX: Restored support for folding tags
  • SCSS: Resolved an issue completing CSS-style variables within var() functions
  • HTML/PHP: Fixed an issue preventing “Select Inside Brackets” from selecting within tags
  • Editor: Resolved an issue preventing change annotations from being displayed in scrollbar markers
  • Addressed a potential crash when opening the “Behaviors” settings on systems with customized speech recognition voices

Version 10.1

November 3, 2022

New

  • Debug Adapter Protocol: Event message output is now color coded

Improved

  • Find sidebar: The “expand / collapse all results” buttons are no longer displayed when no results are found
  • Find sidebar: The results count banner now offers to remove filters when they are enabled and no results are found
  • Improved “Insert and type-over matching delimiters” behavior when typing a closing delimiter inserted as part of a completion

Fixed

  • Modifying large files no longer causes the viewport to scroll unexpectedly in certain circumstances
  • PHP: Resolved a potential crash parsing certain files
  • PHP: Syntax highlighting now works as expected when no PHP tags are present
  • HTML: Resolved an issue parsing CSS within style attributes
  • HTML: Resolved an issue that prevented entities from highlighting properly
  • CSS: Typing ! now properly prioritizes !important over other unrelated completions
  • SCSS & LESS: Resolved an issue that prevented color swatches from being displayed
  • Markdown: Restored the ability to spell check documents
  • Markdown: Resolved an issue preventing certain inline styles from showing as expected
  • Code Hovers: Fixed an issue with clipping of text when scroll-bars are always shown
  • Addressed an issue with “Fold Methods & Functions” not working as expected in PHP or JavaScript syntax modes
  • Revision browser: The loading spinner now shows for a minimum amount of time to prevent flickering
  • Terminal: Addressed a potential issue copying wide text
  • Terminal: Fixed an issue with the “pan down” command that caused drawing issues in the Ruby debugger
  • Themes: Document background color no longer incorrectly use the window background color in certain cases
  • When scrolling the tab bar using a mouse wheel the scroll-direction now matches the system

Version 10

October 27, 2022

Simply put, it's one of the biggest Nova updates we've ever done. It massively improves our language support, adds a beautiful diff view, has gallons of fixes and improvements, and is ready for you to start coding. Introducing Nova 10.

Supercharged Languages

Many of Nova’s built-in languages have been upgraded to the next level. They parse more accurately, load faster, and work even better.

Tree-sitter Extensions

You can now leverage the expansive grammar community of Tree-sitter, the open-source parsing library used in Nova 10, when writing Nova language extensions.

Comparison View

Slide open a comparison to diff a file against a Git commit or another file, or even diff two specific commits, and quickly see what's changed.

Shiny New Icons

Swap Nova’s dock icon for any season or any mood with nine beautiful new celestial-inspired choices.

New

  • Sticky code structure headers can now be shown at the top of the editor as you scroll
  • Git: Inline author annotations can now be shown in the currently highlighted line
  • New bundled language syntaxes, including: EJS, Regex, and Tree-sitter Query
  • Find sidebar: Added options for searching hidden files, ignored files, and files within packages
  • Tabs can now be sorted by filename or type
  • Support for multiple wrap guides
  • The minimap now shows bookmark headers and can display symbol names on hover
  • SSH certificate client authentication
  • FIDO2 ECDSA-SK and Ed25519-SK key authentication
  • Generate FIDO2 ECDSA-SK and Ed25519-SK keys when using an authentication device

New for Extensions

  • Tree-sitter grammars can now be utilized when writing language extensions. Learn more here.
  • Added the nova.crypto API for generating cryptographically-strong random values and UUIDs
  • Added the nova.fs.tempdir API for getting the path to a temporary folder
  • Added the comment.doctag theme selector

Improved

  • Improved parsing and highlighting of many cases of very large documents
  • Added the ability to show all autocompletion results from current insertion point in many built-in languages
  • Syntax highlighting of lines containing more than 10,000 characters is now supported with Tree-sitter based grammars
  • Foldability of comment blocks is now automatically supported when using Tree-sitter based grammars
  • Saving or typing within an editor now reloads preview tabs attached to other tabs for the same document
  • Tabs can now be scrolled using the mouse wheel without any keyboard modifiers
  • Switching between recent tabs in a split using Control-Tab (and Control-Shift-Tab) is now supported
  • When a debugger stops, the first stack frame with a source link is now selected, instead of the first stack frame overall
  • The minimap now has an enforced maximum size to help prevent it from growing too large on wide displays
  • Improved performance of scrolling backwards into a project’s Git history, especially when the repository is on a mounted share
  • Improved editor responsiveness when language servers return a large number of completions
  • Indentation guide opacity can now be controlled with a preference
  • Find sidebar: Queries will no longer search within Mach-O executables
  • Find sidebar: Added options for expanding or collapsing all results
  • Symbols sidebar: Improved support for @media queries in CSS
  • Git: Added menu items for “Stage All” and “Unstage All”
  • Vim: Added support for z vertical movements (zz, z., etc.)
  • The toolbar status view can now be expanded to show multiple concurrent activities in progress
  • Tasks: Added a button to the running task in the toolbar status area to open its report
  • Tasks: Added debug transcript logging for Remote Tasks
  • Added support for “Look up” & data detectors when using the Plain Text syntax
  • Printing: Theme and font size can now be specified from the Print options
  • “Next/Previous Matching Bracket” actions have been consolidated into “Jump to Matching Bracket”
  • JSX/TSX: Commenting now conditionally uses /* */ or {/* */} properly for code or markup
  • Improved Markdown rendering in LSP hover popovers

Fixed

  • Resolved a crash when certain LSP extensions show an auto-dismissing notification
  • Fixed a potential crash when using regular expression named or bracketed backreferences in replace patterns
  • Fixed display of “time since” in the Git history list in certain cases where the time approaches close to 24hrs
  • Color Picker: Fixed the color picker’s color square and hue slider not rendering in Display P3 on capable screens
  • Emoji should no longer affect the line height of text when larger than the default font metrics
  • Cloning Git repositories using a URL should now accurately choose the correct default branch
  • LSP hover popovers are now easier to interact with when using large line heights
  • Resolved a case where Reverse Publishing could fail if a remote path was specified on both the server and in publishing settings
  • Transcripts for failed connection attempts through the file browser are now displayed as expected
  • Preview tab favicons larger than 16x16 are now properly scaled in the Window menu
  • Various parsing improvements to Tree-sitter based syntaxes (HTML, ERB, CSS, JavaScript, JSX, TypeScript, TSX, JSON, PHP, Python, Ruby, Lua, Markdown, YAML)
  • Lua: Variable names are now highlighted when assigning a function
  • Lua: Addressed an issue with syntax highlighting breaking on nested comments
  • Python: Added support for highlighting f-strings
  • Python: Improved highlighting of Type Annotations
  • Python: Addressed an issue with the parsing of Type Hints
  • Python: Lambdas in dictionaries or lists are now highlighted as expected
  • Python: Added highlighting support for match case syntax
  • Python: Code folding now works as expected for inline if-else statements
  • Python: The print completion has now been updated to be a function instead of a statement
  • JavaScript: Added support for highlighting tagged templates
  • JavaScript: Using “Jump to Previous/Next Instance” from function definition now works as expected
  • JavaScript: Added support for parsing numeric separators
  • JavaScript: Addressed a potential issue with highlighting of object properties
  • JavaScript: Code folding of functions with destructured arguments now works as expected
  • JavaScript: Resolved an issue with parsing of conditional operators
  • JavaScript: Parameters prefixed with $ are now highlighted as expected
  • JSX: Addressed an issue with highlighting of multi-line comments
  • JSX: Improved parsing of opening/closing tags in some circumstances
  • JSX: Attributes prefixed with $ are now highlighted as expected
  • TSX: Autocomplete no longer creates an empty tag in some circumstances
  • TSX: Improved parsing of documents that do not include semi-colons to indicate scope changes
  • TypeScript: Improved parsing of template strings
  • TypeScript: Addressed an issue with highlighting of ===
  • TypeScript: static keyword is now highlighted as expected
  • TypeScript: Improved highlighting of optional parameters
  • TypeScript: type definitions are now terminated properly when a trailing semicolon is not present
  • Typescript: Fixed an issue with parsing function definitions in some circumstances
  • PHP: Added support for code folding of brackets in disparate php tags
  • PHP: Custom variables are now displayed in autocomplete for HTML
  • PHP: Added support for constructor property promotion
  • PHP: Highlighting of identifiers now works more reliably
  • PHP: Addressed a potential issue with folding block comments
  • PHP: “Jump to Definition” now works more reliably for functions with same name in different classes
  • CSS: Completions now show automatically only after identifier characters
  • CSS: The aspect-ratio property is now highlighted as expected
  • CSS: Added highlighting support for SVG properties
  • CSS: Element keywords are no longer matched as case sensitive
  • CSS: Selectors with escaped characters are no longer parsed as two selectors
  • CSS: Address a syntax highlighting issues with :host() pseudo-class
  • CSS: highlighting @font-face rules that contain URLs now works as expected
  • CSS: Resolved parsing issues with @font-face, font-display, and src attributes
  • CSS: The figcaption property is now highlighted as expected
  • CSS: Added highlighting support for color-scheme property
  • CSS: Variable names that include the name of a CSS property are now highlighted as expected
  • YAML: Frontmatter is now highlighted as expected
  • YAML: Values with colons no longer break highlighting
  • YAML: Addressed parsing issues for various property types
  • HTML: Syntax highlighting of the custom HTML elements standard is now supported
  • HTML: Self-closing HTML tags are no longer automatically closed unexpectedly in some circumstances
  • HTML: Addressed an issue where syntax highlighting could fail unexpectedly after removing and adding HTML tags
  • Markdown: Frontmatter is now stripped when previewing
  • Markdown: Addressed an issue with folding of headers in Markdown
  • Markdown: Improved highlighting of fenced code blocks using language names
  • Markdown: Folding of code blocks no longer includes trailing newline
  • Markdown: Autocomplete suggestions for HTML attributes now work as expected
  • Markdown: Newlines within inline formatting no longer break syntax highlighting
  • Markdown: Omitting trailing comma in metadata no longer breaks syntax highlighting in some cases
  • Markdown: Addressed highlighting issues with documents that contain colons in metadata
  • Ruby: Improved highlighting for heredocs
  • Ruby: “Jump to definition” now works for methods with ! or ?
  • Ruby: Resolved a problem with highlighting of multiline arrays, strings, and %i %W statements
  • Ruby: Syntax highlighting for variables named “index” now work as expected
  • Ruby: Added highlighting support for interpolated strings
  • Ruby: Addressed an issue with code folding not working as expected in some circumstances
  • Ruby: Method invocations are now highlighted as expected
  • Ruby: Addressed a parsing issue with documents that contain RSpec’s .with method
  • Ruby: class << self ... end syntax is now supported as a foldable method
  • Vim: Invoking H or L no longer moves the viewport when re-positioning the cursor
  • Vim: Invoking dd on the trailing line fragment of a document now removes it and the previous newline
  • Vim: Invoking Y now includes the trailing newline for single lines
  • Vim: Invoking cw or cW no longer includes trailing whitespace after a word
  • Vim: Invoking a on an empty line no longer moves to the next line
  • Vim: Invoking ci', ci", or ci now properly handles cases where the quote is at the cursor position
  • Vim: Invoking End now properly moves to the end of the current line
  • Vim: Invoking commands using Option on certain keyboard layouts now works as expected
  • Vim: Scrolling using CTRL-D when the last line is visible will now move the cursor into that line
  • Vim: Fixed a case where using CTRL-D could sometimes scroll upwards if the last line was already visible
  • Vim: Addressed an issue with moving after the last character in the document while using Insert mode

Version 9.6

September 14, 2022

Fixed

  • macOS Ventura: Resolved a potential crash when clicking the filter button in the search sidebar

Version 9.5

August 22, 2022

Improved

  • Security improvements for macOS Monterey

Version 9.4

July 20, 2022

Improved

  • Calculation of line height and baseline for certain fonts
  • Terminal: performance and emulation improvements

Fixed

  • Fixed a possible crash when resizing or hiding a preview pane
  • Resolved a crash when switching away from a Preview tab with the Find field visible
  • Addressed a potential crash when saving adjusted breakpoints after code was changed
  • Fixed a crash when commenting the head of a line that contains a comment shortly after
  • Invoking ‘Add Cursors at End of Lines’ no longer adds an extra cursor in some circumstances
  • Lines after a period will no longer soft wrap when the period immediately proceeds visible characters, such as a CSS class name
  • Wrapping an inline color swatch to the head of the next line fragment should no longer cause the cursor position to be inaccurate
  • Streaming file changes from disk should no longer bypass indexing ignore rules in certain cases
  • Resolved an issue with uncommenting multiple lines with the last trailing newline included in selection
  • Terminal: “Use bold fonts” setting is now honored when GPU acceleration is disabled
  • Terminal: Remote tabs in remote-only workspaces now automatically reconnect when the workspace is reopened
  • Switching system appearance with plain text files open no longer incorrectly recolors some regions of text
  • The Find bar now treats the start and end of the editor buffer as regular expression line boundaries when using ^ and $
  • When using the global Find pasteboard the field contents are no longer modified if another app removes Nova’s wildcards from the search terms
  • LSP workspace/configuration requests now put section values at the top of the response items instead of including the section as a wrapper
  • Resolved an issue that caused the toolbar to be clipped in an unreleased version of macOS
  • Touch Bar: Resolved a potential crash when viewing the Welcome Window

Version 9.3

April 15, 2022

Fixed

  • Addressed a case where importing local sites from Coda 2 would not properly set up the remote destination
  • Invoking “move to end of line” on a wrapped line now moves the insertion point to whitespace proceeding the soft-wrap
  • The last line number in documents with folded code is no longer potentially numbered incorrectly
  • Fixed a case where a Finder window could inadvertently be opened when swapping to certain files
  • Resolved an issue where the local or remote file trees could incorrectly display the other’s contents when changing the focused tab
  • Expanding a folder in the Files sidebar no longer scrolls the sidebar unexpectedly in some circumstances
  • New tabs are now scrolled into view instead of the viewport shifting to the start of the tab bar and back

Version 9.2

April 7, 2022

New

  • “Select Line” is now bound to Command-L by default
  • Invoking “Select Line” multiple times now continues selecting additional lines
  • Double-clicking a word or triple-clicking a line now selects the line on mouse down

Improved

  • The minimap should now more accurately render its visible range indicator for smaller document lengths
  • Git ignore rules are now respected for Indexing, Find & Replace, and Open Quickly even if Git support is disabled
  • The preference for selecting files in the Files sidebar when their tab is focused can now also scroll them into view

Fixed

  • Fixed a potential crash when determining the primary volume path
  • Improved editor performance when showing large sets of completions
  • Resolved an issue with drawing text underlines at certain font sizes
  • Attempting to move or rename project tasks on a case-sensitive filesystem now works as expected
  • Fixed a potential crash when editing custom behaviors in preferences
  • Addressed an issue with binding menu items to Control-Tab (and Control-Shift-Tab)
  • Remote file tabs now show document icons after state restoration
  • New folders created via the command palette can now be prefixed with a /
  • Fixed an issue where performing a Replace operation in the editor could show incorrect text in the resulting Find indicator
  • Tasks: Fixed an issue with adding multiple wildcard arguments to a Task’s options
  • Tasks: Attempting to start a second instance of a running task will no longer start two additional instances
  • Extensions: Addressed an issue resolving actions provided by a Task Provider extension
  • Debugging: Setting breakpoints when unsaved files are open should no longer lead to a crash
  • PHP Debugging: Fixed an issue with resolving paths during remote debugging
  • PHP Debugging: The “Everything” exception filter breakpoint is now ignored properly when disabled in the Breakpoints sidebar
  • Node Debugging: Fixed JSON decoding of messages from earlier versions of the Node runtime
  • Terminal: Fixed a crash when inserting characters in specific circumstances
  • Terminal: Resolved an issue that caused certain emoji to be rendered incorrectly
  • Terminal: Addressed a potential performance issue when GPU acceleration is enabled
  • Terminal: Fixed a potential issue with URL hover text remaining after the buffer is cleared
  • Terminal: Inserting Japanese text after invoking Control-l no longer inserts text at the wrong position
  • Terminal: Clearing the buffer will no longer cause the prompt to become partially obscured at certain window sizes
  • Launcher: Addressed a case where the starfield animation would not stop rendering when the launcher was closed
  • Launcher: Fixed an issue where the tooltip for a project could potentially show a memory address instead of a path
  • Language Servers: Configuration requests now return values with proper deeply-nested objects when for configuration keys using dot-notation
  • Resetting custom key bindings to the default value when an extension-provided set overrides them now works as expected
  • Resolved an issue with using certain fonts whose monospace style is part of a non-monospace family, such as Osaka-Mono
  • Resolved an issue parsing grammars which define multiple template scopes where those scopes could unintentionally intermix
  • Clicking “Configure Themes…” from the Extension Gallery will now foreground the Preferences window when it is already open
  • Calculating icons for items in the Files sidebar should be more performative for large projects and those stored on mounted volumes
  • Resolved an issue causing additional edits from Language Server completions to improperly adjust the selection in some circumstances

Version 9.1

March 18, 2022

New

  • Vim: Support for Relative and Hybrid line numbers has been added via a preference
  • Added a new preference for specifying whether clicking a line number adds a breakpoint or selects the line

Improved

  • The editor path bar now caches file icons to improve performance when building paths for mounted, remote, or file provider volumes

Fixed

  • $FileDirname now returns the correct value
  • Resolved a crash when showing the Tab Overview
  • The “Get Info” item works as expected in File Browser tabs
  • Fixed a crash with indexing certain files in the background
  • Python: specifying a relative interpreter path now resolves properly
  • PHP: Using “Jump to Definition” on a variable no longer invokes the Dictionary popover
  • Finder tags in the Files sidebar are now aligned as expected
  • Extension preferences sections are no longer missing their labels
  • HTML: Fixed an issue with toggling block comments in some circumstances
  • Resolved an issue preventing the color picker completion item from working
  • Terminal: Fixed a rendering issue with empty PROMPT_EOL_MARK when using zsh
  • Fixed a potential crash when Language Servers return invalid diagnostic ranges
  • Local script tasks now hide the activity progress indicator when configured to do so
  • Preview: Fixed an issue with styling of Markdown files that are not part of a project
  • Resolved an issue preventing the chosen completion from being inserted after folded code
  • Stopping a Python debug session prematurely should no longer crash the Python debug adapter
  • Fixed some cases where auto-indentation of pasted text or clips following code blocks could be wrong
  • Vim: Performing a “next word” motion with w now properly includes trailing spaces before the next word
  • JavaScript / TypeScript debugging: Source Maps linked by an absolute file path should now resolve properly
  • Focusing the editor immediately after clicking a selected file in the sidebar no longer refocuses the file for renaming

Version 9

March 15, 2022

Nova 9 is, quite simply, one of our biggest releases yet. It adds extensive support for debugging. It improves Nova's Task system, and much, much more. We're so excited to share it with everyone, we've even reset the trial period for anyone who's tried Nova before.

Debugging

Nova 9 adds support for the debugging environments most requested by our users, including: PHP, Python, Chrome, Node.js, Deno, and (yes) Playdate Simulator. Plus, debugging additions to our extensions API.

Task Pipelines

You can now add intermediate actions to a Task's Build, Run, and Clean pipelines, including those contributed by extensions.

New File Icons

Nova now looks better than ever with a new set of filetype icons.

Breakpoints

Debug just the way you’d expect. Set breakpoints, define conditions, attach actions, and fix bugs fast.

New

  • Preview: Light / Dark appearance can now be overridden on demand per-preview for easier CSS testing
  • Extensions: Library search results can now be sorted by “Recently Updated”
  • A sampling dropper has been added to Color Pops
  • Atomic saving of files can be controlled using a new preference
  • Added support for the following Git hooks: pre-commit, commit-msg, post-commit, and post-checkout
  • Added a preference for controlling whether Language Servers may define additional characters which accept the selected completion
  • Terminal: Added an option to use GPU rendering on supported hardware, which can be turned on in the advanced Terminal preferences
  • Terminal: Added support for the OSC 8 hyperlink escape sequence

New for Extensions

  • Extension API: A new TaskDebugAdapterAction to run debuggers supporting the Debug Adapter Protocol
  • Extension API: A new DebugSession class and Workspace methods to observe and respond to custom Debug Adapter events
  • Extension API: Exposed the project’s preview configuration via the Workspace object
  • Extension API: Added fs.chmod() to set file permissions on the FileSystem object

Improved

  • Content tabs now size themselves to their filename dynamically, greatly improving the readability of longer file names
  • The Files sidebar now automatically select files as they gain focus from an editor, and this behavior can be turned off in the Files preferences
  • Tab bars now show a visual indicator when there are tabs beyond the visible region
  • Moving the editor cursor now updates the focus of macOS Accessibility Zoom
  • Initializing a new Git repository now respects the init.defaultBranch configuration option
  • The “blip” animation shown when crossing over a bracket character now appears while in Vim mode
  • Opening files via the CLI will no longer show the launcher momentarily before files are opened
  • “Show Invisibles” now differentiates between normal spaces and other standard (non-control) whitespace characters
  • Git accounts can now be added for hosting services that use self-signed SSL certificates
  • Several new neutral color choices are available for project folders
  • Preview tabs now display the favicon of the current page
  • Rendering of underlined text is improved
  • Text layout now centers runs vertically in their line fragment instead of using a multiple of the font descent
  • The completions list now more intelligently sizes its width

Fixed

  • Inserting complement characters for brackets and quotes should now work in more cases
  • Pasting large blocks of text now autoscrolls the editor to the cursor insertion point
  • Transforming short hex colors in the CSS color picker should now maintain that format
  • Typing certain multi-part character combinations now works properly when using some non-ASCII keyboard layouts
  • Projects closed while in fullscreen will now reopen in fullscreen
  • Added file type declarations for the webmanifest JSON format and the woff / woff2 font types
  • The completions list no longer truncates items vertically at larger font sizes
  • Resolved an issue where tab tooltips could be displayed partially off screen in some circumstances
  • Selected ranges are now displayed properly in the Minimap
  • Lua: Block commenting now works properly
  • PHP: Validation now enforces error reporting even when display_errors is disabled in php.ini
  • Preview: Using a custom URL without a scheme now falls back to http
  • Preview: Files outside of the preview root now display as expected when using an external browser
  • CSS Colors: Swatches for color(srgb…) colors will now appear in the gutter
  • CSS Colors: Mixing non-opaque colors now defaults to rgba() format for sRGB, as color() is only supported by Safari
  • Vim mode: Invoking ci and ca with brackets now properly balances counterparts
  • Vim mode: Scroll motions now move the cursor as expected
  • Vim mode: Invoking an operator with w or W on the last word of a line no longer includes whitespace from the next line
  • Git Sidebar: Adding a tag with no message now properly creates a lightweight tag
  • Git Sidebar: Staging renamed files now properly adds the rename to the index instead of only a delete
  • Git Sidebar: Prefilled commit messages due to a merge conflict will now have the correct text color in Dark mode
  • Git Sidebar: Fixed an issue that prevented Gravatar images from being shown in the History view
  • Find Sidebar: The “Project” scope should no longer be incorrectly enabled for remote projects
  • Find Sidebar: Clicking a result now properly centers the editor’s viewport if the match is not already visible
  • File Transfer: Resolved an issue with changing permissions and advanced settings while a connection is open
  • File Transfer: Added an advanced setting to disable file editing conflict checking when using an external editor
  • Launcher: Dragging and dropping a new project to a disclosed group now works as expected
  • Launcher: Opening the project artwork image chooser on lower resolution displays now works as expected
  • Launcher: Deleting a project when using list view will no longer potentially rename existing projects
  • Launcher: Adjusting the color or image for a missing project will no longer throw unhelpful errors
  • Launcher: Item content is now focused after showing the window when using keyboard navigation
  • Launcher: Choosing “Server Settings…” from the contextual menu now works as expected
  • Terminal: Minor improvements to terminal emulation
  • Terminal: Fixed a potential hang when opening a Local Terminal due to accessibility API deadlock
  • Terminal: Addressed a potential crash when rapidly changing font
  • Resolved a potential crash when displaying language server hovers
  • Addressed a crash when restoring a window with a remote connection that was authenticated using a Yubikey
  • Addressed a potential hang when language servers request updates during in-flight edits
  • When “Prefer Commenting By-Line” is enabled, invoking “Toggle Comment” now properly respects indentation for HTML and CSS comments
  • Invoking “Toggle Comment” from within a string that contains comment characters no longer attempts to uncomment within the string
  • Fixed two cases where “Toggle Comment by Block” would improperly double-comment an existing comment
  • Commenting code after a folded region now works as expected
  • Pasting multiple lines at the first column of a blank line should more reliably reindent the block
  • Pasting a block of text containing a blank line after the insertion point now more accurately adjusts indentation
  • The “Paste and Preserve Formatting” menu item will no longer adjust indentation of pasted text, regardless of preferences
  • Syntax highlighting of bold and italic text with certain fonts (such as Operator Mono and Cascadea Code) now works properly
  • Addressed an issue with tag / link creation when dropping files into an HTML or CSS document and certain extensions are installed
  • Deleting large blocks of text at the end of a file should no longer fail to resize the editor in some circumstances
  • Resolved a potential issue with the Themes preferences carousel not properly resizing in when installing themes
  • Opening an already-open document outside of a project via a symlink should no longer duplicate its tab
  • Invoking “Find” from the preferences now focuses the Search field
  • Updated the UniversalDetector library to improve detection of text encodings
  • Switching to a File Browser tab will now set focus to the pane
  • The editor’s horizontal scroll bar is no longer obscured by the footer status view when word wrapping is off
  • Invoking “Shift Right” on an empty line now works as expected
  • Addressed some minor cosmetic issues

Version 8.4

January 18, 2022

Fixed

  • Addressed a potential crash when exporting servers
  • Improved performance of drawing the code folding ribbon in very large files
  • Autofilling Panic Sync passwords using the macOS helper now works as expected
  • Performing “Select Above / Below” when a selection is present now works as expected
  • Changing the text encoding for unsaved documents no longer potentially causes a crash
  • Menu items should now show their correct key binding in cases where macOS tries to automatically localize them
  • Typing in a document that contains many inline color decorations no longer causes visual issues with the gutter
  • The base text color of the editor now properly updates when automatically switching themes from time of day
  • Resolved a potential crash when cutting text when the Minimap is visible
  • Creating a new folder will no longer rename existing files in some cases
  • Fixed a crash when calculating bold or italic versions of certain fonts
  • Moving the cursor rapidly in Vim mode should now be more responsive
  • Printing plain text documents now works as expected

Version 8.3

December 1, 2021

Fixed

  • Fixed an issue with formatting the indentation of pasted text
  • Resolved a problem where deleting or duplicating files in the sidebar could inadvertently rename others
  • Fixed an issue with custom binding of function keys to menu items
  • Addressed an issue with “Select Above / Below” not properly adding cursors
  • Resolved a potential problem with indentation of inserted clips
  • Addressed a potential crash when drawing color annotations in the editor
  • Fixed an issue with ‘Open in New Window’ not behaving as expected
  • Addressed an issue where the Symbols sidebar could scroll unexpectedly while typing
  • Resolved a potential crash when rebuilding the Symbols sidebar tree
  • Fixed a potential crash when creating new documents
  • Resolved an issue with cursor placement after commenting a line with no selections
  • Addressed a potential issue with styled text when adjusting the editor font size

Version 8.2

November 22, 2021

Improved

  • The new “Toggle Comment” behaviors introduced in Nova 8 should now behave more as you’d expect

Fixed

  • Resolved an issue with dragging files into HTML and CSS documents not using a relative path or tag
  • Fixed an issue where certain keyboard movements could affect the incorrect split pane
  • Addressed a potential crash during text layout while scrolling
  • Resolved an issue where automatic scrolling of the editor horizontally might leave the cursor under the gutter
  • The Dock icon menu now ensures it has a separator in between Recent and Open projects
  • Fixed an issue preventing certain key bindings from working in the editor
  • Resolved an issue with shadow typing in the editor, such as when using “Wrap Selection in Tag”
  • Addressed an issue with the “Register New Organization” link when creating extensions
  • Fixed a potential crash when deleting words or lines with containing multiple cursors
  • Addressed an issue with requesting long lists of BitBucket repositories
  • Fixed a case where the Clips sidebar could lose focus of new group fields during rename
  • Resolved an animation bug when reopening a command palette already containing text
  • Fixed a crash when attempting to save a new Plain Text document
  • Addressed an issue preventing “Go To Line” from centering the selection if it is not visible
  • Fixed a potential crash when drawing CSS color annotations at particularly small sizes
  • Addressed an issue with the Wrap Guide not respecting custom letter spacing
  • Vim: Resolved an issue preventing navigation of the completions list
  • Vim: Fixed a crash that could occur when invoking “next sentence”
  • Vim: Fixed an issue where pasting text yanked from Visual Line mode would not paste likewise
  • Terminal: Addressed a potential issue with scrolling when running commands at certain terminal heights
  • Terminal: Resolved an issue that could cause glyphs to be rendered incorrectly in some circumstances
  • Terminal: Fixed bottom line descenders from getting cut off at some window sizes

Version 8.1

November 10, 2021

Fixed

  • Resolved a crash when two or more extensions are installed that interact with document saves
  • Resolved a potential crash when right-clicking or dragging certain file types (such as Svelte)
  • Resolved an issue where folders with pseudo file extensions could show an icon from that file type
  • Resolved a potential crash when duplicating or renaming files in the sidebar
  • Fixed a potential crash with extension filesystem watchers that are discarded and garbage collected without being stopped
  • Resolved an issue with Toggle Comment by Line not always selecting the right text afterwards
  • Resolved a potential crash with drawing inline color decorations in the editor
  • Fixed selected find results not using the correct text color in Light mode
  • Fixed a crash when using the Vim H, M, and L commands
  • If you’re experiencing crashes in the terminal, please email a terminal log demonstrating the crash, along with information about your terminal’s dimensions, to support@panic.com. You can create a terminal log from the Terminal menu after first launching a terminal, and you can set Nova to display your terminal’s dimensions in Preferences > Terminal > General.
  • After the release of Nova 8, we received some crash reports for the terminal which did not point to the actual issue, but we want to make sure this crash gets fixed, so any information you can provide is greatly appreciated.

Version 8

November 8, 2021

We did it! Nova 8 brings a huge new feature to Nova: Vim mode. It was by far our most requested addition, it took a while to get there, and it's just the beginning (a lot of people use Vim in a lot of different ways!), but we really hope you enjoy it. For more information on our Vim mode and how it works, check out this library article.

Vim Support

Nova now includes support for Vim key bindings, emulating a Vim experience in the editor. Learn more.

Bitbucket account support

Access your Bitbucket Cloud, Server, and Data Center accounts from within Nova.

Save on focus shift

Auto-save documents when focus is changed to another tab or app.

New

  • CSS colors can now be displayed in-line in the editor
  • “Toggle Comment” now supports preferences for specifying line or block comments, as well as controlling space insertion
  • The Find sidebar now has a preference to adjust the level of contextual detail when displaying results
  • Nova’s CLI Tool now supports:
    • Opening and activating an extension bundle
    • Invoking extension commands by name, as well as passing arguments
    • Signing in and out of your extension developer account
    • Validating and submitting extensions to the Extension Library
    • Setting the filetype of opened documents using the --type option
    • Specifying cursor position(s) or selection range(s) when using the
      --line option when opening a document

New for Extensions

  • Added nova.path.relative(from, to) for calculating the relative path between two other paths

Improved

  • Case transformations will now automatically select the word at the cursor location if nothing is selected
  • The wait behavior of the CLI no longer requires manual exit; It will now observe for the file to be closed by Nova
  • Files opened using the CLI should much more predictably open in matching workspaces
  • Terminal: Bracketed paste mode is now supported
  • Terminal: Added support for Japanese Kana input
  • Added a user preference for opting out of important announcements
  • Nova will now display an alert banner when save operations take longer than 5 seconds due to extensions
  • Launcher projects whose stored resolution data has gone stale should now re-link more reliably
  • Launcher projects that have gone missing now display an option to re-link them manually when opened
  • Symbols sidebar improvements:
    • Added support for alphabetical sorting
    • View options now persist between sessions
    • Symbols are now automatically selected as the cursor moves throughout the editor
    • Scroll position is now maintained for documents when swapping between tabs
    • HTML img tags now display their id, class, and src attributes
    • Added support for showing separators by using a bookmark prefixed with a dash and space
    • Improved visual contrast and differentiation of some symbols, especially bookmarks

Fixed

  • Resolved a potential crash when indexing files in the background
  • Fixed find sidebar filters not saving in all cases after editing
  • Code block selections made via the Symbols sidebar now include end tags
  • Fixed an issue preventing - from being used in key binding assignments
  • Addressed an issue with license status not updating on launch after being renewed
  • Resolved an issue with the extension console.log() API formatting not working as expected
  • Preview: Closing a tab now stops playback of audio and video content
  • Preview: Fixed an issue viewing documents not backed by a file on disk
  • Preview: Addressed a problem that prevented tab localStorage from working between sessions
  • Preview: Resolved a potential issue previewing Markdown files when another Markdown app is installed
  • Preview: Tabs reloaded in response to a document save now attempt to preserve their scroll position
  • Preview: Fixed an issue preventing routing for remote files whose servers have a relative base path specified
  • Terminal: Resolved potential drawing issues on macOS Monterey
  • Terminal: Addressed a potential issue with line spacing in certain programs, such as top
  • Terminal: Fixed a problem that could cause text corruption on paste in specific circumstances
  • Launcher: Improved filtering of project names with varying Unicode normalization forms
  • Launcher: Improved navigation using arrow keys when no selection is present in icon view
  • Resolved an issue with invoking some subprocesses from the extension service, such as PHP validation
  • Resolved an issue causing Language Server Protocol hovers to potentially show with incorrect theming
  • Dragging .textClipping files into the editor now insert their contents as expected
  • Clicking a color annotation when the color picker is open now dismisses the color picker
  • Addressed an issue where files that are Reverse Published could immediately re-appear in the publishing queue
  • The Unicode Byte Order Mark (BOM) will now display as an invisible / invalid character in editors
  • Fixed a potential crash when converting LF / Unix line endings to CR / Classic Mac OS line endings
  • Attempting to open certain special filesystem objects (like FIFO queues) will no longer hang the app
  • Fixed a potential text corruption issue when using Shift Right/Left on folded lines
  • Resolved an issue where the editor could unintentionally scroll when typing Japanese characters on the last line
  • nova.path.expanduser no longer not casts falsy values to strings
  • Resolved an issue with adjusting indentation of pasted text
  • Printing source code now works as expected

Version 7.5

September 21, 2021

Fixed

  • Resolved a potential parser crash when adjusting multi-line expressions in response to typing
  • Fixed an issue where changes to a project, such as initializing NPM modules, could incur a large batch of indexing operations for other files that did not change

Version 7.4

August 27, 2021

Improved

  • Adjusted the behavior of Clips in autocomplete to more reliably offer completions of trigger text

Fixed

  • Resolved a potential crash with text layout when opening or restoring files
  • Corrected an issue where text layout could be intermittent when typing in short documents
  • Addressed a possible parser crash caused by making changes just beyond a multi-line expressions
  • Fixed a potential crash when deleting large blocks of text with the minimap visible

Version 7.3

August 24, 2021

Improved

  • Added an advanced preference for specifying the TLS version used when connecting via FTPS
  • Added the ability to manually specify the transfer mode used when connecting to FTP servers
  • Using the Command-9 shortcut will now swap to the last tab in a split by default

Fixed

  • Addressed a potential crash when dragging text around in a document
  • Fixed an issue which prevented adding GitHub Enterprise accounts to preferences
  • Resolved a potential crash when invoking “Undo” while the Git commit field is focused
  • Fixed a potential crash with certain batch edits, such as from rapid undo or from an extension
  • Dismissing the trial status alert now opens the Project Launcher or empty workspace
  • Corrected an issue where the last line of text could vanish if a spelling replacement was made
  • Fixed the display of remote files being empty after connecting in certain cases on macOS 10.15
  • The “Get Info” contextual menu item now displays as expected in file browser tabs
  • Fixed the saving of script paths for custom workspace behaviors between app launches
  • Corrected an issue where changing artwork from Project Settings would not update the Launcher
  • Find sidebar: Fixed result filenames potentially being cut-off when the system row size is set to “Medium” or larger
  • Clips: Resolved a problem with completion by name and tab-triggering clips whose trigger text contains spaces
  • Clips: Addressed a potential issue with completion removing line indentation
  • Files Sidebar: Restored the ‘Upload/Download’ contextual menu actions
  • Terminal: Fixed a potential issue with copying text selection while viewing scroll-back
  • Improved layout of trial expiry window in French and German localizations
  • Fixed version number from briefly being displayed as null after pressing the “Install & Restart” button

Version 7.2

July 28, 2021

New

  • Added support for sub-word navigation (using Control) in the editor

Improved

  • Improved performance of editor text rendering for particularly wide documents and viewports
  • The CSS color picker now supports CSS 4- and 8-character hex colors with alpha
  • Modified some colors in Panic Neon theme for better differentiation of elements
  • Improved readability of arithmetic operators in Panic Neon theme

Fixed

  • Resolved a potential parser crash when deleting matches near the start of a parent
  • Fixed a possible parser crash when adjusting anchored matches
  • Addressed a crash when performing a regular expression “Replace All” in the Find sidebar with multiple results per file
  • Resolved a potential crash when animating matching brackets and showing the Code Actions indicator
  • Clip key bindings should now properly support additional shift-modified chords, such as Command-+
  • Fixed a potential crash when restoring open files in remote projects
  • Cutting an entire line no longer leaves the newline behind
  • Resolved a potential crash when laying out very long lines with Word Wrap disabled
  • Fixed an issue with changes to the Ignored Files global setting not being immediately reflected in file browsers
  • Corrected a regression in indexing speed caused by an overly aggressive regular expression in the JavaScript grammar
  • Fixed a potential crash when reparsing HTML and PHP documents that contain complex script tags
  • Resolved an issue where syntax highlighting appeared to shift several characters while typing rapidly in larger documents
  • Ruby: Resolved an issue with symbolification of empty method bodies
  • Ruby: Fixed an issue with function calls used within dictionary values
  • PHP: Corrected a problem with comments used within property values
  • PHP: Fixed an issue with using backticks within strings
  • JSX: Addressed a problem with tag comments interfering with other highlighting
  • Terminal: Fixed a problem with “Save in Keychain” not working as expected when connecting to servers stored in Nova
  • File Browser: The “Open” contextual menu item now works as expected

Version 7.1

July 1, 2021

Improved

  • Added the ability to create new folders from “Open” panels (e.g. when choosing a publishing destination)

Fixed

  • CSS: Completions are no longer displayed immediately after a ‘{’ bracket
  • Terminal: Remote panes no longer fail to connect when an initial path is specified
  • Fixed a potential problem with annotation issue tooltips disappearing unexpectedly in some circumstances
  • Ctrl-A keybinding now works as expected when a text selection is present
  • Git Sidebar: Multiple selected files can now be opened simultaneously
  • PHP: Added support for parsing functions that return by reference
  • JSX: Tag expressions within arrow function bodies should now parse properly
  • CSS: Completion of custom property names within var() functions now work as expected
  • YAML: Fixed an issue parsing items contained within lists
  • LESS: !Important autocomplete no longer adds an extra ! character
  • Ruby: Improved highlighting of certain function argument arrangements
  • JavaScript: Parsing of regular expression literals as object fields now works as expected
  • JavaScript: Symbolication of quoted object properties containing spaces should work properly
  • JavaScript: Improved highlighting of arrow function expressions being used as arguments to a named function call
  • TypeScript: Improved parsing of some complex object types and interface declarations
  • Resolved an issue that caused delay of search results when using the command palette
  • Remote Files Sidebar: Corrected an issue with opening or saving files in an external editor
  • Addressed an issue with workspaces not restoring remote files that were opened using drag and drop
  • Resolved an issue when moving selection by paragraph using Option+Shift+Up/DnArrow
  • Launcher: Fixed the color swatch in quick edit panel from being clipped on macOS 10.15 and earlier

Version 7

June 23, 2021

For Nova 7 we decided to focus on something truly important to our editor: syntax and grammars. As a result, this release has a large number of PHP and TypeScript syntax improvements we think you'll appreciate. We also sped up Open Quickly, and fixed a lot of issues. Read on!

PHP syntax improvements

PHP 8 union types; highlighting of complex variables and SQL keywords in strings

TypeScript syntax improvements

Better parsing of type expressions and generics

Improved Open Quickly performance

Up to 7x faster for large projects

New

  • Added a preference for adjusting letter spacing in the editor
  • PHP: Highlighting of cURL environment variables in double-quoted strings
  • PHP: Highlighting of SQL keywords in double-quoted strings
  • PHP: Support for complex template string expressions
  • PHP: Autocomplete support for PHP 8
  • PHP: Support for Union Types
  • JavaScript/TypeScript: Path autocompletion for ‘import’ statements

New for Extensions

  • Grammars: Keywords may now be defined using multiple subcategories for better theming:
    • keyword.construct: Language construct keywords, such as function, class, interface
    • keyword.condition: Conditional keywords, such as
      if, for, and case
    • keyword.modifier: Modifier keywords, such as
      public, private, and async
    • keyword.statement: Statement keywords, such as
      return, throw, and eval
    • keyword.operator: Operator keywords, such as
      and, or, and not
    • keyword.self: Internal object reference keywords, such as
      self, this, and super
  • Added WCAG rating support to the syntax inspector

Improved

  • Greatly improved the speed of workspace Quick Open queries
  • Toolbar activity indicator now displays operation type when active
  • Adjusted vibrancy of certain built-in theme elements for better readability
  • Adjusted brightness of some characters to better highlight their accompanying contents
  • Stylesheet theming (CSS, SCSS, etc.) has been updated for visually consistency with other languages
  • JSX/TSX: Component tag attributes are styled separately from DOM tag attributes
  • PHP: Variable prefixes are now highlighted separately
  • Git: The sidebar “Commit” field can be resized

Fixed

  • Resolved a potential crash when re-parsing nested anchored subscopes
  • Fixed a potential hang during Git enumeration of large projects
  • Fixed a crash when lines containing more than 10,000 characters were drawn with invisibles
  • Resolved a possible crash when deleting text that adjusts arguments of functions near the end of a document
  • Fixed a potential issue that could cause considerable memory growth during long-running parsing or indexing operations
  • Images dragged into the editor now add HTML/CSS tag instead of path
  • Clips with trigger text containing periods now tab-complete as expected
  • Files with SVG extension now open in XML syntax by default
  • Fixed an issue with mapping keybindings to Shift+Space
  • Double-clicking title bar now zooms window as expected
  • Improved the ability to maintain cursor positions when an extension modifies the entire document
  • After invoking “Wrap Selection in Tag” typing a space or manually moving out of the tag now removes the trailing cursor as expected
  • Variables defined within non-contiguous contexts are now exported into the next context automatically
  • Corrected a potential problem where having no SSH config file can cause host key validation to fail during task execution
  • Corrected an issue where keys stored in Nova would not be used for SSH Agent Forwarding when enabled for a specific server
  • When a selection ends in a newline pressing down arrow no longer positions the insertion point unexpectedly
  • Unified selection of hyphenated text across all language syntaxes
  • Resolved a potential issue with tab alignment during text changes
  • Tabbing when using spaces for indentation now aligns to the next tab stop
  • PHP: Removed outdated completions no longer present in the modern PHP standard library
  • PHP: Added some missing functions from the MySQLi extension
  • PHP: Highlighting of globally-namespaced types now works as expected
  • PHP: Fixed some cases where comments would not be highlighted
  • PHP: Control structures using the colon syntax now support auto-indentation when pressing Return
  • YAML: Unquoted strings are now highlighted as expected
  • YAML: Maps with unquoted values are now parsed properly
  • YAML: Fixed a potential issue with highlighting of block scalars
  • YAML: Keys with numbers or dashes are now parsed as expected
  • Ruby: Added support for parsing endless methods
  • Ruby: Lambda closures should now parse properly
  • Ruby: Resolved an issue parsing some block expressions
  • Ruby: Corrected a problem parsing regular expressions in dictionary literals or after certain keywords
  • Markdown: Fenced code blocks support aliases to several languages
  • Markdown: HTML tags within list items are now parsed as expected
  • Markdown: Fixed an issue causing stand-alone < characters from being parsed as the start of an HTML tag
  • Python: Syntax detection now works with version numbers
  • Python: Multi-line strings using a u or b prefix should now parse correctly
  • CSS: Completing a property name immediately after an opening bracket now works as expected
  • JavaScript: Added .cjs and .mjs as recognized file extensions
  • JavaScript: Parsing of async keywords in arrow function expressions
  • JavaScript: Numbers using e (scientific) notation are properly parsed
  • JavaScript: Support for parsing computed property and method names within classes and object literals
  • JavaScript: Fixed parsing of methods defined within an object literal using ECMAScript 2017 syntax
  • JavaScript: Arguments from anonymous functions should now be offered as auto-completions
  • JavaScript/JSX: Corrected some issues parsing regular expression literals
  • TypeScript: Resolved a potential issue with parsing generics
  • TypeScript: Parsing and symbolicating of arrow function expressions
  • TypeScript: Type expressions should now highlight more consistently, especially for object, array, and function types
  • TypeScript: Classes, interfaces, and methods using generics now highlight their generic types correctly
  • TypeScript: Type expressions which include raw values (such as strings) now highlight more consistently
  • TypeScript: Properties in interfaces and classes should more consistently highlight their type information
  • Symbols Sidebar: Fixed an issue parsing TypeScript getters and setters
  • Terminal: Corrected a rendering issue with tmux multitail
  • Terminal: Improved performance with URL and file path detection
  • Terminal: Fixed a potential issue that could cause the view to autoscroll unexpectedly when viewing scrollback
  • Terminal: Fixed a problem with “Save in Keychain” not working as expected when connecting to servers stored in Nova
  • Terminal: Resolved a potential issue that could cause high CPU usage after using exit in terminal before URL detection had completed
  • Git: Resolved issues with SSH configurations that alias the hostname
  • Git: Sidebar now only reloads its contents if the branch or current HEAD commit of the repository changes
  • Git: Resolved an issue where service account HTTPS authorization could be non-deterministic when multiple accounts exist for the same service
  • Clips: Resolved an issue with the editor insertion point not being visible when using contrasting appearance themes
  • Find: Queries for ß no longer match ss, and vice versa
  • Extensions: Adjusted the behavior of the LanguageClient implementation to properly normalize the workspaceFolders property
  • Extensions: Adjusted title bar theming in cases where the active window theme does not explicitly set an active state color or gradient
  • Extensions: Improved error message when attempting to submit a non-extension project to the Extension Library
  • Launcher: Fixed an issue where cloning a repo could create duplicate project listings in the Launcher
  • Launcher: Resolved an issue with the title background of project groups not showing when scrolling via the keyboard

Version 6.2

May 4, 2021

Fixed

  • Addressed a potential crash when calculating annotation display ranges
  • Resolved an issue with soft wrapping documents that use CRLF line endings
  • Columnar selection of wrapped, indented lines now works as expected
  • Cursor insertion points are now maintained on save when “Auto-trim trailing whitespace” is enabled
  • Fixed an issue with key binding conflict-calculations when using the AZERTY layout
  • Ruby: Resolved an issue parsing bracket closures
  • Ruby: using and extend keywords in class definitions are now parsed as expected
  • YAML: Resolved a potential issue with parsing symbols that contain certain symbolic characters
  • YAML: Fixed an issue with parsing block scalars followed by other block scalars
  • TypeScript: Corrected a problem with interface method parsing
  • TypeScript: Addressed an issue with parsing of nested JavaScript interpolated strings
  • JSX / TSX: Fixed an issue with parsing of object literals that contain self-closing tags
  • JSX / TSX: Fixed a potential issue where TypeScript type annotations could interfere with tag parsing
  • SASS: Resolved an issue with parsing attributes that have whitespace between the name and colon
  • Terminal: Double-clicking symbols now selects them
  • Terminal: Resolved a potential crash related to URL detection
  • Terminal: Using Option+Arrow to move the cursor by word-boundary now works as expected
  • Terminal: Fixed a potential issue with host key alerts not being displayed after removing a server from known_hosts
  • Terminal: Corrected an issue where servers saved without a password wouldn’t use the default port value as expected

Version 6.1

April 22, 2021

Fixed

  • Fixed a potential crash on launch when using a non-ASCII input source
  • SCSS: Code folding mixins without arguments now works as expected
  • Resolved an issue with soft wrapping of documents using CRLF line endings
  • Ruby: Fixed an issue with heredoc highlighting being too aggressive in some instances
  • Clips: Resolved an issue with key bindings that use the numeric keypad with a Shift modifier

Version 6

April 21, 2021

They're here! Nova 6 adds Project Groups, a beautiful new way to keep your launcher organized and efficient. Just drag a project onto another project, or click the New Project button, and go. We also fixed over 160 issues (!) in this release, and reset the trial for new users. We hope you're enjoying Nova, because we're really enjoying making it — spread the word!

Project Groups

Create folders to organize your projects just as you like.

New

  • Added a preference to automatically remove trailing whitespace without the use of EditorConfig
  • Added a preference to ensure a trailing newline at the end of files without the use of EditorConfig
  • Added the ability to specify the shell type used for local terminals

New for Extensions

  • Added support for specifying a pre-filled value for InputPalette
  • Added support for rendering Markdown in LSP hovers

Improved

  • Improved case-matching sensitivity of autocomplete results
  • Disabled implicit caching behavior within Nova’s preview tabs
  • The Editor > Text Encoding menu can now be customized with even more encoding options
  • Clicking in the minimap now jumps to that section of the document instead of scrolling the text view
  • Improved handling of soft line breaks when line wrapping is enabled
  • Made it easier to add Projects to the launcher via drag and drop
  • Added the ability to edit Project Name and Artwork from the Launcher
  • Smart quotes are now supported as surrounding pairs for all built in syntax grammars
  • Added the ability to detect key binding conflicts for two different characters shift-modified on the same key
  • Improved the implementation of “Search In Selection” to better retain the selection search-scope
  • Improved drop target behavior for folders in the Files sidebar
  • HTML: Hyphenated text can now be selected via double-click
  • Added support for SAML/NTLM authentication in Preview tabs
  • Improved the display of “stretched” Project Artwork
  • Launcher: Improved Project creation workflow
  • YAML: Added support for code folding

Fixed

  • Resolved a potential crash when parsing templated end expressions
  • Fixed a crash when using a Go Language Server and Code Actions
  • Fixed a potential crash with “Replace All in Project” when using regex
  • Resolved an issue with indexing files that contain certain characters
  • Improved detection of UTF-8 file encodings when using “Find in Project”
  • Fixed a potential issue with indexing certain file types
  • Using ⌘\ as a keyboard binding now works as expected
  • Improved detection of WinLatin1 file encodings
  • Copying an empty selection no longer clears the clipboard
  • Resolved a potential issue with navigating wrapped next vertically
  • “Comment Selection” now wraps the cursor when no selection is present
  • Fixed a hang when drawing invisible characters on extremely long lines
  • Resolved an issue with “Delete Trailing Whitespace” potentially removing additional content when code folding is active
  • Deleting the last Find sidebar scope filter while it is active now updates the active filter count as expected
  • Invoking “Use Selection for Find” no longer highlights matches if the Find banner is not currently displayed
  • Resolved an issue that could cause syntax highlighting to not be applied to the last line of a document
  • Fixed a potential issue with code folding working as expected in TypeScript, SCSS, and Less documents
  • Fixed a potential problem with next-line indentation not always behaving properly in some languages
  • Clip Placeholders now work as expected when adjacent to an underscore character in the clip body
  • Invoking “Duplicate in Split” now ensures the newly created pane is focused as first responder
  • Corrected an issue that prevented stoping individual Tasks when Nova is in full-screen mode
  • Corrected the behavior of the cursor’s movement after selecting to the start of a document
  • Resolved an issue that could prevent previews in external browsers from updating on save
  • Document “Find” match count no longer disappears when switching between apps
  • PHP: Fixed parsing of namespace types in function return values
  • PHP: Improved completions suggestions within strings
  • PHP: Resolved an issue with parsing nullable return types
  • TSX: Fixed a problem with parsing of variable attribute expansions
  • JSX: Resolved an issue parsing certain bare words
  • SCSS: Added @include and @use suffixes to autocomplete
  • SCSS: Improved parsing of property names that do not have whitespace after the colon, but are not selectors
  • SCSS: Resolved completion of class and ID values in HTML
  • SCSS: Fixed an issue with the incorrect completion of attributes within selectors
  • Ruby: Added support for parsing “Squiggly Heredoc”
  • Ruby: Regular expression literals which use interpolation should now highlight correctly
  • Ruby: Case statements which use regular expression literals should now highlight properly
  • Ruby: Closure blocks are now cause auto-indentation on return
  • YAML: Improved highlighting of keys, items, and block scalars
  • YAML: Fixed an issue with parsing HTML anchor targets
  • Shell: Added support for Heredoc parsing
  • Shell: Resolved an issue with parsing of escaped quotes
  • Python: async and await keywords are now highlighted as expected
  • Markdown: Asterisk spans without whitespace in between are now highlighted as expected
  • TypeScript: Added support for parsing Decorators
  • TypeScript: Resolved code folding issues with object literal property declarations
  • JavaScript: Added support for completing JavaScript variables defined via destructuring
  • JavaScript: Class static fields which use objects should now highlight correctly
  • JavaScript: Resolved an issue parsing of regular expression syntax that contains certain escape sequences
  • CoffeeScript: Commenting text using the keyboard shortcut now works as expected
  • Terminal: Various improvements to URL and local file detection
  • Terminal: Resolved an issue with incorrect soft-wrapping
  • Terminal: Resolved an issue with deleting from soft-wrapped lines
  • Launcher: Row colors now support vibrancy and extend to full window height even when empty
  • Launcher: Fixed a potential issue where Project sub-text would use light colored text on a light background
  • Launcher: Fixed a potential issue with the “Last Opened” date not updating as expected
  • Launcher: Removing all projects now restores the placeholder text
  • Launcher: Artwork for Servers added via drag and drop from Preferences now uses “center” orientation instead of “stretch”
  • Launcher: Fixed a potential issue where Projects could incorrectly display a sub-title when no other projects with the same name were present
  • Launcher: Fixed an issue where Project folder colors could be displayed incorrectly if another project with the same name existed previously
  • Launcher: Opening a Remote Project while holding the shift key now removes state restoration data as expected
  • Launcher: Improved color contrast of letters and folders
  • File Browser: Fixed a potential issue where audio alerts would not play after a saved remote file had finished uploading

Version 5.1

March 23, 2021

  • Note: Due to improvements to the Dropbox OAuth API, Nova 5.1 will require all Dropbox Servers to be re-authorized once. ⚠️

New

  • Support for Dropbox Business Team Spaces
  • Added an option for exporting servers and their passwords to a password-protected, encrypted file

Improved

  • Updated to the latest version of the Dropbox OAuth API

Fixed

  • Adding project dependencies that should be ignored no longer causes indexing in some circumstances
  • “Wrap Selection In Tag” now properly auto-completes the closing tag
  • Fixed two issues that could cause the terminal to hang. We will continue to improve terminal performance in future updates.
  • Extensions: Fixed a crash with LanguageClient when receiving custom notifications without parameters
  • Extensions: Resolved a potential crash when using CompletionItem.additionalTextEdits
  • Extensions: Fixed LanguageClient workspace path prefix not always matching paths of documents

Version 5

February 22, 2021

Hooray! Nova 5 brings you a brand-new (and much-requested) Color Picker, with a powerful feature set to make managing colors as easy as possible. It also adds improvements to Custom Tasks, the Find Sidebar, and more. Enjoy!

Color Picker

Visually manipulate colors. Create useful swatches that are stored with your project. Mix colors in different representations, with full support for sRGB and Display P3. Also includes a brand-new set of extension APIs.

Find Sidebar Improvements

A new scope selector, as well as additional text matching behaviors, make the Sidebar even better.

New

  • Tasks: Added a preference to auto-save open editors when invoking task actions
  • Custom Tasks: Added an option to automatically invoke the Build action before performing the Run action
  • Terminal: The scroll wheel now works in the alternate screen when mouse tracking is disabled, allowing the scroll wheel to be used in, for example, man
  • Files Sidebar: Added the ability to search selected folders from the contextual menu
  • Find Sidebar: Support for more text matching behaviors and search scope settings

New for Extensions

  • Commands API: Added support for commands with unmodified key events when an editor is focused to allow for emulation of alternative key binding schemes. (This lays the groundwork for the possibility of, for example, Vim modes in the future.)
  • Commands API: Added improvements to the Command when clauses and the nova.workspace.context object to support conditionally enabling commands
  • Completions API: Added a ScopeSelector extension class to inspect scope information when building completions
  • Text Editor API: Added the InsertTextFormat enumeration option to the .edit() API
  • Tasks API: Added support for dynamically resolving actions defined in the manifest taskTemplates
  • Symbols Sidebar: Added support for parsing the structure of JSON files

Improved

  • Opening a subfolder of an existing local workspace now creates a new window
  • Bracket matching should now be less aggressive in certain cases
  • Terminal: Reduced terminal CPU usage when running htop
  • Improved contrast of Source Control status markers in the Files and Git sidebar
  • Find Sidebar: Improved contrast of “Find” result highlight colors when using light themes

Fixed

  • “New Window” no longer ignores the “Create a new editor” Workspace preference
  • Fixed an issue where importing a key with a passphrase would not properly update on-disk storage after saving the passphrase to keychain
  • Spell check now works as expected for plain text files
  • Resolved an issue with the file split drag placeholder not being dismissed in some circumstances
  • Preferences: The Editor → Indentation → Wrap Guide field is now wide enough to show three digits
  • Big Sur: Running tasks at the minimum window width no longer causes toolbar elements to disappear in some cases
  • Terminal: Fixed an issue where Command-K wouldn’t clear scrollback until Command key is released
  • Terminal: Resolved a potential problem where incorrect text could be copied when spinners are running
  • Terminal: Fixed a potential hang when detecting URLs
  • Terminal: Resolved a terminal emulation issue that caused misaligned text in many programs, including tmux and htop
  • Terminal: Resolved a potential issue where characters could incorrectly be removed during deletion
  • Terminal: Resolved a potential issue where scrollback could be removed when opening a new Terminal split
  • Extensions: Fixed a potential issue with sorting extension issues in the sidebar
  • Extensions: Resolved a problem with issues in the editor potentially intersecting on hover
  • JavaScript: Fixed highlighting for inline arrow function values that span multiple lines
  • JavaScript: Improved highlighting complex string template expressions
  • JavaScript: Resolved an issue parsing string literal expressions that span multiple lines
  • JavaScript: Improved parsing to include bare-object fields and functions in the symbol tree
  • JavaScript: Fixed an issue with symbol parsing of classes which extend a class accessed by property
  • JavaScript: Improved the display of named arrow functions and anonymous functions set to a variable name in the Symbols sidebar
  • JSX: Fixed a potential issue with code folding when parsing component variables that contain inline JavaScript blocks
  • JSX: Resolved an issue parsing components that occur within variable literals
  • HTML: Tags with detected URLs between them should now be properly highlighted
  • CSS: Resolved an issue with highlighting comments within attribute values
  • CSS: Fixed an issue with autocompletion of !important
  • YAML: Fixed highlighting of bare symbol words that start with -
  • YAML: Resolved an issue parsing keys that contain spaces
  • YAML: Parsing symbols starting with a boolean character immediately followed by a non-ASCII word character no longer breaks highlighting
  • Ruby: Fixed an issue with highlighting of ERB comments that do not end with #
  • Ruby: Resolved a problem parsing class definitions that use a module prefix
  • Ruby: Fixed highlighting of Heredoc comments that use the <<- syntax
  • Ruby: Resolved an issue with highlighting of hook and bang methods in symbol names
  • Python: Improved highlighting of keywords within expression parenthesis
  • Python: Fixed an issue where methods and properties prefixed with except would highlight as a partial keyword
  • TypeScript: for loops using let bindings no longer interrupt parsing in some circumstances
  • Smarty: Resolved an issue with comment highlighting
  • Lua: Fixed highlighting of comments at the end of an import line
  • LESS: Resolved an issue parsing mixin blocks
  • PHP: Improved parsing of class and interface constants
  • Editing an SSH key using the list view no longer allows saving the key name as (null)
  • Fixed an issue where placeholder elements were still visible after initializing a Git repository from project settings

Version 4.3

January 27, 2021

Improved

  • Japanese localization improvements

Fixed

  • Resolved a potential crash when auto indenting code while typing
  • Launcher: Clicking “New Document” now works as expected when the “Open an empty editor for new windows” workspace preference is disabled
  • Fixed the Panic Sync preference pane not appearing signed in after relaunching Nova
  • Panic Sync: Signing in, quitting, and relaunching no longer displays the “Merge” alert a second time
  • Preferences: Fixed alignment of Git Accounts list placeholder text when no accounts exist
  • Project settings: Fixed an issue where the Project Settings sheet sidebar can sometimes not fully extend to its bounds on Big Sur
  • Fixed alignment issues with the “Update is Available!” popover

Version 4.2

January 20, 2021

Fixed

  • Fixed a potential crash when editing JSX files
  • Resolved a layout issue and potential crash when accessing Panic Sync preferences
  • Git: Resolved a potential crash when performing editor Diff operation
  • Extensions: Fixed a crash when invoking .openFile() with no options argument
  • Git Sidebar: Filtered commits now properly display their short SHA
  • Closing an audio tab during playback now stops the audio as expected
  • Preferences: Fixed truncated text in Editor > Syntax tab
  • Editor: Fixed a potential issue where an expression typed within a string could cause the current line to de-dent

Version 4.1

January 12, 2021

Improved

  • Nova’s preferences can now be searched

Fixed

  • Fixed a crash on M1 Macs when opening a project that uses source control

Version 4

January 11, 2021

Welcome to 2021! This will be a great year for Nova. In Nova 4, we've added a few awesome new features, and our language improvements are important enough that we've reset the Nova trial period for all customers. Enjoy, and best wishes from all of us.

Git Service accounts

Easily login to your GitHub or Gitlab accounts and access repositories directly within Nova.

Editor Path Bar

Quickly see the path to the current document as well as the currently selected symbol.
Improved Language Grammars

Improved Language Grammars

Better parsing for JSX, TSX, PHP, JavaScript, TypeScript, Lua, CSS and SCSS.

New

  • Added an Editor Path / Breadcrumbs Bar that shows the active file path as well as the current selected symbol
  • Parser: Added support for anchored, directed grammar sub-scopes
  • The Launcher can now be automatically shown when last Project is closed
  • Added built-in support for GitHub and GitLab accounts
  • Symbols Sidebar now supports hierarchical display for SCSS files
  • Command + Enter will now create a new line when the text caret is mid-line
  • Git: Branch history can now be viewed in the Git sidebar
  • Git: Added a basic set of repository settings to project settings
  • Git: Changes that occur outside the project root will now be automatically reflected in the sidebar without a manual refresh
  • PHP: Added support for nullable return types
  • PHP: Added support for static method completions
  • Various JSX syntax highlighting improvements
  • Added a menu item for enabling terminal logging

New for Extensions

  • Extensions: Added the ability to open a new, untitled text document
  • Extension Preferences: Added a list box for strings or file paths
  • Extension Preferences: Enum types now use radio buttons if there are 3 or fewer choices
  • Task Assistants: Added a way to dynamically resolve an action at invocation
  • Tasks: Added support for deprecating task templates

Improved

  • The 30 day trial period has been reset
  • Holding Command+Delete will now continue deletion after reaching a line break
  • Improved mouse support for Nova’s Terminal
    • Support for up to 11 mouse buttons
    • Support for tracking mouse movement
    • Support for the scroll wheel
    • Support for mouse tracking beyond 233 columns
  • Updated the Extension library to use the new Big Sur styling

Fixed

  • Fixed a potential issue with custom syntax when opening documents
  • HTML/CSS/SCSS bookmarks are now displayed as expected in the Symbols Sidebar
  • Disabled class completions for DOM Document and Window classes
  • Resolved a potential crash with extension-provided static completions
  • Fixed a potential crash when parsing some files during indexing
  • Resolved a potential crash when indenting folded code
  • Lua: Fixed issues with parsing functions defined in bare objects
  • Lua: Resolved issues with parsing object assignments in bare objects
  • Lua: Fixed issues when attempting to use “Jump to Definition” with global variables
  • Lua: Resolved issues parsing comments in if blocks
  • Lua: Fixed indentation issues when pasting functions with nothing in their body
  • Localization: Various improvements to Japanese translations
  • Ruby: Fixed an issue with syntax highlighting after in documents that contain :/
  • Launcher: Resolved a potential crash when opening a project right after it was created
  • Terminal: Fixed a potential issue where the cursor could get stuck on the current line until a new command is entered
  • Extensions: Fixed an issue where contains(path) would always return true

Version 3.1

November 18, 2020

Improved

  • Made the Task Arguments variables menu more prominent
  • Show Completions keyboard shortcut now works while “Suggest completions while typing” is disabled

Fixed

  • A potential infinite recursion in bracket calculation when rainbow brackets are enabled
  • Resolved an issue where Command + Control + 4 no longer toggled between code & preview tabs
  • Big Sur: Fixed an issue where extension items in the library sidebar could be cut off
  • Big Sur: Fixed a case where the “Show Sidebar” menu item can be unavailable
  • Fixed two potential crashes related to Find & Replace operations
  • LSP: Resolved a potential crash when showing a request sheet

Version 3

November 12, 2020

New computers! New operating systems! It's an exciting time to be a Mac user, and, after a bit of work, we're proud to support these great new things in Nova, on day one. Hooray, native apps!

Big Sur

Nova is now ready for the latest version of macOS, Big Sur, with lots of fixes, refreshed icons, and an overall super smooth experience.
Apple M1 Chip

Apple M1 Chip

Nova also now runs natively on Apple silicon chips, like the new Apple M1, giving you maximum editing performance on the next generation of Macs.

Customizable Dock Icon

Choose how you want Nova's dock icon to look in the Theme preferences. Nova's dock icon can even automatically switch from light to dark when macOS switches, even when Nova isn't running.

New

  • Double-clicking brackets now selects the entire range of text within those brackets
  • Typing or moving the cursor over a singular bracket now flashes its matching counterpart
  • Editor: Find wildcard token color are now represented in the editor using an underline with the same color as the wildcard
  • Selecting ‘Create New Extension’ from the Extensions menu now automatically enables development tools

New for Extensions

Improved

  • Nova will now display running extensions in the ‘An Extension Service Crashed’ dialog

Fixed

  • Clicking on a terminal pane when Nova is in the background now brings focus to that pane
  • Fixed an issue installing the nova CLI tool when /usr/local/bin did not already exist
  • Resolved an issue where Code Foliding could affect rainbow brackets from matching
  • Fixed a potential problem with reading .pem keys stored in keychain
  • Fixing an issue where editor text layout could be incorrect if the wrapped indentation exceeded the container width
  • Terminal: Copying text no longer inserts line breaks where line-wrapping was present
  • Terminal: File paths that end in : can now be opened via command-click
  • Terminal: After opening a file via command-click subsequent clicks will not re-open the file
  • Extensions: Resolved a potential crash in language server code actions
  • Extensions: Fixed an issue where JSTreeItem.tooltip would not be used

Version 2.1

October 29, 2020

Improved

  • Files Sidebar: Improved the ability to open unknown file types with a single click
  • Added support for LSP configuration requests
  • Custom File Type setting now overrides default macOS filetype behaviors for files opened in Nova (such as media files)

Fixed

  • Fixed an accessibility issue with accessing Servers preferences
  • Resolved an issue that could cause custom keybindings to be ignored in preview webviews
  • Terminal: Text selection now works as expected after resizing the window
  • Search Scope: Filenames queries now include extensions
  • Extension API: nova.workspace.openFile()now properly waits for the editor to be established in the extension service runtime before resolving
  • JavaScript: Removed the Function class from completions
  • Fixed an issue where extension commands would not be enabled for plain text, extension-less files
  • Adjusted the behavior of Option-Delete when a newline is just behind the cursor
  • Python: Added highlighting support for triple-quoted r-strings
  • Autocomplete: Improved fuzzy matching to help cases where alphasort is incorrect
  • Preferences: Fixed an issue that could cause the Transfers ASCII list to be displayed at zero height
  • Resolved an error that could prevent crashes from being reported on submission
  • Terminal: Setting the system shell to tcsh no longer prevents the local terminal from functioning
  • Resolved a potential crash with code folding
  • Extensions Library: Updated Back and Forward button tooltips
  • Terminal: Fixed a potential issue with missing output when running xcodebuild commands
  • Preferences: Improved Panic Sync login form width

Version 2

October 21, 2020

This free update features a ton of new features to make extensions even more powerful. It also adds exportable key bindings, an "Open in Nova" system service, and lots of fixes.

New for Extensions

  • Dynamic Task Providers
    • Extensions can now provide tasks to a project dynamically, based on nearly anything, without requiring user configuration in Nova
    • Tasks are built and delivered using the new Task and TaskProcessAction object classes with a new assistant type
  • LSP: Support for Code Actions
    • Code actions can be shown from compatible language servers using the (by default) shortcut of Shift-Cmd-A
    • An indicator can be displayed at the head of a line when code actions are available for the insertion point or selection
  • LSP: Support for WorkspaceEdits
    • Language servers can now use the applyEdit method to instruct Nova to perform a wide-scale edit on multiple files simultaneously
  • LSP: Support for Jump to Definition
    • Jump to definition will prioritize language servers above the workspace index when available
  • LSP: Support for Signature Help
  • LSP: Added the ability to include custom initializationOptions in the LanguageClient.clientOptions
  • LSP: Added proper support for the triggerCharacters completion request property
  • Extensions: Added CompletionItem.additionalTextEdits and TextEdit APIs
    • Completion items may now define additional edits, beyond the primary edit, such as automatically adding imports
  • Extensions: Added support for a funding property to the extension manifest
    • An author may define a URL at which users may contribute or fund the extension’s development
    • When present, an additional “Sponsor” button will be shown on the extension’s library page

New

  • Added an “Open in Nova” system service, intended to make opening folders a bit easier from Finder
  • Key Bindings can now be imported and exported via Preferences > Key Bindings
  • Added better support for EditorConfig wildcard entries, especially those using {} brackets
  • Editor: Added the ability to disable insertion point blink
  • Problem Reporter: Added support for directing extension-related issues to extension authors
  • Added the ability to invoke completions with a specified key binding
  • PHP: Added completions for multi-byte string functions
  • Updated extension template READMEs to be more templated that authors may follow
  • Syntax Inspector: Added the ability to show the specific CSS theme styles applied to the text

Improved

  • Renamed the View → Pane menu items to View → Split for better consistency
  • Installation of the CLI tool should no longer requires an escalation prompt when using an admin user
  • Project Settings: Renamed the “Environment” section to “Extensions” for better clarity
  • Project Settings: Project toolbar icon now matches the project folder color
  • Find/Replace: Allow use of newline escape sequences if the regex option is enabled
  • A maximum length/height has been set for workspace notifications
  • Launcher: Filtering is now cleared when creating a new project

Fixed

  • Fixed a potential crash when documents are being parsed
  • Fixed an issue with auto-indentation on paste, especially within Python, JavaScript, and HTML documents
  • Files Sidebar: Disabling Show Navigation Controls now re-navigates to the project root
  • Fixed an issue where a duplicate copy would be uploaded when using Save As with remote files
  • Resolved an issue with binding the Delete key to menu items
  • Fixed Custom File Associations not opening with a single click
  • Fixed an issue with SCSS variable completions
  • Fixed the Tasks sheet changing width when switching to the Arguments tab
  • Multiline copy now inserts line breaks between selections
  • Fixed an issue with “Save in Keychain” checkbox not working as expected in file browser tabs
  • Preferences: Theme items now expose proper accessibility metadata
  • Terminal: Number pad enter key no longer unexpectedly cancels the command being executed
  • Editor: Status View line number is no longer incorrect when the cursor is positioned on a trailing line fragment
  • JavaScript: Auto-complete will now offer console instead of the Console class
  • TypeScript: Fixed an issue that could prevent certain functions from being displayed in the Symbols sidebar
  • Command Line Tool: Piping output from an async command should now wait properly
  • Terminal: Fixed potential drawing issues after displaying a long interactive output
  • Launcher: Fixed an issue that could cause project folders to always use the color red
  • Launcher: Tooltip for Remote Projects now displays the server address instead of a local path
  • Launcher: Fixed the “g” character descender from being truncated on folder initials
  • Launcher: Resolved an issue where the wrong project could be opened from the Touch Bar when projects were being filtered
  • Extension Library: Resolved an issue that prevented copying text via the Edit menu
  • Extension Library: Release notes now display the most recent changes without needing to update the extension
  • Extension Library: “Version” is no longer displayed twice when a new update is available
  • Extensions: Fixing an issue with the IssueParser API that could incorrectly report an issue’s line basis
  • Extensions: Paths returned from nova.workspace.path should now always match document URIs prefixes
  • Extensions: Fixed the completions API not respecting range of item when computing filtering text
  • Extensions: Added a new event listener API to inform extensions when its language server quits
  • Extensions: Fixed common cases where LanguageClient.running would return an incorrect value if the language server quits
  • Extensions: Fixed a potential crash when passing * selector to AssistantsRegistry.registerIssueAssistant
  • Extensions: Fixed properly handling a Promise return from TextEditor.onWillSave callback
  • Extensions: Fixed a potential issue with syntaxes parsing issues when in development mode
  • Extensions: Fixed JSProcess JSON-RPC error handling not rejecting with a ProcessMessage object
  • LSP: Completion snippet placeholders are now respected for textEdit changes in addition to insertText
  • LSP: document/hover requests returning the deprecated MarkedString content are now unescaped properly
  • macOS 11: Improved the appearance of Preferences > Transfers
  • macOS 11: Fixed a potential hang when signing into, or out of, Panic Sync
  • German Localization: Fixed Sync Preferences referring to Transmit instead of Nova when you are in Trial Mode

Version 1.2

September 29, 2020

New

  • Extensions: Added the Clipboard API and corresponding entitlement for interacting with the user’s clipboard
  • Extensions: Added support for the LSP Snippet format in completions
  • Extensions: Added support for displaying color swatches to the CompletionItem API
  • Added a “Report Abuse” link to extension details view

New for Extensions

  • InsertTextFormat, an enumeration that contains values for supported text formats:
    • InsertTextFormat.PlainText: Plain text. It won’t be modified or tokenized
    • InsertTextFormat.Snippet: Completion text will be tokenized using the Clips / Snippet ${} format
  • CompletionItem.insertTextFormat, which defines an enum value from the InsertTextFormat enumeration
  • CompletionItem.tokenize has been deprecated in favor of the newer format property
    • Setting this value to true will set the format to a private (inaccessible) enum value InsertTextFormat.Placeholder which is present for backwards compatibility
  • TextEditor.insert() has a new, optional second argument that takes an InsertTextFormat enum value to control the inserted text format in the same way as completion items
    • If this argument is undefined, the previous behavior (equivalent to InsertTextFormat.Placeholder) will be used

Improved

  • Editor focus when opening documents in more than one tab
  • Error messages of Extension Developer authentication failure alerts
  • Error descriptions in Clone failure alert notification
  • Extensions: Loosened restrictions on Tasks category validation
  • “Show (Named) Sidebar” menu items now focus the opened sidebar for keyboard navigation, when supported
  • Preferences: Added ‘Plain Text’ for custom file type associations
  • Tasks: Non-transient tabs are now used when automatically opening a Report tab
  • “Center Selection in Visible Area” shortcut (^L) now centers when the insertion point is visible
  • Various localization improvements

Fixed

  • Editor: Improved performance of text editing and scrolling when there are >100 folds
  • Files Sidebar: Fixed an issue that could prevent the contextual menu from being opened with Ctrl-click
  • Fixed an issue where the Extension Library sidebar could show a placeholder label or icon when installing an extension
  • Spilt drop zone labels are no longer truncated
  • Added mysqli_query() to PHP/MySQL autocomplete
  • Editor: Fixed Shift-Option-Dragging to select multiple, non-contiguous regions
  • Files Sidebar: Using Option-DnArrow to enter a folder now retains first responder status with “Show Navigation Controls” enabled
  • Fixed a potential issue with key binding field changes not being saved when closing preferences
  • LSP: Fixed Potential crash when using DocumentHighlight requests
  • Extension-provided completions are no longer disabled when a language server is in use
  • Fixed a hang when setting the editor Line Height to an empty value
  • Fixed an issue with resolving environment variables for Tasks when using a Bash shell
  • Servers: Prevent saving of New Servers with no address
  • Editor Preferences: Updated “Custom File Type” labels to “Filename / Extension”
  • SCSS: Fixed an issue causing autocompletion of variables in comments
  • French: Fixed overlapping text in Editor Preferences
  • Fixed a missing image in the Preferences > Keys detail sheet
  • Resolved an issue that could cause gutter annotations expansions to flash when moving the cursor
  • Extensions: Fixed an issue when using hex colors as part of a theme gradient
  • Terminal: Resolved a potential issue with dropping characters when pasting
  • Resolved an issue that could cause Extensions to fall back on the incorrect base localization

Version 1.1

September 21, 2020

New

  • Support for setting default syntax of dotfiles
  • Files Sidebar: Custom file types now open with single click

Fixed

  • Activation: Fixed an issue that could prevent unlocking Nova in certain locale configurations
  • Files Sidebar: Fixed JSX files not opening with a single click
  • Resolved a potential crash if SSH Key data is nil due to bad migration or Keychain failure
  • Fixed custom file syntaxes not working for multi-part file extensions
  • Fixed an issue where advanced server preferences were potentially not applied when connecting to a server in multiple windows or tabs
  • Ruby: Resolved an issue that could cause the symbols list to be nested recursively
  • CSS variables now autocomplete in SCSS files
  • Editor: No longer show completions for subsyntax symbols unless they are declared as such
  • Python: Fixed highlighting of triple-quoted f strings
  • PHP: Fixed comments looking blurry when using the Neon theme
  • Terminal: Fixed a potential crash around text selection while text is changing
  • Terminal: Fixed the cursor jumping around in some non-US locales
  • Behaviors: Fixed a crash when setting Publish behavior to show / hide a sidebar
  • Ruby: Fixed an issue with Ruby end keyword detection
  • Publishing: Duplicated files are now properly updated in the publishing queue after renaming
  • Fixed a potential crash when closing tabs while using an LSP extension
  • Extensions: Fixed improper handling of LSP MarkedString[] responses for Hover requests
  • Extension: Resolved a potential hang when updating extensions
  • Transfers: Fixed an issue that caused hidden files to be skipped by default

Version 1

September 16, 2020

Everything is new!