Releases: RibirX/Ribir
Releases · RibirX/Ribir
ribir-v0.4.0-alpha.32
Features
- core: Add built-in method
focus_change_reasonto retrieve last focus/blur event cause. (#734 by @M-Adoo) - core: Add reason in
FocusEventto indicate the cause of focus change. (#734 @M-Adoo)
Fixed
- core: Fix
FittedBoxto always center its child (#727 by @M-Adoo) - core: Fix incorrect drop pointer press or release event when multiple devices are used simultaneously, ensuring that only the tap event is dropped while other events are fired correctly. (#730 @M-Adoo)
- core: Fix the bug where the outer data of the first child is incorrectly wrapped around each child when the pipe dynamically generates multiple children. (#735 @wjian23)
Changed
- widgets: The
Listwidgets has been redesigned with class-based styling and cleaner syntax. (#727 @M-Adoo) - ribir: Updated winit dependency to v0.30.* (#728 @M-Adoo)
- ribir: Updated wgpu dependency to v0.24.* (#728 @M-Adoo)
BREAKING CHANGES
- core: Standardize built-in method naming conventions: (#734 @M-Adoo)
- Boolean state checks (past participle):
has_focus→is_focusedis_hover→is_hovered
- Property accessors:
is_auto_focus→auto_focus(getter)
- Boolean state checks (past participle):
- ribir/web: Changed canvas management strategy: (#728 @M-Adoo)
- Now searches for
ribir_containerelement to append new canvas - No longer reuses existing canvas elements
- Now searches for
ribir-v0.4.0-alpha.31
Features
- core: Introduced the
PairOfutility to preserve parent and child type information ofComposeChild. (#724 @M-Adoo) - core: Added
class_array!macro to apply multiple classes at once. (#724 by @M-Adoo) - core: Add non-child field support to
Template. (#725 @M-Adoo)- Support default values for non-child fields via
#[template(field)]attribute. - Maintain backward compatibility with existing child-focused patterns
- Support default values for non-child fields via
Breaking
- core: PipeWidget will be lazy created by pipe value of FnWidget.(#723 @wjian23)
- core: Changed
Declareto initialize fields in-place rather than returning a new object (#724 by @M-Adoo) - core: The fn_widget! macro preserves the type information of the returned widget. (#726 @wjian23)
- core: Refactor KeyWidget, reuse the instance with same key when Pipe regenerate. (#726 @wjian23)
ribir-v0.4.0-alpha.30
Features
- theme: Added support for the Material Theme using the
DisabledRippleprovider to disable the ripple effect. (#pr by @M-Adoo) - widgets: Added
defer_alloctoExpandedwidget, allowing space allocation to be deferred until after other widgets are allocated. (#pr @M-Adoo)
Fixed
- macros: Fixed
part_xxx!macro handling of built-in widget state when used as a top-level macro. (#pr @M-Adoo)
ribir-v0.4.0-alpha.29
Features
- core: record the visual rect after layout.(#698 @wjian23)
- widget: Add the Widget of Menu.(#702 @wjian23)
- widgets: Allow children of the
Stackto adjust their size based on theStack's size. (#706 @M-Adoo) - core: Add support for ColorFilter.(#709 @wjian23)
- core: Added builtin field
disable.(#712 @wjian23) - core: Added ColorFilter of
hue_rotate_filterandsaturate_filter(#712 @wjian23)
Fixed
- core: Fixed the provider of the current widget was lost during event bubbling.(#702 @wjian23)
- core: Fixed the panic when overlay recreate provider_ctx during event callback.(#702 @wjian23)
- core: fix miss pop providers when call
push_providers_forseparately during layout.(#698 @wjian23) - core: enables embedding declare template as child in widget with Vec of template(#704 @wjian23)
- core: Ensure layout event is emitted once per layout phase (not per frame) (#708 by @M-Adoo)
- core: Use minimum constraint size for viewport in unbounded layouts (#708 by @M-Adoo)
- painter: Properly discard render operations when clipping to zero-sized rectangles (#708 @M-Adoo)
- macro: Fixed issue where top-level
fn_widget!macro did not capture a built-in widget. (#706 @M-Adoo) - widgets:
Flexnow stretches cross-axis items using final line dimensions instead of constraint clamping. (#707 by @M-Adoo) - core: Fixed track_id in class node not update.(#712 @wjian23)
- core: Fixed FocusScope not work when host changed by class or pipe.(#712@wjian23)
Changed
- widgets: Refactor
DividerWidget. (#702 @wjian23) - widgets: Refactor
TabsWidget. (#707 @M-Adoo) - ci: update rust version of ci to 2025-03-06 (#702 @wjian23)
Breaking
ribir-v0.4.0-alpha.27
Features
- core: Add the ability to force redraw a frame. (#697 @zihadmahiuddin)
Fixed
- core: Fix window staying empty after switching workspace (e.g. in i3wm) by doing a force redraw. (#697 @zihadmahiuddin)
ribir-v0.4.0-alpha.26
ribir-v0.4.0-alpha.25
Features
- core: Add builtin field
clip_boundary. (#694 @wjian23) - core:
IgnorePointernow has the ability to only ignore events for the widget itself. (#695 @M-Adoo) - core: Included
BoxPainterto draw decorations starting from the widget box's origin while ignoring padding. (#695 @M-Adoo)
Changed
Fixed
- core & widgets: Layouts are not permitted to return an infinite size, so if a layout requires scaling or expanding the size infinitely, that action should be disregarded. (#695 @M-Adoo)
- macros: Embedding
fn_widget!may lead to missed captured variables. (#695 @M-Adoo) - core: The child should not be painted when visible is false. (#695 @M-Adoo)
- core: Ensure that the content widget size in the scrollable widget is not smaller than its viewport. (#695 @M-Adoo)
- core: The crash occurs when a parent widget with a class tries to convert the widget with more than one leaf. (#695 @M-Adoo)
- core: The padding only reduces the content size and does not affect the border and background size. (#695 @M-Adoo)
ribir-v0.4.0-alpha.24
Features
- core: ensure object safety of
StateReader,StateWatcherandStateWriter(#692 @M-Adoo) - core: Support extend custom event. (#684 @wjian23)
- core: Added
map_watchertoStateWatcher(#684 @wjian23) - core: Added
ensure_visibleand ScrollableProvider to ScrollableWidget, to support descendant to be showed.(#684 @wjian23)
Changed
- core: Unified implementation of IntoWidget for impl StateWriter<V:Compose>. (#684 @wjian23)
- widgets: Refactor
InputWidget. (#684 @wjian23)
Breading
ribir-v0.4.0-alpha.23
Features
- core: The
Render::dirty_phasemethod has been added to allow widgets to mark only the paint phase as dirty when it is modified. (#689 @M-Adoo) - core: Supports
Providerto dirty the tree if it's a state writer. (#689 @M-Adoo) - core: Added the built-in field
providersto provide data to its descendants. (#690 @M-Adoo) - core: Added
Variantto support building widgets with variables acrossProviders. (#690 @M-Adoo) - macros: Added the
part_reader!macro to generate a partial reader from a reference of a reader. (#688 @M-Adoo) - macros: The
simple_declarenow supports thestatelessmeta attribute,#[simple_declare(stateless)]. (#688 @M-Adoo)
Fixed
- Core:
PartDataallows the use of a reference to create a write reference, which is unsafe. IntroducePartRefandPartMutto replace it. (#690 @M-Adoo)