Upgrade to Phoenix 0.18.3 or 0.18.18 before upgrading to Phoenix 1.7?

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?

1 Like

Yes, use latest stable – 0.18.18 :slight_smile:

1 Like

You might like this link too…

This episode is free to watch.

Another way is to create a dummy Phoenix 1.7 side project, and look at the new structure and config files.

2 Likes

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.

1 Like

Thank you @chrismccord !

Thank you @kokolegorille ! I will definitely watch that!

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.

This article, Migrating to LiveView v0.18, from Fly.io is also really helpful.

1 Like

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.

1 Like

As additional recommendations:

  • Backup your project files.
  • 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.

2 Likes

Just did it myself. The upgrade is a bit time-consuming but not all too bad. Might be worth doing depending on how much time you have.

1 Like

Just mentioning this project since I’ve heard good things about it:

2 Likes