View Source Changelog for v1.6

See the upgrade guide to upgrade from Phoenix 1.5.x.

Phoenix v1.6 requires Elixir v1.9+.

1-6-16-2023-02-17

1.6.16 (2023-02-17)

bug-fixes

Bug Fixes

  • Fix race conditions in longpoll transport

1-6-15-2022-10-26

1.6.15 (2022-10-26)

enhancements

Enhancements

  • Support for Phoenix.View 2.0

javascript-client-bug-fixes

JavaScript Client Bug Fixes

  • Fix heartbeat reconnect

1-6-14-2022-10-10

1.6.14 (2022-10-10)

  • Fix security vulnerability in wildcard check_origin configurations

1-6-13-2022-09-29

1.6.13 (2022-09-29)

enhancements-1

Enhancements

  • [phx.gen.release] Fetch compatible docker image from API when passing --docker flag

1-6-12-2022-09-06

1.6.12 (2022-09-06)

  • Fix phx.gen.release Dockerfile pointing to expired image

1-6-11-2022-07-11

1.6.11 (2022-07-11)

javascript-client-enhancements

JavaScript Client Enhancements

  • Add convenience for getting longpoll reference with getLongPollTransport

javascript-client-bug-fixes-1

JavaScript Client Bug Fixes

  • Cancel inflight longpoll requests on canceled longpoll session
  • Do not attempt to flush socket buffer when tearing down socket on replaceTransport

1-6-10-2022-06-01

1.6.10 (2022-06-01)

javascript-client-enhancements-1

JavaScript Client Enhancements

  • Add ping function to socket

1-6-9-2022-05-16

1.6.9 (2022-05-16)

bug-fixes-1

Bug Fixes

  • [phx.gen.release] Fix generated .dockerignore comment

1-6-8-2022-05-06

1.6.8 (2022-05-06)

bug-fixes-2

Bug Fixes

  • [phx.gen.release] Fix Ecto check failing to find Ecto in certain cases

1-6-7-2022-04-14

1.6.7 (2022-04-14)

enhancements-2

Enhancements

  • [Endpoint] Add Endpoint init telemetry event
  • [Endpoint] Prioritize user :http configuration for ranch to fix inet_backend failing to be respected
  • [Logger] Support log_module in router metadata
  • [phx.gen.release] Don't handle assets in Docker when directory doesn't exist
  • [phx.gen.release] Skip generating migration files when ecto_sql is not installed

javascript-client-enhancements-2

JavaScript Client Enhancements

  • Switch to .mjs files for ESM for better compatibility across build tools

javascript-client-bug-fixes-2

JavaScript Client Bug Fixes

  • Fix LongPoll callbacks in JS client causing errors on connection close

1-6-6-2022-01-04

1.6.6 (2022-01-04)

bug-fixes-3

Bug Fixes

  • [Endpoint] Fix check_origin: :conn failing to match scheme

1-6-5-2021-12-16

1.6.5 (2021-12-16)

enhancements-3

Enhancements

  • [Endpoint] Support check_origin: :conn to enforce origin on the connection's host, port, and scheme

bug-fixes-4

Bug Fixes

1-6-4-2021-12-08

1.6.4 (2021-12-08)

bug-fixes-5

Bug Fixes

  • Fix incorrect phx.gen.release output

1-6-3-2021-12-07

1.6.3 (2021-12-07)

enhancements-4

Enhancements

  • Add new phx.gen.release task for release and docker based deployments
  • Add fullsweep_after option to the websocket transport
  • Add :force_watchers option to Phoenix.Endpoint for running watchers even when web server is not started

bug-fixes-6

Bug Fixes

  • Fix Endpoint log: false failing to disable logging

javascript-client-bug-fixes-3

JavaScript Client Bug Fixes

  • Do not attempt to reconnect automatically if client gracefully closes connection

1-6-2-2021-10-08

1.6.2 (2021-10-08)

bug-fixes-7

Bug Fixes

  • [phx.new] Fix external flag to esbuild using incorrect syntax

1-6-1-2021-10-08

1.6.1 (2021-10-08)

enhancements-5

Enhancements

  • [phx.new] Add external flag to esbuild for fonts and image path loading
  • [phx.gen.auth] No longer set argon2 as the default hash algorithm for phx.gen.auth in favor of bcrypt for performance reasons on smaller hardware

bug-fixes-8

Bug Fixes

  • Fix race conditions logging debug duplicate channel joins when no duplicate existed

javascript-client-bug-fixes-4

JavaScript Client Bug Fixes

  • Export commonjs modules for backwards compatibility

1-6-0-2021-09-24

1.6.0 (2021-09-24) 🚀

enhancements-6

Enhancements

  • [ConnTest] Add path_params/2 for retrieving router path parameters out of dynamically returned URLs.

javascript-client-bug-fixes-5

JavaScript Client Bug Fixes

  • Fix LongPoll transport undefined readyState check

1-6-0-rc-1-2021-09-22

1.6.0-rc.1 (2021-09-22)

enhancements-7

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-6

JavaScript Client Bug Fixes

  • Fix messages for duplicate topic being dispatched to old channels

1-6-0-rc-0-2021-08-26

1.6.0-rc.0 (2021-08-26)

enhancements-8

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-3

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-9

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-7

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

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+

breaking-changes

Breaking changes

v1-5

v1.5

The CHANGELOG for v1.5 releases can be found in the v1.5 branch.