PackageTrack
Sign in Get early access

float_column

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.

4.1.0 5.7K downloads/mo #3653 most downloaded on pub.dev ronjb/float_column

What this package is like to depend on

Last release 1 months ago

03 Jul 2026

Release timing varies

gaps range from 2 weeks to 1.3 years

Nearly every release is documented

notes for 40 of 40 stable releases

Nothing withdrawn

no release was ever pulled

5 years old

44 releases · first in 2021

1 release in the last 12 months

see the full history below

Release timeline

44 releases · Apr 2021 to Jul 2026
2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 44
  1. 4.1.0 03 Jul 2026
    Release notes
    • Fixed a bug where text that wrapped around floated widgets ignored the ambient MediaQuery text scaler, breaking accessibility font scaling for the wrapped portion of the paragraph.
    • Fixed a crash when a 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.
    • Fixed a crash when a floated inline widget was beyond the point where its paragraph was truncated by maxLines. Truncated floated widgets are now hidden, consistent with the rest of the truncated content.
    • Fixed a bug where floated inline widgets were positioned 5 pixels above the top of their anchor line, which could cause a float on the first line to paint above the top edge of the FloatColumn.
    • Floated children now honor their full margin box, like CSS: margin.top and margin.bottom offset the float vertically, and sibling content wraps around the margin box instead of directly against the padding box.
    • Fixed duplicate key detection, which previously did not detect duplicate keys on widget children.
    • Keyed widget children now preserve their state when reordered.
    • When a text span is split (to wrap around floated widgets), its 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.
    • In debug mode, querying a FloatColumn's intrinsic dimensions now throws a descriptive error instead of silently collapsing the column to zero size.
    • Improved layout performance for paragraphs that do not contain floated inline widgets.
    • Updated the README with accurate, compile-checked examples, including floated widgets in WidgetSpans.
    • Added tests covering text scaling, maxLines edge cases, float positioning and margins, key handling, semanticsLabel splitting, and intrinsic sizing.
    Open source →
    Release notes
    • Fixed a bug where text that wrapped around floated widgets ignored the ambient MediaQuery text scaler, breaking accessibility font scaling for the wrapped portion of the paragraph.
    • Fixed a crash when a 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.
    • Fixed a crash when a floated inline widget was beyond the point where its paragraph was truncated by maxLines. Truncated floated widgets are now hidden, consistent with the rest of the truncated content.
    • Fixed a bug where floated inline widgets were positioned 5 pixels above the top of their anchor line, which could cause a float on the first line to paint above the top edge of the FloatColumn.
    • Floated children now honor their full margin box, like CSS: 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.
    • Fixed duplicate key detection, which previously did not detect duplicate keys on widget children.
    • Keyed widget children now preserve their state when reordered.
    • When a text span is split (to wrap around floated widgets), its 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.
    • In debug mode, querying a 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.
    • Improved layout performance for paragraphs that do not contain floated inline widgets.
    Open source →
  2. 4.0.3 24 Mar 2025
    Release notes
    • Updated so that in addition to style, the rest of the current context's DefaultTextStyle properties are provided to child text widgets (textAlign, overflow, maxLines, textWidthBasis, and textHeightBehavior).
    Open source →
  3. 4.0.2 10 Mar 2025
    Release notes
    • Fixed off-by-one error in the InlineSpan extension method defaultSplitSpanAtIndex.
    Open source →
  4. 4.0.1 26 Feb 2025
    Release notes
    • Cleaned up debug logging.
    Open source →
  5. 4.0.0 26 Feb 2025
    Release notes

    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.

    Open source →
  6. 3.0.0 12 Feb 2025
    Release notes
    • Added two new required methods to SelectableFragment class: int get contentLength and SelectedContentRange? getSelection(). These two new methods are defined in Flutter 3.29.0, so it is a breaking change.
    • Updated pubspec.yaml to depend on flutter: '>=3.29.0'.
    Open source →
  7. 2.1.8 07 Aug 2024
    Release notes
    • Updated pubspec.yaml to use flutter: '>=3.24.0'.
    Open source →
  8. 2.1.7 07 Aug 2024
    Release notes
    • Updated to compile with Flutter 3.24.0
    Open source →
  9. 2.1.6 27 Jun 2024
    Release notes
    • Updated TextRenderer to handle the case where _painter.text is null to avoid a possible exception.
    Open source →
  10. 2.1.5 17 Feb 2024
    Release notes
    • Another update to try to fix static analysis issues.
    Open source →
  11. 2.1.4 16 Feb 2024
    Release notes
    • More updates to try to fix static analysis issues.
    Open source →
  12. 2.1.3 16 Feb 2024
    Release notes
    • Updated to fix static analysis issue.
    Open source →
  13. 2.1.2 16 Feb 2024
    Release notes
    • Fixed compile issue with Flutter 3.19.0 and other bug fixes and updates.
    Open source →
  14. 2.1.2-dev.1 15 Feb 2024 pre-release

    Nothing published for this version

  15. 2.1.1 17 Aug 2023
    Release notes
    • Fixed bug where if a Widget in a WidgetSpan changes its size, FloatColumn was not updating properly.
    Open source →
  16. 2.1.0 16 Aug 2023
    Release notes
    • Updated so it builds with Flutter 3.13.0.
    Open source →
  17. 2.0.1 27 May 2023
    Release notes
    • 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 out correctly.
    Open source →
  18. 2.0.0 11 May 2023
    Release notes
    • Updated to support Dart 3 and Flutter 3.10.0.
    Open source →
  19. 1.4.1 09 Feb 2023
    Release notes
    • Updated how text renderers are cached for quicker access.
    • Some code cleanup to RenderFloatColumn hitTestChildren and other code cleanup.
    Open source →
  20. 1.4.0 06 Feb 2023
    Release notes
    • Added support for Flutter's selection functionality.
    Open source →
  21. 1.3.3 17 Jan 2023
    Release notes
    • Added a copyWithTextSpan parameter to the defaultSplitSpanAtIndex extension method on the InlineSpan class.
    Open source →
  22. 1.3.2 17 Jan 2023
    Release notes
    • Added optional an bool ignoreFloatedWidgetSpans = false parameter to the splitAt and splitAtIndex methods of SplittableMixin.
    Open source →
  23. 1.3.1 10 Dec 2022
    Release notes
    • Updated to remove warnings related to latest Flutter version.
    Open source →
  24. 1.3.0 07 Jul 2022
    Release notes
    • Updated FloatColumn to support children of type TextSpan, Text, and RichText.
    Open source →
  25. 1.2.4 06 Jul 2022
    Release notes
    • Added TextOverflow overflow and int? maxLines to WrappableText class.
    Open source →
  26. 1.2.3 28 Jun 2022
    Release notes
    • Fixed bug in the RenderObject extension method visitChildrenAndTextRenderers. It would not recursively visit children with VisitChildrenOfAnyTypeMixin. Now it does.
    Open source →
  27. 1.2.2 02 Jun 2022
    Release notes
    • Code updates to fix warnings related to Flutter 3.0 release.
    • Fixed bug related to when 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.
    Open source →
  28. 1.2.1 15 Nov 2021
    Release notes
    • Fixed bug in RenderFloatColumn assembleSemanticsNode, it was using the [] operator of WrappableTextRenderer, when it should have been using the renderers getter.
    Open source →
  29. 1.2.0 15 Nov 2021
    Release notes
    • Fixed #3 "WrappableText objects that contain TextSpans that have a recognizer (e.g. TapGestureRecognizer) aren't handled correctly, i.e. the recognizer is ignored for hit tests."
    • Updated RenderFloatColumn to support standard describeSemanticsConfiguration and assembleSemanticsNode methods.
    Open source →
  30. 1.1.2 14 Nov 2021
    Release notes
    • Fixed bug in RenderFloatColumn visitChildrenOfAnyType.
    • Added example Mac app, and updated examples.
    Open source →
  31. 1.1.1 09 Sep 2021
    Release notes
    • Updated to use flutter_lints_plus package and fix Flutter 2.5 lint warnings.
    Open source →
  32. 1.1.0 06 Jul 2021
    Release notes
    • Added support for floated inline widgets using WidgetSpan with Floatable child.
    Open source →
  33. 1.0.2 04 Jul 2021
    Release notes
    • Added code that shows overflow area and size in case of height overflow.
    Open source →
  34. 1.0.1 04 Jul 2021
    Release notes
    • Fixed bug where the layout was incorrect in some cases if line-feed characters were in the text.
    Open source →
  35. 1.0.0 27 Jun 2021
    Release notes
    • Updated README.md and released 1.0.0 version.
    Open source →
  36. 0.1.5 07 May 2021
    Release notes
    • Updated so the textAlign parameter of WrappableText works correctly.
    Open source →
  37. 0.1.4 07 May 2021
    Release notes
    • Updated so negative indent values work correctly.
    Open source →
  38. 0.1.3 02 May 2021
    Release notes
    • Added RenderBox get renderBox and Offset get offset to RenderTextMixin.
    Open source →
  39. 0.1.2 02 May 2021
    Release notes
    • Added support for visiting the children (render objects and text renderers) of a RenderFloatColumn, via the visitChildrenOfAnyType function.
    • Added support for getting detailed info about each text renderer child (via the RenderTextMixin), similar to RenderParagraph.
    • Fixed a bug relating to WrappableText and unique keys.
    Open source →
  40. 0.1.1 01 May 2021
    Release notes
    • Added support for margins and padding to WrappableText and Floatable.
    Open source →
  41. 0.1.0 26 Apr 2021
    Release notes
    • Removed debug print statements, added more examples to readme file.
    Open source →
  42. 0.1.0-dev.3 26 Apr 2021 pre-release
    Release notes
    • Fixed a bug where a child widget with a width of zero would cause an exception.
    Open source →
  43. 0.1.0-dev.2 26 Apr 2021 pre-release
    Release notes
    • Fixed a bug where a child widget with an unconstrained width would cause an exception.
    Open source →
  44. 0.1.0-dev.1 26 Apr 2021 pre-release
    Release notes
    • Prerelease version with basic functionality, and probably a lot of bugs.
    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