forked from jfinkels/flask-restless
-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathCHANGES
216 lines (144 loc) · 5.69 KB
/
CHANGES
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
Changelog
=========
Changes in Flask-Restless-NG
============================
Version 3.2.3 (2024-04-19)
-------------
- Added @> and <@ PostgreSQL operators (#46 by @ajite)
Version 3.2.2 (2024-01-19)
-------------
- If Enum column is also subclass of `str` use default JSON serialization
Version 3.2.0 (2024-01-19)
-------------
- Dropped savalidation support
- Added a parameter to serializer to skip primary key check (not recommended)
Version 3.1.0 (2023-10-14):
-------------
- Added support for Flask 3.0
- Added support for Python 3.11
- Added support for Python 3.12
- Dropped support for Python 3.7
Version 3.0.0 (2023-03-19):
-------------
- Added support for SQLAlchemy 2.0
- Minimum required SQLAlchemy version: 1.4.18
- Minimum required Flask version: 2.2
- Drop Functions API support
Version 2.5.1 (2023-03-15):
-------------
- Restricted SQLAlchemy to <2.0. Support of 2.0 requires significant changes and will be a major release
Version 2.5.0 (2022-12-24):
-------------
- Added support for X-Forwarded- headers (pagination links now use the original host/proto) (#38)
Version 2.4.0 (2022-11-11):
-------------
- Clients can disable default sorting by using `sort=0` query parameter
Version 2.3.1:
-------------
- Fix for an incorrect error message
- Returns 500 instead 400 response code in case of serialization errors in POST requests
- Fix for pagination Flask-SQLAlchemy (now works also with 3.0+) (#37)
Version 2.3.0
------------
- Allow sorting of nested fields
Version 2.2.9
-------------
- Do not erase `type` field from `attributes` (#31)
Version 2.2.8
-------------
- Make sure that POST response contains actual values from the DB
Version 2.2.7
-------------
- Fix Server Error for null relationship in POST (#29)
- Allow session rollback in PATCH_RESOURCE, PATCH_RELATIONSHIP, POST_RELATIONSHIP post-processors (#28)
Version 2.2.6
-------------
- Escape user input in error messages to prevent potential server-side cross-site scripting
- 'status' field in error objects is now a string, as required by JSON API standard
https://jsonapi.org/format/#error-objects
- Returns '400' status if page number is provided but page size is 0
- Returns '400' status if unknown field was used for sorting
- Allow rolling back the current session in `POST_RESOURCE` postprocessors (#28)
Version 2.2.5
-------------
- Fix for #27 'relationship with secondary generates incorrect query'
Version 2.2.4
-------------
- Do not log exceptions for user related errors (bad query, etc)
- Update safe check for `selectinload` for `includes
- Update SQLAlchemy dependency to 1.3.6+
Version 2.2.3
-------------
- Add safe check for `selectinload` for `includes`
Version 2.2.2
-------------
- Fix an incorrect selectinload query for models with custom select queries
Version 2.2.1
-------------
- Minor improvements and fixes
Version 2.2.0
-------------
- Serialize To-One relationships using foreign key, instead of trying to fetch the whole
relationship object from the database
Version 2.1.1
-------------
- Only fetch primary keys from a database for relationships when no filtering is required
Version 2.1.0
-------------
- Re-added FunctionsAPI until the next major release to let users to implement an alternative #23
Version 2.0.3
--------------
- Fix: #26 - selectinload is broken for models that have primary keys other than 'id'. Disabled until a new schema is
implemented
- Make 'primary_key' optional again #25 (by @tanj)
Version 2.0.2
--------------
- Fixed import for SQLAlchemy 1.3 #22
Version 2.0.0
--------------
Refactored fetching resource collections:
- SQL query optimizations for 'include' and 'relationship' objects, using `selectinload`
(3x-5x performance improvement when tested on large datasets)
- New parameter 'include_links' which controls should relationship objects include links. They are not required by
JSON API, and disabling them significantly improves performance
- New interfaces for Serializer and Deserializer classes.
- APIManager requires Serializer/Deserializer objects instead of functions for `serializer`/`deserializer` options
Deprecations:
- 'single' parameter is no longer supported - makes code complicated, is not defined in JSON API specs and can be easily
replicated on a client side
- 'group' parameter is not longer supported - not defined in JSON API specifications, confusing and broken for PostrgeSQL
- JSONP callbacks are no longer supported - please reach out if you have a use case for them
Version 1.0.6
-------------
- Prevent redundant SQL queries during pagination and resource inclusion
Version 1.0.5
-------------
- #16 - Fix: including child of empty relationship (by @sharky98)
Version 1.0.4
-------------
- #15: Support SQLAlchemy 1.4.x
Version 1.0.2
-------------
- #1, #13: Fix for relationship updates not being committed (by @sharky98)
- #12: Fix for 500 when trying to include Null/None relationship
- Added TSQuery operator (by @augustin)
Version 1.0.1
-------------
- #4: `id` is an optional attribute as long as Model has a primary key
- #6: Fix for `flask_restless.views` not being included in the installed package.
Version 1.0.0
-------------
- Performance improvement: url_for() changed to build url locally instead of delegating it to Flask
- This is the last release that is backward compatible with the original Flask-Restless API.
Version 0.0.2
-------------
- New serializer (2-3x faster)
- Added lru_cache to helpers to reduce number of recursive calls (better performance)
Version 0.0.1
-------------
- Fixed 1.0+ compatibility
- Fix for hybrid_property
Original Flask-Restless
=======================
You can find the full `changelog`_ in the original repo
.. _changelog: https://github.com/jfinkels/flask-restless/blob/master/CHANGES