Skip to content

What's new

Peach Commander is at 0.9.3, released 25 September 2026. Every release is written up in full in the changelog — this page is the shorter read: what each one was about, newest first, and what it added.

0.9.3 25 September 2026

Latest release1 new6 fixed

Markdown and HTML as PDFs, from the renderer that already draws them — and the five ways an SFTP site could be left unable to log in at all.

What it added

  • Markdown and HTML documents export as PDFs.

0.9.3 in full — the other 6 notes →

0.9.2 19 September 2026

3 changed9 fixed

Named workspaces, a keyboard that works the same in every view — and the packaging defect behind "it keeps asking for folder permissions".

A workspace is a named work context now rather than a saved layout: both panels, every tab, the marks, the filter, the tree and the window's whole arrangement switch together, and switching back restores what you left. The panel's keyboard vocabulary, which only ever worked in the details view, now works in Brief, Icons and Gallery as well, and those views draw what is marked. The quick search and the quick filter lost the last of the places where the list and the count disagreed.

And the app bundle is sealed at last. It never was: codesign --verify answered "code object is not signed at all", because the plugin build wrote its incremental stamps into Contents/PlugIns/.build-stamps and codesign refuses a bundle carrying a directory it does not recognise — with or without a certificate. macOS 26 kept honouring permissions granted to an unsealed bundle; macOS 27 will not grant new ones, which is why a fresh install asked for Desktop, Documents and Downloads over and over and forgot every answer. Measured on 27.0: 27 prompts before, three after — one per folder, remembered, and nothing at all on the next launch. This is an ad-hoc seal, not a Developer ID: the first launch still goes through System Settings.

Highlights

  • Workspaces are named work contexts now, not saved layouts.
  • The arrow keys step between the quick search's matches.
  • A filtered list cycles, and keeps its cursor while you narrow it.

0.9.2 in full — the other 9 notes →

0.9.1 15 September 2026

18 new6 changed46 fixed

Docker as a drive, directory synchronisation worked through end to end, and a round of things reported by the people using it.

A running container's filesystem browses like any other volume — its own drive, its volumes and compose projects as folders, its log as a file so F3, the viewer's search and its encoding picker all apply to it, and start/stop/restart in the same context menu as everything else. Synchronisation gained the half that was missing: it says what it is doing while it does it and can be called off, it remembers what a pair looked like last time so a deletion on one side is carried to the other rather than undone, it writes down what each run did and can put it back, and the preset now restores the view of a comparison as well as its rules. Underneath both, the copy engine stopped losing things at the edges — a symlink is copied as a symlink, an interrupted overwrite leaves the existing file untouched, and verify-after-copy reads half as much as it did.

The rest came from use: the terminal tab's ✕ sits inside the tab and asks before closing, "Search in" stopped clipping its own letters, Escape closes the synchronise window, and the search dialog's third field remembers the folders you searched.

Highlights

  • A container's log is a file now.
  • The Docker provider has a settings page.
  • A container or a volume has a context menu now.
  • Docker containers and volumes are a drive.

0.9.1 in full — the other 66 notes →

0.9.0 7 September 2026

9 new6 changed17 fixed

Plugins stopped being something only this repository can write.

A plugin now arrives as a file you double-click. That sounds small and was not: a third party could not depend on the SDK at all, because its package manifest sits in a subdirectory and SwiftPM looks for one at a repository root — so the dependency line this project's own documentation had shown from the start had never resolved for anybody. The API version was checked for equality, in two places, so the first time that number moved every existing plugin would have stopped loading in the same instant. A plugin's identity was its display name, so renaming one lost the user's setting and two sharing a title shared one switch. PCPluginMinHostVersion had been read and compared against nothing since the day it was added. And installing meant picking a .zip from a file chooser, after which somebody else's code was running in this process with your whole disk in reach, having told you neither its name nor what it was about to take over.

All of that is answered, and two companion repositories now exist to prove it rather than describe it: the SDK as a package you can actually depend on — with pcplug-validate, which runs this app's own admission checks against a built plugin before a user is the one who finds out — and a worked example that reads ISO 9660, Joliet, Rock Ridge, UDF and El Torito disc images. That example is not a demo: .iso was already browsable here through bsdtar, one subprocess per file, every file showing the container's timestamp rather than its own, and UDF unreadable altogether. Nothing on this side changed to let a plugin take that over.

The rest of the release is the editor and the viewer catching up with each other — per-line notes, Save As, Print, Next/Previous Mark, the strings in a binary in four encodings at once — and seventeen fixes, several of which were things quietly losing data or hanging the window: a file the editor could not read opened as an empty one and saving wrote that over it, an unreadable ACL was replaced by an empty one, and a slow DNS lookup froze the window for half a minute whenever a terminal reported where it was.

Highlights

  • Plugins are installable from a package, and you are told what is in it first.
  • Plugins have a stable identity and a version.
  • ReadEntryData and PC_CAP_RANDOM_ACCESS, both optional.
  • Per-line notes in the editor.

0.9.0 in full — the other 28 notes →

0.8.2 2 September 2026

3 new3 changed3 fixed

A file inside an archive can be previewed and opened — and, because working out why it could not led straight into it, the app stopped reading things nobody asked it to read.

The first half is what was reported: in a ZIP the quick preview showed nothing and a double-click on a spreadsheet did nothing at all. The second half is what that turned up on the way. Three parts of the window read a file simply because the cursor landed on it, and none of them had ever asked what that costs — only whether the path existed. That is the wrong question on a network share (which looks exactly like an ordinary folder), on a file the cloud has not downloaded yet (which sits on your own disk with none of its contents), and inside an archive. Switching a panel on a network share to gallery view read every file in the folder over the wire, one thumbnail at a time. It asks first now, and answers in seconds rather than megabytes: after a few reads it knows how fast that connection actually is.

Underneath both, reading a file out of an archive no longer needs it to fit in memory. A 400 MB file opened from a ZIP cost 588 MB before and costs 151 MB now.

Highlights

  • A file inside an archive can be previewed and opened.
  • A budget for everything the cursor reads by itself.
  • The measurement behind that now actually runs on a mounted share.

0.8.2 in full — the other 6 notes →

0.8.1 29 August 2026

4 new4 changed12 fixed

Macros, worked through against the three things the first person to use them ran into — same day as 0.8.0, which is when a feature is most worth fixing.

The recorder read what had already happened and left you to work out which of the last thirty things was the job — the one question you can answer and the list cannot. It now has two ends you press yourself. It also told people who had just made three folders that nothing had happened, because what you do by hand is read back out of a history that can be switched off; the new recording does not depend on it. And each macro is its own file now, because a macro is a thing people hand to each other and getting one out of a JSON array meant editing by hand — which is also why one typo no longer costs you every macro you have.

Highlights

  • Macros can be recorded with a beginning and an end.
  • A recording survives a restart.
  • A new file (Shift+F4) can be recorded.
  • The macro window can run a macro.

0.8.1 in full — the other 20 notes →

0.8.0 29 August 2026

13 new1 changed15 fixed

The assistant is split in two. What ran on your Mac was a chat that could not read a file: measured against Apple Intelligence, the thirty-two tools it offered the model cost 3442 of the model's 4096 tokens, leaving 473 for your question, the file and the answer together — so it answered in the wrong language, mistook folders for files, and died on the second message telling you to start a new chat, which changed nothing. That was the default every new reader landed on.

0.8.0 in full — all 29 notes →

0.7.3 25 August 2026

21 new10 changed33 fixed

Markdown and HTML leave the core: both formats are now drawn by a plugin that renders diagrams and mathematics on your Mac, on every surface that shows a file — the viewer, the preview panel, Quick View and the gallery. Searching inside archives reaches every archive the app can open, says what it could not read, and no longer leaves extracted copies behind. Amazon S3 joins the drives, the assistant summarises whole files and looks through your disk for one, and the documentation website stops reporting its readers to anyone.

0.7.3 in full — all 64 notes →

0.7.2 19 August 2026

9 new6 fixed

The Git plugin, from a first pass into something worth reaching for — and the host change that made the last of it possible.

0.7.2 in full — all 15 notes →

0.7.1 18 August 2026

3 new8 fixed

A round of reported defects, four of which were losing something rather than merely looking wrong.

0.7.1 in full — all 11 notes →

0.7.0 16 August 2026

4 new1 fixed

Highlights

  • Filesystem images open like archives.
  • Firmware with no partition table is taken apart.
  • The space outside the partitions is listed too.
  • Commands ▸ Scan Image Layout.

0.7.0 in full — the other 1 note →

0.6.4 15 August 2026

2 new4 fixed

Highlights

  • Arithmetic in "Go to".
  • A global history, on Ctrl+Cmd+H.

0.6.4 in full — the other 4 notes →

0.6.3 14 August 2026

4 new5 fixed

Highlights

  • Find empty folders.
  • The quick search in the file list is visible now.
  • Order and speed per transfer.
  • Regular expressions in the viewer and the editor.

0.6.3 in full — the other 6 notes →

0.6.2 13 August 2026

10 new6 fixed

Highlights

  • Open a process and see the files it has open.
  • The columns Activity Monitor has and this didn't.
  • Who signed each program.
  • Other users' processes show numbers too.

0.6.2 in full — the other 12 notes →

0.6.1 12 August 2026

4 new1 changed5 fixed

Three user reports, and each of them turned out to be about something the application was deciding on the user's behalf. It left .bak files in folders you curate, with nothing anywhere to turn that off. It knew the terminal as "the thing in the bottom strip", so moving it to the side panel left its own menu commands opening an empty strip instead. And its quick previews could show you a picture but never let you look closer at it.

0.6.1 in full — all 10 notes →

0.6.0 11 August 2026

4 new5 fixed

A repair release. Everything below came out of one user report — a folder tree that stayed white under the Midnight palette — because chasing it exposed that of 59 regression scenarios, not one had ever looked at a colour. The audit built to answer that found a crash on ordinary use, and the same sweep of the test harness found seven keyboard checks that had been measuring nothing at all.

0.6.0 in full — all 9 notes →

0.5.0 10 August 2026

20 new13 fixed4 security

Highlights

  • Terminal tabs can be closed.
  • How much scrollback the terminal keeps is yours to set.
  • The terminal's status line only shows what there is to show.
  • The terminal has its own menu.

0.5.0 in full — the other 33 notes →

0.4.0 8 August 2026

3 new20 fixed3 security

Mostly a repair release. A systematic sweep went through the feature inventory looking for rows that claimed to be done but had nothing verifying them: 73 rows examined, 33 defects found and fixed. Several of them could damage data or, in three cases, be used against you. If you are running 0.3.0, this is the release to take.

0.4.0 in full — all 28 notes →

0.3.0 5 August 2026

11 new3 changed6 fixed

Highlights

  • Structure view for JSON, YAML and XML in the editor.
  • Structural navigation and selection.
  • Copy Structural Path.
  • Validate Document.

0.3.0 in full — the other 16 notes →

0.2.0 30 July 2026

4 new2 fixed

Highlights

  • Decompiler plugins for Java/Android and .NET, inside the Commander rather than beside it.
  • A VM regression harness (Tools/vm/regress.py) that drives the real app over VNC.
  • Accessibility: labels for every list, tree and hand-drawn control, plus a per-window keyboard gate.
  • 19 languages for the UI and the complete in-app Help Book.

0.2.0 in full — the other 2 notes →

0.1.0 14 July 2026

First public beta: dual-panel browsing, the file operation engine, archives, the viewer and editor, FTP, plugins, and the settings.

0.1.0 in full — the release on GitHub →

The whole story

Every release ever made is listed on the releases page, and the complete history — including the notes that are too detailed for this page — is in CHANGELOG.md.

Peach Commander is still before 1.0, so behaviour it got wrong may still change between releases. Version notes says what the current preview can and cannot do, and Known limitations has the honest list.