logo
1
0
WeChat Login

/Release/release

Easy4Form
latest
OverviewDeployMetadata

Easy4Form 2.0.0 版本更新

🚀 主要更新内容

API v2 版本支持

  • 全新 API v2 接口:基于最新版 Cumulus 表单接口重新设计
  • 向后兼容:保持对 API v1 的完全兼容,现有代码无需修改
  • 智能路由:通过版本管理器自动路由到对应版本的实现

新版 Cumulus 表单接口集成

  • 更新 Cumulus 依赖:集成最新版 GeyserMC Cumulus 表单库
  • 性能优化:利用新版 Cumulus 的性能改进和 bug 修复
  • 功能增强:支持新版 Cumulus 的所有新特性

版本兼容性系统

  • 多版本代理架构:统一的 API 接口自动适配不同版本
  • 兼容性处理器:专门的 V2CompatibilityHandler 处理版本间差异
  • 配置化版本选择:通过 config.yml 中的 api-version 配置选择使用的 API 版本

📋 技术改进

架构升级

  • 版本管理器:新增 VersionManager 类统一管理 API 版本
  • 代理模式:主 API 类作为代理,动态路由到具体版本实现
  • 反射机制:使用反射实现版本间的无缝切换

配置增强

# API版本配置(支持v1和v2,推荐使用v2)
api-version: "v2"

# 启用过时API版本的迁移警告
migration-warnings: true

代码组织

  • 包结构优化
    • cn.enderrealm.easy4form.api.v1.* - 旧版 API(已标记为 @Deprecated
    • cn.enderrealm.easy4form.api.v2.* - 新版 API
    • cn.enderrealm.easy4form.api.* - 统一代理接口
    • cn.enderrealm.easy4form.compatibility.* - 兼容性处理
    • cn.enderrealm.easy4form.manager.* - 版本管理

🔄 迁移指南

对于现有用户

  • 无需修改代码:现有基于 v1 API 的代码继续正常工作
  • 推荐升级:在 config.yml 中设置 api-version: "v2" 以获得更好性能
  • 迁移警告:系统会提示升级到 v2 版本的建议

对于新项目

  • 直接使用 v2:新项目建议直接使用 cn.enderrealm.easy4form.api.v2.*
  • 或使用代理:使用主包 cn.enderrealm.easy4form.api.* 获得自动版本适配

🛠️ 开发者改进

API 一致性

  • 统一接口:v1 和 v2 提供相同的方法签名
  • 类型安全:改进的类型检查和转换
  • 错误处理:更好的异常处理和错误提示

性能优化

  • 缓存机制:代理实例映射缓存,避免重复创建
  • 懒加载:按需加载具体版本的实现
  • 内存管理:使用 WeakHashMap 避免内存泄漏

📦 依赖更新

  • 项目版本:升级到 2.0.0
  • Java 版本:继续支持 Java 17+
  • Minecraft 版本:支持 1.18.2+
  • Floodgate 版本:支持 2.2.0-SNAPSHOT+

🔧 配置文件变更

新增配置选项:

  • api-version: 选择使用的 API 版本(v1/v2)
  • migration-warnings: 是否显示迁移警告

📚 文档更新

  • 更新 API 文档以反映 v2 版本的变更
  • 添加迁移指南和最佳实践
  • 完善代码示例和使用说明

注意:此版本完全向后兼容,现有项目可以安全升级而无需修改代码(前提不更新Comulus)。使用代理方法可继续保持强大的兼容性。

Attachment
Uploaded at2025-10-19 02:00:01
Uploaded at2025-10-19 02:00:01