Skip to content

Releases

Open Sync 0.5.0

Choose a tag to compare

@massimoalbarello massimoalbarello released this 02 Oct 21:46
b297b42

Every enabled sync now polls on the shared half-hourly cron. Source failures retry on the next tick, and completed syncs are not repolled during the same run. Manual runs, pauses, incremental checkpoints, queued deliveries, and delivery retry policies are preserved.

This release removes intervalMs from sync creation and removes intervalMs and nextDueAt from sync responses. There is no replacement per-sync polling deadline.

Upgrading an existing host

  • Stop the host and back up its full data directory before upgrading. Keep the existing Open Sync data directory, source identifiers, and destination identifiers.
  • Update callers and UI that use the removed fields. createOpenSync() automatically applies the forward database migration to the existing directory; it preserves checkpoints, sync configuration, poll history, provider credentials, queued deliveries, and asset bytes. Migration failures roll back and fail startup. Upgrade coverage includes a directory created by the published 0.3.1 package.
  • When upgrading from 0.3.x, also adopt the 0.4.0 startup contract: await sync.start() before accepting requests. Compiled hosts must call runOpenSyncCron() from @context-use/open-sync/cron before dynamically importing server startup, and build with splitting: true. Use Bun 1.4.0 or newer and a working OS scheduler; Linux requires a running cron service.
  • To roll back to the previous binary, restore the pre-upgrade backup first. The forward migration removes the obsolete polling columns.

Install with bun add @context-use/open-sync@0.5.0. The attached binary is the standalone Linux x86_64 application.

Changes: #53.

Open Sync 0.4.0

Choose a tag to compare

@massimoalbarello massimoalbarello released this 02 Oct 17:15
500b8ca

Open Sync now checks for due sync work every half hour through Bun's OS cron integration. The same scheduler works in the standalone app and embedded binaries, and wakes a sleeping nibrun app. Scheduled checks use the existing worker and wait for it to finish; overlapping requests share the active run.

This release also includes Google Calendar sync in the standalone dashboard.

Upgrading embedding applications

  • Use Bun 1.4.0 or newer and await sync.start() before accepting requests.
  • Compiled applications must call runOpenSyncCron() from @context-use/open-sync/cron in a small entrypoint before dynamically importing normal server startup. Build with splitting: true; see the embedding example.
  • Linux hosts need a running cron service; Bun uses launchd on macOS. Polling and retries can wait until the next half-hourly check.

Install the package with bun add @context-use/open-sync@0.4.0, or use the attached Linux x86_64 binary for the standalone app.

Changes: #49, #51, #52.

nibrun deployment

nibrun deployment Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 23 Sep 13:13
b297b42

Built from b297b42. The Linux x86_64 binary includes the dashboard and migrations. These assets are replaced after the binary and browser checks pass on main.

Open Sync 0.3.1

Choose a tag to compare

@massimoalbarello massimoalbarello released this 01 Oct 20:15
72a702f

Publish the YouTube OAuth dependency fix from #48: Open Sync now pins Open Connector 1.7.0, including the identity scopes required for YouTube account validation. Consumers no longer need a transitive dependency override.

Open Sync 0.3.0

Choose a tag to compare

@massimoalbarello massimoalbarello released this 23 Sep 17:10
7d71c02

Open Sync 0.3.0 is a breaking beta release focused on a smaller headless engine and explicit source/destination contracts.

  • Register host-owned sources and destinations by name. Configured syncs replace installations; implementation versioning is removed.
  • Sources return atomic steps with complete records, checkpoints and captured asset references. Records use explicit data, Markdown content, preview and source timestamps.
  • Destinations receive an original deliverable containing records, asset descriptors and fresh asset streams. Acceptance is at least once; destinations own durable storage, replay safety and any reference rewriting.
  • Resync restarts from the initial checkpoint and redelivers every returned record, then resumes normal change detection.
  • Keep engine tables private and expose scoped management APIs, including cursor-paginated polling history and pending deliverables.
  • Remove asset receipts, persistent upload mappings, generic rendering, implementation versioning, per-sync quotas and unused hooks. Keep atomic checkpoint/outbox commits, lease fencing, ordered retries and delivery-owned asset cleanup.

Requires Bun 1.4.0 or newer. Start with a fresh engine data directory; 0.2.x database and authoring API compatibility is intentionally not provided. Replace configured syncs when changing a source checkpoint or destination contract incompatibly. The host owns provider authorization policy and durable destination data.

Install: bun add @context-use/open-sync@0.3.0

Open Sync 0.2.1

Choose a tag to compare

@massimoalbarello massimoalbarello released this 21 Sep 09:39
019c5e0

Publish @context-use/open-sync@0.2.1.

  • Use Open Connector 1.6.3's supported selective-provider build API, removing Open Sync's private package-layout adapter.
  • Preserve getOpenSyncBuildOptions and provider discovery for existing build callers.
  • Include provider catalog pagination and search, deferred connection setup, and reauthorization improvements added since 0.2.0.

Validated with package tests, independently installed consumers, selected-provider and empty-provider executables, application builds, and browser checks.