mirror of
https://github.com/LHY0125/PathEditor.git
synced 2026-06-29 01:45:54 +08:00
chore: 整理仓库 — 版本号统一、README 徽章更新、新增 CHANGELOG 和 CONTRIBUTING
- 版本号 4.0.0 → 4.2.0(tauri.conf.json, Cargo.toml, 窗口标题) - README 徽章更新(tests 55→72, version 4.0.0→4.2.0) - CHANGELOG.md 补充 v4.1 和 v4.2 变更记录 - 新增 CONTRIBUTING.md 贡献指南 - GitHub Release: v4.2.0 补充说明,旧 C 版本标记为 pre-release Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
+51
-12
@@ -1,38 +1,77 @@
|
||||
# Changelog
|
||||
|
||||
## v4.0.0 (2026-05-26)
|
||||
## [4.2.0] — 2026-05-28
|
||||
|
||||
### 新增
|
||||
- 路径启用/禁用功能:复选框控制 PATH 中每条路径是否生效
|
||||
- PathEntry 数据类型:替代原有 `string[]`,支持 `enabled` 状态
|
||||
- `disabled.json` 持久化禁用状态的独立存储
|
||||
- E2E 测试框架:Playwright + 4 条核心流程测试
|
||||
- CI/CD 流水线:TypeScript + Rust 自动检查,Release 自动构建
|
||||
|
||||
### 修复
|
||||
- undo/redo after toggle 未持久化 disabled 状态
|
||||
- expand_env_vars 两次 API 调用间缓冲区截断风险
|
||||
- E2E mock load_disabled_state 返回格式与 Rust 后端不匹配
|
||||
- 双 hive 保存失败时错误信息只显示一个
|
||||
- 导入 both 产生两条 undo 记录,需两次 Ctrl+Z
|
||||
- 备份失败警告被"保存成功"覆盖
|
||||
- 非连续多行删除后 undo 恢复到错误位置
|
||||
- backup_registry 未 await 导致竞态保存新值
|
||||
|
||||
### 变更
|
||||
- 导入改用原生文件对话框(`@tauri-apps/plugin-dialog`)
|
||||
- PathTable 环境变量展开限流 20 并发
|
||||
- CI 切换到 MSVC 工具链
|
||||
- 版本号统一为 4.2.0
|
||||
|
||||
---
|
||||
|
||||
## [4.1.0] — 2026-05-26
|
||||
|
||||
### 新增
|
||||
- app-store 单元测试:25 个测试覆盖 CRUD/undo-redo/loadPaths/savePaths
|
||||
- 72 个前端单元测试 + 10 个 Rust 单元测试
|
||||
|
||||
### 修复
|
||||
- NSIS 安装包缺少 WebView2Loader.dll
|
||||
- AppShell overflow-hidden 导致窗口无法上下滚动
|
||||
|
||||
### 变更
|
||||
- 清理 LOW 问题:样式去重、死代码删除、命名修正
|
||||
- 抽取 Modal 共享组件、统一按钮样式
|
||||
- 支持 JSON/CSV/TXT 三种导入导出格式
|
||||
|
||||
---
|
||||
|
||||
## [4.0.0] — 2026-05-25
|
||||
|
||||
### 重大变更
|
||||
|
||||
完全重写为 Tauri 2.x + React 19 + TypeScript + Rust 技术栈,替代原有的 C + IUP GUI。
|
||||
|
||||
### 新增
|
||||
|
||||
- 现代 Web UI(React + Tailwind CSS 4 + Zustand)
|
||||
- 现代 Web UI(React 19 + Tailwind CSS 4 + Zustand)
|
||||
- 深色/浅色模式切换
|
||||
- 中英文界面即时切换
|
||||
- 路径有效性颜色编码(红色无效、橙色重复)
|
||||
- 环境变量展开悬停提示
|
||||
- 文件夹拖拽添加路径
|
||||
- 保存前 PATH 长度检查
|
||||
- 66 个前端单元测试 + 10 个 Rust 单元测试
|
||||
|
||||
### 改进
|
||||
|
||||
- 安装包体积从 ~3MB 降至 ~8MB(含 WebView2 运行时)
|
||||
- 完整撤销/重做支持(8 种操作类型,50 步历史)
|
||||
- JSON/CSV/TXT 三种格式导入导出
|
||||
- 合并预览查看系统+用户路径
|
||||
- 类型安全:TypeScript strict 模式 + Rust 编译期检查
|
||||
- NSIS 安装包,约 8MB
|
||||
|
||||
### 移除
|
||||
|
||||
- 旧 C + IUP + Lua + gettext 代码库
|
||||
- Lua 配置引擎 → JSON 配置文件
|
||||
- gettext 国际化 → i18next
|
||||
|
||||
### 已知限制
|
||||
---
|
||||
|
||||
- 需要 Windows 10+ 系统预装的 WebView2 运行时
|
||||
- 内存占用约 50MB(旧版约 15MB)
|
||||
- 文件系统路径验证在清理功能中为同步检查(不含实际目录存在性验证)
|
||||
## [3.x] 及更早
|
||||
|
||||
C + IUP GUI 版本,已停止维护。历史发布记录见 [GitHub Releases](https://github.com/LHY0125/PathEditor/releases)。
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
# 贡献指南
|
||||
|
||||
感谢你对 PathEditor 的关注!
|
||||
|
||||
## 提交 Issue
|
||||
|
||||
- 使用清晰的标题描述问题
|
||||
- 提供复现步骤
|
||||
- 附上系统信息(Windows 版本、是否管理员)
|
||||
- 如果是功能建议,说明使用场景
|
||||
|
||||
## 提交 Pull Request
|
||||
|
||||
1. Fork 仓库并从 `main` 创建功能分支
|
||||
2. 运行 `npm test` 和 `cargo check` 确保通过
|
||||
3. 遵循项目代码规范:
|
||||
- TypeScript `strict: true`,零编译错误
|
||||
- 前端核心逻辑在 `src/core/`,纯函数,零依赖
|
||||
- Rust `unsafe` 块必须有 `// SAFETY:` 注释
|
||||
4. 新功能应包含测试
|
||||
|
||||
## 本地开发
|
||||
|
||||
```bash
|
||||
npm install
|
||||
npx tauri dev
|
||||
```
|
||||
|
||||
详见 [README.md](./README.md#开发)。
|
||||
@@ -4,13 +4,13 @@
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<img src="https://img.shields.io/badge/version-4.0.0-blue" alt="version">
|
||||
<img src="https://img.shields.io/badge/version-4.2.0-blue" alt="version">
|
||||
<img src="https://img.shields.io/badge/tauri-2.x-ffa03a" alt="tauri">
|
||||
<img src="https://img.shields.io/badge/react-19-61dafb" alt="react">
|
||||
<img src="https://img.shields.io/badge/rust-1.95-000000" alt="rust">
|
||||
<img src="https://img.shields.io/badge/typescript-strict-blue" alt="typescript">
|
||||
<img src="https://img.shields.io/badge/license-MIT-green" alt="license">
|
||||
<img src="https://img.shields.io/badge/tests-55%20passed-brightgreen" alt="tests">
|
||||
<img src="https://img.shields.io/badge/tests-72%20passed-brightgreen" alt="tests">
|
||||
</p>
|
||||
|
||||
---
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
PathEditor 是 Windows PATH 环境变量的可视化管理工具。支持系统变量和用户变量的增删改查、拖拽排序、一键清理无效路径、导入导出以及完整的撤销/重做。
|
||||
|
||||
v4.0 使用 **Tauri 2.x + React 19 + TypeScript + Rust** 完全重写,替代了原有的 C + IUP GUI。
|
||||
v4.2 使用 **Tauri 2.x + React 19 + TypeScript + Rust** 完全重写,替代了原有的 C + IUP GUI。
|
||||
|
||||
## 截图
|
||||
|
||||
@@ -41,7 +41,7 @@ _[待补充]_
|
||||
- 环境变量路径(含 `%VAR%`)悬浮展开预览
|
||||
|
||||
### 撤销/重做
|
||||
- 支持 8 种操作类型,最多 50 步历史
|
||||
- 支持 9 种操作类型,最多 50 步历史
|
||||
- 新增、删除、编辑、移动、清理、清空、导入均可撤销
|
||||
|
||||
### 导入/导出
|
||||
@@ -63,7 +63,7 @@ _[待补充]_
|
||||
|
||||
## 安装
|
||||
|
||||
从 [Releases](https://github.com/LHY0125/PathEditor/releases) 下载最新版 `PathEditor_4.0.0_x64-setup.exe` 安装。
|
||||
从 [Releases](https://github.com/LHY0125/PathEditor/releases) 下载最新版 `PathEditor_4.2.0_x64-setup.exe` 安装。
|
||||
|
||||
或从源码构建:
|
||||
|
||||
@@ -106,7 +106,7 @@ cd src-tauri && cargo test
|
||||
| 国际化 | i18next |
|
||||
| 桌面框架 | Tauri 2.x |
|
||||
| 后端 | Rust (winreg + windows-rs FFI) |
|
||||
| 前端测试 | Vitest (45 个测试) |
|
||||
| 前端测试 | Vitest (72 个测试) |
|
||||
| Rust 测试 | cargo test (10 个测试) |
|
||||
| 构建 | Vite |
|
||||
| 打包 | NSIS |
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
[package]
|
||||
name = "patheditor"
|
||||
version = "4.0.0"
|
||||
version = "4.2.0"
|
||||
description = "Windows PATH Environment Variable Editor"
|
||||
authors = ["刘航宇"]
|
||||
license = "MIT"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"$schema": "../node_modules/@tauri-apps/cli/config.schema.json",
|
||||
"productName": "PathEditor",
|
||||
"version": "4.0.0",
|
||||
"version": "4.2.0",
|
||||
"identifier": "com.liuhangyu.patheditor",
|
||||
"build": {
|
||||
"frontendDist": "../dist",
|
||||
@@ -12,7 +12,7 @@
|
||||
"app": {
|
||||
"windows": [
|
||||
{
|
||||
"title": "PathEditor v4.0",
|
||||
"title": "PathEditor v4.2",
|
||||
"width": 900,
|
||||
"height": 700,
|
||||
"minWidth": 800,
|
||||
|
||||
Reference in New Issue
Block a user