<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Editora Blog</title><description>Articles and deep-dives about Editora.</description><link>https://editora-project.dev/</link><item><title>Editora 0.15.0: fourteen pages for a 382-page document</title><link>https://editora-project.dev/blog/editora-0-15-0/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-15-0/</guid><description>A print path whose failure the on-screen preview structurally clips away, an SVG that renders everywhere except in an actual installation, and a menu that checked for a Git repository once, too early, and never checked again. Four bugs that each worked fine on the path I happened to take.</description><pubDate>Sun, 30 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.14.0: bugs that had no symptom</title><link>https://editora-project.dev/blog/editora-0-14-0/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-14-0/</guid><description>Typing got slower the longer you typed, and nothing pointed at why. Chasing it turned up a measurement that allocated a timer nobody stopped, a probe that moved the thing it was probing, and four tests that could only ever pass. Plus a preview feature that throws, and a window that never appears.</description><pubDate>Sat, 29 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.13.0: ranking matches instead of filtering them</title><link>https://editora-project.dev/blog/editora-0-13-0/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-13-0/</guid><description>Every picker in the editor filtered on a boolean. Replacing it with a real score involved dynamic programming, a Turkish dotted capital I, and an optimization that reintroduced the bug it was written to avoid. Also, a symbol scanner that under-reports on purpose.</description><pubDate>Wed, 26 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.12.0: what it took to make panels movable</title><link>https://editora-project.dev/blog/editora-0-12-0/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-12-0/</guid><description>Letting a tool window maximize, re-dock, share a side and float looks like one layout feature. It took six separate encounters with what a SplitPane, an unmanaged node, a drag gesture, a fresh Scene, and the order you restore things in will each do instead. Also, a pom preview that says what it doesn&apos;t know.</description><pubDate>Sun, 16 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.10.0: what a design system has to decide</title><link>https://editora-project.dev/blog/editora-0-10-0/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-10-0/</guid><description>Giving an editor a look of its own meant naming what each colour means, then discovering that the toolkit you build on has no last-child selector, shrinks every label in a row by an equal share, and silently refuses one flavour of SVG arc. Also, the third time a language server shipped a feature switched off.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.10: the half of LSP that writes to your files</title><link>https://editora-project.dev/blog/editora-0-9-10/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-10/</guid><description>Reading from a language server is easy. Acting on what it says means editing your code, and that is where the bugs were: an ordering rule in the spec, a capability nobody declared, a feature the server ships switched off, and an off-by-one that made a whole feature look like it had nothing to say.</description><pubDate>Sun, 26 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Rebuilding the website, and two bugs it turned up</title><link>https://editora-project.dev/blog/rebuilding-the-editora-website/</link><guid isPermaLink="true">https://editora-project.dev/blog/rebuilding-the-editora-website/</guid><description>The old home page described a keyboard-driven editor without ever showing one. Fixing that surfaced a CSS trap that froze the new search, and 71 commands missing from the docs.</description><pubDate>Fri, 24 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.9: asking before it builds</title><link>https://editora-project.dev/blog/editora-0-9-9/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-9/</guid><description>Why opening a repository shouldn&apos;t be enough to run its code, what it takes for a dimmed command to be useful rather than annoying, and a class cache that went missing on Apple silicon for eight releases.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.8: GitHub without a token</title><link>https://editora-project.dev/blog/editora-0-9-8/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-8/</guid><description>Pull request review, CI logs that link back to your own checkout, and a test runner that shows you the whole run up front. Plus why the GitHub integration never asks you to paste a token.</description><pubDate>Mon, 20 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.7: keeping work off the UI thread</title><link>https://editora-project.dev/blog/editora-0-9-7/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-7/</guid><description>A performance release about one rule, never make the user wait on the thread that draws the screen, and the handful of places Editora was breaking it.</description><pubDate>Sat, 18 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.6: what a per-feature audit turns up</title><link>https://editora-project.dev/blog/editora-0-9-6/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-6/</guid><description>0.9.6 came out of walking through the editor one feature at a time and asking what could go wrong. This post covers what that found and why a release of fixes is worth shipping.</description><pubDate>Fri, 17 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.5: safer by default</title><link>https://editora-project.dev/blog/editora-0-9-5/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-5/</guid><description>A release that&apos;s mostly fixes that keep your files, your config, and your machine safe, plus a mini file manager in the Project tree.</description><pubDate>Wed, 15 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.4: Expert mode</title><link>https://editora-project.dev/blog/editora-0-9-4/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-4/</guid><description>A lighter focus mode than Zen that keeps the full editor view, plus build-tool tasks tool windows and a few workspace conveniences.</description><pubDate>Mon, 13 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.3: Typst, diagrams, and previews for everything</title><link>https://editora-project.dev/blog/editora-0-9-3/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-3/</guid><description>The 0.9.2 and 0.9.3 releases add Typst, diagram-as-code, smart previews for data and config files, and build-tool integration.</description><pubDate>Fri, 10 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.2: Maven, an AI switch, and a Windows fix</title><link>https://editora-project.dev/blog/editora-0-9-2/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-2/</guid><description>The second release adds IntelliJ-style Maven support, consolidates AI behind one master switch, makes preview links clickable, and fixes a Windows launch failure.</description><pubDate>Wed, 08 Jul 2026 00:00:00 GMT</pubDate></item><item><title>Editora 0.9.1: the first release</title><link>https://editora-project.dev/blog/editora-0-9-1/</link><guid isPermaLink="true">https://editora-project.dev/blog/editora-0-9-1/</guid><description>The first tagged build of a keyboard-driven, cross-platform programmer&apos;s editor, plus the story behind why it&apos;s 0.9.1 and not 0.9.0.</description><pubDate>Mon, 06 Jul 2026 00:00:00 GMT</pubDate></item><item><title>HTML live preview, with no browser engine</title><link>https://editora-project.dev/blog/html-live-preview/</link><guid isPermaLink="true">https://editora-project.dev/blog/html-live-preview/</guid><description>How Editora previews HTML in a real browser: a loopback HTTP server, live-as-you-type reload, and a long-poll trick, without bundling a WebView.</description><pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Extending Editora with plugins</title><link>https://editora-project.dev/blog/extending-editora-with-plugins/</link><guid isPermaLink="true">https://editora-project.dev/blog/extending-editora-with-plugins/</guid><description>How Editora&apos;s plugin system works, and how to write your own in a few minutes.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Signing the plugin registry</title><link>https://editora-project.dev/blog/signing-the-plugin-registry/</link><guid isPermaLink="true">https://editora-project.dev/blog/signing-the-plugin-registry/</guid><description>Plugins run unsandboxed, so the registry leans on three defenses: informed consent, download integrity, and a signed index.</description><pubDate>Sun, 14 Jun 2026 00:00:00 GMT</pubDate></item><item><title>A faster cold start with a GUI-trained AOT cache</title><link>https://editora-project.dev/blog/faster-cold-start-with-an-aot-cache/</link><guid isPermaLink="true">https://editora-project.dev/blog/faster-cold-start-with-an-aot-cache/</guid><description>How Editora&apos;s installers shave ~300–480 ms (~28%) off the time to first frame using JDK 25&apos;s AOT cache, trained against a real GUI run.</description><pubDate>Sat, 13 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Shipping a JavaFX app to five platforms</title><link>https://editora-project.dev/blog/shipping-javafx-to-five-platforms/</link><guid isPermaLink="true">https://editora-project.dev/blog/shipping-javafx-to-five-platforms/</guid><description>The release pipeline behind Editora: native installers and fat jars for five targets, jpackage, moditect, and the joys of automatic modules.</description><pubDate>Fri, 12 Jun 2026 00:00:00 GMT</pubDate></item><item><title>One DAP client, three debuggers</title><link>https://editora-project.dev/blog/one-dap-client-three-debuggers/</link><guid isPermaLink="true">https://editora-project.dev/blog/one-dap-client-three-debuggers/</guid><description>How Editora debugs Java, Python, and JavaScript through a single Debug Adapter Protocol client: three very different transports behind one UI.</description><pubDate>Thu, 11 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Notes that survive edits and renames</title><link>https://editora-project.dev/blog/personal-notes-that-survive-edits/</link><guid isPermaLink="true">https://editora-project.dev/blog/personal-notes-that-survive-edits/</guid><description>How Editora&apos;s Personal Notes stay attached to the right text, even after you edit the file in another program or rename it.</description><pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Building a keyboard-first text editor</title><link>https://editora-project.dev/blog/building-a-keyboard-first-editor/</link><guid isPermaLink="true">https://editora-project.dev/blog/building-a-keyboard-first-editor/</guid><description>Why Editora treats every action as a command, and what that design buys you.</description><pubDate>Tue, 09 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Orphaned language servers and the symlink that ate my diagnostics</title><link>https://editora-project.dev/blog/orphaned-language-servers-and-symlinks/</link><guid isPermaLink="true">https://editora-project.dev/blog/orphaned-language-servers-and-symlinks/</guid><description>Two LSP integration bugs (a process that wouldn&apos;t die, and diagnostics that silently vanished) and what they taught me about subprocesses and paths.</description><pubDate>Mon, 08 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Why your .app can&apos;t find git or node</title><link>https://editora-project.dev/blog/why-your-app-cant-find-git/</link><guid isPermaLink="true">https://editora-project.dev/blog/why-your-app-cant-find-git/</guid><description>A GUI-launched app inherits a stripped PATH. Editora recovers the real one so it can find git, node, and version-managed tools.</description><pubDate>Sun, 07 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Keeping the UI thread sacred</title><link>https://editora-project.dev/blog/keeping-the-ui-thread-sacred/</link><guid isPermaLink="true">https://editora-project.dev/blog/keeping-the-ui-thread-sacred/</guid><description>The performance doctrine behind Editora: off-thread work, incremental updates, coalesced redraws, and degrading gracefully on huge files.</description><pubDate>Sat, 06 Jun 2026 00:00:00 GMT</pubDate></item><item><title>The black window: bounding GPU textures in JavaFX</title><link>https://editora-project.dev/blog/the-black-window-bounding-gpu-textures/</link><guid isPermaLink="true">https://editora-project.dev/blog/the-black-window-bounding-gpu-textures/</guid><description>A bug that only showed up in the packaged build: open enough files and the window goes black. The cause was GPU texture exhaustion.</description><pubDate>Fri, 05 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Rendering Markdown like GitHub, without a WebView</title><link>https://editora-project.dev/blog/rendering-markdown-like-github/</link><guid isPermaLink="true">https://editora-project.dev/blog/rendering-markdown-like-github/</guid><description>How Editora&apos;s Markdown preview renders natively to JavaFX nodes (task lists, code pills, images, SVG badges), with no embedded browser.</description><pubDate>Thu, 04 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Going headless to stay alive: an AWT/JavaFX deadlock</title><link>https://editora-project.dev/blog/going-headless-to-stay-alive/</link><guid isPermaLink="true">https://editora-project.dev/blog/going-headless-to-stay-alive/</guid><description>Why the very first line of Editora&apos;s main() sets java.awt.headless=true, and the intermittent macOS hang that forced it.</description><pubDate>Wed, 03 Jun 2026 00:00:00 GMT</pubDate></item></channel></rss>