- #883 Add support for Ruby 3.0
- #847 Update
create_permission_url
method to use grant_options - #852 Bumping kramdown to fix a security vulnerability
- #843 Introduce a new
access_scopes
attribute on the Session class.- Specifying this in the Session constructor is optional. By default, this attribute returns
nil
.
- Specifying this in the Session constructor is optional. By default, this attribute returns
-
#797 Release new Endpoint
fulfillment_order.open
andfulfillment_order.reschedule
. -
#818 Avoid depending on ActiveSupport in Sesssion class.
-
Freeze all string literals. This should have no impact unless your application is modifying ('monkeypatching') the internals of the library in an unusual way.
-
#802 Made
inventory_quantity
a read-only field in Variant -
#821 Add logging based on environment variable, move log subscriber out of
detailed_log_subscriber
. TheActiveResource::DetailedLogSubscriber
no longer automatically attaches when the class is loaded. If you were previously relying on that behaviour, you'll now need to callActiveResource::DetailedLogSubscriber.attach_to(:active_resource_detailed)
. (If using the newSHOPIFY_LOG_PATH
environment setting then this is handled for you). -
Provide
ApiAccess
value object to encapsulate scope operations #829
- Removes the
shopify
binary which will be used by the Shopify CLI
- Make cursor based pagination return relative uri's when fetching next and previous pages. #726
- Implements equality operator on
Session
#714
- Contains #708 which is a revert for #655 due to the deprecated inventory parameters not being removed correctly in some cases
- We now raise a
ShopifyAPI::ValidationException
exception when clients try to useProduct
andVariant
with deprecated inventory-related fields in API version2019-10
or later. #655 Deprecation and migration information can be found in the following documents: - Added support for the Discount Code API batch endpoints #701
- Fix issue in the README to explicitly say clients need to require the
shopify_api
gem #700
- Added optional flag passed to
initialize_clients
to prevent from raising theInvalidSchema
exception #693
- Added warning message if API version used is unsupported or soon to be unsupported #685
- Take into account "errors" messages from response body #677
-
Breaking change: Improved GraphQL client #672. See the client docs for usage and a migration guide.
-
Added options hash to create_permission_url and makes redirect_uri required #670
-
Release new Endpoint
fulfillment_order.locations_for_move
in 2020-01 REST API version #669 -
Release new Endpoints for
fulfillment
in 2020-01 REST API version #639:fulfillment.create
withline_items_by_fulfillment_order
fulfillment.update_tracking
fulfillment.cancel
-
Release new Endpoints for
fulfillment_order
in 2020-01 REST API version #637:fulfillment_order.fulfillment_request
fulfillment_order.fulfillment_request.accept
fulfillment_order.fulfillment_request.reject
fulfillment_order.cancellation_request
fulfillment_order.cancellation_request.accept
fulfillment_order.cancellation_request.reject
-
Release new Endpoints
fulfillment_order.move
,fulfillment_order.cancel
andfulfillment_order.close
in 2020-01 REST API version #635 -
Release new Endpoint
order.fulfillment_orders
, and active resourcesAssignedFulfillmentOrder
andFulfillmentOrder
in 2020-01 REST API version #633
- Release 2020-01 REST ADMIN API VERSION #656
- Release new Endpoint
collection.products
andcollection.find()
in 2020-01 REST API version #657 - Enrich 4xx errors with error message from response body #647
- Make relative cursor based pagination work across page loads #625
- Small ruby compat fix #623
- Small consistency change #621
- Api Version changes #600
- Remove static Api Version definitions.
- Introduces Api Version lookup modes:
:define_on_unknown
and:raise_on_unknown
- See migration notes
Session.valid?
checks that api_versionis_a?(ApiVersion)
instead ofpresent?
ApiVersion::NullVersion
cannot be instantiated and now has amatch?
method #615- Introduces new Collection endpoint for looking up products without knowing collection type. Only available if ApiVersion is
:unstable
#609
- Add 2019-10 to known API versions
- Add support for cursor pagination #594 and #611
ShopifyAPI::Base.api_version
now defaults toShopifyAPI::ApiVersion::NullVersion
instead ofnil
. Making requests without first setting an ApiVersion raisesApiVersionNotSetError
instead ofNoMethodError: undefined method 'construct_api_path' for nil:NilClass'
#605
- Add 2019-07 to known API versions.
- Support passing version string to
ShopifyAPI::Base.api_version
#563
- Removed support for
ActiveResouce
<4.1
. - Removed
ShopifyAPI::Oauth
. - Added api version support, See migration notes
- Changed
ShopifyAPI::Session
method signatures from positional to keyword arguments, See migration notes - Add support for newer call limit header
X-Shopify-Shop-Api-Call-Limit
. - Removed all Ping resources.
- Removed undocumented
protocol
andport
options fromShopifyAPI::Session
.
- Added
currency
parameter toShopifyAPI::Order#capture
. This parameter is required for apps that belong to the multi-currency beta program.
- Update delivery confirmation resource to delivery confirmation details resource.
- Add delivery confirmation endpoint to Ping resources.
- Log warning when Shopify indicates deprecated API call was performed
- Added
ShopifyAPI::Currency
to fetch list of supported currencies on a shop - Added
ShopifyAPI::TenderTransaction
to fetch list of transactions on a shop - Fixed bug with X-Shopify-Checkout-Version on ShopifyAPI::Checkout header being applied to all requests
- Added
ShopifyAPI::Publications
- Added
ShopifyAPI::ProductPublications
- Added
ShopifyAPI::CollectionPublications
- Added support for new collection products endpoint from
ShopifyAPI::Collection#products
- Breaking change:
ShopifyAPI::Checkout
now maps to the Checkout API, rather than the Abandoned Checkouts API- See the README for more details
- Added
ShopifyAPI::AbandonedCheckout
- Added support for X-Shopify-Checkout-Version header on
ShopifyAPI::Checkout
- Added
ShopifyAPI::ShippingRate
- Added
ShopifyAPI::Payment
- Added support for
Checkout::complete
endpoint - Fixed session handling support for Rails 5.2.1
- Added
ShopifyAPI::ApiPermission
resource for uninstalling an application - Added a deprecation warning to
ShopifyAPI::OAuth
- Added support for the GraphQL API
- Added
ShopifyAPI::InventoryItem
- Added
ShopifyAPI::InventoryLevel
- Added
#inventory_levels
method toShopifyAPI::Location
- Added
ShopifyAPI::AccessScope
- Fix a bug with custom properties for orders
- Added
ShopifyAPI::PriceRule
- Added
ShopifyAPI::DiscountCode
- Added
add_engagements
toShopifyAPI::MarketingEvent
- Added support for URL parameter (e.g. limit & page) to ShopifyAPI::Metafields
- Added support for URL parameter (e.g. limit & page) to metafield operator in ShopifyAPI::Shop
- Removed the mandatory
application_id
parameter fromShopifyAPI::ProductListing
andShopifyAPI::CollectionListing
- Fixed a bug related to the non-standard primary key for
ShopifyAPI::ProductListing
andShopifyAPI::CollectionListing
- Added
ShopifyAPI::Report
- Added
ShopifyAPI::MarketingEvent
- Added
ShopifyAPI::CustomerInvite
- Support for Customer#send_invite endpoint
- Added
ShopifyAPI::ResourceFeedback
- Added support for
complete
inShopifyAPI::DraftOrder
- Fixed the
customer_saved_search_id
param inShopifyAPI::CustomerSavedSearch#customers
.
- Added support for online mode access tokens, token expiry, and associated_user information.
- Added
ShopifyAPI::DraftOrder
- Added
ShopifyAPI::DraftOrderInvoice
- Added
ShopifyAPI::ProductListing
- Added
ShopifyAPI::CollectionListing
- Added
ShopifyAPI::StorefrontAccessToken
- Relax Ruby version requirement to >=
2.0
- Support for ShopifyAPI::ApplicationCredit
- Require Ruby >=
2.3.0
- Use inheritance instead of the deprecated Rails
Module#alias_method_chain
- Support for AccessToken#delegate endpoint
- Support for Users and Discounts (Shopify Plus only)
- Adds Customer#account_activation_url method
- Adds ability to open a fulfillment.
- Threadsafety is now compatible with the latest ActiveResource master
- Added explicit 90 second timeout to
ShopifyAPI::Base
- Added
ShippingAPI::ShippingZone
- Replaced
cancelled
withexpired
inShopifyAPI::ApplicationCharge
- Added
pending
,cancelled
,accepted
,declined
helper methods toShopifyAPI::ApplicationCharge
- Fixed truthiness for order cancellations. Requests are now sent in the request body and as JSON
- Fixed hmac signature validation for params with delimiters (
&
,=
or%
)
- Verify that the shop domain is a subdomain of .myshopify.com which creating the session
- Added
ShopifyAPI::OAuth.revoke
for easy token revocation.
- Fixed CustomerSavedSearch#customers method to now correctly return only relevant customers
- More useful error messages for activating nil sessions
- Add tests for commonly deleted objects, and metafield tests, fix naming error in order_risk_test.rb
- No API changes
- Added pry to the CLI
- Temporary fix for the CLI
- Add a specific exception for signature validation failures
- Added CarrierService resource
- Added optionally using threadsafe ActiveResource (see readme)
- Fixed bug in validate_signature
- in Session::request_token params is no longer optional, you must pass all the params and the method will now extract the code
- Fixed JSON errors handling (#103)
- Fixed compatibility with Ruby 2.1.x (#83)
- Fixed getting parent ID from nested resources like Variants (#44)
- Cleaned up compatibility with ActiveResource 4.0.x
- Added OrderRisk resource
- Added FulfillmentService resource
- Removed discontinued ProductSearchEngine resource
- Added convenience method Customer#search (#45)
- Expose
index
andshow
actions ofLocation
- Added create_permission_url and request_token helper methods
- Edited the readme to better describe the getting started procedure
- Expose
authors
andtags
action on Article
- Add LineItem::Property resource
- Expose
orders
action on Customer
- Expose
complete
action on Fulfillment
- Includes port in domain URI (when other than http/80 or https/443)
- Adds access to CustomerSavedSearch
- Adds resources: Order::DefaultAddress, Client::ClientDetails, Announcement
- Allows access to Articles without a blog_id
- Moves encode and as_json overrides to ShopifyAPI::Base scope
- Exposes the
order
action in SmartCollection for general use
- Add a
customers
helper method to the CustomerGroup resource
- Brevity in require statements
- Fix saving nested resources in ActiveResource 3.1+
- Added support for OAuth Authentication
- Removal of support for Legacy Authentication
- Added Cart resource
- Fix double root bug with ActiveSupport 3.2.0
- Add metafields methods on Customer resource
- Fix prefix_options on assets returned from Asset.find
- Fix issues with resources that have both direct and namespaced routes
- Added detailed logger to help with debugging ActiveResource requests/responses
- Add fulfillment#cancel
- Fix JSON errors handling
- Remove global limit from ShopifyAPI::Limits
- 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
- Refactored resources into their own source files
- Added API limits functionality
- Patched ActiveResource issue with roots in JSON
- Added pending, cancelled, accepted, and declined convenience methods to ShopifyAPI::RecurringApplicationCharge
- ShopifyAPI::Session#temp now available as a convenience method to support temporarily switching to other shops when making calls
- Fixes to
shopify console
CLI tool
- Fix for Article#comments
- Added Article#comments
- Added Order#cancel
- Added Comment#restore, #not_spam
- Added Customer, CustomerGroup support
- Added ScriptTag support
- Allow abbreviated names for all commands like rails does, e.g. 'shopify c' instead of 'shopify console'
- Fix Variant to support accessing both nested variants with a product prefix as well as top level variants directly
- Add 'grande' to supported product image size variants
- Command-line interface
- Allow custom params when fetching a single Asset
- Add ProductSearchEngines resource
- Fix for users of ActiveResource 3.x
- Remove hard coded xml formatting in API calls
- Remove jeweler stuff
- Ruby 1.9 encoding fix
- Add new Events API for Shop, Order, Product, CustomCollection, SmartCollection, Page, Blog and Article
- Add new 'compact' product image size variant
- Rails 3 fix: attribute_accessors has to be explicitly included since activesupport 3.0.0
- Add metafields
- Add latest changes from Shopify including asset support, token validation and a common base class
- extracting ShopifyAPI from Shopify into Gem