Releases: linebender/xilem
v0.4.0
| Name | Crates.io | Docs |
|---|---|---|
xilem |
Crates.io | Docs |
xilem_web |
Crates.io | Docs |
xilem_core |
Crates.io | Docs |
masonry |
Crates.io | Docs |
masonry_winit |
Crates.io | Docs |
masonry_testing |
Crates.io | Docs |
masonry_core |
Crates.io | Docs |
This release has an MSRV of 1.88.
In the nearly six months since the last release, we have put a lot of focus into making Xilem and Masonry more suitable for general use. In addition, we have gained several important features, including initial support for using Masonry with multiple windows.
As Xilem and Masonry are beginning to move towards improved stability, we plan to start keeping a changelog after this release. Note that this is alpha-quality software. There are plenty of missing features. We expect to continue active development, including making major breaking changes.
Highlights
- Styling properties can now be set in Xilem applications. (#964, #1278)
- New crate layout, including the new Masonry Core (#1044) and Masonry Testing. (#1048)
- Multiple window support. (#1038, #992, #1388)
- Properties for more widgets. (#1056, #1054, #1053, and others)
- Placehero, a new hero example which is a Mastodon client.
This is still in very early stages. - The app state is available in Xilem's reconciliation (#1079), allowing improved API for
lens. (#1094) - We now use wgpu 26, which matches Bevy 0.17. (#1413)
- Clearer Flex handling in Xilem, with the axis explicitly specified by default. (#1348)
- More modern default style. (#1096)
- Use of Anymore for improved debugging. (#1170, #1170, #1178)
- Early environment/context support in Xilem. (#1142)
NewWidgetAPI, to encapsulate metadata required to create a widget. (#1215)- Basic text-only clipboard support. (#1237)
- Associated type (
Action) indicating what action a widget will emit. (#1212) Lengthtype, which encodes logical pixels in the type system. (#1250)- New slider widget. (#1378)
- Blinking text input caret/cursor. (#1397)
- Basic layer system. (#1405)
- UI Events v0.2.0. (#1103)
- Significantly improved and widened automated tests of Masonry.
- Many improvements to documentation.
- Better keyboard navigation support.
This release also corresponds with the v0.2.0 release of Tree Arena.
This is the crate used in Masonry to store widgets.
New Contributors
- @not-my-profile made their first contribution in #977
- @DataTriny made their first contribution in #989
- @ofluffydev made their first contribution in #994
- @alexmoon made their first contribution in #999
- @dbuch made their first contribution in #1100
- @tannal made their first contribution in #1124
- @KiranWells made their first contribution in #1168
- @StephanvanSchaik made their first contribution in #1204
- @pufmat made their first contribution in #1246
- @nixonyh made their first contribution in #1253
- @xb284524239 made their first contribution in #1348
- @jakobhellermann made their first contribution in #1372
- @Retype15 made their first contribution in #1378
- @ricvelozo made their first contribution in #1386
- @yu2344 made their first contribution in #1402
- @Cyncrovee made their first contribution in #1406
- @StT191 made their first contribution in #1427
Full Changelog: v0.3.0...v0.4.0
v0.3.0
| Name | Crates.io | Docs |
|---|---|---|
xilem |
Crates.io | Docs |
xilem_web |
Crates.io | Docs |
xilem_core |
Crates.io | Docs |
masonry |
Crates.io | Docs |
masonry_winit |
Crates.io | Docs |
This release has an MSRV of 1.86.
Another year has passed in Xilem's development and so it's time for another release. Given the experimental nature of this work, things change often and a lot. Thus we aren't yet keeping a changelog. However, this is the cumulative release of our last year's work. During this period we merged 501 pull requests authored by 40 contributors in this repository alone. The true depth of our work goes far beyond that because our stack is spread across many repositories.
This is alpha-quality software. There are plenty of missing features and other issues. We expect to continue very active development.
New Contributors
- @matthunz made their first contribution in #286
- @keeslinp made their first contribution in #285
- @alexpyattaev made their first contribution in #304
- @bram209 made their first contribution in #308
- @johanholmerin made their first contribution in #418
- @cfagot made their first contribution in #417
- @werickdasilva made their first contribution in #453
- @casey made their first contribution in #466
- @jaredoconnell made their first contribution in #467
- @edgy-sphere made their first contribution in #483
- @RagibHasin made their first contribution in #489
- @rustui made their first contribution in #508
- @crockeo made their first contribution in #476
- @matta made their first contribution in #533
- @failingprovince made their first contribution in #582
- @simbleau made their first contribution in #299
- @melix99 made their first contribution in #671
- @viktorstrate made their first contribution in #735
- @KGrewal1 made their first contribution in #752
- @Long0x0 made their first contribution in #777
- @ArtyomSinyugin made their first contribution in #797
- @eugenesvk made their first contribution in #861
- @platlas made their first contribution in #889
- @alexjg made their first contribution in #922
- @Azorlogh made their first contribution in #927
Full Changelog: v0.1.0...v0.3.0
Tree Arena 0.1.0
This release has an MSRV of 1.86.
A tree for use in Masonry, with a safe and an unsafe version.
The safe tree is known to work, and serves as the baseline implementation and is used by default.
The unsafe tree leverages a hashmap as an arena and is designed for higher performance: it leverages unsafe code to achieve this.
The unsafe tree is not yet fully tested, and is not used by default.
v0.1.0
We are proud to announce that after years of development we have released v0.1.0 of Xilem!
Xilem is a UI toolkit. It combines ideas from Flutter, SwiftUI, and Elm. Like all of these, it uses lightweight view objects, diffing them to provide minimal updates to a retained UI. Like SwiftUI, it is strongly typed. For more details on Xilem's reactive architecture see Xilem: an architecture for UI in Rust.
Xilem's reactive layer is built on top of a wide array of foundational Rust UI projects, e.g.:
- Widgets are provided by Masonry, which is a fork of the now discontinued Druid UI toolkit.
- Rendering is provided by Vello, a high performance GPU compute-centric 2D renderer.
- GPU compute infrastructure is provided by wgpu.
- Text support is provided by Parley, Fontique, Swash, and Skrifa.
- Accessibility is provided by AccessKit.
- Window handling is provided by winit.
Xilem can currently be considered to be in an alpha state. Lots of things need improvements.
Masonry 0.2.0
We are proud to announce the release of v0.2.0 of Masonry!
Masonry has migrated from using druid-shell and piet to a new stack:
- Rendering is provided by Vello, a high performance GPU compute-centric 2D renderer.
- GPU compute infrastructure is provided by wgpu.
- Text support is provided by Parley, Fontique, Swash, and Skrifa.
- Accessibility is provided by AccessKit.
- Window handling is provided by winit.
This is alpha-quality software. There are plenty of known and unknown issues, and we expect to continue very active development.