shopify_api 10.0.0 → 10.0.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/.github/pull_request_template.md +2 -2
  3. data/.github/workflows/build.yml +1 -0
  4. data/CHANGELOG.md +238 -212
  5. data/Gemfile.lock +6 -6
  6. data/README.md +2 -6
  7. data/RELEASING.md +18 -0
  8. data/Rakefile +1 -1
  9. data/docs/usage/rest.md +5 -5
  10. data/lib/shopify_api/admin_versions.rb +14 -9
  11. data/lib/shopify_api/auth/jwt_payload.rb +6 -3
  12. data/lib/shopify_api/context.rb +2 -2
  13. data/lib/shopify_api/rest/base.rb +73 -31
  14. data/lib/shopify_api/rest/resources/2021_07/abandoned_checkout.rb +3 -4
  15. data/lib/shopify_api/rest/resources/2021_07/article.rb +9 -2
  16. data/lib/shopify_api/rest/resources/2021_07/gift_card_adjustment.rb +1 -1
  17. data/lib/shopify_api/rest/resources/2021_07/variant.rb +6 -2
  18. data/lib/shopify_api/rest/resources/2021_10/abandoned_checkout.rb +3 -4
  19. data/lib/shopify_api/rest/resources/2021_10/article.rb +9 -2
  20. data/lib/shopify_api/rest/resources/2021_10/gift_card_adjustment.rb +1 -1
  21. data/lib/shopify_api/rest/resources/2021_10/variant.rb +6 -2
  22. data/lib/shopify_api/rest/resources/2022_01/abandoned_checkout.rb +3 -4
  23. data/lib/shopify_api/rest/resources/2022_01/article.rb +9 -2
  24. data/lib/shopify_api/rest/resources/2022_01/gift_card_adjustment.rb +1 -1
  25. data/lib/shopify_api/rest/resources/2022_01/variant.rb +6 -2
  26. data/lib/shopify_api/rest/resources/2022_04/abandoned_checkout.rb +3 -4
  27. data/lib/shopify_api/rest/resources/2022_04/article.rb +9 -2
  28. data/lib/shopify_api/rest/resources/2022_04/gift_card_adjustment.rb +1 -1
  29. data/lib/shopify_api/rest/resources/2022_04/variant.rb +6 -2
  30. data/lib/shopify_api/version.rb +1 -1
  31. metadata +3 -3
  32. data/RELEASING +0 -17
data/CHANGELOG.md CHANGED
@@ -1,3 +1,26 @@
1
+ # Changelog
2
+
3
+ ## Unreleased
4
+
5
+ ## Version 10.0.3
6
+
7
+ ### Fixed
8
+
9
+ - [#935](https://github.com/Shopify/shopify_api/pull/935) Fix issue [#931](https://github.com/Shopify/shopify_api/pull/931), weight of variant should be float
10
+ - [#944](https://github.com/Shopify/shopify_api/pull/944) Deprecated the `validate_shop` method from the JWT class since we can trust the token payload, since it comes from Shopify.
11
+
12
+ ## Version 10.0.2
13
+
14
+ - [#929](https://github.com/Shopify/shopify_api/pull/929) Aligning sorbet dependencies
15
+
16
+ ## Version 10.0.1
17
+
18
+ ### Fixed
19
+
20
+ - [#919](https://github.com/Shopify/shopify_api/pull/919) Allow REST resources to configure a deny list of attributes to be excluded when saving
21
+ - [#920](https://github.com/Shopify/shopify_api/pull/920) Set all values received from the API response to REST resource objects, and allow setting / getting attributes with special characters (such as `?`)
22
+ - [#927](https://github.com/Shopify/shopify_api/pull/927) Fix the `ShopifyAPI::AdminVersions` module for backward compatibility
23
+
1
24
  ## Version 10.0.0
2
25
 
3
26
  - Major update to the library to provide _all_ essential functions needed for a Shopify app, supporting embedded apps with session tokens. See the [full list of changes](https://github.com/Shopify/shopify_api#breaking-change-notice-for-version-1000) here
@@ -8,496 +31,499 @@
8
31
 
9
32
  ## Version 9.5
10
33
 
11
- * [#883](https://github.com/Shopify/shopify_api/pull/883) Add support for Ruby 3.0
34
+ - [#883](https://github.com/Shopify/shopify_api/pull/883) Add support for Ruby 3.0
12
35
 
13
36
  ## Version 9.4.1
14
37
 
15
- * [#847](https://github.com/Shopify/shopify_api/pull/847) Update `create_permission_url` method to use grant_options
16
- * [#852](https://github.com/Shopify/shopify_api/pull/852) Bumping kramdown to fix a security vulnerability
38
+ - [#847](https://github.com/Shopify/shopify_api/pull/847) Update `create_permission_url` method to use grant_options
39
+ - [#852](https://github.com/Shopify/shopify_api/pull/852) Bumping kramdown to fix a security vulnerability
17
40
 
18
41
  ## Version 9.4.0
19
42
 
20
- * [#843](https://github.com/Shopify/shopify_api/pull/843) Introduce a new `access_scopes` attribute on the Session class.
21
- * Specifying this in the Session constructor is optional. By default, this attribute returns `nil`.
43
+ - [#843](https://github.com/Shopify/shopify_api/pull/843) Introduce a new `access_scopes` attribute on the Session class.
44
+ - Specifying this in the Session constructor is optional. By default, this attribute returns `nil`.
22
45
 
23
46
  ## Version 9.3.0
24
47
 
25
- * [#797](https://github.com/Shopify/shopify_api/pull/797) Release new Endpoint `fulfillment_order.open` and `fulfillment_order.reschedule`.
48
+ - [#797](https://github.com/Shopify/shopify_api/pull/797) Release new Endpoint `fulfillment_order.open` and `fulfillment_order.reschedule`.
26
49
 
27
- * [#818](https://github.com/Shopify/shopify_api/pull/818) Avoid depending on ActiveSupport in Sesssion class.
50
+ - [#818](https://github.com/Shopify/shopify_api/pull/818) Avoid depending on ActiveSupport in Sesssion class.
28
51
 
29
- * Freeze all string literals. This should have no impact unless your application is modifying ('monkeypatching') the internals of the library in an unusual way.
52
+ - Freeze all string literals. This should have no impact unless your application is modifying ('monkeypatching') the internals of the library in an unusual way.
30
53
 
31
- * [#802](https://github.com/Shopify/shopify_api/pull/802) Made `inventory_quantity` a read-only field in Variant
54
+ - [#802](https://github.com/Shopify/shopify_api/pull/802) Made `inventory_quantity` a read-only field in Variant
32
55
 
33
- * [#821](https://github.com/Shopify/shopify_api/pull/821) Add logging based on environment variable, move log subscriber out of `detailed_log_subscriber`.
56
+ - [#821](https://github.com/Shopify/shopify_api/pull/821) Add logging based on environment variable, move log subscriber out of `detailed_log_subscriber`.
34
57
  The `ActiveResource::DetailedLogSubscriber` no longer automatically attaches when the class is loaded. If you were previously relying on that behaviour, you'll now need to call `ActiveResource::DetailedLogSubscriber.attach_to(:active_resource_detailed)`. (If using the new `SHOPIFY_LOG_PATH` environment setting then this is handled for you).
35
58
 
36
- * Provide `ApiAccess` value object to encapsulate scope operations [#829](https://github.com/Shopify/shopify_api/pull/829)
59
+ - Provide `ApiAccess` value object to encapsulate scope operations [#829](https://github.com/Shopify/shopify_api/pull/829)
37
60
 
38
61
  ## Version 9.2.0
39
62
 
40
- * Removes the `shopify` binary which will be used by the Shopify CLI
63
+ - Removes the `shopify` binary which will be used by the Shopify CLI
41
64
 
42
65
  ## Version 9.1.1
43
66
 
44
- * Make cursor based pagination return relative uri's when fetching next and previous pages. [#726](https://github.com/Shopify/shopify_api/pull/726)
67
+ - Make cursor based pagination return relative uri's when fetching next and previous pages. [#726](https://github.com/Shopify/shopify_api/pull/726)
45
68
 
46
69
  ## Version 9.1.0
47
70
 
48
- * Implements equality operator on `Session` [#714](https://github.com/Shopify/shopify_api/pull/714)
71
+ - Implements equality operator on `Session` [#714](https://github.com/Shopify/shopify_api/pull/714)
49
72
 
50
73
  ## Version 9.0.4
51
74
 
52
- * Contains [#708](https://github.com/Shopify/shopify_api/pull/708) which is a revert for [#655](https://github.com/shopify/shopify_api/pull/655) due to the deprecated inventory parameters not being removed correctly in some cases
75
+ - Contains [#708](https://github.com/Shopify/shopify_api/pull/708) which is a revert for [#655](https://github.com/shopify/shopify_api/pull/655) due to the deprecated inventory parameters not being removed correctly in some cases
53
76
 
54
77
  ## Version 9.0.3
55
78
 
56
- * We now raise a `ShopifyAPI::ValidationException` exception when clients try to use `Product` and `Variant` with deprecated inventory-related fields in API version `2019-10` or later. [#655](https://github.com/shopify/shopify_api/pull/655) Deprecation and migration information can be found in the following documents:
57
- * [Product Variant REST API Reference](https://shopify.dev/docs/admin-api/rest/reference/products/product-variant)
58
- * [Migrate your app to support multiple locations](https://shopify.dev/tutorials/migrate-your-app-to-support-multiple-locations)
59
- * [Manage product inventory with the Admin API](https://shopify.dev/tutorials/manage-product-inventory-with-admin-api)
60
- * Added support for the Discount Code API batch endpoints [#701](https://github.com/shopify/shopify_api/pull/701)
61
- * [Create](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_create-2020-01)
62
- * [Show](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_show-2020-01)
63
- * [List](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_discount_codes_index-2020-01)
64
- * Fix issue in the README to explicitly say clients need to require the `shopify_api` gem [#700](https://github.com/Shopify/shopify_api/pull/700)
79
+ - We now raise a `ShopifyAPI::ValidationException` exception when clients try to use `Product` and `Variant` with deprecated inventory-related fields in API version `2019-10` or later. [#655](https://github.com/shopify/shopify_api/pull/655) Deprecation and migration information can be found in the following documents:
80
+ - [Product Variant REST API Reference](https://shopify.dev/docs/admin-api/rest/reference/products/product-variant)
81
+ - [Migrate your app to support multiple locations](https://shopify.dev/tutorials/migrate-your-app-to-support-multiple-locations)
82
+ - [Manage product inventory with the Admin API](https://shopify.dev/tutorials/manage-product-inventory-with-admin-api)
83
+ - Added support for the Discount Code API batch endpoints [#701](https://github.com/shopify/shopify_api/pull/701)
84
+ - [Create](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_create-2020-01)
85
+ - [Show](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_show-2020-01)
86
+ - [List](https://shopify.dev/docs/admin-api/rest/reference/discounts/discountcode#batch_discount_codes_index-2020-01)
87
+ - Fix issue in the README to explicitly say clients need to require the `shopify_api` gem [#700](https://github.com/Shopify/shopify_api/pull/700)
65
88
 
66
89
  ## Version 9.0.2
67
90
 
68
- * Added optional flag passed to `initialize_clients` to prevent from raising the `InvalidSchema` exception [#693](https://github.com/Shopify/shopify_api/pull/693)
91
+ - Added optional flag passed to `initialize_clients` to prevent from raising the `InvalidSchema` exception [#693](https://github.com/Shopify/shopify_api/pull/693)
69
92
 
70
93
  ## Version 9.0.1
71
94
 
72
- * Added warning message if API version used is unsupported or soon to be unsupported [#685](https://github.com/Shopify/shopify_api/pull/685)
73
- * Take into account "errors" messages from response body [#677](https://github.com/Shopify/shopify_api/pull/677)
95
+ - Added warning message if API version used is unsupported or soon to be unsupported [#685](https://github.com/Shopify/shopify_api/pull/685)
96
+ - Take into account "errors" messages from response body [#677](https://github.com/Shopify/shopify_api/pull/677)
74
97
 
75
98
  ## Version 9.0.0
76
99
 
77
- * Breaking change: Improved GraphQL client [#672](https://github.com/Shopify/shopify_api/pull/672). See the [client docs](docs/graphql.md) for usage and a migration guide.
100
+ - Breaking change: Improved GraphQL client [#672](https://github.com/Shopify/shopify_api/pull/672). See the [client docs](docs/graphql.md) for usage and a migration guide.
78
101
 
79
- * Added options hash to create_permission_url and makes redirect_uri required [#670](https://github.com/Shopify/shopify_api/pull/670)
102
+ - Added options hash to create_permission_url and makes redirect_uri required [#670](https://github.com/Shopify/shopify_api/pull/670)
80
103
 
81
- * Release new Endpoint `fulfillment_order.locations_for_move` in 2020-01 REST API version [#669](https://github.com/Shopify/shopify_api/pull/669)
104
+ - Release new Endpoint `fulfillment_order.locations_for_move` in 2020-01 REST API version [#669](https://github.com/Shopify/shopify_api/pull/669)
82
105
 
83
- * Release new Endpoints for `fulfillment` in 2020-01 REST API version [#639](https://github.com/Shopify/shopify_api/pull/639):
84
- * `fulfillment.create` with `line_items_by_fulfillment_order`
85
- * `fulfillment.update_tracking`
86
- * `fulfillment.cancel`
106
+ - Release new Endpoints for `fulfillment` in 2020-01 REST API version [#639](https://github.com/Shopify/shopify_api/pull/639):
87
107
 
88
- * Release new Endpoints for `fulfillment_order` in 2020-01 REST API version [#637](https://github.com/Shopify/shopify_api/pull/637):
89
- * `fulfillment_order.fulfillment_request`
90
- * `fulfillment_order.fulfillment_request.accept`
91
- * `fulfillment_order.fulfillment_request.reject`
92
- * `fulfillment_order.cancellation_request`
93
- * `fulfillment_order.cancellation_request.accept`
94
- * `fulfillment_order.cancellation_request.reject`
108
+ - `fulfillment.create` with `line_items_by_fulfillment_order`
109
+ - `fulfillment.update_tracking`
110
+ - `fulfillment.cancel`
95
111
 
96
- * Release new Endpoints `fulfillment_order.move`, `fulfillment_order.cancel` and `fulfillment_order.close` in 2020-01 REST API version [#635](https://github.com/Shopify/shopify_api/pull/635)
112
+ - Release new Endpoints for `fulfillment_order` in 2020-01 REST API version [#637](https://github.com/Shopify/shopify_api/pull/637):
97
113
 
98
- * Release new Endpoint `order.fulfillment_orders`, and active resources `AssignedFulfillmentOrder` and `FulfillmentOrder` in 2020-01 REST API version [#633](https://github.com/Shopify/shopify_api/pull/633)
114
+ - `fulfillment_order.fulfillment_request`
115
+ - `fulfillment_order.fulfillment_request.accept`
116
+ - `fulfillment_order.fulfillment_request.reject`
117
+ - `fulfillment_order.cancellation_request`
118
+ - `fulfillment_order.cancellation_request.accept`
119
+ - `fulfillment_order.cancellation_request.reject`
120
+
121
+ - Release new Endpoints `fulfillment_order.move`, `fulfillment_order.cancel` and `fulfillment_order.close` in 2020-01 REST API version [#635](https://github.com/Shopify/shopify_api/pull/635)
122
+
123
+ - Release new Endpoint `order.fulfillment_orders`, and active resources `AssignedFulfillmentOrder` and `FulfillmentOrder` in 2020-01 REST API version [#633](https://github.com/Shopify/shopify_api/pull/633)
99
124
 
100
125
  ## Version 8.1.0
101
126
 
102
- * Release 2020-01 REST ADMIN API VERSION [#656](https://github.com/Shopify/shopify_api/pull/656)
103
- * Release new Endpoint `collection.products` and `collection.find()` in 2020-01 REST API version [#657](https://github.com/Shopify/shopify_api/pull/657)
104
- * Enrich 4xx errors with error message from response body [#647](https://github.com/Shopify/shopify_api/pull/647)
105
- * Make relative cursor based pagination work across page loads [#625](https://github.com/Shopify/shopify_api/pull/625)
106
- * Small ruby compat fix [#623](https://github.com/Shopify/shopify_api/pull/623)
107
- * Small consistency change [#621](https://github.com/Shopify/shopify_api/pull/621)
127
+ - Release 2020-01 REST ADMIN API VERSION [#656](https://github.com/Shopify/shopify_api/pull/656)
128
+ - Release new Endpoint `collection.products` and `collection.find()` in 2020-01 REST API version [#657](https://github.com/Shopify/shopify_api/pull/657)
129
+ - Enrich 4xx errors with error message from response body [#647](https://github.com/Shopify/shopify_api/pull/647)
130
+ - Make relative cursor based pagination work across page loads [#625](https://github.com/Shopify/shopify_api/pull/625)
131
+ - Small ruby compat fix [#623](https://github.com/Shopify/shopify_api/pull/623)
132
+ - Small consistency change [#621](https://github.com/Shopify/shopify_api/pull/621)
108
133
 
109
134
  ## Version 8.0.0
110
135
 
111
- * Api Version changes [#600](https://github.com/Shopify/shopify_api/pull/600)
112
- * Remove static Api Version definitions.
113
- * Introduces Api Version lookup modes: `:define_on_unknown` and `:raise_on_unknown`
114
- * See [migration notes](README.md#-breaking-change-notice-for-version-800-)
115
- * `Session.valid?` checks that api_version `is_a?(ApiVersion)` instead of `present?`
116
- * `ApiVersion::NullVersion` cannot be instantiated and now has a `match?` method [#615](https://github.com/Shopify/shopify_api/pull/615/files)
117
- * Introduces new Collection endpoint for looking up products without knowing collection type. Only available if ApiVersion is `:unstable` [#609](https://github.com/Shopify/shopify_api/pull/609)
136
+ - Api Version changes [#600](https://github.com/Shopify/shopify_api/pull/600)
137
+ - Remove static Api Version definitions.
138
+ - Introduces Api Version lookup modes: `:define_on_unknown` and `:raise_on_unknown`
139
+ - See [migration notes](README.md#-breaking-change-notice-for-version-800-)
140
+ - `Session.valid?` checks that api_version `is_a?(ApiVersion)` instead of `present?`
141
+ - `ApiVersion::NullVersion` cannot be instantiated and now has a `match?` method [#615](https://github.com/Shopify/shopify_api/pull/615/files)
142
+ - Introduces new Collection endpoint for looking up products without knowing collection type. Only available if ApiVersion is `:unstable` [#609](https://github.com/Shopify/shopify_api/pull/609)
118
143
 
119
144
  ## Version 7.1.0
120
145
 
121
- * Add 2019-10 to known API versions
122
- * Add support for cursor pagination [#594](https://github.com/Shopify/shopify_api/pull/594) and
123
- [#611](https://github.com/Shopify/shopify_api/pull/611)
124
- * `ShopifyAPI::Base.api_version` now defaults to `ShopifyAPI::ApiVersion::NullVersion` instead of `nil`. Making requests without first setting an ApiVersion raises `ApiVersionNotSetError` instead of `NoMethodError: undefined method 'construct_api_path' for nil:NilClass'` [#605](https://github.com/Shopify/shopify_api/pull/605)
146
+ - Add 2019-10 to known API versions
147
+ - Add support for cursor pagination [#594](https://github.com/Shopify/shopify_api/pull/594) and
148
+ [#611](https://github.com/Shopify/shopify_api/pull/611)
149
+ - `ShopifyAPI::Base.api_version` now defaults to `ShopifyAPI::ApiVersion::NullVersion` instead of `nil`. Making requests without first setting an ApiVersion raises `ApiVersionNotSetError` instead of `NoMethodError: undefined method 'construct_api_path' for nil:NilClass'` [#605](https://github.com/Shopify/shopify_api/pull/605)
125
150
 
126
151
  ## Version 7.0.2
127
152
 
128
- * Add 2019-07 to known API versions.
153
+ - Add 2019-07 to known API versions.
129
154
 
130
155
  ## Version 7.0.1
131
156
 
132
- * Support passing version string to `ShopifyAPI::Base.api_version` [#563](https://github.com/Shopify/shopify_api/pull/563)
157
+ - Support passing version string to `ShopifyAPI::Base.api_version` [#563](https://github.com/Shopify/shopify_api/pull/563)
133
158
 
134
159
  ## Version 7.0.0
135
160
 
136
- * Removed support for `ActiveResouce` < `4.1`.
137
- * Removed `ShopifyAPI::Oauth`.
138
- * Added api version support, See [migration
139
- notes](README.md#-breaking-change-notice-for-version-700-)
140
- * Changed `ShopifyAPI::Session` method signatures from positional to keyword
141
- arguments, See [migration notes](README.md#-breaking-change-notice-for-version-700-)
142
- * Add support for newer call limit header `X-Shopify-Shop-Api-Call-Limit`.
143
- * Removed all Ping resources.
161
+ - Removed support for `ActiveResouce` < `4.1`.
162
+ - Removed `ShopifyAPI::Oauth`.
163
+ - Added api version support, See [migration
164
+ notes](README.md#-breaking-change-notice-for-version-700-)
165
+ - Changed `ShopifyAPI::Session` method signatures from positional to keyword
166
+ arguments, See [migration notes](README.md#-breaking-change-notice-for-version-700-)
167
+ - Add support for newer call limit header `X-Shopify-Shop-Api-Call-Limit`.
168
+ - Removed all Ping resources.
144
169
 
145
170
  ## Version 6.0.0
146
171
 
147
- * Removed undocumented `protocol` and `port` options from `ShopifyAPI::Session`.
172
+ - Removed undocumented `protocol` and `port` options from `ShopifyAPI::Session`.
148
173
 
149
174
  ## Version 5.2.4
150
175
 
151
- * Added `currency` parameter to `ShopifyAPI::Order#capture`. This parameter is required for apps that belong to the
152
- multi-currency beta program.
176
+ - Added `currency` parameter to `ShopifyAPI::Order#capture`. This parameter is required for apps that belong to the
177
+ multi-currency beta program.
153
178
 
154
179
  ## Version 5.2.3
155
180
 
156
- * Update delivery confirmation resource to delivery confirmation details resource.
181
+ - Update delivery confirmation resource to delivery confirmation details resource.
157
182
 
158
183
  ## Version 5.2.2
159
184
 
160
- * Add delivery confirmation endpoint to Ping resources.
185
+ - Add delivery confirmation endpoint to Ping resources.
161
186
 
162
187
  ## Version 5.2.1
163
188
 
164
- * Log warning when Shopify indicates deprecated API call was performed
189
+ - Log warning when Shopify indicates deprecated API call was performed
165
190
 
166
191
  ## Version 5.2.0
167
192
 
168
- * Added `ShopifyAPI::Currency` to fetch list of supported currencies on a shop
169
- * Added `ShopifyAPI::TenderTransaction` to fetch list of transactions on a shop
170
- * Fixed bug with X-Shopify-Checkout-Version on ShopifyAPI::Checkout header being applied to all requests
193
+ - Added `ShopifyAPI::Currency` to fetch list of supported currencies on a shop
194
+ - Added `ShopifyAPI::TenderTransaction` to fetch list of transactions on a shop
195
+ - Fixed bug with X-Shopify-Checkout-Version on ShopifyAPI::Checkout header being applied to all requests
171
196
 
172
197
  ## Version 5.1.0
173
198
 
174
- * Added `ShopifyAPI::Publications`
175
- * Added `ShopifyAPI::ProductPublications`
176
- * Added `ShopifyAPI::CollectionPublications`
177
- * Added support for new collection products endpoint from `ShopifyAPI::Collection#products`
199
+ - Added `ShopifyAPI::Publications`
200
+ - Added `ShopifyAPI::ProductPublications`
201
+ - Added `ShopifyAPI::CollectionPublications`
202
+ - Added support for new collection products endpoint from `ShopifyAPI::Collection#products`
178
203
 
179
204
  ## Version 5.0.0
180
205
 
181
- * Breaking change: `ShopifyAPI::Checkout` now maps to the Checkout API, rather than the Abandoned Checkouts API
182
- * See the README for more details
183
- * Added `ShopifyAPI::AbandonedCheckout`
184
- * Added support for X-Shopify-Checkout-Version header on `ShopifyAPI::Checkout`
185
- * Added `ShopifyAPI::ShippingRate`
186
- * Added `ShopifyAPI::Payment`
187
- * Added support for `Checkout::complete` endpoint
188
- * Fixed session handling support for Rails 5.2.1
206
+ - Breaking change: `ShopifyAPI::Checkout` now maps to the Checkout API, rather than the Abandoned Checkouts API
207
+ - See the README for more details
208
+ - Added `ShopifyAPI::AbandonedCheckout`
209
+ - Added support for X-Shopify-Checkout-Version header on `ShopifyAPI::Checkout`
210
+ - Added `ShopifyAPI::ShippingRate`
211
+ - Added `ShopifyAPI::Payment`
212
+ - Added support for `Checkout::complete` endpoint
213
+ - Fixed session handling support for Rails 5.2.1
189
214
 
190
215
  ## Version 4.13.0
191
- * Added `ShopifyAPI::ApiPermission` resource for uninstalling an application
192
- * Added a deprecation warning to `ShopifyAPI::OAuth`
216
+
217
+ - Added `ShopifyAPI::ApiPermission` resource for uninstalling an application
218
+ - Added a deprecation warning to `ShopifyAPI::OAuth`
193
219
 
194
220
  ## Version 4.12.0
195
221
 
196
- * Added support for the GraphQL API
222
+ - Added support for the GraphQL API
197
223
 
198
224
  ## Version 4.11.0
199
225
 
200
- * Added `ShopifyAPI::InventoryItem`
201
- * Added `ShopifyAPI::InventoryLevel`
202
- * Added `#inventory_levels` method to `ShopifyAPI::Location`
226
+ - Added `ShopifyAPI::InventoryItem`
227
+ - Added `ShopifyAPI::InventoryLevel`
228
+ - Added `#inventory_levels` method to `ShopifyAPI::Location`
203
229
 
204
230
  ## Version 4.10.0
205
231
 
206
- * Added `ShopifyAPI::AccessScope`
232
+ - Added `ShopifyAPI::AccessScope`
207
233
 
208
234
  ## Version 4.9.1
209
235
 
210
- * Fix a bug with custom properties for orders
236
+ - Fix a bug with custom properties for orders
211
237
 
212
238
  ## Version 4.9.0
213
239
 
214
- * Added `ShopifyAPI::PriceRule`
215
- * Added `ShopifyAPI::DiscountCode`
240
+ - Added `ShopifyAPI::PriceRule`
241
+ - Added `ShopifyAPI::DiscountCode`
216
242
 
217
243
  ## Version 4.8.0
218
244
 
219
- * Added `add_engagements` to `ShopifyAPI::MarketingEvent`
245
+ - Added `add_engagements` to `ShopifyAPI::MarketingEvent`
220
246
 
221
247
  ## Version 4.7.1
222
248
 
223
- * Added support for URL parameter (e.g. limit & page) to ShopifyAPI::Metafields
224
- * Added support for URL parameter (e.g. limit & page) to metafield operator in ShopifyAPI::Shop
249
+ - Added support for URL parameter (e.g. limit & page) to ShopifyAPI::Metafields
250
+ - Added support for URL parameter (e.g. limit & page) to metafield operator in ShopifyAPI::Shop
225
251
 
226
252
  ## Version 4.7.0
227
253
 
228
- * Removed the mandatory `application_id` parameter from `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
229
- * Fixed a bug related to the non-standard primary key for `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
254
+ - Removed the mandatory `application_id` parameter from `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
255
+ - Fixed a bug related to the non-standard primary key for `ShopifyAPI::ProductListing` and `ShopifyAPI::CollectionListing`
230
256
 
231
257
  ## Version 4.6.0
232
258
 
233
- * Added `ShopifyAPI::Report`
259
+ - Added `ShopifyAPI::Report`
234
260
 
235
261
  ## Version 4.5.0
236
262
 
237
- * Added `ShopifyAPI::MarketingEvent`
263
+ - Added `ShopifyAPI::MarketingEvent`
238
264
 
239
265
  ## Version 4.4.0
240
266
 
241
- * Added `ShopifyAPI::CustomerInvite`
242
- * Support for Customer#send_invite endpoint
267
+ - Added `ShopifyAPI::CustomerInvite`
268
+ - Support for Customer#send_invite endpoint
243
269
 
244
270
  ## Version 4.3.8
245
271
 
246
- * Added `ShopifyAPI::ResourceFeedback`
272
+ - Added `ShopifyAPI::ResourceFeedback`
247
273
 
248
274
  ## Version 4.3.7
249
275
 
250
- * Added support for `complete` in `ShopifyAPI::DraftOrder`
276
+ - Added support for `complete` in `ShopifyAPI::DraftOrder`
251
277
 
252
278
  ## Version 4.3.6
253
279
 
254
- * Fixed the `customer_saved_search_id` param in `ShopifyAPI::CustomerSavedSearch#customers`.
280
+ - Fixed the `customer_saved_search_id` param in `ShopifyAPI::CustomerSavedSearch#customers`.
255
281
 
256
282
  ## Version 4.3.5
257
283
 
258
- * Added support for online mode access tokens, token expiry, and associated_user information.
259
- * Added `ShopifyAPI::DraftOrder`
260
- * Added `ShopifyAPI::DraftOrderInvoice`
284
+ - Added support for online mode access tokens, token expiry, and associated_user information.
285
+ - Added `ShopifyAPI::DraftOrder`
286
+ - Added `ShopifyAPI::DraftOrderInvoice`
261
287
 
262
288
  ## Version 4.3.4
263
289
 
264
- * Added `ShopifyAPI::ProductListing`
265
- * Added `ShopifyAPI::CollectionListing`
290
+ - Added `ShopifyAPI::ProductListing`
291
+ - Added `ShopifyAPI::CollectionListing`
266
292
 
267
293
  ## Version 4.3.3
268
294
 
269
- * Added `ShopifyAPI::StorefrontAccessToken`
295
+ - Added `ShopifyAPI::StorefrontAccessToken`
270
296
 
271
297
  ## Version 4.3.2
272
298
 
273
- * Relax Ruby version requirement to >= `2.0`
299
+ - Relax Ruby version requirement to >= `2.0`
274
300
 
275
301
  ## Version 4.3.1
276
302
 
277
- * Support for ShopifyAPI::ApplicationCredit
303
+ - Support for ShopifyAPI::ApplicationCredit
278
304
 
279
305
  ## Version 4.3.0
280
306
 
281
- * Require Ruby >= `2.3.0`
282
- * Use inheritance instead of the deprecated Rails `Module#alias_method_chain`
307
+ - Require Ruby >= `2.3.0`
308
+ - Use inheritance instead of the deprecated Rails `Module#alias_method_chain`
283
309
 
284
310
  ## Version 4.2.2
285
311
 
286
- * Support for AccessToken#delegate endpoint
312
+ - Support for AccessToken#delegate endpoint
287
313
 
288
314
  ## Version 4.2.1
289
315
 
290
- * Support for Users and Discounts (Shopify Plus only)
291
- * Adds Customer#account_activation_url method
292
- * Adds ability to open a fulfillment.
316
+ - Support for Users and Discounts (Shopify Plus only)
317
+ - Adds Customer#account_activation_url method
318
+ - Adds ability to open a fulfillment.
293
319
 
294
320
  ## Version 4.2.0
295
321
 
296
- * Threadsafety is now compatible with the latest ActiveResource master
322
+ - Threadsafety is now compatible with the latest ActiveResource master
297
323
 
298
324
  ## Version 4.1.1
299
325
 
300
- * Added explicit 90 second timeout to `ShopifyAPI::Base`
326
+ - Added explicit 90 second timeout to `ShopifyAPI::Base`
301
327
 
302
328
  ## Version 4.0.7
303
329
 
304
- * Added `ShippingAPI::ShippingZone`
330
+ - Added `ShippingAPI::ShippingZone`
305
331
 
306
332
  ## Version 4.0.6
307
333
 
308
- * Replaced `cancelled` with `expired` in `ShopifyAPI::ApplicationCharge`
334
+ - Replaced `cancelled` with `expired` in `ShopifyAPI::ApplicationCharge`
309
335
 
310
336
  ## Version 4.0.5
311
337
 
312
- * Added `pending`, `cancelled`, `accepted`, `declined` helper methods to `ShopifyAPI::ApplicationCharge`
338
+ - Added `pending`, `cancelled`, `accepted`, `declined` helper methods to `ShopifyAPI::ApplicationCharge`
313
339
 
314
340
  ## Version 4.0.4
315
341
 
316
- * Fixed truthiness for order cancellations. Requests are now sent in the request body and as JSON
342
+ - Fixed truthiness for order cancellations. Requests are now sent in the request body and as JSON
317
343
 
318
344
  ## Version 4.0.3
319
345
 
320
- * Fixed hmac signature validation for params with delimiters (`&`, `=` or `%`)
346
+ - Fixed hmac signature validation for params with delimiters (`&`, `=` or `%`)
321
347
 
322
348
  ## Version 4.0.2
323
349
 
324
- * Verify that the shop domain is a subdomain of .myshopify.com which creating the session
350
+ - Verify that the shop domain is a subdomain of .myshopify.com which creating the session
325
351
 
326
352
  ## Version 4.0.1
327
353
 
328
- * Added `ShopifyAPI::OAuth.revoke` for easy token revocation.
354
+ - Added `ShopifyAPI::OAuth.revoke` for easy token revocation.
329
355
 
330
356
  ## Version 3.2.6
331
357
 
332
- * Fixed CustomerSavedSearch#customers method to now correctly return only relevant customers
358
+ - Fixed CustomerSavedSearch#customers method to now correctly return only relevant customers
333
359
 
334
360
  ## Version 3.2.5
335
361
 
336
- * More useful error messages for activating nil sessions
337
- * Add tests for commonly deleted objects, and metafield tests, fix naming error in order_risk_test.rb
362
+ - More useful error messages for activating nil sessions
363
+ - Add tests for commonly deleted objects, and metafield tests, fix naming error in order_risk_test.rb
338
364
 
339
365
  ## Version 3.2.4
340
366
 
341
- * No API changes
367
+ - No API changes
342
368
 
343
369
  ## Version 3.2.3
344
370
 
345
- * Added pry to the CLI
371
+ - Added pry to the CLI
346
372
 
347
373
  ## Version 3.2.2
348
374
 
349
- * Temporary fix for the CLI
350
- * Add a specific exception for signature validation failures
375
+ - Temporary fix for the CLI
376
+ - Add a specific exception for signature validation failures
351
377
 
352
378
  ## Version 3.2.1
353
379
 
354
- * Added CarrierService resource
355
- * Added optionally using threadsafe ActiveResource (see readme)
356
- * Fixed bug in validate_signature
380
+ - Added CarrierService resource
381
+ - Added optionally using threadsafe ActiveResource (see readme)
382
+ - Fixed bug in validate_signature
357
383
 
358
384
  ## Version 3.2.0
359
385
 
360
- * in Session::request_token params is no longer optional, you must pass all the params and the method will now extract the code
361
- * Fixed JSON errors handling (#103)
362
- * Fixed compatibility with Ruby 2.1.x (#83)
363
- * Fixed getting parent ID from nested resources like Variants (#44)
364
- * Cleaned up compatibility with ActiveResource 4.0.x
365
- * Added OrderRisk resource
366
- * Added FulfillmentService resource
367
- * Removed discontinued ProductSearchEngine resource
368
- * Added convenience method Customer#search (#45)
386
+ - in Session::request_token params is no longer optional, you must pass all the params and the method will now extract the code
387
+ - Fixed JSON errors handling (#103)
388
+ - Fixed compatibility with Ruby 2.1.x (#83)
389
+ - Fixed getting parent ID from nested resources like Variants (#44)
390
+ - Cleaned up compatibility with ActiveResource 4.0.x
391
+ - Added OrderRisk resource
392
+ - Added FulfillmentService resource
393
+ - Removed discontinued ProductSearchEngine resource
394
+ - Added convenience method Customer#search (#45)
369
395
 
370
396
  ## Version 3.1.8
371
397
 
372
- * Expose `index` and `show` actions of `Location`
373
- * Added create_permission_url and request_token helper methods
374
- * Edited the readme to better describe the getting started procedure
398
+ - Expose `index` and `show` actions of `Location`
399
+ - Added create_permission_url and request_token helper methods
400
+ - Edited the readme to better describe the getting started procedure
375
401
 
376
402
  ## Version 3.1.7
377
403
 
378
- * Expose `authors` and `tags` action on Article
404
+ - Expose `authors` and `tags` action on Article
379
405
 
380
406
  ## Version 3.1.6
381
407
 
382
- * Add LineItem::Property resource
408
+ - Add LineItem::Property resource
383
409
 
384
410
  ## Version 3.1.5
385
411
 
386
- * Expose `orders` action on Customer
412
+ - Expose `orders` action on Customer
387
413
 
388
414
  ## Version 3.1.3
389
415
 
390
- * Expose `complete` action on Fulfillment
416
+ - Expose `complete` action on Fulfillment
391
417
 
392
418
  ## Version 3.1.2
393
419
 
394
- * Includes port in domain URI (when other than http/80 or https/443)
395
- * Adds access to CustomerSavedSearch
396
- * Adds resources: Order::DefaultAddress, Client::ClientDetails, Announcement
397
- * Allows access to Articles without a blog_id
398
- * Moves encode and as_json overrides to ShopifyAPI::Base scope
399
- * Exposes the `order` action in SmartCollection for general use
420
+ - Includes port in domain URI (when other than http/80 or https/443)
421
+ - Adds access to CustomerSavedSearch
422
+ - Adds resources: Order::DefaultAddress, Client::ClientDetails, Announcement
423
+ - Allows access to Articles without a blog_id
424
+ - Moves encode and as_json overrides to ShopifyAPI::Base scope
425
+ - Exposes the `order` action in SmartCollection for general use
400
426
 
401
427
  ## Version 3.0.3
402
428
 
403
- * Add a `customers` helper method to the CustomerGroup resource
429
+ - Add a `customers` helper method to the CustomerGroup resource
404
430
 
405
431
  ## Version 3.0.2
406
432
 
407
- * Brevity in require statements
433
+ - Brevity in require statements
408
434
 
409
435
  ## Version 3.0.1
410
436
 
411
- * Fix saving nested resources in ActiveResource 3.1+
437
+ - Fix saving nested resources in ActiveResource 3.1+
412
438
 
413
439
  ## Version 3.0.0
414
440
 
415
- * Added support for OAuth Authentication
416
- * Removal of support for Legacy Authentication
417
- * Added Cart resource
441
+ - Added support for OAuth Authentication
442
+ - Removal of support for Legacy Authentication
443
+ - Added Cart resource
418
444
 
419
445
  ## Version 2.3.0
420
446
 
421
- * Fix double root bug with ActiveSupport 3.2.0
422
- * Add metafields methods on Customer resource
423
- * Fix prefix_options on assets returned from Asset.find
447
+ - Fix double root bug with ActiveSupport 3.2.0
448
+ - Add metafields methods on Customer resource
449
+ - Fix prefix_options on assets returned from Asset.find
424
450
 
425
451
  ## Version 2.2.0
426
452
 
427
- * Fix issues with resources that have both direct and namespaced routes
428
- * Added detailed logger to help with debugging ActiveResource
429
- requests/responses
430
- * Add fulfillment#cancel
453
+ - Fix issues with resources that have both direct and namespaced routes
454
+ - Added detailed logger to help with debugging ActiveResource
455
+ requests/responses
456
+ - Add fulfillment#cancel
431
457
 
432
458
  ## Version 2.1.0
433
459
 
434
- * Fix JSON errors handling
435
- * Remove global limit from ShopifyAPI::Limits
460
+ - Fix JSON errors handling
461
+ - Remove global limit from ShopifyAPI::Limits
436
462
 
437
463
  ## Version 2.0.0
438
464
 
439
- * Bump to 2.0.0 as this release breaks Rails 2 compatibility; we're now officially only supporting Rails 3. Rails 2 devs can follow the rails2 tag in this repo to know where we broke off
440
- * Refactored resources into their own source files
441
- * Added API limits functionality
442
- * Patched ActiveResource issue with roots in JSON
443
- * Added pending, cancelled, accepted, and declined convenience methods to ShopifyAPI::RecurringApplicationCharge
444
- * ShopifyAPI::Session#temp now available as a convenience method to support temporarily switching to other shops when making calls
445
- * Fixes to `shopify console` CLI tool
465
+ - Bump to 2.0.0 as this release breaks Rails 2 compatibility; we're now officially only supporting Rails 3. Rails 2 devs can follow the rails2 tag in this repo to know where we broke off
466
+ - Refactored resources into their own source files
467
+ - Added API limits functionality
468
+ - Patched ActiveResource issue with roots in JSON
469
+ - Added pending, cancelled, accepted, and declined convenience methods to ShopifyAPI::RecurringApplicationCharge
470
+ - ShopifyAPI::Session#temp now available as a convenience method to support temporarily switching to other shops when making calls
471
+ - Fixes to `shopify console` CLI tool
446
472
 
447
473
  ## Version 1.2.5
448
474
 
449
- * Fix for Article#comments
475
+ - Fix for Article#comments
450
476
 
451
477
  ## Version 1.2.4
452
478
 
453
- * Added Article#comments
454
- * Added Order#cancel
455
- * Added Comment#restore, #not_spam
479
+ - Added Article#comments
480
+ - Added Order#cancel
481
+ - Added Comment#restore, #not_spam
456
482
 
457
483
  ## Version 1.2.3
458
484
 
459
- * Added Customer, CustomerGroup support
485
+ - Added Customer, CustomerGroup support
460
486
 
461
487
  ## Version 1.2.2
462
488
 
463
- * Added ScriptTag support
489
+ - Added ScriptTag support
464
490
 
465
491
  ## Version 1.2.1
466
492
 
467
- * Allow abbreviated names for all commands like rails does, e.g. 'shopify c' instead of 'shopify console'
468
- * Fix Variant to support accessing both nested variants with a product prefix as well as top level variants directly
469
- * Add 'grande' to supported product image size variants
493
+ - Allow abbreviated names for all commands like rails does, e.g. 'shopify c' instead of 'shopify console'
494
+ - Fix Variant to support accessing both nested variants with a product prefix as well as top level variants directly
495
+ - Add 'grande' to supported product image size variants
470
496
 
471
497
  ## Version 1.2.0
472
498
 
473
- * Command-line interface
474
- * Allow custom params when fetching a single Asset
499
+ - Command-line interface
500
+ - Allow custom params when fetching a single Asset
475
501
 
476
502
  ## Version 1.1.3 (November 4, 2010)
477
503
 
478
- * Add ProductSearchEngines resource
504
+ - Add ProductSearchEngines resource
479
505
 
480
506
  ## Version 1.1.2 (October 20, 2010)
481
507
 
482
- * Fix for users of ActiveResource 3.x
508
+ - Fix for users of ActiveResource 3.x
483
509
 
484
510
  ## Version 1.1.1 (October 5, 2010)
485
511
 
486
- * Remove hard coded xml formatting in API calls
487
- * Remove jeweler stuff
488
- * Ruby 1.9 encoding fix
512
+ - Remove hard coded xml formatting in API calls
513
+ - Remove jeweler stuff
514
+ - Ruby 1.9 encoding fix
489
515
 
490
516
  ## Version 1.1.0 (September 24, 2010)
491
517
 
492
- * Add new Events API for Shop, Order, Product, CustomCollection, SmartCollection, Page, Blog and Article
493
- * Add new 'compact' product image size variant
494
- * Rails 3 fix: attribute_accessors has to be explicitly included since activesupport 3.0.0
518
+ - Add new Events API for Shop, Order, Product, CustomCollection, SmartCollection, Page, Blog and Article
519
+ - Add new 'compact' product image size variant
520
+ - Rails 3 fix: attribute_accessors has to be explicitly included since activesupport 3.0.0
495
521
 
496
522
  ## Version 1.0.6
497
523
 
498
- * Add metafields
499
- * Add latest changes from Shopify including asset support, token validation and a common base class
524
+ - Add metafields
525
+ - Add latest changes from Shopify including asset support, token validation and a common base class
500
526
 
501
527
  ## Version 1.0.0
502
528
 
503
- * extracting ShopifyAPI from Shopify into Gem
529
+ - extracting ShopifyAPI from Shopify into Gem