Skip to content

v2026.07.1

Choose a tag to compare

@github-actions github-actions released this 12 Jul 19:46
ef54387

What's Changed

  • chore(make): add install target for local dogfooding by @sdebruyn in #384
  • fix(sync): detect paused capacity body and stop misclassifying 403 as auth failure by @sdebruyn in #386
  • chore(ci): Bump the github-actions group with 2 updates by @dependabot[bot] in #387
  • docs: fix HTTP client and item-identifier inaccuracies by @sdebruyn in #388
  • ci: run integration tests on real PR head for same-repo PRs by @sdebruyn in #389
  • fix(config,auth): lenient account decode; purge tokens on identity mismatch by @sdebruyn in #392
  • fix(sync): deliver remote deletions incrementally with tombstones and deletion-aware anchor by @sdebruyn in #394
  • fix(fpe): apply telemetry opt-out and cache budget live on setConfig by @sdebruyn in #391
  • fix(sync): stage uploads at a temp path, commit via rename by @sdebruyn in #390
  • fix(auth): serialize in-process writers before cross-process fcntl lock by @sdebruyn in #393
  • refactor(engine): remove dead per-engine OfemAuth, fix stale docs by @sdebruyn in #395
  • fix(sync): bound Retry-After retries, jitter backoff, absorb replayed DELETE 404 by @sdebruyn in #396
  • fix(hardening): clamp date/batch bounds, scrub event name, dedupe GUID check by @sdebruyn in #398
  • refactor(fpe): share decode/delta logic; real empty trash enumerator by @sdebruyn in #399
  • fix(menu): gate auto-refresh on visibility, dedupe debounced setters by @sdebruyn in #397
  • fix(sync): gate discovery upserts to stop phantom workspace/item deltas by @sdebruyn in #400
  • fix(cache): dedup blob eviction accounting and bound the scan by @sdebruyn in #401
  • fix(sync): TTL-gate open() freshness HEAD, thread record through fetchContents by @sdebruyn in #403
  • refactor(net): unify HTTPClientError mapping and request execution by @sdebruyn in #402
  • fix(sync): prevent Int64 overflow traps in resume download and dateToNs by @sdebruyn in #404
  • feat(sync): cache-first item(for:); refresh workspace items via Fabric listing by @sdebruyn in #407
  • refactor(xpc): consolidate host/FPE XPC contract into Shared/ by @sdebruyn in #405
  • refactor(fpe): unify entry-point scaffolding and cache-retry pattern by @sdebruyn in #410
  • refactor(sync): decompose refreshFolder into orchestrated phases by @sdebruyn in #408
  • feat(xpc): add first-class reloadEngine verb, fix version-check hang by @sdebruyn in #406
  • refactor(fpe): move item resolution/creation into OfemKit (F8+S4) by @sdebruyn in #412
  • refactor(sync): decompose refreshMaterialized + bulk-read subtree etags by @sdebruyn in #409
  • docs: sync docs with landed code-review remediation by @sdebruyn in #414
  • fix(sync): discard partial spill on resume overflow so download self-heals by @sdebruyn in #415
  • test(cache): pin ws/ discovery-vs-real identifier collision by @sdebruyn in #417
  • fix(cache): ensure shard dir exists before blob move; de-flake handoff tests by @sdebruyn in #416
  • fix(telemetry,net): cancel all in-flight sends on opt-out; parse Content-Range total by @sdebruyn in #419
  • perf(xpc): add slim getBadgeStatus verb to skip cache scan on badge poll by @sdebruyn in #418
  • feat(cache): bound tombstone growth with a 30-day TTL purge + anchor-expiry guard by @sdebruyn in #420
  • feat(sync): purge orphaned item rows and materialized entries when a Fabric item vanishes by @sdebruyn in #421
  • perf(cache): advance tombstone watermark to max purged deletion, not cutoff by @sdebruyn in #422
  • feat(cache): reclaim orphaned rows + status when a workspace is removed by @sdebruyn in #423
  • ci: single source of truth for the pinned Xcode version by @sdebruyn in #431
  • fix(onelake): honest doStreamRequest doc + temp-file cleanup on all failure paths by @sdebruyn in #434
  • fix(cache): make subtree/prefix LIKE matching case-sensitive by @sdebruyn in #432
  • fix(sync): commit refreshFolder upsert+delete atomically by @sdebruyn in #436
  • fix(telemetry): rebuild sink on config reload for runtime opt-in by @sdebruyn in #435
  • fix(file-provider): redact filenames/path identifiers logged at .public by @sdebruyn in #433
  • ci(release): harden ordering, resumability and notarize budget (M12) by @sdebruyn in #444
  • refactor(file-provider): XPC reply-scaffold helper + track/cancel Tasks by @sdebruyn in #440
  • ci: lint the PR title so the squash-merge subject passes commitlint by @sdebruyn in #443
  • test(file-provider): engine-facing seam for FPE happy paths + XPC allowlist tests by @sdebruyn in #446
  • docs: reconcile contributor build/signing story + document build-ci by @sdebruyn in #439
  • fix(cache): blob dedup index, readonly host handle, honest token-fallback docs by @sdebruyn in #452
  • ci: distinct SPM cache keys, daily capacity-pause, regen on new source file by @sdebruyn in #455
  • fix(net): RetryAfterRetrier idempotency gate + cap buffered response size by @sdebruyn in #451
  • docs: fix SECURITY CLI ref, Discussions hedges, analytics comment, cask zap by @sdebruyn in #456
  • refactor(config): centralize clamp bounds, reach 0=no-limit sentinel (M9) by @sdebruyn in #448
  • docs(file-provider): record FPE watch-list items as design decisions by @sdebruyn in #460
  • test: deterministic enumerator waits, honest throttle test, migration fixture by @sdebruyn in #458
  • feat(file-provider): incremental fetchContents download progress by @sdebruyn in #462
  • refactor: drop redundant @unchecked Sendable, doc AsyncPathMutex by @sdebruyn in #464
  • refactor(cache): split CacheStore.swift into family extension files (M10b) by @sdebruyn in #467
  • refactor(sync): split SyncEngine.swift into family extension files (M10a) by @sdebruyn in #468
  • refactor(app): migrate host view models to @observable + extract doRefresh apply-block by @sdebruyn in #470
  • refactor(file-provider): extract repeated modifyItem parse prologue into one helper by @sdebruyn in #472
  • chore(ci): re-enable SwiftLint size/complexity + force_unwrapping, tighten line-length by @sdebruyn in #474
  • chore(ci): bump github/codeql-action from 4.36.2 to 4.37.0 by @dependabot[bot] in #424
  • refactor(daemon): extract setConfig per-key validation into helpers by @sdebruyn in #478
  • refactor(file-provider): extract modifyItem rename/metadata/content branch helpers by @sdebruyn in #479
  • test(sync): split SyncEngineTests by operation family and tighten test lint limits by @sdebruyn in #480
  • chore(deps): Bump github.com/azuread/microsoft-authentication-library-for-objc from 2.13.0 to 2.13.1 in /Packages/OfemKit in the swift-packages group by @dependabot[bot] in #481

Full Changelog: v2026.06.16...v2026.07.1