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”- Identify your consumer profile: contract-only or Capacitor runtime.
- Confirm package major-line alignment and peer dependency requirements.
- Check support boundaries and known limitations on this page.
- Validate runtime behavior in your app CI/device smoke tests.
- Read the target release notes in Releases before promoting to production.
Scope of this matrix
Section titled “Scope of this matrix”This page covers:
- Published npm package lines for
@ddgutierrezc/legato-contractand@ddgutierrezc/legato-capacitor - Declared dependency compatibility between those packages
- Public scope of the
legato nativeCLI 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.
Current package line (source-backed)
Section titled “Current package line (source-backed)”| Package | Source | Public version observed |
|---|---|---|
@ddgutierrezc/legato-contract | packages/contract/package.json | 1.0.0 |
@ddgutierrezc/legato-capacitor | packages/capacitor/package.json | 1.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.
Declared dependency compatibility
Section titled “Declared dependency compatibility”@ddgutierrezc/legato-capacitor declares:
peerDependencies["@ddgutierrezc/legato-contract"]: ^1.0.0peerDependencies["@capacitor/core"]: ^8.0.0
Interpretation:
- Capacitor consumers SHOULD align with
@ddgutierrezc/legato-contractin the1.xline. - Capacitor host apps are expected to satisfy the
@capacitor/core^8.0.0peer 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.
Contract package expectations
Section titled “Contract package expectations”@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.
Capacitor package expectations
Section titled “Capacitor package expectations”@ddgutierrezc/legato-capacitor re-exports contract types and provides runtime bridge APIs:
audioPlayerplayback operations and queriesmediaSessionremote-control listener surface- Unified
Legatofacade 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 CLI scope compatibility
Section titled “legato native CLI scope compatibility”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.
Practical alignment checklist
Section titled “Practical alignment checklist”- Pin or resolve to a coherent package line (
contractandcapacitorin compatible major versions). - Satisfy
@capacitor/corepeer range required by@ddgutierrezc/legato-capacitor. - Validate event/capability assumptions in-device using your own CI smoke tests.
- Read release notes before upgrades: Releases.
Known limitations and expectations
Section titled “Known limitations and expectations”- 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.