Official website. The About box shows https://sally-filemanager.app/, and the Help menu has a new Sally Website command. The remaining altap.cz links are gone.
Online manual. F1 and the Help menu open the matching page of the manual on the website, instead of the old HTML Help (.chm) file. Context help works from dialogs as before.
Manual updates. The manual names Sally throughout and documents the Theme setting, Windows Terminal, the Web Viewer plugin and current Unicode support.
Manual sources. The manual's sources move from this repository to the website, which offers them for download. Their history up to 1.0.31 remains in this repository.
Sally 1.0.31 fixes copying files into an open archive with F5, and Batch Rename renaming nothing.
Fixes
Fixed F5/F6 from a disk panel into an archive open in the other panel, which reported "Target path for this operation cannot contain path to a file (archives are not supported here)" (#116). Copying into the archive root, into a folder inside the archive, or onto a bare archive name such as archive.zip adds the files again, the same way drag & drop does. This had been broken since 1.0.27.
Fixed Batch Rename renaming nothing and reporting "Duplicate name." for every file (#117). The New name, Search for and Replace with fields lost their text when Rename was clicked, so every file got an empty name. This had been broken since 1.0.27.
Two source files whose logic derives from Open Salamander now credit it in their headers.
Sally 1.0.30 fixes executable icons that flickered to the generic icon, and RAR archive dates shown as 1.1.1980 when browsing through the external RAR archiver.
Fixes
Fixed executable icons that switched to the generic executable icon while the panel repainted — after sorting, refreshing, or moving around the panel (#115). Since 1.0.27, the icon-cache lookup compared a few bytes past the end of the file name, so files whose names have an even number of characters (such as Inc_Update.exe) could miss their cached icon at random. Only some files were affected, which is why the icons came and went.
Fixed RAR archives browsed through the external RAR archiver reporting "The file date and/or time reported by archiver is invalid" and listing every file as 1.1.1980 (#114). RAR 7 prints dates as YYYY-MM-DD; Sally now reads that form as well as the older day-first form.
Opening RAR archives normally goes through the built-in UnRAR plugin, which never had the date problem. If Sally asks you to run Archivers Autoconfiguration to open a .rar, check that UnRAR is listed in Plugins → Plugins Manager.
Thanks to @xmiseggs for the clear before-and-after screenshots of the icon change, and to @vectorrilke for the detailed RAR report.
Sally 1.0.29 restores archive and plugin-filesystem drag-and-drop on native ARM64 builds.
Fixes
Fixed dragging files or directories from ZIP/RAR archives to the archive root's [..] row on ARM64 (#112).
Native ARM64 startup now discovers and registers salextARM64.dll; previous builds only searched for the x86 and x64 shell-extension filenames, so archive drag operations exited before a drag cursor appeared.
Corrected the ARM64 shell extension's embedded description and original filename.
Extended Release CI to continue verifying architecture-specific executable and language-resource identity.
Thanks to @vectorrilke for identifying that the failure was specific to ARM64 and for describing the missing cursor transition.
Sally 1.0.28 is a focused follow-up to the 1.0.27 Unicode migration release.
Fixes
Fixed Copy to Clipboard from the Directory Line and Status Line context menus. Opening the menu cleared the current hot item before the command executed, so Sally now copies the text captured when the menu was opened. Thanks to @xmiseggs for reporting #110 and @vectorrilke for confirming it on ARM64.
Made reusable .slt translation archive metadata architecture-neutral. The same translation sources now cleanly produce x86, x64, and ARM64 language packs.
Corrected ARM64 executable and language-resource version labels, and strengthened Release CI to reject architecture metadata mismatches.
Long-path-safe dynamic ownership instead of MAX_PATH-bounded semantic path buffers.
Unicode-aware search and case folding, including UTF-8 database-viewer searches.
Wide-native bundled plugins and explicit codecs at real byte boundaries such as FTP and archive formats.
Improved behavior for non-ASCII install paths, UNC/network paths, shell operations, drag/drop, clipboard data, and external viewers/editors.
Ten translated language packs rebuilt and versioned for 1.0.27.
Important behavior changes
Unicode sort order
Sorting now compares real Unicode names rather than damaged active-code-page projections. Non-ASCII names may appear in a different order from older Sally versions. This is intentional and there is no option to restore the previous code-page-dependent order.
Unicode clipboard and drag/drop text
Panel, archive, and plugin-filesystem paths use Unicode clipboard text where older paths could publish only CF_TEXT. Legacy text is still co-published where appropriate, but very old external programs that only understand ANSI clipboard data may behave differently.
The blue Up/Down arrows now visibly reorder the Editors and Viewers priority lists. The previous code moved the internal model but left owner-drawn rows in their old order; editing after a move could also update the wrong association.
Editor/viewer mask priority changes remain synchronized between the visible list and stored configuration.
Plugin compatibility
Bundled plugins are wide-native.
Existing pre-v108 binary plugins can still load through an isolated compatibility adapter.
Compatibility conversion is exact-or-refuse; it is not an ANSI ownership model inside Sally.
A plugin requiring a newer host refuses to load instead of calling an incompatible interface optimistically.
If a third-party plugin behaves differently in 1.0.27, please identify the plugin name and version in the bug report.
Known limitations and risk areas
Release artifacts are built for x64, x86, and ARM64. Automated build and artifact validation cover all three; the deepest runtime/Sandbox testing remains on x64.
FTP and archive formats remain byte-oriented where their protocols require it; text is encoded/decoded at explicit boundaries.
External ANSI-only tools may reject a path they cannot represent. Sally now fails visibly instead of silently changing the path.
Old persisted settings are imported for upgrade compatibility, while new values are written in current native formats.
Existing pre-v108 third-party plugin binaries remain supported through the frozen compatibility layer.
PictView is not included because its image engine source is unavailable.
WinSCP integration remains unported.
Before upgrading
1. Keep a copy of Sally 1.0.26. 2. Back up or export your Sally configuration if it is important to you. 3. Test representative local, network, archive, plugin, viewer/editor, and shell workflows before relying on 1.0.27 for critical work.
Combo boxes on dark dialogs showed an empty box instead of the selected value. Fixed throughout the main window and plugin dialogs — including the theme selector itself on Configuration → Appearance. (#98, #99)
Scrollbars are back in multiline text areas on dark dialogs (FTP Logs). (#98)
Plugin dialogs no longer stay dark after you switch to the light theme. (#98)
Panel scrollbar up/down arrows are visible again.
No more light flash when starting in the dark theme. (#95)
File operations
Data-loss fix: copying or moving onto an existing archive could destroy it. It could also act on the wrong archive when the name contained non-ASCII characters. (#94)
.tar.gz and other multi-part archives are recognised correctly again.
Alt+drag creates a shortcut, and the cursor no longer promises one in places where it cannot be created. (#101)
Pasting a path containing non-ASCII characters now navigates to the folder and selects the file. (#103)
Quick Rename shows non-ASCII names in full instead of .... (#103)
Viewer (F3)
Large UTF-16 files open and scroll dramatically faster, and memory use on very large files is now bounded.
Other
Find: the "Search file content" label is no longer cut off.
Sally restores to a visible size after display changes. (#97)
Toolbar bottom-bar key caps are drawn from the font. (#96)
The application version now renders as three parts (1.0.25) in file properties. Previously the binary resources and the build system carried separate version values that had drifted apart; there is now a single source.
Language packs must be rebuilt for any version change. Sally requires an exact version match and silently rejects packs that do not match — they simply disappear from Select Language with no error.
TortoiseSVN, TortoiseGit and any other provider that supplies its overlay icon as a .ico file were being discarded at startup, so their overlays never showed in the panel.
Sally asked Windows for two icons in a single call with both sizes packed into one argument. That form asks for two consecutive icon resources rather than one icon at two sizes — and a standalone .ico holds exactly one, so the second size came back empty. An overlay is only used when every size loads, so the handler was thrown away.
A note if you compare against Explorer: Windows stops loading overlay handlers once roughly fifteen are registered. On a machine with several cloud-storage clients installed, Explorer may show no Tortoise overlays in the very folder where Sally now does. That is a Windows limit, not a difference in the repository state.
Right-clicking a file whose name contains characters outside your system's ANSI code page produced no menu at all — and no error explaining why.
Menu entries are now built from the full Unicode filename, the containing folder is resolved without narrowing its path, and a name that cannot be resolved is skipped instead of discarding the whole selection. If nothing in the selection can be resolved, you now get an explanation rather than silence.
Scope: this covers non-ASCII filenames. Files inside a folder whose own path contains such characters are a separate, known limitation — see Known issues below.
Opening files inside folders with non-ASCII paths
Pressing Enter did nothing for files inside a folder whose path contains characters outside the ANSI code page — including files with perfectly ordinary ASCII names, because the code path was chosen from the filename alone.
Diagnostics
Help → Report a Bug
Writes a report describing configuration and shell integration state: what happened to each registered icon overlay handler, and the outcome of recent context menu commands.
The existing Help → Task List → Break route needed two running instances and terminated the process. This one needs neither. The report is written to %LOCALAPPDATA%\Open Salamander\ and its location is shown when it completes.
If you hit a shell integration problem, this report is far more useful than a description — it records what Sally handed Windows and what came back.
Localization
All ten shipped languages are now complete. Strings introduced by earlier releases were still displayed in English in every locale:
the Light / Dark / System theme names
the Find results save and load commands
the Paste Shortcut failure message
the Windows Terminal and default shell integration
Other
Development builds report the correct version again. It had been pinned by cached build configuration, so binaries carried the previous release's number.
AUTHORS now credits the people who report problems, test pre-release builds and confirm fixes.
Known issues
Actions on files inside folders whose path contains characters outside the system ANSI code page remain unreliable — Properties, Copy Full Name, Paste, packing and others. The folder browses and displays correctly; only the actions fail. This is tracked separately and is being worked through.
Filenames outside the ANSI code page are fine as long as the containing path is representable.
A fast, keyboard-first dual-panel file manager for Windows. This release adds Windows Terminal integration, clears a batch of dark-mode and file-operation bugs from user reports, and cleans up licensing and attribution.
Sally discovers wt.exe and its Stable, Preview, and unpackaged profiles and builds a Commands → Windows Terminal submenu — launch PowerShell, a WSL distribution, or Command Prompt straight into the active panel's folder.
New Commands → Default Shell… dialog sets what the Command Shell action (Num /) opens: %COMSPEC%, the Terminal default, or a named profile.
Sally v1.0.22 focuses on Unicode and path-safety hardening, safer Find result handling, FTP reliability, and more headless coverage for file-operation logic.
Highlights:
Fixed an FTP view/download crash caused by unsafe initialization of FTP disk-work state.
Added headless integration coverage for FTP disk writes and recursive delete prompt behavior.
Added Find result save/load support, including safer reload validation.
Preserved Unicode "Look in" paths in saved Find presets.
Prevented lossy ANSI fallback from targeting the wrong file in Find result actions.
Improved Unicode error reporting in worker copy/delete/create/convert/attribute dialogs.
Hardened recursive delete script generation so skipped child directories do not cause parent directory deletes.
Fixed a ZIP SFX settings initialization bug.
Fixed a Salmon crash reporter static-initialization crash.
Find Improvements:
Find results can now be saved and loaded.
Loaded Find CSV/TXT rows are validated and re-statted before becoming actionable.
Delete from Find results now uses the wide shell path list, avoiding wildcard-like behavior from lossy ANSI names.
Actions that still depend on ANSI-backed paths now refuse non-round-trippable Unicode rows instead of risking operations on the wrong file.
Saved Find presets now persist Unicode Look in roots.
File Operation And Unicode Hardening:
Centralized long-path decoration.
Moved more file-system operations behind wide-first interfaces.
Routed directory enumeration through IFileEnumerator.
Added ADS stream enumeration and wider worker I/O interface coverage.
Improved snapshot builder support for directory move/delete/change-attrs/change-case flows.
Added opt-in handling for non-empty/system-hidden delete prompts, ADS-loss prompts, fast directory moves, and reparse-point directory deletes.
Reliability Fixes:
FTP disk work no longer corrupts CPathBuffer members during initialization.
ZIP SFX settings no longer clears a std::string owner with memset.
Salmon no longer uses handle-tracked critical-section initialization before the handle system is ready.
Recursive delete scripts now respect skipped subtrees all the way up to the parent.
This release focuses on file-operation correctness, Unicode display fixes, and release build hygiene.
Fixed
Fixed Brief view rendering for Unicode filenames that could appear partially clipped or truncated. (#76)
Fixed false "not enough space" warnings when moving folders on the same drive. (#74)
Fixed external packer/unpacker command handling for list-file based workflows, including legacy PKZIP/PKUNZIP-style configurations. (#47)
Added optional preview registry isolation so evaluation builds can use a version-specific settings root without disturbing stable Sally settings. (#11)
Improved
Improved Unicode path preservation through copy/move and headless file-operation paths.
Improved FTP plugin release build metadata so release packages are built from source state cleanly.
Added private regression coverage for Unicode name rendering, same-drive move accounting, packer command-line policy, registry roots, FTP metadata, and release-policy guards.
Sally v1.0.20 focuses on Unicode-path reliability, viewer polish, and safer helper-process plumbing. It also keeps the v1.0.19 copy/move and static UnRAR work on the public main-line release.
Highlights
Improved Unicode filename handling in the file panel, safe-file layer, plugin filesystem bridge, shell-extension bridge, and internal viewer.
Hardened shell-extension and helper-process IPC namespacing for Sally, FileComp, PictView, PlugCore, and translator helpers.
Added exact-wide path handling for file create/reopen flows, reducing lossy ANSI fallback behavior with non-ASCII and long paths.
Fixed internal viewer Unicode window handling and decoded-viewer row clipping.
Added headless file-operation and script-execution infrastructure for copy/move style workflows.
Carried forward static UnRAR packaging: RAR support is built into plugins/unrar/salunrar.dll without shipping a separate unrar.dll.
Absorbed upstream translation and workflow cleanup.
GitHub Issues
Thanks to everyone who reported and tested the recent Unicode and viewer problems. This release closes:
#64 - viewer end-of-file and row-clipping follow-up.
#73 - Unicode filenames and the shell context-menu bridge.
Sally v1.0.19 brings the new Unicode-aware copy/move path into the release build and ships RAR archive support without an external UnRAR DLL.
Highlights
Added the wide snapshot builder path for disk-panel copy, move, drag/drop, and copy-of operations, including filters, ADS handling, rename masks, and long-path coverage.
Preserved legacy file-operation safeguards in the new path, including same-path copy rejection and encrypted source/target behavior.
Statically linked the vendored UnRAR engine into plugins/unrar/salunrar.dll, so RAR support no longer depends on a separate unrar.dll next to the plugin.
Expanded plugin build and packaging coverage, including release distribution population for the supported plugin set.
Added FTP plugin CMake coverage as part of the broader plugin build work.
Verification
The release workflow passed for x64, x86, and ARM64. The runtime zips were checked for the UnRAR plugin layout: each package includes plugins/unrar/salunrar.dll, registers it in plugins.ver, and does not include a separate unrar.dll.
Added a Help menu shortcut for checking new Sally and plugin versions through CheckVer when the plugin is available.
Preserved Unicode and long-path names in the focused panel info line and command prompt path prefix.
Improved Unicode handling for Make File List output and clipboard export, including UTF-8 output when needed.
Refreshed the README and screenshot to show Sally's current dark mode, Unicode, and long-path strengths.
Release fixes:
Restored localized Sally core language-pack generation for the new update-check menu string, so the release zips include the full translated language set.
#61 Find dialog: the Type filter (All / Files / Folders) now persists across dialog reopens and Sally restarts. Stored in registry value Find Files Type Filter.
#63 Non-ASCII install paths: Sally now starts cleanly when installed under a directory containing characters outside the active ANSI codepage (Cyrillic, Greek, etc.). Three startup paths were wide-ified — language file load, config.reg load, and salmon.exe (crash reporter) launch.
#64 Viewer end-of-file: the final line of a text file is now reachable via Ctrl+End regardless of where the line breaks fall relative to the visible window height.
Sally v1.0.12 is a focused polish and infrastructure release following the dark mode pre-alpha.
Highlights
Polished the dark-mode work in configuration dialogs, continuing the Sally UI modernization beyond Open Salamander.
Added a tested copy-strategy decision layer for issue #52. Current production copy behavior remains unchanged, but the strategy selection is now isolated and ready for measured async-copy experiments.
Updated the README to clearly describe what Sally adds over Open Salamander: dark mode, Unicode and long path operations, ARM64 builds, WebView2 Markdown viewing, modern CMake/release tooling, language packs, and legacy plugin consent.