版本区别
Yearning1.0 python版本已不再进行官方维护
Yearning2.0 golang版本为后续维护项目。
强烈建议使用Yearning2.0。
如仍使用python版本Yearning须知:
-
Yearning python版本不会闭源,仍可基于AGPL3.0许可进行二次开发。
-
由于inception已闭源失去后续支持,python版本将失去对审核规则及审核逻辑的维护。(此问题即使Yearning项目也无法解决。go版本已实现相关审核逻辑,由Yearning自己维护,保证后续维护的可控性。)
-
已知python版本含有多个提权漏洞(用户 -> 管理员) golang版本通过token内嵌角色信息的方式避免了此类问题。
golang版本优势:
前端
- 全新的扁平化设计,全新的配色方案,更美观.
- 页面渲染速度增加50%
后端
- 后端使用go语言重构,速度更快
- 内置自主实现的审核引擎,不再依赖inception
- 重新设计的鉴权逻辑,大幅提高安全性
- 语法级别的SQL控制
- 执行语句变更为一个事务,单个工单内所有SQL如一条错误则全部作废
审核
- 审核及回滚支持json/eunm/bit类型
- 支持mysql5.7及以上版本mysql
- 支持分区/视图 审核
- 影响行数dml/ddl区分
- 更多的自定义审核选项
- 审核规则页面配置,实时生效
功能性
- 查询新增多查询窗口,让多库查询不再如此麻烦
- 支持多数据源查询
- 动态审核规则设置
- 新增注册开关,关闭后登陆页面不在提供注册功能,注册用户不再强制要求mail后缀
- 新增使用人申请权限每日上限开关
- 新增全局查询时限设置
- 新增查询导出数据开关,关闭后不再可以导出数据
- 查询新增快速提交按钮,实现同时查询并提交DML功能
- 新增定时任务中止功能
- 新增审核查询一键关闭功能
- 新增alter语句合并功能
- 新增数据源分类
- 新增查询耗时展示
修复的bug
- 修复回滚工单的错误延迟性bug
- 修复某些情况下无法脱敏成功的问题
- 修复撤销操作加幂性问题
其他
- 自带gzip压缩/xss攻击防范 等功能,无需nginx前置代理
- 更友好的安装体验(二进制./执行)
- 兼容mysql 8.0