[新功能]
模块升级时支持 hookUpgrade 升级钩子
[新功能]
支持 AdminApi 管理接口发帖和回帖(可指定用户ID,免审核通过,支持自定义时间)
[新功能]
支持 AdminApi 管理接口发帖和回帖(可指定用户ID,免审核通过)
[新功能]
支持接收 AI 自动文章投递(AiAutoArticle)并发布新闻资讯
[新功能]
支持接收 AI 自动文章投递(AiAutoArticle)并发布通用文章
[新功能]
自动化测试框架支持 TestCase::describe 分组结构与 UI 界面测试阶段
[新功能]
UI 界面测试支持真实浏览器驱动(Chrome headless),后台登录验证码可通过环境变量忽略
[新功能]
UI 界面测试支持 SHOW_BROWSER 环境变量控制浏览器显示/无头模式,便于本地调试
[新功能]
自动化测试框架支持模块自动截图 TestScreenShot(CDP 截图、默认 1100x800、Imagick 系统库压缩)
[新功能]
模块 config.json 新增 requireOptional 可选依赖字段,保证已启用依赖模块时按依赖顺序安装
[新功能]
命令行安装命令 modstart:init 支持 --demo 选项,安装时自动导入演示数据
[新功能]
pay_order 增加 memberUserId 字段,作为「统一付费事实源」
[新功能]
config.json 增加 requireOptional 可选依赖 PayCenter,保证已启用支付时 PayCenter 优先安装
[新功能]
PayOrderUtil::backfillMemberUserIdByBiz 方法,支持按业务模块回填历史订单的 memberUserId
[新功能]
模块 config.json 新增 requireOptional 可选依赖字段,保证已启用依赖模块时按依赖顺序安装
[新功能]
模块升级时支持 hookUpgraded 升级钩子
[新功能]
AdminApi 话题分类列表接口
[新功能]
AdminApi 会员昵称搜索接口
[新功能]
SUI 基础库 Brick UI 预览控制台顶栏新增当前页面预览链接,点击可一键复制
[新功能]
测试框架 TestCase 支持 assertSame 严格相等断言
[新功能]
测试框架 TestCase 支持 assertError 断言接口返回错误
[新功能]
余额充值/VIP 开通订单历史数据自动回填 memberUserId(pay_order 统一付费事实源)
[新功能]
智能 Redis Session 处理器(smart_redis),登录用户 Session 长期有效(默认 30 天),游客 Session 短时有效(默认 1 小时)
[新功能]
创建支付订单时自动获取并写入当前登录用户ID(prepareOrder)
[新功能]
新增命令行命令 Vendor:BladeTailwindInject,扫描 Blade 中使用的 TailwindCSS 类并编译为独立 CSS 文件
[新功能]
AdminApi 会员昵称搜索接口
[新功能]
自动化测试框架 TestHttp 支持文件上传(postFile)与原始响应断言(response)
[新功能]
AdminApi 会员 random_by 接口(支持 msType、username、nickname 字段查询)
[系统优化]
自动化测试命令 modstart:seed-test 支持单实例运行,锁文件位于 _temp 目录并记录持有进程 PID,冲突时打印持有 PID 且自动忽略已退出进程的残留锁
[系统优化]
后台创建用户和重置密码不再受用户名最小长度和密码强度限制
[系统优化]
删除 PayCenter:PayOrderMemberUserIdBackfill 命令,历史数据回填统一由各模块数据迁移完成
[系统优化]
自动化测试命令 modstart:seed-test 支持单实例运行,避免并发测试互相干扰
[系统优化]
BladeTailwindInject 命令支持多层目录 Blade 路径(如 cms/list/default.blade.php),CSS 输出按目录用 - 连接命名
[系统优化]
站点主题预览参数 msSiteTemplate 支持跨请求持久化,避免点击链接后主题丢失
[系统优化]
SUI 基础库后台管理标签页 iframe 加载态美化(原骨架条纹背景替换为主色氛围光晕 + 旋转指示器 + 加载中文字)
[系统优化]
站点主题预览参数 msSiteTemplate 支持 _reset_ 重置当前会话的主题选择
[系统优化]
后端字段与筛选表单控件尺寸统一(mini 调整为 small)
[系统优化]
发布静态资源输出精简,仅显示模块资源相对路径
[系统优化]
测试环境校验支持本地 127.0.0.1 数据库地址
[系统优化]
注册页面登录链接支持 dialog 参数传递
[系统优化]
前端资源补充 js-base64 编解码依赖声明
[系统优化]
充值支付通知标题显示优化
[系统优化]
图片压缩优先使用 Imagick 系统库,压缩效率更高
[系统优化]
模块截图仅截取 iframe 内容区(后台页面自动追加 _is_tab=1)
[系统优化]
演示数据导入逻辑抽取为公共工具类 InstallUtil,Web 安装向导与命令行安装共用
[系统优化]
安装向导演示数据导入逻辑抽取为公共工具类,与命令行安装共用实现
[系统优化]
API接口文档注解完善
[系统优化]
API接口文档注解完善
[系统优化]
智能 Redis Session 处理器注册方式优化,改为框架核心自动注册,Session key 默认带应用名前缀
[Bug修复]
InputPackage::getSearchInput 在 search 参数缺失时返回数组导致接口调用异常
[Bug修复]
会员数据访客上传接口(ueditor_guest)增加 SSRF 与 SVG 存储型 XSS 防护
[Bug修复]
ShellUtil 隔离子进程环境变量,避免子进程继承父站点 .env 配置导致运行错乱
[Bug修复]
PayOrderUtil 批量回填方法兼容 PHP5.6 语法(移除 (clone )->count() 写法)
[Bug修复]
模块安装或迁移失败时命令退出码不为0,部署流程可正确检测失败
[Bug修复]
Redis Session 前缀优先使用真实 APP_NAME,避免多站点共用 Redis 时 Session 冲突
[Bug修复]
文件上传 SVG 内容未清洗导致存储型 XSS 风险,统一移除脚本、事件属性与危险协议链接
[Bug修复]
UEditor 图片抓取接口存在 SSRF 风险,新增内网/保留地址拦截
[Bug修复]
FileManager 兼容 PHP 8.1+(字符串插值写法与 null 参数防护),避免文件上传/管理时触发 Deprecated 警告
[Bug修复]
FileUtil::savePathToLocalTemp 支持 ssrfConfig 选项,可对 HTTP 抓取启用 SSRF 防护,拒绝内网/保留地址
[Bug修复]
会员头像接口增加 SSRF 防护,拒绝通过 URL 方式抓取内网/保留地址
[Bug修复]
FileUtil::extension 获取文件后缀时未过滤 URL 查询参数,导致文件名过长或包含特殊字符
[Bug修复]
增加 PayCenterBiz 命名空间引用,修复模块安装迁移时的 Class not found
[Bug修复]
回填分页改为基于 id 游标,修复 OFFSET 分页在数据更新后错位导致漏回填
[Bug修复]
后台语言切换接口 switch_lang 存在开放重定向风险,跳转地址增加同源校验