Releases: Gu-ZT/GugleFS
Release list
0.16.6+build.55
What's Changed
- Fewer SFTP round trips per copied file. Creating a remote file now keeps the write handle it opened for the writes that follow instead of closing and reopening the file, so each copied file pays one remote open instead of two; the cached handle is closed first when the path is removed, renamed, or truncated.
更新内容
- 减少 SFTP 上每个复制文件的远程往返。创建远程文件后保留其写句柄供后续写入复用,不再关闭后重新打开,每个复制文件的远程打开次数从两次降为一次;路径被删除、重命名或截断前会先关闭缓存的写句柄。
Full Changelog / 完整变更: 0.16.4+build.54...0.16.6+build.55
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.16.6_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.16.6_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.16.6_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.16.6_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |
0.16.4+build.54
What's Changed
-
Fixed silent data loss when overwriting a remote file through a cached copy. After an overwrite resets the visible length to zero, the Cache Manager flushes dirty pages out of order, and a constrained paged write was clamped against the acknowledged length instead of the allocation bound the operating system declared. The leading pages were dropped as successful short writes the Cache Manager never retries, leaving the start of the file zero-filled while its length stayed correct. Constrained paged writes are now bounded by the allocation bound, and a write genuinely past it fails with an error instead of truncating the copy.
-
Faster SFTP writes. A copy no longer opens, seeks, closes, and re-stat the remote file for every chunk; the write handle is reused across the chunks of one copy and the remote length is confirmed once when the handle is flushed or released, instead of after every chunk.
-
Added an in-app diagnostic log viewer. The sidebar's View log action lists the most recent events newest first, filters them by level, and shows how many need attention. A query returns at most 500 records, and the viewer reads the same sanitized records as the exported report, so it carries no mapping identity, remote path, or credential material.
更新内容
-
修复通过缓存复制覆盖远端文件时静默丢失数据的问题。覆盖把可见长度清零后,Cache Manager 会乱序回写脏页;此前受限分页写入以已确认长度为界,而不是以操作系统声明的分配上界为界,导致靠前的页被当作"成功的短写"丢弃且系统不会重试——文件开头被零填充、长度却保持正确。现在受限分页写入以分配上界为界,真正越界的写入会返回错误,而不是静默截断复制结果。
-
提升 SFTP 写入速度。一次复制不再对每个分片都打开、定位、关闭并重新查询远端文件;写句柄在一次复制的多个分片间复用,远端长度改为在句柄刷新或释放时统一确认一次,而不是每个分片确认一次。
-
增加应用内诊断日志查看界面。侧边栏「查看日志」按时间倒序列出最近事件,支持按级别筛选,并显示其中需要关注的条数。单次查询最多返回 500 条,读取的是与导出报告相同的脱敏记录,不含映射标识、远程路径和凭据信息。
Full Changelog / 完整变更: 0.16.3+build.53...0.16.4+build.54
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.16.4_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.16.4_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.16.4_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.16.4_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |
0.16.3+build.53
What's Changed
-
Fixed silent data loss when overwriting a remote file. Each WinFsp file handle now tracks the visible length and allocation size it has reported and bounds constrained paged writes by that length instead of cached remote metadata, so a server whose reported length lags behind an acknowledged write no longer causes the tail of a copy to be dropped without an error. Allocation-size requests record the requested reservation instead of reporting the previous length.
-
A short remote write, and a short read before the tracked end of file, now report an error instead of a silently truncated range. A remote that returns fewer bytes than requested no longer counts as the end of the file; the requested range is refilled while the remote keeps making progress.
-
SFTP writes no longer read every acknowledged range back by default. A write now confirms the resulting remote length after its write handle is closed, which removes the second open and the duplicate transfer that made overwriting a remote file slow. The byte-for-byte read-back is available per mapping as
Verify written content strictly.
更新内容
-
修复覆盖远端文件时静默丢失数据的问题。每个 WinFsp 文件句柄现在跟踪自己已上报的可见长度和分配大小,受限分页写入以该长度为界,不再依赖可能滞后的远端元数据缓存;服务器上报长度落后于已确认写入时,复制不会再丢弃文件尾部且不报告任何错误。分配大小请求改为记录请求的预留量,而不是返回旧长度。
-
远端写入不足,以及在跟踪的文件末尾之前读取不足,现在都会返回错误,而不是静默截断该范围。远端返回的字节数少于请求量不再等同于文件结束:只要远端仍有进展,请求范围会继续补齐。
-
SFTP 写入默认不再回读校验每个已确认范围。现在写入会在关闭写句柄后确认最终远端长度,去掉了导致覆盖远端文件缓慢的第二次打开和重复传输。逐字节回读比对改为按映射提供的「严格校验写入内容」选项。
Full Changelog / 完整变更: 0.16.2+build.52...0.16.3+build.53
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.16.3_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.16.3_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.16.3_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.16.3_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |
0.16.2+build.52
What's Changed
-
Fixed WinFsp opens for files outside the first directory page by falling back to remote metadata while a paged enumeration is incomplete; editors no longer receive
EIOfor existing files in large directories. -
Fixed overwriting existing files on SFTP servers that reject path-based
SETSTATtruncation by using the standard write-and-truncate open operation and verifying the resulting length.
更新内容
-
修复 WinFsp 分页目录中首批结果之外的文件无法打开的问题;目录尚未枚举完整时会回退远端元数据查询,编辑器保存大目录文件不再收到
EIO。 -
修复部分拒绝路径级
SETSTAT截断请求的 SFTP 服务器无法覆盖同名文件的问题;清空已有文件时改用标准写入加截断打开操作,并继续校验最终长度。
Full Changelog / 完整变更: 0.16.2+build.50...0.16.2+build.52
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.16.2_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.16.2_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.16.2_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.16.2_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |
0.16.2+build.50
What's Changed
- Fixed WinFsp opens for files outside the first directory page by falling back to remote metadata while a paged enumeration is incomplete; editors no longer receive
EIOfor existing files in large directories.
更新内容
- 修复 WinFsp 分页目录中首批结果之外的文件无法打开的问题;目录尚未枚举完整时会回退远端元数据查询,编辑器保存大目录文件不再收到
EIO。
Full Changelog / 完整变更: 0.16.1+build.49...0.16.2+build.50
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.16.2_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.16.2_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.16.2_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.16.2_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |
0.16.1+build.49
What's Changed
- Added a workspace security switch for startup and lock TOTP verification. Disabling it requires the current code; disabled mode provides direct unlock at startup and after locking.
更新内容
- 增加启动和锁定 TOTP 验证的工作区安全开关;关闭前必须验证当前验证码,关闭后启动和锁屏支持直接解锁。
Full Changelog / 完整变更: 0.16.0+build.48...0.16.1+build.49
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.16.1_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.16.1_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.16.1_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.16.1_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |
0.16.0+build.48
What's Changed
- Large SFTP directories now use cursor-based linear pagination. WinFsp and FUSE return the first available page without waiting for the complete directory, reuse stable per-handle snapshots, and clean up interrupted cursors; mount-time root prefetch no longer competes with foreground browsing. Longer bounded metadata caches reduce repeated property and thumbnail requests.
- Explorer metadata probes use the active directory name view instead of issuing serial SFTP metadata requests. Repeated enumeration restarts on one WinFsp handle reuse the existing snapshot and remote cursor while the directory is unchanged, and successful local create, remove, or rename operations refresh that snapshot. Directory paging no longer holds the main SFTP connection lock while waiting for the dedicated
READDIRchannel, so foreground metadata and file operations can continue concurrently. - WinFsp volume information now returns a cached or compatibility capacity immediately and refreshes SFTP
statvfsor WebDAV quota data asynchronously; Unix mounts retain cached remote capacity reporting.
更新内容
- SFTP 大目录改用基于游标的线性分页;WinFsp 与 FUSE 无需等待完整目录即可返回首批结果,在目录句柄内复用稳定快照并清理中断游标,同时取消会与前台浏览竞争连接的挂载时根目录预取,并通过更长的有界元数据缓存减少重复属性和缩略图请求。
- Explorer 元数据探测改用正在枚举的目录名称视图,不再发出串行 SFTP 元数据请求;目录未变化时,同一 WinFsp 句柄重复从头枚举会复用已有快照和远端游标,本进程成功创建、删除或改名后则会刷新快照。目录分页等待专用
READDIRchannel 时不再持有主 SFTP 连接锁,前台元数据和文件操作可以并发继续。 - WinFsp 卷信息现在会立即返回缓存或兼容容量,并在后台异步刷新 SFTP
statvfs或 WebDAV 配额数据;Unix 挂载仍保留远端容量缓存和报告。
Full Changelog / 完整变更: 0.15.1+build.47...0.16.0+build.48
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.16.0_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.16.0_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.16.0_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.16.0_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |
0.15.1+build.47
What's Changed
- FTP/FTPS temporary uploads now use non-hidden names for compatibility with servers such as Pure-FTPd that reject leading-dot file names.
更新内容
- FTP/FTPS 临时上传文件改用非隐藏名称,兼容禁止点号开头文件名的 Pure-FTPd 等服务器。
Full Changelog / 完整变更: 0.14.0+build.45...0.15.1+build.47
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.15.1_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.15.1_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.15.1_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.15.1_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |
0.14.0+build.45
What's Changed
- Prefetched the root directory asynchronously after mounting, coalesced concurrent reads of the same directory, and reused stable sorted snapshots across WinFsp pages; FTP now validates mapping roots with
CWDinstead of a full listing for root metadata.
更新内容
- 挂载后异步预取根目录,合并同一路径的并发目录读取,并让 WinFsp 分页复用稳定的已排序快照;FTP 使用
CWD校验映射根目录,避免为根元数据执行完整列表。
Full Changelog / 完整变更: 0.13.0+build.44...0.14.0+build.45
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.14.0_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.14.0_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.14.0_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.14.0_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |
0.13.0+build.44
What's Changed
- Cached filesystem-space probes briefly and kept WebDAV quota
PROPFINDrequests separate from ordinary metadata requests to avoid slowing directory browsing.
更新内容
- 短暂缓存文件系统空间查询,并将 WebDAV 配额
PROPFIND与普通元数据请求分离,避免拖慢目录浏览。
Full Changelog / 完整变更: 0.12.0+build.43...0.13.0+build.44
Downloads / 下载
| Platform / 平台 | Architecture / 架构 | Format / 格式 | File / 文件 |
|---|---|---|---|
| Windows | x86_64 | NSIS installer | GugleFS_0.13.0_x64-setup.exe |
| Linux | x86_64 | DEB package | GugleFS_0.13.0_amd64.deb |
| Linux | x86_64 | AppImage | GugleFS_0.13.0_amd64.AppImage |
| macOS | Apple Silicon (arm64) | DMG | GugleFS_0.13.0_aarch64.dmg |
| macOS | Apple Silicon (arm64) | App archive | GugleFS_aarch64.app.tar.gz |