## 1 Tools Release Notes

This document describes the changes made to the Tools application.

### 1.1 Tools 2.4.4

#### 1.1.1 Fixed Bugs and Malfunctions

- The `cover` tool did not escape '<' and '>' not beeing part of html tags in html log files.
  Own Id: OTP-5588

### 1.2 Tools 2.4.3

#### 1.2.1 Improvements and New Features

- It is now possible to encrypt the debug information in Beam files, to help keep the source code secret. See the documentation for compile on how to provide the key for encrypting, and the documentation for beam_lib on how to provide the key for decryption so that tools such as the Debugger, Xref, or Cover can be used.
  The `beam_lib:chunks/2` functions now accepts an additional chunk type '`compile_info`' to retrieve the compilation information directly as a term. (Thanks to Tobias Lindahl.)
  Own Id: OTP-5460 Aux Id: seq9787

### 1.3 Tools 2.4.2

#### 1.3.1 Fixed Bugs and Malfunctions

- The `cover` tool could not analyze empty modules on module level.
  Own Id: OTP-5418

### 1.4 Tools 2.4.1

#### 1.4.1 Fixed Bugs and Malfunctions

- The Xref analysis 'locals_not_used' could return too many functions. This problem has been fixed.
  Own Id: OTP-5071
- The `cover` tool could not always compile parse transformed modules. This problem has been fixed.
  Own Id: OTP-5305

### 1.5 Tools 2.4

#### 1.5.1 Fixed Bugs and Malfunctions

- The erlang emacs mode now properly handles strings that have $ or ^ as the last character.
  Own Id: OTP-4697
- `Xref`: The unresolved arity (-1) is now recognized in analyses and queries.
  Own Id: OTP-4778
- `cover` does no longer hang if an interface function is called on a remote node - it returns `{error,not_main_node}`
  Own Id: OTP-5031
- `fprof`: Time spent in the last function in a chain, i.e. a function which did not call another function, and the time when a process was scheduled out, was charged on the above function. This resulted in own time in many cases being bigger than acc time since the time a process was scheduled out was charged on the function from which the process was scheduled out. This is now corrected.
  Own Id: OTP-5073
- Previous patch from open source messed up \M-q so part of that patch was backed out.
  Own Id: OTP-5074
- `cover`: Added "Exclude Included Functions". If "real code" is included in a modules which is cover compiled, there will be no bumps for lines in the included file. Earlier this would cause faulty bumps for lines in the module, i.e. if the code was on line 4 in the included file it would produce a bump for line 4 in the module. Lines in included files are now just disregarded.
  Own Id: OTP-5122

#### 1.5.2 Improvements and New Features

- Added support for try-catch to the erlang-mode. However there are still some known problems with some of the more advanced variants especially including separate of-clauses.
  Own Id: OTP-4594
- Improvments for support of emacs 21 contributed by Dave Love. The bulk of the changes are actually cosmetic commentary/doc fixes. The significant ones make it play better with Emacs 21 with up-to-date facilities. In particular, support for compilation error messages from an inferior erl (as opposed to batch compilation) works in the released Emacs 21, and currently with the development Emacs.
  Own Id: OTP-5019
- Added a skeletons for an erlang test-suites for both the ts-frontend and the ct-frontend ( this frontend is Ericsson internal). Also altered some of the old skeletons to get a uniform look and feel.
  Own Id: OTP-5058
- The Erlang mode for Emacs now supports the new gaurd is_boolean
  Own Id: OTP-5059
- `cover`: Ajustments to handle new syntax of try/catch
  Own Id: OTP-5154

Copyright © 1991-2005 Ericsson AB