Skip to content

AsterDrive v0.3.0

Choose a tag to compare

@github-actions github-actions released this 22 Jun 16:26
Immutable release. Only release title and notes can be modified.
v0.3.0
a1035f3

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-frontend job,下游 build / integration-backends 通过 artifact 下载产物,避免重复构建与 Rust cache 污染
  • 依赖升级react-image-crop 11.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-frontend job 单独构建前端并上传 artifact,build / integration-backends 改为 needs: build-frontend 并通过 download-artifact 拉取 frontend-panel/dist
    • 移除原先散落在 build / integration-backends 中的 Setup bunBuild frontend 步骤,避免 Rust cache 被前端产物污染
  • 预览组件路径类型统一

    • 前端预览组件从内联类型定义改为导入公共 ResourcePath 类型,测试中的 mock helper 收敛到 resourceCacheKey / resourceCanonicalEtag 工具
  • 依赖升级

    • react-image-crop 11.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.0stablelatest 镜像标签;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