misskey_mfm_parser 2.0.1 copy "misskey_mfm_parser: ^2.0.1" to clipboard
misskey_mfm_parser: ^2.0.1 copied to clipboard

A library for parsing MFM rewritten in Dart. Developed with the aim of conducting tests as expected by mfm.js and obtaining equivalent parsing results.

Changelog #

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.

[Unreleased] #

2.0.1 - 2026-09-15 #

Added #

  • Unicode Emoji 17.0 RGI sequence support and a reproducible generator for the emoji regular expression
  • AST golden fixtures and serialization-based compatibility tests for detecting unintended parser changes

Fixed #

  • Aligned quote, fenced code block, search, italic, hashtag, URL, and link parsing more closely with mfm.js
  • Preserved input and continued parsing after invalid or incomplete syntax fallbacks, including unclosed MFM functions
  • Supported CRLF and standalone CR newlines consistently across block parsers
  • Rejected empty code nodes and invalid mentions while preserving subsequent valid syntax
  • Recognized custom emoji codes that immediately follow alphanumeric characters

2.0.1-beta.1 - 2026-08-24 #

Included in [2.0.1].

2.0.0 - 2026-01-23 #

Changed #

  • BREAKING: Minimum Dart SDK version raised to ^3.8.0 (from ^3.0.0)
  • BREAKING: All AST classes migrated to freezed sealed class union pattern
  • BREAKING: Added freezed_annotation: ^3.1.0 as a runtime dependency

Added #

  • Value equality (== and hashCode) for all MfmNode types
  • copyWith() method for immutable updates on all nodes
  • Enhanced toString() output for debugging
  • Dart 3 pattern matching support with exhaustiveness checking

Removed #

  • custom_lint dev dependency (incompatible with newer analyzer version)

1.0.1 - 2026-01-21 #

The reason for the PUB POINTS being 150 on pub.dev was due to exceeding the 180-character limit in the description. I shortened part of the explanation to fit within the base character count. There are no changes to the library's functionality with this update.

1.0.0 - 2026-01-21 #

Added #

  • I rewrote the parsing process from scratch using Dart and petitparser, based on mfm-js. At this stage, the basic parsing functionality is complete. I plan to create the rendering process using a different library in the future.
1
likes
160
points
908
downloads

Documentation

API reference

Publisher

verified publisherlibrarylibrarian.com

Weekly Downloads

A library for parsing MFM rewritten in Dart. Developed with the aim of conducting tests as expected by mfm.js and obtaining equivalent parsing results.

Homepage
Repository (GitHub)
View/report issues

Topics

#misskey #mfm #parser #parsing

License

BSD-3-Clause (license)

Dependencies

freezed_annotation, petitparser

More

Packages that depend on misskey_mfm_parser