phoenix v1.6.0-rc.0 Release Notes
Release Date: 2021-08-26 // over 2 years ago-
โจ 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 tomix phx.digest.clean
- [mix phx.gen.auth] Add
mix phx.gen.auth
generator - [mix phx.gen.context] Support
enum
types and theredact
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 newconfig/runtime.exs
- [mix phx.new] Set
plug_init_mode: :runtime
in generatedconfig/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 tophx.new
- [mix phx.new] Add
--database sqlite3
option tophx.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 inapp.js
andEndpoint
- [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 extendedonError
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
andcurrent_path/2
- [mix phx.gen.live] Fix a bug where tests with
utc_datetime
andboolean
fields did not pass out of the box
๐ JavaScript Client Bug fixes
- Bind to
beforeunload
instead ofunload
to solve Firefox connection issues - Fix presence onJoin including current metadata in new presence
๐ Deprecations
- [mix compile.phoenix] Adding the
:phoenix
compiler to yourmix.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 yourmix.exs
and you should gain faster compilation times too - [Endpoint] Phoenix now requires Cowboy v2.7+
๐ฅ Breaking changes
- [View]
@view_module
and@view_template
are no longer set. UsePhoenix.Controller.view_module/1
andPhoenix.Controller.view_template/1
respectively, or pass explicit assigns fromPhoenix.View.render
.