Ranch 1.3

28 Nov

Ranch 1.3.0 has been released!

This release fixes a number of long standing issues and adds a small number of features:

The ssl application has been added to the list of dependencies. If you don’t need it, you can remove it automatically when fetching Ranch or when building the release. If you do need it, you will no longer have issues shutting down a node because of Ranch.

The ranch:info/0 and ranch:procs/2 can be used to retrieve information about Ranch’s state. Use it for diagnostic and discovery purposes.

SSL listeners can now be configured without a certificate, for setups that make use of the SNI extension.

Transport options are now a blacklist, meaning all unknown options will be accepted. However Dialyzer will warn if said option is not defined in Ranch’s type specifications. Please send a patch when that happens!

Various bugs have been fixed, including the bug where the number of active connections could become negative. Common errors at listener startup should be easier to read (for example when the port is already in use).

See the CHANGELOG for more details.

Ranch is now tested and supported with Erlang/OTP R16B or above on Arch Linux, FreeBSD, OSX, Ubuntu and Windows 7. Contact me if you can provide permanent access to another platform for the purposes of testing.

Ranch is now available from four locations:

They are updated at the same time so there is no real difference.

The most recent Ranch commit is now always signed. You can import the signing key for Loïc Hoguin with:

$ gpg --keyserver hkp://keys.gnupg.net --recv-key 66CCCC8A

The primary key fingerprint is F19F 189C ECC7 4396 99CE DD7A 6EF7 A770 66CC CC8A.

When verifying signatures in git, the following should appear:

gpg: Signature made Sat 26 Nov 2016 12:58:35 PM CET
gpg:                using RSA key 71366FF21851DF03
gpg: Good signature from "Loïc Hoguin <[email protected]>" [unknown]
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: F19F 189C ECC7 4396 99CE  DD7A 6EF7 A770 66CC CC8A
     Subkey fingerprint: FEDA 6E41 B390 F745 A385  5CDC 7136 6FF2 1851 DF03

You can safely ignore the warning if you don’t know what it means, as long as everything else is correct.

Mirrors and signature verification will soon be implemented directly in Erlang.mk. In the meantime, you will need to set them up manually.

Most of this work was done to fix issues in RabbitMQ. Paid customers get priority; contact me if you have some issues that need fixing sooner rather than later.

Expect future releases to be announced in this space.

Thanks for reading!