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, fellow coders! We've been hard at work sprucing things up, and we have some exciting updates to share with you. Dive into the latest changes below and see how they can supercharge your development journey with Phoenix. π
-
New Feature: π You can now forward requests to the same Plug multiple times, as long as itβs not a router! This change grants you more flexibility in routing configurations, allowing for more creative and dynamic setups. We've updated the
Phoenix.Router
andPhoenix.Router.Route
modules to make this happen, ensuring that your app can handle multiple forwards like a champ. Just remember, dynamic segments in paths are still a no-go to keep everything neat and tidy. -
Improvement: We've streamlined our project setup by using a single
package.json
file. This tidy-up not only makes dependency management a breeze but also comes with a new ESLint configuration to keep your code looking sharp. Plus, weβve tweaked thejest.config.js
for better test file detection. This change keeps everything organized and resolves issue #6001, making life easier for developers everywhere. π -
Improvement: No more accidentally using reserved app names! We've introduced a validation mechanism that raises an error if you try to use names like "server" or "table" for your app. This ensures smoother sailing when creating new Phoenix projects. We've also added tests to make sure this feature works perfectly, keeping your app-naming process conflict-free. π«
-
Bugfix: Weβve squashed some pesky typos in our documentation. A missing word in
up_and_running.md
and a typo inrequest_lifecycle.md
have been fixed, making our docs clearer and more professional. Now, you can focus on building amazing apps without tripping over confusing instructions. πβ¨
Thanks for being awesome and happy coding! π
Hey there, awesome devs! π We've got a small but mighty update for you.
Changelog
- Chore: We've made a little tweak in our documentation to point you in the right direction! π οΈ The path for the "index.html" template in our Elixir app docs was a bit off. We've updated it from
lib/hello_web/templates/page/index.html.heex
to the correct path:lib/hello_web/controllers/post_html/index.html.heex
. Now, when you're testing controllers, you'll have the right info at your fingertips. Happy coding! π
Welcome to the latest updates! We've been busy making some awesome improvements to the Phoenix framework, and we can't wait for you to check them out. Here's what's new and improved:
-
Improved File Change Detection in Code Reloader π: We've fine-tuned the way Phoenix detects changes in files. Now, the code reloader is smarter about checking for stale configurations and dependencies. No more unnecessary warnings when your Mix project is set up correctly! Plus, we've excluded files in the
_build
directory from checks, so you can focus on the changes that really matter. This means a smoother, more efficient development experience for you! π -
Streamlined Test File Handling π§ͺ: Testing just got a little bit easier! We've added a
test_ignore_filters
option to themix.exs
file. This helps you ignore certain expected test files, especially those in the "test/fixtures/" and "test/support/" directories. Now, your test runs will be more streamlined, focusing only on what's important. This update is part of a larger effort to enhance testing practices across the Elixir community. Happy testing! π οΈ
We hope these updates make your coding journey even more enjoyable. Keep building awesome things! π
Hey there, fabulous users! We've got some exciting updates for you, so let's dive right in! π
Improvement: Email Address Validation π¨
No more sneaky commas in your email field! We've beefed up our email validation game to make sure you enter just one email address, and one only. The new regex is a stickler for rules, disallowing any cheeky commas or semicolons. Rest assured, your email will be a solo act, and it'll be in tip-top shape for authentication! π
Improvement: Clearer Documentation for Code Building π
We've polished up our docs to make your life easier. Now, when you're running multiple instances of your app, you'll know exactly how to manage your code reloading with the MIX_BUILD_PATH
environment variable. No more mix-ups with build directoriesβjust smooth sailing and clear guidance for a seamless developer experience. Happy coding! π»β¨
That's all for now, folks. Keep those updates coming, and stay awesome! π
Here's the latest scoop on the awesome changes we've been brewing. Get ready for some sweet improvements and fixes that will make your coding life a little brighter! π
-
New feature: We've prepped the codebase for the shiny new HEEx interpolation syntax! π This includes a bump in LiveView to 1.0, updates across guides, templates, and integration tests, and some nifty changes to Phoenix generator files. A big shoutout to Steffen Deusch for the team effort on this one. π
-
Improvement: Added a neat example for
pool_count
to help you boost performance in thePhx.New.Generator
module. Now your multi-core machines can work their magic even better! πͺ We've also polished up theget_web_adapter
function for a cleaner look. -
Improvement: We're stepping into the future with a version update to "1.18.0-dev"! This signals our journey toward the next big thing in the Phoenix framework. Stay tuned for more exciting developments! π
-
Bugfix: We squashed some pesky typos in the CHANGELOG, thanks to Chris McCord's eagle eyes. π¦ Now it's all nice and tidy, with "whichs" corrected to "which" and "unfied" to "unified". Keepin' it classy and clear! π
Here's the latest scoop on the Phoenix framework updates! We've got some awesome improvements and enhancements to make your development experience smoother and more enjoyable. Let's dive into the highlights:
Improvement: The guides/contexts.md
file received a makeover! π οΈ We've polished up those Elixir code snippets to perfection, ensuring clarity and correctness. Migration files for creating products, cart items, orders, and line items now come with all the bells and whistles, like precision and scale for decimal fields. Plus, the documentation now makes it a breeze to understand schema associations within the ShoppingCart context. You'll be a Phoenix pro in no time!
Improvement: Starting a new Phoenix app just got easier! β‘ The "Up and Running" guide now features an express option for supported OSes, letting you kick things off with a single command. No worries if you're on an unsupported system; we've got you covered with the traditional mix phx.new
method. Plus, the release notes now remind us to update Elixir and Erlang/OTP versions on the official site. Smooth sailing ahead for new devs and framework maintainers!
Improvement: Dark mode lovers, rejoice! π The README header image now adapts to your color scheme preference. We've added a snazzy phoenix-orange.png
for dark mode, while the classic phoenix.png
shines in light mode. It's all about that visual experience, folks!
Chore: We've done some housekeeping with a dependency update. π¦ The mix.exs
and mix.lock
files got a refresh, ensuring our project stays in tip-top shape with the latest and greatest libraries. It's all about keeping things secure, functional, and running smoothly.
Enjoy these updates and happy coding with Phoenix! π
Welcome to our latest update! We've been busy making some fantastic improvements and squashing bugs to enhance your development experience. Here's a look at what's new and improved:
-
New feature: Customizing primary key names is now a breeze! π You can specify an alternative name for the primary key column when generating schemas and migrations, thanks to the new
--primary-key
option. This gives you more flexibility in naming your primary keys and improves the usability of schema generation. -
Improvement: We've made it easier to enable new Phoenix Live Reload features by adding commented-out JavaScript code in the development environment. Now, streaming server logs to the browser console and clicking on components to jump directly to their code definitions is just a few clicks away. π
-
Improvement: Autocomplete attributes have been added to password and username fields across various templates. This enhancement allows browsers to automatically fill in saved credentials, making login and registration processes smoother and faster. πΎ
-
Improvement: The default gzip setting in the generated endpoint now considers code reloading status. Compressed static files will be served efficiently in production environments, improving performance. β‘
-
New feature: Introducing the web console logger for new projects! This feature streams server logs directly to the client, enhancing debugging and development efficiency. It's also available for umbrella projects, thanks to collaborative efforts with JosΓ© Valim. π₯οΈ
-
Bugfix: We fixed a potential race condition by ensuring endpoint configuration is fully initialized before the socket listener starts. This prevents crashes from incoming requests during the configuration setup, enhancing stability and reliability. π οΈ
-
Bugfix: We reverted a previous change related to the web console logger for new projects in favor of an alternative solution. This simplifies the setup for new projects, aligning with the more effective approach. π
-
Bugfix: The "scrollbar-gutter" class has been removed from the HTML template, setting the scrollbar-gutter to "auto." This resolves an issue with scrollbar handling in the user interface. πΌοΈ
We hope these updates make your development journey smoother and more enjoyable. Happy coding! π
Here's a peek at the latest and greatest updates that have been made to our project, bringing you smoother experiences and more intuitive interfaces. Let's dive in! π
Improvement: Update Text Input to Textarea
We've given our HTML generator a little makeover! π¨ The input type for text fields is now a textarea instead of a plain old text input. This change is all about making life easier for those who need to input multi-line text. It's now live in both phx.gen.html.ex
and phx.gen.live.ex
files, ensuring a consistent experience across the board. Plus, we've jazzed up our test files (phx.gen.html_test.exs
and phx.gen.live_test.exs
) to make sure everything works like a charm. This tweak is all about making your user interface more intuitive and user-friendly. Enjoy the enhanced usability! π
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! π