Skip to content

Releases: RibirX/Ribir

ribir-v0.4.0-alpha.23

15 Jan 00:51
Compare
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
Compare
Choose a tag to compare
ribir-v0.4.0-alpha.22 Pre-release
Pre-release

Fixed

ribir-v0.4.0-alpha.21

01 Jan 00:57
Compare
Choose a tag to compare
ribir-v0.4.0-alpha.21 Pre-release
Pre-release

Fixed

  • core: The animation finish may miss drawing the last frame. (#682 @M-Adoo)

ribir-v0.4.0-alpha.20

25 Dec 00:51
Compare
Choose a tag to compare
ribir-v0.4.0-alpha.20 Pre-release
Pre-release

Features

  • core: Added Measure to enable support for percentage values for position, and Anchor now supports percentage values. (#672 @M-Adoo)
  • core: Added APIs AppCtx::once_next_frame, Window::once_next_frame, Window::once_frame_finished and Window::once_before_layout. (#672 @M-Adoo)
  • painter: Typography now supports baselines (middle and alphabetic). (#674 @M-Adoo)
  • Widgets: Added new layout widgets, HorizontalLine and VerticalLine. (#679 @M-Adoo)

Changed

  • widgets: Refactor the buttons use class to implement. (#675 @M-Adoo)

Fixed

  • core: Fix set opacity zero no work to it's children. (#671 @wjian23)
  • core: Fix TextStyle cause providers mismatched (#671 @wjian23)
  • core: Running an animation that is already in progress does not trigger a smooth transition. (#672 @M-Adoo)
  • core: The framework incorrectly clamps the layout result of the render widget. (#672 @M-Adoo)
  • core: Padding will not change the child's size; otherwise, child elements like Icon may not work correctly. (#674 @M-Adoo)
  • core: Allow children to be hit outside their parent's boundaries for non-fixed-size containers. (#676 @M-Adoo)
  • painter: Fixed text line height does not work correctly. (#674 @M-Adoo)
  • painter: Fixed issue with text not being drawn at the middle baseline by default. (#674 @M-Adoo)

Changed

  • core: Optimize QueryId::is_same by not creating a String using format for every comparison (#678 @tashcan)

ribir-v0.4.0-alpha.19

18 Dec 00:54
Compare
Choose a tag to compare
ribir-v0.4.0-alpha.19 Pre-release
Pre-release

Features

  • core: Added grab_pointer to grabs all the pointer input. (#669 @wjian23)
  • widgets: Added the widget of Slider (#669 @wjian23)

Fixed

  • core: fix mismatch of providers. (#669 @wjian23)
  • core: Added DeclarerWithSubscription to let Widget Expanded accept pipe value. (#669 @wjian23)

ribir-v0.4.0-alpha.18

11 Dec 00:57
Compare
Choose a tag to compare
ribir-v0.4.0-alpha.18 Pre-release
Pre-release

Features

  • core: Enhanced support for built-in fields such as font_size, font_face, letter_spacing, text_line_height, and text_overflow through TextStyleWidget. (#668 @M-Adoo)
  • widgets: Icon size should be maintained even if its container is not sufficiently large. (#668 @M-Adoo)
  • core: Added the builtin widget of tooltips (#664 @wjian23)

Changed

  • core: Refactor the builtin widget of global_anchor (#664 @wjian23)

ribir-v0.4.0-alpha.17

04 Dec 00:57
Compare
Choose a tag to compare
ribir-v0.4.0-alpha.17 Pre-release
Pre-release

Features

  • core: Added the named_svgs module to enable sharing SVGs using string keys, replacing the need for IconTheme. (#658 @M-Adoo)
  • core: The keyframes! macro has been introduced to manage the intermediate steps of animation states. (#653 @M-Adoo)
  • core: Added QueryId as a replacement for TypeId to facilitate querying types by Provider across different binaries. (#656 @M-Adoo)
  • core: Added OverrideClass to override a single class within a subtree. (#657 @M-Adoo)
  • widgets: Added LinearProgress and SpinnerProgress widgets along with their respective material themes. (#630 @wjian23 @M-Adoo)
  • painter: SVG now supports switching the default color, allowing for icon color changes. (#661 @M-Adoo)

Changed

  • widgets: The Checkbox widget uses classes to style and simplify its label syntax. (#666 @M-Adoo)
  • widgets: The Icon widget utilizes classes to configure its style, and it does not have a size property. (#660 @M-Adoo)
  • theme: Refactor the Ripple and StateLayer of the material theme to enhance their visual effects. (#666 @M-Adoo)

Fixed

  • core: The size of the Root container is too small, which could lead to potential missed hits. (#654 @M-Adoo)

  • core: The hit test for the TransformWidget is not applied at the correct position. (#654 @M-Adoo)

  • core: Switching to a style class may result in missing widgets. (#655 @M-Adoo)

  • core: The animation does not restore the state value correctly when multiple animations are applied to the same state. (#662 @M-Adoo)

  • macros: the top-level rdl!, pipe! and watch! do not capture built-in widgets as intended. (#666 @M-Adoo)

  • core: inner embed anchor not work (#665 @wjian23)

  • core: fix query render object with multi target hits (#665 @wjian23)

  • core: Use track_id track WidgetId, which may changed when created by pipe or class. (#665 @wjian23)

ribir-v0.4.0-alpha.15

13 Nov 00:51
Compare
Choose a tag to compare
ribir-v0.4.0-alpha.15 Pre-release
Pre-release

Features

  • macros: Every widget that derives Declare will automatically implement a macro with the same name to declare a function widget using it as the root widget. (#651 @M-Adoo)
  • core: Added the smooth widgets for transitioning the layout position and size. (#645 @M-Adoo)
  • widgets: Added three widgets FractionallyWidthBox, FractionallyHeightBox, and FractionallySizedBox to enable fractional sizing of widgets. (#647 @M-Adoo)
  • widgets: Add widget of radio button (#649 @wjian23)
  • core: BuildCtx::get() and BuildCtx::get_mut() have been added to facilitate access from anywhere within a build context. (#650 @M-Adoo)

Fixed

  • core: The Provider might be missing in a pipe class. (#648 @M-Adoo)
  • core: The child generated by the class may not be mounted. (#648 @M-Adoo)
  • widgets: Changing the flex of Expanded does not trigger a relayout. (#652 @M-Adoo)

Breaking

  • core: Expanded and KeyWidget are not declared with FatObj, so they do not currently support built-in widgets. (#648 @M-Adoo)
  • core: DeclareObj::finish does not accept a BuildCtx parameter. (#650 @M-Adoo)
  • core: function widget no longer requires a &mut BuildCtx parameter. (#650 @M-Adoo)
  • macros: Removed the ctx! macro. (#650 @M-Adoo)

ribir-v0.4.0-alpha.14

30 Oct 00:51
Compare
Choose a tag to compare
ribir-v0.4.0-alpha.14 Pre-release
Pre-release

Features

  • macros: Added the part_writer! macro to generate a partial writer from a mutable reference of a writer. (#642 @M-Adoo)

Fixed

  • core: Setting the theme before running the app results in the tree being constructed twice. (#637, @M-Adoo)
  • core: Resolve a crash occurring in a class implementation with multiple children. (#637 @M-Adoo)
  • core: Nodes created by a class implementation may not be disposed of when switching to another class. (#637 @M-Adoo)
  • core: When merge multiple MixBuiltin widgets, there may be a premature dropping of the outer MixBuiltin before it should occur. (#639 @M-Adoo)
  • core: watch! does not notify the initial value. (#640 @M-Adoo)
  • core: fix watch multi builtin events not work (#641 @wjian23)
  • core: fix widget layout when h_algin and v_align are embedded in each other (#641 @wjian23)
  • painter: fix elements may not be painted after window resize. (#644 @M-Adoo)

Breaking

  • macros: Using @ $w { ... } will no longer automatically wrap a FatObj for w. (#639 @M-Adoo)

ribir-v0.4.0-alpha.12

09 Oct 00:50
Compare
Choose a tag to compare
ribir-v0.4.0-alpha.12 Pre-release
Pre-release

Features

  • core: Added the built-in widget TextStyleWidgetWidget, allowing any widget to easily configure the text style within it using text_style. (#635, @M-Adoo)

Breaking

  • text: Removed the ribir_text crate and integrated it into the ribir_painter crate. (#635 @M-Adoo)