Skip to content

MXC SDK v1.0.0

Latest

Choose a tag to compare

@bbonaby bbonaby released this 07 Oct 05:54
· 36 commits to main since this release
7bf2102

MXC SDK v1.0.0 is the first stable release of the MXC SDK surface for Rust, .NET, and Node.js. It provides consistent APIs for creating and running containers, managing container lifecycles, selecting captured, piped, or terminal execution and discovering host support.

See the Assets section for mxc-release-binaries.zip, which contains signed binaries that can be useful for testing.

What's New in v1.0.0

The V1 SDK is stable

The supported public SDK is now available through explicit V1 entrypoints:

  • Rust: mxc_sdk::v1
  • .NET: Microsoft.Mxc.Sdk.V1
  • Node.js: @microsoft/mxc-sdk/v1

The three SDKs share the same operation model and policy concepts while following the conventions of each language. V1 is the stable compatibility boundary for the 1.x release line. MXC will follow semver 2.0 for future changes.

Direct execution supports captured output, live pipes, and PTYs

Callers can choose the execution model that fits their application:

  • Run to completion and receive captured stdout, stderr, warnings, metadata, and a typed outcome.
  • Spawn with pipes and interact with separate stdin, stdout, and stderr streams through an SDK-owned process handle.
  • Spawn with a PTY and interact through a caller-controlled terminal process, including initial terminal dimensions and runtime resize.

PTY support is available only when the selected backend can provide the requested terminal semantics.

Lifecycle managed APIs

The V1 lifecycle managed API supports:

  • Provisioning a container and receiving an opaque ContainerId.
  • Starting, stopping, and deprovisioning that container.
  • Running, spawning, or opening a PTY-backed process inside an existing
    container when supported.

Backend discovery, filesystem policy, and telemetry APIs

V1 includes typed APIs for:

  • Discovering available backends and their capabilities.
  • Building filesystem policy from host tool, user profile, and temporary-directory discovery.
  • Querying and managing MXC telemetry consent.

Telemetry remains Windows-only, requires explicit user consent, and is subject to administrative restrictions.

Samples and SDK Reference

Start with the examples and language guides:

The V1 SDK reference compares operations, launch choices, types, fields, containment options, and cross-SDK behavior:

Breaking Changes and Migration Notes

  • Import public APIs from the versioned V1 entrypoint for your language.
  • Replace legacy sandbox request and lifecycle types with ContainerRequest, ProvisionRequest, ExecutionRequest, ContainerId, and the corresponding operation-specific options.
  • Rebuild applications against the v1.0 SDK packages. Rust consumers must use the mxc_sdk::v1 module, .NET consumers must use the Microsoft.Mxc.Sdk.V1 namespace, and Node.js consumers must import from @microsoft/mxc-sdk/v1.

Changelog

New Contributors

Full Changelog: v0.9.0...v1.0.0