Nova Release Notes


2

  • October 21, 2020

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 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

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

The CompletionItem and TextEditor Extension APIs have been updated:

  • 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

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

1.0

  • September 16, 2020

New

  • 🎉 Everything is new!