yurko
Is there an upgrade Guide for Phoenix 1.8?
There used to be a gist with upgrade instructions for each new Phoenix version. For example here Phoenix 1.7.0 released: Built-in Tailwind, Verified Routes, LiveView Streams, and what's next - Phoenix Blog it is linked at the bottom under “As always, step-by-step upgrade guides are there to take your existing 1.6.x apps up to 1.7.“ (phoenix-1.6.x-1.7-upgrade.md · GitHub).
With 1.8 I see no such link here Phoenix 1.8.0 released! - Phoenix Blog in search only this article shows up Migrate to Phoenix 1.8 guide - DEV Community but it’s not official guide and it uses RC, not the released version. I can still do the minimum necessary changes using changelog ( Changelog for v1.8 — Phoenix v1.8.8 ) but the guides helped with optional changes - seing what needs to be done saved time. Are we left with changelog and diffs from now on or am I missing something?
Most Liked
informatom
I have never ever experienced such a bad upgrade process as with Phoenix 1.7 to 1.8.
First there is no official upgrade guide.
Tailwind asset pipeline with esbuild was broken, surface component library recommends updating all forms to .form, DaisyUi is suddenly introduced, but the generated apps don’t introduce it the way, the tailwind hex module does.
Now y classic views (I refuse to call them dead views) try to load a LayoutView of the form MyAppWeb.ControllernameMyApp.LayoutView which obviously is not existing. The layout ‘simplification’ breaks my app completely. Migration to LiveView all over the app seems to be mandatory.
Maybe it’s because I denied to switch to scopes which also only would have introduced an unnecessary level of complexity.
I don’t know, I don’t want to blame anybody, but it’s super frustrating. I am currently thinking about dropping a codebase of 2k+ hours of work.
LostKobrakai
arcanemachine
I ended up pretty much where you’re describing, and ended up working piece-by-piece through a diff to get things working.
It was not a particularly enjoyable upgrade, but it was nice to be able to rip out the few remaining npm dependencies in the project that I upgraded (type definitions and daisyUI v4).
Last Post!
conradwt
@informatom Yes, I found myself in the exact situation. Thus, I first generated Phoenix 1.8, and then migrated the changes over to my Phoenix 1.7 app. Also, I watched the relevant Pragmatic Studio’s Full-stack Phoenix course videos for upgrading from Phoenix 1.7 to 1.8. This really provided the finishing touches to migrate the generated auth system and add the scope-related updates.
Next, DaisyUI is a nice high-level component library for Tailwind, but I personally prefer working directly with Tailwind utility classes; no middleman needed here. Why? I’m dependent on the DaisyUI team keeping up with Tailwind’s development pace. Furthermore, I would like to follow Wathan’s recommendations for using Tailwind by avoiding @apply and leveraging components. Thus, it may be better to have a command-line option to generate an app to use Tailwind utility classes instead of the default, DaisyUI. For example,
mix phx.new my_awesome_app --css=tailwind
In short, this really felt like I was upgrading my Phoenix 1.7 app to Phoenix 2.0 instead of Phoenix 1.8. Next, the process would have been made much easier if there were official upgrade documentation from the Phoenix core team.
Popular in Questions
Other popular 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
- #phoenix_html
- #iex
- #blog-post
- #graphql
- #genstage
- #ai
- #websockets
- #supervisor
- #elixirconf-us
- #advent-of-code
- #distillery
- #processes
- #forms
- #api
- #metaprogramming
- #security
- #hex









