2.22.0 (2022-09-15)
- composer: update announcement of deprecation
2.21.0 (2022-07-04)
- docs: update naming to match new branding initiative
2.20.0 (2022-04-20)
- Customer: support authentication mode
2.19.0 (2022-04-04)
- Customer: made password field as optional field (bf4d5a0)
- Project: fix optional flag for SearchIndexingConfigurationValues (710019e)
- ApiClient: add property for token validity (0b43652)
- ApiClient: support shipping matching location adding sort (d073700)
- Order: support order payment added message (28e0f92)
- ProductSelection: product selection extended with custom fields (ff839ae)
- Store: add missing update action (2283fca)
2.18.0 (2022-02-23)
- Models added optional flag to field definitions of all models
- Order: add update actions to set the delivery in the custom fields for order and order edit (083b4d8)
- ProductSelection: new feature about product selection (1d7b7f5)
2.17.1-beta.1 (2022-02-23)
- JsonObject fields are marked optional by default
2.17.0 (2022-02-07)
- Cart: add key in Cart (d3f24c4)
- Cart: add new field productkey (ccd77b8)
- Cart: add test for replicate cart in store (ec6390d)
- Cart: introduce more small features (ba45fc5)
- Cart: support new update action setLineItemSupplyChannel (87887cb)
- Customer: add anonymousCart field (4c45b41)
- Delivery: add field param (c7ad278)
- Error: add querytimeout error (ec13853)
- Error: add querytimeout error (153cc0b)
- Head: support Head method for products (6a02a6b)
- Message: add field in InventoryEntryQuantitySetMessage (7008f32)
- Message: add new class as useProvidedIdentifiers for ContainerAndKey (3d332fd)
- Message: add new message for products (1e6e5ad)
- Message: support oldState to OrderStateTransitionMessage and support store messages (b56c7ed)
- Order: support new update actions setReturnItemCustom as for order as for order edit (d2e3879)
- Order: support setReturnInfoAction and related message (b34aa6b)
- Order: support update actions for Order and Order Edit to SetParcelCustom (0124793)
- Project: add new actions and add customer message (e97e521)
- Project: fix failed test (b8357d0)
- ShipingMethod: add custom field and related action in shipping method (5a9a3f9)
- ShippingMethod: support localizedName and related action (50dbb24)
- UserAgent: modify user agent (aa7f055)
2.16.0 (2021-08-02)
- Channel: support set address custom update actions for channel and customers(371b47d)
2.15.0 (2021-05-07)
- Shopping List: support store for shopping lists (8808ed1)
2.14.0 (2021-03-02)
- Store support Custom fields for stores
- Cart support cart replicate for stores
2.13.0 (2021-01-11)
- Store: support distribution and supply channel for update actions (6cfdcb7)
2.12.1 (2020-10-30)
- Client: fix adapter factory to correctly identify the GuzzleAdapter (221b690)
2.12.0 (2020-10-12)
- Error: add response body to exception message for BadRequest (a0511ab)
- Order: migrate the first tests and create the fixture (39b16f2)
- Project: support country taxRate fallback (35001b8)
- Project: support language used in stores error (d170ea6), closes #578
2.11.0 (2020-05-05)
- Error: add helper methods to retrieve errors from exceptions (fd09c89)
- Error: improve message for unknown ApiException (24a91ad)
- Message: support InventoryEntryQuantitySet message (043aebe)
- Search: add helper method to retrieve facets from search response (2a24040)
2.10.0 (2020-04-02)
- Query: fix query predicate variables to be forward compatible (bb50caa)
- ApiClient: oauth handler maps authentication errors to ApiException (7a2e887)
- Config: remove legacy hostnames (27f3769), closes #537
- CustomerAddress: add addressKey to actions and add one test (04b453a)
- CustomerStore: add set add remove action for store in customer and add tests (cedb0b0)
- InventoryEntry: add message for InventoryEntryCreated (5c7319f)
- OrderStore: add setStore action and message (b375bfe)
- ProductFixture: update all methods relative to Cart with Published Product (7c3fb2a)
- ShippingMethods: add localized description to shippingMethods (747179d)
- Store: add Languages field to store (b74172f)
2.9.0 (2019-12-02)
- ApiClient: add deleteAt to feldDefinition method (d2b6b35)
- ApiClientDraft: add deleteDaysAfterCreation in fieldDefinitions (4ee7f07)
- ClientFactory: add option to inject middleware to HttpClients (734fe63)
- ClientFactory: create HttpClient with CTP client compatible request signature (3a55d24)
- Customer: support stores for customer (5eee954)
- Draft: add factory methods in draft classes for ApiClient and Asset and Cart (bc0f616)
- ImportOrder: support store for order import (175953c), closes #499
- InStoreRequest: add request to InStoreRequests to add new shipping method endpoint (ee7620f)
- Me: support me/shopping-lists endpoint (fc52e82)
- Message: add messages ProductAddedToCategory and ProductRemovedFromCategory (673b4cf)
- Order: add refusedGift field (7532e38)
- Product: add discounted field to PriceDraft (b3c44fe)
- Query: add support for parametrized queries (b3bc4ad), closes #505
2.8.0 (2019-06-06)
- CartDiscount: support key attribute (641a8e0)
- Client: add client factory for direct usage of guzzle http client (40a0bd0)
- ClientLogging: add CreatedBy and LastModifieldBy fields (b64d199)
- ClientLogging: support setting X-External-User-ID header (bc863c7)
- Extension: support timeoutInMs (92fcc1b)
- InStore: allow only valid in-store endpoints (b263181)
- Me: add MeCartDeleteRequest (b42424a)
- ProductDiscount: support key attribute (a06a00d)
- Project: support external OAuth (0522fe0), closes #474
- Response: add method to extract guzzle promise (bb75909)
- Store: support in-store requests (526d0ba)
- Store: support Store model (a166426)
- Type: add new type update actions (0e5774c), closes #489
2.7.0 (2019-03-20)
- GraphQL: fix GraphQL requests without variables (fa9d376)
- LineItemImportDraft: add missing field distributionChannel (52d2ff0)
- Discounts: add setValidFromAndUntil action (c226e1f)
- Error: add error codes for BadRequest (9012d5d)
- ExternalTaxRateDraft: add field includedInPrice (2771f2d), closes #451
- Message: add new messages for ProductPriceDiscounts (fc876f7), closes #445
- Message: add OrderDeleted Message (22ab652)
- Messages: set MessagesConfiguration at Project (5389c23), closes #443
- Order: support setCustomerId (756811d)
- PasswordResetToken: support ttlMinutes for token (ebe6d77)
- ProductAddVariantAction: support field assets (ce591e8)
- ProductType: support changeAttributeOrderByName action (dd52af8), closes #453
- ShippingInfoImportDraft: add ShippingInfoImportDraft representation (bde4473), closes #449
- ShippingMethod: support Reference expansion (bd745f7)
- Subscription: add changeDestination update action (b0fbb04), closes #437
- Subscription: add subscription status (a2ff2e1), closes #436
- UserProvidedIdentifiers: support UserProvidedIdentifiers at Messages & Subscriptions (aeece56)
- Zone: support Key on shipping Zones (d331cff), closes #448
2.6.0 (2019-01-11)
- OrderEditResult: fix data mapping (08af3bd)
- OrderEditResult: fix type property (c84d649)
- OrderEditUpdateByKey: fix inheritance class & add test for dryRun (7e0a465)
- OrderEdit: fix StagedOrder structure & ActionBuilder (6fd3c65)
- RequestBuilder: fix OrderEditApplyRequest (252f319)
- SetCustomShippingMethodAction: fix type of shippingRate property (ce1afa4)
- Subscription: fix typo in SQS destination (cbf1dae)
- TLS Check: update urls for TLS 1.2 check (f006006)
- ApiClients: add support for managing api clients (93b62de)
- Order: add support for CustomLineItemReturnItem (82ebfdf)
- Payment: support anonymousId (4dd0e3e)
2.5.1 (2018-10-24)
2.5.0 (2018-08-16)
- Cart: support multiple shipping addresses (20014da)
- Extension: support API extensions (9ca58c8), closes #365
- Money: support high precision money (95722b9), closes #410
- Order: support multiple shipping addresses (d98c259)
- OrderFromCart: support state, orderState, shipmentState at OrderCreateFromCart (5fd4375), closes #412 #417
- ProductDiscount: add setValidFromAndUntil update action (1e54656)
- ProductDiscounts: add endpoint for Matching ProductDiscount (9258a62)
- Request: add GDPR dataErasure flag (5d35ea1), closes #411
- ShoppingList: support AnonymousId on ShoppingList owner (efd2565)
- Subscription: add Google Cloud PubSub destination (585501a), closes #418
- Subscription: add modifiedAt to change subscription payloads (602303a), closes #416
- Subscription: add payloadNotIncluded to message delivery (60e207b), closes #413
2.4.0 (2018-05-31)
- Guzzle5Adapter: fix applying client options to guzzle5 http client (e735afd)
- Attribute: enhance getting attribute by name from attributes collection (5d6ef10)
- Builder: add request and update actions builder DSL (3a55e6d)
- Cart: Support cart replication (52d9448), closes #392
- CartDiscount: support MultiBuyDiscount on custom line items (f53d0b5), closes #389
- Message: add customer messages (2f8c91d), closes #391
- OAuthManager: add configuration options for internal HTTP client (5746c4a), closes #395
- ProductType: support product type changeAttributeName & changeEnumKey (#397) (8994315), closes #393
- ProductType: support product type removeEnumValues update action (2bf3e13), closes #388
2.3.0 (2018-03-13)
- Context: fix setting of uninitialized properties in context object (adbb71f), closes #379
- Query: fix undesired sort of query parameter sort (f22bd65), closes #386
- CartDiscount: support cart discount stacking mode (64f18b8), closes #354
- CartDiscount: support multi buy discounts (5207c2b), closes #353
- Context: add interface for CurrencyFormatter (b35abff)
- CustomObject: add CustomObjectByIdGetRequest (2194d3e)
- DiscountCode: support custom fields for discount codes (80aa86f), closes #352
- DiscountCode: support validFrom and validUntil for discount codes (523929a), closes #367
- DiscountCode: support groups for discount codes (53a8f05), closes #362
- Order: support delivery update actions (d033399), closes #369
- Order: support get/update/delete order by orderNumber (dc1a101), closes #356
- Order: support parcel delivery items (6f35c31), closes #357
- Cart: support tax calculation mode (2ef543b), closes #376
- Payment: support get/update/delete payment by key (da32ce6), closes #349
- State: add constant for state role return (b713135), closes #363
- Order: support address for order deliveries (8ef8dea), closes #366
- Client: support client instantiation with preconfigured bearer token (d93a455), closes #359
- CartDiscount: support custom field for cart discounts (a8325c1), closes #373
- CustomerGroup: support custom field for customer groups (23d1737), closes #360
- Assets: support key for assets (a3c9ea0), closes #371
- Cart: support origin for carts and orders (37db8de), closes #361
- Product: support revertStagedVariantChanges (18d0be2), closes #372
- ProductDiscount: support validFrom and validUntil for product discounts (c75e53c), closes #368
- ProductType: support changeAttributeConstraint update action (52932d8), closes #370
- ShippingMethod: support setPredicate on shipping methods (ec2fce5), closes #375
- Product: support staged flag for product meta update actions (b60aab0), closes #358
- ShippingMethod: support shipping rate tiers (#384) (7611315), closes #355
- ShoppingList: support add line item by SKU (7172e1c), closes #374
- Customer: support updateProductData of cart on customer login (555ccb3), closes #377
2.2.1 (2017-10-06)
- Update cache adapter dependencies
2.2.0 (2017-09-27)
- Me: fix MeUpdateRequest constructor (e96a2d1)
- Message: fix object hierarchy for PaymentTransactionStateChanged message (b4ec4a2)
- StateTransitionMessage: fix type of state in StateTransitionMessage (2bb1efd)
- Cart: support add line item by sky (3b81973), closes #341
- Cart: support external tax amount (95e5547), closes #347
- Cart: support setAnonymousId (1a1e472), closes #338
- Cart: support setCustomerGroup update action (80c72ec), closes #343
- Client: add configuration options for guzzle (18dbd00), closes #345
- Client: support creation of correlation id at client side (124c004), closes #328
- CustomField: add type safe getter for field in field container (732f861)
- Customer: support setKey for customers (211573d), closes #342
- CustomerGroup: support field
key
functionality (57e803c), closes #330 - Message: add ProductVariantDeleted, ProductDeleted and ProductRevertedStagedChanges message (f7291ae), closes #332
- Product: add typed getter for product attribute value (34afcdd)
- Product: support scope for product publish (9d0b5aa), closes #340
- Project: support change of project settings (347ecb6), closes #350
- ShippingMethod: add support for shipping method predicate (19ea63e), closes #348
- ShippingMethod: support shipping method by key functionality (3ba9596), closes #329
- Subscription: support azure service bus destination (58ad977), closes #331
- TaxCategory: support setKey for tax categories (6c41b97), closes #339
2.1.0 (2017-07-06)
- Cart: support external price for line items (3a9d972), closes #322
- CartDiscount: support free gift line item (ad58116), closes #325
- Category: support category key functionality (d2b63dd), closes #326
- Customer: add get customer by email token request (8de3b30)
- Customer: add salutation to customer (c1c65fd), closes #324
- Messages: add OrderPaymentStateChanged message (6afb611), closes #312
- Messages: add PaymentStatusInterfaceCodeSet message (c5e0531), closes #313
- Messages: add ProductImageAdded message (0e14d97), closes #314
- Payment: support key for payments (1f40cef), closes #315
- ProductType: add change inputHint update action (af666f6), closes #323
- ShippingMethod: add isMatching flag to shipping rates (c6b4328)
2.0.0 (2017-05-31)
- AssetDraft: correct type for custom field object (abc0afd)
- Collection: fix iterator for unset elements of collections (#307) (5687380), closes #307
- Customer: fix create email token request with TTL (8367ef6)
- ImageUpload: fix product image upload (445b2f4)
- ProductSuggest: fix suggestion parameters (d9652df), closes #310
- OAuth: change scope of getCacheAdapter method (c6b27ec)
- ProductSearch: disable markMatchingVariants by default (41711a8)
- Product: support tiered pricing (93802cd), closes #303
- Cache: support PSR-16 cache implementations (c3ceac7), closes #297
- Client: add logLevel configuration option (8aa457a), closes #300
- Client: add possibility for additional headers when executing request (74c5a15)
- ShoppingList: add SetDeleteDaysAfterLastModificationAction (d31b839)
- Subscription: add getter for message to message subscription payload (daa2558), closes #308
-
PHP minimum version is now 5.6
-
guzzle/log-subscriber has been removed as a dependency
-
AssetDraft: AssetDraft requires CustomFieldObjectDraft instead of CustomFieldObject
Before:
$assetDraft = AssetDraft::of()->setCustom(CustomFieldObject::of());
After:
$assetDraft = AssetDraft::of()->setCustom(CustomFieldObjectDraft::of());
-
OAuth: Manager::getCacheAdapter() method scope has been changed from public to protected
-
ProductSearch: markMatchingVariants has been disabled by default
For performance reasons the markMatchingVariants flag has been disabled by default. In order to use markMatchingVariants feature please enable it explicit.
Before:
$request = ProductProjectionSearchRequest::of();
After:
$request = ProductProjectionSearchRequest::of()->markMatchingVariants(true);
-
Token caching is now using PSR-6 or PSR-16 cache adapters only. Removed classes:
- AbstractCacheAdapter
- ApcCacheAdapter
- ApcuCacheAdapter
- CacheAdapterInterface
- DoctrineCacheAdapter
- NullCacheAdapter
- PhpRedisCacheAdapter
Use an appropiate PSR-6 or PRS-16 cache adapter as a replacement. The SDK uses the cache\apcu-adapter as default or if available the cache\filesystem-adapter
-
Deprecations have been removed
- FileRequest
- use FileUploadRequest
- CustomerChangeNameAction
- use CustomerSetFirstNameAction, CustomerSetLastNameAction, CustomerSetMiddleNameAction or CustomerSetTitleAction
- ProductSetSkuNotStageableAction
- use ProductSetSkuAction
- FileRequest
-
Context doesn't extend Pimple\Container anymore
-
Pimple has been removed as a dependency
The class Commercetools\Commons\Helper\PriceFinder
has been deprecated. Please use the
price selection functionality of Composable Commerce. E.g. ProductProjectionSearchRequest::of()->currency('EUR')->country('DE')
2.0.0-RC1 (2017-03-13)
- AssetDraft: correct type for custom field object (abc0afd)
- Customer: fix create email token request with TTL (8367ef6)
- OAuth: change access scope of getCacheAdapter method (c6b27ec)
- ProductSearch: disable markMatchingVariants by default (41711a8)
-
AssetDraft: AssetDraft requires CustomFieldObjectDraft instead of CustomFieldObject
Before:
$assetDraft = AssetDraft::of()->setCustom(CustomFieldObject::of());
After:
$assetDraft = AssetDraft::of()->setCustom(CustomFieldObjectDraft::of());
-
OAuth: Manager::getCacheAdapter() method scope has been changed from public to protected
-
ProductSearch: markMatchingVariants has been disabled by default
For performance reasons the markMatchingVariants flag has been disabled by default. In order to use markMatchingVariants feature please enable it explicit.
Before:
$request = ProductProjectionSearchRequest::of();
After:
$request = ProductProjectionSearchRequest::of()->markMatchingVariants(true);
-
PHP minimum version is now 5.6
-
Token caching is now using PSR-6 or PSR-16 cache adapters only. Removed classes:
- AbstractCacheAdapter
- ApcCacheAdapter
- ApcuCacheAdapter
- CacheAdapterInterface
- DoctrineCacheAdapter
- NullCacheAdapter
- PhpRedisCacheAdapter
Use an appropiate PSR-6 or PRS-16 cache adapter as a replacement. The SDK uses the cache\apcu-adapter as default or if available the cache\filesystem-adapter
-
Deprecations have been removed
- FileRequest
- use FileUploadRequest
- CustomerChangeNameAction
- use CustomerSetFirstNameAction, CustomerSetLastNameAction, CustomerSetMiddleNameAction or CustomerSetTitleAction
- ProductSetSkuNotStageableAction
- use ProductSetSkuAction
- FileRequest
-
Context doesn't extend Pimple\Container anymore
-
Pimple has been removed as a dependency
1.7.0 (2017-03-02)
- CustomerDraft: correct type mapping for customer draft dateOfBirth (1233835)
- State: add roles to state draft model (33bb512)
- Cart: support automatic deletion of old carts (47c89b3), closes #294
- Cart: support tax rounding mode (1c22189), closes #290
- Category: add assets to categories (5a7716d), closes #285
- OAuth: Client scope can be left empty (7f1ddec), closes #291
- ShoppingList: support shopping list (d8fdf4d), closes #287
1.6.1 (2017-02-14)
1.6.0 (2017-01-09)
- Cart: rewind line items in helper method (cbd2426), closes #281
- Client: typo in call to getOauthManager (e9cc4a7), closes #277
- Cart: add product type reference to line item (e795540), closes #280
- Channel: add geo location information to channels (b4d6024), closes #272
- Channel: add setGeolocation update action (db4b46e)
- Customer: add shipping and billing address ids (6e48320), closes #278
- GraphQL: support GraphQL variables (61eca3e), closes #271
- ProductSearch: add productCount to FacetResult (8e0c946), closes #279
- Subscriptions: Support AwsSNS for subscriptions (f4e2c0e), closes #282
1.5.1 (2016-11-21)
- Subscription: fix typo in subscription delivery model (5e1761b)
1.5.0 (2016-11-17)
- Example: fix typo in autoloader (a686dc4)
- HttpClient: fix invalid http client access (8c0577a), closes #264
- Product: remove uuid query in ProductProjectionBySlugGetRequest (583f656), closes #251
- Search: fix fuzzy level parameter usage (42a93a7)
- ShippingMethod: fix response object class of shipping method request by cart or location (76b18bc)
- StateRenderer: fix for no transition available (2d1c557)
- Cart: support change of custom line item quantity and price (63d78e5), closes #256
- Cart: support external line item total price (417e78c), closes #247
- Common: add externalId to address object (76dc332)
- CustomObject: add constructor using custom object draft (7482d1b), closes #258
- CustomObject: add reference model for custom objects (566cf22), closes #248
- Filter: add method to create a subtree filter with an array of IDs (ac487a3), closes #257
- Inventory: add inventory deleted message (699a8c7), closes #245
- Inventory: support customizable inventory entries (31f16db), closes #246
- Logger: add correlation id to log as context object (512536b)
- Product: query product by slug with single language (88cd9e2), closes #250
- Product: set discounted price for product variant (bdfd8c7), closes #267
- Product: support key for product and product variant (39f356a), closes #259
- ProductType: add change label actions for enum values (d812fec)
- Reference: resolve correct reference model by typeId (8f76ec4)
- Request: add generic PSR-7-Request (5b374eb)
- Search: add markMatchingVariants flag to search (f4ac2c8), closes #270
- Subscriptions: add subscription requests and models (b184870)
- Subscription: add delivery objects (8fae7f8)
- Subscription: add subscription update actions (1d3de36)
1.4.0 (2016-10-05)
- Cart: support change of custom line item quantity and price (63d78e5), closes #256
- Cart: support external line item total price (417e78c), closes #247
- CustomObject: add constructor using custom object draft (7482d1b), closes #258
- CustomObject: add reference model for custom objects (566cf22), closes #248
- Filter: add method to create a subtree filter with an array of IDs (ac487a3), closes #257
- Inventory: add inventory deleted message (699a8c7), closes #245
- Inventory: support customizable inventory entries (31f16db), closes #246
- Logger: add correlation id to logger as context object (512536b)
- Product: query product by slug with single language (88cd9e2), closes #250
- Product: support key for product and product variant (39f356a), closes #259
- Reference: resolve correct reference model by typeId (8f76ec4)
1.3.1 (2016-08-30)
1.3.0 (2016-08-10)
- Address: add fax field to address (cb1dda2), closes #236
- Channel: add Address field to Channel (66a40a9), closes #237
- Localization: add setLocale action to cart, order and customer (17c5672), closes #235
- Order: add actions to update customer email, shipping and billing address for orders (23e0193), closes #238
- Order: import order with stock update (a824dae), closes #234
- Product: support assets (43f8dd6), closes #241
- Project: add messages field to project (4deb11f), closes #239
- Search: add subtree filter model (9fa6527), closes #244
1.2.3 (2016-07-14)
1.2.2 (2016-07-07)
1.2.1 (2016-07-05)
- OAuth: remove dependency for CacheItem implementation (59265b3)
1.2.0 (2016-06-30)
- Client: fix format of UserAgent header (bc37b2f)
- Cart: add updateProductData flag to cart recalculate action (827a392), closes #220
- Cart: support anonymous checkout for me endpoint (a89f38c), closes #221
- MeEndpoint: add get active cart request (e61d29d), closes #224
- MyProfile: support customer profile on me endpoint (3cc0f73), closes #223
- Orders: add support for orders at me endpoint (e776230), closes #222
- Product: add image upload request (e8985bd), closes #146
- Product: support product price selection (02026a7),(ebac224), closes #225
- ProductSearch: add fuzzy level support (617a4ea), closes #217
1.1.1 (2016-06-07)
- LocalizedEnumCollection: use correct type for LocalizedEnumCollection elements (9492a8c), closes #218
1.1.0 (2016-05-27)
- JsonObject: fix JsonObject::hasField method to return if the field has a value set (c2eaed5), closes #173
- Cache: add support for PSR-6 cache adapter (e6cbd27), closes #194
- Cart: support new cart tax modes (f6bfeeb), closes #207
- Customer: support anonymous cart sign in mode for customer login (e94ac48), closes #212
- Error: add DiscountCodeNonApplicable error (a42e90d), closes #198
- Product: add changeMasterVariant update action (48d1a42), closes #204
- Product: add getAllVariants helper method to product data (006e984), closes #213
- Product: add image move to position update action (c24839b), closes #206
- Product: add scopedPrice and scopePriceDiscounted to ProductVariant model (f7d25d8), closes #201
- Product: add support to publish product on creation (ee71818), closes #203
- Product: support availableQuantity for product variant availability (dbc4c48), closes #202
- Product: support fuzzy query for product suggest (1d59870), closes #205
- Query: add support for multiple where query parameters (591c926), closes #196
- Request: support reference expansion for CRUD requests (0f29ea7), closes #199
- Review: add review messages (f20c858)
- UpdateRequest: add hasActions method to update requests (cb98ffd)
1.0.1 (2016-05-17)
- Product: fix mapping for product variant availability (c0c461f)
1.0.0 (2016-05-02)
There had been no changes
1.0.0-RC12 (2016-05-02)
- Cart: fix type of custom line-item slug (34367d5)
- CustomLineItem: fix type of slug in custom line-item (d8d7d2a)
- Cart: add helper to calculate line item count (291bd05)
- Client: add support for oauth password and refresh token flow (fe23c8b), closes #191
- Error: add oauth error classes (92eec57)
- Product: add support to use sku to identify a product variant in update action (7f1979b), closes #192
- Reference: add constructor ofKey constructor to references (e6fafc3)
- removed Facet, Filter, FilterRange and FilterRangeCollection in namespace Commercetools\Core\Model\Product. Please use the classes found in namespace Commercetools\Core\Model\Product\Search instead.
1.0.0-RC11 (2016-04-06)
- Product: change type of price collection (8cc1262)
- Customer: adjust customer email verification request to API changes (2e3dd32)
- Customer: adjust customer password change request to API changes (318e93f)
- Client: add support for oauth scopes (5545dfd)
- Client: log response body and headers of api exceptions (f371979), closes #186
- Product: add update action for stageable SKU (870a1f8)
- Response: add getter for correlation id (6029a02), closes #69
-
Product: renamed the ProductSetSKUAction to ProductSetSKUNotStageableAction
Before:
ProductSetSKUAction::ofVariantId()
After:
ProductSetSKUNotStageableAction::ofVariantId() // old behavior action ProductSetSkuAction::ofVariantId() // stageable action
-
Product: fix type of price collections
Before:
ProductAddVariantAction::of()->setPrices(PriceCollection::of()->add(Price::of()))
After:
ProductAddVariantAction::of()->setPrices(PriceDraftCollection::of()->add(PriceDraft::of()))
-
Customer: adjust customer email verification request to API changes
Before:
CustomerEmailConfirmRequest::ofIdVersionAndToken($id, $version, $token)
After:
CustomerEmailConfirmRequest::ofToken($token)
-
Customer: adjust customer password change request to API changes
Before:
CustomerPasswordResetRequest::ofIdVersionTokenAndPassword($id, $version, $token, $newPassword)
After:
CustomerPasswordResetRequest::ofTokenAndPassword($token, $newPassword)
1.0.0-RC10 (2016-03-22)
- CartDiscount: fix cart discount target with correct type (220c1da)
- Client: fix guzzle5 adapter to send user agent (3ae8748)
- Collection: fix add function for collection (993cddd)
- Collection: fix collection iterator for associative collections (2442677)
- Customer: fix exception on getDefaultAddresses for empty customer address (7bd63a4)
- DateDecorator: fix date overflow for date decorator on serialization (9009b8f)
- Inventory: fix setSupplyChannel action for inventory update (f356179)
- LocalizedString: use graceful flag for language property getter (621195d)
- Payment: correct type mapping for transaction state (0c6f36d)
- Reference: remove obj from serialized result if resource is embedded (79f8cba)
- Review: fix locale serialization for review models (973129d)
- Category: add metaDescription, metaKeywords, metaTitle to Category and CategoryDraft model (5468676)
- Customer: add update actions to set customer's firstName, middleName, lastName and title (b122225)
- GraphQL: add request to query GraphQL endpoint (182641a)
- LineItem: add helper function to calculate discounted price (961a493)
- Payment: add change amount planned update action (2815f98)
- Product: add product setCategoryOrderHint action (9f8de04)
- Product: add set prices update action (a8c4206)
- ProductSearch: support POST for filters and facets (caeb0a5)
- ProductType: add change isSearchable update action (95395f9)
- ProductType: add inputTip to attribute definition (09288a4)
- ProductType: add key to product type (4e1d393)
- Review: add by key requests (ebc4ece)
- Review: add update by key request (710c89e)
- Review: update Review requests and models to API changes (6634658)
- ShippingMethod: add delete request for shipping methods (e5510f6)
- State: add set, add and remove roles update action (7c9a28d)
- Type: add by key delete requests (509616f)
- Type: add type change key action (1c2ebf4)
- Type: add type update by key request (72e4bd2)
- Types: add delete type by key request (2450b7a)
- Types: add request to get type by key (2b34ae9), closes #169
Facet, Filter, FilterRange and FilterRangeCollection in namespace Commercetools\Core\Model\Product have been marked as deprecated and will be removed in v1.0.0. Please use the classes found in namespace Commercetools\Core\Model\Product\Search instead.
-
Changed named constructors for type update actions
Before:
TypeAddLocalizedEnumValueAction::ofEnum(...) TypeAddEnumValueAction::ofEnum(...) TypeChangeEnumValueOrderAction::ofEnums(...) TypeChangeLocalizedEnumValueOrderAction::ofEnums(...) TypeChangeLabelAction::ofLabel(...)
After:
TypeAddLocalizedEnumValueAction::ofNameAndEnum(...) TypeAddEnumValueAction::ofNameAndEnum(...) TypeChangeEnumValueOrderAction::ofNameAndEnums(...) TypeChangeLocalizedEnumValueOrderAction::ofNameAndEnums(...) TypeChangeLabelAction::ofNameAndLabel(...)
1.0.0-RC9 (2016-01-11)
- Collection: fix serialization of collection with primitive types (0e1251f)
- CustomField: fix custom field object draft to reflect API changes (90156aa)
- CustomFields: fix custom type update actions to match changed API (26efdcf)
- CustomObject: remove type for custom object value (b37c604), closes #163
- Product: fix type of priceId (23c2de5)
- ProductProjection: fix context of getAllVariants helper method (28526db)
- Cart: add fields to cart draft (8b2ab3b)
- Category: add CategoryCreated and CategorySlugChanged messages (014dde2)
- CategoryCollection: add getById to CategoryCollection (1a79cbc)
- Channel: add custom field to channel (5e9601d)
- Client: add config option for accept encoding (e.g. enabling gzip compression) (c57f2ee)
- Client: add gzip as default acceptEncoding (2ddd99d)
- CurrencyFormatter: change currencyFormatter to use fraction digits from intl extension (e8d058b)
- Customer: add CustomerCreated message (12c9bff)
- Customer: add getter for default shipping and billing address (7b776f9), closes #162
- CustomFields: update custom field draft to API changes (dfae984)
- CustomObject: add delete by id request (9eb8ba7)
- Inventory: add SetSupplyChannel action (d453e5e)
- Payment: add change transaction state, timestamp and interactionId actions (3eee823)
- Payment: add PaymentTransactionChanged message (7c3e6d8)
- Payment: add state and id to payment transaction (b7ee577)
- Product: add price field to variant for price selection (ea8169e)
- Product: add ProductCreated and ProductSlugChanged messages (dbb8a28)
- Product: support resource identifier for product type at product creation (d7e1980)
- ProductSearch: add matching variant to ProductVariant object (2e336df)
- ProductSearch: add price select methods for search (ad8b4cd)
- ProductSearch: add price select methods to ProductProjectionSearchRequest (51f889d)
- ProductSearch: add price select parameters (f1717b8)
- ProductType: add get, update and delete by key requests (0ad3973)
- ProductType: add getByName and getById to ProductTypeCollection (2b2e005)
- Request: add min and max for query limit (66947e6)
-
CustomObject: CustomObjectCreateRequest expects CustomObjectDraft object
Before:
$request = CustomObjectCreateRequest::ofObject(CustomObject::of()->setContainer('test')->setKey('test-key')->setValue(json_encode($value)));
After:
$request = CustomObjectCreateRequest::ofObject(CustomObjectDraft::ofContainerKeyAndValue('test', 'test-key', $value));
-
CustomFields: the type reference had been changed at the API
Before:
$customFieldObjectDraft->setTypeId('type-12345'); $customFieldObjectDraft->setTypeKey('type-key');
After:
$customFieldObjectDraft->setType(TypeReference::ofId('type-12345')); $customFieldObjectDraft->setType(TypeReference::ofKey('type-key'));
1.0.0-RC8 (2015-10-30)
- Cart: typo in custom line item model (c583fb9)
- JsonObject: add missing static keyword to named constructors (f83e4c6)
- JsonObject: fix error message for unknown method (22431f8)
- Payment: add missing type for payment transactions (c6d3765)
- Payment: correct type for PaymentInfo model (b942a06)
- CustomFields: add customs fields and types for prices (cfbc0bb), closes #156
- ImportOrder: add custom fields to ImportOrder (008702f)
- Order: add order delete request (5944de7)
-
added PriceDraft to price update actions
The new PriceDraft object has been added as type hint to ProductAddPriceAction and ProductChangePriceAction. The ProductVariantDraft expects now a PriceDraftCollection
1.0.0-RC7 (2015-10-19)
- Cart: add corrected cart discount fields (b0bf1b7)
- LocalizedString: fix array conversion of locales for LocalizedString (ea50790)
- PaymentInfo correct class path (a9501fc)
- JsonObject: recurse toArray method to child objects (feb3729)
-
discountedPrice at LineItems has been removed
The discountedPrice field has been deprecated at the API and therefor was removed from the SDK.
Before:
$lineItem->getDiscountedPrice(); $discountedCentAmount = $lineItem->getDiscountedPrice()->getValue()->getCentAmount();
After:
$lineItem->getDiscountedPricePerQuantity(); $discountedCentAmount = 0; foreach ($lineItem->getDiscountedPricePerQuantity() as $discountedPricePerQuantity) { $discountedCentAmount += $discountedPricePerQuantity()->getQuantity() * $discountedPricePerQuantity->getDiscountedPrice()->getValue()->getCentAmount(); }
(b0bf1b7)
1.0.0-RC5 (2015-10-07)
- LineItems: add update actions for custom types on line items (c64fad0)
- Payment: add payment info to cart and order (e279d1a)
- Payment: add payment update actions for cart and order (13e1860)
1.0.0-RC4 (2015-10-05)
- Cart: fix addCustomLineItem update action (b2d704f), closes #154
- CustomTypes: update to breaking changes of the API (5e23104)
- Product: fix type for remove price action (c0a5ccc), closes #153
- Order: add state to order (3a6cc3d)
- Payment: add payment messages (b9308c1)
- Payment: add payment requests and models (c720eed)
- Product: add state to product (95437d8)
- ProductSearch: add fuzzy flag to product search request (0ed8dc8)
- Review: add state to review (8278313)
- update actions for changing the order of custom fields have been changed
1.0.0-RC3 (2015-09-10)
- Comment: delete comment endpoint functionality (506644c)
- OAuthManager: don't expose api credentials through exception callstack (f0caaa1)
- ProductDraft: use ProductVariantDraftCollection for variants (f252a2d), closes #142
- CustomFields: add custom field models and mapping by type field definitions (146ee40) closes #119
- Message: add specific message objects (353b5ab) closes #128
- Orders: add cart field to order (922d812), closes #132 #131
- ProductSearch: add reference expansion to product search request (c003de6), closes #144
- ProductVariant: add helper methods to get variant by id (f2ff1d4)
- Products: add getBySku method (ab9a0b9)
- Products: add support to set EnumType and LocalizedEnumType attributes by key (df88267)
- Products: add support to set EnumType and LocalizedEnumType attributes by key in all variants (e07cad6)
- QueryRequest: add page request interface (ecc5666)
- QueryRequest: add sort and query request interfaces (d19c127)
- QueryRequest: add with total request interface (c1059ee)
- RedisCacheAdapter: unify life time (7b73d30)
- Reviews: add review delete request (2c6493e), closes #134
- ShippingMethod: add getByName and getById to ShippingMethodCollection (2de7668)
- UpdateActions: add limit to update actions (3f728a5)
- CategoryCollection: add getByParent and getRoots to CategoryCollection (ece9d87)
- LocalizedString: add support for locales to LocalizedString (ea5e1c6)
- Image: return empty thumb image url if no url is set (a4be01b)
-
comments endpoint has been removed from the API
All models and request objects have been removed from the SDK
<a name"1.0.0-RC2">
-
SphereException and SphereServiceException have been renamed to ApiException and ApiServiceException
Before
try { ... } catch(SphereException $e) { }
After:
try { ... } catch(ApiException $e) { }
(813a6cb7)
-
Namespace Sphere has been renamed to Commercetools
Namespace and Use statements and fully qualified class names have to be adjusted. E.g.
Before
use Sphere\Core\Client; $class = '\Sphere\Core\Client';
After:
use Commercetools\Core\Client; $class = '\Commercetools\Core\Client';
(4bc9575f)
<a name"1.0.0-RC1">
- CustomerCreateRequest: set correct return object class (d1c100c9, closes #109)
- Requests: fix the usage of relative path by requests (e32d0150)
- Order: set correct return type for order discountCodes (5bbf4f14)
- AnnotationGenerator: add magic method getAt and current with correct type hint to collections (324886db)
- Attribute: add feature to set attribute type definitions to attributes (37546b33)
- AttributeCollection: add feature to set attribute type definitions to attribute collection (af3b558a)
- CartDiscount: add update actions (c0e27dd5)
- Channel:
- Client: add named constructor to Client and Config object (1a0c350f, closes #101)
- Comments: add update actions (54804bf1)
- CustomerGroups: add update actions (30789b76)
- DiscountCodes: add update actions (e3357965)
- Exceptions: wrap http client exceptions (a169611b)
- Inventory: add update actions (12ea56d5)
- JsonObject: add magic getter to access object data as property (7a22cfa7)
- ProductDiscounts: add update actions (24bd9afb)
- ProductTypes: add update actions (50616ef8)
- Project: add project fetch request (4e8d232c, closes #35)
- Requests:
- Review: add update actions (4f1d55c8)
- ShippingMethod:
- State: add update actions (3833ad1d)
- TaxCategory: add update actions (428ba25a)
- Zones: add update actions (a74c3517)
-
QueryRequests renamed to singular form
To streamline the naming schemes between the SDKs QueryRequests have been renamed to their singular form. E.g.:
Before:
$request = CategoriesQueryRequest::of();
After:
$request = CategoryQueryRequest::of();
(8de23283)
-
SingleResourceResponse renamed to ResourceResponse
To streamline the naming schemes between the SDKs SingleResourceResponse has been renamed to ResourceResponse
(4199c815)
-
ImportLineItem renamed to LineItemImportDraft
To streamline the naming schemes between the SDKs ImportProductVariant, ImportLineItem and ImportLineItemCollection have been renamed to ProductVariantImportDraft, LineItemImportDraft and LineItemImportDraftCollection.
(018c7493)
-
CartDiscountCodeReference renamed to DiscountCodeInfo
To streamline the naming schemes between the SDKs CartDiscountCodeReference has been renamed to DiscountCodeInfo
(db14db07)
-
DeleteById requests renamed to Delete requests
To streamline the naming schemes between the SDKs delete requests have been renamed. E.g.:
Before:
$request = ProductDeleteByIdRequest::ofIdAndVersion('<id>', <version>);
After:
$request = ProductDeleteRequest::ofIdAndVersion('<id>', <version>);
(896e95a9)
-
FetchBy requests renamed to ByGetRequest
To streamline the naming schemes between the SDKs FetchBy requests have been renamed to ByGet requests. E.g.:
Before:
$request = ProductFetchByIdRequest::ofId('<id>');
After:
$request = ProductByIdGetRequest::ofId('<id>');
(d601dcfc)
-
Document has been renamed to Resource
To streamline the naming schemes between the SDKs Document has been renamed to Resource. Type checks have to be adjusted
Before:
if ($object instanceof \Sphere\Core\Model\Common\Document)
After:
if ($object instanceof \Sphere\Core\Model\Common\Resource)
(5704fa3e)
-
ProductSearchEndpoint has been renamed
Before:
$endpoint = ProductSearchEndpoint::endpoint();
After:
$endpoint = ProductProjectionEndpoint::endpoint();
closes #103
(e1b6989f)
-
ProductsSearchRequest has been renamed
Before:
$request = ProductsSearchRequest::of();
After:
$request = ProductProjectionSearchRequest::of();
closes #103
(bd1bf7b1)
-
config object fromArray method is declared static
Before:
$config = new Config(); $config->fromArray($configArray);
After:
$config = Config::fromArray($configArray);
closes #101
(1a0c350f)
-
ext-intl is now mandatory
(2afea8ad)
-
getters return null if value is not set
To have a more reliable return values the implied instantiation of empty objects has been removed. This means before using a value is must be set explicit. Example for collections
Before:
$obj = ProductTypeDraft::ofNameAndDescription('test', 'test'); $obj->getAttributes()->add(AttributeDefinition::of()->setName('test'));
After:
$obj = ProductTypeDraft::ofNameAndDescription('test', 'test'); $obj->setAttributes(AttributeDefinitionCollection::of()->add(AttributeDefinition::of()->setName('test')));
Closes #113
(8b138e7b)
-
all http client exceptions are now wrapped inside the SphereException hierarchy
Before:
try { $response = $client->execute($request) } catch(\GuzzleHttp\Exception\RequestException $e) { ... }
After:
try { $response = $client->execute($request) } catch(\Sphere\Core\Error\SphereException $e) { ... }
(a169611b)
-
rename client method future to executeAsync
To streamline the request executing methods the future method has been renamed. To migrate the code follow the example:
Before:
$response = $client->future($request);
After:
$response = $client->executeAsync($request);
(51da11fa)
-
changes the static "of" constructor to named constructors
The static constructor "of" for models and requests needs magic methods in the class header to provide proper IDE support. By using the library as a dependency the magic methods were not correctly used by the IDE. Also the reflection used inside the OfTrait is not the best solution. So now all models and requests should have one or more named constructors which can be properly read by most IDE, don't require reflection for instantiation and can create instances without parameters which is helpful for testing purposes.
- constructor of Models and Requests doesn't have required values anymore
- static "of" constructor instantiates class with given context object. Use named constructors for instantiating models or requests with arguments
(d19a83c1)
Major refactoring of the http client handling. Sphere client uses now PSR http messages for internal request and response representation and ships with a guzzle5 and guzzle6 http client adapter which will be automatically used. It's also possible to register new http client adapters implementing Sphere\Core\Client\Adapter\AdapterInterface
- switch composer to caret operator
- add redis to travis configuration
- update customer create endpoint with API changes
- add productSlug to LineItem
- add homepage and support sections to composer.json
- add accessor for adapter factory to client
- [BREAKING] move guzzle to http client adapter to reduce dependencies
- sphere client can use guzzle5 and guzzle6
- [BREAKING] fix product variants mapping type
- add price validity ranges
- add php-intl as dependency to readme for development
- [BREAKING] update price update and remove action to priceId
- update links to documentation
- [DEPRECATED] ProductSetMetaAttributesAction
- add meta attribute update actions for categories
- add meta attribute update actions for products
- change userAgent signature
- add missing type mappings to requests
- [BREAKING] add required attributes to StateDraft add behat test for StateCreate
- add ReviewCreateRequest
- add CommentCreateRequest
- add ProductDiscountCreateRequest
- add ProductTypeCreateRequest
- add hipchat notification
- set values collection type only on deserialisation in AttributeType
- FilterRange adds quotes to string and formats DateTime
- add ShippingMethodCreateRequest
- add InventoryCreateRequest
- add InventoryEntry model
- add DiscountCodeCreateRequest
- add CustomerGroupCreateRequest
- add ChannelCreateRequest
- add CartDiscountCreateRequest
- remove context type hint from TaxCategoryDraft
- add zone create request
- add context to ZoneDraft constructor
- add tax category create request
- add importOrder unit tests
- add order import request and models
- add sdk user agent to client header
- expose headers and status code in response objects
- refactor getters for results and facets in paged responses
- fix bool filter more type safe filter to string conversion
- more type safe filter to string conversion
- fix multi facet and filter params
- fix type of TaxRate
- add unit tests for query, fetch and delete requests
- add tests for order and product update actions
- add customer, category and cart update action tests
- refactor annotation generator
- refactor context aware objects to give a context callback to child
- add constructor tests for update commands
- add customer object and order create request test
- add customer request tests
- update Collection and JsonObject tests
- add model unit tests
- execute apigen only at master or tag changes
- fix state and taxRate
- add reference test
- add typed objects for references
- add currency formatter test
- refactor collection and jsonObject
- remove deprecated functions
- add integration tests for category
- refactor query parameters
- add reference getter to JsonObject
- return references only for documents
- log deprecation headers
- add pool size configuration to client
- add future requests
- add future tests
- add toString to LocalizedSearchKeywords model
- fix product draft tax category
- add links to api documentation for models
- correct type hints for zone requests
- add links to api documentation for requests
- add limit of update action logging to update requests
- add cache adapter for redis storage
- batch execution of requests
- delete, update, fetchById and query requests for all endpoints
- cart create and update requests
- cart update actions
- order create and update requests
- order update actions
- customer create and update requests
- customer update actions
- customer sign-in, email verification and password requests
- custom object create request
- api result to object mapping
- initial commit