chrismccord
LiveView 1.0.0-rc.0 is out!
This 1.0 milestone comes almost six years after the first LiveView commit. I published a Phoenix blog highlighting our developments along the way, a few fun demos, and what we’re up to next.
Existing applications on 0.20.x should have a quick upgrade. We have one backwards compatible change that you can add back via a phx-feedback-for shim. Full changelog with shim notes:
Changelog
Backwards incompatible changes for 1.0
LiveView 1.0 removes the client-based phx-feedback-for annotation for showing and hiding input feedback, such as validation errors. This has been replaced by Phoenix.Component.used_input?/2, which handles showing and hiding feedback using standard server rendering.
A backwards-compatible shim can be used to maintain phx-feedback-for in your existing applications:
- Save the
phx_feedback_dom.jsshim to your localassets/js/phx_feedback_dom.js. - Import it into your
assets/js/app.js. - Add a new
domoption to yourLiveSocketconstructor, or wrap the existing value:
import {Socket} from "phoenix";
import {LiveSocket} from "phoenix_live_view"
import phxFeedbackDom from "./phx_feedback_dom"
let csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content");
let liveSocket = new LiveSocket("/live", Socket, {
params: {_csrf_token: csrfToken},
dom: phxFeedbackDom({})
})
1.0.0-rc.0
(2024-05-08)
Backwards incompatible changes
- Remove
phx-feedback-forin favor ofPhoenix.Component.used_input?. See the changelog for a backwards compatiblephx-feedback-forshim to add to existing applications.
Removal of previously deprecated functionality
live_component/2andlive_component/3helpers (not the function component) have been removed
Bug fixes
- Fix attributes of existing stream items not being updated on reset
- Fix nested LiveView within streams becoming empty when reset
- Fix
phx-mountedfiring twice, first on dead render, then on live render, leading to errors when a LiveComponent has not yet mounted - Fix
JS.toggle_classerror when used with a transition
Enhancements
- Warn on mismatched client and server versions
Happy hacking!
–Chris
Trending in Phoenix News
Other Trending Topics
Categories:
Sub Categories:
Forums
Popular Tags
- #ecto
- #liveview
- #troubleshooting
- #learning-elixir
- #deployment
- #library
- #erlang
- #testing
- #genserver
- #mix
- #absinthe
- #remote-other
- #otp
- #plug
- #how-to-question
- #macros
- #postgres
- #channels
- #elixirconf
- #exunit
- #discussion
- #code-sync
- #javascript
- #podcasts
- #onsite
- #dialyzer
- #docker
- #authentication
- #umbrella
- #full-time-contract
- #podcasts-by-brainlid
- #ecto-query
- #elixir-ls
- #blog-post
- #phoenix_html
- #iex
- #graphql
- #ai
- #genstage
- #elixirconf-us
- #websockets
- #supervisor
- #advent-of-code
- #distillery
- #processes
- #api
- #forms
- #metaprogramming
- #security
- #hex










Showing Posts 1 to 10- Show Best Posts
- Show All Posts (oldest first)
- Show All Posts (newest first)
sodapopcan
Whoa, congrats and thank you!
AstonJ
Ooo exciting! Congratulations to Chris and the Phoenix team and everyone who has worked on it - it’s been fantastic seeing LV take shape over the years, it is yet another key killer feature that will help Elixir and Erlang stand out for years to come
geo
Nice work and congratulations! This is a big milestone.
nico_amsterdam
Nicodemus
Awesome news! I’ve been wondering, is :phoenix_live_view going to be merged into the :phoenix hex package? It seems like this has been the plan since :phoenix_live_view contains Phoenix.Component. I know for newbies it’s very confusing why they have to go to :phoenix_live_view on hexdocs to find the documentation for function components that they’re using in layouts and non-live views. Maybe a Phoenix 2.0 release that bundles it all together? Or at least moves Phoenix.Component into :phoenix?
fbutano
Really amazing news!!! Congratultions

acangiano
Fantastic news!
If you are a beginner and you’d like to try this out, follow these instructions:
Generate a Phoenix project without the live dashboard (as it currently breaks dependencies):
mix phx.new your_project --no-dashboardEdit
mix.exswithin your project and replace the line containing:phoenix_live_viewwith:{:phoenix_live_view, "~> 1.0.0-rc.0"},Run
mix deps.getGo ahead and create your database, generate live views, migrate, etc.
Samjowen
Congratulations, huge news.
peterchancc
Probably time to start relearning Elixir and Phoenix
xpressgetaway
Congrats!