diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..6b4959b --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,64 @@ +# Changelog + +All notable changes to this project will be documented in this file. + +## [2.1.0] - 2025-11-03 + +### 🎉 主要新特性 + +#### 多版本 API 支持 +- 支持解析多个 Swagger 文档 URL(v1/v2/v3...) +- API 文件按版本自动分目录(api/v1/、api/v2/) +- V1 版本类名保持简洁(不加后缀,如 `MobileManagerApi`) +- V2+ 版本类名添加版本号后缀(如 `MobileManagerApiV2`) +- ApiClient 提供清晰的版本化访问器 + +#### 模型智能分类 +- 新增 `ModelUsageType` 枚举(request/response/common/unknown) +- 自动分析 Swagger paths 判定模型实际用途 +- 精确区分请求参数和返回结果 + +#### 目录结构优化 +- `api_models/enums/` - 枚举类型 +- `api_models/request/` - 请求模型 +- `api_models/result/` - 响应模型 +- `api_models/parameters/` - 查询参数类 +- 每个子目录自动生成 `index.dart` 便于导入 + +### ✨ 改进 + +#### 默认值处理 +- 响应模型的 List 类型自动添加 `@JsonKey(defaultValue: [])` +- 请求模型不添加默认值,避免影响后端接收 +- 更安全的 null 值处理 + +#### 导入策略 +- API 文件统一使用 `import '../../api_models/index.dart'` +- 利用 Dart tree-shaking,不影响应用大小 +- 简化导入管理,提高可维护性 + +### 🔧 配置变更 +- `SwaggerConfig.swaggerJsonUrls` 现在支持多个 Swagger 文档 URL +- 移除了单独的 `swaggerJsonUrl` 配置项 + +### 📝 文档 +- 新增 `CANCELTOKEN_USAGE_GUIDE.md` - CancelToken 使用指南 +- 新增 `CHANGELOG_CANCELTOKEN.md` - CancelToken 功能变更日志 + +--- + +## [2.0.1] - 2025-10-XX + +### 改进 +- 性能优化和 bug 修复 +- 代码质量提升 + +--- + +## [2.0.0] - 2025-09-XX + +### 重大变更 +- 项目重构 +- 支持 Retrofit +- 优化代码生成逻辑 + diff --git a/pubspec.yaml b/pubspec.yaml index 1c001ec..ddf4c61 100644 --- a/pubspec.yaml +++ b/pubspec.yaml @@ -1,7 +1,7 @@ name: swagger_generator_flutter description: A Flutter project using generated API models -version: 2.0.1+3 +version: 2.1.0 environment: sdk: '>=3.0.0 <4.0.0'