Files
qiming/qiming-file-server/CHANGELOG.md

148 lines
4.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Changelog
All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
## [1.2.3] - 2026-03-06
### Changed
- **发布与包管理**
- 移除 `packageManager``preinstall` 的 pnpm 强约束,支持使用 npm 安装与发布
- `prepublishOnly` 改为 `npm run build`,便于 npm 发布流程
## [1.2.2] - 2026-03-06
### Added
- **性能耗时日志**
- 所有关键 API 接口(项目初始化、更新、目录/文件列表)添加 INFO 级别耗时日志,包含 `elapsedMs` 数值字段
- 中间步骤(备份、解压、文件写入、清理等)添加 DEBUG 级别耗时日志
- 错误路径统一添加 `elapsedMs` 字段,便于排查超时和异常耗时问题
### Changed
- **日志级别优化**
- 中间步骤日志(备份、解压、文件写入等"开始"类日志)从 INFO 降级为 DEBUG减少生产环境日志噪音
- 通过 `LOG_LEVEL` 环境变量控制日志输出级别error > warn > info > debug
- **日志格式统一**
- 所有耗时字段统一使用 `elapsedMs`(数值类型,单位毫秒),便于日志聚合和监控系统解析
- 移除冗余的重复日志输出
### Fixed
- **downloadAllFiles 耗时统计修正**
- 将耗时记录从压缩准备阶段移至 `archive.on("end")` 事件,准确反映实际压缩完成时间
## [1.2.0] - 2026-02-06
### Added
- **CLI 参数解析增强**
- 支持在命令行中传递 `--KEY=VALUE` 格式的参数
- 自动将这些参数写入 `process.env` 环境变量
- 可以在启动服务时通过命令行覆盖环境变量配置
### Changed
- **命令灵活性提升**
- `start``restart` 命令现在允许接受未知选项
- 允许传递额外的自定义参数给服务
## [1.1.1] - 2026-02-04
### Added
- **CLI 版本查询增强**
- 新增 `-v` 参数作为查看版本的快捷方式(支持 `-v, --version`
## [1.1.0] - 2026-02-03
### Changed
- **ES Module 迁移**
- 全面迁移到 ES Module (ESM) 语法
- 所有 `require` 替换为 `import`
- 所有 `module.exports` 替换为 `export`
- 更新 Node.js 版本要求至 >= 22.0.0
- `package.json` 添加 `"type": "module"`
- **构建流程更新**
- 新增 `scripts/build.js` 使用 esbuild 打包
- 输出格式设置为 ESM
- 支持代码压缩和发布优化
### Added
- **LOG_BASE_DIR 容错增强**
- 当配置路径无法创建时自动回退到系统临时目录
- 避免因路径问题导致服务启动失败
## [1.0.0] - 2025-02-03
### Added
- **CLI 工具支持**
- 新增 `qiming-file-server` CLI 命令行工具
- 支持 `start``stop``restart``status` 命令
- 支持 `--port``--env``--config` 等命令行参数
- 支持通过命令行参数覆盖环境变量配置
- **跨平台支持**
- 支持 Windows、Linux、macOS 三大平台
- 使用 `cross-spawn` 确保跨平台命令执行
- 使用 `tree-kill` 实现跨平台进程终止
- PID 文件管理支持多平台临时目录
- **健康检查端点**
- 新增 `/health` HTTP 端点
- 返回服务状态、版本、运行时间、内存使用等信息
- **环境变量配置**
- 完整的配置文件加载机制
- 支持 `env.development``env.production``env.test`
- 详细的路径配置项说明
- CLI 专用配置项
- **项目文档**
- 新增 `docs/ENV.md` 完整的环境变量配置指南
- 更新 `README.md` 包含 CLI 使用说明
- 新增 `AGENTS.md``CLAUDE.md` 软链接
- **测试**
- 新增 `tests/unit/cli.test.js` 单元测试
- 覆盖服务管理器、环境变量工具、跨平台兼容性等
### Changed
- **包配置**
- `package.json` 新增 `bin` 字段支持 CLI 全局安装
- 新增 `commander``cross-spawn``fs-extra``tree-kill` 依赖
### Fixed
- **启动脚本**
- 修复 `scripts/start-cli.js` 实际加载 server.js 的问题
- 修复 `router.js` 中 package.json 路径解析问题
### Security
- 使用 `path.resolve``fs.readFileSync` 替代 `require` 确保安全性
## [0.1.0] - 2024-XX-XX
Initial release of qiming-file-server project.
### Added
- 项目基础结构
- Express 服务器配置
- 构建路由、项目路由、代码路由
- pnpm 磁盘空间优化功能
- 日志缓存管理