Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased
0.4.0 - 2026-03-01
Added
- #36
Pointis now hashable, enabling use in sets and as dictionary keys. - #38
Stylenow supports value equality via==and is hashable. - #39
Rect,Size,Line,GridPlacement, andLayoutare now hashable, enabling use in sets and as dictionary keys. - #39
GridPlacementandLayoutnow support value equality via==.
Changed
- #35 Clarified
Layoutcoordinate system in API docs:locationis relative to the parent's border box origin,sizeis the border box dimensions, and documented allLayoutfields.
Fixed
- #36
Point,KnownSize, andAvailableSize__hash__now correctly normalize-0.0to0.0so that equal objects always hash identically.
0.3.0 - 2026-02-24
Added
- #22 Custom measure functions via an optional
measurekwarg oncompute_layout, enabling proper sizing of leaf nodes based on their content. - #22 Generic node context support:
new_leaf_with_context,set_node_context, andget_node_contextmethods onTaffyTree. - #29 Ergonomic value types (
Length,Percent,Auto,MinContent,MaxContent,Definite,Fraction,FitContent,Minmax,GridLine,GridSpan) as standalone frozen pyclasses with union-based style fields, replacing the previous 1:1 taffy enum representations. - #33
Rect.points(),Rect.rows(), andRect.columns()methods for iterating over integer pixel locations within a rectangle.
Changed
- #30 Slotmap panics from accessing removed nodes are now raised as
InvalidNodeId(TaffyException, KeyError)instead of weird internalpyo3exceptions.
0.2.0 - 2026-02-16
Added
- #19
Stylemerging via__or__—a | bproduces a new style where the right-hand side takes precedence. - #19 Helper methods on geometry objects (
Size,Rect,Point,Line). - #9 Documentation site using mkdocs-material and mkdocstrings.
Changed
- #19 All types except
TaffyTreeare now immutable (#[pyclass(frozen)]).
0.1.0 - 2026-02-14
Initial release — proof-of-concept Python wrapper around taffy.
Added
TaffyTreecore API for building and computing layouts.Stylestruct with all-kwargs constructor.Layoutresult struct.NodeIdwrapper.- Geometry types:
Size,Rect,Point,Line. - Layout enums:
Display,Position,FlexDirection,FlexWrap,AlignItems,AlignContent,GridAutoFlow,Overflow,BoxSizing. - CI with GitHub Actions, release workflow with maturin.