gpt_markdown
Powerful Flutter Markdown & LaTeX Renderer: Rich Text, Math, Tables, Links, and Text Selection. Ideal for ChatGPT, Gemini, and more.
1.2.1
154K downloads/mo
#950 most downloaded on pub.dev
Infinitix-LLC/gpt_markdown
What this package is like to depend on
Last release today
23 Aug 2026
Release timing varies
gaps range from 9 days to 4 months
Nearly every release is documented
notes for 58 of 58 stable releases
Nothing withdrawn
no release was ever pulled
3 years old
58 releases · first in 2024
7 releases in the last 12 months
see the full history below
Release timeline
58 releases · Feb 2024 to Aug 2026Releases
latest 58-
1.2.123 Aug 2026Release notes
Open source →Changed
- Radio list markers use
RadioGroupinstead ofRadio.groupValueandRadio.onChanged, which Flutter deprecated in 3.32. No visual or behavioural change — the marker looks and responds exactly as before. - Minimum Flutter is now 3.32.0, the release
RadioGroupwas added in.
Added
InlinePattern.delimitedfor tokens that open and close, such as:emoji:,::spoiler::or{{token}}— the counterpart toInlinePattern.prefixed, which cannot express a closing delimiter. The token name is the named groupname. See docs/inline-syntax.md.
- Radio list markers use
-
1.2.023 Aug 2026Release notes
Open source →Upgrading from 1.1.x? See MIGRATION.md.
Changed
- Deprecated
highlightBuilder. UseinlineCodeStylefor appearance, orinlineCodeBuilderfor full control. It still works, is now aligned on the text baseline, and will be removed in 2.0.0. - Inline code renders as a monospace chip that wraps across lines. Restyle with
inlineCodeStyle. - Autolinking is on by default. Disable with
autolink: false, and remove any pre-processor that rewrites bare URLs. ImageMd,TableMdandATagMdno longer render inside link labels. Custom components opt out withscopes.- Malformed links and unclaimed matches render as plain text instead of being dropped silently.
- Component dispatch is anchored as
^(?:pattern)$, so a pattern containing a top-level|no longer claims matches it does not cover. - Case-insensitive component patterns now match.
- Tests using
find.byType(RichText)needfind.byWidgetPredicate((w) => w is RichText)— some paragraphs render as aRichTextsubclass.
Added
- Streaming reveal for generated replies, off by default:
GptMarkdown(text, animation: GptMarkdownAnimation.fade, isStreaming: true). Only the part of the reply that can still change is rebuilt, so the cost per token stays flat as the reply grows. The reveal keeps up with a fast model, fast-forwards whenisStreamingturns false, and honours reduced motion. See docs/streaming.md. GptMarkdownStyleSheetwith twelve per-component style classes, settable per widget or app-wide onGptMarkdownThemeData. Unset fields keep the previous defaults.- Builders for every component:
blockQuoteBuilder,headingBuilder,checkboxBuilder,radioOptionBuilder,hrBuilder. - Callbacks
onCheckboxChanged,onCodeCopy,onImageTap,onSourceTagTap. InlinePatternfor app-specific inline syntax such as@mention,#channeland:emoji:, withInlinePattern.prefixedfor the common case.MarkdownScopeandMarkdownComponent.scopes— components declare which nesting contexts they render in.- Autolinks following the GFM autolink extension and CommonMark §6.5, with
autolinkSchemesfor app schemes. GptMarkdownConfigand the builder typedefs are exported from the main import.
Fixed
- Text scaling: components rendered through a
WidgetSpanreserved up to 39x the space they needed at a 2x system font setting. Every component now scales proportionally. - Theme changes did not repaint — colours are resolved when spans are built, and the cache was not invalidated.
GptMarkdownConfig.isSameignored several fields, so runtime changes to components, inline patterns and styles did nothing.- Inline widgets in right-to-left paragraphs render in visual order (flutter#54400).
GptMarkdownConfig.getRichreturnsWidgetinstead ofText.
- Deprecated
-
1.1.816 Jul 2026Release notes
Open source →- 🔗 Fixed consecutive links separated by single newlines not rendering (#142).
-
1.1.710 May 2026Release notes
Open source →- Added/updated the interactive playground and pub.dev example flow, with
playground.dartas a dedicated playground entry and improved demo content for links, lists, blockquotes, tables, and LaTeX. - Updated package metadata: bumped to
1.1.7, sethomepageto gptmarkdown.com, and addedrepository+issue_tracker. - Bumped
flutter_math_forkto^0.7.4for Flutter 3.35+ compatibility. - Fixed bold markdown rendering across newlines by enabling
dotAllinBoldMd. - Fixed link styling so underline/color (including hover color) apply consistently across nested inline spans (bold/italic) inside links via
LinkSpanBuilder. - Extended
imageBuilderto receive parsed size metadata from markdown image syntax (context, imageUrl, width, height). - Resolved deprecated radio API usage by wrapping
Radio<bool>withRadioGroupin custom radio rendering. - Cleaned up and corrected docs/example markdown content for the updated API and examples.
- Added/updated the interactive playground and pub.dev example flow, with
-
1.1.603 Apr 2026Release notes
Open source →- Added
hrLinePaddingtoGptMarkdownThemeData(defaultEdgeInsets.zero), wired through the public factory,copyWith, andlerp, for padding around horizontal rules and the optional line after#headings. - Added
autoAddDividerLineAfterH1toGptMarkdownThemeData(defaulttrue), with the same factory /copyWith/lerpsupport, so the extra divider after a level-1 heading can be toggled from theme data. - Added
paddingtoCustomDivider(defaultEdgeInsets.zero); the render object lays out and paints the stroke inside those insets and uses the constrained width when drawing. - Added
GptMarkdownThemeData.isSameto compare every field on the theme data type. HTagandHrLineusehrLineColor,hrLinePadding, andautoAddDividerLineAfterH1fromGptMarkdownTheme.of(context)for the horizontal line widgets.
- Added
-
1.1.522 Dec 2025 -
1.1.406 Sep 2025Release notes
Open source →- 🔗 Fixed vertical alignment issue with link text rendering (#92)
- 📝 Resolved "null" rendering issue in ordered lists with multiple spaces and line breaks (#89)
- 🧹 Removed erroneous
trim()fromCodeBlockMdto preserve necessary whitespace in code blocks (#99) - 🎨 Fixed heading style customization issue where custom colors in heading styles were not being applied (#95)
-
1.1.328 Aug 2025Release notes
Open source →- Added
RadioGroupwidget for managing radio buttons. - Updated to align with Flutter 3.35 by resolving the deprecations of
Radio.groupValueandRadio.onChanged.
- Added
-
1.1.204 Jul 2025Release notes
Open source →- 📊 Fixed table column alignment support (#65)
- 🎨 Added
tableBuilderparameter to customize table rendering - 🔗 Fixed text decoration color of link markdown component
-
1.1.129 Jun 2025Release notes
Open source →- 🖼️ Fixed issue where images wrapped in links (e.g.
[](url)) were not rendering properly (#72) - 🔗 Resolved parsing errors for consecutive inline links without spacing (e.g.
[a](url)[b](url)) (#34)
- 🖼️ Fixed issue where images wrapped in links (e.g.
-
1.1.024 Jun 2025 -
1.0.2012 Jun 2025 -
1.0.1917 May 2025 -
1.0.1827 Apr 2025 -
1.0.1723 Apr 2025 -
1.0.1618 Mar 2025Release notes
Open source →IndentMdandBlockQuotefixed.- Baseline of bloc type component is fixed.
- block quote support improved.
- custom components support added.
Tablesyntax improved.
-
1.0.1514 Mar 2025 -
1.0.1414 Mar 2025Release notes
Open source →- Added
orderedListBuilderandunOrderedListBuilderparameters to customize list rendering.
- Added
-
1.0.1313 Mar 2025 -
1.0.1207 Mar 2025 -
1.0.1115 Feb 2025 -
1.0.1015 Feb 2025 -
1.0.914 Feb 2025 -
1.0.809 Feb 2025Release notes
Open source →- Extra lines inside block latex removed and $$..$$ syntax works with (..) syntax.
-
1.0.702 Feb 2025 -
1.0.611 Jan 2025Release notes
Open source →_italic_and>Indentationsyntax added.linkBuilderandhighlightBuilderadded f45132b.
-
1.0.509 Jan 2025 -
1.0.408 Jan 2025 -
1.0.328 Dec 2024 -
1.0.227 Dec 2024 -
1.0.127 Dec 2024Release notes
Open source →- Indentation fixed
ATagsyntax fixed- Documentation improved in readme and example.
-
1.0.020 Dec 2024Release notes
Open source →TexMarkdownis renamed toGptMarkdown.h1toh6style added toGptMarkdownThemeDataclass.hrLineThicknessvalue added toGptMarkdownThemeDataclass.hrLineColorColor added toGptMarkdownThemeDataclass.linkColorColor added toGptMarkdownThemeDataclass.linkHoverColorColor added toGptMarkdownThemeDataclass.- Indentation improved.
- Math equations are now default selectable.
SelectableAdapterWidget added to make any widget selectable.
-
0.1.1518 Dec 2024 -
0.1.1418 Dec 2024 -
0.1.1318 Dec 2024Release notes
Open source →GptMarkdownThemeandGptMarkdownThemeDataclass moved togpt_markdown.dartlibrary.
-
0.1.1216 Dec 2024 -
0.1.1112 Dec 2024 -
0.1.1016 Nov 2024 -
0.1.913 Oct 2024 -
0.1.802 Sep 2024 -
0.1.705 Aug 2024 -
0.1.605 Aug 2024 -
0.1.510 Jul 2024 -
0.1.410 Jul 2024 -
0.1.329 Mar 2024 -
0.1.213 Mar 2024 -
0.1.112 Mar 2024 -
0.1.012 Mar 2024Release notes
Open source →-
Inline Latex Builder added and Link are now Clickable and Latex Error Color changed to null for debug mode.
-
textScaleFectoris removed andtextScaleradded
-
-
0.0.1222 Feb 2024 -
0.0.1118 Feb 2024 -
0.0.1017 Feb 2024 -
0.0.917 Feb 2024 -
0.0.817 Feb 2024 -
0.0.617 Feb 2024 -
0.0.516 Feb 2024 -
0.0.415 Feb 2024 -
0.0.215 Feb 2024 -
0.0.114 Feb 2024