OTP 23 Release Candidate 3 had been released

Max Lapshin max.lapshin@REDACTED
Fri Apr 24 12:30:49 CEST 2020


Fixed exception in gist and filed ticket:
https://bugs.erlang.org/browse/ERL-1234

On Fri, Apr 24, 2020 at 11:19 AM Max Lapshin <max.lapshin@REDACTED> wrote:
>
> 1)
>
>
> 4> http_uri:parse("ad_injector://a/b/c",[{scheme_defaults,[{ad_injector,80}]}]).
> {ok,{ad_injector,[],"a",80,"/b/c",[]}}
> 7> uri_string:parse("ad_injector://a/b/c").
> {error,invalid_uri,":"}
>
> Can you advice, what is the proper migration path?
>
>
>
> 2)
> > Warning: http_uri:decode/1 is deprecated and will be removed in OTP 25
>
> What is the proper replacement?
>
>
>
> 3)
> inet_backend is not supported for ssl sockets. It is very
> inconvenient, because I have to write lot of case clauses to put this
> option (first! and it is mandatory) in the option list only for
> gen_tcp.
>
>
> 4)
> Problems with elbrus (lcc) compilation. My patch is growing.
>
> Btw, erlang cross-compilation is working and it is wonderful, thank
> you a lot!  We had to refuse from building python, because its
> ecosystem is not suitable for cross compilation =(
>
>
>
> 5) Problem with  inet_socket and switching from packet,http to packet,raw
>
> https://gist.github.com/maxlapshin/cdf03656ac76431d9bede314f279b6b3
>
> when I switch socket from packet,http  to packet,raw, then   recv
> immediately closes socket.
>
> On Wed, Apr 22, 2020 at 5:26 PM Loïc Hoguin <essen@REDACTED> wrote:
> >
> > Everything is green here (Linux, FreeBSD, macOS).
> >
> > I'm afraid I didn't try on Windows, I will try next time.
> >
> > Cheers,
> >
> > On 22/04/2020 12:19, Henrik Nord X wrote:
> > >
> > >     OTP 23 Release Candidate 3
> > >
> > > This is the third and last of three planned release candidates before
> > > the OTP 23 release.
> > > The intention with this release is to get feedback from our users. *All
> > > feedback is welcome*, even if it is only to say that it works for you.
> > >
> > > Erlang/OTP 23 is a new major release with new features, improvements as
> > > well as a few incompatibilities.
> > >
> > >
> > >       Highlights (rc3)
> > >
> > > Apart from the changes below, this third pre-release contains only minor
> > > fixes.
> > >
> > >
> > >       Potential Incompatibilities
> > >
> > >   * SSL:
> > >       o Support for SSL 3.0 is completely removed.
> > >       o TLS 1.3 is added to the list of default supported versions.
> > >   * |erl_interface|: Removed the deprecated parts of |erl_interface|
> > >     (|erl_interface.h| and essentially all C functions with prefix |erl_|).
> > >   * The deprecated |erlang:get_stacktrace/0| BIF now returns an empty
> > >     list instead of a stacktrace.
> > >     |erlang:get_stacktrace/0| is scheduled for removal in OTP 24.
> > >   * ...
> > >
> > >
> > >       Highlights (rc2)
> > >
> > >   * *ssh*:
> > >       o OpenSSH 6.5 introduced a new file representation of
> > >         keys called |openssh-key-v1|. This is now supported with the
> > >         exception of
> > >         handling encrypted keys.
> > >       o Algorithm configuration could now be done in a .config file.
> > >         This is useful for example to enable an algorithm that
> > >         is disabled by default without need to change the code.
> > >   * *ssl*:
> > >       o Support for the middlebox compatibility mode makes the TLS 1.3
> > >         handshake
> > >         look more like a TLS 1.2 handshake and increases the chance of
> > >         successfully
> > >         establishing TLS 1.3 connections through legacy middleboxes.
> > >       o Add support for key exchange with Edward curves and PSS-RSA
> > >         padding in
> > >         signature verification
> > >   * The possibility to run Erlang distribution without
> > >     relying on EPMD has been extended. To achieve this a
> > >     couple of new options to the inet distribution has been
> > >     added.
> > >       o |-dist_listen false| Setup the distribution
> > >         channel, but do not listen for incoming connection.
> > >       o |-erl_epmd_port Port| Configure a default port that
> > >         the built-in EPMD client should return.
> > >       o ...
> > >   * A first EXPERIMENTAL |socket| backend to
> > >     |gen_tcp| and |inet| has been implemented. |gen_udp| and |gen_sctp|
> > >     will follow.
> > >     Putting |{inet_backend, socket}| as first option to |listen()| or
> > >     |connect()| makes it easy to try this for
> > >     existing code
> > >
> > >
> > >       Highlights (rc1)
> > >
> > >   * A new module |erpc| in kernel which implements an enhanced subset of
> > >     the operations provided by the |rpc| module. Enhanced in the sense
> > >     that it makes it possible to distinguish between returned value,
> > >     raised exceptions and other errors. |erpc| also has better
> > >     performance and scalability than the original |rpc| implementation.
> > >     This by utilizing the newly introduced |spawn_request()| BIF. Also
> > >     the |rpc| module benefits from these improvements by utilizing
> > >     |erpc| when possible.
> > >   * Scalability and performance Improvements plus new functionality
> > >     regarding distributed spawn operations.
> > >   * In binary matching, the size of the segment to be matched is now
> > >     allowed to be a guard expression (EEP-52)
> > >   * When matching with maps the keys can now be guard expressions (EEP-52).
> > >   * ssh: support for TCP/IP port forwarding, a.k.a tunneling a.k.a as
> > >     tcp-forward/direct-tcp is implemented. In the OpenSSH client, this
> > >     corresponds to the options -L and -R.
> > >   * Allow underscores in numeric literals to improve readability.
> > >     Examples: |123_456_789|, |16#1234_ABCD|.
> > >   * New functions in the shell for displaying documentation for Erlang
> > >     modules, functions and types. The
> > >     functions are:
> > >       o |h/1,2,3| -- Print the documentation for a |Module:Function/Arity|.
> > >       o |ht/1,2,3| -- Print the type documentation for a
> > >         |Module:Type/Arity|.
> > >         The embedded documentation is created as docchunks (EEP 48) when
> > >         building the Erlang/OTP documentation.
> > >   * kernel: The module |pg| with a new implementation of distributed
> > >     named process groups is introduced. The old module |pg2| is
> > >     deprecated and scheduled for removal in OTP 24.
> > >   * Our tool chain for building the Windows packages is upgraded with
> > >     new C++ compiler, Java compiler, OpenSSL libraries and wxWidgets
> > >     versions. We are now using WSL (the Linux Subsystem for Windows when
> > >     building) which makes it easier to handle the build environment.
> > >   * ...
> > >
> > > For more details see
> > > http://erlang.org/download/otp_src_23.0-rc3.readme
> > >
> > > Pre built versions for Windows can be fetched here:
> > > http://erlang.org/download/otp_win32_23.0-rc3.exe
> > > http://erlang.org/download/otp_win64_23.0-rc3.exe
> > >
> > > Online documentation can be browsed here:
> > > http://erlang.org/documentation/doc-11.0-rc3/doc
> > > The Erlang/OTP source can also be found at GitHub on the official Erlang
> > > repository,
> > > https://github.com/erlang/otp
> > >
> > >
> >
> > --
> > Loïc Hoguin
> > https://ninenines.eu


More information about the erlang-questions mailing list