You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mod_python-commits@quetz.apache.org by jg...@apache.org on 2006/08/15 14:35:01 UTC

svn commit: r431590 - /httpd/mod_python/trunk/Doc/appendixc.tex

Author: jgallacher
Date: Tue Aug 15 05:35:01 2006
New Revision: 431590

URL: http://svn.apache.org/viewvc?rev=431590&view=rev
Log:
Reorganized the "Changes from ..." sections in appendexc.tex.

Modified:
    httpd/mod_python/trunk/Doc/appendixc.tex

Modified: httpd/mod_python/trunk/Doc/appendixc.tex
URL: http://svn.apache.org/viewvc/httpd/mod_python/trunk/Doc/appendixc.tex?rev=431590&r1=431589&r2=431590&view=diff
==============================================================================
--- httpd/mod_python/trunk/Doc/appendixc.tex (original)
+++ httpd/mod_python/trunk/Doc/appendixc.tex Tue Aug 15 05:35:01 2006
@@ -1,89 +1,68 @@
-\chapter{Changes from Version (3.2.8)\label{app-changes-from-3.2.8}}
+\chapter{Changes from Version (3.2.x)\label{app-changes-from-3.2.x}}
+% Comments on changes committed to svn trunk should go in this section first.
+% As they are backported move them to the appropriate chapter below.
+
+% Let's introduce a little organization here by listing the changes
+% by JIRA issue. This will make it a little easier to reorganize this 
+% file when an issue is backported.
+
+\indexii{Changes from}{version 3.2.x}
 
-\indexii{Changes from}{version 3.2.8}
-  
   New Features
 
   \begin{itemize}
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-94]{MODPYTHON-94})
-      New \code{req.is_https()} and \code{req.ssl_var_lookup()} methods.
-      These communicate direct with the Apache mod_ssl module, allowing
-      it to be determined if the connection is using SSL/TLS and what the
-      values of internal ssl variables are.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-124]{MODPYTHON-124})
-      New \code{req.auth_name()} and \code{req.auth_type()} methods.
-      These return the values associated with the AuthName and AuthType
-      directives respectively. The \code{req.ap_auth_type} has now also
-      been made writable so that it can be set by an authentication
-      handler.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-132]{MODPYTHON-132})
-      New \code{req.construct_url()} method. Used to construct a fully
-      qualified URI string incorporating correct scheme, server and port.
-    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-103]{MODPYTHON-103})
       New \code{req.add_output_filter()}, \code{req.add_input_filter()},
       \code{req.register_output_fiter()}, \code{req.register_input_filter()}
       methods. These allows the dynamic registration of filters and the
       attaching of filters to the current request.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-135]{MODPYTHON-135})
-      Fixed possible directory traversal attack in FileSession.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-137]{MODPYTHON-137})
-      New \code{req.server.get_options()} method. This returns the subset
-      of Python options set at global scope within the Apache configuration.
-      That is, outside of the context of any VirtualHost, Location, Directory
-      or Files directives.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-78]{MODPYTHON-78})
-      Added support for Apache 2.2
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-131]{MODPYTHON-131})
-      The directory used for mutex locks can now be specified at 
-      at compile time using \code{./configure --with-mutex-dir value}
-      or at run time with \code{PythonOption mod_python.mutex_directory value}.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-145]{MODPYTHON-145})
-      The number of mutex locks can now be specified at run time with
-      \code{PythonOption mod_python.mutex_locks value}.
-    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-104]{MODPYTHON-104})
       Support added for using Python in content being passed through "INCLUDES"
       output filter, or as more commonly referred to server side include (SSI)
       mechanism.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-144]{MODPYTHON-144})
-      The \samp{apache.interpreter} and \samp{apache.main_server} attributes
-      have been made publically available. These were previously private and
-      not part of the public API.
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-108]{MODPYTHON-108})
+      Added support to cookies for \code{httponly} attribute, an extension
+      originally created by Microsoft, but now getting more widespread use
+      in the battle against cross site-scripting attacks.
     \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-118]{MODPYTHON-118})
       Now possible using the \code{PythonImport} directive to specify the name
       of a function contained in the module to be called once the designated
       module has been imported.
     \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-124]{MODPYTHON-124})
+      New \code{req.auth_name()} and \code{req.auth_type()} methods.
+      These return the values associated with the AuthName and AuthType
+      directives respectively. The \code{req.ap_auth_type} has now also
+      been made writable so that it can be set by an authentication
+      handler.
+    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-130]{MODPYTHON-130})
       Added \code{req.set_etag()}, \code{req.set_last_modified()} and
       \code{req.update_mtime()} functions as wrappers for similar functions
       provided by Apache C API.
     \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-132]{MODPYTHON-132})
+      New \code{req.construct_url()} method. Used to construct a fully
+      qualified URI string incorporating correct scheme, server and port.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-144]{MODPYTHON-144})
+      The \samp{apache.interpreter} and \samp{apache.main_server} attributes
+      have been made publically available. These were previously private and
+      not part of the public API.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-149]{MODPYTHON-149})
+      Added support for session objects that span domains.
+    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-153]{MODPYTHON-153})
       Added \code{req.discard_request_body()} function as wrapper for
       similar function provided by Apache C API. The function tests for
       and reads any message body in the request, simply discarding
       whatever it receives.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-149]{MODPYTHON-149})
-      Added support for session objects that span domains.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-108]{MODPYTHON-108})
-      Added support to cookies for \code{httponly} attribute, an extension
-      originally created by Microsoft, but now getting more widespread use
-      in the battle against cross site-scripting attacks.
-    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-164]{MODPYTHON-164})
       The \code{req.add_handler()}, \code{req.register_input_filter()} and
       \code{req.register_output_filter()} methods can now take a direct
@@ -92,65 +71,14 @@
   \end{itemize}
 
   Improvements
-
+  
   \begin{itemize}
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-77]{MODPYTHON-77})
-      Third party C modules that use the simplified API for the Global
-      Interpreter Lock (GIL), as described in PEP 311, can now be used. The
-      only requirement is that such modules can only be used in the context
-      of the \samp{main_interpreter}.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-125]{MODPYTHON-125})
-      The \code{req.handler} attribute is now writable. This allows a handler
-      executing in a phase prior to the response phase to specify which
-      Apache module will be responsible for generating the content.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-141]{MODPYTHON-141})
-      The \code{req.proxyreq} and \code{req.uri} attributes are now writable.
-      This allows a handler to setup these values and trigger proxying of the
-      current request to a remote server.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-119]{MODPYTHON-119})
-      DbmSession unit test no longer uses the default directory for the dbm file,
-      so the test will not interfer with the user's current apache instance.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-142]{MODPYTHON-142})
-      The \code{req.no_cache} and \code{req.no_local_copy} attributes are
-      now writable.
-    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-27]{MODPYTHON-27})
       When using mod_python.publisher, the \code{__auth__()} and
       \code{__access__()} functions and the \code{__auth_realm__} string
       can now be nested within a class method as a well a normal function.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-107]{MODPYTHON-107})
-      Neither mod_python.publisher nor mod_python.psp explicitly flush
-      output after writing the content of the response back to the request
-      object. By not flushing output it is now possible to use the
-      "CONTENT_LENGTH" output filter to add a "Content-Length" header.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-128]{MODPYTHON-128})
-      Added the \code{filetype} attribute of the Apache \code{finfo}
-      structure to the tuple returned when accessing \code{req.finfo}.
-      This value is accessed using \code{req.finfo[apache.FINFO_FILETYPE]}.
-      New constants \code{apache.APR_NOFILE}, \code{apache.APR_REG},
-      \code{apache.APR_DIR} etc, have been added for comparing with the
-      \code{filetype} value. The \code{req.canonical_filename} attribute
-      was also made writable.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-93]{MODPYTHON-93})
-      Improved util.FieldStorage efficiency.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-111]{MODPYTHON-111})
-      Note made in session documentation that a save is required to avoid
-      session timeouts.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-158]{MODPYTHON-158})
-      Added additional debugging and logging output for where mod_python
-      cannot initialise itself properly due to Python or mod_python version
-      mismatches or missing Python module code files.
-    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-90]{MODPYTHON-90})
       The \code{PythonEnablePdb} configuration option will now be ignored
       if Apache hasn't been started up in single process mode.
@@ -162,20 +90,37 @@
       than \code{None} being returned with a subsequent error complaining
       about the handler returning an invalid value.
     \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-93]{MODPYTHON-93})
+      Improved util.FieldStorage efficiency.
+    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-101]{MODPYTHON-101})
       Force an exception when handler evaluates to something other than
       \code{None} but is otherwise not callable. Previously an exception
       would not be generated if the handler evaluated to \code{False}.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-152]{MODPYTHON-152})
-      When in a sub request, when a request is the result of an internal
-      redirect, or when when returning from such a request, the
-      \code{req.main}, \code{req.prev} and \code{req.next} members now
-      correctly return a reference to the original Python request object
-      wrapper first created for the specific \code{request_rec} instance
-      rather than creating a new distinct Python request object. This means
-      that any data added explicitly to a request object can be passed
-      between such requests.
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-107]{MODPYTHON-107})
+      Neither mod_python.publisher nor mod_python.psp explicitly flush
+      output after writing the content of the response back to the request
+      object. By not flushing output it is now possible to use the
+      "CONTENT_LENGTH" output filter to add a "Content-Length" header.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-111]{MODPYTHON-111})
+      Note made in session documentation that a save is required to avoid
+      session timeouts.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-125]{MODPYTHON-125})
+      The \code{req.handler} attribute is now writable. This allows a handler
+      executing in a phase prior to the response phase to specify which
+      Apache module will be responsible for generating the content.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-128]{MODPYTHON-128})
+      Added the \code{filetype} attribute of the Apache \code{finfo}
+      structure to the tuple returned when accessing \code{req.finfo}.
+      This value is accessed using \code{req.finfo[apache.FINFO_FILETYPE]}.
+      New constants \code{apache.APR_NOFILE}, \code{apache.APR_REG},
+      \code{apache.APR_DIR} etc, have been added for comparing with the
+      \code{filetype} value. The \code{req.canonical_filename} attribute
+      was also made writable.
     \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-129]{MODPYTHON-129})
       When specifying multiple handlers for phases other than the content
@@ -197,6 +142,30 @@
       will continue to be executed if \code{apache.OK} is returned as well
       as when \code{apache.DECLINED} is returned.
     \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-141]{MODPYTHON-141})
+      The \code{req.proxyreq} and \code{req.uri} attributes are now writable.
+      This allows a handler to setup these values and trigger proxying of the
+      current request to a remote server.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-142]{MODPYTHON-142})
+      The \code{req.no_cache} and \code{req.no_local_copy} attributes are
+      now writable.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-152]{MODPYTHON-152})
+      When in a sub request, when a request is the result of an internal
+      redirect, or when when returning from such a request, the
+      \code{req.main}, \code{req.prev} and \code{req.next} members now
+      correctly return a reference to the original Python request object
+      wrapper first created for the specific \code{request_rec} instance
+      rather than creating a new distinct Python request object. This means
+      that any data added explicitly to a request object can be passed
+      between such requests.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-171]{MODPYTHON-171})
+      When a pathname is assigned to \code{req.filename}, the pathname will be
+      normalised with the result being a POSIX style pathname as required by
+      Apache.
+    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-178]{MODPYTHON-178})
       When using mod_python.psp, if the PSP file which is the target of the
       request doesn't actually exist, an \code{apache.HTTP_NOT_FOUND} server
@@ -206,52 +175,53 @@
       directory and no \code{DirectoryIndex} directive is specified which
       lists a valid PSP index file, then the same \code{apache.HTTP_NOT_FOUND}
       server error is returned to the client.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-171]{MODPYTHON-171})
-      When a pathname is assigned to \code{req.filename}, the pathname will be
-      normalised with the result being a POSIX style pathname as required by
-      Apache.
   \end{itemize}
 
   Bug Fixes
 
   \begin{itemize}
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-112]{MODPYTHON-112})
-      The \code{req.phase} attribute is no longer overwritten by an input
-      or output filter. The \code{filter.is_input} member should be used
-      to determine if a filter is an input or output filter.
+  \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-38]{MODPYTHON-38})
+      Fixed issue when using PSP pages in conjunction with publisher handler
+      or where a PSP error page was being triggered, that form parameters
+      coming from content of a POST request weren't available or only available
+      using a workaround. Specifically, the PSP page will now use any
+      \code{FieldStorage} object instance cached as \code{req.form} left
+      there by preceding code.
     \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-43]{MODPYTHON-43})
       Nested \code{__auth__()} functions in mod_python.publisher now execute
       in context of globals from the file the function is in and not that
       of mod_python.publisher itself.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-133]{MODPYTHON-133})
-      The table object returned by \code{req.server.get_config()} was not
-      being populated correctly to be the state of directives set at global
-      scope for the server.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-134]{MODPYTHON-134})
-      Setting \code{PythonDebug} to \code{Off}, wasn't overriding \code{On}
-      setting in parent scope.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-140]{MODPYTHON-140})
-      The \code{util.redirect()} function should be returning server status of
-      \code{apache.DONE} and not \code{apache.OK} otherwise it will not give
-      desired result if used in non content handler phase or where there are
-      stacked content handlers.
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-47]{MODPYTHON-47})
+      Fixed mod_python.publisher so it will not return a HTTP Bad Request
+      response when mod_auth is being used to provide Digest authentication.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-122]{MODPYTHON-122})
-      Fixed configure problem when using bash 3.1.x.
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-63]{MODPYTHON-63})
+      When handler directives are used within \code{Directory} or
+      \code{DirectoryMatch} directives where wildcards or regular
+      expressions are used, the handler directory will be set to the
+      shortest directory matched by the directory pattern. Handler
+      directives can now also be used within \code{Files} and
+      \code{FilesMatch} directives and the handler directory will correctly
+      resolve to the directory corresponding to the enclosing
+      \code{Directory} or \code{DirectoryMatch} directive, or the directory
+      the \code{.htaccess} file is contained in.
     \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-76]{MODPYTHON-76})
       The \code{FilterDispatch} callback should not flush the filter if it
       has already been closed.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-47]{MODPYTHON-47})
-      Fixed mod_python.publisher so it will not return a HTTP Bad Request
-      response when mod_auth is being used to provide Digest authentication.
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-84]{MODPYTHON-84})
+      The original change to fix the symlink issue for \code{req.sendfile()}
+      was causing problems on Win32, plus code needed to be changed to work
+      with APR 1.2.7.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-100]{MODPYTHON-100})
+      When using stacked handlers and a \code{SERVER_RETURN} exception was
+      used to return an \code{OK} status for that handler, any following
+      handlers weren't being run if appropriate for the phase.
     \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-109]{MODPYTHON-109})
       The \code{Py_Finalize()} function was being called on child process
@@ -259,6 +229,11 @@
       signal handler, which is generally unsafe and would cause the process
       to lock up. This function is no longer called on child process shutdown.
     \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-112]{MODPYTHON-112})
+      The \code{req.phase} attribute is no longer overwritten by an input
+      or output filter. The \code{filter.is_input} member should be used
+      to determine if a filter is an input or output filter.
+    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-113]{MODPYTHON-113})
       The \code{PythonImport} directive now uses the
       \code{apache.import_module()} function to import modules to avoid
@@ -269,6 +244,34 @@
       \code{PythonPath} directive is being used as well as problems with
       infinite extension of path.
     \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-120]{MODPYTHON-120})
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-121]{MODPYTHON-121})
+      Fixes to test suite so it will work on virtual hosting environments
+      where \code{localhost} doesn't resolve to \code{127.0.0.1} but the
+      actual IP address of the host.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-126]{MODPYTHON-126})
+      When \code{Python*Handler} or \code{Python*Filter} directive is used
+      inside of a \code{Files} directive container, the handler/filter
+      directory value will now correctly resolve to the directory corresponding
+      to any parent \code{Directory} directive or the location of the
+      \code{.htaccess} file the \code{Files} directive is contained in.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-133]{MODPYTHON-133})
+      The table object returned by \code{req.server.get_config()} was not
+      being populated correctly to be the state of directives set at global
+      scope for the server.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-134]{MODPYTHON-134})
+      Setting \code{PythonDebug} to \code{Off}, wasn't overriding \code{On}
+      setting in parent scope.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-140]{MODPYTHON-140})
+      The \code{util.redirect()} function should be returning server status of
+      \code{apache.DONE} and not \code{apache.OK} otherwise it will not give
+      desired result if used in non content handler phase or where there are
+      stacked content handlers.
+    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-147]{MODPYTHON-147})
       Stopped directories being added to \code{sys.path} multiple times when
       \code{PythonImport} and \code{PythonPath} directive used.
@@ -289,12 +292,6 @@
       occurred wasn't escaping special HTML characters in the traceback or
       the details of the exception.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-120]{MODPYTHON-120})
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-121]{MODPYTHON-121})
-      Fixes to test suite so it will work on virtual hosting environments
-      where \code{localhost} doesn't resolve to \code{127.0.0.1} but the
-      actual IP address of the host.
-    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-157]{MODPYTHON-157})
       Wrong interpreter name used for fixup handler phase and earlier, when
       \code{PythonInterpPerDirectory} was enabled and request was against
@@ -304,13 +301,15 @@
       Using \code{PythonInterpPerDirective} when setting content handler to
       run dynamically with \code{req.add_handler()} would cause Apache to
       crash.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-126]{MODPYTHON-126})
-      When \code{Python*Handler} or \code{Python*Filter} directive is used
-      inside of a \code{Files} directive container, the handler/filter
-      directory value will now correctly resolve to the directory corresponding
-      to any parent \code{Directory} directive or the location of the
-      \code{.htaccess} file the \code{Files} directive is contained in.
+     \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-161]{MODPYTHON-161})
+      Directory argument supplied to \code{req.add_handler()} is
+      canonicalized and a trailing slash added automatically. This is
+      needed to ensure that the directory is always in POSIX path style as
+      used by Apache and that convention where directories associated with
+      directives always have trailing slash is adhered to. If this is not
+      done, a different interpreter can be chosen to that expected when the
+      \code{PythonInterpPerDirective} is used.
     \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-166]{MODPYTHON-166})
       \code{PythonHandlerModule} was not setting up registration of the
@@ -330,31 +329,6 @@
       Fixed psp_parser error when CR is used as a line terminator in psp code.
       This may occur with some older editors such as GoLive on Mac OS X.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-100]{MODPYTHON-100})
-      When using stacked handlers and a \code{SERVER_RETURN} exception was
-      used to return an \code{OK} status for that handler, any following
-      handlers weren't being run if appropriate for the phase.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-161]{MODPYTHON-161})
-      Directory argument supplied to \code{req.add_handler()} is
-      canonicalized and a trailing slash added automatically. This is
-      needed to ensure that the directory is always in POSIX path style as
-      used by Apache and that convention where directories associated with
-      directives always have trailing slash is adhered to. If this is not
-      done, a different interpreter can be chosen to that expected when the
-      \code{PythonInterpPerDirective} is used.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-173]{MODPYTHON-173})
-      Fixed DbmSession to create db file with mode 0640.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-172]{MODPYTHON-172})
-      Fixed three memory leaks that were found in _apachemodule.parse_qsl, req.readlines
-      and util.cfgtree_walk.
-    \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-179]{MODPYTHON-179})
-      Fixed the behaviour of req.readlines() when a size hint was provided. Previously,
-      it would always return a single line when a size hint was provided.
-    \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-175]{MODPYTHON-175})
       Fixed problem whereby a main PSP page and an error page triggered from
       that page both accessing the session object would cause a deadlock.
@@ -365,35 +339,122 @@
       PSP code will now only unlock session if it created it in the first
       place.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-38]{MODPYTHON-38})
-      Fixed issue when using PSP pages in conjunction with publisher handler
-      or where a PSP error page was being triggered, that form parameters
-      coming from content of a POST request weren't available or only available
-      using a workaround. Specifically, the PSP page will now use any
-      \code{FieldStorage} object instance cached as \code{req.form} left
-      there by preceding code.
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-179]{MODPYTHON-179})
+      Fixed the behaviour of req.readlines() when a size hint was provided. Previously,
+      it would always return a single line when a size hint was provided.
     \item
       (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-181]{MODPYTHON-181})
       Fixed memory leak when mod_python handlers are defined for more than
       one phase at the same time.
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-84]{MODPYTHON-84})
-      The original change to fix the symlink issue for \code{req.sendfile()}
-      was causing problems on Win32, plus code needed to be changed to work
-      with APR 1.2.7.
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-182]{MODPYTHON-182})
+      Fixed memory leak in req.readline().
+  \end{itemize}
+
+
+\chapter{Changes from Version (3.2.10)\label{app-changes-from-3.2.10}}
+% PUT BACKPORTS from trunk to to branches/3.2.x in here ***ONLY***
+% This section is reserved for the next 3.2.x release
+% (eg 3.2.11) DO NOT put anything in this section unless it has been
+% backported from trunk to branches/3.2.x
+% If we don't do another release this section will disappear, and
+% app-changes-from-3.2.x will be renamed app-changes-from-2.3.10
+
+\indexii{Changes from}{version 3.2.10}
+
+  New Features
+
+  \begin{itemize}
     \item
-      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-63]{MODPYTHON-63})
-      When handler directives are used within \code{Directory} or
-      \code{DirectoryMatch} directives where wildcards or regular
-      expressions are used, the handler directory will be set to the
-      shortest directory matched by the directory pattern. Handler
-      directives can now also be used within \code{Files} and
-      \code{FilesMatch} directives and the handler directory will correctly
-      resolve to the directory corresponding to the enclosing
-      \code{Directory} or \code{DirectoryMatch} directive, or the directory
-      the \code{.htaccess} file is contained in.
+      NONE
+  \end{itemize}
+
+  Improvements
+
+  \begin{itemize}
+    \item
+      NONE
+  \end{itemize}
+
+  Bug Fixes
+
+  \begin{itemize}
+    \item
+      NONE
+  \end{itemize}
+
+\chapter{Changes from Version (3.2.8)\label{app-changes}}
+% mod_python version 3.2.10
+
+\indexii{Changes from}{version 3.2.8}
+
+  New Features
+
+  \begin{itemize}
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-78]{MODPYTHON-78})
+      Added support for Apache 2.2.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-94]{MODPYTHON-94})
+      New \code{req.is_https()} and \code{req.ssl_var_lookup()} methods.
+      These communicate direct with the Apache mod_ssl module, allowing
+      it to be determined if the connection is using SSL/TLS and what the
+      values of internal ssl variables are.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-131]{MODPYTHON-131})
+      The directory used for mutex locks can now be specified at 
+      at compile time using \code{./configure --with-mutex-dir value}
+      or at run time with \code{PythonOption mod_python.mutex_directory value}.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-137]{MODPYTHON-137})
+      New \code{req.server.get_options()} method. This returns the subset
+      of Python options set at global scope within the Apache configuration.
+      That is, outside of the context of any VirtualHost, Location, Directory
+      or Files directives.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-145]{MODPYTHON-145})
+      The number of mutex locks can now be specified at run time with
+      \code{PythonOption mod_python.mutex_locks value}.
+    \item
+     (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-172]{MODPYTHON-172})
+      Fixed three memory leaks that were found in _apachemodule.parse_qsl, req.readlines
+      and util.cfgtree_walk.
+  \end{itemize}
+
+  Improvements
+
+  \begin{itemize}
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-77]{MODPYTHON-77})
+      Third party C modules that use the simplified API for the Global
+      Interpreter Lock (GIL), as described in PEP 311, can now be used. The
+      only requirement is that such modules can only be used in the context
+      of the \samp{main_interpreter}.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-119]{MODPYTHON-119})
+      DbmSession unit test no longer uses the default directory for the dbm file,
+      so the test will not interfer with the user's current apache instance.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-158]{MODPYTHON-158})
+      Added additional debugging and logging output for where mod_python
+      cannot initialise itself properly due to Python or mod_python version
+      mismatches or missing Python module code files.
   \end{itemize}
 
+  Bug Fixes
+
+  \begin{itemize}
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-84]{MODPYTHON-84})
+      Fixed request.sendfile() bug for symlinked files on Win32.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-122]{MODPYTHON-122})
+      Fixed configure problem when using bash 3.1.x.
+    \item
+      (\citetitle[http://issues.apache.org/jira/browse/MODPYTHON-173]{MODPYTHON-173})
+      Fixed DbmSession to create db file with mode 0640.
+  \end{itemize}
+ 
 \chapter{Changes from Version (3.2.7)\label{app-changes-from-3.2.7}}
 
 \indexii{Changes from}{version 3.2.7}