Changelog¶
0.28.0 (2024-11-30)¶
Fix lazy_reverse bug in views (#1339)
Extend query params explosion of non-DRF serializer #1315
consider pk_field on PrimaryKeyRelatedField when set #1335
fix unused OAuth2 scopes override #1319
bugfix @extend_schema_field raw schema already in OAS3.1
some minors (resolves #1147)
fix OAS3.1 validator omission #1302
guard against broken __dir__ impl #1296
Add Django 5.1 as classifier [jelmert]
No extra items in the oneOf list [Vladimir]
parametrize component registry identity #1288
make operation_id action position configurable #1264
Fix for incorrect
issubclass()
check. [Mike Moore]Correct the documentation of how to import extension snippets [Alan Crosswell]
Update OpenAPI docs links [Nils Van Zuijlen]
mitigate false positive in Django Debug Toolbar #1159
Additional testcase [Marti Raudsepp]
Fix ChoiceField schema type with empty
choices=[]
[Marti Raudsepp]handle examples with nested properties pagination [François Rejeté]
add choice field display method handling #1228
Add support for stateless user authentication in SimpleJWT (#1221) [Willem Meints]
fix: set pydantic json mode to serialization [Eric Butler]
fix: extend_schema_field with dict param and oas 3.1 [Eric Butler]
Breaking changes / important additions:
Y-stream release due to the amount of small but important changes.
Pydantic users might see a slightly different schema due to the change in serialization method.
0.27.2 (2024-04-01)¶
fix non-translated enum override hash #1198
higher order hints for @extend_schema_field (case 2) #1174 #1212
Add support for TypeAliasType (#1214) [igorgaming]
DRF 3.15 counteract new assertion for tests
Add a specific Action Wrapper for OAuth Authorization requests #1190 [Bram Esposito]
Update SWAGGER_UI_DIST settings.rst [Alfie Day]
fix custom http_method_names for actions #1184
Add support for direct usage of higher order hints #1174
Document
extend_schema_view
support for@action
(#1178) [johnthagen]remove official 3.6 support due to upstream breakage.
Add auth extension for django-rest-knox [Callum Gare]
fix yaml encoder for OrderedDict objects #1158
fix linter warning #1158
Update link to redoc settings [Andrey Otto]
Add tags support to OpenApiWebhook [Federico Bond]
set Cross-Origin-Opener-Policy on Swagger-UI view [ftsell]
Breaking changes / important additions:
Some bugfixes and some functionality gaps closed.
0.27.1 (2024-01-18)¶
differentiate test cases for 3.1 null cases #1139
add enum suffix setting [Jonny Beaumont]
Fix handling of metadata when using OAS 3.1 [Viicos]
Provide all fixed field names for the components object [Sergei Maertens]
coerse Decimal to float format explicitly #1134
bugfix test #1133
add OAS 3.1 null translation case #1133
Add OpenAPI 3.1 webhook support [Federico Bond]
add OAS 3.1 null case
Breaking changes / important additions:
Fixed some OAS 3.1 corner cases and added support for
Webhooks
(3.1) in addition to existingCallbacks
0.27.0 (2023-12-12)¶
improve mypy typing #600
add django 5 to test suite and adapt to changes #1126
Use correctly allowed http methods for schema generation [Jekel]
OAS 3.1
Fix Enum collision with same choices & varying labels #790 #1104
Undo adding middleware [Jelmer Draaijer]
Set JWTTokenUserAuthentication to None when missing [Jelmer Draaijer]
Add setuptools required for packaging [Jelmer Draaijer]
Add allauth.account.middleware.AccountMiddleware to middleware [Jelmer Draaijer]
Add Python 3.12 to test matrix and add classifiers [Jelmer Draaijer]
Add official support for pydantic decoration.
bugfix ignored OpenApiRequest case #1106
JSONField may also be a non-object/primitive #1095
add test for empty whitelist (no auth) #1094
Avoid ChoiceField duplicate enum values for allow_null, allow_blank (#1085) [Marti Raudsepp]
add test for django-filter and ListAPIView #1086
Fix the blueprint for pydantic version 2 [Carmen Alvarez]
Breaking changes / important additions:
Biggest release in quite some time that contains a bunch of long running PR that finally found their way into master.
We now officially support OpenAPI 3.1 and Pydantic 2
Quite a few bug fixes (thanks to all contributors) and improved typing
0.26.5 (2023-09-23)¶
update FAQ entry on extension loading
Fix (#1079) crash when generating schema for field with UUID choices. [Pedro Borges]
chore: fix typos [Heinz-Alexander Fuetterer]
Use schema_url in SpectacularElementsView (#1067) [q0w]
add helper to disable viewset list detection #1064
pin django-allauth test dep due to breaking change with dj-rest-auth
fix example building for pagination with basic list #1055
Fix discarded falsy examples values #1049
Breaking changes / important additions:
Added helper function
forced_singular_serializer
to disable a list detection on a endpoint, that has been quite difficult to properly undo previously. This closes the functional gap for@extend_schema_serializer(many=False)
in single-use (non-envelope) situations.Several small bugfixes
0.26.4 (2023-07-23)¶
Add a blueprint for pydantic 2 [Carmen Alvarez]
bugfix exclude behavior on subclassing #1025
relax django-filter subclassing restriction #1022
factor out serializer name estimation for easier modification #976
Fixing Pydantic Extension (#1021) [sydney-runkle]
add Authorization header for oauth2 Bearer token [Danial]
allow already supported lazy string in types #982
Breaking changes / important additions:
some minor bugfixes as well as improvements to
django-filter
anddjango-polymorphic
.it is now significantly easier to adapt serializer naming via
AutoSchema
subclassing.
0.26.3 (2023-06-22)¶
allow implicit list expansion of PolymorphicProxySerializer #995
selectively distinguish real serializers from mocked ones #1006
fix functionality gap for decoration of django-filter fields #1007
add pydantic blueprint
robustify subclass check in extensions #1006
Prevent exception for non-serializer classes targeted by SerializerExtensions #1006
add middleware support for djangorestframework_camel_case
close functionality gap in drf dataclasses naming #1004
fix: Camelize query parameters [v.kovalchuk]
docs(examples): Fix wrong bool value in example [schew2381]
bugfix test #991
bugfix duplicate enum list for django-filter #991
dj-rest-auth test changes 3.x -> 4.x
Add blocks to redoc template #978
Breaking changes / important additions:
no major changes but a multiude of small improvements.
we are now a lot more tolerant when it comes to writing extensions for non-standard classes (e.g. Pydantic).
there should be no unexpected schema changes except for when
djangorestframework_camel_case
’s Middleware is used.
0.26.2 (2023-04-15)¶
fix jwt cookie name settings not being recognised (#972) [Nix Siow]
Breaking changes / important additions:
small bugfix release that also contains the new
OpenApiRequest
feature
0.26.1 (2023-03-18)¶
reorder typed polymorphic fields #958
Fix test warnings [Dmitry Gribanov]
Add PresentablePrimarKeyRelatedField schema for drf-exrta-fields blueprint [Đào Minh Hạt]
bugfix KeyError for disabled ENUM_GENERATE_CHOICE_DESCRIPTION #952
Breaking changes / important additions:
small bugfix release that addresses a issue when turning off choice description generation
improve/bugfix
PolymorphicSerializer
type field handling
0.26.0 (2023-03-04)¶
honor djangorestframework_camel_case settings “ignore_keys” and “ignore_fields” #945
If available, use docstrings from properties for field descriptions (#954)
Don’t let validators override values already set in the schema (#911) [StopMotionCuber]
add test and another case to #901
add enum key/value list to description string #337 #403 #105 #563
Add option to provide a callable for PolymorphicProxySerializer.serializers [Glenn Matthews]
consolidate sort fix for enum sorting
add testcase to #950. ensure raw schema dict remains unmodified
Don’t edit the original django-filters schema. [Will Giddens]
Fix typos and grammar errors in FAQ doc page. [Foad Lind]
fix OpenApiResponse nested example defaults #875
mitigate
runtests.py
fail when GDAL library is not installed #945 #821 #775 #777bugfix SlugRelatedField with a model property target #943
suppress erroneous warning for optional extensions #940
fix whitelist mechanics (enables deny all) #923
mitigate many=True with default array value #936
fix dj-rest-auth>=3.0.0 breaking changes #937
Update plumbing.py
add swagger UI template blocks for customization [Jan Lis]
Add support for drf ReturnList and ReturnDict hint [zengqiu]
adapt test schema for dj-rest-auth 2.2.6
clarify docs for postproc hook mechanics #908
Add test for custom serializer field pagination #904
fix: let use a default value for foreignkey model field [Frederic de Zorzi]
Breaking changes / important additions:
A lot of bug fixes and a few feature additions.
We now render a descriptive
Enum
key/value list into the description by default. Opt-out with new settingENUM_GENERATE_CHOICE_DESCRIPTION
.Beware that we now extract more docstrings. Check your schema diff on update whether you are now leaking unintended information.
The
whitelist
mechanics changed slightly on what is considered default behavior.Fix a breaking change in
dj-rest-auth>=3.0.0
It should not be possible to run the tests without installing system libraries like GDAL for the contrib tests
0.25.1 (2022-12-16)¶
improve warning for transient @api_view objects #889
adapt package arg due to setuptools deprecation #786
utilize queryset for SlugRelatedField #897
Breaking changes / important additions:
Bugfix release that addresses a performance regression in
SpectacularApiView
and an oversight in the now stricter handling ofSlugRelatedField
0.25.0 (2022-12-13)¶
Fix missing description for ManyRelatedField and tested for SlugField (#895) [StopMotionCuber]
Simplify hashable_values #833
Add custom settings to CLI (view parity) #892
fix function misnomer #891
improve trace messages / warnings & add color #866
Treat SlugRelatedField analog to PrimaryKeyRelatedField #854
Include filename in call to _get_sidecar_url [Justin Spencer]
add django-parler blueprint #887
add a view to handle SwaggerUI oauth callbacks (#882) [Finn-Thorben Sell]
improve documentation
Introduce setting DEFAULT_QUERY_MANAGER to allow other managers for querset retrieval
fix flake8 6.0.0 breaking change
fix example list detection (symmetry with schema) #872
Use direct view methods for getting serializer instances [Numerlor]
name overrides for rest_framework_dataclasses #839
bugfix djangorestframework_camel_case #861
bugfix djangorestframework_camel_case nested object handling #861
Utils: Replace
List[]
withSequence[]
, because of Mypy note ‘List is invariant. Consider using Sequence instead.’ [Hans Aarne Liblik]Fixed minor typos [Conrad]
Removing blank and null keys when generating the overridden choices hash to match the hash generation logic in the enum post processor hook [Trent Holliday]
fix test fixture overlap #826
specify min patch release for DRF (fixes #812)
Preserve context in
get_list_serializer
. [Brady Dean]Allow field extensions to return None from map_serializer_field [Andrew Backer]
Breaking changes / important additions:
Officially set the lower bound for DRF version to
3.10.3
Refactored the CLI warning system for better code navigation / orientation, GUI support and color!
Some minor mechanics changes, several overall improvements, feature additions, and a few bugfixes.
0.24.2 (2022-09-26)¶
Breaking changes / important additions:
Hotfix release to mitigate optional GDAL import errors for django-filter.
0.24.1 (2022-09-23)¶
bugfix GeometryFilter for GIS and django-filter #814
NullBooleanField comment and add 3.14.0 to test suite #818
fix: #816 NullBooleanField does not exist in DRF >= 3.14.0 [Laurent Tramoy]
fix GIS source lookup with hops #813
Add blueprint for Stoplight Elements docs UI [Alex Burgel]
fix OpenApiParameter enum and pattern for many=True #808
Breaking changes / important additions:
Hotfix release to mitigate removal of
NullBooleanField
in DRF 3.14.0Small fixes to OpenApiParameter and
django-filter
0.24.0 (2022-09-14)¶
fix yaml serialization error on Django SafeString #802
mitigate DRF bug in ObtainAuthToken < 3.12.0 #796
bugfix TokenMatchesOASRequirements #469 and JWTCookieAuthentication #626
add custom redoc settings option
fix error with PrimaryKeyRelatedField on non-ModelSerializer #353
provide context to serializer for @extend_schema use-cases #699
add example value hint to doc #788
fix packages= so top_level.txt is correct [anthony sottile]
Adding documentation for the OpenApiParameter ‘many’ argument [Paul Wayper]
Include context with request when instantiating serializers [Mike Hansen]
Breaking changes / important additions:
Some minor gaps closed in the extension interface and serializer context initialization. It is a y-stream release, because there remains a small chance of change for users that sport non-standard customizations.
0.23.1 (2022-07-26)¶
improve CAMELIZE_NAMES doc #774
move import into build_geo_schema function [bidaya0]
Breaking changes / important additions:
Hotfix release to mitigate unwanted import of optional GIS features that depend on GDAL. GDAL is not a new requirement.
0.23.0 (2022-07-25)¶
fix infinite recursion when accessing missing attributes in generator stats [Oleg Hoefling]
fix list pagination when examples are provided [topher235]
accept integer status codes in OpenApiExample [Nicholas Guriev]
Missing “:” in example documentation [Josué Millán Zamora]
Flip direction for callbacks serializers [Justas]
grammar fix [Kojo Idrissa]
fix sidecar for alternate staticfile storages #718
add support for
rest_framework_gis
add mechanism to handle custom ListSerializers with extensions
Update based on review [johnthagen]
Hyphenate in-memory [johnthagen]
Add FAQ entry for how to serve in-memory generated files [johnthagen]
add pattern to OpenApiParameter #738
Add test that extend_schema_field on django-filter is not modified [Take Weiland]
Do not forcefully overwrite enum setting on custom django-filter schema [Take Weiland]
django-filter: Enable type extraction fallback for MultipleChoiceFilter as well [Take Weiland]
Add examples camelization note to settings.py [Zac Miller]
fix codecov badge url issue on github #713
Breaking changes / important additions:
A whole bunch of smaller bug fixes.
OpenAPI Callbacks should now be production ready
Introduction of
rest_framework_gis
support. This might impact APIs that are using GIS so this is a y-stream release.
0.22.1 (2022-04-25)¶
Update customization.rst [Lane Zhang]
Remove invalid example in drf-yasg migration documentation. [Nick Pope]
Avoid using default role in documentation. [Nick Pope]
Small documentation fixes. [Nick Pope]
improve parameter many handling and warnings #703
bugfix unconsidered warnings/errors for return code #706 #702
Include a list of applications urls as a parameter for SERVE_URLCONF #709 [anoirak]
bugfix/improve analyze_named_regex_pattern(path) #697 [Jon Iturmendi]
django-filter: added type extraction fallback for ChoiceFields #690
fix test, more precise naming, also wrap validation #693
bugfix PolymorphicProxySerializer many handling and add manual mode #692
Use Django management CommandError to eliminate the traceback on error [Brandon W Maister]
add
swagger_fake_view
FAQ entry #321Fix #688 - avoid a TypeError when ChoiceFilter choices are a callable [Glenn Matthews]
Breaking changes / important additions:
Small release consisting of minor bug fixes, improved
PolymorphicProxySerializer
, cleaned up documentation, and some improvements to django-filter
0.22.0 (2022-03-21)¶
Added
detype_patterns()
with@cache
. [Nick Pope]add “externalDocs” to operation via extend_schema #681
warn on invalid components names #685
wrap examples in list/pagination when serializer is many=True #641 #640 #595
python’s and django’s float is really “double precision” #674
Support negative numbers in pattern regex for coerced decimal fields [Mike Hansen]
add OpenAPI callback operations #665
Keep the urlpatterns in the apiview and pass it to the generator [Jorge Cardona]
django-filter: raise priority of explicitly given filter method type hints #660
also allow @extend_schema_field on django-filter filter method #660
accommodate pyright limitations #657
fix doc extraction for built-in types #654
use get_doc for description [Josh Ferge]
add more information to resolved TypedDicts [Josh Ferge]
pass through version from UI to schema endpoint #650
factor out schema_url generation #650
relax AcceptHeaderVersioning constraint for modification #650
Enable the use of lists in extend_schema_view() [François Travais]
Breaking changes / important additions:
This is a y-stream release with a lot of bugfixes, some new features and potentially small schema changes (if affected features are used).
Examples are now wrapped in pagination/lists when endpoint/serializer is
many=True
django-filter had some internal restructuring and thus overrides are now always honored.
added callback functionality (EXPERIMENTAL and subject to change due to pending issue)
Many thanks to all the contributors!
0.21.2 (2022-02-01)¶
Add support for djangorestframework-dataclasses [Oxan van Leeuwen]
add version to schema for AcceptHeaderVersioning #637
FAQ for @api_view #635
add extensions for dj_rest_auth’s JWTCookieAuthentication #626
Breaking changes / important additions:
Some minor bugfixes and feature additions. Schemas using AcceptHeaderVersioning contain a small change.
0.21.1 (2021-12-20)¶
add root level extension setting #619
ease schema browser handling with “Content-Disposition” #607
custom settings per SpectacularAPIView instance #365
Support new X | Y union syntax in Python 3.10 (PEP 604) [Marti Raudsepp]
upstream release updates, compat test fix for jwt, consistency fix
add blueprint for django-auth-adfs [1110sillabo]
use is_list_serializer instead of isinstance() [Roman Sichnyi]
Fix schema generation for RecursiveField(many=True) [Roman Sichnyi]
enable clearing auth methods with empty list #99
Fix typos in the code example [Marcin Kurczewski]
Breaking changes / important additions:
Some minor bugfixes and small feature additions. No large schema changes are expected
0.21.0 (2021-11-10)¶
add renderer & parser whitelist setting #598
catch attr exception for invalid SerializerMethodField #592
add regression test for catch-all status codes #573
bugfix OpenApiResponse without description argument #591
introduce direction literal / import consolidation #582
mitigate CORS issues for external requests in Swagger UI #588
remove cyclic import warning as fixes haves mitigated the issue. #581
bugfix: anchor parameter patterns with ^$
bugfix isolation of derivatives for @extend_schema_serializer/@extend_schema_field #585
add support for djangorestframework-recursive #586
Add blueprint for drf-extra-fields Base64FileField [johnthagen]
Add note about extensions registering themselves [johnthagen]
Document alternative to drf-yasg swagger_schema_field [johnthagen]
allow to bypass list detection for filter discovery #407
add blueprint (closes #448), fix test misnomer
non-blank string enforcement for parameters #282
add setting ENFORCE_NON_BLANK_FIELDS to enable blank checks #186
Breaking changes / important additions:
Fixed two more decorator isolation issues.
Added Swagger UI plugin to handle reloading the schema on authentication changes (
'SERVE_PUBLIC': False
).Added
minLength
where a blank value is not allowed. Apart the dedicated setting, it is implicitly enabled byCOMPONENT_SPLIT_REQUEST
.Several other small fixes and additional settings for corner cases. This is mainly a y-steam release due to the potential impact on the Swagger UI and
minLength
changes.
0.20.2 (2021-10-15)¶
add setting for manual path prefix: SCHEMA_PATH_PREFIX_INSERT #567
improve type hint for @extend_schema_field #569
bugfix COMPONENT_SPLIT_REQUEST for empty req/resp serializers #572
Make it cleared that ENUM_NAME_OVERRIDES is a key within SPECTACULAR_SETTINGS [johnthagen]
Improve formatting in customization docs [johnthagen]
bugfix @extend_schema_view on @api_view #554
bugfix isolation for @extend_schema/@extend_schema_view reorg #554
Fix inheritance bugs with @extend_schema_view(). [Nick Pope]
Allow methods in @extend_schema to be case insensitive. [Nick Pope]
Added a documentation blueprint for RapiDoc. [Nick Pope]
Tidy templates for documentation views. [Nick Pope]
Use latest version for CDN packages. [Nick Pope]
Breaking changes / important additions:
Mainly a bugfix release that solves several longstanding issues with
@extend_schema_view
/@extend_schema
annotation isolation. There should be no more side effects from arbitrarily mixing and matching the decorators.Improved handling of completely empty serializers with COMPONENT_SPLIT_REQUEST.
0.20.1 (2021-10-03)¶
move swagger CDN to jsdelivr (unpkg has been flaky)
bugfix wrong DIST setting in Redoc #546
Allow paginated_name customization [Georgy Komarov]
Breaking changes / important additions:
Hotfix release due to regression in the Redoc template
0.20.0 (2021-10-01)¶
Add support for specification extensions. [Nick Pope]
add example injection for (discovered) parameters #414
Fix crash with read-only polymorphic sub-serializer. [Nick Pope]
Add arbitrarily deep ListSerializer nesting #539
tighten serializer assumptions #539
fix whitespace stripping on methods
Rename
AutoSchema._map_field_validators()
→.insert_field_validators()
. [Nick Pope]Rename
AutoSchema._map_min_max()
→.insert_min_max()
. [Nick Pope]Fix detection of int64 from min/max values. [Nick Pope]
Fix zero handling in _map_min_max(). [Nick Pope]
Add support for introspection of nested validators. [Nick Pope]
Fix invalid schemas caused by validator introspection. [Nick Pope]
Overhaul validator logic. [Nick Pope]
support multiple headers in OpenApiAuthenticationExtension #537
docs: Missing end quote for INSTALLED_APPS [Prayash Mohapatra]
update doc #530
introducing the spectacular sidecar
fallback improvements to typing system with typing_extensions
Breaking changes / important additions:
Added vendor specification extensions
Completely overhauled validator logic and bugfixes
Offline UI assets with optional drf-spectacular-sidecar package
several internal logic improvements and stricter assumptions
0.19.0 (2021-09-21)¶
fix/cleanup suffixed path variable coercion #516
remove superseded Request mock from oauth_toolkit
be gracious on Enums that are not recognized by DRF #500
remove non-required empty descriptions
added test case for lookup_field #524
Fix grammatical typo [johnthagen]
remove mapping for re.Pattern (no 3.6 and mypy issues) #526
Add missing types defined in specification. [Nick Pope]
Add type mappings for IP4, IP6, TIME & DURATION. [Nick Pope]
add support for custom converters and converter override #502
cache static loading function calls
prevent settings loading in types, lazy load in plumbing instead
lazy settings loading in drainage
Improve guide for migration from drf-yasg. [Nick Pope]
handle default value for SerializerMethodField #422
consolidate bearer scheme generation & bugfix #515
prevent uncaught exception on modified django-filter #519
add decoupled model docstrings #522
Fix warnings raised during testing. [Nick Pope]
add name override to @extend_schema_serializer #517
Fix deprecation warning about default_app_config from Django 3.2+ [Janne Rönkkö]
Remove obsolete value from IMPORT_STRINGS. [Nick Pope]
Add extension for TokenVerifySerializer. [Nick Pope]
Use SESSION_COOKIE_NAME in SessionScheme. [Nick Pope]
add regex path parameter extraction for explicit cases #510
honor lookup_url_kwarg name customization #509
add contrib compat tests for drf-nested-routers
improve path coersion model resolution
add test_fields API response test #501
Handle ‘lookup_field’ containing relationships for path parameters [Luke Plant]
add BinaryField case to tests #506
fix: BinaryField’s schema type should be string #505 (#506) [jtamm-red]
bugfix incomplete regex stripping for literal dots #507
Fix tests [Jameel Al-Aziz]
Fix type hint support for functools cached_property wrapped funcs [Jameel Al-Aziz]
Extend enum type hint support to more Enum subclasses [Jameel Al-Aziz]
Breaking changes / important additions:
Severely improved path parameter detection for Django-style parameters, RE parameters, and custom converters
Significantly more defensive settings loading for safer project imports (less prone to import loops)
Improved type hint support for
Enum
and other native typesExplicit support for drf-nested-routers
A lot more small improvements
0.18.2 (2021-09-04)¶
fix default value handling for custom ModelField #422
fill html title with title from settings #491
add Enum support in type hints #492
Move system check registration to AppConfig [Jameel Al-Aziz]
Breaking changes / important additions:
Primarily ironing out another issue with the Django check and some minor improvements
0.18.1 (2021-08-31)¶
Improved docs regarding how ENUM_NAME_OVERRIDES works [Luke Plant]
bugfix raw schema handling for @extend_schema_field on SerializerMethodField method 481
load common SwaggerUI dep SwaggerUIStandalonePreset #483
allow versioning of SpectacularAPIView via query #483
update swagger UI
move checks to “–deploy” section, bugfix public=True #487
Breaking changes / important additions:
This is a hotfix release as the newly introduced Django check was executing the wrong code path.
Check also moved into the
--deploy
section to prevent double execution. This can be disabled withENABLE_DJANGO_DEPLOY_CHECK
Facitities added to utilize SwaggerUI Topbar for versioning.
0.18.0 (2021-08-25)¶
prevent exception and warn when ReadOnlyField is used with non-ModelSerializer #432
allow raw JS in Swagger settings #457
add support for check framework #477
improve common FAQ @action question #399
update @extend_schema doc #476
adapt to changes in iMerica/dj-rest-auth 2.1.10 (ResendEmailVerification)
add raw schema to @extend_schema(request={MIME: RAW}) #476
bugfix test case for 3.6 #474
bugfix header underscore handling for simplejwt #474
properly parse TokenMatchesOASRequirements (oauth toolkit) #469
add whitelist setting to manage auth method exposure #326 #471
Update set_password instead of list [Greg Campion]
Update documentation to illustrate how to override a specific method [Greg Campion]
Breaking changes / important additions:
This is a y-stream release because we added Django checks which might emit warnings and subsequently break CI. This can be easily suppressed with Django’s
SILENCED_SYSTEM_CHECKS
.Several small fixes and features that should not have a big impact.
0.17.3 (2021-07-26)¶
port custom “Bearer” bugfix/workaround to simplejwt #467
add setting for listing/paginating/filtering on non-2XX #402 #277
fix Typo [Eunsub LEE]
nit typofix [adamsteele-city]
Add a few return type annotations [Nikhil Benesch]
add django-filter queryset annotation and
extend_schema_field
supportaccount for functools.partial wrapped type hints #451
Update swagger_ui.js [Jordan Facibene]
Update customization.rst to fix example typo [Atsuo Shiraki]
update swagger-ui version
add oauth2 config for swagger ui #438
Breaking changes / important additions:
Just a few bugfixes and some small features with minimal impact on existing schema
0.17.2 (2021-06-15)¶
prevent endless loop in extensions when augmenting schema #426
bugfix secondary import cycle (generics.APIView) #430
fix: avoid circular import of/via rest_framework’s APIView [Daniel Hahler]
Breaking changes / important additions:
Hotfix release that addresses a carelessly added import in 0.17.1. In certain use-cases, this may have led to an import cycle inside DRF.
0.17.1 (2021-06-12)¶
bugfix 201 response for (List)CreateAPIVIew #428
support paginated ListSerializer with field child #413
fix django-filter.BooleanFilter subclass issue #317
serializer field deprecation #415
improve extension documentation #426
improve type hints and fix mypy issues on tests.
add missing usage case to type hints #418
Typo(?) README fix [Jan Jurec]
Breaking changes / important additions:
This release is mainly for fixing incomplete type hints which mypy will potentially complain about.
A few small fixes that should either have no or a very small impact in schemas.
0.17.0 (2021-06-01)¶
improve type hint detection for Iterable and NamedTuple #404
bugfix ReadOnlyField when used as ListSerlializer child #404
improve component discard logic #395
allow disabling operation sorting for sorting in PREPROCESSIN_HOOKS #410
add regression test for #407
fix error on read-only serializer [Matthieu Treussart]
invert component exclusion logic (OpenApiSerializerExtension) #351 #391
add many=True support to PolymorphicProxySerializer #382
improve documentation, remove py2 wheel tag, mark as mypy-enabled
bugfix YAML serialization errors that are ok with JSON #388
bugfix missing auth extension for JWTTokenUserAuthentication #387
Rename MethodSerializerField -> SerializerMethodField in README [Christoph Krybus]
Breaking changes / important additions:
Quite a few small improvements. The biggest change is the inversion of the component discard logic. This should have no negative impact, but to be on the safe side we’ll opt for a y-stream release.
The package is now marked as being typed, which should get picked up natively by mypy
0.16.0 (2021-05-10)¶
add redoc dist setting
include relation PKs into SCHEMA_COERCE_PATH_PK handling #251
allow PolymorphicProxySerializer to be simple ‘oneOf’
bugfix incorrect PolymorphicProxySerializer warning on extend_schema_field #263
add break-out option for SerializerFieldExtension
Modify urls for nested routers [Matthias Erll]
Breaking changes / important additions:
Revamped handling of mocked requests. Now
GET_MOCK_REQUEST
is always called, not just for offline schema generation. In case there is a real request available, we carry over headers and authentication. If you use your own implementation, you may want to inspect the new default implementation.NamespaceVersioning: switched path variable substitution from regex to custom state machine due to parethesis counting issue.
Improved implicit support for drf-nested-routers
Added some convenience options for plain
oneOf
to PolymorphicProxySerializerThis release should have minimal impact on the generated schema. We opt for a y-stream release due to potentially breaking changes when a user-provided
GET_MOCK_REQUEST
is used.
0.15.1 (2021-04-08)¶
bugfix prefix estimation with RE special char literals in path #358
Breaking changes / important additions:
minor release to fix newly introduced default prefix estimation.
0.15.0 (2021-04-03)¶
fix boundaries for decimals coerced to strings #335
improve util type hints
add convenience response wrapper OpenApiResponse #345 #272 #116
adapt for dj-rest-auth upstream changes in iMerica/dj-rest-auth#227
Fixed traversing of ‘Optional’ type annotations [Luke Plant]
prevent pagination on error responses. #277
fix SCHEMA_PATH_PREFIX_TRIM ^/ pitfall & remove unused old URL mounting
slightly improve #332 for django-filter range filters
improve schema version string handling including variations #303
bugfix ENUM_NAME_OVERRIDES for categorized choices #339
improve SCHEMA_PATH_PREFIX handling, add auto-detect default, introduce prefix trimming #336
add support for all django-filters RangeFilter [Jules Waldhart]
Added default value for missing attribute [Matthias Erll]
Fix map_renderers where format is None [Matthias Erll]
Breaking changes / important additions:
explicitly set responses via
@extend_schema
will not get paginated/listed anymore for non2XX
status codes.New default
None
forSCHEMA_PATH_PREFIX
will attempt to determine a reasonable prefix. Previous behavior is restored with''
Added
OpenApiResponses
to gain access to response object descriptions.
0.14.0 (2021-03-09)¶
Fixed bug with
cached_property
non-Model objects not being traversed [Luke Plant]Fixed issue #314 - include information about view/serializer in warnings. [Luke Plant]
bugfix forward/reverse model traversal #323
fix nested serializer detection & smarter metadata extraction #319
add drf-yasg compatibility feature ‘swagger_fake_view’ #321
fix django-filter through model edge case & catch exceptions #320
refactor/bugfix PATCH & Serializer(partial=True) behaviour.
bugfix django-filter custom filter class resolution #317
bugfix django-filter for Django 2.2 AutoField
improved/restructured resolution priority in django-filter extension #317 #234
handle Decimals for YAML #316
remove deprecated django-filter backend solution
update swagger-ui version
bugfix [] case and lint #312
discriminate None and typing.Any usage #315
fix multi-step source relation field resolution, again. #274 #296
Add any type for OpenApiTypes [André da Silva]
improve Extension usage documentation #307
bugfix multipart boundary showing up in Accept header
bugfix: use get_parsers() and get_renderers() #266
Fix for better support of PEP 563 compatible annotations. [Luke Plant]
Add document authentication [gongul]
Do not override query params [Fabricio Aguiar]
New setting for enabling/disabling error/warn messages [Fabricio Aguiar]
bugfix response headers without body #297
issue #296 [Luis Saavedra]
Fixes #283 – implement response header parameters [Sergei Maertens]
Added feature test for response headers [Sergei Maertens]
robustify django-filter enum sorting #295
Breaking changes / important additions:
drf-spectacular’s custom
DjangoFilterBackend
removed after previous deprecation. Just use the original class again.django-filter extension received a significant refactoring so your schema may have several changes, hopefully positive ones.
Added response headers feature
Extended
@extend_schema(request=X)
, whereX
may now also be aDict[content_type, serializer_etc]
Updated Swagger UI version
Fixed several model traversal issues that may lead to PK changes in the schema
Added drf-yasg’s
swagger_fake_view
0.13.2 (2021-02-11)¶
add setting for operation parameter sorting #281
bugfix/generalize Union hint extraction #284
bugfix functools.partial methods in django-filters #290
bugfix django-filter method filter #290
Check serialzer help_text field is passed to the query description [Jorge Rodríguez-Flores Esparza]
QUERY Parameters from serializer ignore description in SwaggerUI [Jorge Rodríguez-Flores Esparza]
README.rst encoding change [gongul]
Add support for SCOPES_BACKEND_CLASS setting from django-oauth-toolkit [diesieben07]
use source instead of field_name for model field detection #274 [diesieben07]
bugfix parameter removal from custom AutoSchema #212
add specification extension option to info section #165
add default to OpenApiParameter #271
show violating view for easier fixing #278
fix readonly related fields generating incorrect schema #274 [diesieben07]
bugfix save parameter removal #212
0.13.1 (2021-01-21)¶
bugfix/handle more django-filter cases #263
bugfix missing meta on extend_serializer_field, raw schema, and breakout
expose explode and style for OpenApiParameter #267
Only generate mock request if there is no actual request [Matthias Erll]
Update blueprints.rst [takizuka]
bugfix enum substitution for enumed arrays (multiple choice)
Update README.rst [Chad Ramos]
Create new mock request on each operation [Matthias Erll]
0.13.0 (2021-01-13)¶
add setting for additionalProperties handling #238
bugfix path param extraction for PrimaryKeyRelatedField #258
use injected django-filter help_text #234
robustify normalization of types #257
bugfix PATCH split serializer disparity #249
django-filter description bugfix #234
bugfix unsupported http verbs #244
Regression: Filterset defined as method (and from a @property) are not supported [Nicolas Delaby]
bugfix view-level AutoSchema noneffective with extend_schema #241
bugfix incorrect warning on paginated actions #233
Breaking changes:
several small improvements that should not have a big impact. this is a y-stream release mainly due to schema changes that may occur with django-filter.
0.12.0 (2020-12-19)¶
add exclusion for discovered parameters #212
bugfix incorrect collision warning #233
introduce filter extensions #234
revert Swagger UI view to single request and alternative #211 #173
bugfix Simple JWT token refresh #232
bugfix simple JWT serializer schema #232
Fix enum postprocessor to allow 0 as possible value [Vikas]
bugfix/restore optional default parameter value #226
Include QuerySerializer in documentation [KimSoungRyoul]
support OAS3.0 ExampleObject to @extend_schema & @extend_schema_serializer #115 [KimSoungRyoul]
add explicit double and int32 types. #214
added type extension for int64 format support [Peter Dreuw]
fix TokenAuthentication handling of keyword #205
Allow callable limit_value in schema [Serkan Hosca]
@extend_schema responses param now accepts tuples with media type #201
bugfix List hint extraction with non-basic sub types #207
Breaking changes:
reverted back to 0.10.0 Swagger UI behavior as default. Users relying on stricter CSP should use
SpectacularSwaggerSplitView
tokenAuth
slightly changed to properly model correctAuthorization
headera lot of minor improvements that may slightly alter the schema
0.11.1 (2020-11-15)¶
bugfix hint extraction on @cached_property #198
add support for basic TypedDict hints #184
improve type hint resolution #199
add option to disable Null/Blank enum choice feature #185
bugfix return code for Viewset create methods #196
honor SCHEMA_COERCE_PATH_PK on path param type resolution #194
bugfix absolute schema URL to relative in UI #193
Breaking changes:
return code for
create
onViewSet
changed from200
to201
. Some generator targets are picky, others don’t care.
0.11.0 (2020-11-06)¶
Remove unnecessary view permission from action [Vikas]
Fix security definition for IsAuthenticatedOrReadOnly permission [Vikas]
introduce convenience decorator @schema_extend_view #182
bugfix override behaviour of extend_schema with methods and views
move some plumbing to drainage to make importable without cirular import issues
bugfix naming for ListSerializer with pagination #183
cleanup trailing whitespace in docstrings
normalize regex in pattern, remove ECMA-incompatible URL pattern #175
remove Swagger UI inline script for stricter CSP #173
fixed typo [Sebastian Pabst]
add the PASSWORD format to types.py [Sebastian Pabst]
docs(settings): fix favicon example [Max Wittig]
Breaking changes:
@extend_schema
override mechanics are now consistent. may affect schema only if used on both view and view methodotherwise mainly small improvement/fixes that should have minimal impact on the schema.
0.10.0 (2020-10-20)¶
bugfix non-effective multi-usage of view extension.
improve resolvable enum collisions with split components
Update README.rst [Jose Luis da Cruz Junior]
fix regular expression in detype_pattern [Ruslan Ibragimov]
improve enum naming with resolvable collisions
improve handling of discouraged SECURITY setting (fixes #48 fixes #136)
instance check with ViewSetMixin instead of GenericViewSet [SoungRyoul Kim]
support swagger-ui-settings [SoungRyoul Kim]
Change Settings variable, allow override of default swagger settings and remove unnecessary line [Nix]
Fix whitespace issues in code [Nix]
Allow Swagger-UI configuration through settings Closes #162 [Nix]
extend django_filters test case #155
add enum postprocessing handling of blank and null #135
rest-auth improvements
test_rest_auth: Add test schema transforms [John Vandenberg]
tests: Allow transformers on expected schemas [John Vandenberg]
Improve schema difference test harness [John Vandenberg]
Add rest-auth tests [John Vandenberg]
contrib: Add rest-auth support [John Vandenberg]
Breaking changes:
enum naming collision resolution changed in cleanly resolvable situations.
enums gained
null
andblank
cases, which are modeled throughoneOf
for deduplicationSECURITY setting is now additive instead of being the mostly overridden default
0.9.14 (2020-10-04)¶
improve client generation for paginated listings
update pinned swagger-ui version #160
Hot fix for AcceptVersioningHeader support [Nicolas Delaby]
bugfix module string includes with urlpatterns #157
add expressive error in case of misconfiguration #156
fix django-filter related resolution. improve test #150 #151
improve follow_field_source for reverse resolution and model leafs #150
add ref if list field child is serializer [Matt Shirley]
add customization option for mock request generation #135
Breaking changes:
paginated list response is now wrapped in its own component
0.9.13 (2020-09-13)¶
bugfix filter parameter application on non-list views #147
improved support for django-filter
Use sha256 to hash lists [David Davis]
change empty operation name on API prefix-cut to “root”
bugfix lost “missing hint” warning and incorrect empty fallback
add operationId collision resolution #137
bugfix leaking path var names in operationId #137
add config for camelizing names #138
bugfix parameterized patterns for namespace versioning #145
Add support for Accept header versioning [Krzysztof Socha]
support for DictField child type (#142) and models.JSONField (Django>=3.1)
add convenience inline_serializer for extend_schema #139
remove multipleOf due to schema violation #131
Breaking changes:
operationId
changed for endpoints using the DRF’sFORMAT
path feature.operationId
changed where there were path variables leaking into the name.
0.9.12 (2020-07-22)¶
Temporarily pin the swagger-ui unpkg URL to 3.30.0 [Mohamed Abdulaziz]
Add
deepLinking
parameter [p.alekseev]added preprocessing hooks for operation list modification/filtering #93
Document effective DRF settings [John Vandenberg]
add format query parameter #110
improve assert messages #126
more graceful handling of magic fields #126
allow for field child on ListSerializer. #120
Fix sorting of endpoints with params [John Vandenberg]
Emit enum of possible format suffixes [John Vandenberg]
i18n #109
bugfix INSTALLED_APP retrieval #114
emit import warning for extensions with installed apps #114
Breaking changes:
drf_spectacular.hooks.postprocess_schema_enums
moved fromblumbing
tohooks
for consistency. Only relevant ifPOSTPROCESSING_HOOKS
is explicitly set by user.preprocessing hooks are currently experimental and may change on the next release.
0.9.11 (2020-07-08)¶
extend instead of replace extra parameters #111
add client generator helper settings for readOnly
bugfix format param: path params must be required=True
bugfix DRF docstring excludes and configuration #107
bugfix operations with urlpattern override #92
decrease built-in extension priority and improve doc #106
add option to hide serializer fields #100
allow None on @extend_schema request/response
bugfix json spec violation on “required :[]” for COMPONENT_SPLIT_REQUEST
Breaking changes:
@extend_schema(parameters=...)
is extending instead of replacing for customAutoSchema
path parameter are now always
required=True
as required by specification
0.9.10 (2020-06-23)¶
bugfix cyclic import in plumbing. #104
add upstream test target with contrib allowed to fail
preparations for django 3.1 and DRF 3.12
improve tox targets for unreleased upstream
0.9.9 (2020-06-20)¶
added explicit URL option to UI views. #103
improve auth extension doc #99
bugfix attr typo with Token auth extension #99
improve docstring extraction #96
Manual polymorphic [Jair Henrique]
Add summary field to extend_schema #97 [lilisha100]
reduce minimal package requirements
extend sdist with tests & doc
bugfix nested RO/WO serializer on COMPONENT_SPLIT_REQUEST
add pytest option –skip-missing-contrib #87
Save test files in temporary folder [Jair Henrique]
Setup isort library [Jair Henrique]
0.9.8 (2020-06-07)¶
0.9.7 (2020-06-05)¶
put contrib code in packages named files
improve djangorestframework-camel-case support #73
Add support to djangorestframework-camel-case [Jair Henrique]
ENUM_NAME_OVERRIDES accepts import string for easier handling #70
honor versioning on schema UIs #71
provide global enum naming. #70
refactor choice field
remove unused sorter setting
improve FileField, add test and documentation. #69
Fix file fields [John Vandenberg]
allow for functions on models beside properties. #68
replace removed DRF compat function
Breaking changes:
Enum naming conflicts are now resolved explicitly. how to resolve conflicts
Choice fields may be rendered slightly different
Swagger UI and Redoc views now honor versioned requests
Contrib package code moved. each package has its own file now
0.9.6 (2020-05-23)¶
overhaul documentation #52
improve serializer field mapping (nullbool & time)
remove duplicate and misplaced description. #61
extract serializer docstring
Recognise ListModelMixin as a list [John Vandenberg]
bugfix component sorting to include enums. #60
bugfix fail on missing readOnly flag
Fix incorrect parameter cutting [p.alekseev]
0.9.5 (2020-05-20)¶
add optional serializer component split
improve SerializerField meta extraction
improve serializer directionality
add mypy static analysis
make all readonly fields required for output. #54
make yaml multi-line strings nicer
alphanumeric component sorting.
generalize postprocessing hooks
extension override through priority attr
Breaking changes:
Schemas are functionally identical, but component sorting changed slightly.
All
read_only
fields are required by defaultSerializerFieldExtension
gained direction parameter
0.9.4 (2020-05-13)¶
robustify serializer resolution & enum postprocessing
expose api_version to command. robustify version matching. #22
add versioning support #22
robustify urlconf wrapping. resolver does not like lists
explicit override for non-list serializers on ViewSet list #49
improve model field mapping via DRF init logic
bugfix enum substitution with additional field parameters.
Fix getting default parameter for
MultipleChoiceField
[p.alekseev]bugfix model path traversal via intermediate property
try to be more graceful with unknown custom model fields. #33
Breaking changes:
If URL or namespace versioning is set in views, it is automatically used for generation. Schemas might shrink because of that. Explicit usage of
--api-version="XXX"
should yield the old result.Some warnings might change, as the field/view introspection tries to go deeper.
0.9.3 (2020-05-07)¶
Add (partial) support for drf-yasg’s serializer ref_name #27
Add thin wrappers for redoc and swagger-ui. #19
Simplify serializer naming override #27
Handle drf type error for yaml. #41
Tox.ini: Add {posargs} [John Vandenberg]
add djangorestframework-jwt auth handler [John Vandenberg]
Docs: example of a manual configuration to use a apiKey in securitySchemes [Jelmer Draaijer]
Introduce view override extension
Consolidate extensions
Parse path parameter type hints from url. closes #34
Consolidate duplicate warnings/add error #28
Prevent warning for DRF format suffix param
Improve ACCEPT header handling #42
Breaking changes:
all extension base classes moved to
drf_spectacular.extensions
0.9.2 (2020-04-27)¶
Fix incorrect PK access through id. #25.
Enable attr settings on SpectacularAPIView #35.
Bugfix @api_view annotation and tests.
Fix exception/add support for explicit ListSerializer #29.
Introduce custom serializer field extension mechanic. enables tackling #31
Improve serializer estimation with educated guesses. #28.
Bugfix import error and incorrect warning #26.
Improve scope parsing for oauth2. #26.
Postprocessing enums to components
Handle decimal coersion. closes #24.
Improvement: patched serializer variation only on request.
Add serializer directionality.
End the bucket brigade / cleaner interface.
Add poly serializer warning.
Bugfix: add serialization for default values.
Bugfix reverse access collision from schema to view.
Breaking changes:
internal interface changed (method & path removed)
fewer PatchedSerializers emitted
Enums are no longer inlined
0.9.1 (2020-04-09)¶
Bugfix missing openapi schema spec json in package
Add multi-method action decoration support.
rest-polymorphic str loading prep.
Improve list view detection.
Bugfix: response codes must be string. closes #17.
0.9.0 (2020-03-29)¶
Add missing related serializer fields #15.
Bugfix properties with $ref component. closes #16.
Bugfix polymorphic resource_type lookup. closes #14.
Generalize plugin system.
Support
required
parameter for body. [p.alekseev]Improve serializer retrieval.
Add query serializer support #10.
Custom serializer parsing with plugins.
Refactor auth plugin system. support for DjangoOAuthToolkit & SimpleJWT.
Bugfix extra components.
Breaking changes:
removed
to_schema()
fromOpenApiParameter
. Handled inAutoSchema
now.
0.8.8 (2020-03-21)¶
Documentation.
Schema serving with
SpectacularAPIView
(configurable)Add generator stats and
--fail-on-warn
command option.Schema validation with
--validation
against OpenAPI JSON specificationAdded various settings.
Bugfix/add support for basic type responses (parity with requests)
Bugfix required in parameters. failed schema validation.
Add validation against OpenAPI schema specification.
Improve parameter resolution, warnings and tests.
Allow default parameter override. (e.g.
id
)Fix queryset function call. [p.g.alekseev]
Supporting enum values in params. [p.g.alekseev]
Allow
@extend_schema
request basic type annotation.Add support for typing Optional[*]
Bugfix: handle proxy models where pk is a OnetoOne relation.
Warn on duplicate serializer names.
Added explicit exclude flag for operation.
Bugfix: PrimaryKeyRelatedField(read_only=True) failing to find type.
Change operation sorting to alphanumeric with option (#6)
Robustify serializer field support for
@extend_schema_field
.Enable field serializers support. [p.g.alekseev]
Adding custom tags support [p.g.alekseev]
Document extend_schema.
Allow operation hiding.
Catch unknown model traversals. custom fields can be tricky.
Improve model field mapping. extend field tests.
Add deprecated method to extend_schema decorator. [p.g.alekseev]
Breaking changes:
@extend_schema
renamedextra_parameters
->parameters
ExtraParameter
renamed toOpenApiParameter
0.8.5 (2020-03-08)¶
Generalize
PolymorphicResponse
intoPolymorphicProxySerializer
.Type dict is resolved as object.
Simplify hint resolution.
Allow
@extend_schema_field
for custom serializer fields.
0.8.4 (2020-03-06)¶
@extend_schema_field
accepts Serializers and OpenApiTypesGeneralize query parameter.
Bugfix serializer init.
Fix unused get_request_serializer.
Refactor and robustify typing system.
Helper scripts for swagger and generator.
Fix license.
0.8.3 (2020-03-02)¶
Fix parameter type resolution.
Remove empty parameters.
Improved assert message.
0.8.2 (2020-03-02)¶
Working release.
Bugfix wrong call & remove yaml aliases.
0.8.1 (2020-03-01)¶
Initial published version.