blob: b3cf73c196bf697e7a7c3fb4cab3783d1085f786 [file] [log] [blame]
<!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>Apache Rivet Release Notes</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>Apache Rivet Release Notes</h2>
<p>Apache Rivet current stable version is 3.1.0</p>
<dl>
<dt>Rivet 3.1</dt>
<dd>
<ul>
<li>Rivet 3.1.0 is a bug fix release of Rivet 3.0.3. The decision of
releasing a new point release has been suggested by the nature of the fix that,
even though unlikely, in principle might break existing code developed on
wrong assumptions about the behavior of commands
<b>::rivet::var_ps</b>
and <b>::rivet::var_post</b>
</li>
</ul>
</dd>
<dt>Rivet 3.0 release notes</dt>
<dd>
<h4>Rivet 3.0.3</h4>
<ul>
<li>Packages in DIO are not assuming anymore the rivet command set has
been imported into the global namespace</li>
<li>A minor change to ::rivet::xml provides a new form to
generate self closing elements</li>
</ul>
<h4>Rivet 3.0.2</h4>
<ul>
<li>Fixed a bug in the default error handler</li>
<li>Other minor changes only relevant to mod_rivet code and with
no interest at the application level (see the Changelog file to know more)
</li>
</ul>
<h4>Rivet 3.0.1</h4>
<ul>
<li>rivet Namespace determination in librivet has been revised to
avoid to check for the module globals and therefore avoiding
the inclusion of mod_rivet.h
</li>
<li>A few details in the worker bridge have been fixed, including
a thread root interpreter initialization</li>
<li>the lazy bridge has been extensively commented</li>
<li>documentation has been expanded and corrected in various sections</li>
</ul>
</dd>
<dt>Rivet 2.4</dt>
<dd>
<h4>Rivet 2.4.0</h4>
<ul>
<li>Rivet 2.4.0 is a bug fix release of Rivet 2.3.5. The new point
release was done on the same ground of 3.1.0: marking the fact that this version
could potentially (though unlikely) create regressions if commands <b>::rivet::var_post</b>
and <b>::rivet::var_qs</b>
are improperly used
</li>
</ul>
</dd>
<dt>Rivet 2.3</dt>
<dd>
<h4>Rivet 2.3.5</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>
<h4>Rivet 2.3.4</h4>
<p>
<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>
<h4>Rivet 2.3.3</h4>
<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>
<h4>Rivet 2.3.2</h4>
<p>
<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>
<h4>Rivet 2.3.1</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>
<h4>Rivet 2.3.0</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>
</dd>
</dl>
<div class="contentbottom">
</div>
</div>
<div class="sidebar">
<ul>
</ul>
<ul>
<li id="tclstuff">
<h4>Rivet &amp; Tcl</h4>
<ul class="blocklist">
<li class="navitem">
<a title="The Rivet development team" href="about.html">About Us - Contact</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="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="rivetstuff">
<h4>Getting Rivet to Work</h4>
<ul class="blocklist">
<li class="navitem">
<a title="Getting Rivet" href="download.html">Getting Rivet</a>
</li>
<li class="navitem">
<a href="release%2dnotes.html">Release Notes</a>
</li>
<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="documentation">
<h4>Documentation</h4>
<ul class="blocklist">
<li class="navitem">
<a href="hello%5fworld.html">Examples</a>
</li>
<li class="navitem">
<a href="manuals.html">Manuals</a>
</li>
</ul>
</li>
</ul>
<ul>
<li id="acknowledgments">
<h4>Acknowledgments</h4>
<ul class="blocklist">
<li class="navitem">
<a href="http://www.apache.org/foundation/thanks.html">ASF Sponsorship</a>
</li>
</ul>
</li>
</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>