Changelog¶
1.21.6¶
Release date: Jun 15, 2023
IMPROVED: Remove required coreapi dependency (#854) IMPROVED: Feature: Migrate to PyYAML for yaml generator (#845) FIXED: Keep path parameters in their given order (#841) FIXED: Provide support for enums in codecs (#837)
1.21.5¶
Release date: Feb 09, 2023
ADDED: Python 3.10 support (#818) DEPRECATED: Python 3.6 support as it’s been deprecated by swagger-spec-validator FIXED: RecursiveField resolver (#822)
1.21.4¶
Release date: Sep 26, 2022
FIXED: Remove NullBooleanFields if the django-rest-framework version >= 3.14.0 (#814)
1.21.3¶
Release date: Jul 18, 2022
FIXED: Set generator url for swagger_settings.DEFAULT_API_URL (#682) FIXED: Check fields for allow_null attribute (#688) FIXED: Encode pytz object field as a string by default (#717) FIXED: Handle errors rendering with TemplateHTMLRenderer (#742)
1.21.1¶
Release date: Jul 17, 2022
FIXED: Refer to permission_classes as a tuple (#678) IMPROVED: Document drf-extra-fields base64 integration (#445) ADDED: Added many support to example code (#695) ADDED: Allow specifying response as a reference (#757) FIXED: Fix old spelling errors and add a cspell configuration (#796) FIXED: Remove universal wheel, python 2 is unsupported (#782) FIXED: Fix duration field inspector (#549)
1.20.3¶
Release date: Jul 14, 2022
1.20.0¶
Release date: Oct 25, 2020
- IMPROVED: updated
swagger-ui
to version 3.36.0 - IMPROVED: updated
ReDoc
to version 2.0.0-rc.40 - FIXED: fixed compatibility with Django Rest Framework 3.12
- FIXED: fixed compatibility with Python 3.9 typing generics
- FIXED: dropped support for obsolete
django.conf.settings.LOGOUT_URL
(#646)
The 1.18 and 1.19 series was skipped to avoid confusion with the drf-yasg2 fork. I would also like to take this opportunity to extend my apologies to the community at large for the large gap in the maintenance of drf-yasg and the problems it has caused.
1.17.1¶
Release date: Feb 17, 2020
- FIXED: fixed compatibility issue with CurrentUserDefault in Django Rest Framework 3.11
- FIXED: respect USERNAME_FIELD in generate_swagger command (#486)
Support was dropped for Python 3.5, Django 2.0, Django 2.1, DRF 3.7
1.17.0¶
Release date: Oct 03, 2019
1.16.1¶
Release date: Jul 16, 2019
1.16.0¶
Release date: Jun 13, 2019
1.15.1¶
Release date: Jun 13, 2019
- IMPROVED: updated
swagger-ui
to version 3.22.3 - IMPROVED: updated
ReDoc
to version 2.0.0-rc.8-1 - FIXED: fixed an issue with inspection of typing hints on Python 2.7 (#363)
- FIXED: fixed an issue with inspection of typing hints on Python 3.7 (#371)
Python 3.4 support has been dropped!
1.15.0¶
Release date: Apr 01, 2019
- ADDED: added
is_list_view
andhas_list_response
extension points toSwaggerAutoSchema
(#331) - IMPROVED: updated
swagger-ui
to version 3.22.0 - IMPROVED: updated
ReDoc
to version 2.0.0-rc.4 - FIXED:
ListModelMixin
will now always be treated as a list view (#306) - FIXED: non-primitive values in field
choices
will now be handled properly (#340)
1.14.0¶
Release date: Mar 04, 2019
- IMPROVED: updated
swagger-ui
to version 3.21.0 - FIXED: implicit
ref_name
collisions will now throw an exception - FIXED:
RecursiveField
will now also work as a child ofListSerializer
(#321) - FIXED: fixed
minLength
andmaxLength
forListSerializer
andListField
- FIXED: the
items
property ofSchema
,Parameter
andItems
objects was renamed toitems_
; this is a mildly breaking change and was needed to fix the collision with theitems
method ofdict
(#308) - REMOVED: the
get_summary
andget_description
methods have been removed (previously deprecated in 1.12.0)
1.13.0¶
Release date: Jan 29, 2019
- IMPROVED: type hint inspection is now supported for collections and
Optional
(#272) - IMPROVED: updated
swagger-ui
to version 3.20.5 - IMPROVED: updated
ReDoc
to version 2.0.0-rc.2 - DEPRECATED: quietly dropped support for the
flex
validator; it will still work if the library is installed, but the setup.py requirement was removed and the validator will be silently skipped if not installed (#285)
1.12.1¶
Release date: Dec 28, 2018
- IMPROVED: updated
ReDoc
to version 2.0.0-rc.0 - FIXED: management command will now correctly fall back to
DEFAULT_VERSION
for mock request - FIXED: fixed bad “raised exception during schema generation” warnings caused by missing
self
parameter
1.12.0¶
Release date: Dec 23, 2018
- ADDED:
get_security_definitions
andget_security_requirements
hooks toOpenAPISchemaGenerator
- ADDED: added
get_summary_and_description
andsplit_summary_from_description
extension points toSwaggerAutoSchema
to allow for better customization - IMPROVED: updated
swagger-ui
to version 3.20.4 - IMPROVED: paginator
next
andprevious
fields are now marked asx-nullable
(#263) - IMPROVED: added the
tags
argument toswagger_auto_schema
(#259) - IMPROVED: type of
enum
will now be automatically detected fromChoiceField
if allchoices
values are objects of the same Python class (#264) - IMPROVED:
SwaggerValidationError
details will now be logged and shown in the exception message - FIXED: user implementations of
get_queryset
,get_parsers
andget_renderers
will no longer be bypassed - FIXED: fixed handling of lazy objects in user-supplied values
- FIXED:
read_only
serializer fields will be correctly ignored when generating form parameters (#261) - FIXED: fixed incorrect return type from
UIRenderer
(#268) - FIXED: fixed inconsistent ordering of global
securityDefinitions
andsecurity
objects - DEPRECATED: the
get_summary
andget_description
extension points have been deprecated in favor of the newget_summary_and_description
, and will be removed in a future release
IMPORTANT PACKAGING NOTE
Starting with this version, the setup_requires
argument was dropped from setup.py
in favor of
build-system.requires
in pyproject.toml
. This means that for correctly building or installing from sdist,
you will need to use a PEP517/PEP518 compliant tool (tox>=3.3.0, setuptools>=40, pip>=10.0, pep517.build) or manually
install the build requirements yourself (just setuptools
and setuptools-scm
, for now).
Additionally, for correct package version detection, a full git checkout is required when building (this was always the
case). Building without .git
or without setuptools-scm
will result in a distribution with a version like
drf-yasg-1!0.0.0.dev0+noscm.00000167d19bd859
.
1.11.1¶
Release date: Nov 29, 2018
- IMPROVED: updated
swagger-ui
to version 3.20.1 - IMPROVED: updated
ReDoc
to version 2.0.0-alpha.41 - FIXED:
minLength
andmaxLength
will now also work forListSerializer
in addition toListField
- FIXED:
MultipleChoiceField
will now use themulti
collectionFormat
where appropriate (#257) - FIXED: the
format
,pattern
,enum
,min_length
andmax_length
attributes ofcoreschema.Schema
will now be persisted into the convertedopenapi.Parameter
(#212, #233)
1.11.0¶
Release date: Oct 14, 2018
- ADDED:
PERSIST_AUTH
,REFETCH_SCHEMA_WITH_AUTH
,REFETCH_SCHEMA_ON_LOGOUT
settings and related javascript implementation for persisting authentication data to swagger-ui localStorage - IMPROVED: UI-enabled views will now no longer generate the full specification document twice; the HTML part
of the view will only generate a barebones
Swagger
object with nopaths
anddefinitions
- IMPROVED: added the
FETCH_SCHEMA_WITH_QUERY
setting to enable fetching of the schema document using query parameters passed to the UI view (#208) - IMPROVED: added support for the very common
x-nullable
extension (#217) - IMPROVED: extensibility of some classes was improved by adding more extension points, together with more blocks
for
swagger-ui.html
/redoc.html
and some JavaScript hooks inswagger-ui-init.js
- FIXED: removed usage of
inspect.signature
on python 2.7 (#222)
1.10.2¶
Release date: Sep 13, 2018
- ADDED: added the
DISPLAY_OPERATION_ID
swagger-ui
setting - IMPROVED: updated
ReDoc
to version 2.0.0-alpha.38 - IMPROVED: Operation summary will now be parsed from multi-line view method docstrings (#205)
- IMPROVED:
pattern
will now work on any field with aRegexValidator
(would previously not appear on fields with special formats such asEmailField
) - FIXED: fixed an issue with
RelatedFieldInspector
handling of nested serializers - FIXED: fixed handling of
reverse_lazy
in URL settings (#209)
1.10.1¶
Release date: Sep 10, 2018
- ADDED: added the
SPEC_URL
setting for controlling the download link inswagger-ui
andReDoc
- ADDED: updated
ReDoc
settings (addedNATIVE_SCROLLBARS
andREQUIRED_PROPS_FIRST
) - ADDED: added
extra_styles
andextra_scripts
blocks to ui templates (#178) - IMPROVED: updated
swagger-ui
to version 3.18.2 - IMPROVED: updated
ReDoc
to version 2.0.0-alpha.37 - FIXED: stopped generating invalid OpenAPI by improper placement of
readOnly
Schemas - FIXED: fixed broken CSS when
USE_SESSION_AUTH=False
- FIXED: fixed implementation of
operation_summary
anddeprecated
(#194, #198) - FIXED: fixed a bug related to nested
typing
hints (#195) - FIXED: removed dependency on
future
(#196) - FIXED: fixed exceptions logged for fields with
default=None
(#203) - FIXED: fixed
request_body=no_body
handling and related tests (#188, #199)
1.10.0¶
Release date: Aug 08, 2018
ADDED: added
EXCLUDED_MEDIA_TYPES
setting for controllingproduces
MIME type filtering (#158)ADDED: added support for
SerializerMethodField
, via theswagger_serializer_method
decorator for the method field, and support for Python 3.5 style type hinting of the method field return type (#137, #175, #179)NOTE: in order for this to work, you will have to add the new
drf_yasg.inspectors.SerializerMethodFieldInspector
to yourDEFAULT_FIELD_INSPECTORS
array if you changed it from the default valueIMPROVED: updated
swagger-ui
to version 3.18.0IMPROVED: added support for Python 3.7 and Django 2.1 (#176)
IMPROVED:
swagger_schema_fields
will now also work on serializerField
s (#167)IMPROVED:
ref_name
collisions will now log a warning message (#156)IMPROVED: added
operation_summary
anddeprecated
arguments toswagger_auto_schema
(#149, #173)FIXED: made
swagger_auto_schema
work with DRF 3.9@action
mappings (#177)
1.9.2¶
Release date: Aug 03, 2018
- IMPROVED: updated
swagger-ui
to version 3.17.6 - IMPROVED: updated
ReDoc
to version 2.0.0-alpha.32 - IMPROVED: added
--api-version
argument to thegenerate_swagger
management command (#170) - FIXED: corrected various documentation typos (#160, #162, #171, #172)
- FIXED: made
generate_swagger
work for projects without authentication (#161) - FIXED: fixed
SafeText
interaction with YAML codec (#159)
1.9.1¶
Release date: Jun 30, 2018
- IMPROVED: added a
swagger_fake_view
marker to more easily detect mock views in view methods;getattr(self, 'swagger_fake_view', False)
inside a view method likeget_serializer_class
will tell you if the view instance is being used for swagger schema introspection (#154) - IMPROVED: updated
swagger-ui
to version 3.17.1 - IMPROVED: updated
ReDoc
to version 2.0.0-alpha.25 - FIXED: fixed wrong handling of duplicate urls in urlconf (#155)
- FIXED: fixed crash when passing
None
as a response override (#148)
1.9.0¶
Release date: Jun 16, 2018
- ADDED: added
DEFAULT_GENERATOR_CLASS
setting and--generator-class
argument to thegenerate_swagger
management command (#140) - FIXED: fixed wrongly required
'count'
response field onCursorPagination
(#141) - FIXED: fixed some cases where
swagger_schema_fields
would not be handled (#142) - FIXED: fixed crash when encountering
coreapi.Fields
s without aschema
(#143)
1.8.0¶
Release date: Jun 01, 2018
- ADDED: added a swagger_schema_fields field on serializer
Meta
classes for customizing schema generation (#132, #134) - FIXED: error responses from schema views are now rendered with
JSONRenderer
instead of throwing confusing errors (#130, #58) - FIXED:
readOnly
schema fields will now no longer be marked asrequired
(#133)
1.7.4¶
Release date: May 14, 2018
- IMPROVED: updated
swagger-ui
to version 3.14.2 - IMPROVED: updated
ReDoc
to version 2.0.0-alpha.20 - FIXED: ignore
None
return fromget_operation
to avoid emptyPath
objects in output - FIXED: request body is now allowed on
DELETE
endpoints (#118)
1.7.3¶
Release date: May 12, 2018
- FIXED: views whose
__init__
methods throw exceptions will now be ignored during endpoint enumeration
1.7.2¶
Release date: May 12, 2018
- FIXED: fixed generation of default
SECURITY_REQUIREMENTS
to match documented behavior - FIXED: ordering of
SECURITY_REQUIREMENTS
andSECURITY_DEFINITIONS
is now stable
1.7.1¶
Release date: May 05, 2018
- IMPROVED: updated
swagger-ui
to version 3.14.1 - IMPROVED: set
swagger-ui
showCommonExtensions
toTrue
by default and addSHOW_COMMON_EXTENSIONS
setting key - IMPROVED: set
min_length=1
whenallow_blank=False
(#112, thanks to @elnappo) - FIXED: made documentation ordering of
SwaggerDict
extra attributes stable
1.7.0¶
Release date: Apr 27, 2018
ADDED: added integration with djangorestframework-recursive (#109, #110, thanks to @rsichny)
NOTE: in order for this to work, you will have to add the new
drf_yasg.inspectors.RecursiveFieldInspector
to yourDEFAULT_FIELD_INSPECTORS
array if you changed it from the default valueFIXED:
SchemaRef
now supports cyclical references via theignore_unresolved
argument
1.6.2¶
Release date: Apr 25, 2018
1.6.0¶
Release date: Mar 24, 2018
- IMPROVED:
OAUTH2_REDIRECT_URL
will now default to the built inoauth2-redirect.html
file
1.5.1¶
Release date: Mar 18, 2018
1.5.0¶
Release date: Mar 12, 2018
IMPROVED:
serializers.HiddenField
are now hidden (#78, #79, thanks to @therefromhere)NOTE: in order for this to work, you will have to add the new
drf_yasg.inspectors.HiddenFieldInspector
to yourDEFAULT_FIELD_INSPECTORS
array if you changed it from the default valueIMPROVED: type of model field is now detected for
serializers.SlugRelatedField
withread_only=True
(#82, #83, thanks to @therefromhere)
1.4.7¶
Release date: Mar 05, 2018
- FIXED: prevent crashes caused by attempting to delete object attributes which do not exist in the first place (#76)
1.4.6¶
Release date: Mar 05, 2018
- IMPROVED: updated
swagger-ui
to version 3.12.0 - IMPROVED: updated
ReDoc
to version 1.21.2
1.4.5¶
Release date: Mar 05, 2018
1.4.4¶
Release date: Feb 26, 2018
1.4.3¶
Release date: Feb 22, 2018
- FIXED: added a missing assignment that would cause the
default
argument toopenapi.Parameter.__init__
to be ignored
1.4.2¶
Release date: Feb 22, 2018
1.4.1¶
Release date: Feb 21, 2018
- FIXED: the
coerce_to_string
is now respected when setting the type, default value and min/max values ofDecimalField
in the OpenAPI schema (#62) - FIXED: error responses from web UI views are now rendered with
TemplateHTMLRenderer
instead of throwing confusing errors (#58) - IMPROVED: updated
swagger-ui
to version 3.10.0 - IMPROVED: updated
ReDoc
to version 1.21.0
1.4.0¶
Release date: Feb 04, 2018
- ADDED: added settings for OAuth2 client configuration in
swagger-ui
(#53) - IMPROVED: updated
swagger-ui
to version 3.9.3
1.3.1¶
Release date: Jan 24, 2018
1.3.0¶
Release date: Jan 23, 2018
- ADDED: security requirements are now correctly set and can be customized; this should fix problems related
to authentication in
swagger-ui
Try it out! (#50, #54) - IMPROVED: updated
swagger-ui
to version 3.9.2 - IMPROVED: updated
ReDoc
to version 1.20.0 - FIXED: fixed an exception caused by a warning in get_path_from_regex (#49, thanks to @blueyed)
1.2.2¶
Release date: Jan 12, 2018
- FIXED: djangorestframework>=3.7.7 is now required because of breaking changes (#44, #45, thanks to @h-hirokawa)
1.2.0¶
Release date: Jan 12, 2018 (missing from PyPI due to deployment issues)
- ADDED:
basePath
is now generated by taking into account theSCRIPT_NAME
variable and the longest common prefix of API urls (#37, #42) - IMPROVED: removed inline scripts and styles from bundled HTML templates to increase CSP compatibility
- IMPROVED: improved validation errors and added more assertion sanity checks (#37, #40)
- IMPROVED: improved handling of NamespaceVersioning by excluding endpoints of differing versions (i.e. when accessing the schema view for v1, v2 endpoints will not be included in swagger)
1.1.3¶
Release date: Jan 02, 2018
- FIXED: schema view cache will now always
Vary
on theCookie
andAuthentication
(theVary
header was previously only added ifpublic
was set toTrue
) - this fixes issues related to Django authentication inswagger-ui
andCurrentUserDefault
values in the schema
1.1.2¶
Release date: Jan 01, 2018
- IMPROVED: updated
swagger-ui
to version 3.8.1 - IMPROVED: removed some unneeded static files
1.1.1¶
Release date: Dec 27, 2017
- ADDED: generate_swagger management command (#29, #31, thanks to @beaugunderson)
- FIXED: fixed improper generation of
\Z
regex tokens - will now be replaced by$
1.1.0¶
Release date: Dec 27, 2017
- ADDED: added support for APIs versioned with
URLPathVersioning
orNamespaceVersioning
- ADDED: added ability to recursively customize schema generation using plugable inspector classes
- ADDED: added
operation_id
parameter to@swagger_auto_schema
- ADDED: integration with djangorestframework-camel-case (#28)
- IMPROVED: strings, arrays and integers will now have min/max validation attributes inferred from the field-level validators
- FIXED: fixed a bug that caused
title
to never be generated for Schemas;title
is now correctly populated from the field’slabel
property
1.0.6¶
Release date: Dec 23, 2017
- FIXED: Swagger UI “Try it out!” should now work with Django login
- FIXED: callable
default
values on serializer fields will now be properly called (#24, #25) - IMPROVED: updated
swagger-ui
to version 3.8.0 - IMPROVED:
PrimaryKeyRelatedField
andSlugRelatedField
will now have appropriate types based on the related model (#26) - IMPROVED: mock views will now have a bound request even with
public=False
(#23)
1.0.5¶
Release date: Dec 18, 2017
- FIXED: fixed a crash caused by having read-only Serializers nested by reference
- FIXED: removed erroneous backslashes in paths when routes are generated using Django 2 path()
- IMPROVED: updated
swagger-ui
to version 3.7.0 - IMPROVED:
FileField
is now generated as an URL or file name in response Schemas (#21, thanks to @h-hirokawa)
1.0.4¶
Release date: Dec 16, 2017
- FIXED: fixed improper generation of YAML references
- ADDED: added
query_serializer
parameter to@swagger_auto_schema
(#16, #17)