Prev |  | Next

## Appendix B. Migrating from Ranch 2.1 to Ranch 2.2

Ranch 2.2 is a maintenance release containing a small number of fixes and improvements.

Ranch 2.2 is tested with Erlang/OTP 24.0 onward, although it should be compatible with Erlang/OTP 22.0 and above.

## B.1. Features added

- `DTLS` is now supported.
- The `certs_keys` option from `ssl` is now accepted and documented.
- The `UNIQUE_ID` PROXY protocol header extension is now supported.
- The `ranch_transport` behavior has a new callback `format_error/1` which allows finer grained formatting of Ranch’s error messages. The callback is currently optional and will become required in Ranch 3.0.

## B.2. Changed behaviors

- Ranch will now obfuscate certificates, keys and passwords in the error message produced on listen error.
- The exception reason when a connection process has failed its handshake has been changed to `{shutdown, {Reason, PeerInfo}}` where `PeerInfo` contains the peer name when available.
- The `{packet, raw}` socket option is no longer set explicitly, as this is already the default value.

## B.3. Bugs fixed

- `ranch:stop_listener/1` will now return an error instead of throwing an exception when the listener does not exist.
- Fix `ranch:recv_proxy_header/2` for the upcoming Erlang/OTP 28.
- Ensure that a user crash while stopping a listener does not prevent a subsequent attempt to stop it.
- Alarm option `threshold` was mispelled in Ranch 2.1. This has been corrected. The wrong spelling `treshold` is still accepted and will be removed in Ranch 3.0.

Prev | Up | Next
| Home |