diff --git a/docs/release-notes.rst b/docs/release-notes.rst index 6b898fc6..ce2b9c7e 100644 --- a/docs/release-notes.rst +++ b/docs/release-notes.rst @@ -5,6 +5,7 @@ Release Notes .. toctree:: :maxdepth: 2 + release-notes/version-4.4.20 release-notes/version-4.4.19 release-notes/version-4.4.18 release-notes/version-4.4.17 diff --git a/docs/release-notes/version-4.4.20.rst b/docs/release-notes/version-4.4.20.rst new file mode 100644 index 00000000..5f69c916 --- /dev/null +++ b/docs/release-notes/version-4.4.20.rst @@ -0,0 +1,18 @@ +============== +Version 4.4.20 +============== + +Version 4.4.20 of mod_wsgi can be obtained from: + + https://codeload.github.com/GrahamDumpleton/mod_wsgi/tar.gz/4.4.20 + +For details on the availability of Windows binaries see: + + https://github.com/GrahamDumpleton/mod_wsgi/tree/master/win32 + +Bugs Fixed +---------- + +1. Post mortem debugger would fail if the exception was raised during +yielding of items from a WSGI application, or inside of any ``close()`` +callable of an iterator returned from the WSGI application. diff --git a/src/server/__init__.py b/src/server/__init__.py index 124a6924..9df57c15 100644 --- a/src/server/__init__.py +++ b/src/server/__init__.py @@ -1117,7 +1117,7 @@ def __iter__(self): for item in self.generator: yield item except Exception: - self.debug_exception() + self.run_post_mortem() raise def close(self): @@ -1125,7 +1125,7 @@ def close(self): if hasattr(self.generator, 'close'): return self.generator.close() except Exception: - self.debug_exception() + self.run_post_mortem() raise class RequestRecorder(object): diff --git a/src/server/wsgi_version.h b/src/server/wsgi_version.h index b6e5dde7..87657369 100644 --- a/src/server/wsgi_version.h +++ b/src/server/wsgi_version.h @@ -25,8 +25,8 @@ #define MOD_WSGI_MAJORVERSION_NUMBER 4 #define MOD_WSGI_MINORVERSION_NUMBER 4 -#define MOD_WSGI_MICROVERSION_NUMBER 19 -#define MOD_WSGI_VERSION_STRING "4.4.19" +#define MOD_WSGI_MICROVERSION_NUMBER 20 +#define MOD_WSGI_VERSION_STRING "4.4.20" /* ------------------------------------------------------------------------- */