|
1 |
| -[unreleased] |
| 1 | +# Changelog |
| 2 | + |
| 3 | +All notable changes to this project will be documented in this file. |
| 4 | + |
| 5 | +The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), |
| 6 | +and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html). |
| 7 | + |
| 8 | +Note that in line with [Django REST Framework policy](http://www.django-rest-framework.org/topics/release-notes/), |
| 9 | +any parts of the framework not mentioned in the documentation should generally be considered private API, and may be subject to change. |
| 10 | + |
| 11 | +## [Unreleased] |
| 12 | + |
| 13 | +### Added |
2 | 14 |
|
3 | 15 | * Add testing configuration to `REST_FRAMEWORK` configuration as described in [DRF](https://www.django-rest-framework.org/api-guide/testing/#configuration)
|
4 | 16 | * Add `HyperlinkedRelatedField` and `SerializerMethodHyperlinkedRelatedField`. See [usage docs](docs/usage.md#related-fields)
|
5 | 17 | * Add related urls support. See [usage docs](docs/usage.md#related-urls)
|
6 |
| -* Replaced binary `drf_example` sqlite3 db with a [fixture](example/fixtures/drf_example.yaml). See [usage docs](docs/usage.md#running-the-example-app). |
7 | 18 | * Add optional [jsonapi-style](http://jsonapi.org/format/) filter backends. See [usage docs](docs/usage.md#filter-backends)
|
8 | 19 | * Performance improvement when rendering relationships with `ModelSerializer`
|
9 | 20 |
|
10 |
| -v2.5.0 - Released July 11, 2018 |
| 21 | +### Changed |
| 22 | + |
| 23 | +* Replaced binary `drf_example` sqlite3 db with a [fixture](example/fixtures/drf_example.json). See [getting started](docs/getting-started.md#running-the-example-app). |
| 24 | + |
| 25 | +### Fixed |
| 26 | + |
| 27 | +* Performance improvement when rendering relationships with `ModelSerializer` |
| 28 | + |
| 29 | +## [2.5.0] - 2018-07-11 |
| 30 | + |
| 31 | +### Added |
11 | 32 |
|
12 | 33 | * Add new pagination classes based on JSON:API query parameter *recommendations*:
|
13 | 34 | * `JsonApiPageNumberPagination` and `JsonApiLimitOffsetPagination`. See [usage docs](docs/usage.md#pagination).
|
14 |
| - * Deprecates `PageNumberPagination` and `LimitOffsetPagination` |
15 | 35 | * Add `ReadOnlyModelViewSet` extension with prefetch mixins
|
16 | 36 | * Add support for Django REST Framework 3.8.x
|
17 | 37 | * Introduce `JSON_API_FORMAT_FIELD_NAMES` option replacing `JSON_API_FORMAT_KEYS` but in comparison preserving
|
18 | 38 | values from being formatted as attributes can contain any [json value](http://jsonapi.org/format/#document-resource-object-attributes).
|
19 |
| - * `JSON_API_FORMAT_KEYS` still works as before (formatting all json value keys also nested) but is marked as deprecated |
20 |
| -* Performance improvement when rendering included data |
21 | 39 | * Allow overwriting of `get_queryset()` in custom `ResourceRelatedField`
|
22 | 40 |
|
23 |
| -v2.4.0 - Released January 25, 2018 |
| 41 | +### Deprecated |
| 42 | + |
| 43 | +* Deprecate `PageNumberPagination` and `LimitOffsetPagination`. Use `JsonApiPageNumberPagination` and `JsonApiLimitOffsetPagination` instead. |
| 44 | +* Deprecate `JSON_API_FORMAT_KEYS`, use `JSON_API_FORMAT_FIELD_NAMES`. |
| 45 | + |
| 46 | +### Fixed |
| 47 | + |
| 48 | +* Performance improvement when rendering included data |
| 49 | + |
| 50 | +## [2.4.0] - 2018-01-25 |
| 51 | + |
| 52 | +### Added |
24 | 53 |
|
25 | 54 | * Add support for Django REST Framework 3.7.x.
|
26 | 55 | * Add support for Django 2.0.
|
| 56 | + |
| 57 | +### Removed |
| 58 | + |
27 | 59 | * Drop support for Django 1.8 - 1.10 (EOL)
|
28 | 60 | * Drop support for Django REST Framework < 3.6.3
|
29 | 61 | (3.6.3 is the first to support Django 1.11)
|
30 | 62 | * Drop support for Python 3.3 (EOL)
|
31 | 63 |
|
32 |
| -v2.3.0 - Released November 28, 2017 |
33 | 64 |
|
34 |
| -* Added support for polymorphic models |
| 65 | +## [2.3.0] - 2017-11-28 |
| 66 | + |
| 67 | +### Added |
| 68 | + |
| 69 | +* Add support for polymorphic models |
| 70 | +* Add nested included serializer support for remapped relations |
| 71 | + |
| 72 | +### Changed |
| 73 | + |
| 74 | +* Enforcing flake8 linting |
| 75 | + |
| 76 | +### Fixed |
35 | 77 | * When `JSON_API_FORMAT_KEYS` is False (the default) do not translate request
|
36 | 78 | attributes and relations to snake\_case format. This conversion was unexpected
|
37 | 79 | and there was no way to turn it off.
|
38 | 80 | * Fix for apps that don't use `django.contrib.contenttypes`.
|
39 | 81 | * Fix `resource_name` support for POST requests and nested serializers
|
40 |
| -* Enforcing flake8 linting |
41 |
| -* Added nested included serializer support for remapped relations |
42 | 82 |
|
43 |
| -v2.2.0 |
| 83 | +## [2.2.0] - 2017-04-22 |
| 84 | + |
| 85 | +### Added |
44 | 86 |
|
45 | 87 | * Add support for Django REST Framework 3.5 and 3.6
|
46 | 88 | * Add support for Django 1.11
|
47 | 89 | * Add support for Python 3.6
|
48 | 90 |
|
49 |
| -v2.1.1 |
| 91 | +## [2.1.1] - 2016-09-26 |
| 92 | + |
| 93 | +### Added |
50 | 94 |
|
51 |
| -* Avoid setting `id` to `None` in the parser simply because it's missing |
52 |
| -* Fixed out of scope `relation_instance` variable in renderer |
53 | 95 | * Allow default DRF serializers to operate even when mixed with DRF-JA serializers
|
54 |
| -* Fixed wrong resource type for reverse foreign keys |
55 |
| -* Fixed documentation typos |
56 | 96 |
|
57 |
| -v2.1.0 |
| 97 | +### Fixed |
| 98 | + |
| 99 | +* Avoid setting `id` to `None` in the parser simply because it's missing |
| 100 | +* Fix out of scope `relation_instance` variable in renderer |
| 101 | +* Fix wrong resource type for reverse foreign keys |
| 102 | +* Fix documentation typos |
| 103 | + |
| 104 | +## [2.1.0] - 2016-08.18 |
| 105 | + |
| 106 | +### Added |
58 | 107 |
|
59 | 108 | * Parse `meta` in JSONParser
|
60 |
| -* Added code coverage reporting and updated Django versions tested against |
61 |
| -* Fixed Django 1.10 compatibility |
62 |
| -* Added support for regular non-ModelSerializers |
63 |
| -* Added performance enhancements to reduce the number of queries in related payloads |
64 |
| -* Fixed bug where related `SerializerMethodRelatedField` fields were not included even if in `include` |
65 |
| -* Convert `include` field names back to snake_case |
| 109 | +* Add code coverage reporting and updated Django versions tested against |
| 110 | +* Add support for regular non-ModelSerializers |
| 111 | + |
| 112 | +### Changed |
| 113 | + |
66 | 114 | * Documented built in `url` field for generating a `self` link in the `links` key
|
67 |
| -* Fixed bug that prevented `fields = ()` in a serializer from being valid |
68 |
| -* Fixed stale data returned in PATCH to-one relation |
| 115 | +* Convert `include` field names back to snake_case |
69 | 116 | * Raise a `ParseError` if an `id` is not included in a PATCH request
|
70 | 117 |
|
71 |
| -v2.0.1 |
| 118 | +### Fixed |
72 | 119 |
|
73 |
| -* Fixed naming error that caused ModelSerializer relationships to fail |
| 120 | +* Fix Django 1.10 compatibility |
| 121 | +* Performance enhancements to reduce the number of queries in related payloads |
| 122 | +* Fix issue where related `SerializerMethodRelatedField` fields were not included even if in `include` |
| 123 | +* Fix bug that prevented `fields = ()` in a serializer from being valid |
| 124 | +* Fix stale data returned in PATCH to-one relation |
74 | 125 |
|
75 |
| -v2.0.0 |
| 126 | +## [2.0.1] - 2016-05-02 |
76 | 127 |
|
77 |
| -* Fixed bug where write_only fields still had their keys rendered |
78 |
| -* Exception handler can now easily be used on DRF-JA views alongside regular DRF views |
79 |
| -* Added `get_related_field_name` for views subclassing RelationshipView to override |
80 |
| -* Renamed `JSON_API_FORMAT_RELATION_KEYS` to `JSON_API_FORMAT_TYPES` to match what it was actually doing |
81 |
| -* Renamed `JSON_API_PLURALIZE_RELATION_TYPE` to `JSON_API_PLURALIZE_TYPES` |
82 |
| -* Documented ResourceRelatedField and RelationshipView |
| 128 | +### Fixed |
| 129 | + |
| 130 | +* Fixes naming error that caused ModelSerializer relationships to fail |
| 131 | + |
| 132 | +## [2.0.0] - 2016-04-29 |
| 133 | + |
| 134 | +### Added |
| 135 | + |
| 136 | +* Add `get_related_field_name` for views subclassing RelationshipView to override |
83 | 137 | * Added LimitOffsetPagination
|
84 | 138 | * Support deeply nested `?includes=foo.bar.baz` without returning intermediate models (bar)
|
85 | 139 | * Allow a view's serializer_class to be fetched at runtime via `get_serializer_class`
|
86 | 140 | * Added support for `get_root_meta` on list serializers
|
87 | 141 |
|
| 142 | +### Changed |
88 | 143 |
|
89 |
| -v2.0.0-beta.2 |
| 144 | +* Exception handler can now easily be used on DRF-JA views alongside regular DRF views |
| 145 | +* Rename `JSON_API_FORMAT_RELATION_KEYS` to `JSON_API_FORMAT_TYPES` to match what it was actually doing |
| 146 | +* Rename `JSON_API_PLURALIZE_RELATION_TYPE` to `JSON_API_PLURALIZE_TYPES` |
| 147 | +* Documented ResourceRelatedField and RelationshipView |
90 | 148 |
|
91 |
| -* Added JSONAPIMeta class option to models for overriding `resource_name`. #197 |
| 149 | +### Fixed |
92 | 150 |
|
| 151 | +* Fixes bug where write_only fields still had their keys rendered |
0 commit comments