v0.22.0
Released 2026-08-28. This release adds preview plugins: install one and tessoa produces cover frames for video and audio, and plays them right inside preview; plugins install from the plugin page or from a .zip file, and when one goes wrong only that plugin stops. Windows gains a Recycle Bin page that restores, deletes permanently and empties; with File Explorer replaced, double-clicking the desktop's Recycle Bin lands there too. Network shares got an entry point: type \\server\share in the address bar, or pin it into the sidebar's Places group. Closing the last window can now leave tessoa in the tray, so opening it again skips startup, and Win+E brings the window you already have to the front instead of opening another. Grouping and folder expansion changed from mutually exclusive to coexisting, This PC gained a Drive column, terminal tabs arrived on macOS and Linux, and the Appearance page gained two text-rendering knobs along with a different factory default.
The kind marked on each entry (New / Improved / Fixed) is explained in the changelog.
New
| # | Kind | Change |
|---|---|---|
| 1 | New | Preview plugins: install one and tessoa understands a format its built-in preview cannot handle — video and audio are the first batch. The plugin page sits under Plugins in the top-left menu, and in the Maintenance group in Settings; its upper half is Installed plugins (Enable / Disable / Open file location / Uninstall) and its lower half Available plugins, whose end-of-row button reads Install, Update, or the current download percentage. With a .zip package in hand, use Install from file… in the top-right corner. Each plugin runs in a separate process, so a crash or hang never affects tessoa itself, and enabling, disabling and uninstalling take effect immediately. A paid feature requiring the Supporter tier; managing, installing and uninstalling are not restricted by tier. See Preview plugins |
| 2 | New | Plugins play video and audio: a ▶ appears in the middle of the cover art, clicking it starts playback, and a playback bar sits below — pause, click the progress bar to jump, timecode, mute and volume. Switching to another file or closing the tab ends it; switching to another tab pauses it and coming back leaves it where it was; minimising the window keeps the sound going. With two windows each playing something, only the more recently started one has sound. Volume and mute are remembered |
| 3 | New | Opening a format that needs a plugin now says so in preview: Install a preview plugin to preview this format, with a View plugins button below it going straight to the plugin page. The line is governed by Suggest installable preview plugins in the Maintenance group, so it can be switched off; it is a different thing from Enable preview plugins, which governs whether plugins work at all. On Windows a video the system itself can produce a cover for (an ordinary H.264 mp4) shows no such line — preview draws that cover, leaving no room for it |
| 4 | New | The menu in the top-left corner of the window gained a Plugins entry that opens the plugin page directly. Managing plugins is something people who have them do often, and reaching the page through the settings list takes three steps |
| 5 | New | The Preview Plugin Terms became a document of their own, presented once when you install a plugin rather than blocking startup. They used to be a section inside the user agreement, so reading the plugin part meant scrolling to find it. After the terms change, the next install or update asks again; the full text is available at any time in the About group in Settings |
| 6 | New | A Recycle Bin page (Windows only): click Recycle Bin at the end of the sidebar's Places group to see what the system recycle bin currently holds. Each row shows the file name it had before deletion followed by its original location; the Date column reads Date Deleted on this page and holds the moment of deletion. The context menu has three entries: Restore, Delete permanently and Empty Recycle Bin. A restore into an occupied location appends a number rather than overwriting anything. The page has no thumbnails and no preview, and double-clicking an item says Restore an item before you can open it. See Recycle Bin |
| 7 | New | With File Explorer replaced, double-clicking the desktop's Recycle Bin lands on tessoa's Recycle Bin page. It used to be handed back to File Explorer — at the time tessoa had no view that could express a recycle bin. Control Panel, Network and Libraries are still handed back |
| 8 | New | Network shares got an entry point: type \\server\share in the address bar and press Enter to go there, and a share that cannot be reached never freezes the window. Hovering the Places group header in the sidebar and clicking + pins a share as a permanent row — while you are already on a share the box comes pre-filled with the whole path, so Enter is enough. Shared folders bookmark like any other. See Network shares |
| 9 | New | Keep running in the background on close (Windows only, Maintenance group, off by default): closing the last window leaves tessoa in the system tray, so opening it again is instant and skips the whole startup. The tray icon's right-click menu has exactly two entries — Show and Quit. Settings and the session are written out before it goes to the background |
| 10 | New | Win+E and the taskbar icon now reuse the window you already have, bringing it to the front instead of opening another (and without opening an extra tab on the way). To get a new window every time again, turn on Win+E / taskbar opens a new window underneath Replace File Explorer (experimental) on the install page — the switch only appears while the takeover is on. Double-clicking a folder is unaffected: always a new tab in the current window |
| 11 | New | Folders can be expanded in place while grouping is on (Keep Folder Expansion While Grouped in the View group, on by default). Grouping applies to the current folder's direct children only; expanded children sit right under their parent, join no group, and are not counted in the group header. Turning the switch off restores the old behaviour: no expand arrows while grouped. See View modes |
| 12 | New | Expand All Subfolders works with grouping now. Grouping used to ignore the recursive expansion entirely, leaving just the current folder's own level. Grouping now applies to everything the expansion brought in — Expand All Subfolders + group by Type means "every PNG under this tree, together" |
| 13 | New | This PC gained a Drive column holding the volume's drive letter (C:), with — for volumes without one and for portable devices. The column belongs to This PC alone and never appears in an ordinary folder. This PC also sorts by drive letter by default: entering the page switches tabs still on the default sort key (Name) over to Drive, and leaving switches them back; keys you picked yourself, such as Size or Type, are left alone |
| 14 | New | Terminal tabs now open on macOS and Linux too. The flyout lists Default shell (your login shell) along with bash, zsh and fish, and shells installed through Homebrew are found as well. The keys on macOS follow Terminal.app: ⌘+C / ⌘+V / ⌘+A copy, paste and select all, and Ctrl+C is always the interrupt. Open in Terminal in the background menu (an external terminal window) stays a single entry on macOS and Linux, with no shell flyout. See Terminal tab |
| 15 | New | Glyph Hinting on the Appearance page went from a switch to three values: Off / Follow Font / Force. Above about 150% system scaling the physical size of body text crosses the threshold a font sets for itself, grid fitting stops applying, and text starts to look ragged — Force is what brings that fitting back. Follow Font is what used to be "on". See Settings overview |
| 16 | New | The Appearance page gained a Classic Text Engine switch (Windows only), and the factory default is now "classic engine on, glyph hinting off". v0.21.0 handed Windows text to the system's DirectWrite to match the browser pixel for pixel; the feedback that followed measured it against the previous tessoa rather than against a browser. Both paths are kept: turning the switch off returns to the v0.21.0 pipeline, where every one of its results holds unchanged |
| 17 | New | tessoa can now tell other programs which folder the current tab is in. Quick Switch in tools like Listary — jumping a file dialog to the folder you are browsing — has to ask the file manager that question, and tessoa draws its own window, so nothing could be read from outside. There is now a read-only query channel, plus a --print-cwd command-line option that prints the path. The channel accepts no instruction that would make tessoa do anything |
| 18 | New | Right-clicking a folder in the file area now offers Bookmark this folder (Edit this bookmark once it is bookmarked), raising the same form as the star and anchored next to the row you right-clicked. It used to exist only in the sidebar and on the breadcrumb. It appears for a single selected folder only: the bookmark library holds folders, and with several selected there is no answer to "which one" |
Improved
| # | Kind | Change |
|---|---|---|
| 19 | Improved | Enter opens files now. It used to recognise only folders, archives and shortcuts pointing at folders, doing nothing on an ordinary file — the same row a double-click would open. The two now branch identically. The set they act on is unified as well: with items ticked it acts on all of them, with none ticked on the currently selected one, matching Ctrl+Enter. Several files open in list order, and several folders each get a new tab. Opening more than 20 files at once asks first, with the prompt reading Each file opens in its default app. Vim mode's l takes the same path and is fixed with it |
| 20 | Improved | Folder sizes you have already calculated now survive a restart. The cache used to live only for the current run, so every start scanned everything again — on a spinning disk that meant hearing the drive every time. It is now written to disk and reused on the next start; a figure is discarded and recalculated when the folder's modification time changes, or when you change the size-calculation rules or the hidden-items tier |
| 21 | Improved | Folder-size scans no longer fight over the head on spinning disks and network locations: each slow volume runs at most one or two scans at a time, and two different disks never queue behind each other. The scans also moved into a thread pool of their own — with Calculate Folder Sizes Automatically on and the last session sitting at the root of a spinning disk, startup used to hang for minutes. Applying results to the list now has a time budget per frame as well, so a large folder on an SSD no longer drops frames when hundreds of results land at once |
| 22 | Improved | The empty space left behind by hidden columns can be reclaimed by dragging a column edge. Dragging to the right used to be capped by how much the visible columns to the right could still be squeezed, which had nothing to do with that gap — so the drag simply stopped at a point |
| 23 | Improved | The install page now pre-fills the folder tessoa is actually installed in, rather than always the default one. After installing into somewhere like D:\Program Files\tessoa, returning to the page shows the correct installed state, and switches such as Add to PATH no longer snap back |
Fixed
| # | Kind | Change |
|---|---|---|
| 24 | Fixed | Holding Shift and clicking could only extend a selection, never shrink it: Shift-clicking somewhere further back left the extra rows ticked, and the only way out was clearing everything and starting over. The mouse now behaves like Shift+↑↓ on the keyboard, unticking the rows you take back. Shift-clicking also moves the cursor to where you clicked, so a following Shift+↓ continues from there (the columns view deliberately keeps its cursor: there it doubles as the navigation position, and moving it would tear down the columns you drilled into) |
| 25 | Fixed | Click-to-multi-select did not exist at all on macOS. macOS delivers Ctrl+click to apps as a secondary click, so that branch was never reached, and ⌘+click had been missed. ⌘+click now adds to the selection |
| 26 | Fixed | After moving Desktop, Downloads, Documents or Pictures to another drive through File Explorer's Properties → Location (or letting OneDrive take them over), the sidebar's Places group was left with the home folder alone. The locations of those four are now asked of the system, so they are found wherever they went; the same problem in the folder picker's left column is fixed with it |
| 27 | Fixed | With grouping on, the expand arrow at the start of a row did nothing — the arrow flipped, the list did not move, and the arrow keys would not expand anything either. Grouping and in-place expansion now coexist by default (see #11), and with that switch off the arrow is no longer drawn at all, so there is no arrow that does nothing |
| 28 | Fixed | Off the 100% zoom level, the Folders, Files and Size columns came back from a background scan crammed together, and refreshing the panel fixed it by itself. Expanding a subfolder always goes through that path, which made it look like a ghost. Those columns are now re-laid-out at the content font size, matching the rest of the row |
| 29 | Fixed | In the visibility settings, when a rule's Scope menu opened with part of it below the settings panel, clicking that part counted as clicking the backdrop — the whole settings panel closed, and the click landed on the file list underneath. Whatever the menu covers now belongs to the menu |
| 30 | Fixed | After going from the Recycle Bin page to This PC, the Recycle Bin segment in the breadcrumb was struck through, and clicking it did not navigate but reported that the folder had been deleted or moved. The terminal tab's segment had the same fault and is fixed with it |
| 31 | Fixed | On some older graphics drivers a failed shader compilation on the first frame made tessoa exit silently with nothing on screen. Rendering now retries with progressively simpler variants, and when it truly cannot start, a dialog names the reason — on macOS there was no dialog at all before |
| 32 | Fixed | Bookmark this tab, Bookmark all tabs… and the closing entries in the tab's right-click menu did nothing when clicked |
| 33 | Fixed | While activating a license, a run that could not read the machine code, or a re-bind, generated a fresh device identity — which the server sees as yet another device, silently using up one of your seats with no error anywhere. Device identity now has a single origin and falls back to the one already recorded |
Changelog · v0.23.0 · v0.21.0 · Preview plugins · Recycle Bin · Network shares