# Changelog ## Unreleased - **Breaking:** `losslessMarkdownToAdf` gives a `date`, `emoji`, `inlineCard`, `mention`, `status` or `mediaInline` only the marks Atlassian's schema lets it hold: `**!adf:mention[@A]{id=…}**` now reads as a plain mention. A link or directive mark around only nodes that cannot take it is `unsupported-node-shape`, even in markdown `adfToLosslessMarkdown` wrote. A link around hard breaks alone still reads as before. `adfToLosslessMarkdown` writes a node holding a mark its type cannot take as `!adf:carry{json="…"}`. `MIGRATION.md` says how to convert stored markdown. - **Breaking:** every reader gives code text no mark but `link` and `annotation`, as Atlassian's schema requires: ``**`npm ci`**`` now reads as plain code, and a directive mark other than a link around only code spans is `unsupported-node-shape`. `adfToLosslessMarkdown` writes code text holding another mark as `!adf:carry{json="…"}`, and `adfToPortableMarkdown` drops that mark. - Every reader keeps the URL and title of an image inside a link's text, where it dropped them: `(image)` follows the link, linked to the image, so `[look at ![the moon](moon.png "Full") tonight](/moon)` reads as `[look at the moon tonight](/moon) ([image](moon.png "Full"))`. A link to the image's own URL takes no `(image)`, unless the image's title is one the link lacks. - `adfToPortableMarkdown` keeps both targets of a linked external image standing inline, as in a table cell: `[alt](href) ([image](url))`, where it wrote `[alt](url)` and dropped the link's target. - `adfToPortableMarkdown` keeps a link title holding a backslash or an entity reference such as `&`, and in a table cell one holding a `|`, where it dropped the title. It escapes the character where CommonMark would read it otherwise, as in `[docs](https://example.com "AT\&T")`, and `portableMarkdownToAdf` reads the title back. - `losslessMarkdownToAdf` names the CommonMark spelling to write when it refuses a directive whose node CommonMark spells, such as `[![alt](url)](href)` for a linked `!adf:mediaSingle`. - Every reader and writer takes time linear in the text when it holds many `