Skip to content

1.3.0

Latest

Choose a tag to compare

@medienbaecker medienbaecker released this 04 Jul 09:53
· 50 commits to main since this release

Security

  • Text surrounding a KirbyTag is now escaped segment by segment, so literal markup next to a (tag: …) can no longer be emitted as raw HTML

New

  • Bold, italic and strike can now be applied to KirbyTags. Partial formatting is normalised to the whole tag
  • Formatting buttons are now disabled inside inline code

Fixes

  • Link and file dialogs no longer corrupt KirbyTags whose attribute values contain colons. The Panel now splits attributes exactly like Kirby's KirbyTag::parse()
  • Paragraphs split correctly around block-level KirbyTag output, no more <figure> inside <p>
  • The character counter counts reader-visible text and now matches minlength/maxlength validation
  • min/maxlength now counts decoded, rendered characters multibyte-correctly
  • Custom nodes without a snippet warn and render their children instead of silently disappearing (throws in debug mode)
  • Link/file buttons are enabled when the cursor sits directly before a KirbyTag
  • The file dialog reliably preselects the current file, also in folders with more than 20 files
  • File picker keeps selections made on other pages instead of dropping them at submit; search resets to the first page correctly
  • Editing a file tag's attributes keeps the original reference instead of rewriting filenames to UUIDs
  • Task items render without a nested paragraph, matching list items
  • Single-node documents (headings, horizontal rules, registry atoms) are no longer discarded as "empty"
  • Plain-text / legacy field values now render the way the editor shows them instead of being blanked
  • Render failures are logged and degrade gracefully (and re-thrown in debug mode) instead of silently blanking the field
  • Heading offset now recurses into headings nested in blockquotes, lists, etc.
  • Empty list items render without an undefined-key warning
  • Roving tabindex initializes correctly when toolbar buttons load asynchronously; unknown toolbar buttons now warn in the console
  • Toolbar border radius is correct for buttons wrapped in dropdowns
  • tiptap:convert now skips content that's already Tiptap JSON and converts every language on multilang sites
  • Heading level is clamped to 1–6 before output, preventing tag-name injection via a crafted level attribute
  • KirbyTags inside a code block or inline code are not being parsed anymore

Other changes

  • Updated Tiptap to 3.27
  • The Remove button now only appears in the link dialog, where it replaces the tag with its text
  • The two-columns extension example ships frontend snippets
  • Simple toolbar buttons are defined in the button registry, removing 11 wrapper components
  • Toolbar shortcuts are registered as ProseMirror keymaps