Phoenix Versions Save

Peace of mind from prototype to production

v1.5.3

3 years ago

v1.2.1

7 years ago
  • Enhancements
    • [Router] Improve errors for invalid route paths
    • [Plug] Include new development error pages
  • Bug Fixes
    • [Endpoint] Fixed issue where endpoint would fail to code reload on next request after an endpoint compilation error

v1.2.0

7 years ago

1.2.0 (2016-6-23)

See these 1.1.x to 1.2.x upgrade instructions to bring your existing apps up to speed.

  • Enhancements
    • [CodeReloader] The lib/ directory is now code reloaded by default along with web/ in development
    • [Channel] Add :phoenix_channel_join instrumentation hook
    • [View] Generate private render_template/2 clauses for views to allow overriding render/2 clauses before rendering templates
    • [View] Add :path and :pattern options to allow wildcard template inclusion as well as customized template directory locations
  • Deprecations
    • [Endpoint] Generated subscribe/3 and unsubscribe/2 clauses have been deprecated in favor of subscribe/2 and unsubscribe/1 which uses the caller's pid

    • [PubSub] Phoenix.PubSub.subscribe/3 and Phoenix.PubSub.unsubscribe/2 have been deprecated in favor of subscribe/2 and unsubscribe/1 which uses the caller's pid

    • [Watcher] Using the :root endpoint configuration for watchers is deprecated. Pass the :cd option at the end of your watcher argument list in config/dev.exs. For example:

      watchers: [node: ["node_modules/brunch/bin/brunch", "watch", "--stdin",
                 cd: Path.expand("../", __DIR__)]]
      
  • Bug Fixes
    • [Template] Prevent infinite call stack when rendering a non-existent template from template_not_found
  • JavaScript client enhancements
    • Add Presence object for syncing presence state between client and server
    • Use return value of channel onMessage callback for specialized message transformations before dispatching to the channel
  • JavaScript client backward incompatible changes
    • Presence.syncState and Presence.syncDiff now return a copy of the state instead of mutating it

v1.2.0-rc.1

7 years ago

1.2.0-rc.1 (2016-05-25)

See these 1.1.x to 1.2.x upgrade instructions to bring your existing apps up to speed.

  • Enhancements
    • [View] Add :path and :pattern options to allow wildcard template inclusion as well as customized template directory locations
  • Deprecations
    • [Watcher] Using the :root endpoint configuration for watchers is deprecated. Pass the :cd option at the end of your watcher argument list in config/dev.exs. For example:

      watchers: [node: ["node_modules/brunch/bin/brunch", "watch", "--stdin",
                 cd: Path.expand("../", __DIR__)]]
      

v1.2.0-rc.0

7 years ago

See these 1.1.x to 1.2.0 upgrade instructions to bring your existing apps up to speed.

  • Enhancements
    • [CodeReloader] The lib/ directory is now code reloaded by default along with web/ in development
    • [Channel] Add subscribe/2 and unsubscribe/2 to handle external topic subscriptions for a socket
    • [View] Generate private render_template/2 clauses for views to allow overriding render/2 clauses before rendering templates
    • [Channel] Add :phoenix_channel_join instrumentation hook
  • JavaScript client enhancements
    • Add Presence object for syncing presence state between client and server
  • Deprecations
    • [Endpoint] Generated subscribe/3 and unsubscribe/2 clauses have been deprecated in favor of subscribe/2 and unsubscribe/1 which uses the caller's pid
    • [PubSub] Phoenix.PubSub.subscribe/3 and Phoenix.PubSub.unsubscribe/2 have been deprecated in favor of subscribe/2 and unsubscribe/1 which uses the caller's pid

v1.1.3

8 years ago
  • Enhancements
    • [phoenix.gen] Support --binary-id option when generating scaffold
    • [phoenix.new] Don't include Ecto gettext translations if --no-ecto is passed
  • JavaScript client bug fixes
    • Ensure exports variable does not leak
    • Fix setTimeout scoping issue for Babel

v1.1.2

8 years ago

See these optional 1.1.1 to 1.1.2 upgrade instructions to bring your existing apps up to speed.

  • Enhancements
    • [Cowboy] Improve log report for errors from the UserSocket
    • [ChannelTest] Add refute_push and refute_reply
    • [Router] Improve error messages when calling Router helpers without matching clauses
    • [phoenix.new] Use brunch 2.1.1 npm integration to load phoenix and phoenix_html js deps

v1.1.1

8 years ago
  • Bug fixes
    • Fix --no-html flag on phoenix.new task failing to generate ErrorHelpers module

v1.1.0

8 years ago

See these 1.0.x to 1.1.0 upgrade instructions to bring your existing apps up to speed.

  • Enhancements
    • [Router] Enable defining routes for custom http methods with a new match macro
    • [CodeReloader] The socket transports now trigger the code reloader when enabled for external clients that only connect to channels without trigger a recompile through the normal page request.
    • [phoenix.digest] The phoenix.digest task now digests asset urls in stylesheets automatically
    • [Channel] Add Phoenix.Channel.reply/3 to reply asynchronously to a channel push
    • [Channel] code_change/3 is now supported to upgrade channel servers
    • [Endpoint] check_origin now supports wildcard hosts, ie check_origin: ["//*.example.com"]
    • [Endpoint] check_origin treats invalid origin hosts as missing for misbehaving clients
    • [Endpoint] Add Phoenix.Endpoint.server?/2 to check if webserver has been configured to start
    • [ConnTest] Add assert_error_sent to assert an error was wrapped and sent with a given status
  • Backward incompatible changes
    • [View] The @inner assign has been removed in favor of explicit rendering with render/3 and the new @view_module and view_template assigns, for example: <%= @inner %> is replaced by <%= render @view_module, @view_template, assigns %>

v1.0.4

8 years ago
  • Enhancements
    • [ConnTest] Add bypass_through to pass a connection through a Router and pipelines while bypassing route dispatch.
  • Bug fixes
    • [LongPoll] force application/json content-type to fix blank JSON bodies on older IE clients using xdomain