phoenix changelog


Hey there, awesome developers! We've got some cool updates and fixes for you. Check out the latest changes below:

What's New and Improved

New feature: Explicit mix assets.setup step in phx.gen.release 🎉

  • We've added a mix assets.setup step to the phx.gen.release process. This installs Tailwind and esbuild earlier, caching the container layer based on dependencies and config. No more unnecessary re-downloads and installations when you change code in priv, lib, or assets. Your release process just got a whole lot smoother and faster!

Improvement: Pass all_args to compile task in digest tasks 🚀

  • Updated the phx.digest.clean and phx.digest tasks with a new --no-compile option. Now you can skip the compile task during the digest process if you want. More control, more efficiency, and more customization for your asset management in Phoenix applications.

Bugfixes

Bugfix: Remove noop Tailwind class 'transform' 🛠️

  • The transform class is no longer needed since Tailwind v2.2. We've removed it and formatted templates to match mix format. This keeps your codebase clean and up-to-date with the latest TailwindCSS standards.

Bugfix: Pin Erlang to 25.3.2.9 for 1.14.5 CI 🔧

  • Pinned Erlang to version 25.3.2.9 for the 1.14.5 CI. This ensures that the correct version of Erlang is used during the CI process, maintaining consistency and reliability in your build and testing environment.

That's all for now, folks! Keep coding and stay awesome! 🚀✨

Included Commits

2024-07-09T08:01:06 See commit

This commit removes the Tailwind class 'transform' that is no longer needed since Tailwind v2.2. The commit also includes formatting changes to templates to match 'mix format'. Specifically, changes were made to the CoreComponents module in the phx_web directory, with modifications to transitions and classes to align with the removal of the 'transform' class and ensure consistency with the updated Tailwind version.

In summary, this commit streamlines the code by removing a redundant Tailwind class and ensuring that the templates are formatted correctly. The changes made in the CoreComponents module focus on transitions and classes to maintain consistency and alignment with the latest version of TailwindCSS.

Files changed

  • installer/templates/phx_web/components/core_components.ex
2024-07-09T19:28:13 See commit

This commit updates the phx.digest.clean and phx.digest tasks in the Mix library. The changes include adding a new option --no-compile to both tasks, which allows users to specify that the mix compile task should not be run during the digest process. This change ensures that the compile task is only executed if the --no-compile option is not present in the command arguments passed to the tasks. Additionally, the commit includes modifications to the test suite for the phx.digest task to reflect the updated behavior when the --no-compile option is used.

Overall, the commit enhances the functionality of the digest tasks in Mix by providing users with the flexibility to control whether the compile task should be included in the digest process. This allows for more efficient asset management and customization during the compilation and digesting of assets in Phoenix applications.

Files changed

  • lib/mix/tasks/phx.digest.clean.ex
  • lib/mix/tasks/phx.digest.ex
  • test/mix/tasks/phx.digest_test.exs
2024-07-10T13:06:42 See commit

This commit adds an explicit mix assets.setup step to the phx.gen.release process, which will install Tailwind and esbuild earlier in the container layer. This change ensures that the container layer is cached based only on dependencies and config, where the versions of Tailwind and esbuild tools are defined. Code changes in priv, lib, and assets will no longer cause the tools to be re-downloaded and installed, improving efficiency and reducing unnecessary recompilation.

The code changes include modifications to the Dockerfile.eex template and the phx.gen.release_test.exs file to incorporate the new mix assets.setup step. The test file now includes assertions to check for the presence of the mix assets.setup command in the generated Dockerfile, ensuring that the process is correctly implemented and tested. Overall, this update streamlines the release process and enhances the performance of phx.gen.release by optimizing the installation of necessary tools.

Files changed

  • priv/templates/phx.gen.release/Dockerfile.eex
  • test/mix/tasks/phx.gen.release_test.exs
2024-07-11T08:41:31 See commit

This commit pins Erlang to version 25.3.2.9 for the 1.14.5 CI. In the .github/workflows/ci.yml file, the otp version for elixir 1.14.5 was changed from 25.3 to 25.3.2.9. This modification was made with 1 addition and 1 deletion, resulting in a total of 2 changes. This change ensures that the correct version of Erlang is used for the specified Elixir version during the CI process.

Overall, this commit updates the OTP version for Elixir 1.14.5 in the CI workflow to specifically use Erlang version 25.3.2.9. By making this change, the developer ensures that the correct dependencies are in place for the CI process, helping to maintain consistency and reliability in the build and testing environment.

Files changed

  • .github/workflows/ci.yml