No, it is not a versioning error … the Erlang usual Rn[A|B](-p) release format is now over … long life to the new R(.p) release format !
This new version bring us interesting changes including language changes:
- EEP43: A new data type called
Maps, for example:
$ erl
Erlang/OTP 17 [erts-6.0] [source-07b8f44] [64-bit] [smp:4:4] [async-threads:10] [hipe] [kernel-poll:false] [dtrace]
Eshell V6.0 (abort with ^G)
1> M = maps:new().
#{}
2> N = M#{"user" => "mnemonic", "age" => "31"}.
#{"age" => "31","user" => "mnemonic"}
3> #{"user" := User, "age" := Age} = N. %% extract value of the keys "user" and "age"
#{"age" => "31","user" => "mnemonic"}
4> User.
"mnemonic"
5> Age.
"31"
- Erlang/OTP has been ported to the realtime operating system OSE.
- The
{active, N}socket option for TCP, UDP, and SCTP where N is an integer in the range -32768..32767, to allow a caller to specify the number of data messages to be delivered to the controlling process. - A new scheduler utilization balancing mechanism has been introduced. For more information see the
+subcommand line argument. - Migration of memory carriers has been enabled by default on all ERTS internal memory allocators based on the
alloc_utilframework except fortemp_alloc. - Increased garbage collection tenure rate.
- Erlang “dirty schedulers” (experimental). In order to try the functionality out, you need to pass the command line argument
--enable-dirty-schedulersto configure when building the system. - EEP37: Funs can now be given names.