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
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
Version9
March 15, 2022
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