Rivet 2.2: Release Notes and Known Problems
Download
Rivet 2.2 is available for download from ASF mirror sites. Check the download page 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).
Code integrity for this release can be checked using the public keys in the KEYS file.
Rivet 2.2 works with the Apache Webserver version 2.x (running the prefork MPM) and requires Tcl >= 8.5.11. Tcl >= 8.6.1 is recommended
Rivet 2.2.4 Release Notes
This release is meant to address bug #58008 that caused random segmentation faults when a child processes was shutting down. Also minor improvements were done to the core module and to resolve a few problems with the HTML manual DocBook output
Rivet 2.2.3 Release Notes
In this release further elaboration of bug #57501 lead to an improved error and abort_page handling and to consistent closing of said problem.
Rivet 2.2.2 Release Notes
We recommend to upgrade to this version of Rivet as it delivers two important bug fixes
Rivet 2.2.1 Release Notes
New Tcl commands
- New command
::rivet::redirect URL ?permanent?
was introduced. The command achieves the same function of ::rivet::headers redirect <URL> but it extends its functionalities by triggering the execution of the AbortScript when defined. The command builds a dictionary carrying 2 keys with the reason for the abort (error_code) and the URL the browser is diverted to. This dictionary can be fetched with command ::rivet::abort_code - New command ::rivet::header sent returns 1 if HTTP have been sent already because either the output buffer was filled or command flush stdout was executed
- New command ::rivet::headers get returns the value of an HTTP output header
mod_rivet internal changes and build system improvements
- 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 Poor Yorick )
- New directive SeparateChannels 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 SeparateVirtualInterp 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 SeparateVirtualInterp is set
Rivet 2.2.0 Release Notes
Tcl level new commands
- New '::rivet::inspect server' command returns a dictionary with informative fields taken from Apache server_rec object
- New '::rivet::inspect script' command returns the name of the script being executed
mod_rivet internal changes and build system improvements
- 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
- 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
./configure --help
to have a list of the available switches implemented by those macros