Ariadne 0.17 is a maintenance release that unpins Starlette requirement and removes use of deprecated CGI module in WSGI implementation.
Unpinned Starlette dependency
Ariadne relies on Starlette library for its ASGI implementation. In past releases Starlette dependency was always pinned to a specific version, which forced new Ariadne release whenever new Starlette minor version was released.
Starting with Ariadne 0.17, Starlette dependency is specified as
<1.0. Reasoning for this is that Ariadne only uses Starlette's ASGI implementation and no other features and in last 4 years of project's existence there was a single case when Starlette's update forced Us to change our implementation - early in 2019.
cgi module is part of Python's standard library, providing utilities for writing HTTP servers. Ariadne's WSGI implementation used this module for extracting uploaded files from requests payloads.
Starting with Python 3.11,
cgi module is now deprecated and Ariadne was moved to custom implementation using python-multipart library, and uploaded files are now instances of
asgi-file-uploads optional dependency renamed to
Because both ASGI and WSGI implementation now requires
asgi-file-uploads was renamed to
file-uploads. To make upgrade easier, both names are currently supported by Ariadne, but projects dependencies should be changed for Ariadne 0.18 which will drop
Starting with this release Ariadne is tested against Python 3.11.
- Bumped starlette dependency in setup.py to
- Added Python 3.11 to test matrix.
- Removed usage of deprecated
asgi-file-uploadsoptional dependency to