Files
FileHost/docs-site/guide/changelog.md
T
O96u 05cc3895f1
docs / build (push) Canceled after 0s
docs / deploy (push) Canceled after 0s
Publish Docker image / build (linux/amd64, ubuntu-latest, amd64) (push) Canceled after 0s
Publish Docker image / build (linux/arm64, ubuntu-24.04-arm, arm64) (push) Canceled after 0s
Publish Docker image / merge (push) Canceled after 0s
GitHub Release / release (push) Canceled after 0s
ci / ci (22, ubuntu-latest) (push) Canceled after 0s
release: v1.4.4
Update Cap login verification so hashwx challenges solve, while older SHA-256 keys still work.
2026-10-10 13:26:42 +08:00

231 lines
7.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 更新日志
PicHost 版本历史与重要变更说明。完整记录亦见仓库根目录 [CHANGELOG.md](https://github.com/O96u/PicHost/blob/main/CHANGELOG.md)。
---
## [1.4.4] — 2026-10-10
### 修复
- Cap 登录验证支持 hashwx,并继续兼容旧的 SHA-256 site key
## [1.4.3] — 2026-10-09
### 新增
- **Telegram 存储后端**:频道/群组存图,直链仍经 PicHost;可选 API 代理
## [1.4.2] — 2026-09-23
### 修复
- 图库批量打标与上传 Token 鉴权(含 `API_UPLOAD_TOKEN` 兼容)
### 改进
- API 页单 Token;上传 `tagNames`;标签管理排序与移动端布局;API 文档表格式
## [1.4.1] — 2026-09-16
### 新增
- **上传策略(设置 → 基础)**:大小、格式、限流、保留原图;环境变量可覆盖
- **上传 API**:可选 `tagNames` 按名称打标(自动创建或复用)
### 改进
- 登录限流可配置;设置页布局调整
## [1.4.0] — 2026-09-09
### 新增
- **标签**:每用户彩色标签;设置页管理;上传/图库批量打标;图库 OR / AND 筛选
- **操作日志**:登录、删除、设置、标签等操作;日期与用户筛选
- **API**:标签与打标接口;上传 `tagIds`;列表/统计标签筛选
### 文档
- 截图与 README 同步 v1.4 界面
## [1.3.0] — 2026-09-07
### 新增
- **站点备份 / 恢复 / 跨后端同步** 与任务中心;运维 CLI `backup-export`、`backup-restore`、`storage-sync`
## [1.2.8] — 2026-09-04
### 改进
- **双域名**:保存 / 初始化时弹出风险确认(含锁死说明与 `clear-domains` 恢复方式),不再强制校验当前 Host
### 新增
- **运维 CLI**:`clear-domains` 清除数据库域名配置(`docker exec pichost clear-domains`)
### 文档
- FAQ 与双域名、反代文档补充恢复步骤
## [1.2.7] — 2026-09-03
### 新增
- **登录验证**:登录/注册支持本地滑块、Cloudflare Turnstile、Cap;在「设置 → 访问控制」配置
- **运维 CLI**:`slider` 将验证方式重置为本地滑块(`docker exec pichost slider`)
### 改进
- 登出后登录页验证码可正常重新加载
## [1.2.6] — 2026-09-01
### 新增
- **管理界面**:设置、API、图库、存储页 UI 重构;API 页支持在线调试
- **图库筛选**:按存储后端筛选
- **存储标识**:新建 R2 / COS / OSS / S3 后端按类型生成 `r2-*`、`cos-*`、`oss-*`、`s3-*` 前缀
### 改进
- 操作日志表格样式与路径截断
- 存储后端卡片信息行布局
- 文档站与 README 截图更新
## [1.2.5] — 2026-08-31
### 新增
- **图库页**:导航「统计」改为「图库」(`/gallery`);点击图片打开详情弹层(大图、尺寸、上传方式、存储路径、链接复制)
- **列表操作**:全选 / 反选;单张删除移至详情弹层
- **上传来源**:图库 API 返回网页 / API 上传方式(来自活动日志)
### 改进
- README 补充技术栈章节
### 移除
- `/stats` 路由(不再保留兼容跳转)
## [1.2.4] — 2026-08-31
### 修复
- **访问控制留空仍拦截外链**:未配置 Referer 白名单时,浏览器直开图片正常,但博客/论坛嵌入会因 Referer 校验返回 403 图裂;现仅在配置了白名单时才启用防盗链
## [1.2.3] — 2026-08-30
### 修复
- **简短图片链接 + 按年/月分组**:纯文件名直链(如 `https://域名/xxx.webp`)不再误当成 `images/xxx.webp`,改为经 SQLite 索引反查 `images/年/月/xxx.webp`,缩略图与短链恢复正常
---
## [1.2.2] — 2026-08-30
> 升级后请**重启服务**使中间件与 API 生效。
### 双域名配置与 Host 隔离
#### 修复
| 问题 | 说明 |
| ---- | ---- |
| 管理域被误清空 | 设置页保存时,关闭双域名或仅改图片域可能把 `site_base_url` 写成空字符串,导致 UI 切回单域、管理域「消失」 |
| 配置与生效 URL 混淆 | `GET /api/settings` 的 `siteBaseUrl` / `imageBaseUrl` 曾混入当前请求的 `origin`,设置页「当前生效」与数据库配置难以区分 |
| 第三 Host 绕过隔离 | `pages.dev`、裸 IP、旧图片域等未纳入配置的 Host 此前不被中间件拦截,后台/API 可能仍可访问 |
#### 改进
**设置 API(`GET /api/settings`)**
| 字段 | 含义 |
| ---- | ---- |
| `siteBaseUrl` / `imageBaseUrl` | **配置值**(DB → 环境变量),不含 request fallback |
| `effectiveSiteBaseUrl` / `effectiveImageBaseUrl` | **直链生成用**,未配置时回退到当前请求 origin |
| `runtime.currentOrigin` | 检测到的当前访问地址(仅展示,不写入配置) |
| `runtime.hostRole` | `site` / `image` / `unknown` / `single` |
**保存 API(`PATCH /api/settings`)**
- 新增 body 字段 `domainSeparation`(`true` / `false`),显式表达是否启用双域名
- `domainSeparation: true` 时网站域与图片域**均必填**,且主机名不能相同
- `domainSeparation: false` 时允许清空网站域
- 未传 `domainSeparation` 且双域名已配置时,**禁止**单独把 `siteBaseUrl` 置空
**设置页 / 首次设置**
- 表单回填配置值;「当前生效」显示 `effective*` 字段
- 展示「检测到当前访问」地址,**不再**自动写入 `window.location.origin`
- 提供「填入检测地址」按钮(用户主动点击才填)
- 关闭双域名需确认弹窗
- 双域名开启且 `hostRole === 'unknown'` 时显示反代绕过警告
**Host 中间件**
- 双域名开启时,非 site/image 的 Host **应用层一律 404**(所有 HTTP 方法)
- 开发环境 `localhost` / `127.0.0.1` 例外,便于 `npm run dev`
- 与 Nginx `default_server` **互补**,建议两层都配置
#### 文档
- 重写 [Cloudflare / CF 优选部署](./cloudflare-deployment.md)(精简结构、检查清单、双层防护)
- 更新 [双域名分离](./domain-separation.md) 第三 Host 与应用层拦截说明
- 新增本页 **更新日志**
#### 升级说明
- **无需**数据库迁移或 CLI 操作
- 若管理域此前已被误清空:在 **设置** 中重新填写网站域,或设置环境变量 `SITE_BASE_URL` 后重启
- 生产双域名部署:确认反代 `server_name` 与设置一致;建议保留 Nginx default server
---
## [1.2.1] — 2026-08-29
### 新增
- 登录滑动拼图验证(缺口对齐);验证与登录分两步
- VitePress 文档站(`docs-site/`),部署至 GitHub Pages
- `npm run docs:dev` / `docs:build` / `docs:preview`
### 修复
- 统计页删除图片后图库不刷新
- 分页跳转输入框在 `type="number"` 下无法跳转
- 非首页路由下复制链接格式偏好不持久化
- 滑动验证 UI:滑块垂直居中、缺口尺寸与滑块一致
### 改进
- README 精简,详细说明迁入文档站
- 双域名文档补充未知 Host 风险与 Cloudflare 部署说明
---
## [1.2.0] — 2026-08-28
### 变更
- 图片统一存放在 `data/images/`;不再使用与 `images` 并列的顶层目录
### 新增
- 启动时自动同步图片索引(扫描磁盘、归一化遗留 key、清理孤儿记录)
---
## [1.1.x] 摘要
| 版本 | 要点 |
| ---- | ---- |
| 1.1.5 | API 上传后预览偶发失败修复;出图前校验文件存在 |
| 1.1.4 | 按年/月分组存储;网站域禁止直链出图 |
| 1.1.3 | 双域名分离(`SITE_BASE_URL` / `IMAGE_BASE_URL`);Host 中间件 |
| 1.1.0 | 多存储后端(S3 / R2 等) |
更早版本见 [GitHub CHANGELOG](https://github.com/O96u/PicHost/blob/main/CHANGELOG.md)。