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