Skip to content

Compatibility and Support Matrix

This page is the public source of truth for Legato package compatibility and support boundaries.

Use this matrix before any install or upgrade decision. It tells you which package lines are expected to work together, what is explicitly supported, and what must still be validated in your own app.

If your team needs one rule: do not approve a rollout until your selected package line, peer dependencies, and capability assumptions all pass this page and your CI checks.

How to use this page before install or upgrade

Section titled “How to use this page before install or upgrade”
  1. Identify your consumer profile: contract-only or Capacitor runtime.
  2. Confirm package major-line alignment and peer dependency requirements.
  3. Check support boundaries and known limitations on this page.
  4. Validate runtime behavior in your app CI/device smoke tests.
  5. Read the target release notes in Releases before promoting to production.

This page covers:

  • Published npm package lines for @ddgutierrezc/legato-contract and @ddgutierrezc/legato-capacitor
  • Declared dependency compatibility between those packages
  • Public scope of the legato native CLI shipped by @ddgutierrezc/legato-capacitor

This page does not cover:

  • Guarantees about every host-app architecture or every Capacitor plugin combination
  • Runtime behavior promises beyond the documented contract/error/capability surfaces
  • Native artifact version matrices not explicitly published in public release notes

Read this section as a support boundary contract:

  • Items listed as covered are within the public compatibility commitment.
  • Items listed as not covered require consumer-owned verification before production rollout.
PackageSourcePublic version observed
@ddgutierrezc/legato-contractpackages/contract/package.json1.0.0
@ddgutierrezc/legato-capacitorpackages/capacitor/package.json1.0.0

These values reflect repository metadata at the time this documentation snapshot was written.

Enterprise note: treat this as a documentation snapshot, then verify your exact lockfile/runtime state in CI before rollout.

@ddgutierrezc/legato-capacitor declares:

  • peerDependencies["@ddgutierrezc/legato-contract"]: ^1.0.0
  • peerDependencies["@capacitor/core"]: ^8.0.0

Interpretation:

  • Capacitor consumers SHOULD align with @ddgutierrezc/legato-contract in the 1.x line.
  • Capacitor host apps are expected to satisfy the @capacitor/core ^8.0.0 peer range.
  • Exact host-platform/version permutations are not fully enumerated here; validate in your app CI.

Decision rule:

  • If your app does not satisfy the peer ranges, do not treat the integration as supported.

@ddgutierrezc/legato-contract is library-only and defines:

  • Type-level contract surface (tracks, snapshots, playback state, queue model)
  • Stable event-name and payload maps
  • Stable error-code literals and capability literals

Compatibility expectation for contract-only consumers:

  • Branch behavior on stable literals (error.code, capability names, event names).
  • Treat human-readable text (error.message) as diagnostic, not compatibility key.

Known limitation:

  • This matrix does not guarantee compatibility for custom adapters that depend on undocumented fields or message text.

@ddgutierrezc/legato-capacitor re-exports contract types and provides runtime bridge APIs:

  • audioPlayer playback operations and queries
  • mediaSession remote-control listener surface
  • Unified Legato facade and listener helpers
  • Sync controller factories (createLegatoSync, createAudioPlayerSync)

Compatibility expectation for runtime consumers:

  • Capability-dependent operations (for example seek) MUST be gated by getCapabilities().
  • Event payload handling SHOULD use the documented payload maps and stable event names.

Known limitation:

  • This matrix does not certify every OEM/device/background-policy permutation; production readiness still depends on your own device matrix tests.

legato native is bundled from the package bin entry and publicly documents only the native command group:

  • legato native doctor [--json]
  • legato native configure --dry-run [--json]
  • legato native configure --apply [--json]

Compatibility boundary:

  • CLI checks/mutations are intentionally narrow and repository-layout-aware.
  • It is a maintainer/integration aid for supported paths, not a generic Capacitor project migrator.
  1. Pin or resolve to a coherent package line (contract and capacitor in compatible major versions).
  2. Satisfy @capacitor/core peer range required by @ddgutierrezc/legato-capacitor.
  3. Validate event/capability assumptions in-device using your own CI smoke tests.
  4. Read release notes before upgrades: Releases.
  • No implicit promise is made for undocumented APIs, private internals, or inferred behavior not stated in official docs and changelog.
  • Native distribution parity statements are authoritative only when explicitly recorded in release evidence.
  • This page defines compatibility intent; final rollout confidence comes from your app-specific validation.