Release date: Jul 18, 2022
FIXED: Set generator url for swagger_settings.DEFAULT_API_URL (:pr:`682`) FIXED: Check fields for allow_null attribute (:pr:`688`) FIXED: Encode pytz object field as a string by default (:pr:`717`) FIXED: Handle errors rendering with TemplateHTMLRenderer (:pr:`742`)
Release date: Jul 18, 2022
FIXED: Fixed code block rst syntax in README.rst
Release date: Jul 17, 2022
FIXED: Refer to permission_classes as a tuple (:pr:`678`) IMPROVED: Document drf-extra-fields base64 integration (:pr:`445`) ADDED: Added many support to example code (:pr:`695`) ADDED: Allow specifying response as a reference (:pr:`757`) FIXED: Fix old spelling errors and add a cspell configuration (:pr:`796`) FIXED: Remove universal wheel, python 2 is unsupported (:pr:`782`) FIXED: Fix duration field inspector (:pr:`549`)
Release date: Jul 14, 2022
- IMPROVED: Add utf-8 support to yaml loaders (:pr:`692`)
Release date: Jul 14, 2022
- FIXED: Source mapping in
redoc.min.js
(:pr:`778`) - FIXED: Publish action tag pattern in
publish.yml
(:pr:`794`)
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
(:pr:`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.
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 (:pr:`486`)
Support was dropped for Python 3.5, Django 2.0, Django 2.1, DRF 3.7
Release date: Oct 03, 2019
- ADDED: added JSONFieldInspector for JSONField support (:pr:`417`)
- IMPROVED: updated
swagger-ui
to version 3.23.11 - IMPROVED: updated
ReDoc
to version 2.0.0-rc.14 (:issue:`398`) - FIXED: fixed a type hint support issue (:pr:`428`, :issue:`450`)
- FIXED: fixed packaging issue caused by a missing requirement (:issue:`412`)
Release date: Jul 16, 2019
- IMPROVED: better enum type detection for nested ChoiceFields (:pr:`400`)
- FIXED: fixed DRF 3.10 compatibility (:pr:`408`, :issue:`410`, :issue:`411`)
Release date: Jun 13, 2019
- ADDED: added reference_resolver_class attribute hook to SwaggerAutoSchema (:pr:`350`)
- ADDED: added operation_keys attribute to SwaggerAutoSchema, along with __init__ parameter (:pr:`355`)
- FIXED: fixed potential crash on issubclass check without isclass check
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 (:issue:`363`)
- FIXED: fixed an issue with inspection of typing hints on Python 3.7 (:issue:`371`)
Python 3.4 support has been dropped!
Release date: Apr 01, 2019
- ADDED: added
is_list_view
andhas_list_response
extension points toSwaggerAutoSchema
(:issue:`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 (:issue:`306`) - FIXED: non-primitive values in field
choices
will now be handled properly (:issue:`340`)
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
(:pr:`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
(:pr:`308`) - REMOVED: the
get_summary
andget_description
methods have been removed (previously deprecated in 1.12.0)
Release date: Jan 29, 2019
- IMPROVED: type hint inspection is now supported for collections and
Optional
(:pr:`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 (:issue:`285`)
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
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
(:issue:`263`) - IMPROVED: added the
tags
argument toswagger_auto_schema
(:pr:`259`) - IMPROVED: type of
enum
will now be automatically detected fromChoiceField
if allchoices
values are objects of the same Python class (:pr:`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 (:issue:`261`) - FIXED: fixed incorrect return type from
UIRenderer
(:pr:`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
.
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 (:issue:`257`) - FIXED: the
format
,pattern
,enum
,min_length
andmax_length
attributes ofcoreschema.Schema
will now be persisted into the convertedopenapi.Parameter
(:issue:`212`, :pr:`233`)
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 (:issue:`208`) - IMPROVED: added support for the very common
x-nullable
extension (:issue:`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 (:issue:`222`)
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 (:issue:`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 (:issue:`209`)
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 (:issue:`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
(:pr:`194`, :pr:`198`) - FIXED: fixed a bug related to nested
typing
hints (:pr:`195`) - FIXED: removed dependency on
future
(:issue:`196`) - FIXED: fixed exceptions logged for fields with
default=None
(:issue:`203`) - FIXED: fixed
request_body=no_body
handling and related tests (:issue:`188`, :issue:`199`)
Release date: Aug 08, 2018
ADDED: added
EXCLUDED_MEDIA_TYPES
setting for controllingproduces
MIME type filtering (:issue:`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 (:issue:`137`, :pr:`175`, :pr:`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 (:pr:`176`)
IMPROVED:
swagger_schema_fields
will now also work on serializerField
s (:issue:`167`)IMPROVED:
ref_name
collisions will now log a warning message (:issue:`156`)IMPROVED: added
operation_summary
anddeprecated
arguments toswagger_auto_schema
(:issue:`149`, :issue:`173`)FIXED: made
swagger_auto_schema
work with DRF 3.9@action
mappings (:issue:`177`)
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 (:pr:`170`) - FIXED: corrected various documentation typos (:pr:`160`, :pr:`162`, :issue:`171`, :pr:`172`)
- FIXED: made
generate_swagger
work for projects without authentication (:pr:`161`) - FIXED: fixed
SafeText
interaction with YAML codec (:issue:`159`)
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 (:issue:`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 (:pr:`155`)
- FIXED: fixed crash when passing
None
as a response override (:issue:`148`)
Release date: Jun 16, 2018
- ADDED: added
DEFAULT_GENERATOR_CLASS
setting and--generator-class
argument to thegenerate_swagger
management command (:issue:`140`) - FIXED: fixed wrongly required
'count'
response field onCursorPagination
(:issue:`141`) - FIXED: fixed some cases where
swagger_schema_fields
would not be handled (:pr:`142`) - FIXED: fixed crash when encountering
coreapi.Fields
s without aschema
(:issue:`143`)
Release date: Jun 01, 2018
- ADDED: added a :ref:`swagger_schema_fields <swagger_schema_fields>` field on serializer
Meta
classes for customizing schema generation (:issue:`132`, :pr:`134`) - FIXED: error responses from schema views are now rendered with
JSONRenderer
instead of throwing confusing errors (:pr:`130`, :issue:`58`) - FIXED:
readOnly
schema fields will now no longer be marked asrequired
(:pr:`133`)
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 (:issue:`118`)
Release date: May 12, 2018
- FIXED: views whose
__init__
methods throw exceptions will now be ignored during endpoint enumeration
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
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
(:pr:`112`, thanks to :ghuser:`elnappo`) - FIXED: made documentation ordering of
SwaggerDict
extra attributes stable
Release date: Apr 27, 2018
ADDED: added integration with djangorestframework-recursive (:issue:`109`, :pr:`110`, thanks to :ghuser:`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
Release date: Apr 25, 2018
- IMPROVED: updated
swagger-ui
to version 3.13.6 - IMPROVED: switched
ReDoc
to version 2.0.0-alpha.17 (was 1.21.2); fixes :issue:`107` - FIXED: made documentation ordering of parameters stable for urls with multiple parameters (:issue:`105`, :pr:`106`)
- FIXED: fixed crash when using a model
ChoiceField
of unknown child type
Release date: Apr 01, 2018
- ADDED: added
SUPPORTED_SUBMIT_METHODS
swagger-ui
setting
Release date: Mar 24, 2018
- IMPROVED:
OAUTH2_REDIRECT_URL
will now default to the built inoauth2-redirect.html
file
Release date: Mar 18, 2018
- IMPROVED: updated
swagger-ui
to version 3.13.0 - FIXED: fixed a crash caused by
serializers.OneToOneRel
(:pr:`81`, thanks to :ghuser:`ko-pp`)
Release date: Mar 12, 2018
IMPROVED:
serializers.HiddenField
are now hidden (:issue:`78`, :pr:`79`, thanks to :ghuser:`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
(:issue:`82`, :pr:`83`, thanks to :ghuser:`therefromhere`)
Release date: Mar 05, 2018
- FIXED: prevent crashes caused by attempting to delete object attributes which do not exist in the first place (:issue:`76`)
Release date: Mar 05, 2018
- IMPROVED: updated
swagger-ui
to version 3.12.0 - IMPROVED: updated
ReDoc
to version 1.21.2
Release date: Mar 05, 2018
- FIXED: fixed an issue with modification of
swagger_auto_schema
arguments in-place during introspection, which would sometimes cause an incomplete Swagger document to be generated after the first pass (:issue:`74`, :pr:`75`)
Release date: Feb 26, 2018
- IMPROVED:
type
forChoiceField
generated by aModelSerializer
from a model field withchoices=...
will now be set according to the associated model field (:issue:`69`) - FIXED:
lookup_field
andlookup_value_regex
on the sameViewSet
will no longer trigger an exception (:issue:`68`)
Release date: Feb 22, 2018
- FIXED: added a missing assignment that would cause the
default
argument toopenapi.Parameter.__init__
to be ignored
Release date: Feb 22, 2018
- FIXED: fixed a bug that causes a
ModelViewSet
generated from models with nestedForeignKey
to output models namedNested
into thedefinitions
section (:issue:`59`, :pr:`65`) - FIXED:
Response
objects without aschema
are now properly handled when passed throughswagger_auto_schema
(:issue:`66`)
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 (:issue:`62`) - FIXED: error responses from web UI views are now rendered with
TemplateHTMLRenderer
instead of throwing confusing errors (:issue:`58`) - IMPROVED: updated
swagger-ui
to version 3.10.0 - IMPROVED: updated
ReDoc
to version 1.21.0
Release date: Feb 04, 2018
- ADDED: added settings for OAuth2 client configuration in
swagger-ui
(:issue:`53`) - IMPROVED: updated
swagger-ui
to version 3.9.3
Release date: Jan 24, 2018
- FIXED: fixed a bug that would sometimes cause endpoints to wrongly be output as form operations (:issue:`50`)
- IMPROVED: added generation of
produces
based on renderer classes - IMPROVED: added generation of top-level
consumes
andproduces
based onDEFAULT_PARSER_CLASSES
andDEFAULT_RENDERER_CLASSES
(:issue:`48`)
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! (:issue:`50`, :pr:`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 (:pr:`49`, thanks to :ghuser:`blueyed`)
Release date: Jan 12, 2018
- FIXED: djangorestframework>=3.7.7 is now required because of breaking changes (:issue:`44`, :pr:`45`, thanks to :ghuser:`h-hirokawa`)
Release date: Jan 12, 2018
- Fixed deployment issues
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 (:issue:`37`, :pr:`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 (:issue:`37`, :issue:`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)
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
Release date: Jan 01, 2018
- IMPROVED: updated
swagger-ui
to version 3.8.1 - IMPROVED: removed some unneeded static files
Release date: Dec 27, 2017
- ADDED: :ref:`generate_swagger management command <management-command>` (:issue:`29`, :pr:`31`, thanks to :ghuser:`beaugunderson`)
- FIXED: fixed improper generation of
\Z
regex tokens - will now be replaced by$
Release date: Dec 27, 2017
- ADDED: added support for APIs versioned with
URLPathVersioning
orNamespaceVersioning
- ADDED: added ability to recursively customize schema generation :ref:`using plugable inspector classes <custom-spec-inspectors>`
- ADDED: added
operation_id
parameter to :func:`@swagger_auto_schema <.swagger_auto_schema>` - ADDED: integration with djangorestframework-camel-case (:issue:`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
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 (:pr:`24`, :issue:`25`) - IMPROVED: updated
swagger-ui
to version 3.8.0 - IMPROVED:
PrimaryKeyRelatedField
andSlugRelatedField
will now have appropriate types based on the related model (:pr:`26`) - IMPROVED: mock views will now have a bound request even with
public=False
(:pr:`23`)
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 (:pr:`21`, thanks to :ghuser:`h-hirokawa`)
Release date: Dec 16, 2017
- FIXED: fixed improper generation of YAML references
- ADDED: added
query_serializer
parameter to :func:`@swagger_auto_schema <.swagger_auto_schema>` (:issue:`16`, :pr:`17`)
Release date: Dec 15, 2017
- FIXED: fixed bug that caused schema views returned from cache to fail (:issue:`14`)
- FIXED: disabled automatic generation of response schemas for form operations to avoid confusing errors caused by attempting to shove file parameters into Schema objects
Release date: Dec 13, 2017
- First published version