phoenix changelog


Hey there, Phoenix enthusiasts! We've got some exciting updates for you, so grab your favorite beverage and let's dive into the latest changes that are sure to make your development experience even more delightful! 🎉

  • New Feature: LiveView Testing Gets a Boost! 🚀
    We've added a whole bunch of new macros to the locals_without_parens config, specifically for LiveView testing. Say hello to 18 new assert_* and refute_* macros, making your test assertions cleaner and more intuitive. No more pesky parentheses getting in the way of your LiveView awesomeness!

  • Improvement: Long-Poll Transport Documentation Upgrade! 📚
    We've spiced up the Phoenix Deployment documentation with a warning about the limitations of long-polling transport in clustered environments. Now, you'll find a detailed list of requirements to ensure smooth long-polling operations, like using Erlang VM's clustering or opting for a Redis adapter. Plus, we've rearranged the section for easier access, thanks to José Valim's suggestion.

  • Improvement: phx.digest.clean Task Made Easier! 🔄
    Tired of running into issues when executing phx.digest.clean multiple times? Fret no more! We've enhanced the task so you can run it as often as needed without any hiccups. Your development workflow just got a whole lot smoother!

We hope these updates make your coding journey with Phoenix even more enjoyable. Keep on building amazing things, and happy coding! 💻✨

Included Commits

2025-01-24T10:09:41 See commit

The commit introduces an enhancement to the phx.digest.clean task in the Phoenix framework, allowing it to be executed multiple times without encountering issues. Prior to this change, running the task more than once could lead to unexpected behavior, but the modification ensures that the task can be re-enabled after its initial execution.

Specifically, the commit updates the lib/mix/tasks/phx.digest.clean.ex file by adding a line of code that re-enables the phx.digest.clean task. This change addresses a previously noted limitation discussed in a GitHub issue, facilitating smoother development workflows for users who need to clean the digest multiple times during their project lifecycle.

Files changed

  • lib/mix/tasks/phx.digest.clean.ex
2025-01-26T11:44:08 See commit

This commit enhances the Phoenix Deployment documentation by adding a warning about the limitations of long-polling transport when used in clustered environments. It emphasizes the need for proper node-to-node communication to ensure that long-polling functions correctly, particularly when running multiple machines in production. The documentation now outlines three requirements for successfully implementing long-polling: utilizing Erlang VM's clustering capabilities, selecting an alternative Phoenix.PubSub adapter like Redis, or ensuring that the deployment option supports sticky sessions.

Additionally, the commit includes updates to the placement of the relevant section in the documentation, moving it to follow the "Putting it all together" section as per suggestions from community member José Valim. This restructuring aims to improve the clarity and accessibility of crucial information regarding the use of long-polling transports within Phoenix applications.

Files changed

  • guides/deployment/deployment.md
2025-01-27T16:15:03 See commit

This commit adds several new macros related to LiveView testing to the locals_without_parens configuration in the formatter.exs file. Specifically, it introduces a series of assert_* and refute_* macros that facilitate testing within the Phoenix LiveView framework. The modifications include the addition of 18 new entries, which range from assertions for patching and redirecting to push events, enhancing the testing capabilities for developers using LiveView.

Overall, this change aims to improve the developer experience by allowing for cleaner and more intuitive test assertions without the need for parentheses. The updates reflect a commitment to maintaining high-quality testing practices within the Phoenix framework, ensuring that developers can effectively validate their LiveView components.

Files changed

  • .formatter.exs