Skip to content

Releases: hhyo/Archery

Release v1.6.2

16 Jun 13:18
d610084
Compare
Choose a tag to compare

Release date: 2019年6月16日

代码变更:v1.6.1...v1.6.2

变更说明:

  • 拆分资源组关联表,用户和实例添加页面新增资源组关联操作,便于维护 #190 #239
  • 增加 SQL 上线可执行时间范围选择,且审核人可修改这个时间 #251 #260
  • 实例配置增加默认字符集设置,适用于 MySQL、Oracle、MsSQL #274
  • MySQL 在线查询的权限校验放行 explain 和 show create 语句ed0caf2
  • MsSQL 在线查询添加可执行命令白名单及允许执行 sp_helptext 命令 #246 #273

易用性改进:

  • django-admin 的链接调整为后台窗口打开 c2c44c9
  • 使用 title 属性替换 selectpicker 的默认选择项,解决在 Safari 中出现的无法选择库表的问题 9da79d3
  • 使用 marked.js 转 html 替换设计规范页面,自行调整 md 文档即可替换页面内容 4344c76
  • 实例参数管理中,参数模板已配置的参数可以点击进入编辑页面 9a96d3b
  • 优化 docker-compose,启动 Archery 时前置判断 mysql 和 redis 端口是否正常 09390ee

修复说明:

  • 修复 Oracle 在线查询中,查询列包含 clog 类型时不能正常查询的问题 #250
  • 修复 Django 后台查询权限列表,筛选用户时报500错误的问题 #261
  • 修复 pyodbc 不识别 GO 语句的问题,使用 GO 作为关键字切分 sql 再执行通过 #263
  • 修复 MsSQL 数据库过滤项错误的问题 #267
  • 修复 MySQL 在线查询中,用户仅申请表权限,当查询语法错误时却提示没有库权限的问题ed0caf2

升级步骤:

Release v1.6.1

02 Jun 05:06
Compare
Choose a tag to compare

Release date: 2019年6月1日

代码变更:v1.6.0...v1.6.1

变更说明:

  • 支持 mssql 上线执行,不支持备份 #212
  • SQL 工单详情增加日志列表,MySQL 工单增加 osc 执行控制,包括进度查看、暂停、恢复、终止 #220
  • 实例参数管理支持动态管理 goInception/inception 的参数,提供 goInception 参数模板 #221
  • oracle 上线支持高危语句检测 203de9d

易用性改进:

  • 增加静态资源版本控制,启动静态资源哈希,解决浏览器缓存问题 b0906fd
  • 支持上线、支持查询的实例标签不存在时自动创建,不抛错 48d7ac7
  • docker 内 qcluster 启动方式改为 supervisor 启动,增加稳定性 #230
  • 消息通知内容添加发起时间、目标实例、数据库 #217 #238 #240
  • 完善 engine、脱敏、工作流、消息模块的单元测试用例

修复说明:

  • 修复执行异常不修改工单状态的问题 #156
  • 修复 LDAP 启用后报错,找不到 LDAPSearch 方法的问题 #222
  • 修复 sql 导出字段的引号问题,fix #228
  • 修复定时执行上线工单超时的问题,fix #231
  • 修改 mssql 连接串,解决实例不能连接问题 #235
  • 修复实例列表搜索报错的问题 fix #237
  • 修复注册用户时密码复杂度不够仍能注册成功的问题 fix #243

升级步骤:

Release v1.6.0

22 May 05:39
Compare
Choose a tag to compare

Release date: 2019年5月22日

代码变更:v1.5.3...v1.6.0

变更说明:
本次更新新增了两个重要的功能点

  1. 新增了oracle 引擎, 支持oracle 查询, 上线, 但没有备份和自动生成回滚语句功能 #144 #175
  2. 新增了实例标签, 不再使用"主库/从库"这种类型, 详见 #152 #162

其它功能点:

  • redis 查询增加说明文档 #157
  • redis 查询禁止keys命令 #157
  • mysql引擎默认字符集改为utf8mb4 #161
  • 新增手工执行工单逻辑, 仅使用archery做工单流程记录, 实际执行由手工完成 #178
  • 新增了一个添加注释的sql语句, 可供规范化使用, 方便dba管理 #155
  • 新增了一个权限 query_all_instances , 拥有该权限的用户, 永久拥有查询所有数据库的权限, 不需申请. #199
  • 新增了一个系统配置项, enable_backup_switch , 当这个配置项打开时, 才能在提交工单时看到并选择关闭备份, 不打开或未设置时, 不显示备份选项, 系统强制备份 #200

修复说明:

  • 修复库名中有特殊符号时, 执行任何语句都失败的问题 #164 #166 #167
  • binlog2sql 选择解析时间后无法获取结果 #209

升级步骤:

Release v1.5.3

25 Apr 15:19
Compare
Choose a tag to compare

Release date: 2019年4月25日

代码变更:v1.5.2...v1.5.3

变更说明:

  • 支持自主配置系统index路径,新增配置项INDEX_PATH_URL
  • 增加Redis查询帮助说明

修复说明:

  • 解决在线查询选择max后报错的问题 #151

升级步骤:

Release v1.5.2

21 Apr 15:46
Compare
Choose a tag to compare

Release date: 2019年4月21日

代码变更:v1.5.1...v1.5.2

变更说明:

  • 支持使用goInception替代Inception审核,Inception已停止维护,推荐切换到goInception #136
  • 加密数据在不做修改的情况下,不做二次加密 #114
  • docker内增加Microsoft ODBC Driver for SQL Server,配置实例地址即可使用,无需再次安装 #135
  • 去除SQL上线输入框的提示信息,避免配置多数据库时误导用户
  • 修改获取实例元数据的返回格式,便于展示异常信息 #135

易用性改进:

  • 增加权限清理脚本,可使用该脚本清理非业务权限,但不推荐,del_permissions.sql #133
  • Redis上线默认不显示备份选项(未实现备份)
  • SQL分析先提交分析再弹出提示信息
  • 回滚页面表格样式调整

升级步骤:

Release v1.5.1

17 Apr 13:13
Compare
Choose a tag to compare

Release date: 2019年4月17日

代码变更:v1.5.0...v1.5.1

Bug修正版:

  • Fixed #127 Redis查询超时

升级步骤:

Release v1.5.0

14 Apr 16:00
ddfa689
Compare
Choose a tag to compare

Release date: 2019年4月14日

代码变更:v1.4.5...v1.5.0

对应开发计划:https://github.com/hhyo/Archery/projects/4
本次迭代主要改动Engine相关模块,方便其他数据库的接入,Engine贡献者 @LeoQuote 🎉🎉🎉

ps: gh-ost和pt-osc的接入和进度展示推迟,会和原生执行一并实现,欢迎在对应issue中交流:#4

变更说明:

  • 增加实例参数配置模块,可修改实例动态参数并记录修改历史,目前仅支持MySQL,rds_param_template.sql #115 感谢 @yyukai ❤️
  • 清理查询模块和工单模块代码,便于接入各种类型的数据库 #83 #92
  • 使用Engines接入Redis查询 #86
  • 使用Engines接入PostgreSQL查询 #91
  • 使用Engines接入Redis上线,审核不做判断,仅作为接入样例 #101
  • 增加在线查询超时时间配置,对应配置项max_execution_time,超时连接主动关闭 #125
  • 升级部分前端组件,具体升级列表可查看 #93
  • 查询权限审核详情增加最后操作信息,比如驳回原因
  • 调整部分列表的获取方式,由于存在效率问题,慢日志列表未做修改
  • 部分字段模型定义修改为布尔值
  • Engines的测试用例覆盖

安全改进:

  • 配置项中增加会话过期和失效设置

易用性改进:

  • 实例列表增加数据库类型筛选项
  • 功能获取的实例列表按照支持的数据库类型进行过滤
  • ace的language默认设置为mysql
  • 表格样式细节优化

修复说明:

  • 解决sql_tuning表解析失败时的前端展示问题, fix #122

升级步骤:

Release v1.4.5

24 Mar 14:08
Compare
Choose a tag to compare

Release date: 2019年3月24日

本次迭代涉及到比较多的数据模型调整, 升级请注意数据备份,具体请查看 v1.4.3_v1.4.5.sql
本次迭代对应开发计划:https://github.com/hhyo/Archery/projects/2

变更说明:

  • 新增SQL分析模块,使用SORA分析MyBatis的XML文件和SQL脚本文件(初版待优化) #3
  • SQL执行权限区分资源组粒度和提交人粒度,支持提交人自助执行审核通过的工单 #74
  • binlog2sql以plugin的形式对接,降低代码复杂度 #78
  • 增加binlog2sql解析结束的消息通知,支持异步获取binlog解析文件 #78
  • 实例管理新增binlog清理功能,需要配置权限binlog_del
  • 拆分SQL工单表的大字段到单独的内容表 #77
  • 把一些关联字段从name改成ID 包括权限、用户、实例、查询日志等的互相关联 #71
  • 删除注释使用sqlparse实现,提高可靠性
  • 补充soar拓展方法,后续可以实现一个小工具页面
  • 比较多的测试用例覆盖

易用性改进:

  • 权限管理页面搜索易用性改进,支持用户名、库、表搜索 #75
  • 支持刷新按钮获取新的实例锁信息
  • themis添加规则页面易用性改进,支持显示规则详细,并且支持编辑 #76
  • 发布themis任务时,非对象类型必须选择起止日期
  • 工单列表名称超过20字的隐藏,悬浮显示
  • 调整依赖,去除启动的DeprecationWarning日志
  • 调整日志设置,避免多次打印错误信息

修复说明:

  • 升级bootstrap-table和export插件版本到最新版,修复导出excel格式显示文件已损坏的问题
  • 修复SQLTuning无法解析多个表的问题
  • 更新实例信息中实例名称导致用户查询权限失效[ bug ] #67
  • 解决关闭inception检测后子查询语句仍无法正常查询的问题
  • 支持工单执行异常的信息展示和状态变更,例如执行过程中inception崩溃仍可以正常展示工单

升级步骤:

由于涉及数据变更,请注意数据备份,再执行数据库变更脚本 v1.4.3_v1.4.5.sql,更新服务

docker部署:

  • 修改yaml文件为1.4.5版本,执行docker-compose -f docker-compose.yml up -d
  • 系统设置内的BINLOG2SQL配置项路径调整为/opt/archery/src/plugins/binlog2sql/binlog2sql.py

手动部署:

  • 拉取tag1.4.5的代码,更新依赖pip install -r requirements.txt
  • 手工安装binlog2sql后修改系统设置内的BINLOG2SQL配置项路径
  • 重新启动服务

Release v1.4.3

07 Mar 14:43
Compare
Choose a tag to compare

Release date: 2019年3月7日

变更说明:
本次变更涉及到历史数据的更改, 请注意

  • 将数据库存储的工单状态从中文的“工单已完成”, “等待审核人审核” 等改为 “workflow_finish”, "workflow_manreviewing", 代码中所有涉及到中文的判断也随之改成新的英文状态判断,网页展示的状态使用国际化组件将状态转为中文。这样便于后期更改展示文案, 也精简了代码的判断逻辑
  • soarsqladvisor 转为插件, 将这两个软件安装在sql/plugins 文件夹内,并且抽象了一些plugin的方法,方便拓展 #59
  • 优化SQL查询结果页的tab新增逻辑,查看表结构时tab页显示表名
  • 回滚页面增加导出功能,查询历史增加完整SQL列(默认隐藏)
  • display修改为not null,避免出现无中文名时的错误信息
  • 修改列表获取count和数据的方式,代码更简洁
  • 消息模块和SQL优化模块代码清理

修复说明:

升级步骤:

由于涉及到工单状态, 建议先停服务,再执行数据库变更脚本 v1.4.2_v1.4.3.sql之后更新服务

docker部署:

  • 修改yaml文件为1.4.3版本,执行docker-compose -f docker-compose.yml up -d
  • SQLADVISOR_PATH路径调整为/opt/archery/src/plugins/sqladvisor
  • SOAR_PATH路径调整为/opt/archery/src/plugins/soar

手动部署:

  • 拉取tag1.4.3的代码
  • 安装gettext(用于国际化展示) yum install gettext
  • 重新启动服务

Release v1.4.2

17 Feb 04:01
Compare
Choose a tag to compare

Release date: 2019年2月17日

Bug修正版:

  • Fixed #47 #48 #50
  • 解决 themis提交非对象类型的审核任务报错的问题
  • 调整策略,已登录的用户打开登录页时直接跳转主页

已知Bug: