All Versions
23
Latest Version
1.6
Avg Release Cycle
31 days
Latest Release
-

Changelog History
Page 1

  • v1.6 Changes

    Phoenix v1.6 requires Elixir v1.9+.

  • v1.6.0-rc.1 Changes

    September 22, 2021

    โœจ Enhancements

    • [mix phx.gen.auth] Validate bcrypt passwords are no longer than 72 bytes
    • re-enable phx.routes task to support back to back invocations, such as for aliased mix route tasks
    • [mix phx.gen.html] Remove comma after for={@changeset} on form.html.heex

    ๐Ÿ›  JavaScript Client Bug Fixes

    • Fix messages for duplicate topic being dispatched to old channels
  • v1.6.0-rc.0 Changes

    August 26, 2021

    โœจ Enhancements

    • [CodeReloader] Code reloading can now pick up changes to .beam files if they were compiled in a separate OS process than the Phoenix server
    • [Controller] Do not create compile-time dependency for action_fallback
    • [Endpoint] Allow custom error response from socket handler
    • [Endpoint] Do not require a pubsub server in the socket (only inside channels)
    • [mix phx.digest.clean] Add --all flag to mix phx.digest.clean
    • [mix phx.gen.auth] Add mix phx.gen.auth generator
    • [mix phx.gen.context] Support enum types and the redact option when declaring fields
    • [mix phx.gen.notifier] A new generator to build notifiers that by default deliver emails
    • [mix phx.new] Update mix phx.new to require Elixir v1.12 and use the new config/runtime.exs
    • [mix phx.new] Set plug_init_mode: :runtime in generated config/test.exs
    • [mix phx.new] Add description to Ecto telemetry metrics
    • [mix phx.new] Use Ecto.Adapters.SQL.Sandbox.start_owner!/2 in generators - this approach provides proper shutdown semantics for apps using LiveView and Presence
    • [mix phx.new] Add --install and --no-install options to phx.new
    • [mix phx.new] Add --database sqlite3 option to phx.new
    • [mix phx.new] Remove usage of Sass
    • [mix phx.new] New applications now depend on Swoosh to deliver emails
    • [mix phx.new] No longer generate a socket file by default, instead one can run mix phx.gen.socket
    • [mix phx.new] No longer generates a home page using LiveView, instead one can run mix phx.gen.live
    • [mix phx.new] LiveView is now included by default. Passing --no-live will comment out lines in app.js and Endpoint
    • [mix phx.server] Add --open flag
    • [Router] Do not add compile time deps in pipe_through
    • [View] Extracted Phoenix.View into its own project to facilitate reuse

    JavaScript Client Enhancements

    • Add new replaceTransport function to socket with extended onError API to allow simplified LongPoll fallback
    • Fire each event in a separate task for the LongPoll transport to fix ordering
    • Optimize presence syncing

    ๐Ÿ› Bug fixes

    • [Controller] Return normalized paths in current_path/1 and current_path/2
    • [mix phx.gen.live] Fix a bug where tests with utc_datetime and boolean fields did not pass out of the box

    ๐Ÿ›  JavaScript Client Bug fixes

    • Bind to beforeunload instead of unload to solve Firefox connection issues
    • Fix presence onJoin including current metadata in new presence

    ๐Ÿ—„ Deprecations

    • [mix compile.phoenix] Adding the :phoenix compiler to your mix.exs (compilers: [:phoenix] ++ Mix.compilers()) is no longer required from Phoenix v1.6 forward if you are running on Elixir v1.11. Remove it from your mix.exs and you should gain faster compilation times too
    • [Endpoint] Phoenix now requires Cowboy v2.7+
    • [View] @view_module is deprecated in favor of Phoenix.Controller.view_module/1 and @view_template is deprecated in favor of Phoenix.Controller.view_template/1
  • v1.6.0-dev Changes

    โœจ Enhancements

    • [Controller] Do not create compile-time dependency for action_fallback
    • [Endpoint] Allow custom error response from socket handler
    • [Endpoint] Do not require a pubsub server in the socket (only inside channels)
    • [mix phx.gen.auth] Add mix phx.gen.auth generator
    • [mix phx.gen.context] Support enum types and the redact option when declaring fields
    • [mix phx.new] Update mix phx.new to require Elixir v1.11 and use the new config/runtime.exs
    • [mix phx.new] Add description to Ecto telemetry metrics
    • [mix phx.new] Use Ecto.Adapters.SQL.Sandbox.start_owner!/2 in generators - this approach provides proper shutdown semantics for apps using LiveView and Presence
    • [mix phx.new] Add --install and --no-install options to phx.new
    • [mix phx.new] Add --database sqlite3 option to phx.new
    • [View] Extracted Phoenix.View into its own project to facilitate reuse
    • [mix phx.new] Remove usage of Sass

    JavaScript Client Enhancements

    • Add new replaceTransport function to socket with extended onError API to allow simplified LongPoll fallback
    • Fire each event in a separate task for the LongPoll transport to fix ordering
    • Optimize presence syncing

    ๐Ÿ› Bug fixes

    • [Controller] Return normalized paths in current_path/1 and current_path/2
    • [mix phx.gen.live] Fix a bug where tests with utc_datetime and boolean fields did not pass out of the box

    ๐Ÿ›  JavaScript Client Bug fixes

    • Bind to beforeunload instead of unload to solve Firefox connection issues
    • Fix presence onJoin including current metadata in new presence

    ๐Ÿ—„ Deprecations

    • [Endpoint] Phoenix now requires Cowboy v2.7+
    • [View] @view_module is deprecated in favor of Phoenix.Controller.view_module/1 and @view_template is deprecated in favor of Phoenix.Controller.view_template/1
  • v1.5 Changes

    ๐Ÿš€ Phoenix.PubSub 2.0 released

    ๐Ÿš€ Phoenix.PubSub 2.0 has been released with a more flexible and powerful fastlane mechanism. We use this opportunity to also move Phoenix.PubSub out of the endpoint and explicitly into your supervision tree. To update, you will need to remove or update the {:phoenix_pubsub, "~> 1.x"} entry in your mix.exs to at least "2.0".

    ๐Ÿ—„ Then once you start an application, you will get a warning about the :pubsub key in your endpoint being deprecated. Follow the steps in the warning and you are good to go!

    Guides revamped

    ๐Ÿ‘ Phoenix built-in guides have been restructured and revamped, providing a better navigation structure and more content.

  • v1.5.0-dev Changes

    โœจ Enhancements

    • [Channel] Do not block the channel supervisor on join
    • [Controller] Support :disposition option in send_download/3
    • [Endpoint] Allow named params to be used when defining socket paths
    • [Endpoint] Raise if force_ssl has changed from compile time to runtime
    • [PubSub] Migrate to PubSub 2.0 with a more flexible fastlaning mechanism

    ๐Ÿ› Bug Fixes

    ๐Ÿ—„ Deprecations

    • [ChannelTest] use Phoenix.ChannelTest is deprecated in favor of import Phoenix.ChannelTest
    • [ConnTest] use Phoenix.ConnTest is deprecated in favor of import Plug.Conn; import Phoenix.ConnTest
    • [Endpoint] The outdated Phoenix.Endpoint.CowboyAdapter for Cowboy 1 is deprecated. Please make sure {:plug_cowboy, "~> 2.1"} or later is listed in your mix.exs
    • [Endpoint] subscribe and unsubscribe via the endpoint is deprecated, please use Phoenix.PubSub directly instead
    • [Layout] Use <%= @inner_content %> instead of <%= render @view_module, @view_template, assigns %> for rendering the child layout

    phx.new installer

    • Phoenix.PubSub is now started directly in your application supervision tree
    • Phoenix.Ecto.CheckRepoStatus is now added to new applications that use Ecto
    • Automatically use System.get_env("MIX_TEST_PARTITION") in the database name in the test environemnt for built-in CI test partitioning

    JavaScript client

  • v1.4.16

    March 15, 2020
  • v1.4.15

    March 06, 2020
  • v1.4.14

    February 21, 2020
  • v1.4.13

    February 12, 2020