Ariadne 0.17
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
dependency
Removed 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 File
class.
asgi-file-uploads
optional dependency renamed to file-uploads
Because both ASGI and WSGI implementation now requires python-multipart
library, 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 asgi-file-uploads
.
Python 3.11
Starting with this release Ariadne is tested against Python 3.11.
CHANGELOG
- Bumped starlette dependency in setup.py to
<1.0
. - Added Python 3.11 to test matrix.
- Removed usage of deprecated
cgi
module. - Renamed
asgi-file-uploads
optional dependency tofile-uploads
.