DioxusLabs/taffy
 Watch   
 Star   
 Fork   
2025-11-23 02:28:23
taffy

v0.9.2

Fixed

  • Fix wrong size propogation for absolute elements (#878)
  • Fix bounds check in CellOccupancyMatrix::last_of_type (#890)
  • Use doc_cfg instead of doc_auto_cfg (#868)

Changed

  • Upgraded grid dependency from 0.18 to 1.0 (#864)
2025-09-27 22:24:35
taffy

v0.9.1

Fixed

  • Flexbox: don't apply cross-axis stretch alignment to children with auto margins (#861)
2025-08-07 22:05:13
taffy

v0.9.0

Support for named grid lines and grid areas

Taffy now supports named grid lines and areas.

As these rely on arbitrary user-provided strings, Taffy's Style struct is now generic over a string-like type (via the CheapCloneStr trait). Additionally as the grid feature is optional, it has a PhantomData field of that type to make type inference work.

Changed

  • PrintTree and RoundTree: use Layout instead of &Layout (#849).
  • Renamed TrackSizingFunction to GridTemplateComponent
  • Renamed NonRepeatedTrackSizingFunction to TrackSizingFunction
  • The Repeat variant of GridTemplateComponent now contains a new GridTemplateRepetition struct, which allows line names to be specifed in addition to tracks.
  • The way that grid styles are exposed in the low-level API is now a lot more generic with many associated types.

Added

  • GridTemplateArea struct and Style::grid_template_areas field
  • Style::grid_template_column_names and Style::grid_template_row_names fields. If non-empty, these should have length of exactly one greater than the corresponding grid_template_column/grid_template_rows style.
2025-06-08 22:41:24
taffy

v0.8.3

Fixed

  • Fix serde feature on 32bit targets (#845)
2025-05-31 00:56:05
taffy

v0.8.2

Fixed

  • Fix: Calculate correct new grid size when expanding cell_occupancy_matrix in the negative direction (#843)
2025-04-23 02:17:48
taffy

v0.8.1

Added

  • Impl GridItemStyle and BlockContainerStyle for Style (#832).
2025-04-01 09:39:10
taffy

v0.8.0

Highlights

The big feature in this release is support for calc() values in the low-level API.

To use this API:

  • Implement the resolve_calc_value method when implementing the LayoutPartialTree trait.
  • Pass a type-erased pointer (*const ()) to constructors like LengthPercentage::calc(...)

Taffy treats the pointer as an opaque value (excepting that it uses the low 3 bits as a tag) which it will pass to LayoutPartialTree::resolve_calc_value along with a percentage resolution basis when it needs to resolve the value.

Changed

  • The representation of many "size" types is now a tagged pointer than an enum. This is to enable calc(). The effected types are LengthPercentage, LengthPercentageAuto, Dimension, MinTrackSizingFunction, and MaxTrackSizingFunction types.

Added

  • Special-case "compressible replaced elements" in grid sizing algorithm (#807) This allows for more correct sizing of "replaced" elements such as images that are children of flexbox or grid containers.

Fixed

  • Grid: Fix infinite loop due to float precision in grid layout maximise tracks step (#792)
  • Grid: Fix removed wrong addition, causing items to be misplaced. (#817)
  • Grid: Fix grid placement for items with fixed primary axis (#818)
  • Leaf layout: don't set available space to max-size (#819)
2025-03-06 08:06:36
taffy

v0.7.7

Fixed

  • Add #[inline] annotation to some methods on TaffyTree (#802)
  • Add TaffyTree::remove_children_range method (#802)
2025-02-20 19:07:05
taffy

v0.7.6

Fixed

  • Fix infinite loop due to float precision in grid layout maximise tracks step (#792)
2025-01-10 16:53:12
taffy

v0.7.5

Fixed

  • Grid: only stretch auto tracks if content-alignment is stretch (#783)