# Runtime_tools Release Notes

## Runtime_tools 1.1.4

### Improvements and new features

- A number of bug fixes and improvements have been done to applications `runtime_tools`, `kernel` and `erts`:
  - 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.
  - `seq_trace:get_token/0` and `seq_trace:set_token/1` now have compatible token formats.
  - `dbg:trace_port/2` and `dbg:trace_client/2,3` now supports trace to and read from a size limited "wrap file set".
  - `dbg:trace_port_control/1` now supports operation `get_listen_port` for the ip trace driver.
  - New match spec functions `{is_seq_trace}` and `{get_seq_trace}` has been added to test and read the sequential trace token in match specs.
  - New match spec functions `{get_tcw}` and `{set_tcw Value}` that reads and sets a "trace control word" in the node has been added. The "trace control word" is a word in each Erlang node of at least 24 bits. There are also enhancements of BIFs: `erlang:system_info(trace_control_word)` and `erlang:system_flag(trace_control_word, Value)` for the same purpose.
  - A new match spec function `{silent, TrueOrFalse}` for setting a silent call trace flag per process that inhibits call trace messages, both local and global, has been added. The BIF `erlang:trace/3` has been extended to recognize the flag 'silent' to start a call trace in silent mode.
  - Some bugs in the `dbg` module has been fixed, e.g the 'old_trace_call' flag has been removed from the 'all' flags list, and the dbg server no longer hangs if the supplied tracer fails to start.
  - A bug in the emulator that made 'EXIT' messages from a process involved in a sequential call trace get overwritten by the sequential trace token itself has been fixed.
  - The documentation regarding the above has been updated. Especially, the fact that the match spec function `{return_trace}` destroys the tail recursiveness of the traced function has been pointed out.
  (*** POTENTIAL INCOMPATIBILITY ***)
  Own Id: OTP-3747
  Aux Id: OTP-3592, OTP-3744

## Runtime_tools 1.1.2

### Improvements and new features

- New functions in the module `dbg`: `flush_trace_port`, `stop_trace_client`. There is a new option `follow_file` for `trace_client`.
  Own Id: OTP-3471
  Aux Id: OTP-3427
- Call tracing is greatly improved. It is now possible to trace local function calls (and calls to local functions) set up with the erlang:trace_pattern BIF. Trace compilation for local call is no longer needed. New functions in the module `dbg`: `h`, `tpl`, `ctpl`, `ctpg`. `tp` now only traces global functions - use `tpl` to trace global and local.
  Own Id: OTP-3518

## Runtime_tools 1.1.1

### Improvements and new features

- The trace_file_drv driver was internally rewritten to use the new erl_driver.h file.
  Own Id: OTP-3371