时间跨度:2026-11-01 ~ 2026-11-08,共 17 个版本。 说明:V1.3.5 之后直接进入 V1.5.0,不存在 1.4.x 系列。 全部版本均无破坏性数据结构变更,可直接在线升级。
V1.3.2(11-01)安全与性能收口
- 伪装图片拦在落盘前:jpg/png/gif/webp 额外解析一次图像结构头,解不出宽高即拒收(堵 polyglot 攻击)
- 插件市场安装的版本号参数加白名单,堵路径穿越
- 安全响应头收敛到唯一出口,补齐缓存页缺失的 3 条 CSP 指令
- 密码最短长度 6 → 8;后台二次验证有效期上限 30 天 → 7 天
- 退出登录清 Cookie 补
secure,修 HTTPS 站点「退出后又被自动登录」 - 限流抢锁失败不再放行;补齐 IPv6 内网段封禁
- 性能:插件建表语句加内容指纹,命中即不建连、不执行 SQL —— 插件初始化 234
255ms → 107123ms - 修若干「提示成功但没生效」的瑕疵:编辑帖子权限判断移到写库前、消息中心收发列名、队列重复任务、模板缺失返 500 而非空白 200
V1.3.3(11-01)切主题 / 切语言不再卡
- 切主题不再
Clear-Site-Data清整个站点缓存,也不再清空全站页面缓存(缓存本就按主题/语言/摘要三维分键) - 游客页缓存
max-age=30→no-cache,切完立刻生效 - 语言包加载 33.4ms → 1.44ms(改读
plugins_cache.json,不再逐目录 glob) - 静态资源开 gzip:
modern.css106KB → 28.2KB、editor.js236KB → 74KB - ⚠️ 已部署站点需把 gzip 段手动加进自己的 nginx 配置
V1.3.4(11-02)无伪静态可用性修复
- 修关闭伪静态时约 90 个插件的后台入口全部 404(后台路由注册门控改用
Url::requestPath()) - 在线聊天室前端 5 处写死根路径改为基于
window.FH_WEB,关伪静态后轮询/发送/撤回不再 404 - 为
code_repo、icon_generator的data/补.htaccess+web.config防护
V1.3.5(11-02)编辑器修复
- 选区去重签名与定时器由模块级全局改为按实例挂载,同页多编辑器不再互相干扰
- 清空或撤销回滚内容后重置签名,划词类插件不再「第一次不动、第二次才出现」
- Markdown 库懒加载加 15 秒超时兜底,修转换器缓存未失效
V1.5.0(11-03)微内核化 · 博客剥离
- 博客剥离为独立插件:
BlogController、Blog/BlogCategory/BlogComment模型、app/Views/blog/、后台博客管理全部移出核心 - 首页与论坛合并:
/直接由论坛渲染,移除HomeController与app/Views/home/ - 移除「站点模式」设置与博客封面实时预览
- 列表排序统一:精华 / 最后回复 / 热度共用一套缓存键后缀(
_h_r_t) - 新增
Settings::runtimeSet()供插件校准统计计数;插件启用/停用后自动失效页面缓存 - ⚠️ 大版本:博客功能需另装
blog插件
V1.5.1(11-05)插件缓存新鲜度
- 修插件启用/停用后有时仍按旧状态运行、要再刷一次才生效
- 修同一秒内连续修改插件信息被误判「无需更新」而静默忽略
- 插件开发文档同步 1.5.0 之后的新路径结构
V1.5.2(11-05)安全修复
- 封堵可直接下载的敏感路径:
app/源码、data/(含data/extern/正文)、release/core/镜像、.zip/.bak/.log/.sqlite等后缀、docs/、点开头文件、根目录一次性运维脚本 - Nginx / Apache / IIS 三套配置同步补齐
- 5 个插件 CLI 脚本补「仅 CLI 可调」守卫
- 改密码 / 改邮箱后立即吊销该用户全部登录状态
- 修在线升级锁并发覆盖、陈旧锁静默接管
- 修附件数量上限可被「发新帖 / 编辑回复 / 编辑主题」绕过
- ⚠️ 升级后请确认站点根的
nginx-server.conf/.htaccess/web.config已更新
V1.5.3(11-06)插件类名引用修复
- 修 5 个插件共 11 处仍引用已迁走的
app\Models\Blog(每次调用抛 Class not found,error.log单日可刷数千条) - SQLite 写锁等待 5s → 10s,避免高并发下
database is locked静默丢写 - ⚠️ 插件修复不在核心包内,需单独更新对应插件
V1.5.4(11-07)圆角设置 + 导航重整
- 后台「外观 → 自定义样式」是死功能(全站零渲染点),替换为**「全局圆角」三档预设 + 自定义**
- 全站 168 处硬编码圆角改走
--mn-radius*变量,后台调档即时生效 - PC 导航右侧重整为三个一级项:搜索框 / 个性设置 / 语言
- 主题设置页精简,并修掉「改一次主题就把界面偏好重置」的潜在覆盖缺陷
- 恢复 PC 搜索框(删博客时被连带删掉)
- 论坛首页悬浮按钮去掉无效的「返回」
V1.5.5(11-07)主题轻玻璃质感
- 8 个配色主题加入轻玻璃质感(三层背景光斑 + 卡片/导航/下拉半透明模糊)
- 不支持
backdrop-filter的浏览器自动退回不透明配色,不会出现字看不清 - 列表项刻意不加模糊(避免几十个合成层导致滚动掉帧)
- 淡蓝晴空导航保持不透明(半透明后白字对比度只剩 2.97,不合格)
- 修 PC 悬浮按钮定位:
right:20px相对视口 → 改贴内容区右边缘外侧 34px
V1.5.6(11-07)移动端抽屉空白
- 修手机上点汉堡按钮抽屉只显示顶部一条、下面全空
- 根因:抽屉写在 sticky 导航内部,8 个主题的
backdrop-filter把fixed包含块改写成了导航栏(高度只剩 54px) - 修法:抽屉整块移出
<nav>,汉堡按钮改$dispatch跨作用域通信 - 顺带修好抽屉层级(
z-index:1000真正生效,盖得住底部导航与悬浮按钮) - 插件开发规范升 1.8.2:新增「圆角走变量」「fixed 浮层禁放 sticky/带滤镜祖先」「改完先清缓存」
V1.5.7(11-07)模板瘦身 + PWA 外置
- 153 块长 HTML 注释改 PHP 注释(不再下发给浏览器,也不再泄露实现细节)
- PWA 两段内联脚本外置为
assets/js/pwa.js,配置改由data-*注入 - 修掉「关掉 PWA 后已注册的 Service Worker 一直活着」的老 bug
- 首页 HTML 137,306 → 128,793 字节(−6.2%)
V1.5.8(11-07)插件内核性能重构
- 插件内核单轮开销 21.3ms → 2.9ms(−86.2%),每请求省约 18ms 纯 CPU
- 楼层号永久稳定 +
?floor=N永久链接(删中间楼层后,后面楼层号不再整体前移) - 新增「插件 UI 入口开关」10 个入口(可单独关某个插件的某个 UI 位置,不必停用整个插件)
- 插件错误隔离:单个插件抛异常不再把整页变成半截 HTML,附运行健康档案
- 新增全局 CSRF 门禁
CsrfGate plugins/目录零改动,任何插件无需适配即可升级
V1.5.9(11-08)安全加固
- 登录锁定从「可锁死任意账号」改为「只能锁自己」(原锁定键只含用户名、5 次失败锁 15 分钟,而 IP 限流是 20 次/15 分钟 → 拦不住)
- HTTPS 判定收敛为唯一口径(5 处 → 1 处)
- 验证码升级:PoW 不再是唯一判据,失败 3 次即要求验证码(原逻辑对自动化攻击永远不成立)
?r=路由别名先归一化再判断,堵//绕过后台枚举守卫- 权限判定唯一真源:
group_id === 4硬编码 6 处 → 0 处 - 发版门禁补严:
.bak-<时间戳>副本不再混进包 - 兼容点:
content_review需同步升到 2.2.1
V1.5.10(11-08)无伪静态站点可用性
- 修插件商店授权永远走不完:Hub 回跳地址缺
/index.php→ 404 - 伪静态配置读取异常时自动降级,不再出现「全站链接缺 index.php、插件入口点不开」
- 官方 Hub 站需先把
market_hub升到 1.3.1,再让客户端升核心
V1.5.11(11-08)伪静态判定改实测
- 后台伪静态开关「明明开了却显示未勾选」修复(回显改读配置真值)
- 「检测」按钮不再误报「未开启」,配置=开但规则没生效的站会拿到
http_404这类具体原因 - 安全阀从「看请求长相猜」改为服务端实测(只在后台、只在直连形态探,只有 404 才降级)
- 修关闭伪静态后 4 个插件丢样式(静态资源误用
Url::webBase()→ 改Url::base()) - 涉及插件:
blog1.0.2、cap_verify1.3.1、horoscope1.1.1、market_hub1.3.2
V1.5.12(11-08)init_after 聚合戳门控
/thread/1单次请求原本要 include 41 个init_after.php、连带加载 29 个插件类,只为确认「表早就建好了」- 新增聚合戳门控(
data/runtime/init_after.<指纹>.ok,TTL 60 秒),命中即一个钩子文件都不 include - 插件启用/停用/升级、后台清缓存、核心升级 → 戳立刻作废
- 实测页面耗时 0.2265s → 0.1238s(−45.3%),SQL 语句 84 → 69
- ⚠️ 行为变更:
init_after语义变为「最多每 60 秒执行一次」,插件里的周期任务节流间隔必须 ≤ 60 秒
升级提醒
- 升级前备份
config.php与data/。 - 升级后到后台「维护 → 清理缓存」点一次(
settings_cache.php不会自动补新键)。 - V1.5.2 起站点根的
nginx-server.conf/.htaccess/web.config有安全规则新增,自行改过这几份文件的需手动合并。