Skip to content

v1.8.0

Choose a tag to compare

@jerrydong1988 jerrydong1988 released this 22 May 14:54

v1.8.0 — 稳定性与打包改进

🐛 Bug 修复

  • stop_server 修复:三层杀进程机制(taskkill/F + 端口兜底),验证成功后才清状态,彻底解决"UI 显示已停但进程仍在"的问题
  • start_server 竞态修复:Popen 移到主线程,消除 running_pid 保存时的竞态条件
  • 控制台窗口隐藏:所有 subprocess 调用加 STARTF_USESHOWWINDOW,停止时不再弹黑框

📦 构建变更

  • 从 --onefile 改为 --onedir:PyInstaller 不解压到临时目录,彻底消灭 temp 目录清理失败警告
  • 配置文件移入 configs/ 子目录:exe 目录更整洁,旧配置首次启动自动迁移

🔧 其他

  • 新增 _get_app_dir() / _get_configs_path() 辅助方法,路径管理统一
  • 日志目录 logs/ 独立于配置目录

v1.8.0 — Stability & Build Improvements

🐛 Bug Fixes

  • stop_server fix: three-layer process kill (taskkill /F + port-based fallback), state cleared only after successful termination — eliminates the "UI says stopped but process is still alive" ghost issue
  • start_server race condition fix: Popen moved to main thread, eliminating race between running_pid assignment and _auto_save_instances
  • Hidden console windows: all subprocess.run calls now use STARTF_USESHOWWINDOW — no more command window flashing on stop

📦 Build Changes

  • --onefile → --onedir: PyInstaller no longer extracts to temp directory, completely eliminating the "Failed to remove temporary directory" warning
  • Config files moved to configs/ subdirectory: cleaner exe folder, with automatic migration from the old location on first run

🔧 Other

  • Added _get_app_dir() / _get_configs_path() helper methods for unified path management
  • Log directory logs/ is now independent of config directory