Repository navigation
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 不匹配,启动检查会拒绝继续。本版本不提供跨基线自动数据转换工具。
升级步骤:
- 停止所有 Platform 实例,保存旧版本产物、环境配置、独立密钥,以及可恢复的 PostgreSQL 完整备份或完整 PGlite 数据目录。
- 如需保留用户、余额、积分流水、API Key 和运营设置,先在隔离环境制定并验证与新 Schema 对应的导出/导入流程。保留关联 ID 和完整财务记录,不复制旧
drizzle.__drizzle_migrations;涉及加密数据时必须保留原密钥。未经验证不要导入生产库。 - 创建空 PostgreSQL 数据库或新的 PGlite 目录,使用 0.1.4 产物执行
npm run migrate,再启动 Platform。不要删除旧数据和备份。 - 导入经验证的数据,重新发现 Service 并审核公开接口、API Key、计费和限流配置,点击“应用全部变更”后验证流量。旧手工 Route 需要由 Service 契约重新提供,不能直接恢复为自定义接口。
- 检查
/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