Releases: nullmastermind/NotepadAI
v0.0.46
This one is small. The only thing it changes is the font in the AI chat view.
Until now the chat panel just followed the editor's Default Font, whether you wanted it to or not. Some people like their code in one font and their prose in another, so now you can set them apart. There's a new "Use default font" toggle in Preferences, on by default, so if you don't touch it nothing changes — the chat keeps tracking the editor font live the way it always did. Turn it off and you pick the chat's own family, size, and sharpening, and the panel updates as you go. Thin fonts get the same hinting treatment the editor already does, so text stays crisp either way.
If you don't use the AI chat, this release does nothing for you. Build matrix is unchanged.
Full Changelog: v0.0.45...v0.0.46
v0.0.45
This release is mostly about one new thing: you can now open CSV and TSV files as a real table instead of staring at comma-separated text.
When you open a CSV or TSV file you get a spreadsheet-style view next to the editor. You can sort by any column, type into the filter row to narrow things down by a substring match, edit cells in place, and copy a selection back out as TSV, CSV, or a Markdown table. It's built to stay responsive on large files — the file is memory-mapped and the sort and filter run off the UI thread, so a multi-gigabyte CSV doesn't freeze the window while it works. If you never open CSVs this changes nothing for you.
There's also a new font-hinting toggle in Preferences, on by default. It snaps glyph stems to the pixel grid, which keeps thin or light fonts (Lilex was the one that bugged me) from going blurry. Turn it off if you'd rather have the typeface's exact outline. Along with that I switched the default editor font to Consolas at 10pt — only affects you if you never picked a font of your own.
Last, a couple of fixes in the AI chat panel. The chat now uses your Default Font setting for messages and code blocks instead of ignoring it, and I fixed a case where a goal that finished at an awkward moment could leave the input box stuck showing "Agent is working…" forever.
Nothing here changes existing files or settings on disk, so upgrading is safe. Installers for Windows, macOS, and Linux are attached below, built against Qt 6.5, 6.8, and 6.10 — grab whichever matches your setup.
v0.0.44
This release is mostly about the folder workspace tree and a CPU problem in the git panel. Small stuff, nothing that changes how you use the editor day to day.
The file tree for an opened folder now shows that folder itself as a single top node you can collapse, the way JetBrains and most editors do it, instead of dropping its contents straight at the top level. It's easier to tell which folder you actually have open, and you can fold the whole project away with one click. Whether the root is expanded or collapsed is remembered between sessions, same as any other folder.
The bigger fix is in the Git Changes panel. If you ran something that wrote a lot of files into an ignored directory while the app was open — npm install dumping into node_modules, or a build writing into build/ — the panel would refresh over and over and the CPU would sit pegged for the whole duration. The watcher was being handed every one of those writes even though git ignores the files. It now just doesn't watch ignored top-level directories at all, so that churn produces no events and there is nothing to refresh. If you never have node_modules or build/ churning while the editor is open, this was invisible to you before and stays invisible. This is Windows-only; the other platforms already only watched git's own control files.
One small bug fix: the Stop button on a running goal agent was not actually stopping it. Stop and Cancel both halt the goal now.
v0.0.43
This is a small, fix-driven release. Two changes, both around tabs and docking, nothing that changes how you work day to day.
The main reason for cutting it is a crash. When you closed a tab in certain split or docked layouts, the editor could briefly hand the docking system an area that had just been detached and was about to be deleted, and dereferencing that crashed the app. That path is now guarded, so the area collapses cleanly and closing tabs in split views is safe again. While I was in there I also made the "open a fresh tab when the last one closes" behavior apply to every kind of tab, not just editors — closing the last browser or mini-app tab now gives you a new empty tab the same way closing the last editor always has, instead of leaving you with nothing.
The other change is for live previews. Opening a preview for a file you already had previewing used to spawn a second, duplicate tab; now it just focuses the one that's already open. And a transient (single-click) preview tab can be pinned by double-clicking it, matching how the editor tabs already behave.
If you don't use split layouts or previews, this release changes nothing for you, and upgrading is harmless either way.
v0.0.42
This release is mostly about Quick File Open, the Ctrl+P picker. On large repositories it used to stutter on every keystroke and could freeze the whole window while it scanned, which is exactly the kind of thing this editor is not supposed to do. I rewrote how it finds and ranks files so it stays responsive no matter how big the tree is. Opening the picker now serves whatever it already knows instantly and refreshes the file list in the background, and closing it never blocks.
One behavior change comes with that, and it's worth knowing about: the picker now honors your .gitignore, the same way VS Code does. Files you've told git to ignore (think node_modules, build output) no longer clutter the results. For most people this is a cleanup, not a loss, but if you were relying on Ctrl+P to reach an ignored file, that file won't show up there anymore. In repositories that aren't under git, nothing changes and you still see everything.
While I was in there I also made filename matches rank above matches that are just scattered across a path, and typing an uppercase letter now switches that search to case-sensitive. Small things, but they make the picker land on the file you meant more often.
Two smaller fixes round it out. Expanded tool-call cards in the AI panel were sometimes clipping a multi-line diff down to a single line; they now measure their height correctly and show the whole thing. And the editor remembers the last AI agent you used, so it picks up where you left off.
If you don't use Ctrl+P or the AI panel, this release changes nothing for you.
v0.0.41
NotepadAI v0.0.41
Housekeeping release — nothing changes in how the app looks or behaves, so there's no rush to grab it.
This one is purely under the hood: a pass over the codebase to clear out static-analysis warnings in our own code. Redundant string copies trimmed, a couple of tight loops made a touch leaner, and one dialog method renamed so it no longer quietly clashes with a Qt base-class method. All small, all internal — no new features and no fixes you'd notice while editing.
If you're already on v0.0.40 you're not missing anything functional. Upgrade whenever it's convenient.
Downloads: grab the installer (Installer.exe) or the portable zip (win64.zip) for Windows, the .AppImage for Linux, or the .dmg for macOS below. The qt65 / qt68 / qt610 builds just track the Qt version — if you don't care, take qt610.
Full Changelog: v0.0.40...v0.0.41
v0.0.40
NotepadAI v0.0.40
Small release, mostly about the workspace file tree. Nothing scary here.
The main thing: you can now right-click a file's tab and pick "Show in Workspace", and it'll jump to that file in the folder tree, expand down to it, and select it. If you've got more than one workspace open it figures out the right one instead of guessing. I'd wanted this for a while — opening a file from search or recent-files and then having to hunt for it in the tree was annoying.
The other change is Windows-only: the workspace tree now watches the folder recursively, so adding, deleting or renaming files anywhere under it just shows up. No more hitting refresh because the tree went stale behind your back. If you're on Linux or macOS this was already fine, so nothing changes for you.
That's it. Upgrade whenever.
Downloads: grab the installer (Installer.exe) or the portable zip (win64.zip) for Windows, the .AppImage for Linux, or the .dmg for macOS below. The qt65 / qt68 / qt610 builds just track the Qt version — if you don't care, take qt610.
Full Changelog: v0.0.39...v0.0.40
v0.0.39
Full Changelog: v0.0.38...v0.0.39
v0.0.38
Full Changelog: v0.0.37...v0.0.38
v0.0.37
Full Changelog: v0.0.36...v0.0.37