## SASL 2.0

### Fixed Bugs and Malfunctions

When doing a code replacement in run-time, updating the internal state of a gen_server, gen_event or gen_fsm, it was stated in the documentation that the first argument OldVsn to the callback function Module:code_change was defined by the vsn attribute in the old version of Module.

However, this was not true. For downgrades, OldVsn was {down,Vsn}, where Vsn was fetched from the .app file instead.

The version is now always fetched from the module using beam_lib:version/1 and the man pages for gen_* have been updated accordingly.

*** POTENTIAL INCOMPATIBILITY ***

Own Id: OTP-3699

The release handling instruction restart_application was translated to the low-level instruction application_remove and a set of load_module instructions.

However, application_remove caused the modules listed for the new, not the old, version of the application to be unloaded. If the set of modules was changed, this meant the release handler would try to purge non-existent modules and/or forget to unload modules no longer used.

restart_application is now translated to a correct set of delete_module and add_module instructions instead, and the application_remove instruction is deprecated.

*** POTENTIAL INCOMPATIBILITY ***

Own Id: OTP-4805

release_handler:check_install_release/1 returned {error,Reason} if sys.config or relup was missing. Since both these files are optional, the behaviour has been changed to write warnings to the terminal but return an ok tuple instead.

*** POTENTIAL INCOMPATIBILITY ***

Own Id: OTP-4824

### Improvements and New Features

Added a clause to systools:make_script/1 which makes it possible to provide (atomic) options when calling the function using erl -s.

Example: erl -noinput +B -s systools make_script myrel no_module_tests -s erlang halt is equal to calling systools:make_script("myrel", [no_module_tests]).

Own Id: OTP-3384

Added simplified versions of the update and load_module release handling instructions.

Own Id: OTP-4793

Added two new release handling instructions: {update, Module, supervisor} and {delete_module, Module}.

Own Id: OTP-4800

## SASL 1.10.1

### Improvements and New Features

The option {abort_on_error,Bool} has been added to rb:start/1 and rb:rescan/1. With it you can choose whether or not rb should stop logging if it encounters an unprintable report. When abort_on_error is set to false, rb will resume logging after a bad report has been handled. The error messages rb prints when logging fails have been enhanced.

Own Id: OTP-5096 Aux Id: seq8930