Ariadne 0.14.0
Ariadne 0.14 is now available!
0.14 is a maintenance release focused mostly on addressing bugs and updating dependencies. It also brings one breaking change for Django users.
ariadne.contrib.django
has been moved into a third party library
ariadne.contrib.django
has been removed from Ariadne's codebase and is now available as ariadne_django library maintained by third party.
This was originally planned for Ariadne 0.13 but we've decided to delay it by one release, to 0.14.
We have explained our justification for this decision in the past, but I would like to take a moment to reiterate it here. Originally it was our goal to have good Django support in the core, but we've quickly migrated our Ariadne GraphQL APIs to ASGI frameworks like Starlette and FastAPI. This resulted in us having to maintain three backends (ASGI, WSGI and Django).
This also had three additional downsides, each worsened by previous one:
- It tied releases of fixes to Django to Ariadne.
- It made people try contributing additional features and improvements to Django GraphQL support to Ariadne instead of releasing them as their own libs.
- It sent message to other frameworks communities that they can expect support for their frameworks to eventually appear under
ariadne.contrib
(eg.ariadne.contrib.flask
), while we would like those communities to develop and maintain those as their own libraries.
Thank you for your understanding. 🙏
Please note that
ariadne_django
package is currently looking for maintainers.As copyright holders for
ariadne.contrib.django
and it's documentation, we also offer our backing to initiative for extracting this code into library under
Updated Starlette dependency to 0.17.1
Usually we don't single updated dependencies, but we've got a word that old Starlette version that Ariadne used caused conflict with recent versions of FastAPI.
This issue should now be resolved.
Changelog
- Added
on_connect
andon_disconnect
options toariadne.asgi.GraphQL
, enabling developers to run additional initialization and cleanup for websocket connections. - Updated Starlette dependency to 0.17.1.
- Added support for multiple keys for GraphQL federations.
- Made
Query
type optional in federated schemas. - Updated default resolvers to test for
Mapping
instead ofdict
. - Removed
ariadne.contrib.django
. (Use ariadne_django instead). - Updated query cost validator to handle optional variables.