<!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">18 Nov 2018: Rivet 3.0.3 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>

