OTP 23 Release Candidate 3 had been released

Max Lapshin max.lapshin@REDACTED
Fri Apr 24 10:19:45 CEST 2020


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