Platform
Versioning and compatibility
How the SDK, CLI, MCP server, and React hooks version together, and how to check what an API speaks — generated from the source.
@myna-sh/sdk, @myna-sh/cli, @myna-sh/mcp, and @myna-sh/react are released in lockstep: they are published together, from the same commit, carrying the same version number. Installing matching versions of any two of them is therefore just a matter of installing the same number.
| Package | Version documented here |
|---|---|
@myna-sh/sdk |
0.17.0 |
@myna-sh/cli |
0.17.0 |
@myna-sh/mcp |
0.17.0 |
@myna-sh/react |
0.17.0 |
This site documents the repository, not your install
These docs are generated from the source on every deploy, while npm receives tagged releases. A command or tool documented here can therefore be newer than the one you have installed. When something described here is missing locally, compare versions before assuming a bug:
myna --version
npm view @myna-sh/cli version
What the server speaks
The API declares its own compatibility at GET /v1/meta. It is public and unauthenticated, so a client can check before it holds credentials:
curl -s https://api.myna.sh/v1/meta
{
"data": {
"apiVersion": "2026-08-31",
"minClientVersion": "0.16.0",
"capabilities": [
"assets",
"assets.images",
"assets.similar",
"auth.whoami.scopes",
"auth.passkeys",
"auth.reauth",
"billing",
"change-sets",
"change-sets.checks",
"change-sets.checks.auto",
"change-sets.checks.external",
"change-sets.checks.policy",
"change-sets.checks.settings-ui",
"change-sets.checks.pending",
"change-sets.actor-identity",
"change-sets.comments",
"change-sets.diff",
"change-sets.diff.words",
"change-sets.concurrent",
"change-sets.rebase",
"change-sets.ready-for-review",
"change-sets.reviews",
"change-sets.schedule",
"entries.bulk",
"entries.duplicate",
"entries.import",
"entries.import.upsert",
"entries.reorder",
"entries.references",
"entries.search",
"entries.restore",
"entries.contention",
"keys.collection-scope",
"localization",
"localization.filters",
"localization.coverage",
"mcp.hosted",
"mcp.oauth",
"plans.internal",
"products",
"keys.admin-all",
"feedback",
"feedback.boards",
"feedback.ingest",
"feedback.ingest.signed-identity",
"feedback.identity.properties",
"feedback.boards.require-identity",
"feedback.keys.project-scope",
"feedback.keys.rotate",
"feedback.read-back",
"feedback.reporters",
"feedback.attachments",
"feedback.similar",
"feedback.retest",
"analytics",
"analytics.ingest",
"analytics.content",
"analytics.release-impact",
"analytics.friction",
"analytics.funnels",
"analytics.catalog",
"analytics.retention",
"guidance",
"releases",
"releases.revert",
"previews",
"previews.overlay",
"projects.cors-check",
"projects.access-check",
"projects.export",
"projects.origins",
"content.references",
"github.app",
"content.at",
"projects.views",
"schema.drift",
"schema.promote",
"schema.push",
"webhooks",
"webhooks.headers",
"webhooks.body-template"
]
}
}
| Field | Meaning |
|---|---|
apiVersion |
Dated version of the HTTP surface. Changes when an observable request or response shape changes. |
minClientVersion |
Oldest @myna-sh/* release this API supports. Below it, upgrade before filing a bug. |
capabilities |
Features to branch on. Entries are added when a feature ships and removed only with an apiVersion bump. |
Capabilities
| Capability | Available |
|---|---|
assets |
yes |
assets.images |
yes |
assets.similar |
yes |
auth.whoami.scopes |
yes |
auth.passkeys |
yes |
auth.reauth |
yes |
billing |
yes |
change-sets |
yes |
change-sets.checks |
yes |
change-sets.checks.auto |
yes |
change-sets.checks.external |
yes |
change-sets.checks.policy |
yes |
change-sets.checks.settings-ui |
yes |
change-sets.checks.pending |
yes |
change-sets.actor-identity |
yes |
change-sets.comments |
yes |
change-sets.diff |
yes |
change-sets.diff.words |
yes |
change-sets.concurrent |
yes |
change-sets.rebase |
yes |
change-sets.ready-for-review |
yes |
change-sets.reviews |
yes |
change-sets.schedule |
yes |
entries.bulk |
yes |
entries.duplicate |
yes |
entries.import |
yes |
entries.import.upsert |
yes |
entries.reorder |
yes |
entries.references |
yes |
entries.search |
yes |
entries.restore |
yes |
entries.contention |
yes |
keys.collection-scope |
yes |
localization |
yes |
localization.filters |
yes |
localization.coverage |
yes |
mcp.hosted |
yes |
mcp.oauth |
yes |
plans.internal |
yes |
products |
yes |
keys.admin-all |
yes |
feedback |
yes |
feedback.boards |
yes |
feedback.ingest |
yes |
feedback.ingest.signed-identity |
yes |
feedback.identity.properties |
yes |
feedback.boards.require-identity |
yes |
feedback.keys.project-scope |
yes |
feedback.keys.rotate |
yes |
feedback.read-back |
yes |
feedback.reporters |
yes |
feedback.attachments |
yes |
feedback.similar |
yes |
feedback.retest |
yes |
analytics |
yes |
analytics.ingest |
yes |
analytics.content |
yes |
analytics.release-impact |
yes |
analytics.friction |
yes |
analytics.funnels |
yes |
analytics.catalog |
yes |
analytics.retention |
yes |
guidance |
yes |
releases |
yes |
releases.revert |
yes |
previews |
yes |
previews.overlay |
yes |
projects.cors-check |
yes |
projects.access-check |
yes |
projects.export |
yes |
projects.origins |
yes |
content.references |
yes |
github.app |
yes |
content.at |
yes |
projects.views |
yes |
schema.drift |
yes |
schema.promote |
yes |
schema.push |
yes |
webhooks |
yes |
webhooks.headers |
yes |
webhooks.body-template |
yes |
Treat an absent capability as absent, not as an error: a client written against a newer API should degrade rather than fail when it talks to an older one.
