This document contains a list of all potential incompatibilities between Erlang 5.1/OTP R8B and the previous version Erlang 5.0/OTP R7B, and is an extract from the release notes for the respective applications.
All APIs not compliant with the OMG standard have been removed.
Registering the cosEvent application in the IFR is done via
cosEventApp module. Upgrade in runtime is not
The include paths for
CosNotification.idl have been
changed. Hence, if you include this file in your own IDL-files you
must update your paths to also point to where the cosEvent IDL-files
(Own Id: OTP-4092)
An include path in
CosTimerEvent.idl has been changed.
Hence, if you include this file you should check your include paths
for your IDL-file(s), that is, add the path to
(Own Id: OTP-4093)
A read timeout no longer resets the sequential trace token. This
is an incompatibility towards the previous behaviour. Use
seq_trace:set_token() to reset the sequential trace
erlang:trace/3 has got
a slightly new behaviour: Trace tag
spawn has a new
element, and trace tags
getting_unlinked are new.
Therefore, new and/or different trace messages will arrive to
the tracer when the
procs trace flag is used.
(Own Id: OTP-3934)
(Aux Id: seq5193)
disk_log caches written terms. This implies that
functions can return file errors.
pid2name/1 is a new
debug function that given a disk log process (a pid) returns
the name of the log.
(Own Id: OTP-3952)
This application has been removed.
Mnesia 4.0 and later will only run on OTP R8B and later.
ODBC 0.9.1 needs Erl_Interface 3.2.9 or higher.
A trace client fun that can be given to
dbg:trace_client/3 now gets informed about the end of
trace, so it can do something useful with its collected data. See
(Own Id: OTP-3933)
(Aux Id: seq5193)
The file names for wrap file traces has been changed. This has
been done to make it easier for auxiliary tools to know the file
names when fetching wrap traces over the network, especially if
the tools used for fetching does not support wildcards in filenames.
See the documentation for
dbg:trace_port/2. NOTE that
this change may affect existing fetch tools. Especially note that
the number of files in the wrap trace must now be known when
reading the trace, or as it is stated in the documentation:
the same wrap trace specification must be used when reading
the trace as when creating the trace.
(Own Id: OTP-3965)
systools_make uses Xref for cross reference checks.
The format of the warnings for undefined functions has been
(Own Id: OTP-3922)
The hash function used in
erlang:phash/2 rather than the broken
(Own Id: OTP-3802)
intersection/1 in the
ordsets modules no longer accepts the empty list as
argument. The reason is that intersection of an empty set is
(Own Id: OTP-4045)
dets module has been partly rewritten.
finsert/2 accepts a list of objects.
info/2 accepts the new item tags
auto_save, and the item tags
pid have been documented.
The read cache has been removed and the
option is ignored (incompatibility). Many functions have been more
efficiently implemented than before, this holds in particular when
there are several threads. The repair of Dets tables has been
rewritten, and is significantly faster than before. New functions
to_ets/2 (adds Dets objects to an Ets table);
foldr/3 (iterate over
the objects of a Dets table);
Dets objects by Ets objects);
Dets objects using match specifications (see the ERTS User´s
Guide for a description of match specifications));
match/1,3 (match Dets objects in chunks);
select_delete/2 (deletes Dets objects using match
delete_all_objects/1 (deletes all
objects of a Dets table efficiently);
(initiates a Dets table using a function to gather objects);
pid2name/1 (returns the name of the Dets table handled
by a pid).
(Own Id: OTP-3786)
(Aux Id: OTP-3746, OTP-3782, OTP-1831)
Coast was much too slow and ineffiecient, especially for large
modules. Also, it was discovered that Coast in some cases returned
erroneous values. Consequently, Coast has been discontinued and is
replaced with a new tool Cover with similar interface and
functionality. Refer to the Tools User's Guide and Reference Manual
for more information about Cover.
(Own Id: OTP-3622)
Xref represents unresolved calls with calls where the module,
the function or the number of arguments are atoms and integers that
are unlikely to occur in an Erlang system. Calls to
erlang:apply/2 and the like are included among
the external calls. This is in contrast to R7 where calls to
spawn were used for
representing unresolved calls.
(Own Id: OTP-3948)