You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+7-1Lines changed: 7 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -36,6 +36,10 @@ Don't forget to remove deprecated code on each major release!
36
36
- Added `reactpy.reactjs.component_from_string` to import ReactJS components from a string.
37
37
- Added `reactpy.reactjs.component_from_npm` to import ReactJS components from NPM.
38
38
- Added `reactpy.h` as a shorthand alias for `reactpy.html`.
39
+
- Added `reactpy.config.REACTPY_MAX_QUEUE_SIZE` to configure the maximum size of all ReactPy asyncio queues (e.g. receive buffer, send buffer, event buffer) before ReactPy begins waiting until a slot frees up. This can be used to constraint memory usage.
40
+
- Events now support `debounce` and `throttle`, configurable per event via `event.debounce = <milliseconds>` and `EventHandler(fn, throttle=<milliseconds>)` respectively.
41
+
-`debounce` waits until activity stops, then fires once. Default is 200 ms on `input`/`select`/`textarea`, 0 ms elsewhere.
42
+
-`throttle` caps the rate how often an event is allowed to execute. No default; opt in per event.
39
43
40
44
### Changed
41
45
@@ -59,7 +63,7 @@ Don't forget to remove deprecated code on each major release!
59
63
-`reactpy.core.vdom._CustomVdomDictConstructor` has been moved to `reactpy.types.CustomVdomConstructor`.
60
64
-`reactpy.core.vdom._EllipsisRepr` has been moved to `reactpy.types.EllipsisRepr`.
61
65
-`reactpy.types.VdomDictConstructor` has been renamed to `reactpy.types.VdomConstructor`.
62
-
-`REACTPY_ASYNC_RENDERING` can now de-duplicate and cascade renders where necessary.
66
+
-`REACTPY_ASYNC_RENDERING` can now de-duplicate renders where necessary.
63
67
-`REACTPY_ASYNC_RENDERING` is now defaulted to `True` for up to 40x performance improvements in environments with high concurrency.
64
68
65
69
### Deprecated
@@ -85,6 +89,7 @@ Don't forget to remove deprecated code on each major release!
85
89
- Removed `reactpy.run`. See the documentation for the new method to run ReactPy applications.
86
90
- Removed `reactpy.backend.*`. See the documentation for the new method to run ReactPy applications.
87
91
- Removed `reactpy.core.types` module. Use `reactpy.types` instead.
92
+
- Removed `reactpy.utils.str_to_bool`.
88
93
- Removed `reactpy.utils.html_to_vdom`. Use `reactpy.utils.string_to_reactpy` instead.
89
94
- Removed `reactpy.utils.vdom_to_html`. Use `reactpy.utils.reactpy_to_string` instead.
90
95
- Removed `reactpy.vdom`. Use `reactpy.Vdom` instead.
@@ -101,6 +106,7 @@ Don't forget to remove deprecated code on each major release!
101
106
- Fixed a bug where script elements would not render to the DOM as plain text.
102
107
- Fixed a bug where the `key` property provided within server-side ReactPy code was failing to propagate to the front-end JavaScript components.
103
108
- Fixed a bug where `RuntimeError("Hook stack is in an invalid state")` errors could be generated when using a webserver that reuses threads.
109
+
- Fixed a bug where events on controlled inputs (e.g. `html.input({"onChange": ...})`) could be lost during rapid actions.
104
110
- Allow for ReactPy and ReactJS components to be arbitrarily inserted onto the page with any possible hierarchy.
0 commit comments