- Automatically change the status code in the middleware to 422 for failed form submissions requested by Turbo.
- Add doc about
django-lifecycle
package. - Add doc about
morph
method in Turbo Stream.
- Work with
Turbo 8 morph-refreshes
- Add decorator
after_create_commit, after_update_commit, after_destroy_commit
. - Add
broadcast_action_to
,broadcast_refresh_to
to broadcast action to the channels.
- Update to work with django-actioncable>=1.0.4
- Support part of turbo_power turbo stream actions.
- Update multi-format response solution.
Breaking Change
- Refactored the whole project and the way to render Turbo Frame and Turbo Stream.
- Please check the documentation to see how to use the new API.
- Update doc config
- Update
pyproject.toml
- Rename from
turbo_response
toturbo_helper
- Make
dom_id
respectto_key
method just like Rails - Add
response_format
so developer can return different response format in clean way.
- Add
turbo_stream_from
tag and make it work with django-actioncable
- Import
dom_id
,turbo_frame
,turbo_stream
template tags.
Support multiple targets
TurboCreateView/TurboUpdateView inheritance fix
Add BEFORE and AFTER actions
Use format_html for rendering
Add support for Django 3.2
Add rendering options to mixin classes
Removing support for Python 3.7
Remove tests dir from distribution
Refactor renderers and remove dependency on form widget renderer classes
Allow renderer as arg for all stream and frame mixins/classes
Use file-based templates for rendering streams/frames
Fix for #5
render_form_response adds turbo_stream_template name to context
turbo_stream_response decorator
render_form_response can optionally re-render form as turbo stream
Tidy up argument parsing in API
Mixin TurboFormAdapterMixin added
Refactoring modules
Refactoring mixin classes
TurboStreamIterableResponse removed
TurboStreamFormMixin and turbo-stream form views added
TurboStreamIterableResponse deprecated
TurboStreamMiddleware removed
Support for Python 3.7
Bugfix for Turbo-Frame header in middleware
Added TurboMiddleware (replacing TurboStreamMiddleware).
Removed TemplateFormResponse.
Added render_form_response shortcut.
Added TurboStreamIterableResponse class.
Added TemplateFormResponse class which automatically sets correct status based on form error state.
Middleware now accepts content type *text/vnd.turbo-stream.html.
Deprecated mixin methods removed.
Update response content type from text/html; turbo-stream to text/vnd.turbo-stream.html:
https://github.com/hotwired/turbo/releases/tag/v7.0.0-beta.3
Changes to mixin APIs.
TurboStreamDeleteView automatically resolves target based on model name+PK.
Added HttpResponseSeeOther class and redirect_303 shortcut function.
Ensure all form mixins/views return a 303 on redirect as per Turbo docs.
Removed protocol classes and mypy pre-commit requirement
Dependency bugfix
Added type hinting, tidy up of mixin class inheritance.
Update form handling for changes in @hotwired/turbo 7.0.0-beta.2:
- TurboStreamFormMixin class and supporting classes removed
- TurboFormMixin class added that just returns a 422 response on invalid
- TurboStreamFormView, TurboStreamCreateView and TurboStreamUpdateView classes removed
- TurboFormView, TurboCreateView and TurboUpdateView classes added, using new TurboFormMixin
Remove str methods from TurboStream and TurboFrame classes
Add render() method to template proxies
TurboStream and TurboFrame classes