-
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