Skip to content

chore(release): prepare v1.0.0 stable release - #1

Merged
JayhaShf merged 4 commits into
mainfrom
release-v1.0.0
Aug 13, 2026
Merged

JayhaShf merged 4 commits into
mainfrom
release-v1.0.0

Conversation

@JayhaShf

Copy link
Copy Markdown
Owner

v1.0.0 发布前测试 PR

先在分支验证,测试通过后再合并到 main 并打 v1.0.0 tag 发布正式版。

包含内容(4 个本地提交,远端 main 此前停在 v0.1.0-beta.4)

  1. 00c6f22 系统托盘 + 后台运行、单实例锁、信号优雅退出
  2. 2e99821 Arch PKGBUILD 打包配置
  3. eedf9f6 托盘/单实例/信号审计报告(AUDIT_REPORT.md)
  4. 8be499c v1.0.0 发布准备:
    • 测试 368 → 400 项(解包穿越回归、shell_quote 对抗、ssh_config 边界、高亮规则、i18n 键对齐)
    • 安全修复:ssh_config tab/端口 0、日志目录 0700、en.yml 缺 confirm 键
    • CI 修复:.cargo/audit.toml 豁免 10 条 GTK3 链告警(--deny warnings 复绿)
    • scripts/verify.sh + scripts/smoke-linux.sh
    • docs/TEST_PLAN.md、docs/RELEASE_READINESS.md
    • 版本 1.0.0(Cargo.toml/PKGBUILD/README)+ v1.0.0.zh-CN 发布说明

验证

  • 本地门禁:fmt / 400 测试 / check / clippy -D warnings / audit --deny warnings / release 构建 / git diff --check
  • Linux 冒烟 9/9:启动、双实例、SIGTERM/SIGINT 优雅退出、配置落盘、无残留进程
  • 本 PR CI 质量门禁(自动)
  • release.yml 手动 workflow_dispatch(选 release-v1.0.0 分支)→ 四平台构建 + 打包产物测试(不发布 release)

合并后

  • 合并到 main → 打 tag v1.0.0 → release.yml 自动发布正式版(latest)

…ceful shutdown

- Add a system tray icon (tray-icon) with show/hide and quit menu; left
  click restores the window. On Linux the icon lives on a dedicated GTK
  thread that pumps the GLib main context so D-Bus driven StatusNotifier
  registration and menu events are processed (gtk::events_pending ignores
  D-Bus sources).
- Closing the main window hides it to the tray and keeps every SSH/SFTP
  session alive. Hiding uses the new PlatformWindow::set_visible (Zed rev
  4644b23), which fully removes the window on every backend, including
  Wayland (xdg role objects are destroyed and recreated; the old code path
  only minimized, which niri ignores).
- New config option system_tray (default on) in the settings dialog;
  enabling/disabling creates or tears down the tray at runtime.
- Single instance lock via an interprocess local socket (named pipe /
  abstract namespace / tmp), user-scoped on Unix; later launches ask the
  running instance to restore its window and exit.
- SIGINT/SIGTERM now shut down gracefully: restore the window, bypass
  close-to-tray, run the regular quit flow (unsaved-document prompt, layout
  save) and re-arm default signal disposition for a second forced kill.
- Deps: tray-icon 0.24, interprocess 2.4, signal-hook 0.4; gtk 0.18 on
  Linux; bump Zed/gpui-component pins to the set_visible revision.
Adds libayatana-appindicator as a runtime dependency for the tray icon
and bumps pkgrel for the close-to-background release.
- test: add 32 regression tests (400 total): archive extraction traversal
  (tar/tar.gz/zip), shell_quote adversarial inputs, ssh_config edge cases,
  log highlighting rules, en/zh-CN locale key parity
- fix(security): harden ssh_config parsing (tab separators, port 0 fallback),
  tighten log directory permissions to 0700 on Unix
- fix(i18n): add missing English 'confirm' key
- chore(ci): add .cargo/audit.toml exemptions for the 10 GTK3-tray-chain
  'unmaintained' warnings so --deny warnings passes
- scripts: add verify.sh (local quality gate) and smoke-linux.sh
  (tray/single-instance/signal smoke)
- docs: add docs/TEST_PLAN.md (six-category test plan) and
  docs/RELEASE_READINESS.md (release readiness checklist)
- bump version to 1.0.0 (Cargo.toml, PKGBUILD pkgver=1.0.0 pkgrel=1,
  READMEs) with v1.0.0.zh-CN release notes
- remove stale untracked scripts/finalize-fork-hide.sh
@JayhaShf
JayhaShf merged commit 71e5c3f into main Aug 13, 2026
11 checks passed
@JayhaShf
JayhaShf deleted the release-v1.0.0 branch August 13, 2026 12:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant