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
the cosEventApp
module. Upgrade in runtime is not
possible.
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
are stored.
(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
CosEventComm.idl
.
(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
token.
The flag procs
to erlang:trace/3
has got
a slightly new behaviour: Trace tag spawn
has a new
element, and trace tags register
,
unregister
, and 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
the close
, lclose
and sync
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
dbg:trace_client/3
.
(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
changed.
(Own Id: OTP-3922)
The hash function used in dict
and sets
is now erlang:phash/2
rather than the broken
erlang:hash/2
.
(Own Id: OTP-3802)
Bug fix: intersection/1
in the sets
and
ordsets
modules no longer accepts the empty list as
argument. The reason is that intersection of an empty set is
undefined.
(Own Id: OTP-4045)
The dets
module has been partly rewritten.
finsert/2
accepts a list of objects.
info/2
accepts the new item tags access
,
ram_file
and auto_save
, and the item tags
memory
and pid
have been documented.
The read cache has been removed and the cache_size
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
are: to_ets/2
(adds Dets objects to an Ets table);
foldl/3
and foldr/3
(iterate over
the objects of a Dets table); from_ets/2
(replaces
Dets objects by Ets objects); select/1,2,3
(select
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
specifications); delete_all_objects/1
(deletes all
objects of a Dets table efficiently); init_table/2
(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
apply
and spawn
were used for
representing unresolved calls.
(Own Id: OTP-3948)