1 SASL Release Notes
This document describes the changes made to the SASL application.
Sasl 1.7.1
Fixed errors and malfunctions
- If a system is started and a permanent application has erroneous environment parameters, the system should crash. This is the behaviour now, before the system only printed an error report. The system will only crash if the application is started from a boot script genrated by calling systools:make_script/1/2 If application:start/1/2 is called the behaviour is as before.
Note: affects the result of the systools:make_script/1/2. systools:make_script generates now a call to application:start_boot/2 instead of as prevoiusly a call to application:start/2.
Own Id: OTP-3002- It is now allowed that an application X includes application Y, and application Y in its turn is depending of application X. Previously this caused a circular dependency in systools:make_script.
Own Id: OTP-3065
Aux Id: Seq 1593 (OTP-2564, Seq 921)Improvements and new features
- It is possible to define a new parameter when installing a new release at upgrade. The parameter defines if the node should be restarted or rebooted in case of an error at installation. Syntax is as follows:
release_handler:install_release(Vsn, Opt) where Opt = [{error_action, EA}] EA = restart | reboot
Default value is restart. The old install_release/1 gives also the default error action restart, as before.
Own Id: OTP-2966
Aux Id: Seq 1464- When a module with behaviour
gen_server
,gen_event
orgen_fsm
was compiled, warnings were given for absent call-back functions, except forcode_change
. Now, a warning is given for absentcode_change
as well.
Own Id: OTP-3148
Aux Id: OTP-3072, OTP-3026Sasl 1.7
Fixed errors and malfunctions
- The transient applications were previously treated as temporary applications if an error was detected during start.
Own Id: OTP-2718
Aux Id: seq 1136- Release handler accepts now all types of Erlang terms in -vsn(term()).
Own Id: OTP-2740
Aux Id: seq 1181- When an application was removed from a node the code was previously not removed from the memory.
Own Id: OTP-2760- Better error messages from systool:make_script
Own Id: OTP-2768
Aux Id: seq 1226- The instructions for kernel in a release upgrade script were not executed, neither were the configuration parameters for kernel updated when upgrading the system. This is now corrected.
Own Id: OTP-2997Sasl 1.6.2
Fixed errors and malfunctions
- In previous releases of OTP it was not possible to upgrade the Erlang emulator (named e.g jam471 or beam471) because the executable file was renamed for each new version. This is now corrected by always giving the same name (jam or beam) without version number to the executable file.
Own Id: OTP-2372- If a local application had permission set to false initially, it was previously started anyway. Sasl could also hang in some cases when permission was changed, this is now corrected.
Own Id: OTP-2463
Aux Id: Seq 858Improvements and new features
- the parameter start_phases not correctly checked when creating the boot file.
Own Id: OTP-2610Sasl 1.6.1
Fixed errors and malfunctions
- Failover of a loaded MIB did not work. When a MIB was loaded on one node and that node crashed, the failover of the MIB to a new node did not work.
Own Id: OTP-2200
Aux Id: seq 651, HA75679- It is now allowed for an included application to use its own top application; i.e to have the top application in the applications-key in the resource file.
Own Id: OTP-2564
Aux Id: Seq 921Improvements and new features
- systools checks for illegal options in the function parameters.
Own Id: OTP-1851- A crash of the release_handler process now crashes the enitre application SASL, which normally means that the node restarts.
Own Id: OTP-2516
Aux Id: seq8511.1 SASL 1.5
1.1.1 Fixed Bugs and malfunctions
- The release handler didn't handle downgrades correctly. The downgrade script wasn't found even though it did exist.
Own Id: OTP-2298
Aux Id: seq755
- The function
release_handler:create_RELEASES/4
now handles the new syntax with other restart type thanpermanent
in the.rel
file.
Own Id: OTP-2319
Aux Id: seq777
1.1.2 Improvements and new features
- The
code_change
instruction is extended with explicit support for downgrades.
Theupdate
instruction is extended with information needed for downgrades.
Text about dowgrades is added in the documentation. See the chapter "Release Handling" in the User's guide.
1.2 SASL 1.4.1
1.2.1 Fixed Bugs and malfunctions
- Failover/takeover of the SNMP agent administering the MIB did not work, since the old implementation tried to delete a Mnesia table on a node which was not up and running (which always is the case at failover). Now the SNMP related Mnesia table is defined to have the
local_content
property.
Own Id: OTP-2146
Aux Id: seq1
1.3 SASL 1.4
1.3.1 Fixed Bugs and malfunctions
- A code-only application with no dependecies to other applications is now started correctly, when a start script is generated with
systools:make_script
Own Id: OTP-1580
rb
handles unknown reports.
Own Id: OTP-1595
- The
erlNodeWallClock
counter inOTP-MIB
is now a realCounter32
objects; i.e. wraps to 0 when 2^32 is reached.
Own Id: OTP-1604
systools:make_script
does not sort applications when it is not necessary. The order specified in the.rel
file is maintained.
Own Id: OTP-1644
- The release handling instruction
sync_nodes
could hang forever if one node tried to sync before the other node was ready.
Own Id: OTP-1959
1.3.2 Improvements and new features
- The syntax of the different files defined by SASL is defined in separate documents. Check the reference manual for
appup(4)
,rel(4)
,relup(4)
andscript(4)
.
- It is now possible to customise where the release handler writes its files. The release installation procedure can now be run without write access to the installation root directory.
Own Id: OTP-1635
Aux Id: HA54792
- A release packet as constructed with
systools:make_tar
is now a compressed tar file (.tar.gz
) on all platforms.systools
andrelease_handler
use the new compress functions inerl_tar
.
Own Id: OTP-1710
- It is now possible to specify the restart type of an application in the
.rel
file. Previously, all applications were started aspermanent
applications.
Own Id: OTP-1835
1.4 SASL 1.3.2
1.4.1 Fixed Bugs and malfunctions
- Better tar file open/close control in
systools_make
.
1.5 SASL 1.3.1
1.5.1 Fixed Bugs and malfunctions
systools:make_script
creates the boot script according to new requirements of kernel servers.
Own Id: OTP-1393
1.6 SASL 1.3
1.6.1 Improvements and new features
- Introduced new attribute,
included_applications
, in application resource files (.app
). This attribute is used to group a number of applications together. Included applications are not started automatically by the system (they are only loaded), thus this have to be handled by the including application.
- The release file,
Release.rel
, can override theincluded_applications
attribute in order to exclude some of the specified (in the.app
file) applications.
- Added possibilities to specifiy the path option to
systools
functions with a wildcard. The only supported wildcard is*
.*
is expanded to the regular expression[^/]*
. If a wildcard is the only character between two directory separators it is treated as a place holder for exactly one directory level, i.e. the regular expression[^/]+
.
- It is possible to specify symbolic names for a prefix part of a directory in
systools
functions. A variable name replaces the specified prefix in the generated boot script and tar file.
This is useful if one want to install applications in other places than under the Erlang root directory.
A symbolic name (variable) is specified with thevariables
option tosystools:make_script
andsystools:make_tar
. Use the-boot_var Var Dir
command line flag in order to start a system with variables in the boot script.
no_module_tests
option excludes the source code tests (parse for version and validity tests of object code) insystools:make_script
andsystools:make_tar
. This option is always set forsystools:make_relup
. (Speeds up the generation).
systools
can generate boot script and tar files for another target Erlang emulator than the current emulator. Use themachine
option.
- Application
.appup
files are only read when absolutely necessary bysystools:make_relup
.
- The
start_erl
script shall not be modified/edited. This script now reads configuration data generated by therelease_handler
.
- The requirement that the
start
script (used for embedded systems) shall be located in<ERL_INSTALL_DIR>/bin
is removed. It is now configurable through theSASL
configuration parameterstart_prg
.
- It is possible to install a release not unpacked by the
release_handler
.
- Added new functions in the
release_handler
:
set_unpacked/2
set_removed/1
install_file/2
- The
release_handler
now handles diskless nodes (and/or nodes with read-only filesystems).
- The file
sys.config
is now mandatory, and must be present in all releases.
- New options
exref
and{exref, [AppName]}
added tosystools
making it possible to perform a simple cross reference check of function calls. Only modules belonging to applications specified in the.rel
file are checked.
- Created tar files (by
systools:make_tar
) are only compressed on unix systems.
- Added new option
var_tar
tosystools:make_tar
.
- Added new function to
rb
,rb:show/0
that shows all reports.
Own Id: OTP-1144
1.6.2 Fixed Bugs and malfunctions
- The term output to the
relup
file bysystools:make_relup/3
is now parsable by Erlang. The function now also accept anDescription
parameter for release name lists.
Own Id: OTP-1206
systools:make_relup
now correctly handles new and obsolete applications in the appup scripts.
Own Id: OTP-1095
release_handler_1
has now been included insasl.app file
.
Own Id: OTP-1178 Aux Id: HA40608
- The order among the mandatory applications (kernel and stdlib) in the
.rel
file does not need to be kernel first.
- Fixed timeout problem in
rb:grep/1
.
Own Id: OTP-1144
release_handler:remove_release/1
handles non-existing files. When it was called and a file to be removed didn't exist, the release handler process crashed.
Own Id: OTP-1341
- The wrong application version was used in the release down grading script. Note that it is necessary to include the path to all down graded releases. This can be conveniently done by using the new path options specified above.
Own Id: OTP-1360
1.6.3 Incompatibilities with SASL 1.1.1
1.6.4 Known bugs and problems
1.7 SASL 1.1.1
1.7.1 Improvements and new feature
1.7.2 Fixed Bugs and malfunctions
- It is now possible to specify modules without version number in an application resource file (.app), i.e.
... {modules, [Module | {Module, Vsn}]} ...Own Id: OTP-1116
- Restart (init:restart/0) of system did not work after a software upgrade. Started using the now old version but should have used the new (if release_handler:make_permanent has been called).
Own Id: OTP-1113
Aux Id: HA37170
1.7.3 Incompatibilities with SASL 1.1
1.7.4 Known bugs and problems
1.8 SASL 1.1
1.8.1 Improvements and new feature
- Added
systools:make_script
,systools:make_relup
andsystools:make_tar
.
- Added the module
overload
, an overload regulation process.
- Added configuration parameter
errlog_type = error | progress | all
to supress logging of certain error report types. Default isall
.
- Added the OTP-MIB for SNMP monitoring of OTP.
1.8.2 Fixed Bugs and malfunctions
1.8.3 Incompatibilities with OTP P1G
1.8.4 Known bugs and problems
-