I am very nervous about upgrading to Phoenix 1.7 so I’m following ALL instructions to the exact letter.
I’m using this link by @chrismccord to upgrade to Phoenix 1.7. He says to first upgrade phoenix liveview deps but he recommends only going to 0.18.3. I figured the document might just be out of date, but then I noticed that he was last active only a week ago.
Liveview is now at 0.18.18. It just looks like bug fixes on the changelog between 18.3 and 18.18 but I want to make sure I’m not setting myself up for issues if I go off the recommended path (especially if some of the changes after 18.3 require Phoenix 1.7).
Is it ok to jump right to 0.18.18 before upgrading to Phoenix 1.7 … OR …
Should I upgrade to Liveview 0.18.3 then upgarde to Phoenix 1.7 and then come back and upgrade to Livevew 0.18.18?
I highly recommend to create clean Phoenix 1.7 project too or at least one you haven’t customize a lot. Although the guides provided by Phoenix team in the documentation, the changelog and the gist by @chrismccord are really helpful, to have another Phoenix 1.7 project helps me a lot in a recently in my upgrade.
For anyone else looking at this post … I also watched this video on upgrading Phoenix LiveView which was very helpful. He had some great tips and it was interesting watching him troubleshoot the issues.
Thank you @ivanhercaz and @kokolegorille for that advice. I hadn’t thought about having a clean 1.7 project to use for reference.
I’m hoping not to lose too much time doing this upgrade, so my plan is to make only the required changes needed to get my app up and running again. My plan is to keep my existing routes. My app is almost entirely LiveView, so I think that will be the most tricky upgrade. Since I have way too much code to migrate to the new conventions, I think I’ll lose the ability to use phx.gen.live after this upgrade. That is unfortunate but not the end of the world.
If you use git, if not I recommend you to use it, create a new branch for the upgrade. Do the upgrade and add/commit the changes by feature or aspect you upgrade. When you finish the upgrade, you can check everything works correctly and if it runs without problems, just merge the branch with the main branch.
With git approach, if you get stuck in some step, or you have to leave it for any reason, or you feel overwhelmed, you can easily restore the a version previous to the upgrade.