# Support boundaries

Understand current capabilities and limitations before choosing syntax, frameworks, and interactions.

## Core capabilities

| Capability | Current support |
| --- | --- |
| Editing modes | Source, Live, and Locked, with independent read-only settings and shared history |
| Frameworks | Native DOM, Vue, and React; Vue and React hosts preserve application context |
| Basic syntax | Headings, emphasis, bold, links, images, code, quotes, lists, tasks, tables, text escapes, and more |
| Extension development | Field codecs, commands, rules, component views, projection layers, and lifecycle |
| Persistence | Markdown reads, incremental events, versioned external changes, and explicit document replacement |

## Optional syntax

`msfe-markdown-extras` provides frontmatter, footnotes, math, Mermaid, callouts, custom containers, superscript, subscript, highlights, insertions, emoji, abbreviations, definition lists, and typographic replacements. These require explicit installation and configuration.

`msfe-html` provides restricted static HTML rendering and does not execute document scripts by default. Code-language highlighting loads on demand from the host's language catalog.

## Boundaries to know

- Syntax support does not mean complete CommonMark or GFM rendering conformance has been certified.
- Unknown, unclosed, or unsupported structures preserve source. Math, diagram, and image failures follow each feature's fallback contract.
- Node and Mark are source-extension declarations. ProseMirror plugins and arbitrary Tiptap extensions cannot be installed directly.
- Arbitrary editable component bodies, complete complex-table interaction, and full cross-browser assistive-technology verification remain open areas.
- Yjs collaboration integration is not currently provided; versioned changes do not replace a collaboration protocol.

## Documentation and versions

The API is experimental. Use documentation matching your application's package versions and keep dependency configuration for public exports and complete examples. This site's API signatures, copyable examples, and AI text are generated from the same sources.

## Built-in, examples and host work

| Category | Documented content |
| --- | --- |
| Built-in | StarterKit, optional Markdown extras, restricted HTML, framework hosts |
| Runnable extension examples | Status nodes, nested containers, code toolbar, badge grammar, Mermaid + ECharts |
| Copyable host modules | Serial autosave, state slots, input rules, private images, asynchronous range intent |
| Additional adaptation | flowchart.js, nested custom charts, servers, uploads and collaboration |

The ECharts example supports its documented data protocol and top-level fences, not every EChartsOption. React integration is documented; interactive examples run Vue. Third-party syntax ports need parsing, semantics, presentation and writing, as explained in [Markdown plugins](/en/extensions/markdown-plugins).

## Upgrade verification

Pin compatible packages and retain application source fixtures and visual checks. Verify exact patches, undo, composition, drag selection, readonly, cancellation and export on upgrades. Type checking alone is insufficient. See [Diagnostics](/en/guide/debugging).
