<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Rivet 2.3: Release Notes and Known Problems</title>
    <link rel="stylesheet" href="../templates/wondrous/styles.css" type="text/css" />
</head>

<body>
    <div id="container">
        <div id="header">
            <h1><a href="../index.html">Rivet</a></h1>
            <h2 id="slogan">Webscripting for Tcl'ers</h2>
            <div class="clear"></div>
        </div>
        <div id="body">
            <div id="content">
                <h2>Rivet 2.3: Release Notes and Known Problems</h2>
                <div>
    <div class="sez">
        <h4>Download</h4>
        <p>
                    Rivet 2.3 is available for download from ASF mirror sites. Check the 
                    <a href="download.html">download page</a>

 for information about 
                    downloading the source code, rpm files or packages for SuSE, 
                    Redhat, Debian and Ubuntu (packages for SuSE and Redhat are available thanks to 
                    Harald Oehlmann).
                                    </p>
        <p>
                    Code integrity for this release can be checked using the 
                    public keys in the <a href="http://www.apache.org/dist/tcl/KEYS">KEYS</a>

 file.
                                    </p>
        <p>
                    Rivet 2.3 is tested and works with the Apache Webserver version 2.4 (running the 
                    <strong>prefork</strong>

 MPM) and requires Tcl &gt;= 8.5.11. Tcl &gt;= 8.6.1 is
                    recommended. Still this version of Rivet should be also fine when run with Apache
                    Web Server version 2.2
                                    </p>
    </div>
    <div class="sez">
        <h4>Rivet 2.3.5 Release Notes</h4>
        <p>
						Rivet 2.3.5 is a bug fix release for rivet 2.3. Rivet 2.3.5 received contributions
						from Ronnie Brunner and Jeff Lawson 
						<ul>
                <li>Fixed server initialization procedure. ServerInitScript is now executed only once, the second time
							the server initialization callback is called</li>
                <li>Fixed test suite problem with virtual host handling in certain installations</li>
                <li>Mysql DIO connector now handles also the special value NULL for a column</li>
                <li>Fixed buffer overflow bug in libWWW</li>
                <li>Tcl environment now can be loaded also from outside mod_rivet</li>
                <li>Command <strong>::rivet::redirect</strong>

 now accepts integer status code
							to control redirection. This enables the command to emit status codes other than
							301 and 302                                    </li>
            </ul>
        </p>
    </div>
    <div class="sez">
        <h4>Rivet 2.3.4 Release Notes</h4>
        <p>
						Rivet 2.3.4 is a bug fix release for rivet 2.3.
						<ul>
                <li>Fixed buffer allocation size in command <strong>::rivet::escape_sgml_chars</strong>


							(fixes bug #61353)                                    </li>
                <li>Random number generator is re-seeded for each interpreter thus to guarantee they
							will output different sequences</li>
                <li>package <strong>formbroker</strong>

 now handles also boolean type of data                                    </li>
                <li>invocation of rivet commands has been fully qualified with the <strong>::rivet</strong>

 namespace                                    </li>
            </ul>
        </p>
    </div>
    <div class="sez">
        <h4>Rivet 2.3.3 Release Notes</h4>
        <p>
						Rivet 2.3.3 is a bug fix release for rivet 2.3.
						<ul>
                <li>DIO: String quoting of the Posgresql connector was incorrect and has been fixed 
							(closes bug #60378)</li>
                <li>New package <strong>formbroker</strong>

: this package is a form response
							broker and validator, still experimental but usable                                    </li>
                <li>Fixed typo in manual page</li>
                <li>Change in mod_rivet internals: as a content generator mod_rivet has to figure out
							when a request has to be handled or passed on to other modules. 
							The request type is now determined more correctly from
							the field <q>header</q>

 of the <strong>request_rec</strong>

 (previosly was
							<q>content_type</q>

)                                    </li>
            </ul>
        </p>
    </div>
    <div class="sez">
        <h4>Rivet 2.3.2 Release Notes</h4>
        <p>
						Rivet 2.3.2 is a bug fix release for rivet 2.3.
						<ul>
                <li>The test suite now requires Apache 2.4</li>
                <li>Commands <strong>::rivet::try</strong>

 and <strong>::rivet::catch</strong>


							have been fixed. Under some circumstances they failed to properly evaluate
							the code they are supposed to guard and control                                    </li>
                <li>A new utility command <strong>::rivet::url_query</strong>

 
							composes the query part of an URL from a list of parameter-value pairs                                    </li>
            </ul>
        </p>
    </div>
    <div class="sez">
        <h4>Rivet 2.3.1 Release Notes</h4>
        <p>
						Rivet 2.3.1 is a bug fix release for package rivet 2.3. Method 'file' which was
						to print an HTML5 <pre class="programlisting">&lt;input type="file" name="...."/&gt;</pre>

 
						was actually printing an email form field. This problem was not serious but affected any serious 
						development of forms using rivet's form package
					                    </p>
    </div>
    <div class="sez">
        <h4>Rivet 2.3.0 Release Notes</h4>
        <p>
                    Rivet 2.3.0 consolidates the 2.2.x module series with several improvements in the way 
                    the command export was handled. This will be the last 2.x version series in preparation
                    of the newly developed 3.0 module.
                </p>
        <p>
                    Rivet 2.3.0 introduces the command <b>::rivet::try</b>

 and <b>::rivet::catch</b>


                    as a wrappers of the Tcl core 
                    language <b>try</b>

 and <b>catch</b>

 commands. These commands are not exported to 
                    the global namespace even when
                    mod_rivet is build with the <i>--enable-rivet-commands-export</i>

 and they should be
                    used within Rivet scripts to protect any <b>::rivet::abort_page</b>

 and
                    <b>::rivet::exit</b>

 execution. These commands interrupt code execution by
                    raising a Tcl error with reserved error codes (respectively ABORTPAGE and EXITPAGE) to
                    signal the module to fire the AbortScript Tcl script with special codes accessible
                    through the <b>::rivet::abort_code</b>

 command
		   		                    </p>
        <p>
                    Execution of <b>::rivet::try</b>

 fails if mod_rivet is not built with Tcl &gt;= 8.6
                                    </p>
        <p>
                    Command <b>::rivet::exit</b>

 was also introduced to give the command
                    <b>exit</b>

 a more sensible behaviour within the context of the Apache HTTP Web Server. 
                    In fact the core command has become an alias of <b>::rivet::exit</b>

 which interrupts 
                    the script execution and hands control on to an AbortScript. Then it completes the 
                    request and just before returning to the web server framework it terminates the child
                    process by calling <b>Tcl_Exit</b>
        </p>
        <p>
                    This command replaces the <b>exit</b>

 core command and it's provided as a way
                    to give it a meaning within the Rivet and Apache context but the
                    programmer should avoid to use it and instead adopt proper software design
                    to bring about sudden process termination
                                    </p>
    </div>
</div>



                <div class="contentbottom">
                    
                </div>
            </div>

            <div class="sidebar">
                <ul>
                    <li id="news">
    <h4>News</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a href="rn%2d2%2d3.html">11 Nov 2017: Rivet 2.3.5 released</a>
        </li>
        <li class="navitem">
            <a href="rn%2d3%2d0.html">7 Jul 2018: Rivet 3.0.2 released</a>
        </li>
    </ul>
</li>
 
                </ul> 
                <ul>
                    <li id="home">
    <h4>Rivet</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="A home for Rivet" href="../index.html">Rivet Homepage</a>
        </li>
        <li class="navitem">
            <a title="Home of Apache Tcl related stuff" target="asf" href="http://tcl.apache.org/">Apache Tcl Home</a>
        </li>
        <li class="navitem">
            <a title="Getting Rivet" href="download.html">Getting Rivet</a>
        </li>
        <li class="navitem">
            <a title="Hello World!" href="hello%5fworld.html">Examples</a>
        </li>
        <li class="navitem">
            <a title="The Rivet development team" href="about.html">About Us - Contact</a>
        </li>
    </ul>
</li>
<li id="tcl">
    <h4>Tcl/Tk</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="The Tcl Developer Xchange" target="tclxchange" class="extern" href="http://www.tcl.tk/">
                The Tcl/Tk Language
                </a>
        </li>
        <li class="navitem">
            <a title="Tcl community wiki site" target="tclwiki" class="extern" href="http://wiki.tcl.tk/">Tcl'ers Wiki</a>
        </li>
    </ul>
</li>
<li id="manual">
    <h4>Documentation</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="Rivet 2.1 Manual" target="rivetman2.1" href="http://tcl.apache.org/rivet/manual2.1/">Rivet 2.1</a>
        </li>
        <li class="navitem">
            <a title="Rivet 2.2 Manual" target="rivetman2.2" href="http://tcl.apache.org/rivet/manual2.2/">Rivet 2.2</a>
        </li>
        <li class="navitem">
            <a title="Rivet 2.3 Manual" target="rivetman2.3" href="http://tcl.apache.org/rivet/manual2.3/">Rivet 2.3</a>
        </li>
        <li class="navitem">
            <a title="Rivet 3.0 Manual" target="rivetman3.0" href="http://tcl.apache.org/rivet/manual3.0/">Rivet 3.0</a>
        </li>
    </ul>
</li>
<li id="support">
    <h4>Support</h4>
    <ul class="blocklist">
        <li class="navitem">
            <a title="Apache Rivet Bugzilla" class="extern" href="https://issues.apache.org/bugzilla/buglist.cgi?quicksearch=Rivet">Bug Reports</a>
        </li>
    </ul>
</li>
 
                </ul> 
                <ul>
                     
                </ul> 
            </div>
            <div class="clear"></div>
        </div>
    </div>
    <div id="footer">
        <div class="footer-content">
            <p><a href="http://www.apache.org/">Apache Software Foundation</a> | Design by <a href="http://www.spyka.net">Free CSS Templates</a> | <a href="http://www.justfreetemplates.com">Free Web Templates</a></p>
        </div>
    </div>
    <div style="text-align: center; font-size: 0.75em;">Design downloaded from <a href="http://www.freewebtemplates.com/">free website templates</a>.</div></body>
</html>

