We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
phoenix changelog
Hey there, awesome developer! We've got some cool updates for you in the Phoenix framework. Check out the latest changes that are going to make your coding life a bit smoother and more fun. π
-
Improvement: Protocol Purge Power-Up
We've supercharged the Phoenix code reloader by ensuring protocols are purged after compilation. This means fewer hiccups and a smoother development experience. Say goodbye to those pesky old protocols lurking in the shadows! π -
Improvement: Gettext API Glow-Up
We've revamped the generators to align with the shiny new Gettext API. This update simplifies the translation process and keeps everything consistent across the Phoenix framework. Now your internationalization game is stronger than ever! πβ¨ -
Improvement: Debian Update to Bookworm
We've updated the Debian version from "bullseye" to "bookworm" for a fresher development environment. Plus, we're now only testing on Erlang/OTP 24 and above. This means more stability and better performance in your workflow. Keep on coding! π
These updates are here to make sure your Phoenix projects are running smoothly and efficiently. Happy coding! π»π
Here's the lowdown on the latest updates, packed with improvements to make your development journey smoother and more enjoyable! π
-
Improvement: Enhanced Channel Documentation π
We've given the Phoenix Channel module documentation a significant upgrade! Now, itβs easier to understand the parameters and functionalities related to channel callbacks and broadcasting events. Detailed explanations have been added for thehandle_in
function, including insights on the topic, map payload from the client, and thePhoenix.Socket
instance. Plus, we've streamlined the broadcasting section to focus on thebroadcast
function. This makes it a breeze to broadcast messages both from within channels and other parts of your application. Happy coding with clearer docs! β¨ -
Improvement: Channel Docs and Example Code Tweaks π§
We've polished the channel documentation and example code by fixing a filename reference in Step 2 of the guide. The correct layout file is nowroot.html.heex
, ensuring your user token is passed to JavaScript without a hitch. Similar updates were made in thesocket.js
file to keep everything aligned. This makes integrating JavaScript for user tokens in real-time channels a piece of cake! -
Improvement: Consistent Path Helpers in Auth Templates π
Say goodbye to hardcoded URLs! We've updated the Phoenix authentication templates to use the~p
syntax for path helpers, replacing those pesky string literals. This change enhances the maintainability and readability of the code, bringing consistency across the board. The updates span several test files, includingconfirmation_live_test.exs
,forgot_password_live_test.exs
,login_live_test.exs
, andregistration_live_test.exs
. Enjoy a cleaner, more consistent codebase in your authentication module! π
Welcome to the latest updates! We've been busy making things smoother, faster, and just generally more awesome for you. Here's a rundown of what's new and improved:
New Feature: Disable Watchers π΅οΈββοΈ
- You can now set
watchers
tofalse
in your Phoenix configuration to disable them entirely. This gives you more control over your development environment, especially useful when you want to override the default behavior. - Changes were made to
lib/phoenix/endpoint.ex
andlib/phoenix/endpoint/supervisor.ex
to support this, along with a new test case to ensure everything works smoothly.
Improvement: Req as Default Swoosh Client π
- We've swapped Finch for Req as the default HTTP client in the Swoosh installer. Req, being more "batteries included," means no more manual HTTP client initialization.
- This change spans various files like
prod.exs
,runtime.exs
, andmix.exs
, ensuring a seamless transition.
Bugfix: Dockerfile Warnings π³
- Resolved several Docker warnings by tweaking the Dockerfile syntax and environment variable declarations.
- These minor changes make the Docker setup cleaner and more efficient, improving the overall build process.
Improvement: VerifiedRoutes Documentation π
- Updated the documentation for the
Phoenix.VerifiedRoutes
module. Fixed links tostatic_url
andstatic_path
callbacks and removed an unnecessary reference to "URI" in thestatic_integrity/2
function. - These tweaks make the documentation clearer and more user-friendly.
Bugfix: Typo Correction βοΈ
- Fixed a tiny typo in
guides/contexts.md
, changing "responsability" to "responsibility". - This small change helps maintain the professionalism and clarity of the documentation.
We hope these updates make your development experience even better! π
Changelog
Welcome to the latest update! We've made some tweaks to improve your experience. Check out what's new:
- Bugfix: Fix typos and improve language π
We went on a typo-hunting adventure and polished up the language across multiple files. This means clearer comments, error messages, and overall smoother sailing for anyone navigating the codebase. Enjoy the refined readability in
phx.gen.context.ex
,phx.gen.presence.ex
,phx.gen.release.ex
, and more!
Changelog
Hey there, awesome developers! π We've got some updates to share that will make your coding life smoother and more fun. Check out the latest changes:
- Bugfix: Fixed a pesky bug in the
phx.server
command that caused it to halt when the--
separator was used. Now, you can run your commands without any hiccups! Big shoutout to Jerko Culina for the collaborative effort in squashing this bug. ππ₯
Keep on coding and happy developing! π
Hey there, awesome users! We've got some exciting updates to share with you. Check out the latest improvements and fixes below:
What's New and Improved
Bugfix π:
- Action Block Rendering for Tables (#5852): We squashed a pesky bug in the core_components.ex file that was messing with the action block rendering in tables. Now, with a little tweak (adding a span class), your table cells will look fabulous and aligned just right. Enjoy the enhanced visual display and smoother user experience! π
Thanks for being amazing and keep those feedbacks coming! π
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 thephx.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 inpriv
,lib
, orassets
. 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
andphx.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 matchmix 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! πβ¨
Hey there, awesome devs! We've got some exciting updates for you! π
### New feature: Support for `:mfa` Field in Router Metadata
We've introduced support for the `:mfa` field in router metadata, making your routing even more powerful and flexible! π
- **Router Enhancements**: The `lib/mix/tasks/phx.routes.ex` file now handles the `:mfa` field when determining module and function names.
- **Logging Improvements**: The `lib/phoenix/logger.ex` file now includes the `:mfa` field in log messages for better traceability.
- **Console Formatting**: Log messages are now formatted based on the `:mfa` field in the `lib/phoenix/router/console_formatter.ex` file.
- **Compile-time Checks**: Adjustments in the `lib/phoenix/router.ex` file ensure the `:mfa` field is used effectively during compile-time checks.
And of course, we've updated our tests to make sure everything runs smoothly. The `test/phoenix/router/routing_test.exs` file now tests the behavior of overriding the plug name using the `:mfa` field.
Enjoy the enhanced functionality and happy coding! π»β¨
Welcome to the latest update! We've got some cool new features, important bug fixes, and a bunch of improvements to make your experience smoother and more enjoyable. Let's dive into what's new:
New Features
-
Repeatable Tests with
mix test --repeat-until-failure
: Now you can run your unit tests repeatedly until they fail. This is super handy for catching those pesky intermittent bugs. Plus, we've ensured all directories in thetmp
folder are properly cleaned up, even if the test name or random string contains a/
character. π -
Phoenix Tutorial Added: We've updated the community.md file to include a free online Phoenix Tutorial for version 1.6. This is a great resource for anyone looking to get started or deepen their knowledge in Phoenix. π
Bug Fixes
-
CHANGELOG Update: The CHANGELOG.md file was updated to reflect recent changes, including a fix for the
CoreComponents.flash
function that ensures flash messages close correctly. Also, dynamic ports are now supported for theEndpoint.url/0
function. π -
Version 1.7.13 Release: This release includes various bug fixes, performance improvements, and possibly new features. Make sure to update to benefit from the latest enhancements. π οΈ
-
JavaScript Type Documentation Fixes: We've corrected the types of parameters in the
Socket
constructor insocket.js
, ensuring you have the right information forlongPollFallbackMs
,debug
, andreconnectAfterMs
parameters. π -
Version 1.7.14 Release: This update includes bug fixes, such as reverting a conflicting function in Phoenix.ConnTest, and ensures the correct version information is reflected in the project files. π¦
Improvements
- JavaScript Dependencies and Testing: We've updated the JavaScript dependencies to the latest versions and switched from mocha to jest for testing, aligning with the setup used in LiveView. Tests are now run on Node 20 to ensure compatibility across different environments. π
That's all for now! Enjoy the new features and improvements, and happy coding! πβ¨
Welcome to the latest changelog! We've been busy squashing bugs, improving docs, and making your experience smoother. Let's dive into the details! π
Bugfixes π
- Fix doctest in phx.gen.auth (#5835): We've patched up a doctest in the
phx.gen.auth
context to ensure the URL generation syntax is spot on. Now, thedeliver_<%= schema.singular %>_update_email_instructions
function's example is accurate and ready to guide you seamlessly. - Remove 'antialiased' CSS class from root template (#5827): Bid farewell to the 'antialiased' CSS class! Modern browsers and OSes have upped their subpixel-antialiasing game, making this class obsolete. Weβve updated the
home.css
androot.html.heex
files to reflect this change. - Fix heading in 1.7.12 changelog: We tidied up the changelog by correcting the formatting of the "JavaScript Client Enhancements" section. Proper headings for the win!
Improvements β¨
- Align time and duration values in a couple of show/hides (#5836): We've synchronized the transition times and durations in our show/hide functions. Expect smoother and more consistent visual effects when elements appear or disappear.
- Correct documentation about route helpers generation (#5823): Our docs just got clearer! We updated the
lib/phoenix/router.ex
file to provide accurate info about the:as
and:singleton
options for route helpers. Kudos to Andrew Pozdnyakov for the co-authoring assist! - Allow
mix ecto.setup
from the umbrella root (#5692): Runningmix ecto.setup
just got easier! You can now execute this command from the root of your umbrella project, making database setup a breeze.
Thatβs all for now! Keep an eye out for more updates and happy coding! π
Hey team! We've got some exciting updates and important fixes in this release. Check out the details below to see what's new and improved. π
New feature
- Clarify user message in phx.gen.json: We've updated the instructions in the
phx.gen.json
task to be more user-friendly. Now, when you add a resource to the router file, youβll be guided to add it to the "/api" scope instead of the ":api" scope. This should make things clearer and help you follow the steps more easily after generating files. π
Bugfix
- Remove depth: 1 from lock: Simplified the heroicons dependency in the lock file by removing the depth parameter. This makes the lock file cleaner and easier to maintain. π οΈ
Here's a summary of the latest updates and improvements:
New feature: Replace phx-feedback-for
with used_input?/1
(#5713)
We've streamlined the handling of input components and form validation by swapping out phx-feedback-for
for used_input?/1
. This change touches multiple files, including file_uploads.md
, core_components.ex
, and form_component.ex
. Now, input fields check if used_input?
is true before assigning errors, and the phx-feedback-for
attribute is history! This means a more efficient and consistent approach to handling form inputs and error feedback in Phoenix. π
Bugfix: Persist remote_ip
during recycling of a conn (#5792)
We've squashed a bug that caused remote_ip
to vanish during connection recycling. Now, remote_ip
sticks around along with other headers and peer data, ensuring accurate IP address handling. Plus, we added a test to verify this functionality, so your IP info remains rock solid. π οΈ
Improvement: Re-order doc to better match example (#5796)
We reorganized the "Writing a Channels Client" guide to better match the provided example. This update clarifies the structure of messages sent to a Phoenix Channel, emphasizing unique join_reference
and message_reference
values, and the importance of matching topic_name
and event_name
. This makes the guide easier to read and follow. π
Improvement: Clarify what's optional in phx.new
(#5783)
Creating a new Phoenix app just got more customizable! We've clarified which dependencies are optional when running mix phx.new
. You can now skip Ecto, Phoenix.HTML, TailwindCSS, Esbuild, and Phoenix.LiveView with specific flags. The documentation has been updated to reflect these changes, making it easier to tailor your Phoenix app to your needs. π οΈ
Bugfix: Fix signed at default value docs
We corrected the default value for the :signed_at
option in Phoenix.Token
from System.system_time(:second)
to System.system_time(:millisecond)
. This ensures more precise time tracking for tokens. The documentation has been updated to reflect this change. β±οΈ
Bugfix: Fix race condition in async test
Addressed a race condition in an async test related to filtering sensitive data in Phoenix.LoggerTest
. We made 61 changes to improve the reliability and accuracy of data filtering and logging mechanisms. This includes handling different data structures and ensuring correct log levels based on telemetry configuration. ππ¨
Happy coding! π
Welcome to our latest update! We've been hard at work squashing bugs and adding a sprinkle of magic to make your experience even better. Here's what's new and improved:
Bugfixes
- Fix typo in Token docs (#5781): We corrected a small but mighty typo in the Token documentation. Instead of "will kept secret," it now reads "will be kept secret." Clear and precise, just the way we like it! πβ¨
Enjoy the updates and keep the feedback coming! π
Hey there, awesome developers! We've got some cool updates and fixes to share with you. Check out the latest changes and improvements we've made to make your coding life a bit easier. π
Improvements
-
Improved Docs for Verified Routes π Weβve given the documentation for verified routes in the Phoenix framework a nice polish. With 27 additions and 21 deletions, the updated docs now better explain macros for building routes, injecting paths and URLs, and generating paths for static assets. These tweaks will help you navigate and use verified routes more effectively.
-
Clearer Argument Name π Weβve enhanced the
list
function in thePhoenix.Presence
module by changing the argument name tosocket_or_topic :: Phoenix.Socket.t() | topic
. This makes the code more readable and understandable, ensuring you know exactly whatβs going on. -
Closed Back-Tick Fix βοΈ A small but mighty fix: weβve closed a back-tick in the Phoenix.Token module, correcting a typo in the comment related to cryptographic salts. This ensures consistency and clarity in the code, making it easier to understand and work with token authentication.
Bugfixes
-
Channel Leave on Unjoined Channels π οΈ Weβve squashed a bug where leaving an unjoined channel would remove all unjoined channels from the socket. Now, only the specific unjoined channel instance is removed, ensuring proper channel management. This fix is reflected in the
phoenix.js
,phoenix.min.js
,priv/static/phoenix.cjs.js
, andpriv/static/phoenix.mjs
files. -
Release 1.7.12 π Version 1.7.12 is out! This release includes updates to version numbers in various configuration files and some bug fixes for the JavaScript client. The CHANGELOG.md has all the details, ensuring youβre up-to-date with the latest improvements.
Enjoy the updates, and happy coding! π
Hey there, fellow developers! Hereβs the latest scoop on whatβs been cooking in our codebase. Weβve got some nifty improvements and bug fixes that are sure to make your life a tad easier. Check out the deets below! π
New Features & Improvements
-
Improvement: Fix phx.gen.socket moduledoc grammar and example path
Weβve polished up thephx.gen.socket
module documentation by fixing grammar and punctuation errors. Plus, we corrected an example path for umbrella apps to ensure your sockets land in the right spot. Big shoutout to Juan P Barrios for the assist! π -
Improvement: Clarify Token secrecy in docs
Weβve made the Phoenix.Token documentation clearer about how secrecy works. Now itβs easier to understand the difference between signed and encrypted tokens, and weβve included examples for usingencrypt/4
anddecrypt/4
. Keep your secrets safe, folks! π΅οΈββοΈ -
Improvement: Replace deprecated live_flash for Phoenix.Flash.get in phx.gen.auth
Out with the old, in with the new! Weβve swapped out the deprecatedlive_flash
withPhoenix.Flash.get
in thephx.gen.auth
template. This will keep your login_live module running smoothly and up-to-date with the latest Phoenix practices. π
Keep coding and stay awesome! π»π
Hey there, awesome devs! We've got some exciting updates for you. Here's what we've been working on to make your experience even smoother and more efficient. π
New feature
- Allow running
phx.digest
task multiple times (#5753): You can now run thephx.digest
task as many times as you want without running into any pesky errors! We've re-enabled the task after compiling, ensured all compressors are compiled, and made sure the Phoenix app is up and running before the task kicks in. This means smoother asset management in your Phoenix applications. π
Improvement
- Bump telemetry metrics to v1.0 (#5755): We've updated the
telemetry_metrics
package to version 1.0 across the project. This upgrade spans multiple files, ensuring you're aligned with the latest and greatest improvements. Better performance and functionality related to telemetry metrics are now at your fingertips. πβ¨