PackageTrack
Sign in Get early access

flutter_markdown_plus

A Markdown renderer for Flutter. Create rich text output, including text styles, tables, links, and more, from plain text data formatted with simple Markdown tags.

1.0.12 484K downloads/mo #527 most downloaded on pub.dev foresightmobile/flutter_markdown_plus

What this package is like to depend on

Last release 1 months ago

10 Jul 2026

Ships fairly regularly

a new release about every 5 months

Nearly every release is documented

notes for 12 of 12 stable releases

Nothing withdrawn

no release was ever pulled

1 years old

12 releases · first in 2025

7 releases in the last 12 months

see the full history below

Release timeline

12 releases · Feb 2025 to Jul 2026
2026
Release Pre-release

Releases

latest 12
  1. 1.0.12 10 Jul 2026
    Release notes
    • Added golden render regression tests for the Markdown widgets, covering text formatting, emphasis, blockquotes, lists, tables, task lists, and code blocks. They render with real fonts and run in the local flutter test suite; like the existing image goldens they are platform-specific, and are skipped on CI (whose Flutter stable channel is unpinned) to avoid flaky pixel-exact diffs when the toolchain drifts
    • Documentation: the 1.0.11 README overhaul documented the previously undocumented onTapLink and styleSheet APIs, resolving #123
    Open source →
    Release notes
    • Added golden render regression tests for the Markdown widgets, covering text formatting, emphasis, blockquotes, lists, tables, task lists, and code blocks. They render with real fonts and run in the local flutter test suite; like the existing image goldens they are platform-specific, and are skipped on CI (whose Flutter stable channel is unpinned) to avoid flaky pixel-exact diffs when the toolchain drifts
    Open source →
    Release notes
    • Added golden render regression tests for the Markdown widgets, covering text formatting, emphasis, blockquotes, lists, tables, task lists, and code blocks. They render with real fonts and run in the local flutter test suite; like the existing image goldens they are platform-specific, and are skipped on CI (whose Flutter stable channel is unpinned) to avoid flaky pixel-exact diffs when the toolchain drifts
    Open source →
  2. 1.0.11 07 Jul 2026
    Release notes
    • Overhauled the README: added a feature list, installation instructions, a widget comparison (Markdown / MarkdownBody / MarkdownRaw), and code examples for link handling (onTapLink), MarkdownStyleSheet styling, and custom element builders
    • Added screenshots to the pub.dev listing showcasing rich-text formatting, GitHub Flavored Markdown tables and task lists, and code blocks
    • Pointed the documentation link at the generated API docs on pub.dev
    Open source →
    Release notes
    • Overhauled the README: added a feature list, installation instructions, a widget comparison (Markdown / MarkdownBody / MarkdownRaw), and code examples for link handling (onTapLink), MarkdownStyleSheet styling, and custom element builders — documenting the previously undocumented onTapLink and styleSheet APIs (resolves #123)
    • Added screenshots to the pub.dev listing showcasing rich-text formatting, GitHub Flavored Markdown tables and task lists, and code blocks
    • Pointed the documentation link at the generated API docs on pub.dev
    Open source →
    Release notes
    • Overhauled the README: added a feature list, installation instructions, a widget comparison ( Markdown / MarkdownBody / MarkdownRaw ), and code examples for link handling ( onTapLink ), MarkdownStyleSheet styling, and custom element builders — documenting the previously undocumented onTapLink and styleSheet APIs (resolves #123)

    • Added screenshots to the pub.dev listing showcasing rich-text formatting, GitHub Flavored Markdown tables and task lists, and code blocks

    • Pointed the documentation link at the generated API docs on pub.dev

    Open source →
  3. 1.0.10 07 Jul 2026
    Release notes
    • Added a contextMenuBuilder parameter to Markdown and MarkdownBody, letting callers customise or suppress (pass null) the text-selection toolbar shown when selectable is enabled. Defaults to the platform-adaptive Flutter selection toolbar, so existing behaviour is unchanged (#134)
    • onSelectionChanged now reports the full selectable plain text via TextSpan.toPlainText(). Previously, paragraphs containing rich/nested inline spans (bold, italic, code, links) reported the top-level TextSpan.text, which was null for multi-child spans; callers now receive the complete text so TextSelection.textInside works as expected (#134)

    Thanks to our contributors:

    • @momadvisor for the contextMenuBuilder parameter and plain-text selection fix (#134)
    Open source →
    Release notes
    • Added a contextMenuBuilder parameter to Markdown and MarkdownBody, letting callers customise or suppress (pass null) the text-selection toolbar shown when selectable is enabled. Defaults to the platform-adaptive Flutter selection toolbar, so existing behaviour is unchanged (#134)
    • onSelectionChanged now reports the full selectable plain text via TextSpan.toPlainText(). Previously, paragraphs containing rich/nested inline spans (bold, italic, code, links) reported the top-level TextSpan.text, which was null for multi-child spans; callers now receive the complete text so TextSelection.textInside works as expected (#134)

    Thanks to our contributors:

    • @momadvisor for the contextMenuBuilder parameter and plain-text selection fix (#134)
    Open source →
    Release notes
    • Added a contextMenuBuilder parameter to Markdown and MarkdownBody , letting callers customise or suppress (pass null ) the text-selection toolbar shown when selectable is enabled. Defaults to the platform-adaptive Flutter selection toolbar, so existing behaviour is unchanged (#134)

    • onSelectionChanged now reports the full selectable plain text via TextSpan.toPlainText() . Previously, paragraphs containing rich/nested inline spans (bold, italic, code, links) reported the top-level TextSpan.text , which was null for multi-child spans; callers now receive the complete text so TextSelection.textInside works as expected (#134)

    Thanks to our contributors:

    • @momadvisor for the contextMenuBuilder parameter and plain-text selection fix (#134)
    Open source →
  4. 1.0.9 06 Jul 2026
    Release notes
    • Fixed custom inline builders (e.g. a) duplicating trailing text when the element had multiple children, such as link text containing a _ or * delimiter that the parser splits into separate text nodes (#132)

    Thanks to our contributors:

    • @Jess-Gabia for reporting the issue and identifying the fix (#132)
    • @amungi for confirming the fix in production
    Open source →
    Release notes
    • Fixed custom inline builders (e.g. a) duplicating trailing text when the element had multiple children, such as link text containing a _ or * delimiter that the parser splits into separate text nodes (#132)

    Thanks to our contributors:

    • @Jess-Gabia for reporting the issue and identifying the fix (#132)
    • @amungi for confirming the fix in production
    Open source →
    Release notes
    • Fixed custom inline builders (e.g. a ) duplicating trailing text when the element had multiple children, such as link text containing a _ or * delimiter that the parser splits into separate text nodes (#132)

    Thanks to our contributors:

    • @Jess-Gabia for reporting the issue and identifying the fix (#132)

    • @amungi for confirming the fix in production

    Open source →
  5. 1.0.8 06 Jul 2026
    Release notes
    • Fixed custom builders and paddingBuilders for the hr tag being ignored
    • Fixed bold, italic, and link formatting not rendering inside blockquotes
    • Forced a consistent line height within each text block so mixed font weights (e.g. bold) no longer shift line height, while headers and other blocks keep their own height
    • Updated the default blockquote styling to be theme-aware (uses surfaceContainerHighest with a primary-coloured left border) for better light/dark mode support
    • Added a noScroll option to the Markdown widget to render content in a non-scrolling Column for use inside an existing scroll view
    • Added an integration test suite (example/integration_test/) that runs on a device or emulator, covering link taps, scrolling, task-list checkboxes, text selection, and example app launch
    • Added scripts/integration_test.sh and a GitHub Actions job that runs the integration tests on an Android emulator
    • Migrated linting to package:flutter_lints, retaining strict type analysis and required public API documentation
    • Updated dependencies: markdown to ^7.3.1, mockito to ^5.7.0, and pinned leak_tracker_flutter_testing
    • Aligned the example app's Flutter constraint with the package and added a documentation link to the pubspec
    • Updated the example app's Android Gradle Plugin to 8.6.0 (Flutter's current minimum) and removed an unused Google Cloud Artifact Registry Gradle plugin
    • Excluded the locally symlinked flutter_markdown_plus_latex package from analysis and publishing

    Thanks to our contributors:

    Open source →
    Release notes
    • Fixed custom builders and paddingBuilders for the hr tag being ignored
    • Fixed bold, italic, and link formatting not rendering inside blockquotes
    • Forced a consistent line height within each text block so mixed font weights (e.g. bold) no longer shift line height, while headers and other blocks keep their own height
    • Updated the default blockquote styling to be theme-aware (uses surfaceContainerHighest with a primary-coloured left border) for better light/dark mode support
    • Added a noScroll option to the Markdown widget to render content in a non-scrolling Column for use inside an existing scroll view
    • Added an integration test suite (example/integration_test/) that runs on a device or emulator, covering link taps, scrolling, task-list checkboxes, text selection, and example app launch
    • Added scripts/integration_test.sh and a GitHub Actions job that runs the integration tests on an Android emulator
    • Migrated linting to package:flutter_lints, retaining strict type analysis and required public API documentation
    • Updated dependencies: markdown to ^7.3.1, mockito to ^5.7.0, and pinned leak_tracker_flutter_testing
    • Aligned the example app's Flutter constraint with the package and added a documentation link to the pubspec
    • Updated the example app's Android Gradle Plugin to 8.6.0 (Flutter's current minimum) and removed an unused Google Cloud Artifact Registry Gradle plugin
    • Excluded the locally symlinked flutter_markdown_plus_latex package from analysis and publishing

    Thanks to our contributors:

    • @joelbrostrom for fixing custom builders on the hr tag (#131)
    • @vsaase for fixing inline formatting inside blockquotes (#128)
    • @domhel for theme-aware blockquote styling (#42)
    • @szuwest for the strong text line-height fix (#130)
    • @senlinjun for the noScroll option (#38)
    Open source →
    Release notes
    • Fixed custom builders and paddingBuilders for the hr tag being ignored

    • Fixed bold, italic, and link formatting not rendering inside blockquotes

    • Forced a consistent line height within each text block so mixed font weights (e.g. bold) no longer shift line height, while headers and other blocks keep their own height

    • Updated the default blockquote styling to be theme-aware (uses surfaceContainerHighest with a primary-coloured left border) for better light/dark mode support

    • Added a noScroll option to the Markdown widget to render content in a non-scrolling Column for use inside an existing scroll view

    • Added an integration test suite ( example/integration_test/ ) that runs on a device or emulator, covering link taps, scrolling, task-list checkboxes, text selection, and example app launch

    • Added scripts/integration_test.sh and a GitHub Actions job that runs the integration tests on an Android emulator

    • Migrated linting to package:flutter_lints , retaining strict type analysis and required public API documentation

    • Updated dependencies: markdown to ^7.3.1 , mockito to ^5.7.0 , and pinned leak_tracker_flutter_testing

    • Aligned the example app's Flutter constraint with the package and added a documentation link to the pubspec

    • Updated the example app's Android Gradle Plugin to 8.6.0 (Flutter's current minimum) and removed an unused Google Cloud Artifact Registry Gradle plugin

    • Excluded the locally symlinked flutter_markdown_plus_latex package from analysis and publishing

    Thanks to our contributors:

    • @joelbrostrom for fixing custom builders on the hr tag (#131)

    • @vsaase for fixing inline formatting inside blockquotes (#128)

    • @domhel for theme-aware blockquote styling (#42)

    • @szuwest for the strong text line-height fix (#130)

    • @senlinjun for the noScroll option (#38)

    Open source →
  6. 1.0.7 28 Dec 2025
    Release notes
    • Improved pub.dev score by making example app source code available in published package
    • Updated .pubignore to only exclude build artifacts and generated files instead of entire example directory
    • Fixed linter warnings by removing unnecessary null default values in MarkdownStyleSheet
    • Added CLAUDE.md documentation for AI-assisted development
    • Enhanced README with package history and link to LaTeX support package
    • Standardized formatter configuration across project
    Open source →
    Release notes
    • Improved pub.dev score by making example app source code available in published package
    • Updated .pubignore to only exclude build artifacts and generated files instead of entire example directory
    • Fixed linter warnings by removing unnecessary null default values in MarkdownStyleSheet
    • Added CLAUDE.md documentation for AI-assisted development
    • Enhanced README with package history and link to LaTeX support package
    • Standardized formatter configuration across project
    Open source →
    Release notes
    • Improved pub.dev score by making example app source code available in published package

    • Updated .pubignore to only exclude build artifacts and generated files instead of entire example directory

    • Fixed linter warnings by removing unnecessary null default values in MarkdownStyleSheet

    • Added CLAUDE.md documentation for AI-assisted development

    • Enhanced README with package history and link to LaTeX support package

    • Standardized formatter configuration across project

    Open source →
  7. 1.0.6 23 Dec 2025
    Release notes

    Fix cursor behavior when using custom builder for anchor tags. The code now only manages _linkHandlers when there is no custom builder for anchor tags, preventing conflicts between the default link recognizer and custom builder widgets.
    New properties introduced to MarkdownStyleSheet: tableHeadCellsPadding and tableHeadCelssDecoration.
    Implemented automatic table content clipping to respect rounded borders when tableBorder specifies a border radius.

    Many thanks to our contributors:

    @mark-nicepants for fixing null pointer issues with custom builders
    @jlandon for adding table header cell customisation features
    @4rthurmonteiro for the link builder fix

    Open source →
    Release notes
    • Fix cursor behavior when using custom builder for anchor tags. The code now only manages _linkHandlers when there is no custom builder for anchor tags, preventing conflicts between the default link recognizer and custom builder widgets.
    • New properties introduced to MarkdownStyleSheet: tableHeadCellsPadding and tableHeadCelssDecoration.
    • Implemented automatic table content clipping to respect rounded borders when tableBorder specifies a border radius.

    Thanks to our contributors:

    Open source →
    Release notes
    • Fix cursor behavior when using custom builder for anchor tags. The code now only manages _linkHandlers when there is no custom builder for anchor tags, preventing conflicts between the default link recognizer and custom builder widgets.

    • New properties introduced to MarkdownStyleSheet : tableHeadCellsPadding and tableHeadCelssDecoration .

    • Implemented automatic table content clipping to respect rounded borders when tableBorder specifies a border radius.

    Thanks to our contributors:

    • @mark-nicepants for fixing null pointer issues with custom builders

    • @jlandon for adding table header cell customization features

    • @4rthurmonteiro for the link builder fix

    Open source →
  8. 1.0.5 28 Aug 2025
    Release notes
    • Minor dependency updates to help with builds
    Open source →
    Release notes
    • Minor dependency updates to help with builds
    Open source →
    Release notes
    • Minor dependency updates to help with builds
    Open source →
  9. 1.0.3 10 Mar 2025
    Release notes
    • Add support for LaTeX rendering in markdown.
    Open source →
    Release notes
    • Add support for LaTeX rendering in markdown.
    Open source →
    Release notes
    • Add support for LaTeX rendering in markdown.
    Open source →
  10. 1.0.2 04 Mar 2025
    Release notes
    • Updating check scripts
    Open source →
    Release notes
    • Updating check scripts
    Open source →
  11. 1.0.1+1 03 Mar 2025
    Release notes

    What's Changed

    New Contributors

    Full Changelog: https://github.com/foresightmobile/flutter_markdown_plus/commits/1.0.1

    Open source →
    Release notes
    • Adds support for blockquote for Markdown widget.
    Open source →
    Release notes
    • Adds support for blockquote for Markdown widget.
    Open source →
  12. 1.0.0+1 24 Feb 2025
    Release notes
    • Initial commit of the flutter_markdown_plus plugin as published on https://pub.dev/packages/flutter_markdown_plus
    Open source →
    Release notes
    • Initial commit of the flutter_markdown_plus plugin as published on https://pub.dev/packages/flutter_markdown_plus
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive