AsterDrive v0.3.0
Immutable
release. Only release title and notes can be modified.
Release Highlights
AsterDrive 0.3.0 正式发布。 在 v0.3.0 beta / RC 线(Azure Blob 与 OneDrive 驱动、统一 StorageConnector 抽象、对象存储术语统一与凭据脱敏、内联预览走预签名直链、审计日志无限期保留等)基础上,本版本收口公开分享预览的缓存稳定性与 CI 构建流水线,把 0.3.0 系列从 RC 阶段推进到稳定发布。
- 预览资源缓存身份稳定化 — 公开分享预览响应返回 canonical ETag(blob hash),前端按 stable identity 复用 blob / text 缓存,跨过期 preview token 共享同一份资源
- 条件请求 no longer 触发 CORS 预检 —
If-None-Match条件请求留在 same-origin,不再 302 到预签名对象存储 URL - CI 前端构建独立化 — GitHub Actions 把前端构建拆成独立
build-frontendjob,下游 build / integration-backends 通过 artifact 下载产物,避免重复构建与 Rust cache 污染 - 依赖升级 —
react-image-crop11.0.10 → 11.1.2,@typescript/native-preview升至7.0.0-dev.20260622.1
Added
- 预览资源 stable identity 类型
- 前端新增
ResourceRequest类型区分cacheKey/etag/requestPath,新增resourceCacheKey/resourceRequestPath/resourceCanonicalEtag辅助函数集中处理 useBlobUrl/useTextContent按 stable identity 缓存,提供 canonical ETag 时跳过If-None-Match条件请求- 各预览组件(
BlobImagePreview/PdfPreview/CsvTablePreview/JsonPreview/MarkdownPreview/TextCodePreview/XmlPreview/FilePreviewBody/ImagePreviewPanel)接受ResourcePath(string |ResourceRequest) PreviewLinkInfo新增 canonical etag 字段(blob hash),公开分享预览响应携带稳定身份- 新增
resourceRequest/useBlobUrl/useTextContent单元测试覆盖 cache key 回落与条件重验证逻辑
- 前端新增
Changed
-
条件请求 same-origin 收敛
file_service::download::build在 presigned redirect 前拒绝条件请求(If-None-Match),避免浏览器跨 origin 携带条件触发 CORS 预检preview_link_service在响应中携带 canonical ETag,供前端复用缓存
-
CI 前端构建独立 job
rust.yml新增build-frontendjob 单独构建前端并上传 artifact,build/integration-backends改为needs: build-frontend并通过download-artifact拉取frontend-panel/dist- 移除原先散落在
build/integration-backends中的Setup bun与Build frontend步骤,避免 Rust cache 被前端产物污染
-
预览组件路径类型统一
- 前端预览组件从内联类型定义改为导入公共
ResourcePath类型,测试中的 mock helper 收敛到resourceCacheKey/resourceCanonicalEtag工具
- 前端预览组件从内联类型定义改为导入公共
-
依赖升级
react-image-crop11.0.10 → 11.1.2@typescript/native-preview升至7.0.0-dev.20260622.1
Fixed
OverviewRecentEventsSection表格列改为固定宽度 +max-w-0截断,修复内容过长时列宽抖动
Notes
- 本版本为
0.3.0系列正式发布版 - 从
v0.3.0-rc.2升级到v0.3.0没有新增数据库 migration - 生产配置 schema 未新增必需项
- Docker 用户建议使用
v0.3.0、stable或latest镜像标签;edge继续保留给后续预发布版本 - 统计数据:31 files changed, 923 insertions(+), 174 deletions(-)
- 本次范围共 2 个提交
Download
| Platform | Architecture | Archive |
|---|---|---|
| Linux | x86_64 | aster_drive_v0.3.0_linux_x86_64.tar.gz |
| Linux | x86 | aster_drive_v0.3.0_linux_i686.tar.gz |
| Linux | ARM64 | aster_drive_v0.3.0_linux_aarch64.tar.gz |
| Linux | ARMv7 | aster_drive_v0.3.0_linux_armv7.tar.gz |
| Windows | x86_64 | aster_drive_v0.3.0_windows_x86_64.exe.zip |
| Windows | x86 | aster_drive_v0.3.0_windows_i686.exe.zip |
| Windows | ARM64 | aster_drive_v0.3.0_windows_arm64.zip |
| macOS | x86_64 | aster_drive_v0.3.0_macos_x86_64.tar.gz |
| macOS | ARM64 | aster_drive_v0.3.0_macos_aarch64.tar.gz |
Extract with tar -xzf (Linux/macOS) or unzip (Windows).
Checksums: checksums.txt
Verify signatures
All release archives are signed with Sigstore cosign. To verify:
# Download checksums + signature + certificate
wget https://github.com/AsterCommunity/AsterDrive/releases/download/v0.3.0/{checksums.txt,checksums.txt.sig,checksums.txt.pem}
# Verify signature
cosign verify-blob checksums.txt \
--signature checksums.txt.sig \
--certificate checksums.txt.pem \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp 'github.com/AptS-1547/AsterDrive'
# Verify archive integrity
sha256sum -c checksums.txt