| <!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"><input type="file" name="...."/></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 >= 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 & 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> |
| |