Novelist 0.3.0 — open a single file, one unified AI provider list
A new Open File command (Cmd+Shift+O) edits a single file without opening a whole project; the AI chat provider config is rebuilt into one unified list where built-in and custom profiles sit side by side and switch in a click. Also fixes external-edit reloads under symlinked folders, shortcut leakage from text inputs, and writing stats in single-file mode.
0.3.0 makes Novelist fit the “I don’t always have a project open” way of working: open one file and just write, and find the AI provider settings collapsed into a single, tidy list.
Open a single file
The new Open File command (Cmd+Shift+O) opens one file in the current pane — no need to open a whole project folder first. It shows up on the Welcome screen, in the application menu, and in the command palette. A companion “Open containing folder” command jumps straight to the active file’s directory.
AI provider config, rebuilt as one unified list
The AI chat provider settings move from a split “preset chip row + a separate profile dropdown” into a single selectable list:
- The built-in provider set is trimmed from seven to four: OpenAI, Anthropic, DeepSeek, Ollama.
- Any other provider is added as a custom profile, shown in the same chip list right alongside the built-ins.
- The active profile is highlighted; custom profiles can be renamed or deleted inline.
- ”+ Add profile” snapshots the current connection fields, so you can clone and tweak one.
Custom configurations now always sit next to the defaults instead of hiding in a separate dropdown.
Fixes
- External edits now auto-refresh, including symlinked project locations. macOS FSEvents reports fully canonicalized paths (
/private/…, resolved symlinks) that didn’t match the paths the app registered, so external changes to a project under iCloud,/tmp, or a symlinked location silently failed to reload. Watcher events are now rewritten back onto the original watched-directory prefix. - Customizable shortcuts no longer leak out of text inputs. Tab-cycling and user shortcuts (close-tab, new-file, …) are suppressed while a non-editor text field is focused (the AI composer, dialog inputs), while the main editor’s global shortcuts stay active.
- Move/rename keeps non-UTF-8 encoding state, migrating the recorded encoding for the whole affected subtree, and a move retargets open tabs.
- Writing stats work in single-file mode. With a lone file open (no project), the stats treat it as the only chapter instead of failing to walk it as a directory.
- Scrollbars follow the active theme, with colors derived from each theme’s palette rather than a fixed light-mode default.
Also
- Full details: v0.3.0 CHANGELOG
- GitHub Release: Novelist v0.3.0