forked from Shopify/shopify_python_api
-
Notifications
You must be signed in to change notification settings - Fork 0
/
CHANGELOG
403 lines (246 loc) · 11.5 KB
/
CHANGELOG
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
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
== Unreleased
== Version 12.6.0
- Update API version with 2024-07 release ([#723](https://github.com/Shopify/shopify_python_api/pull/723))
== Version 12.5.0
- Remove `cgi` import to avoid triggering a `DeprecationWarning` on Python 3.11.
- Update API version with 2024-04 release.([710](https://github.com/Shopify/shopify_python_api/pull/710))
== Version 12.4.0
- Update API version with 2023-07, 2023-10, 2024-01 releases ([#694](https://github.com/Shopify/shopify_python_api/pull/694))
== Version 12.3.0
- Update API version with 2023-04 release ([#649](https://github.com/Shopify/shopify_python_api/pull/649))
== Version 12.2.0
- Update API version with 2023-01 release ([#631](https://github.com/Shopify/shopify_python_api/pull/631))
== Version 12.1.0
- Add API version with 2022-10 release
== Version 12.0.1
- Allow up to 10 seconds clock skew to avoid `ImmatureSignatureError`
([#609](https://github.com/Shopify/shopify_python_api/pull/609))
== Version 12.0.0
- Update API version with 2022-04 release, remove API version 2021-07 ([#591](https://github.com/Shopify/shopify_python_api/pull/591))
== Version 11.0.0
- Update API version with 2022-04 release
- remove API version 2020-10, 2021-01, 2021-04 as they are all unsupported as of 2022-04
== Version 10.0.0
- Update API version with 2022-01 release, remove API version 2020-07
== Version 9.0.0
- Drop Python 2 support ([#549](https://github.com/Shopify/shopify_python_api/pull/549))
- Update API version with 2021-10 release, remove API version 2020-04 ([#548](https://github.com/Shopify/shopify_python_api/pull/548))
== Version 8.4.2
- Update API version with 2021-07 release, remove API version 2020-01 ([#521](https://github.com/Shopify/shopify_python_api/pull/521))
== Version 8.4.1
- Bug fix: `sanitize_shop_domain` now returns `None` rather than `'none.myshopify.com'` if no `shop_domain` arg is passed in ([#499](https://github.com/Shopify/shopify_python_api/pull/499))
== Version 8.4.0
- Revert Feature #441 Dynamic API Versioning ([#495](https://github.com/Shopify/shopify_python_api/pull/495))
== Version 8.3.1
- Fix bug: Add the `shopify/utils` sub-package when building the source distribution ([#493](https://github.com/Shopify/shopify_python_api/pull/493))
== Version 8.3.0
- Add support for [session tokens](https://shopify.dev/concepts/apps/building-embedded-apps-using-session-tokens) ([#479](https://github.com/Shopify/shopify_python_api/pull/479))
- Use `session_token.decode_from_header` to obtain a decoded session token from an HTTP Authorization header
- Create a `utils` sub-package with a `shop_url` utility file ([#483](https://github.com/Shopify/shopify_python_api/pull/483))
- Use `shop_url.sanitize_shop_domain()` to sanitize shop names given as input
- Introduce the `ApiAccess` class to handle access scopes operations for apps
- `Session` class now store access_scopes attributes as `ApiAccess` objects
- Added support for Fulfillment.update_tracking ([#432](https://github.com/Shopify/shopify_python_api/pull/432))
- Add FulfillmentEvent resource ([#454](https://github.com/Shopify/shopify_python_api/pull/454))
- Fix for being unable to get the len() of a filter ([#456](https://github.com/Shopify/shopify_python_api/pull/456))
- Add ApplicationCredit resource ([#457](https://github.com/Shopify/shopify_python_api/pull/457))
- Add support for retrieving all orders using customer_id ([#466](https://github.com/Shopify/shopify_python_api/pull/466))
== Version 8.2.0
- [Feature] Add support for Dynamic API Versioning. When the library is initialized, it will now make a request to
Shopify to fetch a list of the available API versions. ([#441](https://github.com/Shopify/shopify_python_api/pull/441))
== Version 8.1.0
- [Feature] Add support for Shopify Payments resources (#428)
== Version 8.0.4
- Release API version 2020-10
- Deprecate API version 2019-10
== Version 8.0.3
- Patch for replacing call to \_build_list() with \_build_collection() in gift_card.py
== Version 8.0.2
- Patch for product updating with variants
== Version 8.0.1
- release api version 2020-07
- deprecate api version 2019-07
- Add support for FulfillmentOrder resource (#390)
== Version 8.0.0
- release api version 2020-04
- deprecate api version 2019-04
== Version 7.0.3
- bug fix for temporary sessions
- deprecation fix for regexs
== Version 7.0.2
- bug fix for variant updates after the 2019-10 api version
== Version 7.0.1
- bug fix for string interpolation
== Version 7.0.0
- Made no_iter_next default to True on collection so that by default it only
fetches a single page
- Passes kwargs to paginated collections so that attributes can be set with
find()
- Allow case insensitive check for the link header for cursor pagination.
== Version 6.0.1
- Made the collection access more consistent so that there is no confusion
between a collection and a paginated collection
== Version 6.0.0
- Add Cursor pagination support
== Version 5.1.2
- Add version 2020-01 to known ApiVersions. This version will not be usable until October 2019.
== Version 5.1.1
- Fix initializing API with basic auth URL.
== Version 5.1.0
- Added support for GraphQL queries with a GraphQL resource
== Version 5.0.1
- Fixing missing class variable causing exception when creating a session without a token
== Version 5.0.0
- Added support for Shopify API Versioning
== Version 4.0.0
- Added AccessScope resource
- Added ApiPermission resource
- Added User resource
- Added Publication, CollectionPublication and ProductPublication resources
- Added Currency resource
- Added TenderTransaction resource
- Added shopify.Limits class, for retrieving the current status of Shopify rate limiting.
- Added support for Refund.calculate
- Added support for Location.inventory_levels
- Added support for PriceRule batch operations
- Removed `cancel()` method for RecurringApplicationCharge resource (use `destroy()` going forward)
- Fix for handling array query parameters (e.g. `foo[]=1&foo[]=2`) during HMAC calculation
- Fixed Python 3 compatibility with the API console
== Version 3.1.0
- Adds InventoryItem resource
- Adds InventoryLevel resource
- Adds GiftCardAdjustment resource
- Fix to properly handle byte data for Asset.attach()
== Version 3.0.0
- Added CollectListing resource
- Added ResourceFeedback resource
- Added StorefrontAccessToken resource
- Added ProductListing resource
- Removed deprecated ProductSearchEngine resource
- Removed deprecated Discount resource
- Fixed Python3 compatibility issue with `Image.attach_image()`
== Version 2.6.0
- Added support for Marketing Event API through Marketing Event resource
== Version 2.5.1
- Fixed an issue preventing creation of Order Risk resources
== Version 2.5.0
- Added Price Rule and Discount Code resources
== Version 2.4.0
- Add support for report publishing
== Version 2.3.0
- Add support for customer#send_invite
== Version 2.2.0
- Add support for draft orders
== Version 2.1.8
- Added support for `open` method on fulfillments
== Version 2.1.7
- Removed all references to the deprecated MD5 `signature` parameter which is no longer provided by Shopify.
== Version 2.1.6
- Added Refund resource
== Version 2.1.5
- bump pyactiveresource for camelcase bugfix
== Version 2.1.4
== Version 2.1.3
- Fixed hmac signature validation for params with delimiters (`&`, `=` or `%`)
== Version 2.1.2
- Fixed an issue with unicode strings in params passed to validate_hmac
- Added shop domain verification when creating a session
== Version 2.1.1
- Added Checkout resource
- Updated to pyactiveresource v2.1.1 which includes a test-related bugfix
- Changed OAuth validation from MD5 to HMAC-SHA256
== Version 2.1.0
- Added python 3 compatibility
- Fixed setting the format attribute on carrier and fulfillment services
- Add a specific exception for signature validation failures
== Version 2.0.4
- Bug fixes
- Added CarrierService resource
- Added Property resource to LineItem
== Version 2.0.3
- Add Order Risk resource
== Version 2.0.2
- Add access to FulfillmentService endpoint
- Fix some import bugs
== Version 2.0.1
- Package bug fix
== Version 2.0.0
- Removed support for legacy auth
- Updated to pyactiveresource v2.0.0 which changes the default form to JSON
- in Session::request_token params is no longer optional, you must pass all the params
and the method will now extract the code
- made create_permission_url an instance method, you'll need an instance
of session to call this method from now on
- Updated session.request_token
- Updated Session to better match the ShopifyAPI Ruby gem
- Updated the readme to better describe how to use the library
- Added support for CustomerSavedSearch (CustomerGroup is deprecated)
== Version 1.0.7
- Fix thread local headers to store a copy of the default hash which
prevents activate_session in one thread from affecting other threads.
== Version 1.0.6
- Fix deserializing and serializing fulfillments which can now contain
arrays of strings in the tracking_urls attribute.
== Version 1.0.5
- Fix parameter passing for order cancellation.
- Fix Product.price_range method for variants with different prices.
== Version 1.0.4
- Fixed another bug in Image size methods regex.
== Version 1.0.3
- Fix bug in setting format attribute on Webhook instances.
- Fixed missing slash in return value of Image size methods
- Upgrade pyactiveresource to fix unicode encoding issues
== Version 1.0.2
- Made ShopifyResource.clear_session idempotent.
== Version 1.0.1
- Use the correct redirect parameter in Session.create_permission_url.
Was redirect_url but corrected to redirect_uri.
== Version 1.0.0
- Added support for OAuth2.
- ShopifyResource.activate_session must now be used with OAuth2 instead
of setting ShopifyResource.site directly.
- Session.**init** no longer allows params to be passed in as \*\*params
- Session.**init** now makes an HTTP request when using OAuth2 if
params are specified
- Session now exposes the access token through the token instance
variable to simplify session saving and resuming
== Version 0.4.0
- Using setup.py no longer requires all dependencies
- More compatibility fixes for using the latest pyactiveresource
- ShopifyResource.activate_session is not recommended over setting site
directly for forward compatibility with coming OAuth2 changes.
== Version 0.3.1
- Compatibility fixes for using latest (unreleased) pyactiveresource
== Version 0.3.0
- Added support for customer search and customer group search.
- Resource errors are cleared on save from previous save attempt.
- Made the library thread-safe using thread-local connections.
== Version 0.2.1
- Fixed a regression that caused a different connection
object to be created on each resource.
== Version 0.2.0
- Made responses available through the connection object.
== Version 0.1.8
- Added ability to add metafields on customers.
== Version 0.1.7
- Fixed missing theme_id in return value of Asset.find.
== Version 0.1.6
- Fixed attribute setting on Asset objects
- Strip path from shop_url to get just the shop's domain.
== Version 0.1.5
- Fixed Asset.find()
- Fixed Variant.find(id)
- Allow running from source directory with PYTHONPATH=./lib
== Version 0.1.4
- Fixed a bug in metafields method caused by missing import.
- Prefix options can be specified in the attributes dict on creation
- Allow count method to be used the same way as find
== Version 0.1.3
- Fixed the automatic download of dependencies.
- Updated the README instructions.
== Version 0.1.2
- Add python 2.5 compatibility
== Version 0.1.1
- Make creating a session simpler with django
== Version 0.1.0
- ported ShopifyAPI from ruby to python