Skip to content

Commit 1cb2a95

Browse files
author
Oliver Sauder
committed
Move to keep a changelog format
Fixes django-json-api#470 Includes documentation of versioning and deprecation policy
1 parent 5de570c commit 1cb2a95

File tree

1 file changed

+99
-38
lines changed

1 file changed

+99
-38
lines changed

CHANGELOG.md

+99-38
Original file line numberDiff line numberDiff line change
@@ -1,94 +1,155 @@
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
214

315
* Add testing configuration to `REST_FRAMEWORK` configuration as described in [DRF](https://www.django-rest-framework.org/api-guide/testing/#configuration)
416
* Add `HyperlinkedRelatedField` and `SerializerMethodHyperlinkedRelatedField`. See [usage docs](docs/usage.md#related-fields)
517
* 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).
18+
* Add optional [jsonapi-style](http://jsonapi.org/format/) filter backends. See [usage docs](docs/usage.md#filter-backends)
19+
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+
### Deprecated
25+
726
* For naming consistency, renamed new `JsonApi`-prefix pagination classes to `JSONAPI`-prefix.
827
* Deprecates `JsonApiPageNumberPagination` and `JsonApiLimitOffsetPagination`
28+
29+
### Fixed
30+
931
* Performance improvement when rendering relationships with `ModelSerializer`
10-
* Add optional [jsonapi-style](http://jsonapi.org/format/) filter backends. See [usage docs](docs/usage.md#filter-backends)
1132

12-
v2.5.0 - Released July 11, 2018
33+
## [2.5.0] - 2018-07-11
34+
35+
### Added
1336

1437
* Add new pagination classes based on JSON:API query parameter *recommendations*:
1538
* `JsonApiPageNumberPagination` and `JsonApiLimitOffsetPagination`. See [usage docs](docs/usage.md#pagination).
16-
* Deprecates `PageNumberPagination` and `LimitOffsetPagination`
1739
* Add `ReadOnlyModelViewSet` extension with prefetch mixins
1840
* Add support for Django REST Framework 3.8.x
1941
* Introduce `JSON_API_FORMAT_FIELD_NAMES` option replacing `JSON_API_FORMAT_KEYS` but in comparison preserving
2042
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
2343
* Allow overwriting of `get_queryset()` in custom `ResourceRelatedField`
2444

25-
v2.4.0 - Released January 25, 2018
45+
### Deprecated
46+
47+
* Deprecate `PageNumberPagination` and `LimitOffsetPagination`. Use `JsonApiPageNumberPagination` and `JsonApiLimitOffsetPagination` instead.
48+
* Deprecate `JSON_API_FORMAT_KEYS`, use `JSON_API_FORMAT_FIELD_NAMES`.
49+
50+
### Fixed
51+
52+
* Performance improvement when rendering included data
53+
54+
## [2.4.0] - 2018-01-25
55+
56+
### Added
2657

2758
* Add support for Django REST Framework 3.7.x.
2859
* Add support for Django 2.0.
60+
61+
### Removed
62+
2963
* Drop support for Django 1.8 - 1.10 (EOL)
3064
* Drop support for Django REST Framework < 3.6.3
3165
(3.6.3 is the first to support Django 1.11)
3266
* Drop support for Python 3.3 (EOL)
3367

34-
v2.3.0 - Released November 28, 2017
3568

36-
* Added support for polymorphic models
69+
## [2.3.0] - 2017-11-28
70+
71+
### Added
72+
73+
* Add support for polymorphic models
74+
* Add nested included serializer support for remapped relations
75+
76+
### Changed
77+
78+
* Enforcing flake8 linting
79+
80+
### Fixed
3781
* When `JSON_API_FORMAT_KEYS` is False (the default) do not translate request
3882
attributes and relations to snake\_case format. This conversion was unexpected
3983
and there was no way to turn it off.
4084
* Fix for apps that don't use `django.contrib.contenttypes`.
4185
* Fix `resource_name` support for POST requests and nested serializers
42-
* Enforcing flake8 linting
43-
* Added nested included serializer support for remapped relations
4486

45-
v2.2.0
87+
## [2.2.0] - 2017-04-22
88+
89+
### Added
4690

4791
* Add support for Django REST Framework 3.5 and 3.6
4892
* Add support for Django 1.11
4993
* Add support for Python 3.6
5094

51-
v2.1.1
95+
## [2.1.1] - 2016-09-26
96+
97+
### Added
5298

53-
* Avoid setting `id` to `None` in the parser simply because it's missing
54-
* Fixed out of scope `relation_instance` variable in renderer
5599
* 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
58100

59-
v2.1.0
101+
### Fixed
102+
103+
* Avoid setting `id` to `None` in the parser simply because it's missing
104+
* Fix out of scope `relation_instance` variable in renderer
105+
* Fix wrong resource type for reverse foreign keys
106+
* Fix documentation typos
107+
108+
## [2.1.0] - 2016-08.18
109+
110+
### Added
60111

61112
* 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
113+
* Add code coverage reporting and updated Django versions tested against
114+
* Add support for regular non-ModelSerializers
115+
116+
### Changed
117+
68118
* 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
119+
* Convert `include` field names back to snake_case
71120
* Raise a `ParseError` if an `id` is not included in a PATCH request
72121

73-
v2.0.1
122+
### Fixed
74123

75-
* Fixed naming error that caused ModelSerializer relationships to fail
124+
* Fix Django 1.10 compatibility
125+
* Performance enhancements to reduce the number of queries in related payloads
126+
* Fix issue where related `SerializerMethodRelatedField` fields were not included even if in `include`
127+
* Fix bug that prevented `fields = ()` in a serializer from being valid
128+
* Fix stale data returned in PATCH to-one relation
76129

77-
v2.0.0
130+
## [2.0.1] - 2016-05-02
78131

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
132+
### Fixed
133+
134+
* Fixes naming error that caused ModelSerializer relationships to fail
135+
136+
## [2.0.0] - 2016-04-29
137+
138+
### Added
139+
140+
* Add `get_related_field_name` for views subclassing RelationshipView to override
85141
* Added LimitOffsetPagination
86142
* Support deeply nested `?includes=foo.bar.baz` without returning intermediate models (bar)
87143
* Allow a view's serializer_class to be fetched at runtime via `get_serializer_class`
88144
* Added support for `get_root_meta` on list serializers
89145

146+
### Changed
90147

91-
v2.0.0-beta.2
148+
* Exception handler can now easily be used on DRF-JA views alongside regular DRF views
149+
* Rename `JSON_API_FORMAT_RELATION_KEYS` to `JSON_API_FORMAT_TYPES` to match what it was actually doing
150+
* Rename `JSON_API_PLURALIZE_RELATION_TYPE` to `JSON_API_PLURALIZE_TYPES`
151+
* Documented ResourceRelatedField and RelationshipView
92152

93-
* Added JSONAPIMeta class option to models for overriding `resource_name`. #197
153+
### Fixed
94154

155+
* Fixes bug where write_only fields still had their keys rendered

0 commit comments

Comments
 (0)