Skip to content

Releases: kavinsood/yaos

1.6.1

16 Apr 17:49

Choose a tag to compare

Fixed a sync edge case where bulk re-imported notes on previously deleted paths could stay hidden on iOS by treating local file-create intent as authoritative and reviving tombstoned markdown paths automatically.

1.6.0

15 Apr 21:07

Choose a tag to compare

This release hardens YAOS against frontmatter corruption, based on real incident traces and follow-up stress testing.

Fixed

  • Stopped recovery-path amplification where stale editor content could be re-applied after disk-authority repair.
  • Added containment guards for unsafe frontmatter transitions on both disk->CRDT ingest and CRDT->disk flush.
  • Reduced repeated frontmatter pause-notification churn.
  • Hardened handling of transient Obsidian file-metadata race rejections.

Reliability

  • Added regressions for bound recovery non-amplification, frontmatter guard/quarantine behavior, external edit policy decisions, and inline task icon + adjacent-line boundary diff safety.
  • Added a manual Obsidian vault stress harness for frontmatter/inline-task race scenarios.

Compatibility

  • Migration required: no
  • Schema compatibility: unchanged

1.5.1

08 Apr 14:13

Choose a tag to compare

Small quality-of-life patch.

Highlights

  • Added a one-time in-app notice when you add an image, PDF, or other attachment without R2 configured, so the gap is visible instead of silent.
  • Added a callout in YAOS settings explaining attachment sync isn't active yet, with a direct link to the 1-minute R2 setup video.

1.5.0

31 Mar 04:01

Choose a tag to compare

This release hardens the Durable Object hot path, reduces reconnect overhead, and fixes a real production crash caused by observability storage. For large vaults and reconnect-heavy usage, especially on mobile or unstable networks, the server should feel more stable and cheaper to wake.

Highlights

  • Added lightweight room metadata for schema admission, so websocket compatibility checks no longer need to decode the full vault document in the common case.
  • Added single-flight room loading, so concurrent cold-start requests share one startup load instead of duplicating work.
  • Moved trace and debug handling off the hydration-critical path, so observability requests no longer wake the full room unnecessarily.
  • Serialized daily snapshot “maybe” creation inside the room, preventing duplicate work under concurrency.
  • Replaced the old single-value debug trace ring with bounded per-entry trace storage.
  • Made trace persistence fail-open, so observability failures cannot take down the sync engine.

Fixes

  • Fixed the SQLITE_TOOBIG crash loop caused by the old trace-ring storage model.
  • Added bounded trace-entry sizing so oversized trace payloads are truncated safely.
  • Added regression coverage for trace sizing, cold-start concurrency, and serialization behavior.

Upgrade

If you already use the GitHub Actions update flow introduced in 1.4.0, update normally through the YAOS server update path. No manual data migration is required.

1.4.0

25 Mar 20:58

Choose a tag to compare

This release turns server updates into a first-class workflow. YAOS now has a cleaner zero-ops update pipeline, better server capability and update-metadata wiring, safer plugin-side metadata hydration, and clearer compatibility/update errors.

Highlights

  • Added reusable GitHub Actions workflows for YAOS server update and revert operations
  • Wired update metadata through the server capabilities surface
  • Improved plugin-side metadata hydration and provider inference, with safer legacy behavior
  • Added explicit compatibility floors and clearer updater error messages
  • Documented the canonical deploy/update flow and the zero-ops update pipeline

1.3.1

24 Mar 09:45

Choose a tag to compare

This release carries the marketplace review fixes on top of the 1.3.0 startup work. It keeps the fast local-first startup path, the attachment startup gate, and the stale queued-download cleanup, and additionally clears the remaining required ObsidianReviewBot findings.

Fixes

  • Cleared the remaining required review-bot findings in the worker and plugin code
  • Removed unnecessary async signatures from synchronous code paths
  • Simplified blob reconcile typing and its call sites
  • Tightened the worker CORS response typing around websocket upgrade responses

1.3.0

21 Mar 18:16

Choose a tag to compare

This release fixes the slow startup path that could trigger Obsidian’s “plugin is taking too long to load” warning on cold or flaky
networks. Core sync startup now begins immediately, while server capabilities are refreshed in the background and cached for later
boots.

Attachment startup is also more conservative and reliable. YAOS now waits until both Obsidian’s layout and YAOS startup are ready
before draining startup-time attachment downloads, which avoids false attachment downloads and create races during early boot.

Fixes

  • Removed blocking server capability fetches from the plugin load path
  • Cached last-known server capabilities locally and reused them on startup
  • Deferred the initial debug server-trace fetch so it no longer competes with boot
  • Added startup timing traces for capability refresh and sync initialization
  • Gated startup attachment downloads until the vault model is warm enough to trust
  • Added a narrow filesystem race fallback for attachment create collisions
  • Pruned stale queued attachment downloads at gate-open when local cached hashes already match

Notes

  • This release keeps the intentional sync-core hard-delete behavior used for replicated deletes and conflict cleanup
  • Existing startup and worker validation passed before release:
    • npm run build
    • npm run lint with 0 errors, 3 warnings
    • npm run test:regressions
    • npm run test:integration:worker

Full Changelog

Full Changelog: 1.2.1...1.3.0

1.2.1

21 Mar 12:17

Choose a tag to compare

Beta release focused on marketplace review fixes.

Breaking change for beta users: command IDs were normalized to remove the plugin prefix. Rebind any custom hotkeys once after updating.

Also includes the Obsidian review cleanup, UI/settings compliance fixes, configDir-aware exclusions, and plugin-side requestUrl hardening.

1.2.0

11 Mar 22:07

Choose a tag to compare

Full Changelog: 1.1.6...1.2.0

1.1.6

07 Mar 12:13

Choose a tag to compare

Full Changelog: 1.1.5...1.1.6