github 1lck/viff v0.4.4
Viff v0.4.4

one hour ago

中文

Viff 0.4.4 让 diff 更聚焦:未更改的大段代码默认折叠成一行,并排视图的两栏可以拖动调整宽度。

下载

重点更新

这一版改进了代码对比的阅读方式:只看改动,不再被大段相同的代码占满屏幕,并排视图也能按需分配左右宽度。

✨ 新功能

  • 并排与统一视图默认折叠未更改的片段,每个改动保留三行上下文;折叠行显示隐藏的行数,点击该行或聚焦后按 Enter / Space 即可展开。
  • diff 工具栏新增「折叠未更改的片段」开关,关闭后显示完整文件,重新开启时回到全折叠。
  • 并排视图的分隔条可拖动调整左右宽度,聚焦分隔条后也可用左右方向键调整,双击恢复默认比例;比例保留在当前页签。

⚡ 改进

  • 搜索命中位于折叠片段时自动展开并滚动到该行,改动标记、同步滚动与文本选择仍与折叠后的可见行对齐。

升级说明

  • 从 v0.4.3 升级:设置文件格式未变,旧配置继续可用;新增的折叠开关在旧配置下默认开启,可在 diff 工具栏关闭。
  • macOS:按机型选择 Apple Silicon 或 Intel 的 DMG,退出旧版后打开 DMG,将 Viff.app 拖入“应用程序”并替换旧版。
  • Windows:退出旧版后运行 x64 安装器。
  • Windows 便携包:解压后进入新目录执行 viff.exe,不写入安装信息。
  • Debian/Ubuntu:执行 sudo apt install ./viff-v0.4.4-linux-amd64.deb。
  • Linux 便携包:解压后进入新目录执行 ./viff,并自行安装所需系统库。
  • Git 需单独安装并加入 PATH,Linux 系统库要求见发布指南。

兼容性与已知问题

  • macOS 要求 13 或更高版本;Linux 需要可用的图形会话、渲染后端和发布指南中列出的系统库。
  • macOS 应用使用 ad-hoc 签名,未经 Developer ID 签名或公证;Windows 安装器未经 Authenticode 签名,系统可能显示安全提示。
  • 远程仓库是只读观察模式:只支持 key/agent 认证,服务器需为 Linux/macOS 并安装 Git;fetch/pull/push、暂存与提交、应用内编辑、冲突接受、终端与外部打开都不可用,文件变化依赖每 5 秒轮询 git status。
  • 应用内编辑只支持工作树中的 UTF-8 文本文件,原始文件和保存后的内容都不超过 1 MiB;历史版本、diff 与冲突仍只读,也不提供补全、多光标或自动保存。
  • Windows 和 Linux 上外部工作区文件变化可能需要最多约 30 秒才会刷新;WSL 仓库使用独立的轮询间隔。
  • Subversion 属性编辑和锁操作尚未实现;WSL 仓库的内置终端与内容搜索仍在 Windows 侧运行。

仅安装来自项目发布页且已核对校验值的文件;如遇系统拦截,请先确认来源。

查看完整变更


English

Viff 0.4.4 makes diffs easier to read: long unchanged stretches fold into a single row by default, and the side-by-side panes can be resized.

Downloads

Highlights

This release improves how diffs are read: you see the changes without whole screens of unchanged code, and the side-by-side pane widths are yours to set.

✨ New features

  • Side-by-side and unified views fold unchanged stretches by default, keeping three context lines around each change; a fold row shows how many lines it hides and expands on click or with Enter / Space when focused.
  • The diff toolbar has a "Collapse Unchanged Fragments" toggle that shows the whole file when off and returns to fully folded when on.
  • The side-by-side divider can be dragged to resize the panes, nudged with the left and right arrow keys when focused, and double-clicked to restore the default ratio; the ratio belongs to the tab.

⚡ Improvements

  • Searching inside a folded stretch expands it and scrolls to the hit; change marks, synchronized scrolling, and text selection stay aligned with the folded rows.

Upgrade instructions

  • Upgrading from v0.4.3: the settings file format is unchanged, so existing settings keep working; the new fold toggle defaults to on for old settings and can be turned off in the diff toolbar.
  • macOS: choose the Apple Silicon or Intel DMG, quit the old version, open the DMG, and replace Viff.app in Applications.
  • Windows: quit the old version and run the x64 installer.
  • Windows portable: extract the archive, enter its directory, and run viff.exe without installing.
  • Debian/Ubuntu: run sudo apt install ./viff-v0.4.4-linux-amd64.deb.
  • Linux portable: extract the archive, enter its directory, and run ./viff after installing the required system libraries.
  • Install Git separately on PATH, and check the release guide for Linux dependencies.

Compatibility and known issues

  • macOS requires version 13 or later; Linux needs a working graphical session, rendering backend, and the system libraries listed in the release guide.
  • The macOS app is ad-hoc signed without Developer ID signing or notarization; the Windows installer is not Authenticode signed, so the system may show a security prompt.
  • Remote repositories are read-only observation: key/agent authentication only, and the server must run Linux/macOS with Git installed; fetch/pull/push, staging and committing, in-app editing, conflict acceptance, the terminal, and external opening are unavailable, and file changes rely on polling git status every 5 seconds.
  • In-app editing supports only UTF-8 text files in the working tree, up to 1 MiB for both the original file and the saved text; historical revisions, diffs, and conflicts stay read-only, and there is no completion, multi-cursor editing, or autosave.
  • On Windows and Linux, external working-tree file changes may take up to about 30 seconds to refresh; WSL repositories use a separate polling interval.
  • Subversion property editing and locking are not implemented; the integrated terminal and content search for WSL repositories still run on Windows.

Install only files from the project release page after checking their checksums; verify the source if the operating system blocks them.

Full changelog

🙌 感谢贡献者

感谢 @1lck、@liansishen 与 @erik-chen-me 为本次发布作出的贡献。

🙌 Contributors

Thanks to @1lck, @liansishen, and @erik-chen-me for contributing to this release.

Don't miss a new viff release

NewReleases is sending notifications on new releases.