Changelogs » Apig-wsgi

PyUp Safety actively tracks 263,166 Python packages for vulnerabilities and notifies you when to upgrade.



  * Add defaults for ``SERVER_HOST``, ``SERVER_PORT`` and ``wsgi.url_scheme``.
  This enables responding to `ELB health check events
  which don't contain the relevant headers
  (`Issue 155 <>`__).


  * Pass Lambda Context object as a WSGI environ variable
  (`PR 122 <>`__).


  * Restore setting ``HTTP_CONTENT_TYPE`` and ``HTTP_HOST`` in the environ,
  accidentally broken in 2.5.0 with multi-value header feature
  (`Issue 117 <>`__).


  * Support multi-value headers and query parameters as API Gateway added
  (`Issue 103 <>`__).
  * Pass full event as a WSGI environ variable
  (`PR 111 <>`__).


  * Fix URL parameter encoding - URL escaping like `%3A` will now be passed
  correctly to your application
  (`Issue 101 <>`__).
  Whilst this is a bugfix release, it may break any workarounds you have in
  your application - please check when upgrading.


  * Converted setuptools metadata to configuration file. This meant removing the
  ``__version__`` attribute from the package. If you want to inspect the
  installed version, use
  (`docs <>`__ /
  `backport <>`__).
  * Support Python 3.8.
  * Add `application/vnd.api+json` to default non-binary content type prefixes.
  * Add support for custom non-binary content type prefixes. This lets you control
  which content types should be treated as plain text when binary support is enabled.


  * Update Python support to 3.5-3.7, as 3.4 has reached its end of life.
  * Return binary content for gzipped responses with text or JSON content types.


  * If API Gateway event includes ``requestContext``, for example for custom
  authorizers, pass it in the WSGI ``environ`` as


  * Revert adding ``statusDescription`` because it turns out API Gateway doesn't
  ignore it but instead fails the response with an internal server error.


  * Change ``statusCode`` returned to API Gateway / ALB to an integer. It seems
  API Gateway always supported both strings and integers, whilst ALB only
  supports integers.
  * Add ``statusDescription`` in return value. API Gateway doesn't seem to use
  this whilst the `ALB documentation <>`_
  mentions it as supported.


  * Drop Python 2 support, only Python 3.4+ is supported now.


  * Temporarily restore Python 2 support. This is in order to fix a packaging
  metadata issue that 2.0.0 was marked as supporting Python 2, so a new release
  is needed with a higher version number for ``python -m pip install apig-wsgi`` to
  resolve properly on Python 2. Version 2.0.2+ of ``apig-wsgi`` will not
  support Python 2.


  * Drop Python 2 support, only Python 3.4+ is supported now.
  * If ``exc_info`` is passed in, re-raise the exception (previously it would be
  ignored and crash in a different way). This isn't the nicest experience,
  however the behaviour is copied from ``wsgiref``\'s simple server, and most
  WSGI applications implement their own exception conversion to a "500 Internal
  Server Error" page already.
  * Noted that the EC2 ALB to Lambda integration is also supported as it uses the
  same event format as API Gateway.


  * Work with base64 encoded ``body`` values in requests from API Gateway.


  * Fix crash using binary support for responses missing a ``Content-Type``


  * Remove debug ``print()``


  * Add ``binary_support`` flag to enable sending binary responses, if enabled on
  API Gateway.


  * First release on PyPI, working basic integration for WSGI apps on API