This document points at the most important improvments in Erlang/OTP 4.8
More detailed information can be found in the Release Notes.
ERTS-4.8
The limit on number of ports is now dynamic and follows the number of available file descriptors.
The limit on number of ets-tables can now be configurated by the user.
The contents of the Erlang crash dump are improved and extended.
A new construction has been added to the language. The match operator (i.e. the = operator) can now be used within patterns. For example, the following is now valid:
f({plus,X,Y}=T) -> {X+Y,T}.
This often makes it possible to avoid rebuilding a term which is already
present but has no name, since it was matched with a complex pattern.
It also makes it possible to rewrite the construction:
f(X) when X == #rec{x=1, y=a} -> ...
as
f(#rec{x=1, y=a} = X) -> ...
In the absence of optimization for the former case, the later case is
more efficient.
The new language feature uses no new addition to the virtual Erlang
machine, which means that a compiled module using the new feature, can
be used in an old Erlang release, if it is not incompatible for some other
reason.
All valid notations of OBJECT IDENTIFIER values are now supported.
A concept of fragmented tables has been introduced in order to cope with very large tables. The idea is to split a table into several more manageable fragments. Each fragment is implemented as a first clas Mnesia table and may be replicated, have indecies etc.as any other table.
Mnemosyne's internal query format has been changed in order to manage all kinds of Erlang expressions inside queries.
Better precision in error messages.
The omg.org prefix has been added to CosNaming and CosEvent specifications. This means that the IDL types for these two services now have changed and are incompatible with previous release but the names are now according to the CORBA standard.
A couple of name creation functions have been added to the naming library.
These are not in the CosNaming standard but they are easier to use in the
Erlang environment (this will not interfer with the compatibility to other
ORB's).