Releases: spec-first/connexion
Releases · spec-first/connexion
3.1.0
What's Changed
- Allow the specification to be specified as a URL. by @mjp4 in #1871
- Inject current request in security handlers by @RobbeSneyders in #1883
- Fix lifespan example by @fcollonval in #1893
- Fix docs build for Poetry >=1.8 by @RobbeSneyders in #1900
- Generate examples with jsf by @mjp4 in #1891
- fix: uneven quotes by @LukeHagar in #1906
- Fix openapi spec in quickstart doc by @psegedy in #1922
- Fix typo in example pip install command by @avivace in #1929
- Log handled errors to warning by @alfechner in #1926
New Contributors
- @fcollonval made their first contribution in #1893
- @LukeHagar made their first contribution in #1906
- @psegedy made their first contribution in #1922
- @avivace made their first contribution in #1929
Full Changelog: 3.0.6...3.1.0
3.0.6
What's Changed
- Bugfix/starlette root path by @Ruwann in #1833
- Fix quickstart WSGI example typo by @rparini in #1845
- Fix ReverseProxied middleware and add docs by @RobbeSneyders in #1873
- Fix two broken links in the docs. by @Julian in #1854
- Fix for JSON array parsing in multipart/form-data (#1869) by @alfechner in #1872
- Fix file upload for base64 encoded files by @RobbeSneyders in #1843
New Contributors
- @rparini made their first contribution in #1845
- @Julian made their first contribution in #1854
- @alfechner made their first contribution in #1872
Full Changelog: 3.0.5...3.0.6
3.0.5
Highlights
Fix broken swagger_ui when using Swagger 2 specification with references.
What's Changed
Full Changelog: 3.0.4...3.0.5
3.0.4
Highlights
Set Starlette upperbound version to <0.33 until encode/starlette#2361 is resolved.
What's Changed
- Set starlette upperbound version to <0.33 by @RobbeSneyders in #1828
Full Changelog: 3.0.3...3.0.4
3.0.3
Highlights
- Fix regression in app startup time
- Fix CORS headers on error responses
What's Changed
- Fix missing colons in request docs; rename /path to /foo for consistency with other examples by @danielbprice in #1818
- Only instantiate specification once by @RobbeSneyders in #1819
- Fix CORS headers not set on exceptions by @nielsbox in #1821
New Contributors
- @danielbprice made their first contribution in #1818
- @nielsbox made their first contribution in #1821
Full Changelog: 3.0.2...3.0.3
3.0.2
Highlights
- Fix multiple file upload
- Add migration guide for migrating from Connexion 2 to 3
What's Changed
- Fix middleware doc example by @ajoga in #1796
- Fix 'Edit on GitHub' link on docs by @RobbeSneyders in #1799
- Fix multiple file upload by @RobbeSneyders in #1813
- Update the import statements for the cookbook snippets by @MatthiasDurivet in #1805
- Add interface to add WSGI middleware by @RobbeSneyders in #1814
- Add more detailed v3 migration guide by @RobbeSneyders in #1815
New Contributors
- @ajoga made their first contribution in #1796
- @MatthiasDurivet made their first contribution in #1805
Full Changelog: 3.0.1...3.0.2
3.0.1
Highlights
- Fix error handlers on
FlaskApp
to match documented behavior - Multiple documentation improvements
What's Changed
- Add Fern sponsor by @RobbeSneyders in #1779
- Fix fern link in docs by @RobbeSneyders in #1782
- Add CORS documentation by @RobbeSneyders in #1790
- Correctly document keys available in context by @RobbeSneyders in #1792
- Improve ASGI server documentation by @RobbeSneyders in #1791
- Fix FlaskApp exception handlers by @RobbeSneyders in #1788
Full Changelog: 3.0.0...3.0.1
3.0.0
Connexion 3.0: API-first for all
We are excited to announce the release of Connexion 3.0! 🎉
Connexion 3 fundamentally changes how Connexion is designed and implemented, and how it
fits into the wider Python API ecosystem. We adopted the ASGI interface, which makes Connexion both
modular and well-integrated with most modern Python API tooling.
It brings some major changes compared to 2.X:
- The improved
App
and newAsyncApp
allow you to use Connexion as a stand-alone framework- The
App
interface was extended so you no longer have to care about the framework used
underneath
- The
- 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:
- 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.
- Aiohttp support has been dropped due to lack of ASGI support
- We spent a lot of effort on extending and improving
our documentation
_
For further details, check:
- Our Connexion 3 documentation page for a high level overview of the changes
- Our in-depth blog post on the redesign for technical details
- Below for a detailed overview of all changes 👇
Full changelog
- Drop aiohttp support by @RobbeSneyders in #1491
- Add Python 3.10 in favor of 3.6 by @RobbeSneyders in #1494
- Add empty connexion middleware by @RobbeSneyders in #1502
- Extract Swagger UI functionality into middleware by @RobbeSneyders in #1496
- Add pre-commit hook by @RobbeSneyders in #1511
- Add routing middleware by @RobbeSneyders in #1497
- Extract security to middleware by @RobbeSneyders in #1514
- Remove myself (Rafael Caricio) as maintainer by @rafaelcaricio in #1517
- Merge V2 to main by @RobbeSneyders in #1518
- Fix deprecation warning for Validator.iter_errors by @jonasboecquaert in #1536
- Refactor routing into middleware-api-operation model by @RobbeSneyders in #1533
- Clean up operation classes by @RobbeSneyders in #1535
- Removed jsonschema version check by @jonasboecquaert in #1540
- Remove built-in support for uWSGI by @jacobstanly89 in #1544
- Fix for bug of the function is_json_mimetype() by @jacobstanly89 in #1541
- Use resolver in security middleware by @RobbeSneyders in #1553
- call as_view in methodresolver by @bluebrown in #1552
- Fix async tests by @Ruwann in #1558
- Add test for MethodViewResolver by @RobbeSneyders in #1559
- debug mode interaction for non-flask server by @thvu11 in #1556
- Add .git-blame-ignore-revs file with black commit by @RobbeSneyders in #1561
- Feature/method views args by @bluebrown in #1564
- Activate mypy check in pre-commit by @RobbeSneyders in #1560
- Remove "type: ignore" by using list(dict), not dict.keys() by @cclauss in #1575
- Merge v2 to main by @RobbeSneyders in #1579
- Resolve $ref referring to another $ref by @chibacchie in #1584
- Update json for Flask 2.3 by @RobbeSneyders in #1582
- Use Flask request_ctx instead of _request_ctx_stack by @RobbeSneyders in #1583
- setup.py: Update url by @jayvdb in #1586
- Extract JSON request body validation to middleware by @RobbeSneyders in #1588
- Remove AbstractSwaggerUIAPI class by @RobbeSneyders in #1589
- Removed internal variable pass_context_arg_name by @leonardofesta in #1568
- Explicitly support Flask async routes by @RobbeSneyders in #1592
- Extract boilerplate code into Routed base classes by @RobbeSneyders in #1590
- Move JSON response body validation to middleware by @RobbeSneyders in #1591
- Remove support for deprecated x-body-name position by @RobbeSneyders in #1600
- Avoid warning with jsonschema 4.16.0 by @gaetano-guerriero in #1601
- Add form data validator for validation middleware by @RobbeSneyders in #1595
- Flask apps only signal an exception on real server errors by @enerqi in #1611
- Move parameter validation to middleware by @RobbeSneyders in #1610
- Add async app by @RobbeSneyders in #1613
- Update examples for Connexion 3.0 by @RobbeSneyders in #1615
- Refactor decorators by @RobbeSneyders in #1618
- Switch to own maintained version of swagger-ui by @RobbeSneyders in #1619
- Expose additional context by @RobbeSneyders in #1620
- Implement user facing interface for ConnexionMiddleware by @RobbeSneyders in #1621
- Enable enforcing defaults by @RobbeSneyders in #1616
- Cache operation body definition by @RobbeSneyders in #1626
- Coerce types only in uri parser by @RobbeSneyders in #1627
- Introduce poetry by @RobbeSneyders in #1628
- Bump httpx version to 0.23 to mitigate GHSA-h8pj-cxx2-jfg2 by @RobbeSneyders in #1632
- Refactor tests by @RobbeSneyders in #1631
- Define request interface and align WSGI and ASGI by @RobbeSneyders in #1636
- Feature/request context by @RobbeSneyders in #1639
- Add error handlers for AsyncApp by @RobbeSneyders in #1640
- Make tests framework agnostic by @RobbeSneyders in #1634
- Bump starlette version by @Ruwann in #1641
- Bump a2wsgi and drop monkeypatch by @RobbeSneyders in #1647
- Update NumberConverter regex to match new Werkzeug behavior (v3) by @RobbeSneyders in #1644
- Re-add tests for multiple and mixed file uploads by @RobbeSneyders in #1642
- Add support for relative refs in spec by @RobbeSneyders in #1648
- Clean up errors and fix hierarchy by @RobbeSneyders in #1649
- Enforce required RequestBody by @RobbeSneyders in #1652
- Create abstract validator classes by @RobbeSneyders in #1653
- Enable response mimetype validation for non-error responses by @RobbeSneyders in #1654
- Don't return 400 when read-only property is provided by @RobbeSneyders in #1655
- Add jsonifier as argument to app / api by @RobbeSneyders in #1656
- Add high-level documentation for 3.0 by @RobbeSneyders in #1646
- Run release pipeline for pre-releases as well by @RobbeSneyders in #1658
- Fix filter pattern in release pipeline by @RobbeSneyders in #1659
- Fix ReadTheDocs config for Poetry by @RobbeSneyders in #1663
- Update quickstart.rst to include example of passing server arguments by @rkrishnasanka in #1645
- Fix and extend v3 documentation by @RobbeSneyders in #1664
- Update docs index page by @RobbeSneyders in https://github.com/s...
3.0.0a8
What's Changed
- Bump starlette by @RobbeSneyders in #1734
- Make middleware_app property private by @RobbeSneyders in #1737
- Update routing documentation by @RobbeSneyders in #1738
- chore: fix typos by @afuetterer in #1740
- Add swagger-ui docs and clean up swagger-ui options by @RobbeSneyders in #1739
- Update request handling documentation by @RobbeSneyders in #1741
- Update response handling documenation by @RobbeSneyders in #1742
- Support multiple APIs with same base path by @RobbeSneyders in #1736
- Add validation documentation by @RobbeSneyders in #1743
- Remove debug argument from example by @RobbeSneyders in #1749
- Add context documentation by @RobbeSneyders in #1747
- Feature/get delete body by @Ruwann in #1712
- Drop Python 3.7 in favor of 3.11 and 3.12 by @RobbeSneyders in #1752
- Create FUNDING.yml by @RobbeSneyders in #1753
- Centralize error handling in ExceptionMiddleware by @RobbeSneyders in #1754
- Add lifespan documentation by @RobbeSneyders in #1759
- Add testing documentation by @RobbeSneyders in #1760
- Update Exceptions documentations by @RobbeSneyders in #1758
- Fix CLI and drop click dependency by @RobbeSneyders in #1762
- Update cli docs by @RobbeSneyders in #1763
New Contributors
- @afuetterer made their first contribution in #1740
Full Changelog: 3.0.0a7...3.0.0a8
3.0.0a7
What's Changed
- Move from caret to inequality requirements by @marcin-lulek-cint in #1704
- Improve and fix docs index page by @RobbeSneyders in #1700
- Update quickstart documentation by @RobbeSneyders in #1701
- Add traceback info to common error handler by @Ruwann in #1708
- Add middleware documentation by @RobbeSneyders in #1706
- Deepcopy only headers in validator by @RobbeSneyders in #1710
- Use repr for error logging by @Ruwann in #1711
- Fix typo by @julienschuermans in #1713
- Fix basepath ordering in case of multiple APIs by @Ruwann in #1716
New Contributors
- @marcin-lulek-cint made their first contribution in #1704
- @julienschuermans made their first contribution in #1713
Full Changelog: 3.0.0a6...3.0.0a7