github kavinsood/yaos 0.1.5

latest releases: 1.6.1, 1.6.0, 1.5.1...
one month ago

This release is the first major hardening pass since 0.1.2, covering 24 commits focused on sync correctness, editor stability, server hardening, and regression coverage.

Reliability and correctness

  • Replaced the old quadratic diff implementation with fast-diff, removing a major large-file performance and memory risk.
  • Hardened disk self-write suppression so local file events are acknowledged by observed content, not just timing windows.
  • Serialized plugin persistence writes to prevent saved-state races between settings, disk index, and blob queue updates.
  • Switched markdown filesystem ingest to a coalescing dirty-set drain loop, so bursty local file events are processed with natural backpressure instead of per-event churn.

Collaboration and editor stability

  • Hardened editor binding lifecycle and recovery to better handle stale or broken live bindings.
  • Improved degraded-mode handling if Obsidian changes its internal editor API, with clearer user-visible warnings instead of silent failure.
  • Reduced cursor and awareness glitches, including hiding inline remote device-name labels that could look like inserted text.

Server and security hardening

  • Moved HTTP sync requests to Authorization: Bearer authentication.
  • Added a server-side 10 MB blob upload limit to match the default attachment policy.
  • Bounded Cloudflare-side R2 and snapshot fan-out concurrency for safer operation under Workers limits.
  • Hardened snapshot ID generation and replaced regex-based XML parsing with a proper parser.

Tooling and test coverage

  • CI now runs the local regression suite and server typecheck instead of build-only verification.
  • Added focused regression coverage for:
    • diff behavior
    • disk mirror suppression and locking
    • markdown ingest coalescing
    • closed-file mirroring
    • folder rename handling
  • Pinned build inputs for more reproducible builds.

Don't miss a new yaos release

NewReleases is sending notifications on new releases.