shopify_api 10.0.0 → 10.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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