15 KiB
15 KiB
1.6 更新日志
:::tip 说明 更新日志是项目演进的完整记录,帮助开发者和企业了解每个版本的能力变化与技术演进方向。对于开发者,可快速掌握新功能与 API 变更,降低升级成本;对于企业,可评估版本稳定性与功能成熟度,为技术选型和升级决策提供依据。建议在升级前阅读目标版本的变更内容,确保业务代码平滑适配。 :::
版本总览
| 版本 | 日期 | 主要内容 |
|---|---|---|
| 4.0.0 | 2026-10-20 | 核心架构定稿:标签体系与泛型基座 |
| 3.9.0 | 2026-09-07 | OAuth2 令牌治理 |
| 3.8.0 | 2026-07-26 | 安全加固与防护增强 |
| 3.7.0 | 2026-06-13 | 五方言驱动与整库迁移 |
| 3.6.0 | 2026-05-01 | 代码生成器 |
| 3.5.0 | 2026-03-21 | 运行监控体系 |
| 3.4.0 | 2026-02-05 | 内置任务与在线用户 |
| 3.3.0 | 2025-12-24 | 定时任务调度 |
| 3.2.0 | 2025-11-11 | 数据权限四档 |
| 3.1.0 | 2025-09-29 | 租户治理与状态校验 |
| 3.0.0 | 2025-08-18 | 多租户架构与数据隔离 |
| 2.9.0 | 2025-07-06 | 共享能力层沉淀 |
| 2.8.0 | 2025-05-24 | 工具模块与案例示范 |
| 2.7.0 | 2025-04-12 | 数据导入导出 |
| 2.6.0 | 2025-03-01 | 文件上传与富文本契约 |
| 2.5.0 | 2025-01-17 | 内容管理与行政区划 |
| 2.4.0 | 2024-12-05 | 字典、配置与参数 |
| 2.3.0 | 2024-10-23 | 操作审计与日志查询 |
| 2.2.0 | 2024-09-10 | 组织架构与个人中心 |
| 2.1.0 | 2024-07-29 | 用户管理与 RBAC 权限 |
| 2.0.0 | 2024-06-16 | 工程奠基与认证闭环 |
[4.0.0] - 2026-10-20
核心架构定稿:gmeta 标签体系与 ModuleSpec 泛型基座全面落地,路由、权限、日志、文档一体驱动,全域能力就位,生产部署就绪。
新增
- gmeta 标签体系定稿:请求结构体上的一个标签同时驱动路由注册、权限校验、操作日志、OpenAPI 文档四件事,"标签即事实",杜绝多处不一致
- ModuleSpec 泛型基座:筛选、排序、树形、字典文本、文件字段、富文本、唯一校验、数据权限全部声明化,生命周期钩子承接差异,手写方法为合法逃生舱,基座永不出现按模块分支的代码
- OpenAPI 输出:gmeta 补注册进 goai,/api.json 原生 JSON + /swagger 本地 Redoc 页面
- 生成器与基座对齐:生成的 logic 直接产出基座声明式实现,go build 后即可运行
- 模块版图收口:监控域(操作日志/登录日志/定时任务/任务日志)与工具域(案例/文件模板/生成器/上传)能力全量就位
优化
- 主键策略定稿(2026-10-13):统一 int 数据库自增,插入后经 LastInsertId() 回读,全局钩子不填主键
- 中间件链定稿:CORS → Response → RateLimit → Demo → JWT → Tenant → OperationLog,权限校验收敛到 Bind 包装层每请求判定
- 筛选对齐三件套定稿(2026-10-14):前端 querySchemas.ts、请求结构体同名驼峰字段、基座声明(LikeFields/EqFields)三处对齐,导出与列表同套筛选
- 目录平铺定稿:api/controller/logic/service 单包 snake_case 文件,同包 init 自动注册
- URL 约定收口:统一 /api 前缀、无 /v1 版本段;公开白名单三处一致
- 配置环境变量覆盖:GF_ 前缀 env-first 适配器(键名=配置路径大写下划线),compose 友好名映射,12-Factor 部署就绪
- 工程保障:go vet / gofmt 门禁、sqlite 与 MySQL 集成测试、golden 黄金样本响应比对回归、CI workflow、docker compose 一键部署、145 页文档站
修复
- 富文本还原散落的字符串替换统一收敛到 ExpandContentFields 唯一出口,[IMG_URL] 占位符不再被业务代码旁路解析
[3.9.0] - 2026-09-07
OAuth2 令牌治理收口。
新增
- 令牌刷新:/oauth2/token 持 refresh_token 轮换新令牌,旧 jti 即时拉黑
- 令牌检测:/oauth2/check/token 校验有效性
- 令牌吊销:/oauth2/remove/:token 指定令牌即时失效
优化
- 前端令牌刷新链路统一对接 OAuth2 路由;登录响应保持 OAuth2 惯例字段(access_token / refresh_token / expires_in / token_type)
[3.8.0] - 2026-07-26
安全加固与防护增强。
新增
- 接口限流:固定窗口限流中间件,登录/验证码入口独立更严阈值(authLimit),计数经共享缓存多实例一致
- 受信代理:api.proxyIps(支持 CIDR)内的代理才信任 X-Forwarded-For 首段 / X-Real-IP
- 演示模式白名单精细化:公开路径与读操作精确放行,写操作统一拦截提示
- 健康检查:/api/health 公开探测接口
优化
- 限流仅作用于 /api/ 路径,静态资源与文档页不受影响
[3.7.0] - 2026-06-13
五方言驱动与整库迁移能力建成。
新增
- 五方言驱动:MySQL / PostgreSQL / SQL Server / Oracle / SQLite 运行时切换,改配置 type/link 即换库
- 五份方言 DDL:resource/sql 定稿,与 MySQL 基准逐表对齐
- 整库迁移器:源库内省 → 中间表示 → 方言 DDL 渲染 → 分批搬运 → pgsql 序列修复,行数校验闭环
- 迁移 CLI:源/目标连接参数、-drop-target-first 清空目标、-dry-run 预演
[3.6.0] - 2026-05-01
代码生成器上线,模块产出工业化。
新增
- 双入口:HTTP 页面与 CLI(-tables / -preview / -batch)
- 产出:后端八件套(api/controller/logic/service + dao/index、dao/internal、entity、do)与前端页面五件
- 幂等副作用:同步创建菜单、权限节点、字典数据与路由注册
- 字典自动创建:按列注释枚举解析(支持
1-正常与1=正常两种写法) - 覆盖保护:缺失补生成、存在跳过,generator.overwrite 开启才覆盖
优化
[3.5.0] - 2026-03-21
运行监控体系上线。
新增
- 服务器监控:运行时、内存、磁盘分平台采集,MySQL / Redis 连通检测
- 缓存监控:Redis INFO 解析展示,内存降级模式标识(mode=memory)
- 监控接口:/server/info、/cache/info,配合在线用户列表运行状态一目了然
[3.4.0] - 2026-02-05
内置任务与在线用户治理。
新增
- LogClean 内置任务:每日 02:30 分批物理清理三张日志表(保留天数默认 90,任务参数可覆盖)
- 在线用户模块:登录登记 / 登出注销,在线列表与强制踢出(jti 拉黑防刷新复活)
优化
- CleanTemp 临时目录清理纳入调度统一管理(每日 03:30 触发)
- 调度消费约定完善:同步/异步标记与三种执行策略协同
[3.3.0] - 2025-12-24
数据驱动的定时任务调度系统。
新增
- 常驻调度器:启动加载启用任务,Cron 表达式触发
- 双执行形态:HTTP 接口任务与本地处理器任务
- 三种执行策略:并行 / 单例 / 放弃,单例与放弃叠加多实例执行锁(job🔒{id},共享缓存 SET NX、300s 兜底)
- 任务日志:执行时间、状态、耗时、错误详情完整留档
- 任务操作:立即执行、暂停、恢复、状态设置、调度器状态查询
[3.2.0] - 2025-11-11
角色数据权限四档上线。
新增
- data_scope 四档:全部 / 本部门及以下 / 本部门 / 仅本人
- 一行接线:ApplyDataScope("dept_id") 声明即生效,作用于分页/列表/导出
- 身份缓存:300s 缓存含数据范围与部门,多角色取最宽松档位,角色变更主动失效
修复
- 未分配部门用户在"本部门"档位越权可见——身份加载层降级为仅本人
[3.1.0] - 2025-09-29
租户治理与状态校验完善。
新增
- 状态/过期校验:中间件拦截(60s 缓存),禁用与过期租户拒绝访问
- 租户用户查询:按租户维度检索用户列表
- 平台数据绕过:超管与租户级表中的平台数据(tenant_id=0)自动放行
- 租户内分组唯一:手机号/用户名等唯一性走分组唯一索引
[3.0.0] - 2025-08-18
多租户架构与数据隔离建成,SaaS 能力就绪。
新增
- 全局钩子横切:审计字段盖章、软删改写、租户隔离统一在 gdb 模型钩子层完成,dao.Ctx 是唯一查询入口
- 9 张租户级表自动隔离:Insert 自动填充 tenant_id 与审计字段,Select 自动附加 del_flag 与租户条件
- 租户管理模块:租户 CRUD、用户数统计
- 事务化开户:租户与初始管理员同一事务创建(code = T + 4 位 ID)
- 用户上限:tenant.max_user_num 校验,超限拒绝开户
优化
- 业务代码零侵入:不手写一行 del_flag / tenant_id 条件,横切逻辑全部下沉钩子层
[2.9.0] - 2025-07-06
共享能力层沉淀,横切逻辑收口。
新增
- base.go 共享能力层:文件字段、富文本、枚举文本、唯一校验、事务、分块查询、树、临时清理八类横切能力统一沉淀
- CheckUnique 唯一性预检:UX 快速报错,并发真值由数据库 uk_* 唯一索引兜底
- WithTrans 事务包裹:错误自动回滚,事务内禁 HTTP/文件 IO,bcrypt 预计算
- BuildTree 泛型树:平铺数据转树形,叶子 Children 预置空数组
优化
- 共享层导出函数上限 15 个,超出按能力拆分子包,防止能力层膨胀
[2.8.0] - 2025-05-24
工具模块与标准示范补齐。
新增
- example 案例模块:完整示范七件套 + 导入导出 + 字典文本 + 文件字段的标准写法
- 文件模板管理模块:模板上传维护,按编码取用(getTemplateByCode)
- upload 上传模块:统一上传入口与返回 URL 约定
[2.7.0] - 2025-04-12
数据导入导出能力建成。
新增
- Excel 导入:excelize 驱动,表头映射导入,空行自动过滤
- Excel 导出:标准化导出与文件下载,user / level / example 模块启用
- 大数据量分批导出:ChunkQuery 分批查询(默认 500 条/页)防内存溢出
- 前端 xlsx 组件:导入向导与导出按钮统一封装
修复
- 富文本跨域名图片占位符替换不完整
[2.6.0] - 2025-03-01
文件上传体系与富文本持久化契约。
新增
- 两段式上传:先落 temp 临时目录(扩展名白名单、单文件大小上限、图片魔数嗅探),表单保存时转正到按日期分子目录的正式位置
- 文件字段统一处理:SaveFileField / SaveFileFields / SaveMultiFileField,批量转正与 URL 补全
- 富文本占位符契约:入库 [IMG_URL] 占位、出库统一还原(LocalizeContentFields / ExpandContentFields 唯一出口),外站 URL 不处理规避 SSRF
- SVG 安全加固:.svg 响应强制 attachment + nosniff,防存储型 XSS
- 临时目录自动清理:每日 03:30 清理超期 temp 日期目录(file.tempExpireDays 控制保留天数)
优化
- /upload/** 静态访问由 SetServerRoot("resource") 统一提供,上传目录按日期分子目录
[2.5.0] - 2025-01-17
内容管理与行政区划能力就绪。
新增
- 文章与分类:文章 CRUD(封面、图集、状态、点击量),分类树形无限级嵌套
- 通知公告:类型、发布状态、富文本内容
- 友情链接:图标、描述、启用/禁用
- 行政区划:省市县三级数据与树形查询,ResolveCityNames / ResolveCityCodes 编解码(用户模块地址字段接入)
优化
- 富文本编辑器全站统一接入;列表状态筛选与模糊搜索标准化
[2.4.0] - 2024-12-05
字典、配置与参数三件套,基础数据标准化。
新增
- 字典管理:字典与字典项两级维护,枚举显示名经 {field}Text 字典驱动(唯一真相,进程内缓存 300s)
- 字典前端消费:登录即可的查询接口与字典组件,下拉/徽标数据源统一
- 配置管理:配置与配置项两级维护,站点设置页一键读取与保存
- 参数管理:系统参数分类维护,请求级缓存
- 字典缓存刷新:refreshCache 接口即时生效
[2.3.0] - 2024-10-23
操作审计与日志查询上线。
新增
- 操作日志中间件:异步批量落库(100 条或 1 秒刷盘),password/salt 脱敏、响应截断、耗时与状态记录,失败降级日志、不阻塞业务
- 日志类型体系:新增/修改/删除/查询/导入/导出等 40+ 类型常量,logType 字符串声明驱动
- 日志查询模块:操作日志/登录日志分页、详情、软删与批量删除
- IP 归属地:ip2region(xdb)自动填充归属地字段
优化
- 密码类字段响应自动剔除,日志参数统一脱敏
[2.2.0] - 2024-09-10
组织架构与个人中心完善。
新增
- 部门/职级/岗位三模块:部门树形无限级(parent_id 自关联)
- 树形接口约定:叶子节点 Children 预置空数组,前端免判空
- 个人中心:获取用户信息与菜单、修改密码(旧密码校验)、更新资料与头像
- 用户列表按部门/角色筛选,禁止删除有子部门/用户的部门
[2.1.0] - 2024-07-29
用户、角色与菜单权限体系落地。
新增
- 用户/角色/菜单三模块:标准七件套(分页/列表/详情/新增/修改/删除/批量删除)
- RBAC 权限模型:用户 → 角色 → 菜单权限节点(目录/菜单/按钮三级),按钮级控制
- 超级管理员:通配权限 ::*,权限校验单点入口
- 角色保存权限:重写角色-菜单关联并即时刷新缓存
- 用户扩展:重置密码、用户-角色多角色分配、用户名/手机号唯一校验
- gmeta 标签声明:路由与权限经标签声明,包装层每请求判定
- 前端用户/角色/菜单管理页,权限指令控制按钮可见性
[2.0.0] - 2024-06-16
工程奠基版本:前后端分离骨架与认证闭环建立。
新增
- 后端分层骨架:api / controller / logic / service 四层 + dao/entity/do 数据访问链路,统一响应信封(code/msg/data)与 PageData 分页
- 建表约定:goframe_ 表前缀、del_flag 软删列、审计字段(create_user/create_time/update_user/update_time)
- 登录认证:用户名密码 + 图形验证码(TTF 渲染 + SVG 降级)
- JWT 双令牌:access 2 小时 + refresh 7 天,刷新轮换、旧 jti 拉黑防刷新复活
- 密码安全:bcrypt 双重加盐加密
- 登录日志:成功/失败/退出全记录(IP、浏览器、耗时、失败原因)
- 中间件链雏形:CORS → Response → JWT → Demo 演示模式拦截
- 前端工程:Vite + Vue3 + TypeScript + Pinia + ElementPlus,登录页、主布局、axios 封装与动态路由守卫