Releases: ghazi-git/drf-standardized-errors
Releases · ghazi-git/drf-standardized-errors
Release v0.14.1
Added
- declare support for django 5.1
Fixed
- stop ignoring exceptions with detail as an empty string when returning api errors.
Release v0.14.0
Added
- declare support for DRF 3.15
Fixed
- enforce support of only drf-spectacular 0.27 and newer in pyproject.toml
- ensure examples from
@extend_schema_serializer
are not ignored when adding error response examples - show default error response examples only when the corresponding status code is allowed
- add
"null"
to the error code enum ofnon_field_errors
validation errors
Release v0.13.0
Changed
- If you're using drf-spectacular 0.27.0 or newer, update
ENUM_NAME_OVERRIDES
entries to referencechoices
rather thanvalues
. The list of overrides specific to this package should become like this:
SPECTACULAR_SETTINGS = {
# other settings
"ENUM_NAME_OVERRIDES": {
"ValidationErrorEnum": "drf_standardized_errors.openapi_serializers.ValidationErrorEnum.choices",
"ClientErrorEnum": "drf_standardized_errors.openapi_serializers.ClientErrorEnum.choices",
"ServerErrorEnum": "drf_standardized_errors.openapi_serializers.ServerErrorEnum.choices",
"ErrorCode401Enum": "drf_standardized_errors.openapi_serializers.ErrorCode401Enum.choices",
"ErrorCode403Enum": "drf_standardized_errors.openapi_serializers.ErrorCode403Enum.choices",
"ErrorCode404Enum": "drf_standardized_errors.openapi_serializers.ErrorCode404Enum.choices",
"ErrorCode405Enum": "drf_standardized_errors.openapi_serializers.ErrorCode405Enum.choices",
"ErrorCode406Enum": "drf_standardized_errors.openapi_serializers.ErrorCode406Enum.choices",
"ErrorCode415Enum": "drf_standardized_errors.openapi_serializers.ErrorCode415Enum.choices",
"ErrorCode429Enum": "drf_standardized_errors.openapi_serializers.ErrorCode429Enum.choices",
"ErrorCode500Enum": "drf_standardized_errors.openapi_serializers.ErrorCode500Enum.choices",
# other overrides
},
}
Added
- add compatibility with drf-spectacular 0.27.x
- add support for django 5.0
Fixed
- Ensure accurate traceback inclusion in 500 error emails sent to ADMINS by capturing the original exception information using
self.exc
. This fixes the issue where tracebacks were previously showing as None fordjango version >= 4.1
. - Handle error responses with +1000 errors
Release v0.12.6
Added
- declare support for type checking
- add support for django 4.2
- add support for python 3.12
Fixed
- Avoid calling
AutoSchema.get_request_serializer
when inspecting a get operation for possible error responses.
Release v0.12.5
Added
- allow adding extra validation errors on an operation-basis using the new
@extend_validation_errors
decorator.
You can find more information about that in the documentation.
Fixed
- use
model._default_manager
instead ofmodel.objects
. - Don't generate error responses for OpenAPI callbacks.
- Make
_should_add_http403_error_response
check if permission isIsAuthenticated
andAllowAny
viatype
instead ofisinstance
- Don't collect error codes from nested
read_only
fields
Release v0.12.4
Fixed
- account for specifying the request serializer as a basic type (like
OpenApiTypes.STR
) or as a
PolymorphicProxySerializer
using@extend_schema(request=...)
when determining error codes for validation errors.
Release v0.12.3
Added
- add support for python 3.11
Release v0.12.2
Added
- When a custom validator class defines a
code
attribute, add it to the list of error codes raised by
the corresponding field. - add support for DRF 3.14
Release v0.12.1
Fixed
- generate the mapping for discriminator fields properly instead of showing a "null" value in the generated schema (#12).
Release v0.12.0
Added
- add support for automatically generating error responses schema with drf-spectacular. Check out the corresponding documentation page to know more about the integration with drf-spectacular.
- add support for django 4.1