Skip to content

Releases: dcat-x/dcat-admin

v1.1.26

09 Mar 08:05

Choose a tag to compare

修复

  • DialogForm 弹窗遮罩层残留:关闭弹窗时同步隐藏 Layer shade 遮罩层,重新打开时恢复显示,解决点击关闭按钮后页面灰色遮罩无法消失的问题
  • Tree 字段闭包调用错误:修复 Closure::call() 将数组绑定为 $this 导致 PHP 8+ 报错,改为直接调用闭包

Full Changelog: v1.1.25...v1.1.26

v1.1.25

09 Mar 07:48

Choose a tag to compare

修复

  • 固定列右侧行溢出:修复 fixColumns 右侧固定列因 overflow: visible !important 导致行内容超出 max-height 溢出显示的问题,改用 Bootstrap dropdown 事件(show.bs.dropdown / hide.bs.dropdown)动态切换 overflow,确保下拉菜单正常展开且行不溢出

Full Changelog: v1.1.24...v1.1.25

v1.1.24

09 Mar 07:42

Choose a tag to compare

新功能

  • 操作审计日志:表单保存/更新/删除操作自动记录审计日志,附带 trace_id 便于链路追踪
  • 日志输出控制:新增 ControlsLogEmission trait,支持按组配置采样率、路径白名单/黑名单(config/admin.phplog_control
  • 配置健康检查增强admin:health-check 命令新增 --scope--fail-on--refresh--quiet 选项,支持分域检查与缓存 TTL
  • ErrorCode 常量类:统一 validation_failedsave_failedupdate_failed 错误码

优化

  • 权限中间件:URI 精确匹配使用哈希索引(O(1) 查找),前缀匹配按路径首段分组加载候选
  • 数据权限:角色 ID、作用域规则、隐藏列/字段均使用实例级缓存,规则异常日志自动去重
  • Helper 工具方法buildNestedArray O(n) 索引、matchRequestPath strpos + array_flip、deleteByValue 哈希查找、slug 快速路径
  • 中间件去重:重复中间件自动合并,减少不必要的执行开销
  • 控制器请求级缓存:提取 HasRequestCache trait,Menu/Permission/RoleController 共用

重构

  • 提取 ControlsLogEmission trait,Form、Permission 中间件、DataPermission、MenuController、PermissionController 统一使用
  • 检查项增加 severity 字段(warning/error),inspectByScope 支持分域检查
  • 菜单缓存配置改为 env('ADMIN_MENU_CACHE', false)

文档

  • 新建操作审计与日志控制文档 (docs/advanced/audit-log.md)
  • 新建配置健康检查文档 (docs/advanced/health-check.md)
  • 更新性能与缓存、权限控制、主题编译、固定列、批量过滤器等文档

修复

  • 修复 release workflow 重复创建 release 冲突问题
  • 修复 pint 代码风格问题(ordered_traits、unary_operator_spaces、ordered_imports 等)

Full Changelog: v1.1.23...v1.1.24

v1.1.23

09 Mar 03:27

Choose a tag to compare

Fixed

  • 固定列支持折叠操作菜单,不再强制将 DropdownActions 降级为 Actions
  • 固定列右侧下拉菜单添加 overflow: visible,确保菜单正常展开
  • 操作列和筛选按钮下拉菜单添加 dropdown-menu-right,防止右侧溢出页面

Full Changelog: v1.1.22...v1.1.23

v1.1.22

09 Mar 03:06

Choose a tag to compare

Changed

  • 将剩余 call_user_func 对象方法调用替换为直接调用
  • 将 call_user_func 闭包调用替换为具名保护方法
  • 大范围 PHPStan 静态分析修复(文档注释与类型安全)
  • 细化权限前缀匹配缓存粒度并优化角色/权限查询缓存
  • 优化权限中间件前缀匹配策略并补全角色继承支持
  • 提升 PHPStan 至 level 1 并修复静态分析问题
  • 优化权限链路缓存并补充回归测试

Fixed

  • 优化 FixColumns 固定列 JS 实现(命名空间事件、行高同步、mouseenter/mouseleave、resize 防抖)

Tests

  • 将 assertEquals 替换为 assertSame,统一使用严格相等断言(300 个文件)
  • 大规模清理冗余结构性测试断言(130 个文件)
  • 将结构性测试重构为行为验证,提取保护方法增强可测试性

Full Changelog: v1.1.21...v1.1.22

v1.1.21

02 Mar 08:54

Choose a tag to compare

What's Changed

  • fix: 修复子菜单 padding 对齐问题,统一为 1.4em

Full Changelog: v1.1.20...v1.1.21

v1.1.20

02 Mar 08:34

Choose a tag to compare

What's Changed

  • fix: 修复子菜单项 active 状态下 padding 对齐问题

Full Changelog: v1.1.19...v1.1.20

v1.1.19

02 Mar 08:08

Choose a tag to compare

What's Changed

  • feat: BatchInput 新增 batchPlaceholder 方法,layer.open 显式设置 shade

Full Changelog: v1.1.18...v1.1.19

v1.1.18

02 Mar 07:51

Choose a tag to compare

What's Changed

  • fix: 统一 layer 弹窗遮罩配置为 shade: [0.3, '#000']
  • feat: 新增 BatchInput 批量输入过滤器,支持单条搜索与批量导入

Full Changelog: v1.1.17...v1.1.18

v1.1.17

02 Mar 02:31

Choose a tag to compare

What's Changed

  • test: 第十阶段测试覆盖率提升,新增 24 个 Console 测试文件 (+247 tests, +454 assertions)
  • test: 第九阶段测试覆盖率提升,新增 32 个测试文件 (+516 tests, +619 assertions)
  • test: 第八阶段测试覆盖率提升,新增 30 个测试文件 (+509 tests, +559 assertions)
  • test: 第七阶段测试覆盖率提升,新增 24 个测试文件 (+262 tests, +307 assertions)
  • test: 第六阶段测试覆盖率提升,新增 47 个测试文件 (+425 tests, +597 assertions)
  • test: 第五阶段测试覆盖率提升,新增 32 个测试文件 (+239 tests, +406 assertions)
  • test: 第四阶段测试覆盖率提升,新增 35 个测试文件 (+239 tests, +312 assertions)

Full Changelog: v1.1.16...v1.1.17