下载

更新日志

Sally 的全部版本,最新的列在最前。每条记录均链接至 GitHub 上的下载和完整发行说明。

Sally 1.0.41

· 在 GitHub 上下载并查看完整发行说明

<!-- SPDX-FileCopyrightText: 2025-2026 Elias Bachaalany --> <!-- SPDX-License-Identifier: GPL-2.0-or-later -->

Sally 仍然免费,所有功能和更新均向所有人开放。

  • 现在,点击目录行中的服务器或网络根目录会打开“网络”视图。共享资源和文件夹链接仍按原有方式导航。(#155)
  • 选择每次启动时(位于 选项 → 配置 → 常规 → 检查更新),即可在每次启动时立即在后台检查更新。检查失败后,下次启动时会重试。现有检查间隔选项的行为保持不变。(#150)
  • 主题和图标颜色归入应用程序外观组,位于外观页面。现有图标选项和已保存的偏好设置均予以保留。(#151)

Sally 1.0.40

· 下载和完整说明见 GitHub

Sally 始终免费,所有人均可使用全部功能和更新。自愿支持有助于持续开发。

  • 在“选项 → 配置 → 主窗口”中选择应用图标颜色。蓝色重新可用,更新程序也会使用您保存的选择。(#146)
  • 更新确认窗口更加紧凑,更新完成和检查更新时都会温和地邀请支持。当前支持者不会看到此邀请。
  • 更新程序使用您自定义的面板字体,或 Windows 对话框字体。(#147,更新程序范围)
  • 关闭 Sally 时会完整取消尚未执行的计划更新任务。
  • 含重音字符的文件名采用支持 Unicode 的大小写转换。(#148)
  • 文件比较器 将水平布局设置应用于当前比较,并添加自动换行和面板方向工具栏按钮。(#137)
已经支持过 Sally?领取您的支持者徽章

谢谢!如果您通过 PayPal 或 Buy Me a Coffee 提供过捐助,但尚未申请徽章,请发邮件至badges [at] get-sally [dot] app。请注明支付平台、付款时使用的姓名或交易编号,以及希望在 Sally 中显示的姓名或昵称。请用希望接收支持者密钥的邮箱发送,或告知收件地址。

我会核对捐助并回复您的支持者密钥,通常在一周内交付。您的姓名仅在本地 Sally 中显示;全部功能和更新始终免费。

Sally 1.0.39

· 下载和完整说明见 GitHub

Sally 1.0.39 新增可选的支持者致谢、应用内发行说明,并改进日常文件操作和查看器工作流程。

全部功能和更新始终免费。感谢自愿支持;支持者密钥用于致谢捐助,不用于解锁功能。

感谢您通过捐助、错误报告、翻译和反馈支持 Sally。https://get-sally.app/support-sally/{HTML_1}

Sally 1.0.38

· 下载和完整说明见 GitHub

修复与改进

  • 窗口移出屏幕时,深色模式菜单和工具栏仍保持可见(#134)。
  • 更新程序遵循 Sally 所选语言,包括在 Windows 配置为其他语言时使用英语(#135)。
  • 更新程序使用 Sally 的对话框字体和蓝色应用图标,确认按钮使用所选语言(#136)。
  • 文件比较器 的工具栏图标和按钮随 Windows 显示缩放设置调整(#137)。
  • Web 查看器 在已知的初始化失败时显示可读消息,包括阶段、错误码和请求的文件路径或 URL(#131)。
  • 用 1.0.38 候选版更新 README 中的 Windows 截图,并按实际版本标明较早的 Wine 图片。

持续进行的工作

文件比较器 的自动换行及更广泛的插件 DPI 审核仍是 #137 的后续工作。#131 最初的 SVG 故障仍需报告者提供文件;新增诊断信息尚未确定原因。#133 最初的缩略图图片及复测也仍待提供。

Sally 1.0.37

· 下载和完整说明见 GitHub

Sally 1.0.37 自动检查新版本,并在自己的更新窗口中显示:Check Version 插件退役。它还修复了无法保存“已下载”标记的网络共享上的拖放、“发送到 › 压缩(zipped)文件夹”、长路径缩略图、延迟填充的右键子菜单,并将后续版本新增的插件加入已有配置。

变更

  • 按上下文撤销。文件面板获得焦点时,Ctrl+Z 或编辑 › 撤销会撤销 Windows Shell 记录的最近操作,包括 Sally 删除至回收站的操作。菜单显示当前操作名称,如撤销删除。Windows 与资源管理器共享此历史。命令行和文本框中的 Ctrl+Z 仍撤销文本编辑,无编辑可撤销时不执行操作。永久删除无法这样恢复;Sally 自己的复制、移动、重命名、归档和插件操作并非都使用 Shell 历史。长目录路径中的删除现在会交给 Shell 的回收站处理,而不再绕过它。对于无法回收的项目,Windows 仍可能提供永久删除选项。
  • 更新窗口。帮助 › 检查新版本打开 Sally 的更新程序(utils\salupdate.exe)。它显示已安装和最新版本及发行说明;与 1.0.36 相同,安装并重启会下载版本、核对发布的 SHA-256 校验和、关闭 Sally、替换文件并重新启动 Sally。Sally 还会在启动稍后自动检查,默认每周一次,可在配置 › 常规 › 检查更新中更改(每天至每六个月,或从不)。只有存在新版本时才显示窗口,且不会抢走当前操作的键盘焦点。Sally 本身不再联网检查更新,只有更新程序联网。
  • Check Version 退役。其检查计划和设置会被接管,插件将从配置和 Sally 文件夹中移除。发行包现在列出退役文件,更新程序负责删除;若更新失败则恢复。
  • 命令行配置和启动操作。-profile name将设置保存在独立命名配置中。-do view或-do edit在启动后,用已配置的查看器或编辑器打开活动面板中获得焦点的项目。面板路径可指向文件,例如:sally.exe -profile preview -l "C:\Pictures\beach.jpg" -p 1 -do view。
  • 拖放到 NAS(#118)。带有“从互联网下载”标记的文件拖放到无法保存此标记的目标时,会像 F5 一样正常复制,而不再无声地跳过。若无法拖放,Sally 会给出提示。
  • 发送到 › 压缩(zipped)文件夹(#20)再次能够创建归档。
  • 延迟填充的右键子菜单(#13、#15)。“发送到”“包含到库中”等子菜单能够显示项目。
  • 缩略图(#31)支持超过 260 个字符的路径,且不再将红色显示为蓝色。
  • 后续版本新增的插件(讨论 #89)也会加入更早创建的配置。在插件管理器中移除的插件仍保持移除。
  • PictView(#130)将已安装编解码器支持的图片格式(WebP、HEIC、AVIF、相机 RAW、JPEG XL)加入查看器列表,包括 1.0.34–1.0.36 创建的配置。
  • HiDPI 屏幕上的 PictView(#132)。工具栏、菜单和状态图标随 Sally 的显示缩放设置调整,状态栏也为其预留足够空间。直方图工具栏同样支持缩放。
  • Web 查看器(#131)在导航失败时显示错误页。初始化失败仍可能留下空白页;对已报告 SVG 的调查尚未结束。
  • 文件夹建议(#51)。在复制、移动和改变目录的目标框中输入时,会建议匹配的文件夹(配置 › 常规)。
  • 新建 › 文件夹会就地打开新项目供重命名(讨论 #3);后退或前进至已删除文件夹时,会转到最近的现存父目录,不再报错(讨论 #54)。

升级说明

  • 从 1.0.36 升级:最后一次使用插件 › Check Version › 检查新版本及安装并重启。Sally 1.0.37 随后移除 Check Version;之后改用帮助 › 检查新版本。
  • 从 1.0.35 或更早版本升级:这些版本尚无更新程序。关闭 Sally,将 1.0.37 解压至现有 Sally 文件夹。如果 Windows 提示salextx64.dll正在使用,请重命名该文件(如salextx64.dll.old)后重新复制。
  • 离线更新:将发行 zip 拖到utils\salupdate.exe上(将其SHA256SUMS.txt放在旁边)。

Sally 1.0.36

· 下载和完整说明见 GitHub

Sally 1.0.36 可以自行更新。此后 Check Version 能为您安装新版本,您自行下载的发行 zip 也可用于更新。Shell 扩展不再阻碍更新,修复了第三方 Shell 修改工具可能导致的崩溃,崩溃报告改为 .zip 格式,便于附加到 GitHub 问题中。

变更

  • 安装并重启。Check Version 找到新版本后,窗口会提供安装并重启。Sally 下载适合平台的包并核对发行版的 SHA-256 校验和(GitHub 自身的校验和也必须一致),随后解压,确认是适合处理器的 Sally 构建,再向您确认一次。同一文件夹启动的所有 Sally 窗口关闭,文件被替换,Sally 重新启动并告知结果。新文件准备好前不会修改任何内容。若任何文件无法替换,全部文件会原样恢复。配置和不属于发行包的文件始终保持不变。位于 Program Files 中的 Sally 文件夹会请求一次管理员权限。
  • 从下载的 zip 更新,也支持离线。将发行 zip 拖到utils\salupdate.exe,或运行salupdate.exe Sally-v<version>-<platform>.zip。若发行包的SHA256SUMS.txt位于 zip 旁,zip 必须与其匹配;若没有该校验和文件,则会警告并请求确认。更新程序显示已安装和新版本(降级前另行确认),关闭 Sally,安装后重新启动 Sally。--yes可无人值守运行。单独运行时可撤销因断电等原因中断的更新。消息使用 Sally 的语言。
  • Shell 扩展不再阻碍更新(#128)。资源管理器一直加载utils\salextx64.dll,导致覆盖 Sally 文件夹时在该文件上失败。更新程序现将已加载文件另行重命名(Windows 允许这样做),放入新文件,再由 Sally 在资源管理器释放后于后续启动时删除旧副本。不写入全局注册表,也不安排重启操作。Sally 清理其他 Sally 文件夹遗留 Shell 扩展注册项的功能(#82)现只移除注册信息。
  • 修复某些 Shell 修改工具导致删除时崩溃(#129)。Sally 的深色标题栏使用dwmapi.dll中的 Windows 函数,却未保持该 DLL 已加载。当注入 Sally 的其他程序卸载它(在 Windhawk 模组中观察到),下一个对话框如删除进度窗口便会崩溃。Sally 及其插件现保持该模块加载。此问题并不只发生在 ARM64。
  • 崩溃报告改为 .zip(#129)。错误报告器将报告打包为 GitHub 问题支持附加的 .zip,不再需要 7-Zip 插件。报告也会正确识别执行异常,不再称其为“写入”异常。

升级说明

  • Sally 1.0.35 或更早版本尚无更新程序:要升级到 1.0.36,请最后一次关闭 Sally 并解压至现有 Sally 文件夹。如果 Windows 提示salextx64.dll正在使用,重命名该文件(如salextx64.dll.old)后重新复制。从 1.0.36 起,使用“安装并重启”或salupdate.exe。
  • 更新程序在%LOCALAPPDATA%\Sally\Update中保存下载文件和日志,更新完成后删除下载文件。

Sally 1.0.35

· 下载和完整说明见 GitHub

Sally 1.0.35 修复了内部查看器处理大型和 Unicode 文本文件的问题,使改变属性恢复可用,恢复 PictView 的选择轮廓和选择源文件按钮,并将崩溃报告转到 GitHub,不再发送至已停用服务器。

变更

  • 查看器:大文件立即打开(#125)。查看器解码的文本(含非 ASCII 字符的 UTF-8,或任何带 BOM 的文件)不再在显示首屏前从头扫描。100 MB UTF-8 文件约十分之一秒即可打开(1.0.34 中为 51 秒),跳至末尾的开销约为一屏内容。
  • 查看器:再次能到达文件末尾(#124)。解码文本可能在末尾前几行停止滚动,常见于末尾附近有空行的文件。Ctrl+End 和滚动现在都能到达最后一行,逐行滚动也恰好移动一行。这也是#64的真正原因。
  • 改变属性恢复可用(#126)。自 1.0.27 起,Ctrl+F2 对每个文件都会报“构建脚本错误”。现在可正确应用属性;对于链接(联接点、符号链接),仅修改链接本身,不会跟随它操作目标。
  • PictView:选择轮廓恢复可见(#127)。选择和缩放工具绘制的轮廓曾无法显示在图像上。现在恢复为黑白移动轮廓(“蚂蚁线”),在浅色、深色和复杂图像上均可见;通过 Ctrl+C 复制选择的行为保持不变。
  • PictView:选择源文件与面板同步。工具栏按钮和菜单项再次正确反映所查看文件在面板中的选中状态,包括按 Space 和 Backspace、打开已选中文件及在 Sally 中改变选择后。
  • PictView:一键选择并继续浏览。Ctrl+Shift+Space 在面板中选择或取消选择当前图片文件并转到下一个;Ctrl+Shift+Backspace 执行相同操作后转到上一个。没有 Insert 键的笔记本和 Mac 键盘也可使用。Space、Shift+Space、Ctrl+Space 和 Insert 的含义不变。
  • 崩溃报告转到 GitHub。崩溃报告器过去上传到已不存在的服务器。“在 GitHub 上报告”现在会在浏览器中打开新问题,预填仅含 Sally 和 Windows 版本、错误、模块及偏移和函数名的简短摘要,以及您当时的操作,供您检查后提交。完整报告和内存转储打包保留在本机,维护者可能私下索取。联系邮箱字段已移除。
  • 翻译。修复翻译菜单和对话框中十二处重复快捷键,翻译 PictView 关于对话框和荷兰语标题栏选项,并将支持链接指向 Sally 的 GitHub 问题页面。

升级说明

  • 内部查看器打开解码文本时,若一行超过 10,000 个字符,会像普通字节文本一样提供切换至十六进制视图的选项。
  • 先前会话遗留的崩溃报告也按同样方式仅提示一次;报告或关闭窗口后将其从列表中移除。

Sally 1.0.34

· 下载和完整说明见 GitHub

Sally 1.0.34 让 PictView 回归:Sally 的图片查看器基于 Windows Imaging Component 重建,保留旧插件的功能、外观和键盘操作,并提供全部内置语言。

变更

  • PictView 回归。这款图像查看、转换和缩略图插件采用全新实现,通过 Windows Imaging Component (WIC) 解码和保存图像,内置于 Sally,并全面支持 Unicode。它取代了因引擎闭源而无法随开源 Sally 分发的旧插件,同时保留了原有功能:查看器中的 Sally 菜单栏和工具栏、熟悉的对话框(配置、图像属性、EXIF、缩放、转到页面、重命名、复制到、屏幕捕获、另存为选项面板、带页面预览的打印)、直方图窗口、全屏、取色器、选区和裁剪,以及相同的快捷键。
  • 支持更多格式。电脑上安装的 WIC 编解码器所支持的格式,包括来自 Microsoft Store 的 HEIF、AVIF、WebP、相机 RAW 等,均可在查看器中打开,并在面板中显示缩略图。
  • 清晰易懂的 EXIF。EXIF 窗口会用您的语言显示每个标签的名称,并解读闪光灯、曝光程序、测光和方向等值。多页 TIFF 的每一页均显示各自的 EXIF,图像属性还会显示 JPEG、PNG 和 GIF 文件中保存的注释。
  • 查看器细节。经过优化的 GIF 动画可正确播放;大图像具有滚动条并显示加载进度;像素不是正方形的图像(如传真和部分扫描件)按真实比例显示;取色器会显示索引色图像的调色板索引。
  • 更新缩略图。此插件菜单命令会像相机一样,将新缩略图写入所选 JPEG 文件,而无需重新压缩照片。对于没有 EXIF 的 JPEG 文件,则提供 JFIF 缩略图。
  • 透明图像的缩略图会融入面板背景,小尺寸的内嵌预览也会替换为清晰的缩略图。
  • 所有语言均已翻译完整。Sally、FTP 客户端和 Renamer 中最后残留的英文字符串现已翻译。

升级说明

  • 首次启动 1.0.34 时,PictView 会自动注册,成为其支持的图像类型的查看器(F3)。您可以在 Sally 的查看器设置中更改此关联。
  • 您的设置会继续保留;旧版 PictView 保存的设置也会在仍然适用时读取。

Sally 1.0.33

· 下载和完整说明见 GitHub

Sally 1.0.33 将所有语言内置于 Sally,修复了查找窗口的两个问题,并将插件升级到插件 SDK 109。

变更

  • 语言现已内置。全部十种译文均成为 sally.exe 及其插件的一部分,不再需要单独的语言文件。Sally 会同时将所选语言应用于核心程序和所有插件。首次运行时,如果 Sally 支持您的 Windows 语言,就会自动采用;否则才会询问。“选择语言”中以各语言自身的名称列出语言及其译者。
  • 翻译修复。某些语言中,“安全”页面、“退出 Sally”对话框和 ZIP 插件“等待”对话框中的长标签不再被截断。内部查看器菜单和两个 FTP 菜单现在会在所有语言中显示正确标题,而不再全部显示为“帮助”或“其他”。
  • 查找窗口(#120)。关闭“搜索文件内容”后,已隐藏的“包含”输入框不再出现在“无高级选项”一行下方(之前会遮挡文字,并使文字在指针下消失)。查找功能的消息,包括按 Esc 时的“是否关闭查找?”询问,现在会显示在查找窗口上方,而非主窗口上方。
  • 翻译 Sally。译文是源代码中的普通文件(src/lang/<language>/lang.rc 和 src/plugins/<plugin>/lang/<language>/lang.rc)。如需修正翻译,请提交问题或拉取请求;参见 doc/DEV.md。

升级说明

  • 插件必须针对插件 SDK 109 构建。旧版插件,包括为 Altap Salamander 4.0 构建的插件,将不再加载;Sally 会显示消息,要求使用更新版本。随 Sally 分发的所有插件均已更新。
  • 残留的语言文件。如果将 1.0.33 解压到旧版 Sally 上,旧的 lang\*.slg 文件和 lang 文件夹(位于 plugins\ 中)将不再使用,可以删除。
  • 您选择的语言和其他设置会继续保留。

Sally 1.0.32

· 下载和完整说明见 GitHub

Sally 1.0.32 将 https://sally-filemanager.app/{HTML_1} 设为 Sally 的官方网站,帮助功能现在会打开在线手册。

变更

Sally 1.0.31

· 下载和完整说明见 GitHub

Sally 1.0.31 修复了使用 F5 将文件复制到已打开压缩包的问题,以及批量重命名未重命名任何文件的问题。

修复

  • 修复了通过 F5/F6 从磁盘面板将文件复制到另一面板中已打开的压缩包时,报告“此操作的目标路径不能包含文件路径(此处不支持压缩包)”的问题(#116)。复制到压缩包根目录、包内文件夹,或直接复制到 archive.zip 这样的压缩包名称,现在都能像拖放一样添加文件。此问题自 1.0.27 起出现。
  • 修复了批量重命名未重命名任何文件,并为每个文件报告“名称重复。”的问题(#117)。点击“重命名”时,“新名称”“查找”和“替换为”字段中的文本会丢失,导致每个文件得到空名称。此问题自 1.0.27 起出现。
  • 两个逻辑派生自 Open Salamander 的源文件现在会在文件头中注明其来源。

感谢 @DavorSikic 提交准确的 F5 报告,也感谢 @Andrew19601511 指出批量重命名问题。

Sally 1.0.30

· 下载和完整说明见 GitHub

Sally 1.0.30 修复了可执行文件图标闪烁为通用图标的问题,以及通过外部 RAR 压缩程序浏览时,RAR 压缩包中的日期显示为 1.1.1980 的问题。

修复

  • 修复了面板在排序、刷新或移动焦点后重绘时,可执行文件图标变为通用可执行文件图标的问题(#115)。自 1.0.27 起,图标缓存查找会多比较文件名末尾之后的几个字节,因此名称字符数为偶数的文件(例如 Inc_Update.exe)可能随机无法命中缓存图标。只有部分文件受影响,所以图标会时有时无。
  • 修复了通过外部 RAR 压缩程序浏览 RAR 压缩包时,报告“压缩程序返回的文件日期和/或时间无效”,并将所有文件日期列为 1.1.1980 的问题(#114)。RAR 7 以 YYYY-MM-DD 格式输出日期;Sally 现在既可读取此格式,也可读取旧的日优先格式。

正常打开 RAR 压缩包时使用的是内置 UnRAR 插件,该插件从未出现过此日期问题。如果 Sally 要求运行“压缩管理程序自动配置”才能打开 .rar,请检查 插件 → 插件管理器 中是否列有 UnRAR。

感谢 @xmiseggs 提供清晰的图标变化前后截图,也感谢 @vectorrilke 提交详细的 RAR 问题报告。

Sally 1.0.29

· 下载和完整说明见 GitHub

Sally 1.0.29 恢复了原生 ARM64 构建中压缩包和插件文件系统的拖放功能。

修复

  • 修复了在 ARM64 上将文件或目录从 ZIP/RAR 压缩包拖到压缩包根目录的 [..] 行时出现的问题(#112)。
  • 原生 ARM64 版本启动时现在会发现并注册 salextARM64.dll;之前的版本仅查找 x86 和 x64 外壳扩展文件名,导致压缩包拖放在出现拖动光标之前就已退出。
  • 修正了 ARM64 外壳扩展中内嵌的说明和原始文件名。
  • 扩展了发布 CI,持续验证特定体系结构的可执行文件和语言资源标识。

感谢 @vectorrilke 确认故障仅发生在 ARM64,并说明光标未出现预期变化。

Sally 1.0.28

· 下载和完整说明见 GitHub

Sally 1.0.28 是针对 1.0.27 Unicode 迁移版本的专项后续更新。

修复

  • 修复了目录栏和状态栏右键菜单中的复制到剪贴板命令。打开菜单会在命令执行前清除当前热点项目,因此 Sally 现在会复制打开菜单时捕获的文本。感谢 @xmiseggs 报告 #110,也感谢 @vectorrilke 在 ARM64 上确认此问题。
  • 使可复用的 .slt 翻译归档元数据不再依赖体系结构。同一份翻译源文件现在可以正确生成 x86、x64 和 ARM64 语言包。
  • 修正了 ARM64 可执行文件和语言资源的版本标签,并加强发布 CI,使其拒绝体系结构元数据不匹配的构建。

Sally 1.0.27

· 下载和完整说明见 GitHub

社区公告:https://github.com/0xeb/sally/discussions/109{HTML_1}

多平台发布 CI:https://github.com/0xeb/sally/actions/runs/35792894558{HTML_1}(x64、x86 和 ARM64 均已通过)

亮点

  • 文件名、路径、面板文本、对话框、查看器和搜索文本、注册表值、历史记录、外壳集成以及随附插件路径均原生支持 Unicode。
  • 使用支持长路径的动态存储管理,取代受 MAX_PATH 限制的语义路径缓冲区。
  • 支持 Unicode 的搜索和大小写折叠,包括 UTF-8 数据库查看器搜索。
  • 随附插件原生采用宽字符,并在 FTP 和压缩格式等真正的字节边界使用明确的编解码器。
  • 改善非 ASCII 安装路径、UNC/网络路径、外壳操作、拖放、剪贴板数据以及外部查看器/编辑器的行为。
  • 十种翻译语言包已为 1.0.27 重新构建并更新版本。

重要行为变化

Unicode 排序顺序

排序现在比较实际的 Unicode 名称,而不是受损的当前代码页映射。非 ASCII 名称的顺序可能与旧版 Sally 不同。这是有意的变化,没有恢复旧版依赖代码页排序的选项。

Unicode 剪贴板和拖放文本

面板、压缩包和插件文件系统路径现在使用 Unicode 剪贴板文本;旧实现可能只能提供 CF_TEXT。适当时仍会同时提供旧式文本,但仅理解 ANSI 剪贴板数据的非常老的外部程序可能表现不同。

配置中的编辑器/查看器优先级列表(#108)

蓝色上移/下移箭头现在会在界面上正确调整编辑器和查看器优先级列表的顺序。旧代码仅移动内部模型,自绘列表行仍停留在原来的位置;移动后再编辑还可能更新错误的关联。

由 9930c1f7a 修复。

其他值得关注的修复

  • 复制、移动、删除、重命名、查找、查看器、编辑器、目录历史、压缩包操作以及启动/配置路径均支持非 ASCII 路径。
  • UTF-8 正则表达式的大小写折叠按 Unicode 码点处理,而不再通过 ANSI 字节表处理。
  • 数据库查看器的查找功能不再跳过包含当前 Windows 代码页之外字符的 UTF-8 单元格。
  • 外部压缩程序会拒绝无法表示的路径,而不是静默使用可能指向另一个文件的最佳匹配别名。
  • 分卷压缩包对话框、密码输入、外壳扩展 IPC、覆盖图标、配置持久化以及许多插件界面路径均保留准确的 Unicode 文本。
  • 编辑器/查看器掩码优先级的变化会在可见列表与已保存配置之间保持同步。

插件兼容性

  • 随附插件原生采用宽字符。
  • 现有的 v108 之前的二进制插件仍可通过隔离的兼容适配器加载。
  • 兼容性转换要么精确成功,要么拒绝;Sally 内部并未采用 ANSI 存储模型。
  • 需要较新宿主的插件会拒绝加载,而不是贸然调用不兼容的接口。

如果第三方插件在 1.0.27 中的行为有所不同,请在错误报告中注明插件名称和版本。

已知限制与风险领域

  • FTP 和压缩格式在协议要求时仍以字节为单位处理;文本在明确的边界进行编码和解码。
  • 仅支持 ANSI 的外部工具可能会拒绝无法表示的路径。Sally 现在会明确报错,而不再静默更改路径。
  • 为兼容升级,仍会导入旧版保存的设置,而新值则以当前的原生格式写入。
  • 现有的 v108 之前的第三方插件二进制文件仍通过冻结的兼容层获得支持。
  • 由于图像引擎源代码不可用,未包含 PictView。
  • WinSCP 集成尚未移植。

升级之前

1. 保留一份 Sally 1.0.26。2. 如果您的 Sally 配置很重要,请备份或导出。

报告回归问题

请在此提交问题:https://github.com/0xeb/sally/issues{HTML_1}

有用的信息:

  • Sally 版本和体系结构。
  • Windows 版本与系统区域设置/代码页。
  • 此问题是否也出现在 1.0.26 中。
  • 准确的复现步骤以及预期/实际结果。
  • 相关文件或路径的形式;必要时请隐去敏感信息。
  • 路径是否位于本地、UNC/网络、压缩包内、由插件提供,是否超过 260 个字符,或是否包含非 ASCII 字符/表情符号。
  • 如有,请提供截图和 Sally 的 Help > Report a Bug 输出。

Sally 1.0.26

· 下载和完整说明见 GitHub

修复

  • 快速重命名保留对非 ASCII 名称的覆盖处理。(#104)
  • Alt+F12 始终正确显示空的工作目录历史菜单。(#105)
  • Ctrl+X 以原子方式发布剪切操作的剪贴板格式。(#106)
  • F5 解压 ZIP 时会保留非 ASCII 目标路径。(#107)

Sally 1.0.25

· 下载和完整说明见 GitHub

深色主题

  • 深色对话框中的组合框曾显示为空白,而非所选值。现已修复主窗口和插件对话框中的此问题,包括 配置 → 外观中的主题选择器本身。(#98、#99)
  • 深色对话框的多行文本区域(FTP 日志)已恢复滚动条。(#98)
  • 切换到浅色主题后,插件对话框不再保持深色。(#98)
  • 面板滚动条的上移/下移箭头恢复显示。
  • 以深色主题启动时不再出现浅色闪烁。(#95)

文件操作

  • 修复数据丢失问题:复制或移动到现有压缩包时曾可能损坏该压缩包。如果名称包含非 ASCII 字符,还可能操作错误的压缩包。(#94)
  • .tar.gz 等分卷压缩包恢复正确识别。
  • Alt+drag 会创建快捷方式;在无法创建的位置,光标不再错误地提示可以创建。(#101)
  • 粘贴包含非 ASCII 字符的路径,现在会转到文件夹并选中文件。(#103)
  • 快速重命名完整显示非 ASCII 名称,不再显示 ...。(#103)

查看器(F3)

  • 大型 UTF-16 文件的打开和滚动速度显著提升,超大文件的内存用量也受到限制。

其他

  • 查找:“搜索文件内容”标签不再被截断。
  • 显示设备变化后,Sally 会恢复到可见的窗口大小。(#97)
  • 底部工具栏的按键图案现在根据字体绘制。(#96)
  • 网页查看器采用现代图标。(#100)

译者与打包者注意事项

文件属性中的应用程序版本现在显示为三段格式(1.0.25)。之前二进制资源与构建系统分别保存版本值,且已出现不一致;现在采用唯一来源。

每次版本变化都必须重新构建语言包。Sally 要求版本完全匹配,并会静默拒绝不匹配的语言包——它们只会从“选择语言”中消失,不会报错。

Sally 1.0.24

· 下载和完整说明见 GitHub

修复

覆盖图标现可显示(#90)

TortoiseSVN、TortoiseGit 及其他以 .ico 文件提供覆盖图标的程序曾在启动时被忽略,因此其覆盖图标从未出现在面板中。

Sally 曾在一次调用中向 Windows 请求两个图标,将两种尺寸打包到同一个参数中。这种形式实际请求的是两个连续的图标资源,而非同一个图标的两种尺寸。独立的 .ico 恰好只包含一个资源,因此第二种尺寸返回为空。只有所有尺寸都加载成功时才会使用覆盖图标,所以该处理程序被丢弃。

与资源管理器比较时请注意:注册约十五个覆盖图标处理程序后,Windows 就会停止加载。在安装多个云存储客户端的电脑上,同一文件夹中资源管理器可能不显示 Tortoise 覆盖图标,而 Sally 现在可以显示。这是 Windows 的限制,并非仓库状态不同。

非 ASCII 文件名的右键菜单(#79)

右键点击名称中含有系统 ANSI 代码页之外字符的文件时,曾完全不显示菜单,也不提供任何错误说明。

菜单项目现在根据完整的 Unicode 文件名构建;解析所在文件夹时不会缩窄路径;无法解析的名称会被跳过,而不再丢弃整个选择。如果所选项目均无法解析,现在会给出说明,而非毫无反应。

范围:此修复涵盖非 ASCII 文件名。如果文件所在文件夹的路径含有此类字符,则属于另一项已知限制,参见下方已知问题。

打开非 ASCII 路径文件夹中的文件

对于文件夹路径含有 ANSI 代码页之外字符的文件,按 Enter 曾没有任何反应;即使文件名完全是普通 ASCII 字符也一样,因为此前仅根据文件名选择执行分支。

诊断

帮助 → 报告缺陷

写入报告,说明配置及外壳集成状态,包括每个已注册覆盖图标处理程序的处理情况,以及最近右键菜单命令的结果。

原来的“帮助 → 任务列表 → 中断”方式需要同时运行两个实例,而且会终止进程。此方式两者都不需要。报告会写入 %LOCALAPPDATA%\Open Salamander\,完成后显示其位置。

遇到外壳集成问题时,此报告远比文字描述更有用:它会记录 Sally 向 Windows 传递了什么,以及返回了什么。

本地化

随附的十种语言现均已翻译完整。早期版本引入的以下字符串之前在所有语言中仍显示为英文:

  • 浅色 / 深色 / 系统主题名称
  • 查找结果的保存和加载命令
  • 粘贴快捷方式失败消息
  • Windows Terminal 和默认 shell 集成

其他

  • 开发版本恢复显示正确版本号。此前缓存的构建配置固定了版本号,导致二进制文件仍包含上一发行版的编号。

已知问题

对于所在文件夹路径含有系统 ANSI 代码页之外字符的文件,属性、复制完整名称、粘贴、压缩等操作仍不可靠。文件夹可正常浏览和显示,只有操作会失败。此问题正在单独跟踪并逐步修复。

只要所在路径可以表示,文件名含有 ANSI 代码页之外字符也可正常使用。

Sally 1.0.23

· 下载和完整说明见 GitHub

Sally v1.0.23

面向 Windows 的快速双面板文件管理器,以键盘操作为先。此版本新增 Windows Terminal 集成,修复了一批用户报告的深色模式和文件操作问题,并完善了许可证及署名。

Windows Terminal 集成(#86)
  • Sally 会发现 wt.exe 及其 Stable、Preview 和非打包版本的配置文件,并构建命令 → Windows Terminal 子菜单,可直接在活动面板的文件夹中启动 PowerShell、WSL 发行版或命令提示符。
  • 新增的命令 → 默认外壳…对话框可设置命令外壳 操作(Num /)打开的目标:%COMSPEC%、Terminal 默认配置或指定的配置文件。
深色模式(#81、#85)
  • 修复了深色主题下复制/移动对话框和配置页面中难以阅读的黑色文字。
  • 修复了命令行重绘,以及查找对话框中搜索路径文字重叠的问题。
  • 面板选择和焦点颜色现在在绘制时确定,而不再写回注册表。
文件操作与外壳集成
  • 粘贴快捷方式恢复正常(#87)。
  • 重命名:转换名称大小写并按 F2 后,现在会显示更新后的名称(#88)。
  • 将覆盖图标上限提高到 31,使更多 TortoiseGit/TortoiseSVN 和云存储覆盖图标可同时显示(#83)。
  • 升级时,Sally 会回收被资源管理器锁定的旧外壳扩展 DLL,使旧安装文件夹可以删除(#82)。
检查版本
  • 发布版本检查解析器迁移到随项目提供的 yyjson 库,并采用无界面的决策处理流程。
版权、许可与本地化
  • Restored the Open Salamander copyright alongside the fork's in every binary version resource, the About dialog, and the shipped help, and fixed a code-page bug that rendered the © sign as a replacement character in file properties.
  • 为仓库添加了 NOTICE,修正了各文件的署名;发布压缩包现在随附 LICENSE、NOTICE 和 AUTHORS。
  • 修复了翻译归档,使全部十种语言包恢复构建。
文档
  • 添加了带截图的 Linux/Wine 指南(doc/WINE.md)。
致谢

此版本的修复来自 @ags1234、@darilek、@thyresias、@ParoTheParrot 和 @tormento 的报告。请更新,如仍有异常行为,请告知我们。

Sally 1.0.22

· 下载和完整说明见 GitHub

Sally v1.0.22 着重加强 Unicode 和路径安全性,使查找结果处理更安全,提升 FTP 可靠性,并改善文件操作安全性。

亮点:

  • 修复了 FTP 磁盘工作状态初始化不安全所导致的查看/下载崩溃。
  • 添加了查找结果保存/加载支持,并对重新加载进行更安全的验证。
  • 已保存的查找预设会保留 Unicode“查找位置”路径。
  • 防止有损 ANSI 回退导致查找结果操作指向错误文件。
  • 改善了工作线程复制、删除、创建、转换和属性对话框中的 Unicode 错误报告。
  • 加强了递归删除脚本生成,避免因跳过子目录而删除其父目录。
  • 修复了 ZIP 自解压设置初始化错误。
  • 修复了 Salmon 崩溃报告程序的静态初始化崩溃。

查找功能改进:

  • 现在可以保存和加载查找结果。
  • 加载的查找 CSV/TXT 行在允许操作之前,会先验证并重新获取文件状态。
  • 从查找结果删除文件现在使用宽字符外壳路径列表,避免有损 ANSI 名称导致类似通配符的行为。
  • 仍依赖 ANSI 路径的操作现在会拒绝无法无损往返转换的 Unicode 结果行,避免操作错误文件。
  • 已保存的查找预设现在会持久保存 Unicode 查找位置根路径。

文件操作与 Unicode 加固:

  • 集中处理长路径前缀。
  • 将更多文件系统操作移到优先采用宽字符的接口之后。
  • 通过 IFileEnumerator 执行目录枚举。
  • 添加了 ADS 流枚举,并扩大工作线程 I/O 接口的覆盖范围。
  • 改进了快照构建器对目录移动、删除、更改属性和更改大小写流程的支持。
  • 添加了可选择启用的处理方式,涵盖非空目录/系统隐藏项删除提示、ADS 丢失提示、快速目录移动以及重解析点目录删除。

可靠性修复:

  • FTP 磁盘工作状态不再在初始化期间损坏 CPathBuffer 成员。
  • ZIP 自解压设置不再用 memset 清空拥有字符串存储的 std::string 对象。
  • Salmon 不再在句柄系统准备就绪之前,初始化带句柄跟踪的临界区。
  • 递归删除脚本现在会将跳过子树的决定一直保留到父目录处理。

Sally 1.0.21

· 下载和完整说明见 GitHub

此版本着重改进文件操作正确性、Unicode 显示问题以及发布构建规范。

已修复
  • 修复了简要视图中 Unicode 文件名可能被部分裁切或截断的绘制问题。(#76)
  • 修复了在同一驱动器上移动文件夹时错误提示“空间不足”的问题。(#74)
  • 修复了基于列表文件的外部压缩/解压命令处理,包括旧式 PKZIP/PKUNZIP 配置。(#47)
  • 添加了可选的预览版注册表隔离,使评估构建可使用特定版本的设置根项,而不影响稳定版 Sally 设置。(#11)
已改进
  • 改善了复制/移动以及无界面文件操作流程中的 Unicode 路径保留。
  • 改善了 FTP 插件的发布构建元数据,使发布包可以从源代码状态干净地构建。

Sally 1.0.20

· 下载和完整说明见 GitHub

Sally v1.0.20 着重提升 Unicode 路径可靠性、完善查看器,并加强辅助进程通信的安全性。同时将 v1.0.19 的复制/移动和静态 UnRAR 工作保留在公开主线发行版中。

亮点

  • 改善了文件面板、安全文件层、插件文件系统桥接、外壳扩展桥接以及内部查看器中的 Unicode 文件名处理。
  • 加强了 Sally、FileComp、PictView、PlugCore 和翻译辅助程序的外壳扩展及辅助进程 IPC 命名空间隔离。
  • 为文件创建/重新打开流程添加了精确的宽字符路径处理,减少非 ASCII 和长路径中的有损 ANSI 回退行为。
  • 修复了内部查看器的 Unicode 窗口处理以及解码后查看器行被裁切的问题。
  • 为复制/移动类工作流程添加了无界面文件操作和脚本执行基础设施。
  • 继续采用静态 UnRAR 打包:RAR 支持内置于 plugins/unrar/salunrar.dll,无需单独分发 unrar.dll。
  • 合并了上游翻译和工作流程清理。

GitHub 问题

感谢所有报告近期 Unicode 和查看器问题的用户。此版本解决了以下问题:

  • #64——查看器文件末尾和行裁切问题的后续修复。
  • #73——Unicode 文件名与外壳右键菜单桥接。
  • #75——文件面板中的 Unicode 文件名显示。

如果使用 v1.0.20 仍可复现这些问题,请重新打开问题或提交新报告,并附上准确的文件名/路径及步骤。

Sally 1.0.19

· 下载和完整说明见 GitHub

Sally v1.0.19 将新的支持 Unicode 的复制/移动流程纳入发布构建,并提供无需外部 UnRAR DLL 的 RAR 压缩包支持。

亮点

  • 为磁盘面板的复制、移动、拖放和创建副本操作添加了宽字符快照构建流程,包括筛选器、ADS 处理、重命名掩码以及长路径支持。
  • 在新流程中保留了旧版文件操作的安全保护,包括拒绝复制到相同路径,以及对加密源/目标的处理。
  • 将随项目提供的 UnRAR 引擎静态链接到 plugins/unrar/salunrar.dll,因此 RAR 支持不再依赖插件旁边单独的 unrar.dll。
  • 扩大了插件构建和打包覆盖范围,包括为支持的插件集填充发布分发目录。
  • 添加了 FTP 插件的 CMake 支持,作为更广泛插件构建工作的一部分。

Sally 1.0.18

· 下载和完整说明见 GitHub

Sally v1.0.18

亮点:

  • 当 CheckVer 插件可用时,添加了通过它检查 Sally 和插件新版本的帮助菜单快捷入口。
  • 在当前面板信息栏和命令提示符路径前缀中保留 Unicode 和长路径名称。
  • 改善了建立文件列表的输出和剪贴板导出中的 Unicode 处理,包括必要时输出 UTF-8。
  • 更新 README 和截图,展示 Sally 当前的深色模式、Unicode 和长路径优势。

发布修复:

  • 恢复为新的更新检查菜单字符串生成本地化 Sally 核心语言包,使发布 ZIP 包含完整的翻译语言集。

Sally 1.0.17

· 下载和完整说明见 GitHub

Sally v1.0.17

错误修复:

  • 修复了面板路径/父目录处理中鼠标导航的回归问题。
  • 恢复可取消的路径检查,修复无法访问已保存网络或 UNC 路径时启动挂起的问题。
  • 修复了拖放到父文件夹或同名文件夹时错误提示“不能将文件移动到自身”的问题。
  • 拖动操作期间保留 Unicode 面板路径文本。
  • 修复了查找对话框从活动面板设置当前文件夹的问题。
  • 恢复 Unicode 查找状态更新,并在状态栏缩略路径之前保留长路径。
  • 修复了查找状态进度的可见性,以及“关于”对话框的深色模式绘制。
  • 加宽查找的类型筛选下拉框,使“所有文件和文件夹”完整可读。
  • 恢复发布 ZIP 中的非英语语言包。
  • 修复了并存的插件依赖项必须从插件 DLL 目录解析时的插件加载问题。

完整更新日志:https://github.com/0xeb/sally/compare/v1.0.16...v1.0.17{HTML_1}

Sally 1.0.15

· 下载和完整说明见 GitHub

Sally v1.0.15

错误修复版本。解决了三个问题。

已修复
  • #61 查找对话框:类型筛选(全部 / 文件 / 文件夹)现在会在重新打开对话框及重启 Sally 后保留。存储于注册表值 Find Files Type Filter。
  • #63 非 ASCII 安装路径:当安装目录包含当前 ANSI 代码页之外的字符(如西里尔字母、希腊字母等)时,Sally 现在可以正常启动。三个启动流程已改用宽字符:语言文件加载、config.reg 加载,以及 salmon.exe(崩溃报告程序)启动。
  • #64 查看器文件末尾:无论换行相对可见窗口高度的位置如何,现在均可通过 Ctrl+End 到达文本文件的最后一行。
提交
  • 0xeb/sally@b9454c22——问题集中修复(语言加载修复 + 查看器文件末尾修复)
  • 0xeb/sally@69de5a45——查找对话框类型筛选持久保存
  • 0xeb/sally@734baf7f——宽字符 config.reg + salmon.exe 启动

Sally 1.0.12

· 下载和完整说明见 GitHub

Sally v1.0.12 是深色模式预览版之后,着重完善体验和基础设施的版本。

亮点

  • 完善了配置对话框中的深色模式,继续在 Open Salamander 基础上推进 Sally 界面现代化。
  • 更新 README,清楚说明 Sally 在 Open Salamander 基础上新增的功能:深色模式、Unicode 和长路径操作、ARM64 构建、WebView2 Markdown 查看、现代 CMake/发布工具、语言包以及旧版插件授权确认。

Sally 1.0.11

· 下载和完整说明见 GitHub

Sally v1.0.11

亮点:

  • Sally 核心界面及随附的第一方插件现已支持早期预览版深色模式。
  • 如需试用,请打开 Options > Configuration... > Appearance > Theme > Mode,然后选择 Dark。
  • 选择 System 可跟随 Windows 应用主题,选择 Light 可保留经典默认外观。
  • Windows 高对比度设置始终优先,并会禁用自定义深色绘制。
  • 这是早期的视觉改进;已涵盖大部分常见界面,但某些旧版或自定义插件界面可能仍需完善。

另包括:

  • 更新 README 功能摘要,涵盖近期 Unicode、查看器、ARM64、本地化和发布打包工作。
  • 发布构建现在首先创建为草稿,以便发布之前审阅说明。

Sally 1.0.10

· 下载和完整说明见 GitHub

Sally v1.0.10

亮点:

  • 修复了查看器对带 BOM 的 Unicode 文本文件的支持。
  • 带 UTF-8 BOM、UTF-16LE BOM 和 UTF-16BE BOM 的文件现在会在自动/文本模式下作为解码文本打开,不显示 BOM。
  • 十六进制模式仍会显示原始 BOM 字节。
  • 选择、复制/拖动文本以及字面量查找均保留原始字节偏移,同时返回解码后的 Unicode 文本。
  • 修复了 Unicode 文件名的磁盘拖动处理。
  • 同步上游翻译和注释更新。

Sally 1.0.8

· 下载和完整说明见 GitHub

新增功能

所有平台的语言支持

Sally 现在在 x64、x86 和 ARM64 全部三个平台上随附十种语言。此前仅 x64 构建包含翻译语言包。

支持的语言:简体中文、捷克语、荷兰语、法语、德语、匈牙利语、罗马尼亚语、俄语、斯洛伐克语和西班牙语。

翻译工具
  • 用于构建和维护语言包的新本地化流程
  • 此版本包含供社区译者使用的翻译工作区包

Sally 1.0.7

· 下载和完整说明见 GitHub

新增功能

错误修复
  • 修复快速重命名中的 Unicode 重命名文本损坏(#40、#46)
  • ANSI 子类窗口过程曾将 Unicode 组合框编辑切换为 ANSI 模式
  • 在无效文件名字符验证中添加了 ? 和 *
  • 修复 Unicode 副本名称冲突处理
  • 稳定 Unicode 重命名历史和复制/粘贴路径
  • 修正 Unicode 名称/扩展名绘制和无变化重命名处理
  • 输入时保持 Unicode 重命名编辑框可编辑
  • 恢复原生 Unicode 组合框编辑行为
  • 将组合框同步重构为直接方法调用
其他
  • 合并上游翻译(shexreg、sort、svg、shiconov、stswnd、snooper、shellsup)
  • 在 Debug 构建中启用 TRACE_TO_FILE 进行诊断

变更内容

Sally 1.0.6

· 下载和完整说明见 GitHub

Sally v1.0.6

此补丁版本修复了 F3 WebViewer 的 Markdown 预览主题。

亮点
  • 修复 Markdown 预览,使其遵循 Sally 配置的主题,而不是继承 Windows 或 WebView2 深色模式。
  • 当 Sally 在采用深色模式的系统上设置为浅色主题时,恢复可读的 F3 预览显示。
  • 将修复范围限定为 Markdown 绘制,普通 WebViewer 对 HTML、XML、SVG 和图像文件的处理保持不变。
其他工作
  • 为 1.0.6 发行版提高内部构建编号。

Sally 1.0.5

· 下载和完整说明见 GitHub

Sally v1.0.5

此版本着重提升更新程序可靠性、修复一项编辑器问题,并稍作品牌视觉更新。

亮点
  • 修复 Check for New Versions,使其通过 HTTPS 使用 GitHub Releases,并正确检测最新的 Sally 发行版。
  • 将 Sally 和插件主页链接统一为明确的 https:// URL。
  • 提高 CheckVer 资源版本,以拒绝过时语言文件,避免旧版更新资源与新代码混用。
  • 恢复创建后启动 Shift+F4 编辑器。
  • 更新 Sally SVG 品牌资源。
其他工作
  • 还包含注册表字符串处理和密码缓冲区生命周期管理方面的小型内部清理。
  • 记录仅含上游翻译的历史同步,未将上游树变更引入 Sally 代码库。

Sally 1.0.3

· 下载和完整说明见 GitHub

Sally v1.0.3

此版本包含 Unicode 文件操作问题的部分修复,相关问题在 #38 中跟踪。

亮点
  • 改善 Unicode 副本名称生成和冲突处理。
  • 添加更安全的 ANSI 回退检测,避免有损重命名/创建行为。
  • 快速重命名重试现在会在重试之间保留最新的 Unicode 文本。
  • 查看器 Ctrl+F 的“未找到”提示现在正确地以查看器窗口为父窗口。
尚存的已知问题
所含工作

Sally 1.0.2

· 下载和完整说明见 GitHub

变更内容

---

打包更新(v1.0.2 已重新生成)
  • 通过在部署 ZIP 中排除调试符号,减小了运行包体积。
  • 示例(x64):Sally-v1.0.2-x64.zip 从约 47.37 MiB 减至约 5.79 MiB(体积约减小 87.78%)。
  • 调试符号现在作为可选下载单独提供:Sally-v1.0.2-pdb.zip。
  • 运行 ZIP 仍包含部署内容(应用程序二进制文件、插件、语言包和实用工具)。