|
| 1 | +============= |
| 2 | +Version 4.4.1 |
| 3 | +============= |
| 4 | + |
| 5 | +Version 4.4.1 of mod_wsgi can be obtained from: |
| 6 | + |
| 7 | + https://codeload.github.com/GrahamDumpleton/mod_wsgi/tar.gz/4.4.1 |
| 8 | + |
| 9 | +Known Issues |
| 10 | +------------ |
| 11 | + |
| 12 | +1. The makefiles for building mod_wsgi on Windows are currently broken and |
| 13 | +need updating. As most new changes relate to mod_wsgi daemon mode, which is |
| 14 | +not supported under Windows, you should keep using the last available |
| 15 | +binary for version 3.X on Windows instead. |
| 16 | + |
| 17 | +Bugs Fixed |
| 18 | +---------- |
| 19 | + |
| 20 | +1. Process crashes could occur when request content had been consumed by |
| 21 | +the WSGI application. The trigger was when the Python ``wsgi.input`` was |
| 22 | +still in existence after the web request had finished. The destruction of |
| 23 | +the ``wsgi.input`` object was accessing memory which had already been |
| 24 | +released back to the Apache memory pools and potentially reused. This could |
| 25 | +cause crashes or other unexplained behaviour. This issue was introduced in |
| 26 | +version 4.4.0 of mod_wsgi. |
| 27 | + |
| 28 | +Features Changed |
| 29 | +---------------- |
| 30 | + |
| 31 | +1. When an error occurs in writing back a response to the HTTP client, |
| 32 | +during the consumption of the iterable returned by the WSGI application, |
| 33 | +the message will now be logged at debug level rather than error level. Note |
| 34 | +that under Apache 2.2 it isn't possible to suppress the message generated |
| 35 | +by Apache itself from the core_output_filter, so that may still appear. |
| 36 | + |
| 37 | +2. The ``--profiler-output-file`` option for ``mod_wsgi-express`` was |
| 38 | +changed to ``--profiler-directory`` and now refers to a directory, with |
| 39 | +individual pstats files being added to the directory for each session |
| 40 | +rather than reusing the same name all the time. |
| 41 | + |
| 42 | +New Features |
| 43 | +------------ |
| 44 | + |
| 45 | +1. Added the ``--server-mpm`` option to ``mod_wsgi-express``. With this |
| 46 | +option, if you are using Apache 2.4 with dynamically loadable MPM modules |
| 47 | +and more than one option for the MPM is available, you can specify your |
| 48 | +preference for which is used. If not specified, then the precedence order |
| 49 | +for MPMs is 'event', 'worker' and finally 'prefork'. |
| 50 | + |
| 51 | +2. Added ``static`` as an option for ``--application-type`` when running |
| 52 | +``mod_wsgi-express``. When set as ``static``, only static files will be |
| 53 | +served. One can still set specific handler types for different extensions |
| 54 | +which may invoke a Python handler script, but there will be no global |
| 55 | +fallback WSGI application for any URLs that do not map to static files. In |
| 56 | +these cases a normal HTTP 404 response will be returned instead. |
| 57 | + |
| 58 | +3. Added ``--host-access-script`` option to ``mod_wsgi-express`` to allow |
| 59 | +a Python script to be provided which can control host access. This uses |
| 60 | +the ``WSGIAccessScript`` directive and the handler script should define an |
| 61 | +``allow_access(environ, host)`` function which returns ``True`` if access is |
| 62 | +allowed or ``False`` if blocked. |
| 63 | + |
| 64 | +4. Added ``--debugger-startup`` option to be used in conjunction with |
| 65 | +the ``--enable-debugger`` option of ``mod_wsgi-express`` when in debug mode. |
| 66 | +The option will cause the debugger to be activated on server start before |
| 67 | +any requests are handled to allow breakpoints to be set. |
| 68 | + |
| 69 | +5. Added a ``socket-user`` option to ``WSGIDaemonProcess`` to allow the |
| 70 | +owner of the UNIX listener socket for the daemon process group to be |
| 71 | +overridden. This can be used when using mod_ruid2 to change the owner of |
| 72 | +the socket from the default Apache user, to the user under which mod_ruid2 |
| 73 | +will run Apache when handling requests. This is necessary otherwise the |
| 74 | +Apache child worker process will not be able to connect to the listener |
| 75 | +socket for the mod_wsgi daemon process to proxy the request to the WSGI |
| 76 | +application. |
| 77 | + |
| 78 | +6. Added a ``--enable-recorder`` option for enabling request recording when |
| 79 | +also using debug mode. |
0 commit comments