rivet/html/rn-2-0.html (414 lines of code) (raw):

<!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.0: 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.0: Release Notes and Known Problems</h2> <div> <div class="sez"> <h4>Download</h4> <p> Rivet 2.0 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.0 has been tested on Apache 1.3 , 2.2 and 2.4 servers. <strong>Apache 2.2/2.4 servers must be running <tt>prefork</tt> as multiprocess module </strong> though. Rivet is incompatible with the 'worker' and 'event' MPMs. </p> </div> <div class="sez"> <h4>Release Notes for Rivet 2.0.6 <span class="timestamp">(30-Nov-2012)</span> </h4> <h5>Fixed Bugs</h5> <p> Test Suite <ul> <li> User and Group directives removed from the configuration file template to make test suite independent from the command 'id' output from which the values for this parameters were inferred (Bug #53396) </li> </ul> </p> <p> mod_rivet.c <ul> <li>Add UploadDirectory to the list of handled options for RivetUserConf</li> <li>The module returns now a HTTP_INTERNAL_SERVER_ERROR when a <b>::request</b> namespace cannot be created </li> </ul> </p> <p> DIO Package bug fixes <ul> <li> Improved DIO support for Sqlite fixes several bugs. </li> <li> Fixed secs computation made by dio_Mysql when handling timestamp fields. </li> <li> Fixed wrong declaration of 'insert' subcommand in page manual (Bug #53670) </li> <li> Fixed method makeDBFieldValue in class Oracle (Bug #53703) </li> <li> Method 'count' failed when no keyfield was set. </li> <li> Index riv_sess_cache_ix had a incomplete unique key definition that missed the 'package_' column (fixes bug #54063) </li> </ul> </p> </div> <div class="sez"> <h4>Release Notes for Rivet 2.0.5 <span class="timestamp">(26-Jun-2012)</span> </h4> <h5>Fixed Bugs</h5> <ul> <li> DIO: Mysql connection is now checked when connection reference is reused because it could have dropped (contributed by Cyril Shtumf, fixes #53221) </li> <li> Fixed SQL syntax generated in delete method when multiple fields are used in the selection clause (contributed by Cyril Shtumf, fixes bug #53222) </li> </ul> <h5>New Features</h5> <ul> <li> New shorthand expression <pre class="programlisting">&lt;?= ... ?&gt;</pre> is transformed into <pre class="programlisting">&lt;? puts -nonewline "..." ?&gt;</pre> (contributed by Jeff Lawson, addresses #53217) </li> <li> http_accept.tcl: new command parsing of Accept HTTP header lines (contributed by Harald Oehlmann) </li> <li> rivet/packages/entities/entities.tcl: package RivetEntities (contributed by Harald Oehlmann) </li> <li> tclconfig/ltmain.sh: updated from recent autotools installation </li> <li> Support for HttpOnly flag improves security and reduces the risk of cross-site scripting attacks (contributed by Cyril Shtumf, fixes #53224) </li> <li> <b>form</b> class objects create now automatic field ids if left undefined by the programmer </li> </ul> <h5>Manual Pages Expanded</h5> <ul> <li>New pages for package <b>entities</b> and for command <b>http_accept</b> </li> <li>Improved manual entry for 'var list' (Fixes bug #52911)</li> </ul> </div> <div class="sez"> <h4>Release Notes for Rivet 2.0.4 <span class="timestamp">(23-Sep-2011)</span> </h4> <h5>Bugs fixed</h5> <p> An Tcl error in an AbortScript would trigger a message that erroneously printed that an ErrorScript was running. </p> <h5>Manual Pages Expanded</h5> <p> Manual pages have been expanded to include documentation for more commands implemented but not yet documented. Section documenting single commands has been reorganized to list commands in alphabetical order. </p> <h5>New Features</h5> <p> Commands <strong>load_env</strong> and <strong>load_headers</strong> accept an array name as argument. If not fully qualified the array was created in either the <tt>::request</tt> namespace (.rvt templates) or the global namespace (.tcl scripts). Starting with 2.0.4 these commands, when invoked from within a procedure, create the array in the proc's local scope, unless the argument is a fully qualifed name scoping the array in a user defined namespace. </p> <p> Command <strong>makeurl</strong> has been extended to be used in three forms <ul> <li>without argument <pre class="programlisting">makeurl ==&gt; Current script's url</pre> </li> <li>with an absolute path <pre class="programlisting">makeurl /a/b/c ==&gt; http://&lt;host&gt;:&lt;port&gt;/a/b/c</pre> </li> <li>with a relative path <pre class="programlisting">makeurl a/b/c ==&gt; http://&lt;host&gt;:&lt;port&gt;/&lt;current script&gt;/a/b/c</pre> </li> </ul> </p> </div> <div class="sez"> <h4>Release Notes for Rivet 2.0.3 <span class="timestamp">(19-Mar-2011)</span> </h4> <h5>New Features</h5> <p> Rivet 2.0.3 introduces 2 new configuration directives <ul> <li> New configuration directive <strong>AbortScript</strong> : Tcl script to be run if an <b>abort_page</b> is called in a request processing </li> <li> New configuration directive <strong>AfterEveryScript</strong> : An <b>abort_page</b> command stops the page generation and skips also a configured <strong>AfterScript</strong> to run an <strong>AbortScript</strong> . This new configuration script is to be run anyway, as last script of a single request processing, whether an abort condition took place during the page generation or the procedure completed successfully. </li> <li> Enhanced form for <strong>abort_page</strong> : page generation can be interrupted by calling <strong>abort_page</strong> . The new command accepts now an argument whose value can be checked to determine which condition forced to call the page generation off. </li> <li> New command <strong>abort_code</strong> returns the value of the argument passed to <strong>abort_page</strong> . Useful in <b>AbortScript</b> or <b>AfterEveryScript</b> code. </li> </ul> </p> <h5>Problems fixed</h5> <p> Code for command <strong>apache_table</strong> was ported to Rivet for Apache 1.3 </p> </div> <div class="sez"> <h4>Release Notes for Rivet 2.0.2 <span class="timestamp">(25-Oct-2010)</span> </h4> <p> Rivet 2.0.2 is a maintainance release with the main purpose to adjust the build process in a way that makes straightforward the generation of a Debian package. </p> <p> Rivet (named <a href="http://packages.qa.debian.org/liba/libapache2-mod-rivet.html">libapache2-mod-rivet</a> to follow the Debian Apache policy) is now in Debian. The package is sponsored by Sven Hoexter (Debian Developer). </p> </div> <div class="sez"> <h4>Relase Notes for Rivet 2.0.1 <span class="timestamp">(12-Jul-2010)</span> </h4> <h5>Fixed Bugs in Rivet 2.0.1</h5> <ul> <li> Several error messages printed during the installation phase have been fixed. The problems were harmless, but nonetheless annoying. </li> <li> Fixed bug in installation of the rivetparser library. </li> <li> Fixed tables creation for Postgres backend. The SQL script that creates the rivet_session_cache table misnamed 2 columns. <b>Current DIO Postgres backend breaks Session package if the database was created with an old Rivet version</b> . To fix the problem one has to rename the 'key' and 'package' columns as 'key_' and 'package_' <pre class="programlisting">ALTER TABLE rivet_session_cache RENAME COLUMN key to key_ ALTER TABLE rivet_session_cache RENAME COLUMN package to package_</pre> </li> <li> Fixed dio_Postgres.tcl method. A mistyped variable caused at least method 'store' to fail. </li> </ul> <h5>New Features</h5> <ul> <li> <p> A new package <b>Calendar</b> has been added. Calendar provides 3 Itcl classes that print Calendar tables in ASCII, XML and XHTML forms (see examples and related manual page). </p> <p> <em> <b>Calendar</b> requires Tcl8.5 or Tcl8.4 with package 'dict' </em> </p> </li> <li> New page for package 'form' added to the manual </li> </ul> </div> <div class="sez"> <h4>Installation Issues</h4> <p> Rivet is widely configurable to select custom directories where the module and its associated libraries have to reside. </p> <ul> <li> Even though you can install Rivet to run pure Tcl scripts, some associated packages (namely 'Session' and 'DIO') are written in Itcl, an OO extension of the base language.In order to safely run those package, you have to check yourself if the Itcl extension installed on your system is compatible with the Tcl version for which you're building Rivet. </li> </ul> </div> <div class="sez"> <h4>Known Problems</h4> <ul> <li> Rivet is reported to conflict with cgi scripts on some Linux machines. Symptom of the problem is when cgi scripts hang forever and don't send any content to the client </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 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="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="rn"> <h4>Release Notes</h4> <ul class="blocklist"> <li class="navitem"> <a href="rn%2d2%2d0.html">v2.0</a> </li> <li class="navitem"> <a href="rn%2d2%2d1.html">v2.1</a> </li> <li class="navitem"> <a href="rn%2d2%2d2.html">v2.2</a> </li> <li class="navitem"> <a href="rn%2d2%2d3.html">v2.3</a> </li> <li class="navitem"> <a href="rn%2d3%2d0.html">v3.0</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>