[缓存失效] 修复后台 SMTP 测试邮件误用 _include() 加载动态配置文件导致读取旧缓存(admin/route/setting.php,改 plain include)
[组件混用] 18 个 admin 视图统一改用 setBtnLoading 替代 $.fn.button polyfill(view/js/bootstrap-plugin.js 新增公共函数,56 处替换)
[逻辑错误] 修复 xn_send_mail() 失败时错误信息丢失(@return bool|string 文档与实现不一致,4 个调用方拿不到 SMTP 错误)
[边界未校验] 修复删除主题/回帖时 user/forum/thread counter 递减未做下限保护可导致负数(新增 user_dec/forum_dec/thread_dec 辅助函数 + GREATEST 保护)
[逻辑错误] 重构验证码页 post/reply 主开关与用户组勾选的派生状态问题(升级为主开关+子配置方案,前端联动+后端简化)
[缓存失效] 修复 thread_update 移动帖子时未清理全局置顶帖缓存(top=3 移动后首页 5 分钟内仍指向原版块)
[缓存失效] 修复 route/mod.php move 操作未清理首页聚合列表缓存(移动后 60s 内首页不刷新)
[缓存失效] 改造 RankService 6 处手写 cache_get/cache_set 为 CacheHelper::remember 规范写法(3 函数各 1 对样板合并为 1 次 remember)
[缓存失效] 修复 AuditService::reject() 单条驳回未清理版块/首页列表缓存(与 batch_reject 行为对齐)
[逻辑错误] 优化后台 SMTP 测试邮件失败返回速度(xn_send_mail 新增 timeout 参数控制 SSL 握手,测试邮件 5s 内返回)
[功能增强] xnx_medal 勋章申请接入 AdminNotifyService 管理员审核通知(conf.json 1.0.1→1.0.2,三语言包补 7 键)
[功能新增] xnx_ad_selfbuy 接入 AdminNotifyService 管理员审核通知(conf.json 1.2.0→1.3.0,install/upgrade/route/Service 四处同步)
[功能新增] xnx_appcenter v1.5.0 接入 AdminNotifyService(开发者资料审核+应用上架审核双通道+防抖去重)
[配置不同步] xnx_verify 接入 AdminNotifyService 管理员审核通知(conf.json 1.0.0→1.0.1)
[功能接入] xnx_report 接入 AdminNotifyService(独立 kv 表+setting 表双写,conf.json 1.0.0→1.0.1)
[逻辑错误] 修复发帖需要审核时跳转到版块页且提示硬编码中文(改跳 thread_url 详情页+走 lang(),三语言包补键)
[变量未定义] 修复 xnx_hidden 购买解锁时 $settings 未初始化导致平台抽成按 0% 计算(财务 bug)
[边界未校验] 修复 route/attach.php 下载附件时主题被删除导致 $thread['fid'] 未定义 + 误导提示"无权下载"(download/fetch 两处补 empty 守卫)
[变量未定义] 修复 xnx_appcenter 我的应用页模板臆想 $conf['root_url'] 不存在的配置项(改用 data-delete-url 属性)
[逻辑错误] 修复 xnx_duel getRankList win/join 分支返回字段不一致 + 模板硬编码 winner_uid/total_won(统一为 uid/score/cnt/last_time)
[逻辑错误] 修复 admin setting 路由未检查插件 enable/installed 状态导致未启用插件 setting.php fatal(三语言包补 plugin_not_enabled_or_installed 键)
[类型误用] 修复核心层 db_array_to_*_sqladd 缺少 is_array 检查导致 Array to string conversion(一处修复根治所有插件同类问题)
[变量未定义] 修复 xnx_feeds setting.htm 模板裸取键 + 新建 upgrade.php 幂等补齐存量配置(conf.json 1.3.0→1.3.1)
[异步竞态] 修复插件卸载/禁用并发触发时 xn_unlink/xn_rmdir 报 No such file or directory(加 @ 抑制器)
[信息泄露] 删除 xnx_ad_selfbuy 残留调试代码 xn_log('[ad_route] POST entry ...', 'error')
[异步竞态] 修复 thread-like / thread-favorite 触发 PDO 2014(CreditsRuleService GET_LOCK 未 closeCursor + RELEASE_LOCK 用 exec 无效)
[表结构不同步] 修复 mod-digest 批量加精时 bbs_user/bbs_forum Unknown column 'digests'(install.sql+UpgradeService 补字段,需跑一次后台升级)
[变量未定义] 修复 xnx_status StatusService.php 硬编码 SQL 直查 display_name 虚拟字段(改用 user_find_by_uids,已违反 2 次共影响 6 插件)
