What's New in 0.17.x
Everything shipped in the 0.17.x release series, straight from
the changelog. For curated announcements and deep-dives, see News.
[0.17.0] - 2026-09-08
Changed
- Run configurations now open in their own project/session-scoped window instead of appearing among
application-wide Settings.
Internal
- Split
MainController workflows into per-window coordinators for commands, editing, templates,
settings, run configurations, navigation, previews/exports, Git actions, chrome, MCP, files, sessions,
test navigation and install prompts. Preserve command IDs/order, FXML and public window APIs.
- Extracted completion, ghost text and popup state from
EditorBuffer into BufferCompletion.
Production Java files now stay below 10,000 lines, with a regression check enforcing the ceiling.
Added
- Project-tree folders can now be compared recursively with HEAD, a branch, a tag, or a selected revision.
The lazy multi-file review is scoped to that folder and includes staged, unstaged, deleted, and untracked
files while respecting Git ignore rules.
editora --diff-ui LEFT RIGHT now opens an isolated, session-free diff workspace with only the comparison
UI visible. A full-UI icon in the diff toolbar restores normal Editora chrome without closing or reloading
the comparison.
- Side-by-side diffs now draw JetBrains-style change ribbons between related hunks, with a compact
right-edge overview track for changes across the full document.
- The diff viewer now opens multi-file patches as one navigable review with per-file statistics; supports
exact, trimmed, or ignored-whitespace matching, context collapsing, long-line wrapping, and word emphasis;
and exposes Stage/Unstage/Revert hunk and line actions, Copy Hunk, and Open Changed Line from Git diffs.
- The Commit tool window and command palette can now open all staged files or all unstaged/untracked files
as one repository review, with per-file status, statistics, navigation, and the usual Git hunk actions.
- Recursive folder comparison now scans off-thread and opens only changed, left-only, or right-only files in
a lazy multi-file review. It is available from the VCS menu, command palette, and
--diff-ui DIR DIR.
- Editable local comparisons can now open a syntax-highlighted Result draft below the diff. Draft changes
re-diff after a short idle delay and apply to the real editor as one guarded, undoable change; they are
never saved implicitly.
- The VCS menu and command palette can compare clipboard or empty text with the active file. Every full diff
can swap left and right sides without changing which local file receives edits; dirty Result drafts block
swapping until they are applied or reset.
- Diff comparison rules now support case-insensitive matching and bounded smart line alignment. Smart mode
pairs related changed lines around insertions/removals instead of cascading mismatched rows, with a
positional fallback for large blocks; comparison rules never replace either side’s original displayed text.
- Diff comparisons now retain CRLF and final-newline semantics (including exported patch markers), detect
binary inputs before decoding, and degrade very large inputs to bounded line or metadata comparisons.
- Merge resolution now loads Git’s common-ancestor, ours, and theirs index stages for a true three-way
merge. Independent and identical edits are combined automatically; divergent regions show Base/Ours/Theirs
choices above an editable Result pane, with stale-buffer protection when applying the resolution.
- Run configurations now support named NPM scripts (
npm run <script>) and pass configuration
arguments after npm’s -- separator.
- The Project Map preview now supports common bitmap images and independent text/image zoom controls.
- Project Tree and Map file menus can add first-line bookmarks and Personal Notes directly, with small
per-file indicators for both kinds of annotation.
Changed
- Context menus now use one consistent Inter font, size, weight, and style throughout the application
instead of inheriting typography from the file, editor, toolbar, or other control that opened them.
- Recursive folder comparison now prunes
.git metadata and paths matched by either root’s .gitignore.
Its scan reuses file attributes instead of restating every file, builds the review rows off the JavaFX
thread, and avoids redundant list copies when the result is displayed.
- Multi-file diff and folder-review file lists can now be resized horizontally with a draggable divider.
- File Information now opens and closes from the file-size segment in the status bar; its redundant
tool-window stripe icon has been removed.
- The Run console now matches Output’s richer console behavior: recognized log levels are color-coded,
HTTP(S) URLs are styled and open on click, and the standard Select All / Copy context menu is available.
- NPM and Make run configurations with a blank working directory now run at the open project’s root, as the
settings hint promises, instead of interpreting the target name as a path relative to Editora’s install or
launch directory. Their before-launch commands use the same project-root default.
- Project Map pan and zoom gestures now coalesce rendering to one Canvas repaint per JavaFX pulse, and tall
columns no longer rasterize connectors for rows outside the viewport overscan.
- Project Map filename searches now open the ancestor columns needed to reveal every matching file; clearing
the query restores the branches that were open before the search.
- Diff-toolbar controls now provide descriptive, localized tooltips for whitespace matching, word emphasis,
comparison rules, context collapsing, wrapping, layout switching, and patch export.
- Editable diff apply controls now stay beside the center seam even when the left file is the local target,
instead of appearing in the window’s outer-left gutter.
- The standalone diff control that restores the full interface now uses Editora’s application mark instead
of a generic wrench.
- Diff refreshes are generation-guarded and preserve the selected change, scroll positions, focused side,
and divider. Syntax highlighting now runs off the JavaFX thread and stale highlight work is discarded.
- Diff apply actions reject stale local content, expose a dedicated final-newline apply action, and keep Undo
and Save disabled until an apply succeeds. Add/remove signs and keyboard-operable gutter actions supplement
color for accessibility.
- The Project Map defaults to a right-to-left flow, remembers the last selected direction, centres each newly
opened column on the folder that opened it while keeping it beyond the parent column without overlap, opens a
file row directly in an editor tab, clips panned content to the canvas below its toolbar, hides column controls when
zoom leaves too little header space, and exposes canvas preview through a dedicated icon. Preview cards open beyond
their source column in the active flow direction, expand to fit long lines when the viewport permits, and are visibly
marked read-only while retaining context-menu copy, bookmark, and Personal Note actions for clicked code.
- Expert mode’s floating E exit control now lives inside the active code viewport and clears the
minimap instead of overlapping the window title bar or minimap.
- Expert mode, including
--expert CLI launches, now keeps the menu bar visible from the first frame.
- Files opened asynchronously from the command line no longer retain a stale Read-Only status after
their temporary loading shell becomes editable.
- The Structure window now syntax-colors individual signature tokens, includes source-derived return types,
and shows source positions as compact, muted
line N labels; Bookmarks uses the same line-label treatment.
Structure also no longer mistakes inner control-flow
blocks or calls such as run() for nested method declarations in its non-LSP fallback outline.