Upcoming changes in Ranch 2.0

The following changes will be done in Ranch 2.0. In most cases an alternative is already available in the most recent Ranch version.

  • The function ranch:start_listener/6 has been deprecated in favor of ranch:start_listener/5. The number of acceptors was removed and will be taken from the transport options.
  • The function ranch:child_spec/6 has also been deprecated, in favor of ranch:child_spec/5.
  • The function ranch:accept_ack/1 has been deprecated in favor of ranch:handshake/1,2.
  • The function ranch:info/1,2 will return a map containing each listener's information rather than a list of key/values. The num_acceptors key will be removed.
  • The socket will no longer be passed to the protocol when starting it. It will be available as a return value from ranch:handshake/1,2 only.
  • Starting from Ranch 2.0 it will no longer be allowed to pass Ranch options along with socket options as a proplist. The only forms allowed will be the ranch:opts() map or socket options as-is. The ranch:opts() map must be used in case socket options also use a map.
  • The socket option will be removed. A more viable solution is to define a custom transport module that returns a fresh socket when Transport:listen/1 is called.

Ranch 1.7 User Guide


Version select

Like my work? Donate!

Donate to Loïc Hoguin because his work on Cowboy, Ranch, Gun and Erlang.mk is fantastic:

Recurring payment options are also available via GitHub Sponsors. These funds are used to cover the recurring expenses like food, dedicated servers or domain names.