Version History


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!