Skip to content

v0.4.4

Compare
Choose a tag to compare
@masenf masenf released this 11 Mar 22:53
b219540

Known Issues

py3.8 and py3.9 using @rx.page with REDIS_URL set:

RuntimeError: There is no current event loop in thread 'ThreadPoolExecutor-0_0'.

Breaking Changes

Component._get_vars signature change

Unlikely to affect most users; however the signature of Component._get_vars has changed to accept a new include_children parameter which should either be handled internally or passed to super()._get_vars if this function has been overridden in a custom component.

New signature

def _get_vars(self, include_children: bool = False) -> Iterator[Var]:

New Features

Expose lang and other attributes on <html> tag

rx.upload exposes on_drop event trigger

Trigger upload immediately after files are selected by passing an rx.upload_files-wrapped handler directly to on_drop trigger.

  • Expose on_drop event trigger for rx.upload component. by @masenf in #2766

rx.el.form supports on_submit event trigger

  • [REF-1368] Move common form functionality to rx.el.forms by @masenf in #2801

Improvements

Dependency Changes

Enable /_upload when get_upload_url is used

Previously, the rx.upload component was the only thing that resulted in the endpoint being enabled.

  • Mark Upload.is_used when calling get_upload_url by @masenf in #2765

Update docker-example for more realistic deployments

  • a simple dual port Dockerfile

  • compose.yaml providing a separate backend container and static frontend served with automatic TLS

    • Support volumes for data and uploaded files
  • compose.prod.yaml including postgres database and redis containers

  • app.Dockerfile for single container, single port deployment on a platform service like Render, Railway, and Google Cloud Run

  • docker-example overhaul by @masenf in #2690

  • Include app.Dockerfile for deploying to container hosting platform by @masenf in #2784

Improve "Stateless" app detection

Apps which import State, but do not actually use it are considered stateless.

Apps that use rx.State.router automatically work without defining a dummy substate.

Apps dynamically create state at runtime (#1877) correctly include used dynamic substates.

Better support for plain SQLAlchemy

reflex component CLI improvements

  • Build and publish in a single step

  • Improved custom component template

  • More comprehensive .gitignore

  • fix template for custom comp by @Lendemor in #2787

  • [REF-2141] Custom component command improvements by @martinxu9 in #2807

EventChain list syntax is undeprecated

It is now acceptable to pass a list of multiple EventHandler to an event trigger, such as on_click.

Bug Fixes

  • Fix Padding in Accordion component
  • Skip node install if version requirements are met
  • Fix infinite recursion when a substate named "state" has a computed var by @masenf in #2778
  • Fix /_upload 404 and missing on_load handlers in production deployment
    • app_module_for_backend: wait for _compile in prod mode by @masenf in #2760
  • [REF-2087] Better rx.progress styling integration with radix themes by @masenf in #2762
  • Updating initialize_gitignore() to avoid modifying the encoding of the .gitignore file by @cllatser in #2797
  • Fix tab freezing and crash when appearance="dark" and theme_panel=True
    • [REF-1994] ThemePanel: clear chakra-ui-color-mode key when using theme panel by @masenf in #2799
  • [REF-2098] Allow overlay Close components to have on_click handlers by @masenf in #2793

Other Changes

New Contributors

Full Changelog: v0.4.3...v0.4.4