Skip to content

OpenAPI Platform v0.1.4

Latest

Choose a tag to compare

@github-actions github-actions released this 28 Sep 19:37
· 33 commits to main since this release
ea7fa65

OpenAPI Platform 0.1.4

本版本整合接口发布、管理台交互和运行时可靠性改进。Platform 与 Service 独立发布;Service 控制协议仍为 openapi-service/v1,无需使用相同软件版本号。

升级前必读:数据库基线不兼容

从 0.1.3 或更早正式版本升级,必须使用新数据库或新 PGlite 数据目录。不能直接覆盖产物后原地迁移。

本版本移除手工自定义 Endpoint / Route 管理,Route 必须引用 Service 连接;已在开发线生成的 0000 基线删除 api_routes.managed_by,并更新外键约束和迁移标识。旧数据库的迁移历史与 0.1.4 不匹配,启动检查会拒绝继续。本版本不提供跨基线自动数据转换工具。

升级步骤:

  1. 停止所有 Platform 实例,保存旧版本产物、环境配置、独立密钥,以及可恢复的 PostgreSQL 完整备份或完整 PGlite 数据目录。
  2. 如需保留用户、余额、积分流水、API Key 和运营设置,先在隔离环境制定并验证与新 Schema 对应的导出/导入流程。保留关联 ID 和完整财务记录,不复制旧 drizzle.__drizzle_migrations;涉及加密数据时必须保留原密钥。未经验证不要导入生产库。
  3. 创建空 PostgreSQL 数据库或新的 PGlite 目录,使用 0.1.4 产物执行 npm run migrate,再启动 Platform。不要删除旧数据和备份。
  4. 导入经验证的数据,重新发现 Service 并审核公开接口、API Key、计费和限流配置,点击“应用全部变更”后验证流量。旧手工 Route 需要由 Service 契约重新提供,不能直接恢复为自定义接口。
  5. 检查 /api/health、/api/ready、登录、管理台、活动 Routing Revision、调用日志及积分余额。

0.1.4 发布后,该 0000 基线冻结;后续 Schema 变化必须追加 Drizzle 迁移。详细流程见数据库迁移与版本升级。

主要变化

  • 接口发布、停用和治理修改先保存为草稿,再统一应用。Upstream、Target、分组、版本或默认域名的自动刷新不再夹带 Endpoint 草稿。
  • Routing Revision 记录已应用 Route 配置,保留 Target 验证后自动恢复、支撑接口联动和回滚能力;相同配置复用快照。
  • 管理台集中处理 Endpoint、Target、Service 配置、分组和运行快照操作,修复异步响应覆盖新状态、重复确认和读取失败反馈问题。
  • 私有详情与分页读取共用请求生命周期;页面销毁后不再发起请求,过期响应不能覆盖当前数据,读取结果区分成功、失败、过期和已关闭。
  • 系统设置和 OAuth 保存保留请求期间继续编辑的草稿;Upstream 元数据与待验证 Token 原子保存,共享缓存失效阻止旧加载回填。
  • 改善后台分页、小时趋势、计费异常管理,以及首页调用量展示、加载状态和无障碍动效。
  • 统一启动、诊断和迁移入口,强化数据库访问、迁移历史、运行时密钥校验,以及 Gateway 计费持久化和缓存隔离。

配置与部署

  • Node.js 要求仍为 >=24 <25;使用 Release 预构建产物或 ghcr.io/nuoxiantech/openapi-platform:0.1.4,生产服务器不执行构建。
  • NUXT_AUTH_SECRET 与 NUXT_API_KEY_SECRET 必须分别配置为符合校验要求的独立密钥,启动过程不会代为生成或替换。
  • 可选 PLATFORM_DATA_DIR 统一应用与迁移执行器的数据位置;相对路径以 .env 所在目录为基准。未配置 PostgreSQL 时使用该数据根目录下的 pglite。
  • Release 包在版本根目录提供 package.json、server/ 和 public/,可直接运行 npm run doctor、npm run migrate、npm start。

回滚

路由配置可通过重新激活历史 Routing Revision 回滚。跨版本应用回滚必须停止所有写入,并同时恢复旧版本产物、匹配的环境配置和升级前数据库备份;仅回滚镜像不能让旧版本使用 0.1.4 数据库。回滚前应单独保存升级后的数据,避免丢失需要对账的新增记录。

Changes

  • chore(release): prepare v0.1.4 (ea7fa65a)
  • style(auth): remove branding above login and registration forms (b45082ff)
  • fix(runtime): protect database access and validate deployments (df774171)
  • feat(runtime): simplify platform startup and deployment (3aa502c3)
  • fix(admin): allow independent publication during target discovery (6eac512d)
  • fix(gateway): persist billing before delivery and prevent cache bypass (d9f46366)
  • chore(deps): update compatible platform dependencies (12ec40fb)
  • feat(settings): add public security filing lookup code (4220b9bb)
  • feat(admin): merge billing exceptions into credit transactions (6cb383f9)
  • refactor(admin): redesign upstream service configuration page (02972f6b)
  • style(admin): refine upstream form and refresh global fonts (e8775898)
  • refactor(admin): remove manual product and version creation (cecf8e90)
  • fix(admin): align 24-hour chart to hour boundaries (2eb6dbda)
  • refactor(platform): remove custom endpoints and rebuild database baseline (fefe2e1c)
  • feat(admin): streamline endpoint list and add bulk enable controls (12122d2e)
  • fix(admin): align hourly chart with rolling 24-hour window (8575777f)
  • chore(lint): enforce typed async checks and relax formatting (#44) (7e439e56)

Full Changelog: v0.1.3...v0.1.4