Skip to content

Releases: RibirX/Ribir

ribir-v0.4.0-alpha.32

09 Apr 00:56

Choose a tag to compare

ribir-v0.4.0-alpha.32 Pre-release
Pre-release

Features

  • core: Add built-in method focus_change_reason to retrieve last focus/blur event cause. (#734 by @M-Adoo)
  • core: Add reason in FocusEvent to indicate the cause of focus change. (#734 @M-Adoo)

Fixed

  • core: Fix FittedBox to 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 List widgets 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_focusis_focused
      • is_hoveris_hovered
    • Property accessors:
      • is_auto_focusauto_focus (getter)
  • ribir/web: Changed canvas management strategy: (#728 @M-Adoo)
    • Now searches for ribir_container element to append new canvas
    • No longer reuses existing canvas elements

ribir-v0.4.0-alpha.31

02 Apr 00:57

Choose a tag to compare

ribir-v0.4.0-alpha.31 Pre-release
Pre-release

Features

  • core: Introduced the PairOf utility to preserve parent and child type information of ComposeChild. (#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

Breaking

  • core: PipeWidget will be lazy created by pipe value of FnWidget.(#723 @wjian23)
  • core: Changed Declare to 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

26 Mar 00:55

Choose a tag to compare

ribir-v0.4.0-alpha.30 Pre-release
Pre-release

Features

  • theme: Added support for the Material Theme using the DisabledRipple provider to disable the ripple effect. (#pr by @M-Adoo)
  • widgets: Added defer_alloc to Expanded widget, 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

19 Mar 00:55

Choose a tag to compare

ribir-v0.4.0-alpha.29 Pre-release
Pre-release

Features

  • core: record the visual rect after layout.(#698 @wjian23)
  • widget: Add the Widget of Menu.(#702 @wjian23)
  • widgets: Allow children of the Stack to adjust their size based on the Stack'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_filter and saturate_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_for separately 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: Flex now 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

Breaking

  • core: Remove the text_align from the Text widget and replace it with the TextAlign provider instead. (#706 @M-Adoo)

ribir-v0.4.0-alpha.27

12 Feb 00:52

Choose a tag to compare

ribir-v0.4.0-alpha.27 Pre-release
Pre-release

Features

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

05 Feb 00:51

Choose a tag to compare

ribir-v0.4.0-alpha.26 Pre-release
Pre-release

Fixed

  • widgets: Ensure that the Flex expands items only after allocating space to all items, prioritizing the display of items in full initially. (#696 @M-Adoo)

ribir-v0.4.0-alpha.25

29 Jan 00:50

Choose a tag to compare

ribir-v0.4.0-alpha.25 Pre-release
Pre-release

Features

  • core: Add builtin field clip_boundary. (#694 @wjian23)
  • core: IgnorePointer now has the ability to only ignore events for the widget itself. (#695 @M-Adoo)
  • core: Included BoxPainter to draw decorations starting from the widget box's origin while ignoring padding. (#695 @M-Adoo)

Changed

  • macros: Generate cleaner code for #[derive(Declare)] when all fields are omitted. (#695 @M-Adoo)

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

22 Jan 00:51

Choose a tag to compare

ribir-v0.4.0-alpha.24 Pre-release
Pre-release

Features

  • core: ensure object safety of StateReaderStateWatcher and StateWriter (#692 @M-Adoo)
  • core: Support extend custom event. (#684 @wjian23)
  • core: Added map_watcher to StateWatcher (#684 @wjian23)
  • core: Added ensure_visible and 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 Input Widget. (#684 @wjian23)

Breading

  • core: Rename can_focus field of FocusScope to skip_host. (#684 @wjian23)

ribir-v0.4.0-alpha.23

15 Jan 00:51

Choose a tag to compare

ribir-v0.4.0-alpha.23 Pre-release
Pre-release

Features

  • core: The Render::dirty_phase method has been added to allow widgets to mark only the paint phase as dirty when it is modified. (#689 @M-Adoo)
  • core: Supports Provider to dirty the tree if it's a state writer. (#689 @M-Adoo)
  • core: Added the built-in field providers to provide data to its descendants. (#690 @M-Adoo)
  • core: Added Variant to support building widgets with variables across Providers. (#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_declare now supports the stateless meta attribute, #[simple_declare(stateless)]. (#688 @M-Adoo)

Fixed

  • Core: PartData allows the use of a reference to create a write reference, which is unsafe. Introduce PartRef and PartMut to replace it. (#690 @M-Adoo)

Breading

ribir-v0.4.0-alpha.22

08 Jan 00:51

Choose a tag to compare

ribir-v0.4.0-alpha.22 Pre-release
Pre-release

Fixed