Skip to content

Releases: reactive-python/reactpy-django

3.4.0

18 Aug 10:07
daf1232
Compare
Choose a tag to compare

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 the component 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 is REACTPY_WEBSOCKET_ROUTE.
  • settings.py:REACTPY_WEBSOCKET_URL is deprecated. The similar replacement is REACTPY_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 of channels do not require installation via INSTALLED_APPS to receive an ASGI webserver.

3.3.2

14 Aug 00:18
88acbaf
Compare
Choose a tag to compare

Added

  • ReactPy Websocket will now decode messages via orjson resulting in an ~6% overall performance improvement.
  • Built-in asyncio event loops are now patched via nest_asyncio, resulting in an ~10% overall performance improvement. This has no performance impact if you are running your webserver with uvloop.

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 by uvicorn when REACTPY_BACKHAUL_THREAD = True.
  • Fixed bug on Windows where rendering behavior would be jittery with daphne when REACTPY_BACKHAUL_THREAD = True.

3.3.1

09 Aug 00:50
36da02e
Compare
Choose a tag to compare

Added

  • Additional system checks for ReactPy misconfigurations.

Changed

  • REACTPY_BACKHAUL_THREAD now defaults to False.

3.3.0

05 Aug 07:52
4fc2c8a
Compare
Choose a tag to compare

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 in settings.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

29 Jun 20:00
9acb074
Compare
Choose a tag to compare

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

23 Jun 22:40
112f280
Compare
Choose a tag to compare

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

07 May 04:46
d61023a
Compare
Choose a tag to compare

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 accepts reactpy_django.types.MutationOptions option to customize how mutations are executed.

Changed

  • The mutate argument on reactpy_django.hooks.use_mutation has been renamed to mutation.

Fixed

  • Fix bug where ReactPy utilizes Django's default cache timeout, which can prematurely expire the component cache.

3.0.1

07 Apr 03:44
1bea69f
Compare
Choose a tag to compare

Removed

  • django-reactpy database entries are no longer cleaned during Django application startup. Instead, it will occur on webpage loads if REACTPY_RECONNECT_MAX seconds has elapsed since the last cleaning.

3.0.1-legacy-idom

01 Apr 23:48
Compare
Choose a tag to compare

Changed

  • Add warning to django-idom for users to use reactpy-django instead.

3.0.0-reactpy

30 Mar 22:44
1abf4cd
Compare
Choose a tag to compare

Changed

  • django-idom has been renamed to reactpy-django! Please note that all references to the word idom in your code should be changed to reactpy. See the docs for more details.