<commit_before># Changelog

## 1.4.0-dev

* Enhancements
  * [Endpoint] Add `Cowboy2Handler` for HTTP2 support with cowboy2.
  * [Phoenix] Add `Phoenix.json_library/0` and replace `Poison` with `Jason` for JSON encoding in new projects.
  * [Controller] Support partial file downloads with `:offset` and `:length` options to `send_download/3`
  * [Controller] Add additional security headers to `put_secure_browser_headers` (`x-content-type-options`, `x-download-options`, and `x-permitted-cross-domain-policies`)
  * [Controller] Add `put_router_url/2` to override the default URL generation pulled from endpoint configuration
  * [Logger] Add whitelist support to `filter_parameters` logger configuration, via new `:keep` tuple format
  * [Router] Raise on duplicate plugs in pipe_through scopes
  * [ChannelTest] Respect user's configured ExUnit `:assert_receive_timeout` for macro assertions
  * [phx.new] Generate new Elixir 1.5+ child spec
  * [phx.new] Use webpack for asset bundling

* Bug Fixes
  * [Channel] Fix issue with WebSocket transport sending wrong ContentLength header with 403 response

* JavaScript client enhancements
  * Add new instance-based Presence API with simplified synchronization callbacks
  * Add `updateJoinParams` to channel for explicit param updates between rejoins

* JavaScript client bug fixes
  * Fix race condition when presence diff arrives before state

* Deprecations
  * [Controller] Passing a view in `render/3` and `render/4` is deprecated in favor of `put_view/2`

## 1.3.1 (2018-04-02)

* Enhancements
  * [Router] Raise on unknown `:only` and `:except` in `resources`.
  * [Router] Include line numbers in generated routes for better reporting
  * [Logger] Add parameter keep strategy to filter all parameters by default and selectively keep parameters
  * [Token] Support `:infinity` for token max age
  * [Presence] Generate `child_spec` for Elixir 1.5+ support

* Bug Fixes
  * [Transports.WebSocketSerializer] Do not encode `:join_ref` in v1 messages

## 1.3.0 (2017-07-28)

See these [`1.2.x` to `1.3.x` upgrade instructions](https://gist.github.com/chrismccord/71ab10d433c98b714b75c886eff17357) to bring your existing apps up to speed.

* Enhancements
  * [Generator] Add new `phx.new`, `phx.new.web`, `phx.new.ecto` project generators with improved application structure and support for umbrella applications
  * [Generator] Add new `phx.gen.html` and `phx.gen.json` resource generators with improved isolation of API boundaries
  * [Controller] Add `current_path` and `current_url` to generate a connection's path and url
  * [Controller] Introduce `action_fallback` to registers a plug to call as a fallback to the controller action
  * [Controller] Wrap exceptions at controller to maintain connection state
  * [Channel] Add ability to configure channel event logging with `:log_join` and `:log_handle_in` options
  * [Channel] Warn on unhandled `handle_info/2` messages
  * [Channel] Channels now distinguish from graceful exits and application restarts, allowing clients to enter error mode and reconnected after cold deploys.
  * [Channel] Add V2 of wire channel wire protocol with resolved race conditions and compacted payloads
  * [ChannelTest] Subscribe `connect` to `UserSocket.id` to support testing forceful disconnects
  * [Socket] Support static `:assigns` when defining channel routes
  * [Router] Document `match` support for matching on any HTTP method with the special `:*` argument<commit_msg>Update date for 1.3.1 in CHANGELOG.md (#2783)<commit_after># Changelog

## 1.4.0-dev

* Enhancements
  * [Endpoint] Add `Cowboy2Handler` for HTTP2 support with cowboy2.
  * [Phoenix] Add `Phoenix.json_library/0` and replace `Poison` with `Jason` for JSON encoding in new projects.
  * [Controller] Support partial file downloads with `:offset` and `:length` options to `send_download/3`
  * [Controller] Add additional security headers to `put_secure_browser_headers` (`x-content-type-options`, `x-download-options`, and `x-permitted-cross-domain-policies`)
  * [Controller] Add `put_router_url/2` to override the default URL generation pulled from endpoint configuration
  * [Logger] Add whitelist support to `filter_parameters` logger configuration, via new `:keep` tuple format
  * [Router] Raise on duplicate plugs in pipe_through scopes
  * [ChannelTest] Respect user's configured ExUnit `:assert_receive_timeout` for macro assertions
  * [phx.new] Generate new Elixir 1.5+ child spec
  * [phx.new] Use webpack for asset bundling

* Bug Fixes
  * [Channel] Fix issue with WebSocket transport sending wrong ContentLength header with 403 response

* JavaScript client enhancements
  * Add new instance-based Presence API with simplified synchronization callbacks
  * Add `updateJoinParams` to channel for explicit param updates between rejoins

* JavaScript client bug fixes
  * Fix race condition when presence diff arrives before state

* Deprecations
  * [Controller] Passing a view in `render/3` and `render/4` is deprecated in favor of `put_view/2`

## 1.3.1 (2018-03-02)

* Enhancements
  * [Router] Raise on unknown `:only` and `:except` in `resources`.
  * [Router] Include line numbers in generated routes for better reporting
  * [Logger] Add parameter keep strategy to filter all parameters by default and selectively keep parameters
  * [Token] Support `:infinity` for token max age
  * [Presence] Generate `child_spec` for Elixir 1.5+ support

* Bug Fixes
  * [Transports.WebSocketSerializer] Do not encode `:join_ref` in v1 messages

## 1.3.0 (2017-07-28)

See these [`1.2.x` to `1.3.x` upgrade instructions](https://gist.github.com/chrismccord/71ab10d433c98b714b75c886eff17357) to bring your existing apps up to speed.

* Enhancements
  * [Generator] Add new `phx.new`, `phx.new.web`, `phx.new.ecto` project generators with improved application structure and support for umbrella applications
  * [Generator] Add new `phx.gen.html` and `phx.gen.json` resource generators with improved isolation of API boundaries
  * [Controller] Add `current_path` and `current_url` to generate a connection's path and url
  * [Controller] Introduce `action_fallback` to registers a plug to call as a fallback to the controller action
  * [Controller] Wrap exceptions at controller to maintain connection state
  * [Channel] Add ability to configure channel event logging with `:log_join` and `:log_handle_in` options
  * [Channel] Warn on unhandled `handle_info/2` messages
  * [Channel] Channels now distinguish from graceful exits and application restarts, allowing clients to enter error mode and reconnected after cold deploys.
  * [Channel] Add V2 of wire channel wire protocol with resolved race conditions and compacted payloads
  * [ChannelTest] Subscribe `connect` to `UserSocket.id` to support testing forceful disconnects
  * [Socket] Support static `:assigns` when defining channel routes
  * [Router] Document `match` support for matching on any HTTP method with the special `:*` argument
{'fraction_non_alphanumeric': 0.08400229357798165, 'fraction_numerical': 0.021072247706422017, 'mean_word_length': 4.91271186440678, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 2, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 6, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1940564', 'n_tokens_mistral': 2083, 'n_tokens_neox': 1955, 'n_words': 813}