Skip to content

Versioning

The JavaScript SDK follows semantic versioning while it remains repository- and platform-distributed.

Current release

text
Package: @opencloud/js
Version: 0.2.2
Module:  /_opencloud/sdk/js/v0.2.2/index.js
Types:   /_opencloud/sdk/js/v0.2.2/index.d.ts

Exact version paths are immutable. The platform retains independently hashed 0.2.0, 0.2.1, and 0.2.2 artifacts and serves them concurrently. Each deployment pins one installed version:

yaml
runtime:
  javascriptSdk:
    version: 0.2.0

Runtime configuration advertises the SDK selected by the active deployment:

js
const runtime = await fetch("/_opencloud/config").then((r) => r.json());
const sdk = await import(runtime.javascriptSdk.module);

if (sdk.OPEN_CLOUD_JS_VERSION !== runtime.javascriptSdk.version) {
  throw new Error("OpenCloud SDK/runtime mismatch");
}

The legacy /_opencloud/client/v1/index.js path remains temporarily available but is not a version pin. New applications must use javascriptSdk.module.

SDK 0.2.1 fixes the Realtime browser-timer receiver issue. An application deliberately pinned to frozen 0.2.0 must keep its compatibility shim. SDK 0.2.2 adds bounded custom counter and gauge emission.

Iteration policy

  • Patch releases fix behavior without changing public signatures.
  • Minor releases add compatible APIs and may tighten malformed-response checks.
  • Major releases can remove deprecated APIs.
  • Publishing or promoting an SDK changes only the default resolved for a new deployment. It never moves an active release.
  • A deployed app should import the exact version advertised by its deployment-specific runtime rather than guessing a “latest” path.
  • An SDK upgrade creates a new application release and must pass the normal browser and runtime gates. Rollback restores the previous release's SDK pin.

The package is private and is not published to npm yet.

Self-hosted infrastructure for agent-built applications.