Release date: Jun 13, 2019
- ADDED: added reference_resolver_class attribute hook to SwaggerAutoSchema (
350
) - ADDED: added operation_keys attribute to SwaggerAutoSchema, along with __init__ parameter (
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 (
363
) - FIXED: fixed an issue with inspection of typing hints on Python 3.7 (
371
)
Python 3.4 support has been dropped!
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-primtive values in field
choices
will now be handled properly (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
(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)
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
)
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 customisation - 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 incosistent 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 (257
) - FIXED: the
format
,pattern
,enum
,min_length
andmax_length
attributes ofcoreschema.Schema
will now be persited into the convertedopenapi.Parameter
(212
,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 (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
)
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
)
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
)
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 value- IMPROVED: updated
swagger-ui
to version 3.18.0 - IMPROVED: 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
)
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
)
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
)
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 handlded (142
) - FIXED: fixed crash when encountering
coreapi.Fields
s without aschema
(143
)
Release date: Jun 01, 2018
- ADDED: added a
swagger_schema_fields <swagger_schema_fields>
field on serializerMeta
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
)
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
)
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 behaviour - 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
(112
, thanks toelnappo
) - FIXED: made documentation ordering of
SwaggerDict
extra attributes stable
Release date: Apr 27, 2018
ADDED: added integration with djangorestframework-recursive (
109
,110
, thanks torsichny
)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 value- FIXED:
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); fixes107
- FIXED: made documentation ordering of parameters stable for urls with multiple parameters (
105
,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
(81
, thanks toko-pp
)
Release date: Mar 12, 2018
IMPROVED:
serializers.HiddenField
are now hidden (78
,79
, thanks totherefromhere
)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 value- IMPROVED: type of model field is now detected for
serializers.SlugRelatedField
withread_only=True
(82
,83
, thanks totherefromhere
)
Release date: Mar 05, 2018
- FIXED: prevent crashes caused by attempting to delete object attributes which do not exist in the first place (
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 (74
,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 (69
) - FIXED:
lookup_field
andlookup_value_regex
on the sameViewSet
will no longer trigger an exception (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 (59
,65
) - FIXED:
Response
objects without aschema
are now properly handled when passed throughswagger_auto_schema
(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 (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
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
Release date: Jan 24, 2018
- FIXED: fixed a bug that would sometimes cause endpoints to wrongly be output as form operations (
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
(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! (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 toblueyed
)
Release date: Jan 12, 2018
- FIXED: djangorestframework>=3.7.7 is now required because of breaking changes (
44
,45
, thanks toh-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 (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 accesing 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:
generate_swagger management command <management-command>
(29
,31
, thanks tobeaugunderson
) - FIXED: fixed improper generation of
\Z
regex tokens - will now be repalced by$
Release date: Dec 27, 2017
- ADDED: added support for APIs versioned with
URLPathVersioning
orNamespaceVersioning
- ADDED: added ability to recursively customize schema generation
using pluggable inspector classes <custom-spec-inspectors>
- ADDED: added
operation_id
parameter to@swagger_auto_schema <.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
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
)
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 toh-hirokawa
)
Release date: Dec 16, 2017
- FIXED: fixed improper generation of YAML references
- ADDED: added
query_serializer
parameter to@swagger_auto_schema <.swagger_auto_schema>
(16
,17
)
Release date: Dec 15, 2017
- FIXED: fixed bug that caused schema views returned from cache to fail (
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