# Tools Release Notes

## Tools 2.0

### Fixed errors and malfunctions

- xref bug fix: variables LM and AM were not always disjoint.
  (Own Id: OTP-3921)

### Improvements and new features

- 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.

  (*** POTENTIAL INCOMPATIBILITY ***)
  (Own Id: OTP-3622)

- The functions `xref:m/1` and `xref:d/1` return a list of undefined functions in case the BEAM files do not contain debug information.
  (Own Id: OTP-3879)

- `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.
  (*** POTENTIAL INCOMPATIBILITY ***)
  (Own Id: OTP-3948)

- The default value of the Xref option `verbose` has been changed from `true` to `false`. The function `xm/1`, which cross reference checks a module by calling `xref:m/1`, has been added to the `c` module.
  (Own Id: OTP-4101)

- Added a web based user interface to Cover.
  (Own Id: OTP-4105)
  (Aux Id: OTP-4104)

- The old cross reference tool `exref` has now been removed, use the new tool `xref` instead.
  (Own Id: OTP-4140)

## Tools 1.6.3

### Improvements and new features

- A preliminary version of the new Fprof tool has been added.
  (Own Id: OTP-4010)

There are also release notes for older versions.