NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3374 most downloaded on pub.dev
Flutter FloatColumn widget for building a vertical column of widgets and text where the text wraps around floated widgets, similar to how CSS float works.
Last release 2 days ago
06 Oct 2026
Release timing varies
gaps range from 2 weeks to 1.3 years
Nearly every release is documented
notes for 44 of 44 stable releases
Nothing withdrawn
no release was ever pulled
5 years old
48 releases · first in 2021
One column per quarter.
Added WrappableText.headingLevel, the paragraph's heading level for assistive technologies, from 1 to 6. A screen reader announces a heading as one an
WrappableText.headingLevel, the paragraph's heading level for assistive technologies, from 1 to 6, like an HTML <h1> to <h6>. A screen reader announces a heading as one, and can move from one to the next. Each part of a heading that wraps around a float is a heading, and a heading with nothing for assistive technologies to announce is still excluded from the semantics tree.Text hidden from assistive technologies with an empty or whitespace semanticsLabel stays hidden when it wraps around a float: both halves of a split s
semanticsLabel becoming audible when it wraps around a float. When a span is split, only the first half keeps its label so it isn't announced twice, but such a label hides the text, so both halves now keep it.sortKey.Narrowed the package:flutter/material.dart imports in render_float_column.dart and wrappable_text.dart to package:flutter/widgets.dart. No Material sy
Fixed the known issue from 4.1.1 where the hidden word appended to justify text at wrapping boundaries could appear in selected text (e.g. via select
Fixed a bug where text that wrapped around floated widgets ignored the ambient MediaQuery text scaler, breaking accessibility font scaling for the wra
MediaQuery text scaler, breaking accessibility font scaling for the wrapped portion of the paragraph.WrappableText with a non-null maxLines started with one or more line feeds. Leading line feeds now render like they do in a Text widget.maxLines. Truncated floated widgets are now hidden, consistent with the rest of the truncated content.FloatColumn.margin.top and margin.bottom offset the float vertically, and sibling content wraps around the margin box instead of directly against the padding box. Previously, vertical margins on floated children were silently ignored. If you set margins on floated children, their layout will change accordingly.semanticsLabel is now kept on the first part only, so assistive technologies announce it once instead of once per part. Also fixed a debug-mode crash when splitting a span with a semanticsLabel at the boundary between its text and its children.FloatColumn's intrinsic dimensions (e.g. wrapping it in IntrinsicHeight or IntrinsicWidth) now throws a descriptive error instead of silently collapsing the column to zero size. Intrinsic dimensions cannot be computed efficiently because they would require laying out the text and floated children.Updated so that in addition to style, the rest of the current context's DefaultTextStyle properties are provided to child text widgets (textAlign, ove
style, the rest of the current context's DefaultTextStyle properties are provided to child text widgets (textAlign, overflow, maxLines, textWidthBasis, and textHeightBehavior).Fixed off-by-one error in the InlineSpan extension method defaultSplitSpanAtIndex.
defaultSplitSpanAtIndex.* Cleaned up debug logging.
Refactored the code to utilize RichText widgets for rendering floated text instead of internally rendering it using TextPainters. This change offers s
Refactored the code to utilize RichText widgets for rendering floated text instead of internally rendering it using TextPainters. This change offers several advantages, including reduced dependency on Flutter’s internal implementation of RenderParagraph and related selection features. Specifically, it enhances support for Flutter’s text selection capabilities, ensures compatibility with a wider range of Flutter versions, and significantly reduces code size by approximately one-third.
These two new methods are defined in Flutter 3.29.0, so it is a breaking change.
int get contentLength and SelectedContentRange? getSelection(). These two new methods are defined in Flutter 3.29.0, so it is a breaking change.flutter: '>=3.29.0'.Updated pubspec.yaml to use flutter: '>=3.24.0'.
flutter: '>=3.24.0'.Updated to compile with Flutter 3.24.0
Updated TextRenderer to handle the case where _painter.text is null to avoid a possible exception.
_painter.text is null to avoid a possible exception.Another update to try to fix static analysis issues.
More updates to try to fix static analysis issues.
Updated to fix static analysis issue.
Fixed compile issue with Flutter 3.19.0 and other bug fixes and updates.
Nothing published for this version
Fixed bug where if a Widget in a WidgetSpan changes its size, FloatColumn was not updating properly.
Updated so it builds with Flutter 3.13.0.
Fixed bug related to maxLines being set to a value greater than 1, and overflow being set to TextOverflow.ellipsis, where the text would not be layed
maxLines being set to a value greater than 1, and overflow being set to TextOverflow.ellipsis, where the text would not be layed out correctly.Updated to support Dart 3 and Flutter 3.10.0.
Updated how text renderers are cached for quicker access.
hitTestChildren and other code cleanup.Added support for Flutter's selection functionality.
Added a copyWithTextSpan parameter to the defaultSplitSpanAtIndex extension method on the InlineSpan class.
copyWithTextSpan parameter to the defaultSplitSpanAtIndex extension method on the InlineSpan class.Added optional an bool ignoreFloatedWidgetSpans = false parameter to the splitAt and splitAtIndex methods of SplittableMixin.
bool ignoreFloatedWidgetSpans = false parameter to the splitAt and splitAtIndex methods of SplittableMixin.Updated to remove warnings related to latest Flutter version.
Updated FloatColumn to support children of type TextSpan, Text, and RichText.
FloatColumn to support children of type TextSpan, Text, and RichText.Added TextOverflow overflow and int? maxLines to WrappableText class.
TextOverflow overflow and int? maxLines to WrappableText class.Fixed bug in the RenderObject extension method visitChildrenAndTextRenderers. It would not recursively visit children with VisitChildrenOfAnyTypeMixin
visitChildrenAndTextRenderers. It would not recursively visit children with VisitChildrenOfAnyTypeMixin. Now it does.Code updates to fix warnings related to Flutter 3.0 release.
markNeedsSemanticsUpdate is called. Since it can immediately result in a call to describeSemanticsConfiguration, it needed to be moved outside of the loop updating the cached WrappableTextRenderer list.Fixed bug in RenderFloatColumn assembleSemanticsNode, it was using the [] operator of WrappableTextRenderer, when it should have been using the render
[] operator of WrappableTextRenderer, when it should have been using the renderers getter.Fixed #3 "WrappableText objects that contain TextSpans that have a recognizer (e.g. TapGestureRecognizer) aren't handled correctly, i.e. the recognize
describeSemanticsConfiguration and assembleSemanticsNode methods.Fixed bug in RenderFloatColumn visitChildrenOfAnyType.
visitChildrenOfAnyType.Updated to use flutter_lints_plus package and fix Flutter 2.5 lint warnings.
flutter_lints_plus package and fix Flutter 2.5 lint warnings.Added support for floated inline widgets using WidgetSpan with Floatable child.
Added code that shows overflow area and size in case of height overflow.
Fixed bug where the layout was incorrect in some cases if line-feed characters were in the text.
Updated README.md and released 1.0.0 version.
Updated so the textAlign parameter of WrappableText works correctly.
textAlign parameter of WrappableText works correctly.Updated so negative indent values work correctly.
Added RenderBox get renderBox and Offset get offset to RenderTextMixin.
RenderBox get renderBox and Offset get offset to RenderTextMixin.Added support for visiting the children (render objects and text renderers) of a RenderFloatColumn, via the visitChildrenOfAnyType function.
visitChildrenOfAnyType function.RenderTextMixin), similar to RenderParagraph.Added support for margins and padding to WrappableText and Floatable.
Removed debug print statements, added more examples to readme file.
Fixed a bug where a child widget with a width of zero would cause an exception.
Fixed a bug where a child widget with an unconstrained width would cause an exception.
Prerelease version with basic functionality, and probably a lot of bugs.
Your coding agent can read these notes before it upgrades. Set up the MCP server →