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_POSTPROCESSOR
toNone
. - Massive overhaul of docs styling.
3.5.0
Added
- More customization for reconnection behavior through new settings!
REACTPY_RECONNECT_INTERVAL
REACTPY_RECONNECT_MAX_INTERVAL
REACTPY_RECONNECT_MAX_RETRIES
REACTPY_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
/kwargs
ifsettings.py:DEBUG
is enabled. - Bumped the minimum
@reactpy/client
version 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_MAX
is 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_HOSTS
setting can round-robin a list of ReactPy rendering hosts.host
argument has been added to thecomponent
template tag to force components to render on a specific host.
reactpy_django.utils.register_component
function 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_PATH
is deprecated. The identical replacement isREACTPY_WEBSOCKET_ROUTE
.settings.py:REACTPY_WEBSOCKET_URL
is 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 ofchannels
do not require installation viaINSTALLED_APPS
to receive an ASGI webserver.
3.3.2
Added
- ReactPy Websocket will now decode messages via
orjson
resulting in an ~6% overall performance improvement. - Built-in
asyncio
event 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_URL
always generates a warning if unset. - Fixed bug on Windows where
assert f is self._write_fut
would be raised byuvicorn
whenREACTPY_BACKHAUL_THREAD = True
. - Fixed bug on Windows where rendering behavior would be jittery with
daphne
whenREACTPY_BACKHAUL_THREAD = True
.
3.3.1
Added
- Additional system checks for ReactPy misconfigurations.
Changed
REACTPY_BACKHAUL_THREAD
now defaults toFalse
.
3.3.0
Added
- Added system checks for a variety of common ReactPy misconfigurations.
REACTPY_BACKHAUL_THREAD
setting to enable/disable threading behavior.
Changed
- If using
settings.py:REACTPY_DATABASE
,reactpy_django.database.Router
must 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:DEBUG
is enabled.
Fixed
- Prevent exceptions within the
component
template 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
DEBUG
mode. - Added
REACTPY_AUTH_BACKEND
setting to allow for custom authentication backends.
Changed
- Using
SessionMiddlewareStack
is now optional. - Using
AuthMiddlewareStack
is now optional.
3.1.0
Added
use_query
now supports async functions.use_mutation
now supports async functions.reactpy_django.types.QueryOptions.thread_sensitive
option to customize how sync queries are executed.reactpy_django.hooks.use_mutation
now acceptsreactpy_django.types.MutationOptions
option to customize how mutations are executed.
Changed
- The
mutate
argument onreactpy_django.hooks.use_mutation
has 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-reactpy
database entries are no longer cleaned during Django application startup. Instead, it will occur on webpage loads ifREACTPY_RECONNECT_MAX
seconds has elapsed since the last cleaning.