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