phoenix_live_view changelog


Hey there, awesome devs! Here's the latest and greatest from our codebase updates. Check out what's new, what's fixed, and what's improved. 🚀

New Features

  • Track Distinct Loading and Lock Refs (#3324): We've introduced changes to track distinct loading and lock references in various JavaScript and Elixir files. This update aims to enhance the performance and reliability of Phoenix Live View applications by providing more efficient handling of loading and lock references. Big thanks to Steffen Deusch for co-authoring this one!

Bugfixes

  • Fix Form Recovery When Targeting LiveComponents (#3317): Addressed an issue with form recovery in LiveComponents caused by a previous change in event dispatching. Now, the check for LiveComponents within the same LiveView works correctly by using the fragment's first child.
  • Format EEx Blocks Within Script Tag (#3312): Made sure that EEx blocks within script tags are formatted correctly. This update ensures that the formatter maintains the expected format.

Improvements

  • Release 1.0.0-rc.5: This release includes updates, bug fixes, and improvements in preparation for the stable release. Files like package.json, mix.exs, and various static files have been updated.
  • Release 1.0.0-rc.4: Focused on enhancing the handling of form elements and select options in the Phoenix LiveView JavaScript client. Bug fixes related to focused inputs and acknowledgements are addressed.
  • Release 1.0.0-rc.6: Includes updates to multiple files to improve functionality, fix bugs, and add new features to the Phoenix Live View component.

Stay tuned for more updates, and happy coding! 🎉

Included Commits

2024-06-21T03:34:23 See commit

In this commit, version 1.0.0-rc.4 of Phoenix LiveView is released. The changes include modifications to the DOMPatch class in the dom_patch.js file, with additions and deletions to improve the handling of focused form elements and select options. Additionally, updates are made to the package.json, package-lock.json, CHANGELOG.md, mix.exs, package.json, and various JavaScript files to reflect the new version number and bug fixes related to focused inputs being overwritten on acknowledgement.

Overall, this release focuses on enhancing the handling of form elements and select options in the Phoenix LiveView JavaScript client. Bug fixes related to focused inputs and acknowledgements are addressed, and version numbers are updated across relevant files to reflect the new release version 1.0.0-rc.4.

Files changed

  • CHANGELOG.md
  • assets/js/phoenix_live_view/dom_patch.js
  • assets/package-lock.json
  • assets/package.json
  • mix.exs
  • package.json
  • priv/static/phoenix_live_view.cjs.js
  • priv/static/phoenix_live_view.cjs.js.map
  • priv/static/phoenix_live_view.esm.js
  • priv/static/phoenix_live_view.esm.js.map
  • priv/static/phoenix_live_view.js
  • priv/static/phoenix_live_view.min.js
2024-06-21T09:00:46 See commit

This commit makes changes to the lib/phoenix_live_view/html_algebra.ex file to format EEx blocks within script tags. It adds a new parameter meta to the to_algebra function to handle EEX blocks within preserve tags. The commit also updates the format of the EEx blocks within the script tag by adding the meta.opt parameter to the block.

In addition, the commit modifies the test/phoenix_live_view/html_formatter_test.exs file by adding a test to ensure that EEx blocks within script tags are formatted correctly. The test checks that the formatter doesn't change the format of EEx blocks within script tags, ensuring that the formatting is maintained as expected.

Files changed

  • lib/phoenix_live_view/html_algebra.ex
  • test/phoenix_live_view/html_formatter_test.exs
2024-06-21T12:21:28 See commit

This commit fixes an issue with form recovery in LiveComponents, which was caused by a change in the way form recovery events were dispatched using a document fragment. The previous method broke the check for LiveView components in the same LiveView when traversing the DOM, as the fragment itself was not being properly accounted for. The fix involves checking the fragment's first child instead, which is the actual LiveView element, ensuring that the check for LiveComponents within the same LiveView works correctly.

This fix addresses and resolves issue #3314, and involves modifications to several files related to Phoenix LiveView, including changes to the view.js file, as well as updates to various static JavaScript files and test files. Overall, this commit ensures that form recovery functions properly when targeting LiveComponents within the same LiveView.

Files changed

  • assets/js/phoenix_live_view/view.js
  • priv/static/phoenix_live_view.cjs.js
  • priv/static/phoenix_live_view.cjs.js.map
  • priv/static/phoenix_live_view.esm.js
  • priv/static/phoenix_live_view.esm.js.map
  • priv/static/phoenix_live_view.js
  • priv/static/phoenix_live_view.min.js
  • test/e2e/tests/forms.spec.js
  • test/support/e2e/form_live.ex
  • test/support/e2e/navigation.ex
  • test/support/e2e/upload_live.ex
2024-06-21T12:26:05 See commit

In this commit, version 1.0.0-rc.5 was released with modifications made to several files. Changes were made to assets/package.json, assets/package-lock.json, CHANGELOG.md, mix.exs, package.json, and various files in the priv/static directory related to phoenix_live_view. These modifications likely include updates, bug fixes, or improvements to the codebase in preparation for the release of version 1.0.0-rc.5.

Overall, this commit signifies a milestone in the development process, indicating that the project is progressing towards a stable release. The modifications made to the files suggest that the team is actively working on refining and enhancing the project, ensuring that it meets the necessary standards and requirements for the upcoming release.

Files changed

  • CHANGELOG.md
  • assets/package-lock.json
  • assets/package.json
  • mix.exs
  • package.json
  • priv/static/phoenix_live_view.cjs.js
  • priv/static/phoenix_live_view.cjs.js.map
  • priv/static/phoenix_live_view.esm.js
  • priv/static/phoenix_live_view.esm.js.map
  • priv/static/phoenix_live_view.js
  • priv/static/phoenix_live_view.min.js
2024-06-27T16:48:33 See commit

This commit introduces changes to track distinct loading and lock references in various JavaScript and Elixir files related to Phoenix Live View. The files that were modified include constants.js, dom.js, dom_patch.js, js.js, live_socket.js, view.js, js.ex, test files, and support files. Additionally, a new file, element_ref.js, was added to the project. These changes were made to improve the handling of loading and lock references within the Phoenix Live View framework.

The commit was co-authored by Steffen Deusch and includes modifications to both JavaScript and Elixir files, as well as test files and support files. The changes aim to enhance the functionality of Phoenix Live View by implementing distinct loading and lock refs tracking. This update is likely to improve the performance and reliability of Phoenix Live View applications by providing more efficient handling of loading and lock references.

Files changed

  • assets/js/phoenix_live_view/constants.js
  • assets/js/phoenix_live_view/dom.js
  • assets/js/phoenix_live_view/dom_patch.js
  • assets/js/phoenix_live_view/element_ref.js
  • assets/js/phoenix_live_view/js.js
  • assets/js/phoenix_live_view/live_socket.js
  • assets/js/phoenix_live_view/view.js
  • assets/test/view_test.js
  • lib/phoenix_live_view/js.ex
  • priv/static/phoenix_live_view.cjs.js
  • priv/static/phoenix_live_view.cjs.js.map
  • priv/static/phoenix_live_view.esm.js
  • priv/static/phoenix_live_view.esm.js.map
  • priv/static/phoenix_live_view.js
  • priv/static/phoenix_live_view.min.js
  • test/e2e/test_helper.exs
  • test/e2e/tests/forms.spec.js
  • test/phoenix_live_view/js_test.exs
  • test/support/e2e/form_live.ex
  • test/support/e2e/upload_live.ex
2024-06-27T16:58:09 See commit

In this commit, version 1.0.0-rc.6 is being released with modifications to various files. The package.json, package-lock.json, CHANGELOG.md, mix.exs, and package.json files have all been modified. Additionally, several files related to Phoenix Live View have been modified, including phoenix_live_view.cjs.js, phoenix_live_view.esm.js, phoenix_live_view.js, and phoenix_live_view.min.js.

Overall, this release includes updates to multiple files, likely to improve functionality, fix bugs, or add new features to the Phoenix Live View component. These modifications indicate ongoing development and refinement of the project in preparation for the 1.0.0 release.

Files changed

  • CHANGELOG.md
  • assets/package-lock.json
  • assets/package.json
  • mix.exs
  • package.json
  • priv/static/phoenix_live_view.cjs.js
  • priv/static/phoenix_live_view.esm.js
  • priv/static/phoenix_live_view.js
  • priv/static/phoenix_live_view.min.js