Skip to content

v0.5.2

Choose a tag to compare

@yinzhenyu-su yinzhenyu-su released this 15 Oct 05:53
· 10 commits to main since this release

Changelog

Features

  • eaf440f feat(core): run batch moves concurrently and report the batch type
  • 3bea02b feat(core): support immediate retry and raw fd direct uploads
  • a4a29b4 feat(core): support multi-item batch move tasks
  • 0d3a994 feat(observability): make reads, logs and counters usable signals
  • de79037 feat(scripts): support ABI=arm64 fast AAR builds for dev iteration
  • bece864 feat(scripts): sync selected contract config to repository secret
  • 055a9a7 feat(scripts): test-layers 新增 changed 层,pre-commit 按改动路径选包
  • 2336e82 feat(task): Internal 归属落地,挂载记账任务来源改为 internal
  • 70c84e6 feat(task): 可见性独立成轴,app 默认列表按可见性过滤

Bug fixes

  • f8a13f5 fix(ci): accept any go1.27.x patch in local ci-check
  • ac6ebb8 fix(ci): accept short base32 backend names in the Windows mount smoke
  • 490005e fix(ci): make FUSE3 default and validate Windows release artifacts
  • 9957d9c fix(ci): pin setup-go to downloadable v6.4.0 release
  • 6900b33 fix(ci): unblock red GitHub Actions checks
  • c34a1ce fix(ci): update analyzers for Go 1.27 export format
  • 7300808 fix(control): drop the dead events initializer
  • 45f0254 fix(core): keep stream task and item state consistent at terminality
  • fdcc5b2 fix(core): recover upload stream tasks stuck in non-terminal states
  • cd9300d fix(core): skip failed mounts instead of blocking namespace open
  • 105f76a fix(core): use runtime tmp dir for direct driver copy buffers and refresh cache after delete
  • d2ed284 fix(crypt): stop leaking backend names through Rename and Move
  • c0b780e fix(deps): bump golang.org/x/crypto to v0.56.0 (GO-2026-6354/6355)
  • 7047dba fix(drive): stop delivering bytes after bandwidth cancellation
  • 8c28c29 fix(drivers): report the renamed or moved entry at its new location
  • 72b6126 fix(git): read pushed refs from pre-push stdin, not argv
  • 9468382 fix(logging): keep borrowed sinks open when replacing the logger
  • d048508 fix(mount): let WinFsp create the mount point directory itself
  • 6a63265 fix(mount): pin WinFsp ownership to the mounting user so writes work
  • 3720fb2 fix(release): ignore prebuilt artifacts and GoReleaser output
  • f8910dd fix(sftp): defer session expiry and prevent retry overflow
  • 4695b8c fix(sftp): use protocol paths in session expiry tests
  • c3e7470 fix(test): await VFS shutdown in stream test cleanup
  • 630f2a7 fix(test): de-flake mobile task state waits on slow Windows runners
  • 524daa3 fix(test): de-flake nightly race/regression gates
  • 4b82814 fix(test): 修掉两处赌调度的时序断言
  • 4fe969b fix(vfs): carry pending uploads through a directory rename
  • 23882d5 fix(vfs): commit the backend-reported rename identity
  • 7ad4888 fix(vfs): drop the committed view entry of a superseded upload
  • e5b8fa3 fix(vfs): format delayed delete state constructor
  • 95e936a fix(vfs): move the backend object when renaming a pending path
  • 19725c2 fix(vfs): pull staged uploads with bounded scheduling
  • 342cf51 fix(vfs): reschedule a renamed pending upload under its new path
  • 20a87c6 fix(vfs): stopVFS 同步关闭 VFS,不再让 TempDir 清理撞上异步关闭
  • e8a8efe fix(vfs): wait for a stable retry state in the replace-upload test
  • 9e57387 fix(vfs): 清理 pending 改名后残留的旧条目缓存
  • 5b01f08 fix: persist and observe resumable upload progress

Others

  • 12e889f chore(deps): bump Go toolchain to 1.27.2 and refresh x/ deps
  • de85031 chore(git): add pre-commit/pre-push hooks running local CI checks
  • 7886187 chore(git): ignore the local debug journal
  • cf66160 chore(openspec): add omp workflow skills and commands
  • ae99cf0 chore(scripts): 新增测试并行度维护脚本
  • f42cb13 docs(domain): 词汇表提取 VFS 域名词,失效拆成三义
  • b9afade docs(mobile): document mount failure reporting and direct upload hash behavior
  • 1a7c271 docs(mobile): 挂载记账任务来源措辞回归 internal scope
  • c442a18 docs(openspec): align the shadow convergence rules with the implementation
  • 129cf34 docs(openspec): archive simplify-upload-pipeline change with upload-pipeline spec
  • bf8bfa7 docs(openspec): archive the crypt wrapper name fix
  • 598f685 docs(openspec): archive the log sink probe portability fix
  • 73fff26 docs(openspec): archive the logger sink ownership fix
  • 8d4f781 docs(openspec): archive the mobile upload task observer change
  • c1353f1 docs(openspec): archive the observability changes
  • a2b86ed docs(openspec): archive the pending-rename backend-object change
  • 5c5d0c6 docs(openspec): archive the rename identity change
  • cf68867 docs(openspec): archive the staging boundary change
  • 0e6cfb7 docs(openspec): archive the stream task consistency fix
  • 438294e docs(openspec): archive the task type descriptor change
  • 8824a78 docs(openspec): archive the upload dead-code removal
  • a892c3d docs(openspec): capture the rename identity change
  • f062c02 docs(readcache): 归档按读运行区分复用的淘汰策略文档
  • 556adb3 fix(test,task): review 收口——测试时序确定化与 legacy phase 归一
  • 818627d perf(ci): trim local gate runtime and fix upload pause contract
  • 5e57477 perf(readcache): 按读运行区分缓存复用并重构淘汰策略
  • 58837bf perf(test): 并行化 pkg/vfs、pkg/core、pkg/crypt 的测试
  • ba52526 perf(upload): reduce upload read amplification in crypt and staging
  • a4172d4 perf(vfs): reuse a frozen staging generation until an upload starts
  • 5c76981 refactor(architecture): establish mobile core boundary
  • 9a7af88 refactor(core): extract local file stability service
  • 18521ab refactor(core): extract thumbnail service
  • b5cd2e5 refactor(drive): return the resulting entry from rename/move
  • 3aaea90 refactor(mobile): route media through core contracts
  • fa21fa0 refactor(mobile): route task contracts through core
  • 022949d refactor(task): Item 概念收敛,追踪面更名并拆出条目级握手状态
  • 6aad49d refactor(task): Phase 独立展示词汇,阶段标签不再复用 State 串
  • f2aafbb refactor(task): declare a task type's policy in one table
  • 701febd refactor(task): simplify task API
  • 3411d61 refactor(task): 幂等命名收敛,Go 侧统一 IdempotencyKey
  • 7190f3c refactor(upload): simplify upload pipeline
  • 99e64ec refactor(vfs): delete unreachable upload-path code and forwarding layers
  • d83e392 refactor(vfs): 失效语义拆词,InvalidatePath 更名 PublishStalePath
  • 9967a5e refactor(view): 延迟删除域状态更名 DelayedDeleteState
  • 7fedda7 test(ci): reclaim the local temp a completed test run leaves behind
  • bad5319 test(core): assert waiting_input staging tasks are dismissible
  • 3b2c667 test(crypt): pin the read cost of an encrypted upload
  • 340a58b test(logging): make the file-sink release probe portable
  • 29aacea test(vfs): pin the staging boundaries left open by the dead-code removal
  • 755108f test(vfs): 稳定 ResumePending 重试状态断言,修复 Windows CI 抖动