Roadmap
Where the library stands today and what is being worked on next. For what already ships, see Feature support, and for the rough edges in what ships, Known limitations - this page covers the gaps.
This is a snapshot, not a release plan: nothing here has a date, and the order can change. In progress means the work is underway and expected in one of the next releases; planned means it is on the list without a timeline yet.
Status at a glance
The React Native package ships on iOS, Android, macOS and the web - the
iOS / Android column below is that package. The
web build covers EnrichedMarkdownText,
plus an experimental editor, and macOS runs the iOS code with a few gaps of its own. The standalone
iOS package (0.4.0) and
Android package (0.3.0) are renderers for
SwiftUI and Jetpack Compose apps, and have their own columns.
| Area | iOS / Android | iOS package | Android package | macOS | Web |
|---|---|---|---|---|---|
| CommonMark | Yes | Yes | Yes | Yes | Yes |
| GFM (tables, task lists, strikethrough, autolinks) | Yes | Yes | Yes | Yes | Yes |
| Admonitions | Yes | Yes | Yes | Yes | Yes |
| Extended Markdown (underline, superscript, subscript, highlight) | Yes | Yes | Yes | Yes | Yes |
| Spoilers | Yes | Yes | Yes | Yes | Planned |
| Videos | Yes | Planned | Planned | Yes | Yes |
| LaTeX math | Yes | Yes | Yes | Inline only | Yes |
| Code-block highlighting | Yes | Yes | Yes | Yes | Planned |
| Markdown streaming | Yes | Planned | Planned | Instant reveal | Planned |
| Smart copy | Yes | Plain text + HTML | Yes | Yes | Planned |
| Accessibility | Yes | Yes | Partial | Planned | Partial |
| RTL | Yes | Yes | Yes | Yes | Container-level |
EnrichedMarkdownTextInput (editor) | Yes | Planned | Planned | Yes | Experimental |
In the native columns, LaTeX math comes from an optional add-on - the
EnrichedMarkdownLaTeX product on iOS, the math artifact on Android - and so
does code-block highlighting: the EnrichedMarkdownSyntaxHighlighting product on
iOS, the code-highlight artifact on Android. The iOS package's smart copy writes plain text and HTML, with no RTF
or RTFD flavor. The Android package's accessibility strings are hard-coded
English with no way to override them.
In progress
macOS
- Block math. A
$$...$$equation underflavor="github"currently produces no segment and no fallback text, so it disappears from the output. Inline math renders correctly today. - VoiceOver, pending an
NSAccessibilityimplementation - a no-op stub ships now. - Tail fade-in animation, which falls back to an instant reveal.
- System font-scale observation.
Planned
Container blocks
Container blocks are the elements that hold other blocks as children. Blockquotes already do this correctly in the React Native package - a quote's content is a recursive container that can nest paragraphs, code, and further quotes. We want the same treatment for the other container types, so all list kinds (ordered, unordered, and task lists) render arbitrary block content in their items the way blockquotes do, on every target.
Native renderer parity
- Block context menus. Tables, block math and code blocks have one on both native packages (on Android, code blocks only with the scrollable layout), but neither package lets you add your own items.
- Nested blocks on Android. The Android segment splitter emits only Text, Table and Custom (plugin) segments, so a table inside a list item or blockquote is not rendered. Lists and blockquotes should hold arbitrary block content, as described under Container blocks.
The Compose API surface
EnrichedMarkdownText on Android does not yet expose selection colors, font
scaling, the copy actions, label localization or break strategy, and
accessibility labels cannot be overridden at any layer.
The editor on native
Both native packages render Markdown but do not edit it; there is no editable
rich text field on either yet. On React Native,
EnrichedMarkdownTextInput
is available today.
Web
The web build ships the renderer. Still to come:
- A stable editor.
EnrichedMarkdownTextInputruns on web as an experimental build. Still missing there: Markdown shortcuts, link and mention commands, auto-link detection, custom menus andmarkdownStyle.linkVariants. - Spoilers, which are currently dropped along with their text - the most important gap on this list.
- Code-block highlighting, including the header and copy button.
- Streaming and smart copy, neither of which has a web implementation.
- Localizable accessibility strings. Everything the web renderer speaks is
hard-coded English today, and
accessibilityLabelsis stripped.
Shared core
- HTML line breaks (
<br>) - today the tag is raw HTML like any other: an inline<br>stays in the output as literal text, and one on its own line is dropped. Parser-level support is on the list, but no work has started.
Accessibility
- Task list items have no accessibility handling in the React Native package, on either platform - a checkbox is read as plain list text, with no state and no toggle action.
- Admonitions carry no accessibility role.
Asking for something
Need a feature that is not available yet, or need one of the planned items sooner? Open an issue describing what you are building - demand is what decides the order of this list. Pull requests are welcome too, see Contributing.