Djangorestframework-jsonapi

Latest version: v6.1.0

Safety actively analyzes 621469 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 1 of 4

6.1.0

Added

* Added support for Python 3.11.
* Added support for Django 4.2.
* Added `400 Bad Request` as a possible error response in the OpenAPI schema.

Changed

* Added support to overwrite serializer methods in customized schema class
* Adjusted some still old formatted strings to f-strings.
* Replaced `OrderedDict` with `dict` which is also ordered since Python 3.7.
* Compound document "include" parameter is only included in the OpenAPI schema if serializer
implements `included_serializers`.
* Allowed overwriting of resource id by defining an `id` field on the serializer.

Example:
python
class CustomIdSerializer(serializers.Serializer):
id = serializers.CharField(source='name')
body = serializers.CharField()


* Allowed overwriting resource id on resource related fields by creating custom `ResourceRelatedField`.

Example:
python
class CustomResourceRelatedField(relations.ResourceRelatedField):
def get_resource_id(self, value):
return value.name


* `SerializerMethodResourceRelatedField(many=True)` relationship data now includes a meta section.
* Required relationship fields are now marked as required in the OpenAPI schema.
* Objects in the included array are documented in the OpenAPI schema to possibly have additional
properties in their "attributes" and "relationships" objects.

Fixed

* Refactored handling of the `sort` query parameter to fix duplicate declaration in the generated OpenAPI schema definition
* Non-field serializer errors are given a source.pointer value of "/data".
* Fixed "id" field being added to /data/attributes in the OpenAPI schema when it is not rendered there.
* Fixed `SerializerMethodResourceRelatedField(many=True)` fields being given
a "reltoone" schema reference instead of "reltomany".
* Callable field default values are excluded from the OpenAPI schema, as they don't resolve to YAML data types.

6.0.0

Fixed

* Fixed invalid relationship pointer in error objects when field naming formatting is used.
* Properly resolved related resource type when nested source field is defined.
* Prevented overwriting of pointer in custom error object
* Adhered to field naming format setting when generating schema parameters and required fields.

Added

* Added support for Django 4.1.
* Added support for Django REST framework 3.14.
* Expanded JSONParser API with `parse_data` method

Changed

* Improved documentation of how to override DRF's generateschema `--generator_class` to generate a proper DJA OAS schema.

Removed

* Removed support for Django 2.2.
* Removed support for Django REST framework 3.12.

5.0.0

This release is not backwards compatible. For easy migration best upgrade first to version

4.3.0

This is the last release supporting Django 3.0, Django 3.1 and Python 3.6.

Added

* Added support for Django 4.0.
* Added support for Python 3.10.

Fixed

* Adjusted error messages to correctly use capital "JSON:API" abbreviation as used in the specification.
* Avoid error when `parser_context` is `None` while parsing.
* Raise comprehensible error when reserved field names `meta` and `results` are used.
* Use `relationships` in the error object `pointer` when the field is actually a relationship.
* Added missing inflection to the generated OpenAPI schema.
* Added missing error message when `resource_name` is not properly configured.

Changed

* Moved resolving of `included_serialzers` and `related_serializers` classes to serializer's meta class.

Deprecated

* Deprecated `get_included_serializers(serializer)` function under `rest_framework_json_api.utils`. Use `serializer.included_serializers` instead.
* Deprecated support for field name `type` as it may not be used according to the [JSON:API spec](https://jsonapi.org/format/#document-resource-object-fields).

4.2.1

Fixed

* Included `PreloadIncludesMixin` in `ReadOnlyModelViewSet` to enable the usage of [performance utilities](https://django-rest-framework-json-api.readthedocs.io/en/stable/usage.html#performance-improvements) on read only views (regression since 2.8.0)
* Removed invalid validation of default `included_resources` (regression since 4.2.0)

4.2.0

Added

* Added support for Django 3.2.
* Added support for tags in OAS schema

Fixed

* Allow `get_serializer_class` to be overwritten when using related urls without defining `serializer_class` fallback
* Preserve field names when no formatting is configured.
* Properly support `JSON_API_FORMAT_RELATED_LINKS` setting in related urls. In case you want to use `dasherize` for formatting links make sure that your url pattern matches dashes as well like following example:

url(r'^orders/(?P<pk>[^/.]+)/(?P<related_field>[-\w]+)/$',
OrderViewSet.as_view({'get': 'retrieve_related'}),
name='order-related'),

* Ensure default `included_resources` are considered when calculating prefetches.
* Avoided error when using `include` query parameter on related urls (a regression since 4.1.0)

Deprecated

* Deprecated default `format_type` argument of `rest_framework_json_api.utils.format_value`. Use `rest_framework_json_api.utils.format_field_name` or specify specifc `format_type` instead.
* Deprecated `format_type` argument of `rest_framework_json_api.utils.format_link_segment`. Use `rest_framework_json_api.utils.format_value` instead.

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.