1# Release Notes
2
3## 0.2.0
4
5### 0.2.0 Added
6
7- Added `taffy::error::InvalidChild` Error type
8- `taffy::node::Taffy.new_leaf()` which allows the creation of new leaf-nodes without having to supply a measure function
9
10### 0.2.0 Changed
11
12- `Size<f32>.zero()` is now `Size::<f32>::ZERO`
13- `Point<f32>.zero()` is now `Point::<f32>::ZERO`
14- renamed `taffy::node::Taffy.new_leaf()` -> `taffy::node::Taffy.new_leaf_with_measure()`
15- removed the public `Number` type; a more idiomatic `Option<f32>` is used instead
16 - the associated public `MinMax` and `OrElse` traits have also been removed; these should never have been public
17- `Sprawl::remove` now returns a `Result<usize, Error>`, to indicate if the operation was sucessful, and if it was, which ID was invalidated.
18- renamed `taffy::forest::Forest.new-node(..)` `taffy::forest::Forest.new_with_children(..)`
19- renamed `taffy::node::Taffy.new-node(..)` -> `taffy::node::Taffy.new_with_children(..)`
20- renamed `taffy::style::Style` -> `taffy::style::FlexboxLayout` to more precicely indicate its purpose
21- renamed `taffy::Error` -> `taffy::error::InvalidNode`
22- `taffy::Taffy::remove_child_at_index`, `taffy::Taffy::replace_child_at_index`, and `taffy::Taffy::child_at_index` now return `taffy::InvalidChild::ChildIndexOutOfBounds` instead of panicing
23
24### 0.2.0 Fixed
25
26- fixed rounding of fractional values to follow latest Chrome - values are now rounded the same regardless of their position
27- fixed computing free space when using both `flex-grow` and a minimum size
28- padding is now only subtracted when determining the available space if the node size is unspecified, following [section 9.2.2 of the flexbox spec](https://www.w3.org/TR/css-flexbox-1/#line-sizing)
29- `MeasureFunc` (and hence `NodeData` and hence `Forest` and hence the public `Taffy` type) are now `Send` and `Sync`, enabling their use in async and parallel applications
30
31### 0.2.0 Removed
32
33- various internal types are no longer public
34 - if you needed one of these, please file an issue!
35
36## 0.1.0
37
38### 0.1.0 Changed
39
40- the `order` field of `Layout` is now public, and describes the relative z-ordering of nodes
41- renamed crate from `stretch2` to `taffy`
42- updated to the latest version of all dependencies to reduce upstream pain caused by duplicate dependencies
43- renamed `stretch::node::Strech` -> `taffy::node::Taffy`
44
45### 0.1.0 Fixed
46
47- fixed feature strategy for `alloc` and `std`: these can now be compiled together, with `std`'s types taking priority
48
49### 0.1.0 Removed
50
51- removed Javascript / Kotlin / Swift bindings
52 - the maintainer team lacks expertise to keep these working
53 - more serious refactors are planned, and this will be challenging to keep working through that process
54 - if you are interested in helping us maintain bindings to other languages, [get in touch](https://github.com/DioxusLabs/taffy/discussions)!
55- the `serde_camel_case` and `serde_kebab_case` features have been removed: they were poorly motivated and were not correctly additive (if both were enabled compilation would fail)
56- removed the `Direction` and `Overflow` structs, and the corresponding `direction` and `overflow` fields from `Style`
57 - these had no effect in the current code base and were actively misleading
58
59## stretch2 0.4.3
60
61This is the final release of `stretch`: migrate to the crate named `taffy` for future fixes and features!
62
63These notes describe the differences between this release and `stretch` 0.3.2, the abandoned crate from which this library was forked.
64
65### Changed
66
67- updated [assorted dependencies](https://github.com/vislyhq/stretch/commit/a6491117379cea52dedc9584d892594a143e8cb0)
68
69### Fixed
70
71- fixed an exponential performance blow-up with deep nesting
72- fixed percent height values, which were using parent width
73- recomputing layout no longer moves children of non-zero-positioned parent
74- fixed broken Swift bindings
RELEASES.md
Release Notes
0.2.0
0.2.0 Added
- Added
taffy::error::InvalidChild Error type
taffy::node::Taffy.new_leaf() which allows the creation of new leaf-nodes without having to supply a measure function
0.2.0 Changed
Size<f32>.zero() is now Size::<f32>::ZERO
Point<f32>.zero() is now Point::<f32>::ZERO
- renamed
taffy::node::Taffy.new_leaf() -> taffy::node::Taffy.new_leaf_with_measure()
- removed the public
Number type; a more idiomatic Option<f32> is used instead
- the associated public
MinMax and OrElse traits have also been removed; these should never have been public
Sprawl::remove now returns a Result<usize, Error>, to indicate if the operation was sucessful, and if it was, which ID was invalidated.
- renamed
taffy::forest::Forest.new-node(..) taffy::forest::Forest.new_with_children(..)
- renamed
taffy::node::Taffy.new-node(..) -> taffy::node::Taffy.new_with_children(..)
- renamed
taffy::style::Style -> taffy::style::FlexboxLayout to more precicely indicate its purpose
- renamed
taffy::Error -> taffy::error::InvalidNode
taffy::Taffy::remove_child_at_index, taffy::Taffy::replace_child_at_index, and taffy::Taffy::child_at_index now return taffy::InvalidChild::ChildIndexOutOfBounds instead of panicing
0.2.0 Fixed
- fixed rounding of fractional values to follow latest Chrome - values are now rounded the same regardless of their position
- fixed computing free space when using both
flex-grow and a minimum size
- padding is now only subtracted when determining the available space if the node size is unspecified, following section 9.2.2 of the flexbox spec
MeasureFunc (and hence NodeData and hence Forest and hence the public Taffy type) are now Send and Sync, enabling their use in async and parallel applications
0.2.0 Removed
- various internal types are no longer public
- if you needed one of these, please file an issue!
0.1.0
0.1.0 Changed
- the
order field of Layout is now public, and describes the relative z-ordering of nodes
- renamed crate from
stretch2 to taffy
- updated to the latest version of all dependencies to reduce upstream pain caused by duplicate dependencies
- renamed
stretch::node::Strech -> taffy::node::Taffy
0.1.0 Fixed
- fixed feature strategy for
alloc and std: these can now be compiled together, with std's types taking priority
0.1.0 Removed
- removed Javascript / Kotlin / Swift bindings
- the maintainer team lacks expertise to keep these working
- more serious refactors are planned, and this will be challenging to keep working through that process
- if you are interested in helping us maintain bindings to other languages, get in touch!
- the
serde_camel_case and serde_kebab_case features have been removed: they were poorly motivated and were not correctly additive (if both were enabled compilation would fail)
- removed the
Direction and Overflow structs, and the corresponding direction and overflow fields from Style
- these had no effect in the current code base and were actively misleading
stretch2 0.4.3
This is the final release of stretch: migrate to the crate named taffy for future fixes and features!
These notes describe the differences between this release and stretch 0.3.2, the abandoned crate from which this library was forked.
Changed
Fixed
- fixed an exponential performance blow-up with deep nesting
- fixed percent height values, which were using parent width
- recomputing layout no longer moves children of non-zero-positioned parent
- fixed broken Swift bindings