Erlang/OTP 26.1 Released

OTP 26.1 #

Erlang/OTP 26.1 is the first maintenance patch package for OTP 26, with mostly bug fixes as well as improvements.

For details about bugfixes and potential incompatibilities see the Erlang 26.1 README

The Erlang/OTP source can also be found at GitHub on the official Erlang repository, GitHub - erlang/otp: Erlang/OTP

Download links for this and previous versions are found here

12 Likes

Just a heads up, you linked to the Erlang 25.1 README instead of 26.1.

Great job to everyone involved with this release!

1 Like

Speaking of releases,

% sudo apt update

Err:18 http://binaries.erlang-solutions.com/debian jammy Release
404 Not Found [IP: 13.33.21.93 80]

E: The repository ‘http://binaries.erlang-solutions.com/debian jammy Release’ does not have a Release file.

What do I do about this, especially to get an updated Erlang?

IIRC erlang-solutions stopped providing packages a while back (in Feb I think)

Using the RabbitMQ PPA for Erlang is an option if you just want pre-compiled debs vs building your own release with kerl/asdf

https://launchpad.net/~rabbitmq/+archive/ubuntu/rabbitmq-erlang

Link fixed. Thank you.

3 Likes

There’s been some work over there to support jammy, see https://github.com/esl/packages/issues/15 for the latest. I just use asdf these days.

What is the correct way of reusing ports with gen_udp in OTP26.1?

Previosly, we did gen_udp:open(Por, [{inet_backend, socket}, {reuseaddr, true}]) and I see reuseport was added in [erts, kernel] reuseaddr/reuseport/exclusiveaddruse support/fixes by rickard-green · Pull Request #6522 · erlang/otp · GitHub but I don’t get it to work:

1> gen_udp:open(88888, [{inet_backend, socket}, {reuseaddr, true}, {reuseport, true}]).
{ok,{'$inet',gen_udp_socket,
             {<0.92.0>,
              {'$socket',#Ref<0.1985961887.3750363144.125730>}}}}
2> gen_udp:open(88888, [{inet_backend, socket}, {reuseaddr, true}, {reuseport, true}]).
{error,eaddrinuse}

In OTP26.0.2:

1>  gen_udp:open(88888, [{inet_backend, socket}, {reuseaddr, true}]).
{ok,{'$inet',gen_udp_socket,
             {<0.26238807.0>,
              {'$socket',#Ref<0.3205098475.2836529154.55286>}}}}
2> gen_udp:open(88888, [{inet_backend, socket}, {reuseaddr, true}]).
{ok,{'$inet',gen_udp_socket,
             {<0.26238551.0>,
              {'$socket',#Ref<0.3205098475.2836529154.59029>}}}}
1 Like