Release Notes#

0.5.5#

Released: 2024-04-30

0.5.4#

Released: 2024-04-29

0.5.3#

Released: 2024-04-22

  • SpinInput don’t fire on_change when prop value changes.

  • enable_mouse_scroll prop for SpinInput, Slider.

  • Inspector bugfix correct source locations for :code`@component`.

0.5.2#

Released: 2024-04-01

0.5.1#

Released: 2024-03-27

0.5.0#

Released: 2024-03-21

  • Change event handler props called only on UI interaction.

    On general principle: Widget value change event handler prop functions should only be called when the Widget value changed due to a user interaction, not because the value prop changed.

  • Delete props * Slider on_move * TextInput on_edit

0.4.5#

Released: 2024-03-21

0.4.4#

Released: 2024-03-16

  • Inspector is working now with use_state().

  • Delete StateManager and StateValue.

  • Delete all state rollback features.

0.4.3#

Released: 2024-03-06

  • TextInput bugfix don’t setText on every render.

  • Clean up Python dependencies.

0.4.2#

Released: 2024-02-26

0.4.1#

Released: 2024-02-17

  • Rending logic correctness and stability improvements.

  • use_async() window close Task done bugfix.

  • use_state() will not re-render if state is __eq__ after update.

0.4.0#

Released: 2024-02-08

Major changes to App and the Window

  • App
    • App.start_loop() runs the event loop to completion. It no longer requires the user to run the loop. The user should never call loop.run_forever().

    • New method App.stop()
      • Will unmount all Elements.

      • Will call all use_effect() cleanup functions.

      • Will cancel all use_async() tasks and wait until they are cancelled.

  • Window
    • Window is a subclass of View and can have multiple children.

    • Window no longer needs an extra View child for hot-reloading to work properly.

    • Qt window on_close event causes App.stop().

Bugfixes:

0.3.7#

Released: 2024-02-06

0.3.6#

Released: 2024-02-06

0.3.5#

Released: 2024-02-03

0.3.4#

Released: 2024-01-31

0.3.3#

Released: 2024-01-25

  • Internal improvements and typing-extensions requirement.

0.3.2#

Released: 2024-01-22

  • Hooks are preserved during hot-reload.

0.3.1#

Released: 2024-01-19

  • Hot-reload improvements and bugfixes.

  • TableGridView improvements and bugfixes.

0.3.0#

Released: 2023-12-19

0.2.1#

Released: 2023-11-14

0.2.0#

Released: 2023-11-13

This version has a lot of breaking changes. We have done essentially the same upgrade that React.js did when they upgraded to function components and Hooks in version 16.8.

  • component() render function decorator instead of Component subclass. Renamed old Component to Element. Deprecated the API for users to inherit from Element. Privatized most of the Element API.

  • Hooks instead of StateValue and StateManager, which are deprecated.

  • New with context manager syntax for declaring children instead of the Element __call__ syntax for declaring children.

  • Moved ButtonView, FlowView, ImageAspect, TableGridView to Base Elements.

  • Deprecated all Higher-level Components.

  • Other miscellaneous improvements.

The old API for writing Elements by inheriting from the Component class, overriding the render() function, and calling self.set_state() has has been deprecated.

A new API for writing Elements with the component() decorator and Hooks has replaced the old API. Most of the old API machinery still exists, but has been hidden from the public API. If you want to upgrade old code to this version but don’t want to completely re-write for the new API, then you can make a few changes and run your old code.

  1. Component has been renamed to Element.

  2. The Element render() function has been renamed to _render_element(). Most other methods of Element have also been renamed with a prefix underscore. The method set_state() is now _set_state().

  3. The StateValue and StateManager can be imported from module edifice.state.

0.1.2#

Released: 2023-10-06

  • PropsDict type annotations.

  • Documentation and metadata improvements.

0.1.1#

Released: 2023-09-15

  • Documentation and metadata improvements.

0.1.0#

Released: 2023-09-14

  • Upgrade to PySide6/PyQt6. Deprecate PySide2/PyQt5.

  • New Base Component ImageSvg.

  • Component Label new props link_open.

  • QtWidgetComponent new props size_policy.

  • Create the main QEventLoop before the first App render.

  • Component Image props src can be a QtGui.QImage.

  • Deleted setup.py, added Poetry pyproject.toml.

  • App new props qapplication.

  • New Higher-level Component: ImageAspect.

  • New Higher-level Component: ButtonView.

  • New Higher-level Component: FlowView.

  • New Higher-level Component: TableGridView.

0.0.10#

Released: 2021-07-15

  • Fix deletion from View and ScrollView.

  • Add alert and file dialog options.

0.0.9#

Released: 2021-06-20

  • Add grid view.

  • Bug fix with overriding default mouse events.

  • Add global stylesheets.

  • Fix label_map.

  • Add optional QApplication app name in the App constructor.

  • Fix prop comparison of np arrays.

  • Add support for keydown and keyup events.

  • Fix on_change event for textinput.

0.0.8#

Released: 2021-02-04

Bug fixes for dynamic loading, and clearer error messages for Dropdowns and Sliders.

0.0.7#

Released: 2021-02-02

Bug fixes for checkboxes and forms.

0.0.6#

Released: 2021-01-27

Support for asyncio.

0.0.5#

Released: 2021-01-26

First public release.