Add 3.0 announcement (#1774)

Final update for the 3.0 announcement on our docs.
This commit is contained in:
Robbe Sneyders
2023-11-02 11:22:30 +01:00
committed by GitHub
parent f2ee190945
commit d972eae864

View File

@@ -1,34 +1,48 @@
Getting started with Connexion 3.0 Connexion 3.0: API-first for all
================================== ================================
Connexion 3.0 brings some major changes compared to 2.X: **We are excited to announce the release of Connexion 3.0!** 🎉
* Connexion can now be used as middleware to supercharge any ASGI or WSGI compatible framework. Connexion 3 fundamentally changes how Connexion is designed and implemented, and how it
* Aiohttp support has been dropped in favor of an ASGI compatible ``AsyncApp`` built on top of Starlette. fits into the wider Python API ecosystem. We adopted the ASGI interface, which makes Connexion both
* Connexion functionality is now pluggable by adding or removing middleware. modular and well-integrated with most modern Python API tooling.
* Validation is now pluggable by content type, solving longstanding issues regarding endpoints with
multiple content types and providing a pluggable interface.
Install Connexion 3 **It brings some major changes compared to 2.X:**
---------------------
Install the latest version using * The improved ``App`` and new ``AsyncApp`` allow you to use Connexion as a stand-alone framework
.. code-block:: bash * The ``App`` interface was extended so you no longer have to care about the framework used
underneath
pip install connexion * Connexion can now be used as middleware to supercharge any ASGI or WSGI-compatible framework
with its spec-based functionality
* Connexion is now pluggable in many dimensions:
.. note:: * All Connexion functionality is pluggable by adding or removing middleware from its stack
* Validation is now pluggable by content type, solving longstanding issues regarding endpoints
with multiple content types and making it easy to add validation for additional content types
* Authentication is now pluggable by security scheme, making it easy to customize the behavior or
add support for additional security schemes.
Connexion 3 will be released on 02/11/23. Until then, you can add the `--pre` flag to install * Aiohttp support has been dropped due to lack of ASGI support
a pre-release version. * We spent a lot of effort on extending and improving `our documentation`_
**Read on below to discover more changes.** 👇
Or read our `in-depth blog post`_ on the redesign.
.. _in-depth blog post: https://medium.com/@robbe.sneyders/a5dc17e81ff8?source=friends_link&sk=de5a7a67ccae8a03752f5e8e1dc68d48
.. _our documentation: https://connexion.readthedocs.io/en/stable/
Getting started with Connexion 3
--------------------------------
Using stand-alone Connexion Using stand-alone Connexion
--------------------------- ---------------------------
You can use Connexion as a stand-alone web framework, using one of the available apps: You can use Connexion as a stand-alone web framework, using one of the available apps:
* The ``FlaskApp``, which is built on top of Flask as known from Connexion 2.X. * The ``App`` (alias ``FlaskApp``), which is built on top of Flask as known from Connexion 2.X.
* The ``AsyncApp``, which is built on top of starlette and provides native asynchronous functionality. * The ``AsyncApp``, which is built on top of starlette and provides native asynchronous functionality.
If you don't require compatibility with the Flask ecosystem, we recommend to use the ``AsyncApp``. If you don't require compatibility with the Flask ecosystem, we recommend to use the ``AsyncApp``.
@@ -139,6 +153,13 @@ Non-breaking changes
* Connexion now provides a ``DefaultsJSONRequestBodyValidator`` to fill in default values in received * Connexion now provides a ``DefaultsJSONRequestBodyValidator`` to fill in default values in received
request bodies. request bodies.
Full changelog
--------------
Consult our `Github release page`_ for an overview of all changes.
.. _Github release page: https://github.com/spec-first/connexion/releases/tag/3.0.0
Feedback Feedback
-------- --------