What's Changed
This is not a feature-complete release of Turbo 7.2.0. Follow along on the 7.2.0 milestone to track the pending PRs we hope to include in the final release. But please help us thoroughly test this very substantial update of new features and fixed bugs.
New
- Add pre-population of cache with views based on links with
turbo_preload
attribute by @hey-leon in #552 - Add support of custom rendering in
turbo:before{-frame,}-render
events by @seanpdoyle in #431 - Allow Turbo Streams with GET via
data-turbo-stream
by @kevinmcconnell in #612 - Add option to create custom stream actions by @seanpdoyle in #479
- Add client-side Turbo Cache Control API by @marcoroth in #632
- Add exposure of Frame load state via
[complete]
attribute by @seanpdoyle in #487 - Add a
turbo:reload
event that returns the reason why turbo needed to do a hard reload by @manuelpuyol in #556 - Add option to disable turbo for form or optin to forms. by @pythonandchips in #419
- Add await for confirm method results by @excid3 in #525
- Add turbo stream source by @seanpdoyle in #415
- Allow frames to scroll smoothly into view by @npezza93 in #607
- Add original click event to 'turbo:click' details by @manuelpuyol in #611
- Add .php as a valid isHTML extension by @dhh in #629
- Add exposing FrameRenderer so we can extend its behavior, e.g. vDOM. by @botandrose in #568
- Add export of type declarations for
turbo:
events by @seanpdoyle in #452
Fixed
- Fix
turbo:load
firing twice after a redirect and avoid double render by @feliperaul in #563 - Fix that progress bar wouldn't render if CSP was turned on by @rience in #501
- Fix hidden progress bar by setting turbo-progress-bar z-index to max value by @keithamus in #531
- Fix data-turbo-confirm to work with multiple submitters inside a form by @feliperaul in #564
- Fix scrolling to top of page on reload by @srt32 in #571
- Fix blank
[formaction]
should act like a blank[action]
by @seanpdoyle in #529 - Fix restoring focus when transposing Permanent Elements by @seanpdoyle in #436
- Prevent silent restoration visits when previous visit request is in-flight by @domchristie in #595
- Use 'will render' false for action 'replace' after GET redirect by @blrB in #516
- Use
replaceChildren
in StreamActions.update by @seanpdoyle in #534 - Defensively create custom turbo elements to prevent re-initialization errors by @dphaener in #483
- Do not declare global types/constants by @grncdr in #524
- fix(ie/edge): form.method='delete', raises Invalid argument. by @mfo in #586
- Only update history when Turbo visit is renderable by @manuelpuyol in #601
- Ensure Turbo does not interfere with IFrames by @seanpdoyle in #389
- Frame Visits: Cache Snapshot later in process by @seanpdoyle in #488
Full Changelog: v7.1.0...v7.2.0-beta.1
Using the beta in Rails
The beta/rc series of Turbo 7.2.0 is available to use in Rails via turbo-rails:
gem "turbo-rails", github: "hotwired/turbo-rails", branch: "turbo-7-2-0"