Jan  23 2026 -  3.5.0.7 32-bit compile fix

Dec  30 2025 -  3.5.0.6 Fix publisher query string bug

Nov   8 2025 -  3.5.0.5 Compatibility with Python 3.13 and 3.14.

Sep   5 2024 -  3.5.0.4 fix sys.version bug and quiet compiler warnings.

May   7 2024 -  3.5.0.3 release tagged, it addresses test failures and
                restores 2.7 compatibility.

Feb  25 2024 -  3.5.0.2 released. Address the deprecation of the imp module in
        Python 3.12.

Aug  18 2023 -  3.5.0.1 released. It addresses compatibility issues with
                Python 3.11.

Nov  13 2013 -  3.5.0 released

Oct  22 2013 -  3.4.1 released

Jan  29 2007 -  3.3.1 is being tagged

Dec   9 2006 -  3.3.0b is being tagged

Aug   7 2006 -  3.2.10 released

July 19 2006 -  3.2.10 is being tagged from branches/3.2.x

July 19 2006 -  The public release of 3.2.9 is being abandoned due to some
                recently reported memory leaks. Although 3.2.9 is ready for
        release, it is felt that it is prudent to address these now
        and proceed immediately to 3.2.10. See MODPYTHON-172 for
        on the specific details on the issues.

June 29 2006 -  3.2.9 is being tagged from branches/3.2.x

Feb  19 2006 -  3.2.8 is being tagged from branches/3.2.x
                3.2.8 is a security release to fix the possible
        directory traversal attack in FileSession.

Feb   9 2006 -  Created 3.2.x stable bugfix branch in svn as
                branches/3.2.x

Feb  3 2006 -   3.2.7 is being tagged

Jan 16 2006 -   3.2.6 final is being tagged (no changes from 3.2.6b)

Jan 14 2006 -   3.2.6b is being tagged

Nov 15 2005 -   3.2.5b is being tagged

Oct 28 2005 -   3.2.4b is being tagged

Oct 22 2005 -   3.2.3b is being tagged

Sep 13 2005 -   3.2.2b is being tagged

Sep  6 2005 -   3.2.1b is being tagged

Aug 16 2005 -   3.2.0b is being tagged

Feb 17 2004 -   3.1.3 is being tagged

Oct 14 2003 -   3.1.1b is tagged

Aug 29 2003 -   3.1.0a (Alpha) is out

Mar 17 2003 -   3.0.3 is released

        This file will no longer have details, since those
        are in CVS anyway.

Feb 12 2003 -   Added a test for req.headers_out

                Fixed a bug where None was added to sys.path

                Tests for connection and server added

Jan 18 2003 -   Between now and the last entry the following things took
                place:

                Problem with loading DSO on Solaris relating to _muldi3
                fixed.

                A problem fixed related to | .ext syntax.

                An environ issue addressed.

                Filtering by type should now work correctly.

                Publisher's code for dealing with file uploads simplified.

                A windows installer added.

                Install adopted to use distutils.

                A cgihandler problem resulting in double output fixed.

                PyOS_AfterFork() added where needed.

                The binary produced by MSVC no longer needs any MS dll's.

                Filter flush() now cleans memory so large files can be
                processed.

Nov 26 2002 -   3.0.1 is about to be released. This was file has not been
                updated during the 3.0 development because of too many
                things changing.

Nov 28 2001 -   Now compiles against Apache 2.0.28

Nov  6 2001 -   More internal changes. Bugs from previous change, cleaner
        reference keeping.

Nov  1 2001 -   Many internal changes. We no longer use req->notes for things
        that shouldn't be there, handler directives can be restricted
        to specific file extensions thereby allowing multiple handlers
        per directory, etc. The config is now stored in a new hlist
        object, which can be accessed from python via an hlistobject.

Aug 16 2001 -   Mod_python is compiling and running with Apache 2.0 and the
        filter functionality seems to work. There is still a lot of
        work to be done though.

Aug  4 2001 -   2.7.6 released. Sometime prior a publisher upload bug was
                fixed.

Jun 11 2001 -   2.7.5 released for those who want Python 2.1

Jun 11 2001 -   Changed configure.in to accomodate Python 2.1. It looks like
        everything else works without any changes.

Jun  4 2001 -   2.7.4 released.

May 28 2001 -   Renamed make_table, log_error, table_add and copy_table with
        mp_ so as to not get confused with the ones in ap_compat.h

May 24 2001 -   PythonNoReload obsoleted in favor of PythonAutoReload.

May 23 2001 -   The "fix" re import on Apr 10 turned out to be a bug and
        I put it back. But in the process found that the FLAG directives
        were not read correctly - e.g. mere presence sometimes indicated
        On. Also, ReportError was returning DONE in finally clause which
        was wrong.

May 22 2001 -   The bug that was supposedly fixed below was a bit more
        complicated than it seemed at first. The fix below caused
        a circular reference, and some further fixing had to be done,
        and now it's really fixed, thanks to Chris's dilligence.

May 17 2001 -   Fixed a threading bug reported by Chris Trengove where
        the callback object could have the reference to self.req
        overwritten by other threads. The reference to the Request
        object is now stored inside the requestobject C structure.

May 12 2001 -   2.7.3 released

Apr 10 2001 -   Fixed a PythonImport bug reported by Chris Hagner. Removed
        the atol hack as per Miguel Marques patch. Fixed apache.py
        to use a messier looking but for some obscure reason that
        now escapes me necessary way of importing modules via imp.

Apr  7 2001 -   "Dissapearing args" on Solaris fixed. It was a problem
        in parse_qsl.

Apr  6 2001 -   Missing _eprintf() on Solaris/gcc workaround added. I
        wonder if this applies to other OS's?

Apr  5 2001 -   A couple doc fixes.

Feb 10 2001 -   2.7.2 released

Feb 10 2001 -   Fixed the dissapearing / in PATH_INFO.

Jan 23 2001 -   Fixed the bug where req.server.register_cleanup was
        expecting a builtin _req object rather than the new real
        Python Request.

Jan 21 2001 -   The Publisher handler __auth__ can now be a dictionary or.
        a const. There is also new __access__, which can be a list.

Jan 19 2001 -   Added req._content_type_set flag which is set to 1 when
        a value is assigned to content_type from Python. This way
        the publisher handler can know if it's been purposely set
        and will not attempt to guess it.

Jan 18 2001 -   Documented req.form. Fixed a security problem with the
        Publisher handler - it now does not allow modules to be
        published, so a user can't access test.os.renames, etc.

Dec 18 2000 -   2.7 had a typo in it + win32 wants types initialized
        separately like I thought. Time for 2.7.1.

Dec 16 2000 -   Releasing 2.7....

Dec 16 2000 -   Found another bug related to ALLOW_THREADS macros which are
        noops without threads, but that is actually wrong, because
        what they is needed wvwn without threads. Also, some days
        ago 2.6.4 was released.

Dec 13 2000 -   The initial documentation for the util module and for the
        publisher handler is done. Perhaps the tutorial should have
        a bit on the publisher handler.

Dec 12 2000 -   publisher handler appears to be working pretty well. Now need
        to document it.

Dec 11 2000 -   It appears I found a big booboo with mispalced #ifdef
        WITH_THREADS... The "Dispatch returned nothing" should be
        gone now. This means 2.6.3 has major problems with multiple
        interpreters.

Dec  8 2000 -   connection.user now writable. More Doc improvements.

Dec  6 2000 -   The COPYRIGHT no longer has the advertizing clause.

Dec  4 2000 -   Initial (not proof-read) LaTeX source for documentation is
        checked in.

Nov 26 2000 -   Dilligently migrating all the documentation to LaTeX using the
        Python standards.

Nov 17 2000 -   I forgot to uncomment type initialization. type(req.headers_in)
        would segfault. Fixed. Continuing work on publisher.py module.

Nov 08 2000 -   read() and reqadline() now behave very much like the standard
        Python file object counterparts. Added James Gessling's VMS
        instructions.

Nov 07 2000 -   Initial version of req.readline(), also some fixes to
        req.read() (both now raise appropriate errors). Both still need
        some work.

Nov 04 2000 -   Implemented _apache.parse_qs. Also, CGIStin had a read() bug.
        PythonHandlerModule is documented.

Oct 30 2000 -   Implemented PythonHandlerModule. Still need to document it.

Oct 29 2000 -   2.6.3 release. Mostly static install bug fixes.

Oct 22 2000 -   2.6.2 release

Oct 22 2000 -   "Fatal Python error: PyThreadState_Get: no current thread" upon
        exit is now fixed. Also, --with-python was improved to point
        to the right Makefile (Modules/Makefile) when scanning for LIBS.

Oct 21 2000 -   2.6.1 release

Oct 20 2000 -   Fixed some minor installation bugs.

Oct 19 2000 -   2.6 out

Oct 16 2000 -   Began a major file reorganization. All objects are now in
        separate files, and all external functions have an Mp prefix
        and named consistently with Python C API conventions.

Oct 15 2000 -   We now use mkdep.

Oct 12 2000 -   Autoconf now works. Documentation has been adjusted. Also
        added Windows installation instructions to the docs.

Oct  2 2000 -   PythonInterpPerServer is now default behavior, and this
        directive is therefore obsolete. The old default behavior can
        be achieved via the new PythonInterpPerDirective directive.

Sep  ? 2000 -   Request is now a real python object. This means that it can be
        used to retain state between requests.

Sep  9 2000 -   Added server.register_cleanup(). This happened to be a little
        trickier than I thought since it turned out that server_rec does
        not have a pool member. Py_Finalze() has been moved to a
        cleanup from the ChildExit handler because ChildExit runs *before*
        any cleanups. (Now I know why mod_perl doesn't use child_exit.)

Sep  8 2000 -   Sean True's fix to call note_basic_auth_failure added.

Sep  6 2000 -   Stéphane Bidoul's Win32 fixes applied.

Sep  5 2000 -   2.5 released.

Sep  4 2000 -   Added the PythonCleanupHandler.

Sep  4 2000 -   Added req.register_cleanup(). Still need server.register_cleanup(),
        as well as a PythonCleanupHandler.

Sep  2 2000 -   Added PythonInterpPerServer directive. Fixed a bug relating
        to ap_add_version_component.

Aug 28 2000 -   Added Richard Barret's patch that gives python socket module
        behaviour from req.connection.local_addr and remote_addr.

Aug 27 2000 -   Added PythonInitHandler. Also, it looks like dynamic handler
        addition now works correctly, after trying 15 different ways of
        implementing it, resorting to req->notes seems to be the only
        option.

Aug 18 2000 -   Added req.get_remote_host()

Aug 16 2000 -   Added Dr. Timochouk's PythonOptimize directive patch.

Aug 15 2000 -   Extensive improvements to req.read() prompted by Dr. Timochouk's
        patches.

Aug 10 2000 -   Documentation change - get_basic_auth_pw must be called before
        using connection.user.

Aug 06 2000 -   Table oject now has a new method "add" which allows creation
        of multiple keys. This is useful with things like "Set-Cookie"
        headers.

Jul 22 2000 -   Added req.add_handler (dynamic handler registration)

Jul 18 2000 -   Added PythonEnablePdb
        ChildExitHandler now properly calls Py_Finalize()
        python_handler is now cumulative rather than overriding

Jul 04 2000 -   2.4.1 Released. Mostly bug fixes. Should be pretty stable.

Jun 20 2000 -   2.4 Released.

Jun 17 2000 -   Started the tutorial.html.

Jun 11 2000 -   Stephane Bidoul's thread-safe win32 changes put in. As part
        of this, all chdir()'s are gone and now instead of '.', the
        file path is prepended to pythonpath.

Jun  8 2000 -   2.3 Released.

Jun  7 2000 -   PythonImport now works.

Jun  5 2000 -   PythonDebug and other on/off type handlers are now of type FLAG
        so they require an argument of On or Off.

Apr    2000 -   rename to mod_python and go apache-specific.
Nov    1998 -   support for multiple interpreters introduced.
May    1998 -   initial release (httpdapy).
