<?xml version="1.0" encoding="latin1" ?>
<!DOCTYPE chapter SYSTEM "chapter.dtd">
<chapter>
<header>
<copyright>
<year>2004</year><year>2011</year>
<holder>Ericsson AB. All Rights Reserved.</holder>
</copyright>
<legalnotice>
The contents of this file are subject to the Erlang Public License,
Version 1.1, (the "License"); you may not use this file except in
compliance with the License. You should have received a copy of the
Erlang Public License along with this software. If not, it can be
retrieved online at http://www.erlang.org/.
Software distributed under the License is distributed on an "AS IS"
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
the License for the specific language governing rights and limitations
under the License.
</legalnotice>
<title>SASL Release Notes</title>
<prepared>otp_appnotes</prepared>
<docno>nil</docno>
<date>nil</date>
<rev>nil</rev>
<file>notes.xml</file>
</header>
<p>This document describes the changes made to the SASL application.</p>
<section><title>SASL 2.1.9.3</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Honor start type in .rel files when building relup files</p>
<p>
Previously, relup file always included an
application:start(Application, permanent) apply
instruction for every application that appear in the
UpTo/DowFrom release file, whatever their start type in
the release file.</p>
<p>
The new implementation fixes this bug by honoring the
start type according to the rel(5) format. If the start
type is none, no apply line is included in the relup. If
the start type is load, the relup includes instruction to
only load the application. Otherwise, the relup includes
an instruction to start the application to the according
type.</p>
<p>
The fix is implemented by adding a new parameter to the
add_application high level appup instruction. This new
parameter is documented in appup(5).</p>
<p>
Own Id: OTP-9097</p>
</item>
</list>
</section>
</section>
<section><title>SASL 2.1.9.2</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>In R13B04 sys:get_status was modified to invoke
format_status/2 in the callback module if the module
exports that function. This resulted in a change to the
term returned from calling sys:get_status on the
supervisor module, since supervisor is a gen_server and
gen_server exports format_status. The sasl
release_handler_1 module had a dependency on the
pre-R13B04 term returned by sys:get_status when invoked
on a supervisor, so the R13B04 change broke that
dependency.</p>
<p>This problem has been fixed by change
release_handler_1 to handle both the pre-R13B04 and
R13B04 terms that sys:get_status can return from a
supervisor.</p>
<p>
Own Id: OTP-8619 Aux Id: seq11570 </p>
</item>
</list>
</section>
</section>
<section><title>SASL 2.1.9.1</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>Use an infinity timeout in all calls to
<c>gen_server:call()</c> in the <c>sasl</c>
application.</p>
<p>
Own Id: OTP-8506 Aux Id: seq11509 </p>
</item>
</list>
</section>
</section>
<section><title>SASL 2.1.9</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
The <c>re:grep/1</c> function now uses the '<c>re</c>'
module instead of the deprecated '<c>regexp</c>' module.
There are new functions <c>rb:filter/1</c> and
<c>rb:filter/2</c> for easier filtering of reports.
(Thanks to Alvaro Videla.)</p>
<p>
Own Id: OTP-8443</p>
</item>
<item>
<p>
There is new function <c>sasl_report:format_report/3</c>
that works like the existing
<c>sasl_report:write_report/3</c> function except that it
returns a formatted string. Note that there is currently
no documentation for the <c>sasl_report</c> module.
(Thanks to Jay Nelson.)</p>
<p>
Own Id: OTP-8445</p>
</item>
<item>
<p>
Cleanups suggested by tidier and modernization of types
and specs.</p>
<p>
Own Id: OTP-8455</p>
</item>
</list>
</section>
</section>
<section><title>SASL 2.1.8</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
The documentation is now built with open source tools
(xsltproc and fop) that exists on most platforms. One
visible change is that the frames are removed.</p>
<p>
Own Id: OTP-8201</p>
</item>
</list>
</section>
</section>
<section><title>SASL 2.1.7</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
The Windows utility Erlsrv, run in interactive mode now
accepts options for registering internal service name and
description field of Windows registry database.</p>
<p>
Own Id: OTP-8132</p>
</item>
</list>
</section>
</section>
<section><title>SASL 2.1.6</title>
<section><title>Fixed Bugs and Malfunctions</title>
<list>
<item>
<p>When using the SASL application configuration
parameter <c>masters</c> the error tuple
<c>{error,{no_such_file,{Master,FileName}}}</c> was
sometimes returned even though the file <c>FileName</c>
existed.</p>
<p>
Own Id: OTP-7667</p>
</item>
</list>
</section>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Missing preloaded modules added</p>
<p>
Own Id: OTP-7820</p>
</item>
</list>
</section>
</section>
<section><title>SASL 2.1.5.4</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
A Dialyzer warning was eliminated</p>
<p>
Own Id: OTP-7635</p>
</item>
</list>
</section>
</section>
<section><title>SASL 2.1.5.3</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Minor changes.</p>
<p>
Own Id: OTP-7388</p>
</item>
</list>
</section>
</section>
<section><title>SASL 2.1.5.2</title>
<section><title>Improvements and New Features</title>
<list>
<item>
<p>
Minor updates.</p>
<p>
Own Id: OTP-6998</p>
</item>
</list>
</section>
</section>
<section>
<title>SASL 2.1.5.1</title>
<section>
<title>Improvements and New Features</title>
<list type="bulleted">
<item>
<p>Minor Makefile changes.</p>
<p>Own Id: OTP-6689</p>
</item>
<item>
<p>Obsolete guard tests (such as list()) have been replaced
with the modern guard tests (such as is_list()).</p>
<p>Own Id: OTP-6725</p>
</item>
</list>
</section>
</section>
<section>
<title>SASL 2.1.5</title>
<section>
<title>Fixed Bugs and Malfunctions</title>
<list type="bulleted">
<item>
<p>Removed some dead code from <c>erlsrv:get_service/2</c>,
<c>release_handler:do_write_file/2</c>,
<c>systools_relup:foreach_baserel_up/7</c> and
<c>systools_relup:foreach_baserel_dn/7</c>.</p>
<p>Own Id: OTP-6499</p>
</item>
</list>
</section>
</section>
<section>
<title>SASL 2.1.4</title>
<section>
<title>Improvements and New Features</title>
<list type="bulleted">
<item>
<p>Added an option <c>{outdir,Dir}</c> to the functions in
<c>systools</c>, making it possible to specify in which
directory a boot script, relup file or release package
file should be placed.</p>
<p>Also, when using <c>systools:make_tar/2</c> to create a
release package file, the boot script, relup file and
<c>sys.config</c> are now searched for also in the current
working directory and any directory specified by
the <c>path</c> option, not only in the directory of
the <c>.rel</c> file.</p>
<p>As part of the work some minor bugs have been corrected:</p>
<list type="bulleted">
<item>
<p><c>systools:make_script/1,2</c> now returns
<c>error</c> if the <c>.script</c> and/or <c>.boot</c>
file could not be opened for writing, not <c>ok</c>.</p>
</item>
<item>
<p><c>systools:make_tar/1,2</c> can now handle a
<c>RelName</c> argument which includes a path.
Previously this would cause the <c>.rel</c> file to end
up in the wrong directory in the resulting tar file.</p>
</item>
<item>
<p>A documentation error for <c>systools:make_tar/1,2</c>:
The <c>.rel</c> file is placed in the <c>releases</c>
directory in the tar file, not <c>releases/RelVsn</c>.</p>
</item>
</list>
<p>Own Id: OTP-6226</p>
</item>
</list>
</section>
</section>
<section>
<title>SASL 2.1.3</title>
<section>
<title>Fixed Bugs and Malfunctions</title>
<list type="bulleted">
<item>
<p><c>release_handler:upgrade_app/2</c> and
<c>release_handler:downgrade_app/2,3</c> -- used for
testing application upgrade and downgrade according to
the <c>.appup</c> file -- now update application
configuration parameters correctly. (Thanks to Serge
Aleynikov)</p>
<p>Own Id: OTP-6162</p>
</item>
</list>
</section>
</section>
<section>
<title>SASL 2.1.2</title>
<section>
<title>Fixed Bugs and Malfunctions</title>
<list type="bulleted">
<item>
<p>Fixed some minor bugs in <c>release_handler</c> found by
Dialyzer.</p>
<p>Own Id: OTP-6039</p>
</item>
</list>
</section>
</section>
<section>
<title>SASL 2.1.1</title>
<section>
<title>Improvements and New Features</title>
<list type="bulleted">
<item>
<p>Added a number of functions to <c>release_handler</c> which
makes it possible to test upgrade and downgrade of
applications according to an <c>.appup</c> file "on the
fly": <br></br>
- <c>upgrade_app/2</c> <br></br>
- <c>upgrade_script/2</c> <br></br>
- <c>downgrade_app/2,3</c> <br></br>
- <c>downgrade_script/3</c> <br></br>
- <c>eval_appup_script/4</c></p>
<p>Own Id: OTP-5858</p>
</item>
</list>
</section>
</section>
<section>
<title>SASL 2.1</title>
<section>
<title>Improvements and New Features</title>
<list type="bulleted">
<item>
<p>A new option <c>{update_paths,Bool}</c> has been added
for <c>release_handler:install_release/2</c>. It
indicates if all application code paths should be updated
(<c>Bool==true</c>), or if only code paths for modified
applications should be updated (<c>Bool==false</c>,
default).</p>
<p><c>release_handler:set_unpacked/2</c> now returns an
error tuple if a specified application directory does not
exist.</p>
<p>*** POTENTIAL INCOMPATIBILITY ***</p>
<p>Own Id: OTP-5761</p>
</item>
</list>
</section>
</section>
<section>
<title>SASL 2.0.1</title>
<section>
<title>Improvements and New Features</title>
<list type="bulleted">
<item>
<p>A bug that made it impossible to call <c>rb:show(N)</c>
(<c>N</c> being an integer) twice without getting an error
has been fixed.</p>
<p>Own Id: OTP-5287</p>
</item>
</list>
</section>
</section>
</chapter>