# Changelog 本仓库自 **v1.0.0** 起作为正式版维护;此前历史提交已归档重置。 ## [1.1.4] - 2026-08-28 ### 新增 - 上传目录可按年/月分组或扁平保存(`storage_use_date_path` / `STORAGE_USE_DATE_PATH`),设置页可切换 - 双域名分离下网站域禁止直链出图,仅图片域可访问图片路径 ### 改进 - 隐藏 `images/` 前缀时外链改为仅文件名(如 `xxx.webp`);图片域仍兼容旧版 `/2026/08/xxx.webp` 短链 - 设置页重构:功能开关、域名配置、存储路径分组展示 - 本地磁盘索引扫描支持扁平路径;文件夹列表 `images` 置顶 ## [1.1.3] - 2026-08-27 ### 新增 - 后台与图片域名分离(`SITE_BASE_URL` / `IMAGE_BASE_URL`):单实例双域名,Host 中间件隔离图片域非图片路径 - `/setup` 与系统设置支持启用/关闭域名分离,设置页可后续关闭并恢复单域 - 可选隐藏外链中的 `images/` 前缀(多文件夹时确认提示) - 设置页加载时检测 GitHub 最新版本并提示更新 - 双域名部署文档(Nginx / Lucky / 本地 hosts 测试):`docs/domain-separation.md` ### 改进 - 双域名下防盗链自动放行网站域与图片域主机名 - 开发服务器默认绑定 `127.0.0.1:3000`,便于 hosts 双域本地测试 - API 文档补充自定义文件夹的 cURL 示例 ### 其他 - 许可证变更为 GPL-3.0-only - `scripts/` 目录改为本地维护,不再纳入仓库 ## [1.1.2] - 2026-08-26 ### 新增 - 操作日志页(`/logs`):记录上传/删除,管理员可查看全部用户并筛选 - 图库记录支持按存储后端筛选 - 上传 IP / API Token 限流(15 分钟窗口) ### 改进 - 操作日志记录存储后端;图库卡片可展示存储来源 - 存储筛选下拉固定「本地磁盘」排在第二位 - 系统设置页版本号链接至 GitHub Releases ### 修复 - 修复删除存储后端后确认弹窗闪出空名称 ## [1.1.1] - 2026-08-26 ### 修复 - 移除启动时自动创建的空白「S3 兼容存储」占位;升级后自动清理旧占位记录 - 修复管理页切换路由时反复闪现「正在验证登录状态」 - 修复静默会话校验后设置 / 统计 / API 页不加载数据 ### 改进 - Docker 日志:4xx/5xx 分级输出,记录错误原因与堆栈;上传/启动任务失败写入详细错误 ## [1.1.0] - 2026-08-26 ### 新增 - S3 兼容对象存储后端(R2 / AWS S3 / 腾讯云 COS / 阿里云 OSS) - `storage_backends` + `images` 索引表,列表/搜索/统计改查 SQLite - 混合直链:`proxy`(默认,PicHost 代理)与 `public`(302 到 CDN) - 管理员 `/storage` 存储管理页:多后端卡片、用量条、添加/编辑/删除云存储实例 - 可选环境变量覆盖存储配置(`STORAGE_BACKEND`、`S3_*`) ### 改进 - 启动时自动将本地磁盘图片扫描迁入 `images` 索引(幂等) - 上传/删除/直链/auto-delete 按 `backend_id` 路由到对应后端 ## [1.0.4] - 2026-08-25 ### 新增 - 密码输入框支持显示/隐藏切换(`PasswordInput` 组件,含无障碍文案) ### 改进 - 遗留 `ADMIN_SECRET` 部署:`/setup`、`/register` 路由与 `needsMigration` 检测对齐 - 合并重复的密码不一致 i18n 文案;移除未使用的 `jose` 依赖 ### 修复 - 修复 `PasswordInput` 导致 CI typecheck 失败 ## [1.0.3] - 2026-08-23 ### 修复 - 修复 CI typecheck 失败(移动端菜单、i18n、统计页图库刷新) - Docker 构建:arm64 改用原生 ARM Runner,避免 QEMU 下 `npm ci` 极慢 - Docker 构建:启用 npm 缓存挂载,加快依赖安装 ## [1.0.2] - 2026-08-23 ### 新增 - 中英文界面(`@nuxtjs/i18n`),语言切换与主题切换独立菜单 - 移动端导航:汉堡菜单 + 分组用户菜单(语言 / 外观 / 账户) - Docker 忘记密码:`docker exec pichost reset-password`(随机密码,见 `server/cli/`) ### 改进 - 统计页工具栏与图库布局(桌面单行、移动端适配) - 上传卡片视觉优化(背景图、插图、悬停边框动效) - Logo 与上传区图片压缩,减小体积 ## [1.0.1] - 2026-08-22 ### 修复 - 系统设置页底部显示当前应用版本号 - 修复移动端上传偏好面板内容被裁剪、无法完整展示的问题 ## [1.0.0] - 2026-08-22 ### 新增 - 多用户账号体系:Web 引导创建管理员、用户名密码登录、可选开放注册 - 角色权限:管理员 / 普通用户;图库按 `userId` 隔离,服务端强制校验 - 个人 API Token:每用户独立 Token,脚本上传归属对应账号 - 上传偏好:客户端预压缩、WebP 质量、自动复制链接、按用户自动删除策略 - 管理员系统设置:注册开关、防盗链、访问域名、默认上传目录 - 统计页:图库浏览 / 搜索 / 批量删除;管理员显示注册用户数量 - Twikoo / EasyImage 2.0 兼容:`POST /api/index.php` - 遗留 `ADMIN_SECRET` 一次性迁移至账号密码 ### 技术栈 - Nuxt 4 + Nuxt UI 4 - 本地磁盘存储 + SQLite - sharp 服务端 WebP 压缩 - Docker 多架构镜像(amd64 / arm64) ### 路线图 - **v1.1.2**(当前 `main`):操作日志、图库存储筛选、上传限流 [1.1.2]: https://github.com/O96u/PicHost/releases/tag/v1.1.2 [1.1.1]: https://github.com/O96u/PicHost/releases/tag/v1.1.1 [1.1.0]: https://github.com/O96u/PicHost/releases/tag/v1.1.0 [1.0.4]: https://github.com/O96u/PicHost/releases/tag/v1.0.4 [1.0.3]: https://github.com/O96u/PicHost/releases/tag/v1.0.3 [1.0.2]: https://github.com/O96u/PicHost/releases/tag/v1.0.2 [1.0.1]: https://github.com/O96u/PicHost/releases/tag/v1.0.1 [1.0.0]: https://github.com/O96u/PicHost/releases/tag/v1.0.0