| <!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.2: 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.2: Release Notes and Known Problems</h2> |
| <div> |
| <div class="sez"> |
| <h4>Download</h4> |
| <p> |
| Rivet 2.2 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.2 works with the Apache Webserver version 2.x (running the |
| <strong>prefork</strong> |
| |
| MPM) and requires Tcl >= 8.5.11. Tcl >= 8.6.1 is |
| recommended |
| </p> |
| </div> |
| <div class="sez"> |
| <h4>Rivet 2.2.1 Release Notes</h4> |
| <p>New Tcl commands</p> |
| <ul> |
| <li>New command |
| <pre class="programlisting">::rivet::redir URL ?permanent?</pre> |
| |
| |
| was introduced. The command achieves the same |
| function of <b>::rivet::headers redirect <URL></b> |
| |
| but it extends it |
| triggering the execution of the <em>AbortScript</em> |
| |
| script when defined. The command |
| builds a dictionary carrying 2 keys storing the reason for the abort (error_code) and URL |
| the browser is diverted to. This code can be fetched with command <b>::rivet::abort_code</b> |
| </li> |
| <li>New command <b>::rivet::header sent</b> |
| |
| returns 1 if HTTP have been sent already |
| because either the output buffer was filled or command <b>flush stdout</b> |
| |
| was |
| executed </li> |
| <li>New command <b>::rivet::headers get</b> |
| |
| returns the value of an HTTP output |
| header </li> |
| </ul> |
| <p>mod_rivet internal changes and build system improvements</p> |
| <ul> |
| <li>Configuration of the package was extended by adding a new --with-apu-config macro |
| that allows fine control over the location of apr-util include files (contributed by <em> |
| Poor Yorick</em> |
| |
| ) </li> |
| <li>New directive <em>SeparateChannels</em> |
| |
| allow finer control over Rivet internal channels. |
| I/O handling is done in |
| mod_rivet by creating a single channel per child process. This is true also if |
| <em>SeparateVirtualInterp</em> |
| |
| is set, thus reducing the amount of memory allocated |
| for channel descriptors and buffers.This is good for most common usages of Rivet because |
| it's unlikely that applications will tamper with the channel parameters. Anyway if |
| you're deploying mod_rivet in an environment where different applications need to |
| have full control over channels setting the directive you restore previous |
| mod_rivet policy. This option has effect only if <em>SeparateVirtualInterp</em> |
| |
| |
| is set </li> |
| </ul> |
| </div> |
| <div class="sez"> |
| <h4>Rivet 2.2.0 Release Notes</h4> |
| <p>Tcl level new commands </p> |
| <ul> |
| <li>New '::rivet::inspect server' command returns a dictionary with informative fields taken |
| from Apache server_rec object</li> |
| <li>New '::rivet::inspect script' command returns the name of the script being executed</li> |
| </ul> |
| <p>mod_rivet internal changes and build system improvements</p> |
| <ul> |
| <li>Commands gaining access to the request_rec object are now checking this pointer and |
| in case it's NULL they fain with a Tcl error. This is done through the CHECK_REQUEST_REC. |
| Even though this is correct the new behaviour potentially can break existing code in |
| initialization and termination scripts. Thats the main reason for tagging this release as |
| 2.2.0</li> |
| <li>The code was further modularized and single components of the |
| module can be selected by configure. This should enable the development |
| or refactoring of components in mod_rivet without branching the whole code |
| tree. This new code selection is implemented through various macros in |
| configure.ac and various symbols in the Makefiles. See |
| <pre class="programlisting">./configure --help</pre> |
| |
| |
| to have a list of the available switches implemented by those macros |
| </li> |
| </ul> |
| </div> |
| </div> |
| |
| |
| |
| <div class="contentbottom"> |
| |
| </div> |
| </div> |
| |
| <div class="sidebar"> |
| <ul> |
| <li id="news"> |
| <h4>News</h4> |
| <ul class="blocklist"> |
| <li class="navitem"> |
| <a title="Tcl and Rivet as a replacement of PHP for web scripting" class="extern" href="https://www.youtube.com/watch?v=iagBj3xCExQ"> |
| 12 Dec 2013: Introductory video to Apache/Rivet |
| </a> |
| </li> |
| <li class="navitem"> |
| <a href="rn-2-1.html">3 Mar 2014: Rivet 2.1.4 released</a> |
| </li> |
| <li class="navitem"> |
| <a href="rn-2-2.html">20 Jan 2015: Rivet 2.2.1 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_world.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="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> |
| <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 Manual</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 Manual</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> |
| |