Releases: reactive-python/reactpy-django
Releases · reactive-python/reactpy-django
3.5.1
Added
- Warning W018 (
Suspicious position of 'reactpy_django' in INSTALLED_APPS) has been added.
Changed
- The default postprocessor can now disabled by setting
REACTPY_DEFAULT_QUERY_POSTPROCESSORtoNone. - Massive overhaul of docs styling.
3.5.0
Added
- More customization for reconnection behavior through new settings!
REACTPY_RECONNECT_INTERVALREACTPY_RECONNECT_MAX_INTERVALREACTPY_RECONNECT_MAX_RETRIESREACTPY_RECONNECT_BACKOFF_MULTIPLIER
- ReactPy-Django docs are now version controlled via mike!
Changed
- Bumped the minimum ReactPy version to
1.0.2. - Prettier websocket URLs for components that do not have sessions.
- Template tag will now only validate
args/kwargsifsettings.py:DEBUGis enabled. - Bumped the minimum
@reactpy/clientversion to0.3.1 - Bumped the minimum Django version to
4.2. - Use TypeScript instead of JavaScript for this repository.
- Note: ReactPy-Django will continue bumping minimum Django requirements to versions that increase async support. This "latest-only" trend will continue until Django has all async features that ReactPy benefits from. After this point, ReactPy-Django will begin supporting all maintained Django versions.
Removed
settings.py:REACTPY_RECONNECT_MAXis removed. See the docs for the newREACTPY_RECONNECT_*settings.
3.4.0
Added
- Distributed Computing: ReactPy components can now optionally be rendered by a completely separate server!
REACTPY_DEFAULT_HOSTSsetting can round-robin a list of ReactPy rendering hosts.hostargument has been added to thecomponenttemplate tag to force components to render on a specific host.
reactpy_django.utils.register_componentfunction can manually register root components.- Useful if you have dedicated ReactPy rendering application(s) that do not use HTML templates.
Changed
- ReactPy will now provide a warning if your HTTP URLs are not on the same prefix as your websockets.
- Cleaner logging output for auto-detected ReactPy root components.
Deprecated
reactpy_django.REACTPY_WEBSOCKET_PATHis deprecated. The identical replacement isREACTPY_WEBSOCKET_ROUTE.settings.py:REACTPY_WEBSOCKET_URLis deprecated. The similar replacement isREACTPY_URL_PREFIX.
Removed
- Warning W007 (
REACTPY_WEBSOCKET_URL doesn't end with a slash) has been removed. ReactPy now automatically handles slashes. - Warning W008 (
REACTPY_WEBSOCKET_URL doesn't start with an alphanumeric character) has been removed. ReactPy now automatically handles this scenario. - Error E009 (
channels is not in settings.py:INSTALLED_APPS) has been removed. Newer versions ofchannelsdo not require installation viaINSTALLED_APPSto receive an ASGI webserver.
3.3.2
Added
- ReactPy Websocket will now decode messages via
orjsonresulting in an ~6% overall performance improvement. - Built-in
asyncioevent loops are now patched vianest_asyncio, resulting in an ~10% overall performance improvement. This has no performance impact if you are running your webserver withuvloop.
Fixed
- Fix bug where
REACTPY_WEBSOCKET_URLalways generates a warning if unset. - Fixed bug on Windows where
assert f is self._write_futwould be raised byuvicornwhenREACTPY_BACKHAUL_THREAD = True. - Fixed bug on Windows where rendering behavior would be jittery with
daphnewhenREACTPY_BACKHAUL_THREAD = True.
3.3.1
Added
- Additional system checks for ReactPy misconfigurations.
Changed
REACTPY_BACKHAUL_THREADnow defaults toFalse.
3.3.0
Added
- Added system checks for a variety of common ReactPy misconfigurations.
REACTPY_BACKHAUL_THREADsetting to enable/disable threading behavior.
Changed
- If using
settings.py:REACTPY_DATABASE,reactpy_django.database.Routermust now be registered insettings.py:DATABASE_ROUTERS. - By default, ReactPy will now use a backhaul thread to increase performance.
- Minimum Python version required is now
3.9 - A thread-safe cache is no longer required.
3.2.1
Added
- Template tag exception details are now rendered on the webpage when
settings.py:DEBUGis enabled.
Fixed
- Prevent exceptions within the
componenttemplate tag from causing the whole template to fail to render.
3.2.0
Added
- Added warning if poor system/cache/database performance is detected while in
DEBUGmode. - Added
REACTPY_AUTH_BACKENDsetting to allow for custom authentication backends.
Changed
- Using
SessionMiddlewareStackis now optional. - Using
AuthMiddlewareStackis now optional.
3.1.0
Added
use_querynow supports async functions.use_mutationnow supports async functions.reactpy_django.types.QueryOptions.thread_sensitiveoption to customize how sync queries are executed.reactpy_django.hooks.use_mutationnow acceptsreactpy_django.types.MutationOptionsoption to customize how mutations are executed.
Changed
- The
mutateargument onreactpy_django.hooks.use_mutationhas been renamed tomutation.
Fixed
- Fix bug where ReactPy utilizes Django's default cache timeout, which can prematurely expire the component cache.
3.0.1
Removed
django-reactpydatabase entries are no longer cleaned during Django application startup. Instead, it will occur on webpage loads ifREACTPY_RECONNECT_MAXseconds has elapsed since the last cleaning.