diff --git a/develop/404.html b/develop/404.html index fbbdd61f..44e687b2 100644 --- a/develop/404.html +++ b/develop/404.html @@ -1 +1 @@ -
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
settings.py:REACTPY_ASYNC_RENDERING
to enable asynchronous rendering of components.1.1.0
.aiofile
.compatibility
argument on reactpy_django.components.view_to_component
reactpy_django.components.view_to_component
usage as a decoratorreactpy_django.decorators.auth_required
reactpy_django.REACTPY_WEBSOCKET_PATH
settings.py:REACTPY_WEBSOCKET_URL
{% pyscript_component %}
template tag{% pyscript_setup %}
template tag to load PyScript dependenciesreactpy_django.components.pyscript_component
.reactpy_django.html.pyscript
element.New syntax for use_query
and use_mutation
hooks. Here's a quick comparison of the changes:
1 +-->
Changed¶
5.1.0 - 2024-11-24¶Added¶
Changed¶
5.0.0 - 2024-10-22¶Changed¶
Removed¶
4.0.0 - 2024-06-22¶Added¶
Changed¶
Removed¶
Fixed¶
3.8.1 - 2024-05-07¶Added¶
3.8.0 - 2024-02-20¶Added¶
Changed¶
3.7.0 - 2024-01-30¶Added¶
3.6.0 - 2024-01-10¶Added¶
Changed¶
Deprecated¶
Fixed¶
3.5.1 - 2023-09-07¶Added¶
Changed¶
3.5.0 - 2023-08-26¶Added¶
Changed¶
Django 4.2+ is requiredReactPy-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¶
3.4.0 - 2023-08-18¶Added¶
Changed¶
Deprecated¶
Removed¶
3.3.2 - 2023-08-13¶Added¶
Fixed¶
3.3.1 - 2023-08-08¶Added¶
Changed¶
3.3.0 - 2023-08-05¶Added¶
Changed¶
3.2.1 - 2023-06-29¶Added¶
Fixed¶
3.2.0 - 2023-06-08¶Added¶
Changed¶
3.1.0 - 2023-05-06¶Added¶
Changed¶
Fixed¶
3.0.1 - 2023-04-06¶Changed¶
3.0.0-reactpy - 2023-03-30¶Changed¶
3.0.0 - 2023-03-08¶NoteThis is Django-IDOM's biggest update yet! To upgrade from previous version you will need to...
Added¶
Changed¶
Removed¶
Fixed¶
Security¶
2.2.1 - 2023-01-09¶Fixed¶
2.2.0 - 2022-12-28¶Added¶
Changed¶
Removed¶
2.1.0 - 2022-11-01¶Changed¶
Fixed¶
Security¶
2.0.1 - 2022-10-18¶Fixed¶
2.0.0 - 2022-10-17¶Added¶
Changed¶
Fixed¶
1.2.0 - 2022-09-19¶Added¶
Changed¶
Fixed¶
1.1.0 - 2022-07-01¶Added¶
Changed¶
1.0.0 - 2022-05-22¶Added¶
Changed¶
Removed¶
0.0.5 - 2022-04-04¶Changed¶
Fixed¶
0.0.4 - 2022-03-05¶Changed¶
0.0.3 - 2022-02-19¶Changed¶
0.0.2 - 2022-01-30¶Added¶
Changed¶
Removed¶
Fixed¶
Security¶
0.0.1 - 2021-08-18¶Added¶
Last update: February 1, 2024 Authors: |
QueryOptions
and MutationOptions
have been removed. The value contained within these objects are now passed directly into the hook.settings.py:DEBUG
.reactpy_django.hooks.use_channel_layer
hook.id
via the reactpy_django.hooks.use_root_id
hook.settings.py:REACTPY_CLEAN_INTERVAL
to control how often ReactPy automatically performs cleaning tasks.settings.py:REACTPY_CLEAN_SESSIONS
to control whether ReactPy should clean up expired sessions during automatic cleanups.settings.py:REACTPY_CLEAN_USER_DATA
to control whether ReactPy should clean up orphaned user data during automatic cleanups.python manage.py clean_reactpy
command to manually perform ReactPy clean up tasks.*
wildcard to create default routes.reactpy_django.router.django_router
can be used to render your Django application as a SPA.settings.py:REACTPY_PRERENDER
can be set to True
to make components pre-render by default.{% component "..." prerender="True" %}
.view_to_iframe
feature!reactpy_django.components.view_to_iframe
uses an <iframe>
to render a Django view.reactpy_django.utils.register_iframe
tells ReactPy which views view_to_iframe
can use.User
related features!reactpy_django.hooks.use_user
can be used to access the current user.reactpy_django.hooks.use_user_data
provides a simplified interface for storing user key-value data.reactpy_django.decorators.user_passes_test
is inspired by the equivalent Django decorator, but ours works with ReactPy components.settings.py:REACTPY_AUTO_RELOGIN
will cause component WebSocket connections to automatically re-login users that are already authenticated. This is useful to continuously update last_login
timestamps and refresh the Django login session.ComponentPreloader
to RootComponentFinder
.as_view()
when using view_to_component
or view_to_iframe
with Class Based Views.thread_sensitive=True
has been enabled in all sync_to_async
functions where ORM queries are possible.reactpy_django.hooks.use_mutation
now has a __call__
method. So rather than writing my_mutation.execute(...)
, you can now write my_mutation(...)
.compatibility
argument on reactpy_django.components.view_to_component
is deprecated.view_to_iframe
as a replacement.reactpy_django.components.view_to_component
usage as a decorator is deprecated.view_to_component
as a function instead.reactpy_django.decorators.auth_required
is deprecated.reactpy_django.decorators.user_passes_test
instead.auth_required
's default is @user_passes_test(lambda user: user.is_active)
.Suspicious position of 'reactpy_django' in INSTALLED_APPS
) has been added.REACTPY_DEFAULT_QUERY_POSTPROCESSOR
to None
.REACTPY_RECONNECT_INTERVAL
REACTPY_RECONNECT_MAX_INTERVAL
REACTPY_RECONNECT_MAX_RETRIES
REACTPY_RECONNECT_BACKOFF_MULTIPLIER
1.0.2
.args
/kwargs
if settings.py:DEBUG
is enabled.@reactpy/client
version to 0.3.1
4.2
.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.
settings.py:REACTPY_RECONNECT_MAX
is removed. See the docs for the new REACTPY_RECONNECT_*
settings.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.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
.REACTPY_WEBSOCKET_URL doesn't end with a slash
) has been removed. ReactPy now automatically handles slashes.REACTPY_WEBSOCKET_URL doesn't start with an alphanumeric character
) has been removed. ReactPy now automatically handles this scenario.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 web server.orjson
resulting in an ~6% overall performance improvement.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 web server with uvloop
.REACTPY_WEBSOCKET_URL
always generates a warning if unset.assert f is self._write_fut
would be raised by uvicorn
when REACTPY_BACKHAUL_THREAD = True
.daphne
when REACTPY_BACKHAUL_THREAD = True
.REACTPY_BACKHAUL_THREAD
now defaults to False
.REACTPY_BACKHAUL_THREAD
setting to enable/disable threading behavior.settings.py:REACTPY_DATABASE
, reactpy_django.database.Router
must now be registered in settings.py:DATABASE_ROUTERS
.3.9
settings.py:DEBUG
is enabled.component
template tag from causing the whole template to fail to render.DEBUG
mode.REACTPY_AUTH_BACKEND
setting to allow for custom authentication backends.SessionMiddlewareStack
is now optional.AuthMiddlewareStack
is now optional.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.mutate
argument on reactpy_django.hooks.use_mutation
has been renamed to mutation
.reactpy-django
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.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.This is Django-IDOM's biggest update yet!
To upgrade from previous version you will need to...
django-idom >= 3.0.0
idom rewrite-keys <DIR>
and idom rewrite-camel-case-props <DIR>
to update your idom.html.*
calls to the new syntaxpython manage.py migrate
to create the new Django-IDOM database entriesidom
client will automatically configure itself to debug mode depending on settings.py:DEBUG
.use_connection
hook for returning the browser's active Connection
.IDOM_CACHE
is now configurable within settings.py
to whatever cache name you wish.manage.py migrate
after installing IDOM.idom.html.*
...snake_case
. For example className
now becomes class_name
.key=...
is now declared within the props dict
(rather than as a kwarg
).component
template tag now supports both positional and keyword arguments.component
template tag now supports non-serializable arguments.IDOM_WS_MAX_RECONNECT_TIMEOUT
setting has been renamed to IDOM_RECONNECT_MAX
.django_idom.hooks.use_websocket
has been removed. The similar replacement is django_idom.hooks.use_connection
.django_idom.types.IdomWebsocket
has been removed. The similar replacement is django_idom.types.Connection
.settings.py:CACHE['idom']
is no longer used by default. The name of the cache back-end must now be specified with the IDOM_CACHE
setting.view_to_component
will now retain the contents of a <head>
tag when rendering.production
rather than development
.use_query
will now utilize field.related_name
when postprocessing many-to-one relationships.settings.py:DEBUG
.use_query
would not recursively fetch many-to-one relationships.options: QueryOptions
parameter to use_query
to allow for configuration of this hook.use_query
will recursively prefetch all many-to-many or many-to-one relationships to prevent SynchronousOnlyOperation
exceptions.django_idom.hooks._fetch_lazy_fields
has been deleted. The equivalent replacement is django_idom.utils.django_query_postprocessor
.channels
version is now 4.0.0
.view_to_component
callable to have request
argument be optional.view_to_component
to represent it as a decorator with parenthesis (such as @view_to_component(compatibility=True)
)view_to_component
when using compatibility=True
.key=...
parameter on all prefabricated components.use_origin
hook for returning the browser's location.origin
.view_to_component
now returns a Callable
, instead of directly returning a Component
. Check the docs for new usage info.use_mutation
and use_query
will now log any query failures.use_mutation
to have refetch=None
, as the docs suggest is possible.use_query
will now prefetch all fields to prevent SynchronousOnlyOperation
exceptions.view_to_component
, django_css
, and django_js
type hints will now display like normal functions.auth_required
decorator to prevent your components from rendering to unauthenticated users.use_query
hook for fetching database values.use_mutation
hook for modifying database values.view_to_component
utility to convert legacy Django views to IDOM components.playwright
instead of selenium
django_css
and django_js
components to defer loading CSS & JS files until needed.use_websocket
, use_scope
, and use_location
are now available within the django_idom.hooks
module.idom_component
template tag has been renamed to component
websocket
parameter for components has been removed. Functionally, it is replaced with django_idom.hooks.use_websocket
.idom.core.proto
caused by IDOM 0.37.2div
name = ...
parameter to IDOM HTTP paths for use with django.urls.reverse()
IdomWebsocket
django_idom/
parent folder0.36.0
4.0
3.8
IDOM_WEB_MODULES_PATH
has been replaced with Django include(...)
IDOM_WS_MAX_RECONNECT_DELAY
has been renamed to IDOM_WS_MAX_RECONNECT_TIMEOUT
idom_web_modules
cache back-end has been renamed to idom