EN

更新日志

记录 Func 各版本的功能更新、问题修复与维护变更。

更新于

v3 版本

v3.0.0

223115 当前版本
  • 重构 Module runtime 与 Command graph,统一模块边界、生命周期和命令定义。
  • 重新设计参数、选项、运行时上下文和错误处理 API。
  • 新增 func/helpfunc/testingfunc/configfunc/logfunc/completion 子路径,可按需组合 CLI 能力。

v2 版本

  • 追加了一些 F_SYSTEM_* 错误码,以便更加细致地定位错误。
  • 改进 funcgo 诊断能力,增加构建时值类型校验、源码位置、代码片段以及对应错误文档链接。
  • 要求使用 Node.js 24 及以上版本,并在工作区统一采用 NodeNext 模块解析。
  • 如需查阅 v2 的旧版文档,可前往 func-v2
  • 分别发布 CommonJSESM 产物,通过包条件导出提供统一的类型声明入口。
  • funcgo 更新至 1.0,默认使用 Rolldown 构建,同时保留 build-ncc 作为遗留构建方式。
  • importrequire 两种消费方式增加端到端覆盖。
  • 明确支持 Node.js 20.12 及以上版本。
  • 精简构建输出内容。
  • 将测试纳入包构建流程;发布包从 2.2.1 的 161 个文件精简到 61 个文件。
  • 更新核心包的构建与测试工具链,包括 TypeScript 7、Vitest 4、Vite 8 及相关依赖。
  • 更新包元数据和 README,运行时 API 保持不变。
  • 缺失命令类支持基于方法的处理器,可使用异步执行、字段选项、服务注入和局部错误捕获。
  • 当值类型无法推断时,在错误详情中提供稳定的原因标识。
  • 工作区迁移到 pnpm 11,共享格式化配置切换为 @unix/prettier。
  • 纯维护性发布,不改变运行时行为。
  • 引入基于模块的命令运行时,包括 Module、服务、方法处理器、局部错误捕获、字段选项和约束。
  • 新增显式的应用创建与运行 API、注册校验,并支持 TypeScript 6。
  • 修正装饰器工厂的类型声明,统一返回标准 ClassDecorator 类型。
  • 移除装饰器产物中不必要的构造函数返回值。
  • 重构命令校验与解析,严格检查重复注册、类型、必填值、数组和未知选项。
  • 引入结构化的系统、运行时、输入和弃用错误,提供稳定的错误码与详情。
  • 将核心包迁入 pnpm 工作区,并把测试套件迁移到 Vitest。

v1 版本

func 1.0.0 发布于 2019-06-13,奠定了框架的基础能力:使用装饰器定义命令,并提供选项解析、命令分发、元数据注册和服务注入。