Release Notes¶
10.0.6 - Mar 20, 2025¶
Commits | Javadoc | Jar - 🐞 Bug Fixes (1) - Fix product attributes being updated even though they did not change (https://github.com/commercetools/commercetools-sync-java/issues/1200)
10.0.5 - Feb 8, 2024¶
Commits | Javadoc | Jar - 🐞 Bug Fixes (1) - Fix images not being returned by variant resolution utils (https://github.com/commercetools/commercetools-project-sync/issues/555)
10.0.4 - Jan 9, 2024¶
Commits | Javadoc | Jar - 🐞 Bug Fixes (1) - Fix getting a wrong JSON Object mapper (https://github.com/commercetools/commercetools-sync-java/issues/1138)
10.0.3 - Dec 21, 2023¶
- 🐞 Bug Fixes (1)
- Fix NullPointerException for products having a category but no category order hints (https://github.com/commercetools/commercetools-sync-java/pull/1134)
10.0.2 - Dec 05, 2023¶
- 🐞 Bug Fixes (4)
- Product Sync - Sync now supports syncing of products with attributes referencing themselves. #478
- State Sync - Fix NPE thrown by
StateDraftBuilder.build()when required fields are missing. TheStateTransformUtils.toStateDraftsutility returns an empty draft when key is null or empty. - Inventory Sync - Fix NPE thrown by
InventoryEntryDraftBuilder.build()when required fields are missing. TheInventoryTransformUtils.toInventoryEntryDraftsutility returns an empty draft when sku is null or empty. - ProductType Sync - Fix ReferenceResolution of product-type attributes to avoid sync errors.
10.0.1 - Nov 14, 2023¶
- 🐞 Bug fixes (1)
- Make commercetools-sdk-java-v2 available as a transitive dependency
10.0.0 - Nov 6, 2023¶
- 🚧 Breaking Changes (1)
- commercetools-sync-java is now fully migrated to
commercetools-sdk-java-v2. See Migration Guide on how to use this library version.
9.2.3 - Mar 21, 2023¶
- 🐞 Bug Fixes
- Fix the problem when switching master variants #918
9.2.1 - Feb 10, 2023¶
- 🐞 Bug Fixes
-
Fix rich type reference issue in product type #893
-
🛠️ Dependency Updates
- Migrated
com.commercetools.sdk.jvm.coreto2.12.0
9.2.0 - Dec 06, 2022¶
Commits | Javadoc | Jar - ✨ Enhancements (2) - Display Github tag instead of Github commit hash in Benchmarks chart #867 - Run Bechmarks test in every commit #868
To help developers to review the performance change before creating new release, benchmarks test now executes not only during making new release, but also pushing new commit in branches.
The test result of commit is displayed in the build in Github Action. It shows whether benchmarks of current commit over the pre-defined threshold, while the benchmarks chart keeps displaying
the test result of each library version.
- 🐞 Bug Fixes
-
Fix NPE in ProductSync benchmarks test for SDK-v2 #874
-
🛠️ Dependency Updates
- Migrated
com.commercetools.sdkfrom9.4.0to9.5.0 - Migrated
com.github.ben-manes.caffeine3.1.1to3.1.2 - Migrated
com.github.ben-manes.versions0.43.0->0.44.0 - Migrated
ru.vyarus.mkdocs2.4.0->3.0.0
9.1.0 - Nov 02, 2022¶
Commits | Javadoc | Jar - ✨ Enhancement (1) - Java SDK-v2 Compatible layer adaption #859
Commercetools has already developed [next generation Java SDK (Java-SDK-v2)](https://github.com/commercetools/commercetools-sdk-java-v2) for communication between client-side and the platform.
As it provides a compatible layer which ease the migration work, we now provide alternative methods in [ClientConfigurationUtils](https://github.com/commercetools/commercetools-sync-java/blob/master/src/main/java/com/commercetools/sync/commons/utils/ClientConfigurationUtils.java) for client creation purpose. Meanwhile the original
methods keep unchanged and support client creation with [existing JAVA SDK](https://github.com/commercetools/commercetools-jvm-sdk).
For details how to create client from Java-SDK-v2, please refer to [Important Usage Tips](https://github.com/commercetools/commercetools-sync-java/blob/master/docs/usage/IMPORTANT_USAGE_TIPS.md)
- 🛠️ Dependency Updates
- Added
com.commercetools.sdk9.4.0 - Migrated
com.diffplug.spotlessplugin from6.9.1to6.11.0. - Migrated
com.github.ben-manes.versions0.42.0->0.43.0 - Migrated
com.github.spotbugs5.0.12->5.0.13 - Migrated
commercetools-jvm-sdk-> 2.9.0 - Migrated
org.apache.commons:common-text1.9->1.10 - Migrated
org.mockito:mockito-junit-jupiter4.7.0->4.8.1
- Added
9.0.3 - Sep 22, 2022¶
Commits | Javadoc | Jar - 🐞 Bug Fixes - Fix broken link in the github.io documentation #853
9.0.2 - Sep 21, 2022¶
Commits | Javadoc | Jar - 🐞 Bug Fixes - Add correct resources to the error callbacks #850
9.0.1 - Aug 13, 2022¶
Commits |
Javadoc |
Jar
- 🐞 Bug Fixes
- Fix broken links in the github.io documentation #843
- 🛠️ Dependency Updates
- org.ajoberstar.git-publish 4.1.0 -> 4.1.1
- org.mockito:mockito-junit-jupiter 4.6.1 -> 4.7.0
- com.diffplug.spotless 6.9.0 -> 6.9.1
9.0.0 - Aug 8, 2022¶
-
🚧 Breaking Changes (1)
- Minimum Java 11 or above is required #840
-
✨ Build Tools
-
🛠️ Dependency Updates
8.1.1 - Mar 21, 2022¶
- 🐞 Bug Fixes (1)
-
Product Sync - Fixed the
AddToCategory,RemoveFromCategoryaction, which creates unnecessary update action when there is no difference and it leads to error. #816 -
✨ Enhancement (1)
-
Resolve warnings and deprecated usages. #808
-
✨ Build Tools
- Migrated from gradle
v7.3.1tov7.3.3. -
Migrated github actions
setup-javaplugin fromv2tov3 -
🛠️ Dependency Updates
commercetools-jvm-sdk2.5.0->2.6.0com.github.spotbugs5.0.2->5.0.5com.diffplug.spotless6.0.4->6.2.0mockito-junit-jupiter4.1.0->4.3.1org.assertj.assertj-core3.21.0->3.22.0
8.1.0 - Dec 14, 2021¶
- ✨ Build Tools
- Migrated from gradle
v6.8.2tov7.3.1. - Migrated github actions
setup-javaplugin fromv1tov2 -
Migrated github actions
codecov-actionplugin fromv1tov2 -
🛠️ Dependency Updates
commercetools-jvm-sdk1.64.0->2.5.0com.adarshr.test-logger3.0.0->3.1.0ru.vyarus.mkdocs2.1.2->2.2.0org.ajoberstar.grgit4.1.0->4.1.1com.github.spotbugs4.7.1->5.0.2com.diffplug.spotless5.14.2->6.0.4mockito-junit-jupiter3.11.2->4.1.0org.junit.jupiter:junit-jupiter-api5.7.2->5.8.2org.junit.jupiter:junit-jupiter-engine5.7.2->5.8.2org.junit.jupiter:junit-jupiter-params5.7.2->5.8.2org.assertj.assertj-core3.20.2->3.21.0com.github.ben-manes.caffeine2.9.2->2.9.3- (new)
org.apache.commons:common-text1.9
8.0.0 - Oct 1, 2021¶
- 🚧 Breaking Changes (1)
-
Removed support of changing the attribute definition type #787 since removal and addition of the attribute with the same name in a single request is not possible by commercetools API anymore. For more information please check.
-
✨ Enhancement (1)
- Use the new concurrency keyword on github actions to limit the concurrency of the workflow runs. #772
7.0.2 - Sep 21, 2021¶
- ✨ Enhancement (1)
- Dependency management - Migrate Dependabot to Renovate.#767
✨ Documentation (1) - Update docs and Release notes about the usage of JVM-SDK dependencies.#766
7.0.1 - Sep 15, 2021¶
- 🐞 Bug Fixes (1)
- State Sync - State to sync correctly from source to target when no transitions configured.#763
7.0.0 - Aug 24, 2021¶
- 🚧 Breaking Changes (1)
- Dependency management: To avoid
commercetools JVM SDKlibraries version mismatch between projects. It is better not to addcommercetools JVM SDKdependencies explicitly into your project and use them fromcommercetools-Sync-Javadependencies instead. Check README.md for more details.
✨ Documentation (1) - Usage documentation on main readme improved, obsolete links is removed. #758
6.0.0 - Jul 19, 2021¶
- 🚧 Breaking Changes (1)
-
Inventory Sync:
InventoryService.fetchInventoryEntriesBySkus(Set<String> skus)is renamed toInventoryService.fetchInventoryEntriesByIdentifiers(Set<InventoryEntryIdentifier> inventoryEntryIdentifiers). #757 -
🐞 Bug Fixes (1)
- Inventory Sync - Fixed the
DuplicateFieldbug in theInventorySyncrelated to fetching and syncing inventories with multiple channels. #757
5.1.3 - Jul 8, 2021¶
-
🐞 Bug Fixes (1)
- TaxCategory Sync - TaxCategories to sync properly when we have many TaxRates with different states.
-
✨ Enhancements (1)
- Product Sync - After a fix from JVM-SDK(1.64.0), ProductProjection search uses built in predicate to filter resources by the key to avoid issues like #269.
-
🛠️ Dependency Updates (5)
commercetools-jvm-sdk 1.63.0-> 1.64.0assertjVersion 3.19.0->3.20.2caffeineVersion 2.9.1->2.9.2mockitoJunitJupiterVersion 3.10.0->3.11.2com.diffplug.spotless 5.12.5->5.14.0
5.1.2 - May 31, 2021¶
-
🐞 Bug Fixes (1)
- Product Sync - The user is now aware of unresolvable references as the transform service will not skip the products.
-
🛠️ Dependency Updates (3)
com.github.ben-manes.versions 0.38.0->0.39.0caffeineVersion 2.8.5->2.9.1netty-codec-http 4.1.64.Final->4.1.65.Final
5.1.1 - May 18, 2021¶
-
🐞 Bug Fixes (2)
-
🛠️ Dependency Updates (7)
commercetools-jvm-sdk 1.62.0-> 1.63.0io.codearte.nexus-staging 0.30.0->io.github.gradle-nexus.publish-plugin 1.11.0(Adapt new gradle plugin for artifact publishing)com.github.spotbugs 4.7.0->4.7.1com.diffplug.spotless 5.12.1->5.12.5org.mockito:mockito-junit-jupiter 3.9.0->3.10.0org.junit.jupiter 5.7.0->5.7.2netty-codec-http 4.1.63.Final->4.1.64.Final
Build Tools (1) - Change build script and cd.yml for new gradle publish plugin.
5.1.0 - Apr 20, 2021¶
- 🎉 New Features (1)
- Syncing product types with an attribute of type Set of (Set of Set of..) of NestedType attribute is supported. #720
5.0.0 - Apr 12, 2021¶
-
🚧 Breaking Changes (2)
- For mapping a
resource(Product, Category, CartDiscount, ShoppingList, State, InventoryEntry, ProductType, Customer) toresourceDraftthe new util method should be called.
Example for Product Sync: For mapping from
ProducttoProductDraftthe util methodProductTransformUtils.toProductDraftsshould be called along withsphereClient, cache implementation(ReferenceIdToKeyCache) andproductTypesparameters.-
Product Sync: The
productProjectionsendpoint is used instead ofproductsendpoint to improve the performance of theproduct Sync. -
Changes:
- The
callbacksof theproduct Syncwill now work withproductProjectionsinstead ofproducts - The update action (
buildCustomUpdateActions,buildAssetsUpdateActions,buildAssetActions) doesn't require the "old Resource" as parameter anymore. - All update actions of products now working with
ProductProjectionsinstead ofProducts - The method
syncFrenchDataOnlyhas a new signaturepublic static List<UpdateAction<Product>> syncFrenchDataOnly(@Nonnull final List<UpdateAction<Product>> updateActions, @Nonnull final ProductDraft newProductDraft, @Nonnull final ProductProjection oldProduct) - The method
keepOtherVariantshas a new signatureList<UpdateAction<Product>> keepOtherVariants( @Nonnull final List<UpdateAction<Product>> updateActions) - The method
mapToProductDraftshas a new signaturepublic static List<ProductDraft> mapToProductDrafts(Nonnull final List<ProductProjection> products) - The method
getDraftBuilderFromStagedProducthas a new signaturepublic static ProductDraftBuildergetDraft BuilderFromStagedProduct(@Nonnull final ProductProjection product) - The method
buildProductQueryhas a new signaturepublic static ProductProjectionQuery buildProductQuery() - The method
buildCategoryActionshas a new signaturepublic static List<UpdateAction<Product>> buildCategoryActions(@Nonnull final ProductProjection oldProduct, @Nonnull final ProductDraft newProduct) - The class
BaseSyncOptionshas a new generics<A>, which indicate the resource type to update - The class
BaseSyncOptionsBuilderhas a new generics<A>, which indicate the resource type to update
- The
- For mapping a
-
✨ Enhancements (2)
-
To improve performance of the library, We are not expanding any references in the query for the resources, Instead library fetches key-id pairs and stores in a cache to reuse them. Example for ProductSync: The util class method
ProductTransformUtils.toProductDraftswill fetch key-id pairs and stores in a cache. This cache has been used to build theproductDraftby resolving references. For detailed documentation refer - syncing-from-a-commercetools-project -
Product Sync
-
-
🛠️ Dependency Updates (1) commercetools-jvm-sdk 1.60.0 -> 1.62.0
4.0.1 - Mar 19, 2021¶
-
✨ Enhancements (1)
- To avoid 414 request-URI too large error, the services are using chunking on the input list(keys or sku's) to chunk the input considering the length of the request URI and execute the query for these chunks.
-
✨ Build Tools (1)
-
Migrated from gradle
v5.6.2tov6.8.2. -
🛠️ Dependency Updates (1)
- Updated the following transitive dependencies to avoid vulnerability issues of previous versions:
com.fasterxml.jackson.dataformat:jackson-dataformat-cbor-> Fixed vulnerability issue for DoS attacksio.netty:netty-codec-http-> Fixed vulnerability issue for Information Disclosureorg.apache.httpcomponents:httpclient-> Fixed vulnerability issue for Improper Input Validationcommons-codec:commons-codec-> Fixed vulnerability issue for Information Exposure
4.0.0 - Feb 26, 2021¶
-
🚧 Breaking Changes (1)
- Product Sync:
PriceDraft.getCustomerGroup()is changed fromReference<CustomerGroup>toResourceIdentifier<CustomerGroup>, so as a library user you don't need to provide a key field in the id field of the Reference. (Now API and JVM SDK supportResourceIdentifiersand it supports id or key as a field). #676
- Product Sync:
-
✨ Enhancements (1)
- Refactored CategorySync to make it consistent with other Sync types (e.g ProductSync). #681
-
🛠️ Dependency Updates (2)
commercetools-jvm-sdk1.57.0->1.60.0commercetools-java-client->commercetools-java-client-ahc-2_5-> Upgraded the default http client to avoid "Runtime Access Warnings" because of out of date netty dependencies on jvm-sdk. Note:commercetools-java-client-ahc-2_5dependency uses async-http-client version 2.5.4
-
✨ Build Tools (1)
- Migrating from JCenter / Bintray to The Maven Central Repository. Additionally, automate the staging process from
OSSRHfrommaven central. #667
3.2.0 - Feb 3, 2021¶
-
🎉 New Features (1)
- Now the categories, which have an unresolvable parent category, are persisted in custom objects, so they can be resolved in different executions / instances of the category sync. #658
-
🐞 Bug Fixes (1)
- To avoid
Error 413 (Request Entity Too Large)issues, a fix added to unresolved reference custom object fetching. #666
- To avoid
-
🛠️ Dependency Updates (1)
commercetools-jvm-sdk1.56.0->1.57.0
-
✨ Build Tools (1)
- Migrate to github actions from travis-ci #664
3.1.0 - Jan 13, 2021¶
-
🎉 New Features (1)
- Added clean up implementation for the outdated pending reference resolution custom objects. #650
-
✨ Enhancements (1)
- Added a graphQL pagination utility. #627
-
✨ Documentation (1)
- Documentation added for the cleaning up of the unresolved references, check the cleanup guide for more details.
3.0.2 - Dec 16, 2020¶
-
✨ Documentation (2)
- Documentation for the cacheSize sync option is added.
- Prerequisites section of the documentations are clarified and added more code snippets as usage examples.
-
🛠️ Dependency Updates (1)
commercetools-jvm-sdk1.55.0->1.56.0
3.0.1 - Nov 24, 2020¶
-
✨ Enhancements (1)
- To improve performance of the library, the services are using graphQL API to fetch resource ids only; also the
keyToIdcaches evict entries which haven't been used for the longest amount of time beyond a maximum size. The cache size is configurable in the sync options. #582
- To improve performance of the library, the services are using graphQL API to fetch resource ids only; also the
-
🛠️ Dependency Updates (2)
3.0.0 - Nov 18, 2020¶
-
🚧 Breaking Changes (1)
- Product Sync:
ProductDraft.getState()is changed fromReference<State>toResourceIdentifier<State>, so as a library user you don't need to provide a key field in the id field of the Reference. (Now API and JVM SDK supportResourceIdentifiersand it supports id or key as a field). #589
- Product Sync:
-
🐞 Bug Fixes (1)
- Commons - Fixed a bug in the duration calculation of decorated retry sphere client
RetrySphereClientDecoratorcreated byClientConfigurationUtils. #610
- Commons - Fixed a bug in the duration calculation of decorated retry sphere client
-
🎉 New Features (4)
- ShoppingList Sync - Added support for syncing shopping lists between ctp projects. #594
- ShoppingList Sync - Introduced
ShoppingListSyncUtilswhich calculates all needed update actions after comparing aShoppingListand aShoppingListDraft. #594 - ShoppingList Sync - Introduced
ShoppingListUpdateActionUtilswhich contains utils for calculating necessary update actions after comparing individual fields of aShoppingListand aShoppingListDraft. #594 - ShoppingList Sync - Introduced
ShoppingListReferenceResolutionUtilswhich resolves Type references from a ShoppingList to a ShoppingListDraft. #594
-
🛠️ Dependency Updates (1)
2.3.0 - Oct 15, 2020¶
- 🎉 New Features (4)
- Customer Sync - Added support for syncing customers between ctp projects. #579
- Customer Sync - Introduced
CustomerSyncUtilswhich calculates all needed update actions after comparing aCustomerand aCustomerDraft. #579 - Customer Sync - Introduced
CustomerUpdateActionUtilswhich contains utils for calculating needed update actions after comparing individual fields of aCustomerand aCustomerDraft. #579 - Customer Sync - Introduced
CustomerReferenceResolutionUtilswhich resolves CustomerGroup and Type references from a Customer to a CustomerDraft. #579
2.2.1 - Sep 29, 2020¶
- 🐞 Bug Fixes (1)
- Product Sync - Fixed a bug in the
ProductSyncrelated handling of unresolved product references provided in different batches. #580
- Product Sync - Fixed a bug in the
2.2.0 - Sep 25, 2020¶
-
🎉 New Features (2)
- Product Sync - Added support for resolving
key-value-document(custom object) references on attributes of typeReference,SetofReference,NestedTypeorSetofNestedType. #564 - Introduced new concept for the validation of
the drafts in batchesfor eachSyncinstance, exposed withBaseBatchValidatorimplementations (i.e. ProductBatchValidator, CategoryBatchValidator). #233
- Product Sync - Added support for resolving
-
✨ Enhancements (2)
- Category Sync - Passed category keys in batch to
cacheKeysToIdsmethod ofCategoryServiceto avoid fetching all categories for every batch. #235 - Populated
keyToIdcaches in services before reference resolution to improve the performance of the library with collecting referenced keys in batches of drafts. #235
- Category Sync - Passed category keys in batch to
-
🛠️ Dependency Updates (1)
mockito-junit-jupiter3.5.11->3.5.13
2.1.0 - Sep 21, 2020¶
Commits |
Javadoc |
Jar
- 🎉 New Features (2)
- CustomObject Sync - Added support for syncing custom objects between ctp projects. #565 For more info how to use it please refer to CustomObject usage doc.
- CustomObject Sync - Exposed CustomObjectSyncUtils#hasIdenticalValue which determines whether update process is required after comparing a CustomObject and a CustomObjectDraft. #565
- 🛠️ Dependency Updates (3)
2.0.0 - Sept 14, 2020¶
-
🚧 Breaking Changes (2)
- Sync options:
- The signatures of the
errorCallbackandwarningCallbackchanged and their parameter lists are extended. From now on the resource draft of the source project, the resource of the target project and optionally the failed update actions passed to the callbacks. Refer sync options for more details. #107
- The signatures of the
- Reference resolution utilities:
- Commons - Renamed
replaceCustomTypeIdWithKeystomapToCustomFieldsDraft. #138 - Commons - Renamed
replaceAssetsReferencesIdsWithKeystomapToAssetDrafts. #138 - Category Sync - Renamed
replaceCategoriesReferenceIdsWithKeystomapToCategoryDrafts. #138 - CartDiscount Sync - Renamed
replaceCartDiscountsReferenceIdsWithKeystomapToCartDiscountDrafts. #138 - Inventory Sync - Renamed
replaceInventoriesReferenceIdsWithKeystomapToInventoryEntryDrafts. #138 - Product Sync - Renamed
replaceProductsReferenceIdsWithKeystomapToProductDrafts. #138 - State Sync - Renamed
replaceStateReferenceIdsWithKeystomapToStateDrafts. #138 - ProductType Sync - Renamed
replaceProductTypesReferenceIdsWithKeystomapToProductTypeDrafts. #138
- Commons - Renamed
- Sync options:
-
✨ Enhancements (1)
- The library will fail fast for the non-existing references that found during the reference resolution. #219
-
🛠️ Dependency Updates (4)
1.9.1 - Aug 5, 2020¶
- 🐞 Bug Fixes (1)
- Product Sync - Fixed a bug in the
ProductSyncrelated to publish/unpublish of the product update actions, when a new product draft has publish flag set to true and the existing product is published already then no publish action will be created which was not correct #530
- Product Sync - Fixed a bug in the
1.9.0 - July 27, 2020¶
-
🎉 New Features (6)
- TaxCategory Sync - Added support for syncing tax categories. #417 For more info how to use it please refer to TaxCategory usage doc.
- TaxCategory Sync - Exposed
TaxCategorySyncUtils#buildActionswhich calculates all needed update actions after comparing aTaxCategoryand aTaxCategoryDraft. #417 - TaxCategory Sync - Exposed
TaxCategoryUpdateActionUtilswhich contains utils for calculating needed update actions after comparing individual fields of aTaxCategoryand aTaxCategoryDraft. #417 - State Sync - Added support for syncing states. #409 For more info how to use it please refer to States usage doc.
- State Sync - Exposed
StateSyncUtils#buildActionswhich calculates all needed update actions after comparing aStateand aStateDraft. #409 - State Sync - Exposed
StateUpdateActionUtilswhich contains utils for calculating needed update actions after comparing individual fields of aStateand aStateDraft. #409 Thanks, @jarzynp for the contributions!
-
🛠️ Dependency Updates (6)
1.8.2 - April 30, 2020¶
- 🐞 Bug Fixes (2)
- Commons - Fixed a bug in the Sync implementations causing the sync fail with throwing
ClassCastException. #466 - Product Sync - Fixed a bug in the
ProductSyncrelated to the ordering of variant update actions, which was not correct when there isSetAttributeInAllVariantsaction in update actions. Thanks, @ahmed-ali225, for the contributions! #513
- Commons - Fixed a bug in the Sync implementations causing the sync fail with throwing
1.8.1 - April 22, 2020¶
-
✨ Enhancements (1)
- Commons - Remove final keyword on interface/abstract method params. #165
-
🐞 Bug Fixes (3)
- CartDiscount Sync - Fixed a bug in the
CartDiscountSyncwhich generates achangeValueaction when there is no change, causing the sync to fail for that cart discount. Thanks, @michaelbannister, for the contributions! #494 - Product Sync - Fixed a bug in the
ProductSyncwhenensurePriceChannelsis enabled in ProductSyncOptions should not create a missing channel used on product variant price draft. #499 - Product/Category Sync - Validate that asset keys are always defined on the supplied drafts and the existing target resources (products/categories). #366
- CartDiscount Sync - Fixed a bug in the
-
🛠️ Dependency Updates (5)
1.8.0 - Jan 17, 2020¶
- ✨ Enhancements (1)
1.7.0 - Jan 7, 2020¶
-
✨ Enhancements (2)
-
Product Sync - Only cache the needed keys of
Category,ProductTypeandTypereferences instead of caching all keys of such resources. #418 Note: This might have performance implications on the product sync, since now every non cached key-id entry will be individually fetched. However, issue #235 should address this. -
Commons - Refactor duplicate implementations in concrete services and generalise it in the
BaseService. Thanks, @jarzynp, for the contributions! #418
-
-
🐞 Bug Fixes (1)
- Product Sync - Fixed a bug in the Product Sync where keys with special characters failed to be saved
for
CustomObjects, as the characters weren't allowed on the commmercetools platform. #474 Note: 🚧 This is a breaking change. Previously stored custom objects representing product drafts with unresolved references, won't be
synced with this version, since the key is now treated differently. Make sure to sync such drafts again with this version of the library.
- Product Sync - Fixed a bug in the Product Sync where keys with special characters failed to be saved
for
-
🛠️ Dependency Updates (5)
1.6.1 - Oct 17, 2019¶
-
🐞 Bug Fixes (3)
- Commons - Fixed a bug in the
CtpQueryUtilswhich was overwriting the query input query for every page after the first page is fetched, eventually fetching more than needed. #463 - Product Sync - Fixed a potential bug in reference resolution of attribute references in case a
nullreference is passed in an attribute draft of typeSetofReference. #441 - ProductType Sync - Fixed a bug in the productType sync where the statistics
failedcounter was being counted on failed fetches of missing references. #426
- Commons - Fixed a bug in the
-
🛠️ Dependency Updates (4)
1.6.0 - Oct 10, 2019¶
-
🎉 New Features (1)
- Product Sync - Introduced support for syncing products with other product references as attributes in any order. #447
-
🛠️ Dependency Updates (1)
com.adarshr.test-logger1.7.0 -> 1.7.1 #456
1.5.0 - Sept 13, 2019¶
-
🎉 New Features (4)
- Product Sync - Added support for resolving
Productreferences on attributes of typeReference,SetofReference,NestedTypeorSetofNestedType. #438 - Product Sync - Added support for resolving
Categoryreferences on attributes of typeReference,SetofReference,NestedTypeorSetofNestedType. #440 - Product Sync - Added support for resolving
ProductTypereferences on attributes of typeReference,SetofReference,NestedTypeorSetofNestedType. #440 - Commons - Exposed
ResourceIdentifierUtils#isReferenceOfTypeutility which checks if a JSON representation of a CTPReferenceobject is of a certaintypeIdor not. #443
- Product Sync - Added support for resolving
-
🚧 Breaking Changes (1)
- Product Sync - Unexposed the methods
VariantReferenceResolver#resolveAttributeReferencesandVariantReferenceResolver#resolveAttributeReferenceto beprivateas they are only meant for internal use of the library. #440
- Product Sync - Unexposed the methods
-
🛠️ Dependency Updates (5)
1.4.1 - Sept 2, 2019¶
-
🐞 Bug Fixes (1)
- Commons - Fixed a bug in the custom fields update actions builders which generated duplicated unnecessary update actions for
nullcustom field values. This affected any sync module where the resource contained custom fields (i.e. Product Sync, Category Sync, CartDiscount Sync and Inventory Sync). It also affected any update actions building utility in which the resource/sub-resource contained custom fields. #428
- Commons - Fixed a bug in the custom fields update actions builders which generated duplicated unnecessary update actions for
-
🛠️ Enhancements (1)
1.4.0 - Aug 8, 2019¶
-
🎉 New Features (5)
- ProductType Sync - Introduced support for syncing product types with NestedType (or set of NestedType) attributes in any order. #372
- ProductType Sync - Introduced the new
ProductTypeReferenceReplacementUtils#replaceProductTypesReferenceIdsWithKeyswhich is a util that replaces the reference ids with keys in a list of productTypes. #372 - ProductType Sync - Introduced the new
ProductTypeReferenceReplacementUtils#buildProductTypeQueryutils to create a product type query with all needed reference expansions to fetch productTypes from a source CTP project for the sync. #372 - ProductType Sync - Introduced the new
ProductTypeReferenceResolverwhich resolves productType references on ProductTypeDrafts. #372 - ProductType Sync - Introduced the new methods
ProductTypeSyncStatistics#getNumberOfProductTypesWithMissingNestedProductTypesandProductTypeSyncStatistics#getProductTypeKeysWithMissingParentswhich represents the nested product types which are still not resolved. #372
-
🛠️ Enhancements (8)
- Commons - Bumped commercetools-jvm-sdk to version 1.45.0.
- Commons - Bumped gradle to version gradle-5.5.1
- Commons - Bumped
org.junit.jupiter:junit-jupiter-apito 5.5.1. - Commons - Bumped
org.junit.jupiter:junit-jupiter-engineto 5.5.1. - Commons - Bumped
org.junit.jupiter:junit-jupiter-paramsto 5.5.1. - Commons - Bumped
mockito-junit-jupiterdependency to 3.0.0. - Commons - Bumped
assertjto 3.13.2. - Commons - Bumped
com.github.ben-manes.versionsto 0.22.0.
1.3.0 - Jul 3, 2019¶
-
🎉 New Features (6)
- CartDiscount Sync - Added support for syncing cart discounts. #379 For more info how to use it please refer to CartDiscount usage doc.
- CartDiscount Sync - Introduced the new
CartDiscountSyncUtils#buildActionswhich calculates all needed update actions after comparing aCartDiscountand aCartDiscountDraft. #379 - CartDiscount Sync - Introduced the new
CartDiscountUpdateActionUtilswhich contains utils for calculating needed update actions after comparing individual fields of aCartDiscountand aCartDiscountDraft. #379 - CartDiscount Sync - Introduced the new
CartDiscountReferenceResolverwhich resolves custom type references on CartDiscountDrafts. #379 - CartDiscount Sync - Introduced the new
CartDiscountReferenceReplacementUtils#replaceCartDiscountsReferenceIdsWithKeyswhich is a util that replaces the custom type ids with keys in a list of cartDiscounts. #379 - CartDiscount Sync - Introduced the new
CartDiscountReferenceReplacementUtils#buildCartDiscountQueryutil to create a cart discount query with all needed reference expansions to fetch cart discounts from a source CTP project for the sync. #379.
-
🐞 Bug Fixes (1)
- Commons - Fixed a bug in the
BaseSyncStatisticswhich caused a wrong calculation of thelatestBatchProcessingTimeInMinutes. #378
- Commons - Fixed a bug in the
-
🛠️ Enhancements (6)
- CartDiscount Sync - Added benchmarks for the
cartDiscountsync to be able to compare the performance of the sync with the future releases. #379 - Commons - Bumped commercetools-jvm-sdk to version 1.44.0.
- Commons - Bumped gradle to version gradle-5.5
- Commons - Bumped
org.junit.jupiter:junit-jupiter-apito 5.5.0. - Commons - Bumped
org.junit.jupiter:junit-jupiter-engineto 5.5.0. - Commons - Bumped
org.junit.jupiter:junit-jupiter-paramsto 5.5.0.
- CartDiscount Sync - Added benchmarks for the
1.2.0 - Jun 14, 2019¶
-
🚧 Breaking Changes (2)
-
🎉 New Features (2)
-
🐞 Bug Fixes (1)
- Commons - Fixed a bug where references and resource identifiers were not being compared correctly. #394
-
🛠️ Enhancements (13)
- Commons - Bumped commercetools-jvm-sdk to version 1.43.0.
- Commons - Bumped
mockitoto 2.27.0. - Commons - Bumped
assertjto 3.12.2. - Commons - Bumped
org.junit.jupiter:junit-jupiter-apito 5.4.2. - Commons - Bumped
org.junit.jupiter:junit-jupiter-engineto 5.4.2. - Commons - Bumped
org.junit.jupiter:junit-jupiter-paramsto 5.4.2. - Commons - Bumped
org.ajoberstar.git-publishto 2.1.1. - Commons - Bumped
org.ajoberstar.grgitto 3.1.1. - Commons - Bumped
com.github.ben-manes.versionsto 0.21.0. - Commons - Bumped gradle checkstyle plugin to 8.2.
- Commons - Bumped mockito dependency to 2.28.2.
- Commons - Bumped JaCoCo dependency to 0.8.4.
- Commons - Bumped gradle to version gradle-5.4.1
- Commons - Bumped
com.adarshr.test-loggerto 1.7.0.
1.1.1 - Jan 16, 2019¶
- 🐞 Bug Fixes (1)
- Product Sync - Fixed a bug in the
productsync which would fail on syncing attributes of typeSetthat has an empty set as a value.
- Product Sync - Fixed a bug in the
1.1.0 - Dec 19, 2018¶
-
🎉 New Features (4)
- Product Sync - Added support for syncing assets of newly added variants. #357.
- Product Sync -
ProductSyncUtils#buildActionsandProductUpdateActionUtils#buildVariantsUpdateActionsnow buildAddAssetactions for every new asset on every new variant on the newProductDraft. #357. - ProductType Sync - Added support for syncing changes to an
AttributeDefinitionwith aSetTypeof a subtypeLocalizableEnumTypeorEnumType#313 - Type Sync - Added support for syncing changes to a
FieldDefinitionwith aSetTypeof a subtypeLocalizableEnumTypeorEnumType#313
-
🐞 Bug Fixes (3)
- ProductType Sync - Fixed a bug in the
productTypesync which would try to unsetisSearchable,inputHintandattributeConstraintvalues tonullinstead of their default values. #354 - ProductType Sync -
ProductTypeSyncUtils#buildActions,ProductTypeUpdateActionUtils#buildAttributesUpdateActions
now treat the values of the optional fieldsisSearchable,inputHintandattributeConstraintas (true,SingleLineandNonerespectivley) if they arenullor not passed. #354 - Commons - Fixed a bug in the
beforeUpdateCallbackwhich caused the callback to be called even on an empty list of update actions. #359
- ProductType Sync - Fixed a bug in the
-
🛠️ Enhancements (1)
- Commons - Benchmarks are now run once on every merge to
masterwith a lower number of resources for faster benchmarking. #246
- Commons - Benchmarks are now run once on every merge to
-
📋 Documentation (2)
- Commons - Added link to documentation pages in README of the github repo.
- Commons - Fixed link of
beforeUpdateCallbackfor keeping other variants example in the Sync Options doc page. #360
1.0.0 - Dec 10, 2018¶
The Beta is Over 🎉¶
We're happy to announce that the commercetools-sync-java is finally out of beta! Big thanks to all the users
who were using it when it was still in beta. Your feedback was definitely valuable for us to reach the current state of
the library. 1.0.0 is here for you to use with all new features, enhancements and bug fixes including:
- The library now supports importing/syncing
typesinto a CTP project from an external feed or another CTP project. Read more. - The library now handles concurrency modification exceptions for the
productTypesync. - All new documentation pages including a quick start guide.
- Many more improvements and bug fixes.
Full Release Notes¶
-
🎉 New Features (4)
- Type Sync - Added support for syncing types. #300 For more info how to use it please refer to Type usage doc.
- Type Sync - Exposed
TypeSyncUtils#buildActionswhich calculates all needed update actions after comparing aTypeand aTypeDraft. #300 - Type Sync - Exposed
TypeUpdateActionUtilswhich contains utils for calculating needed update actions after comparing individual fields of aTypeand aTypeDraft. #300 - Commons - Added
OptionalUtils#filterEmptyOptionalswhich are utility methods that filter out the empty optionals in a supplied list (with a varargs variation) returning a list of the contents of the non-empty optionals. #255
-
🛠️ Enhancements (17)
- ProductType Sync - Added concurrency modification exception handling. #325
- Commons -
ProductSyncUtils#buildActions,CategorySyncUtils#buildActions,InventorySyncUtils#buildActionsandProductTypeSyncUtils#buildActionsnow don't apply thebeforeUpdateCallbackimplicitly. If you want, you can apply it explicitly on the result of the..#buildActionsmethod. #302 - Product Sync - Reference keys are not validated if they are in UUID format anymore. #166
- Category Sync - Reference keys are not validated if they are in UUID format anymore. #166
- Inventory Sync - Reference keys are not validated if they are in UUID format anymore. #166
- ProductType Sync - Added benchmarks for the
productTypesync to be able to compare the performance of the sync with the future releases. #301 - Commons - Bumped commercetools-jvm-sdk to version 1.37.0.
- Commons - Bumped
mockitoto 2.23.4. - Commons - Bumped
com.adarshr.test-loggerto 1.6.0. - Commons - Bumped
org.junit.jupiter:junit-jupiter-apito 5.3.2. - Commons - Bumped
org.junit.jupiter:junit-jupiter-engineto 5.3.2. - Commons - Bumped
org.junit.jupiter:junit-jupiter-paramsto 5.3.2. - Commons - Bumped
org.ajoberstar.git-publishto 2.0.0. - Commons - Bumped
org.ajoberstar.grgitto 3.0.0. - Commons - Bumped gradle to version gradle-5.0
- Type Sync - Added benchmarks for the
typesync to be able to compare the performance of the sync with the future releases. #300
-
🚧 Breaking Changes (9)
- Product Sync -
allowUuidoption is now removed. #166 - Category Sync -
allowUuidoption is now removed. #166 - Inventory Sync -
allowUuidoption is now removed. #166 - ProductType Sync -
allowUuidoption is now removed. #166 - ProductType Sync - Renamed
ProductTypeUpdateAttributeDefinitionActionUtilstoAttributeDefinitionsUpdateActionUtils. It is also now meant to be only used internally by the library. Its behaviour is not guaranteed if used externally. #302 - ProductType Sync -
AttributeDefinitionUpdateActionUtilsis now meant to be only used internally by the library. Its behaviour is not guaranteed if used externally. #302 - ProductType Sync -
EnumsUpdateActionUtilsis nowEnumValuesUpdateActionUtilsand is meant to be only used internally by the library. Its behaviour is not guaranteed if used externally. #300 - ProductType Sync - Utils that were in
ProductTypeUpdateLocalizedEnumActionUtilsandLocalizedEnumsUpdateActionUtils.are moved toLocalizedEnumValueUpdateActionUtils. #300 - ProductType Sync - Utils that were in
ProductTypeUpdatePlainEnumActionUtilsandPlainEnumUpdateActionsUtils.are moved toPlainEnumValueUpdateActionUtils. #300
- Product Sync -
-
🐞 Bug Fixes (3)
- Product Sync - Fixed a bug that caused the statistics not to be updated correctly on fetch failure. #331
- Category Sync - Fixed a bug that caused the statistics not to be updated correctly on fetch failure. #331
- ProductType Sync - Fixed a bug that caused the sync process to continue after failed fetch. #331
-
📋 Documentation (4)
- Commons - Added the documentation github pages. https://commercetools.github.io/commercetools-sync-java
- Commons - Added a Quick Start Guide for a convenient entry into the library.
- Commons - Moved documentation of sync options to a separate doc.
- Commons - Added a the earliest compatible version of the commercetools-jvm-sdk](https://github.com/commercetools/commercetools-jvm-sdk) as a prerequisite for using the library.
v1.0.0-M14 - Oct 5, 2018¶
-
🐞 Bug Fixes (1)
- Product Sync - Fixed a bug where the removed attributes in the source product variant draft were not being removed from the target variant. #238
-
🛠 Enhancements (8)
- Product Sync - Products create and update requests are now issued in parallel. This should lead to a performance improvement. #238
- Commons - Bumped
com.adarshr.test-loggerto 1.5.0. - Commons - Bumped
mockitoto 2.22.0. - Commons - Bumped
org.junit.jupiter:junit-jupiter-apito 5.3.1. - Commons - Bumped
org.junit.jupiter:junit-jupiter-engineto 5.3.1. - Commons - Bumped
org.junit.jupiter:junit-jupiter-paramsto 5.3.1. - Commons -
UnorderedCollectionSyncUtils#buildRemoveUpdateActions ensures nonullelements in the resulting list and ignoresnull` keys now. #238 - Commons - Bumped gradle to version gradle-4.10.2.
-
🚧 Breaking Changes (2)
v1.0.0-M13 - Sept 5, 2018¶
-
🎉 New Features (15)
- ProductType Sync - Support for syncing productTypes. #286 For more info how to use it please refer to ProductType usage doc.
- Product Sync - Support for syncing product prices. #101
- Product Sync -
ProductSyncUtils#buildActionsnow also calculates variants' all price update actions needed. #101 - Product Sync -
ProductUpdateActionUtils#buildVariantsUpdateActionsnow also calculates variants' all price update actions needed. #101 - Product Sync - Introduced new update action build utility for building all needed update actions between two variants' prices
ProductVariantUpdateActionUtils#buildProductVariantPricesUpdateActions. #101 - ProductSync -
PriceReferenceResolvernow resolves prices' CustomerGroup references on prices. #101 - InventoryEntry Sync -
InventoryReferenceReplacementUtils#replaceInventoriesReferenceIdsWithKeysnow supports replacing channel reference ids with keys. #101 - ProductType Sync - Exposed
ProductTypeSyncUtils#buildActionswhich calculates all needed update actions after comparing aProductTypeand aProductTypeDraft. #286 - ProductType Sync - Exposed
ProductTypeUpdateActionUtilswhich contains utils for calculating needed update actions after comparing individual fields of aProductTypeand aProductTypeDraft. #286 - ProductType Sync - Exposed
ProductTypeUpdateAttributeDefinitionActionUtilswhich contains utils for calculating needed update actions after comparing a list ofAttributeDefinitions and a list ofAttributeDefinitionDrafts. #286 - ProductType Sync - Exposed
ProductTypeUpdateLocalizedEnumActionUtilswhich contains utils for calculating needed update actions after comparing two lists ofLocalizedEnumValues. #286 - ProductType Sync - Exposed
ProductTypeUpdatePlainEnumActionUtilswhich contains utils for calculating needed update actions after comparing two lists ofEnumValues. #286 - ProductType Sync - Exposed
AttributeDefinitionUpdateActionUtilswhich contains utils for calculating needed update actions after comparing anAttributeDefinitionand anAttributeDefinitionDraft. #286 - ProductType Sync - Exposed
LocalizedEnumUpdateActionsUtilswhich contains utils for calculating needed update actions after comparing twoLocalizedEnumValues. #286 - ProductType Sync - Exposed
PlainEnumUpdateActionsUtilswhich contains utils for calculating needed update actions after comparing twoEnumValues. #286
-
🛠️ Enhancements (7)
- Commons - Bumped gradle to version gradle-4.10.
- Commons - Bumped
com.jfrog.bintrayto 1.8.4. - Commons - Bumped
assertjto 3.11.1. - Commons - Bumped
mockitoto 2.21.0. - Commons - Bumped
org.ajoberstar.grgitto 2.3.0. - Commons - Bumped
com.adarshr.test-loggerto 1.4.0. - Commons - Switched to Junit5 using both
junit-jupiter-engineandjunit-vintage-enginefor backward compatibility.
-
🛠️ Breaking Changes (3)
- Product Sync - Removed redundant
ProductUpdateActionUtils#buildRemoveVariantUpdateActions. #3 - Commons - Moved
SyncUtils#replaceCustomTypeIdWithKeystoCustomTypeReferenceReplacementUtils#replaceCustomTypeIdWithKeys. #101. - Commons - Moved
SyncUtils#replaceAssetsReferencesIdsWithKeystoAssetReferenceReplacementUtils#replaceAssetsReferencesIdsWithKeys. #101.
- Product Sync - Removed redundant
v1.0.0-M12 - Jun 05, 2018¶
- 🛠️ Enhancements (13)
- Product Sync - Support for syncing price custom fields. #277
- Product Sync -
VariantReferenceResolvernow resolves prices' custom type references on all variants. #277 - Product Sync -
ProductReferenceReplacementUtils#buildProductQuerynow expands custom types on prices. #277 - Product Sync -
VariantReferenceReplacementUtils#replacePricesReferencesIdsWithKeysnow supports replacing price custom reference ids with keys. #277 - Commons - Bumped commercetools-jvm-sdk to version 1.32.0.
- Commons - Bumped gradle to version gradle-4.8.
- Commons - Bumped
com.jfrog.bintrayto 1.8.0. - Commons - Bumped
org.ajoberstar.git-publishto 1.0.0. - Commons - Bumped
com.adarshr.test-loggerto 1.2.0. - Commons - Bumped
org.ajoberstar.grgitto 2.2.1. - Commons - Bumped gradle checkstyle plugin to 8.10.1.
- Commons - Bumped mockito dependency to 2.18.3.
- Commons - Bumped JaCoCo dependency to 0.8.1.
v1.0.0-M11 - Mar 08, 2018¶
-
🎉 New Features (19)
- Category Sync - Support of categories' asset syncing. #3
- Product Sync - Support of product variants' asset syncing. #3
- Category Sync -
CategorySyncUtils#buildActionsnow also calculates all asset update actions needed. #3 - Product Sync -
ProductSyncUtils#buildActionsnow also calculates variants' all asset update actions needed. #3 - Product Sync -
ProductUpdateActionUtils#buildVariantsUpdateActionsnow also calculates variants' all asset update actions needed. #3 - Product Sync - Introduced the new ActionGroup:
ASSETSwhich can be used in blacklisting/whitelisting assets syncing during the product sync. #3 - Category Sync - Introduced new update action build utility for building all needed update actions between two categories' assets
ProductVariantUpdateActionUtils#buildProductVariantAssetsUpdateActions. #3 - Product Sync - Introduced new update action build utility for building all needed update actions between two variants' assets
ProductVariantUpdateActionUtils#buildProductVariantAssetsUpdateActions. #3 - Category Sync - Introduced new update action granular build utils for category asset fields in
CategoryAssetUpdateActionUtils. #3 - Product Sync - Introduced new update action granular build utils for product variant assets fields in
ProductVariantAssetUpdateActionUtils. #3 - Commons - Introduced
AssetReferenceResolverwhich is a helper that can resolve all the references of an AssetDraft. #3 - Commons -
VariantReferenceResolverandCategoryReferenceResolvernow also resolve all the containing AssetDrafts references. #3 - Commons - Support for custom update actions calculation for secondary resources (e.g. prices, product assets and category assets). #3
- Product Sync -
ProductReferenceReplacementUtils#replaceProductsReferenceIdsWithKeysandVariantReferenceReplacementUtils#replaceVariantsReferenceIdsWithKeysnow support replacing asset custom reference ids with keys. #3 - Category Sync -
CategoryReferenceReplacementUtils#replaceCategoriesReferenceIdsWithKeysnow supports replacing asset custom reference ids with keys. #3 - Commons - Introduced new
SyncUtils#replaceAssetsReferenceIdsWithKeyswhich is a util that replaces the custom type ids with keys in a list of assets. #3 - Product Sync -
ProductReferenceReplacementUtils#buildProductQuerynow expands custom types on assets. #3 - Category Sync -
CategoryReferenceReplacementUtils#buildCategoryQuerynow expands custom types on assets. #3 - Commons - Introduced new
ResourceIdentifierUtils#toResourceIdentifierIfNotNull. #262
-
Changes (5)
- Commons -
CustomUpdateActionUtils#buildCustomUpdateActionsis nowCustomUpdateActionUtils#buildPrimaryResourceCustomUpdateActions. It now takes a new third parametercustomActionBuilderwhich represents the concrete builder of custom update actions. For a list of concrete builder options check the implementors of theGenericCustomActionBuilderinterface. #3 - Commons -
CustomUpdateActionUtils#buildCustomUpdateActionscan now be used to build custom update actions for secondary resources (e.g. assets and prices). #3 - Commons - New Custom Type Id is now validated against being empty/null. #3
- Product Sync -
ProductSyncUtils#buildCoreActionsis now removed.ProductSyncUtils#buildActionsshould be used instead. #3 - Category Sync -
CategorySyncUtils#buildCoreActionsis now removed.CategorySyncUtils#buildActionsshould be used instead. #3
- Commons -
-
🛠️ Enhancements (1)
-
🐞 Bug Fixes (1)
- Build Tools - Fixed bug where jar and Codecov were triggered on benchmark stages of the build when they should only be triggered on the full build. #249
v1.0.0-M10 - Feb 13, 2018¶
-
🎉 New Features (1)
- Commons - Added benchmarking setup for the library on every release. #155
-
Changes (3)
- Commons - Statistics counters are now of type
AtomicIntegerinstead of int to support concurrency. #242 - Category Sync -
categoryKeysWithMissingParentsin theCategorySyncStatisticsis now of typeConcurrentHashMap<String, Set<String>instead ofMap<String, List<String>. #242 - Category Sync -
CategorySyncStatisticsnow exposes the methodsremoveChildCategoryKeyFromMissingParentsMap,getMissingParentKeyandputMissingParentCategoryChildKeyto support manipulatingcategoryKeysWithMissingParentsmap. #242
- Commons - Statistics counters are now of type
v1.0.0-M9 - Jan 22, 2018¶
-
🎉 New Features (1)
- Commons - Added
getSyncOptionsto theProductSync,CategorySyncandInventorySync. #230
- Commons - Added
-
Changes (1)
- Product Sync - Added validation for product drafts' SKUs as a required field on the input product drafts since SKUs will be used for product matching in the future. #230
-
🛠️ Enhancements (1)
- Product Sync - Changed the product sync to cache product ids per batch as opposed to caching the entire products ids before syncing products. #230
-
🐞 Bug Fixes (1)
- Commons - Fixed library version in User-Agent headers of JVM SDK clients using the library. Now it is not fetched from the JAR manifest but injected by gradle-scripts/set-release-version.gradle. #227
v1.0.0-M8 - Dec 29, 2017¶
-
🎉 New Features (1)
- Category Sync - Exposed new method
CategorySyncStatistics#getNumberOfCategoriesWithMissingParentswhich gets the total number of categories with missing parents from the statistics instance. #186
- Category Sync - Exposed new method
-
Changes (2)
- Product Sync - Changed product sync statistics report message wording. #186
- Product Sync - Exposed new methods
ProductReferenceResolver#resolveStateReference,ProductReferenceResolver#resolveTaxCategoryReference,ProductReferenceResolver#resolveCategoryReferencesandProductReferenceResolver#resolveProductTypeReference. #218
-
🛠 Enhancements (1)
- Build Tools - Bumped Gradle to version 4.4. #205
v1.0.0-M7 - Dec 15, 2017¶
- 🐞 Bug Fixes (1)
- Commons - Changed offset-based pagination of querying all elements to a limit-based with sorted ids approach to mitigate problems of previous approach. #210
v1.0.0-M6 - Dec 5, 2017¶
-
🎉 New Features (3)
- Category Sync - Introduced
beforeCreateCallbackoption which is callback applied on a category draft before a request to create it on CTP is issued. #183 - Product Sync - Introduced
beforeCreateCallbackoption which is callback applied on a product draft before a request to create it on CTP is issued. #183 - Inventory Sync - Introduced
beforeCreateCallbackoption which is callback applied on a inventoryEntry draft before a request to create it on CTP is issued. #183
- Category Sync - Introduced
-
✨ Major Enhancements (2)
-
🐞 Bug Fixes (1)
- Commons - Fixed library version in User-Agent headers of JVM SDK clients using the library. #191
-
📋 Documentation (1)
- Commons - Added Code of Conduct doc.
-
🚧 Migration guide (6)
- Product Sync - Removed
removeOtherVariantsoption which is already done by the sync by default. Removal of variants can be prevented through the beforeUpdateCallback. Please check here an example of how this can be done. #26 - Commons - Removed
removeOtherSetEntries,removeOtherCollectionEntriesandremoveOtherPropertiesoptions which are already done by the sync by default. The aforementioned options (and even more use cases) can now be covered with help of the beforeCreateCallback and beforeUpdateCallback. Please check here an example of how removal of variants can be disabled. #26 - Commons - Removed website and emergency contact e-mail appened in User-Agent headers of JVM SDK clients using the library. #191
- Category Sync -
beforeUpdateCallbacknow treats a null return as an empty list of update actions. #183 - Product Sync -
beforeUpdateCallbacknow treats a null return as an empty list of update actions. #183 - Inventory Sync -
beforeUpdateCallbacknow treats a null return as an empty list of update actions. #183
- Product Sync - Removed
v1.0.0-M5 - Nov 16, 2017¶
-
🎉 New Features (3)
- Inventory Sync - Introduced
beforeUpdateCallbackwhich is applied after generation of update actions and before actual InventoryEntry update. #169 - Build Tools - Added
Add Release Notes entrycheckbox in PR template on Github repo. #161 - Commons - Appended library name and version to User-Agent headers of JVM SDK clients using the library. #142
- Inventory Sync - Introduced
-
🛠️ Enhancements (3)
- Commons -
setUpdateActionsCallbackhas been renamed tobeforeUpdateCallbackand now takes a TriFunction instead of Function, which adds more information about the generated list of update actions, namely, the old resource being updated and the new resource draft. #169 - Build Tools - Explicitly specified gradle tasks execution order in execution-order.gradle. #161
- Build Tools - Set PMD to run before Integration tests. #161
- Commons - Appended library name and version to User-Agent headers of JVM SDK clients using the library. #142
- Commons -
-
📋 Documentation (1)
- Build Tools - Added Snyk vulnerabilities badge to repo README. #188
-
🚧 Migration guide (8)
- Commons - Renamed
setUpdateActionsCallbacktobeforeUpdateCallback. #169 - Commons - Renamed
setAllowUuidtoallowUuid. #169 - Commons - Renamed
setWarningCallBacktowarningCallback. #169 - Commons - Renamed
setErrorCallBacktoerrorCallback. #169 - Commons - Renamed
setBatchSizetobatchSize. #169 - Commons - Removed
setRemoveOtherLocalesoption. #169 - Commons - Renamed
setRemoveOtherSetEntries,setRemoveOtherCollectionEntriesandsetRemoveOtherPropertiestoremoveOtherSetEntries,removeOtherCollectionEntriesandremoveOtherProperties. #169 - Product Sync - Renamed
setSyncFiltertosyncFilter. #169
- Commons - Renamed
v1.0.0-M4 - Nov 7, 2017¶
- 🔥 Hotfix (1)
- Product Sync - Fixed an issue with
replaceAttributesReferencesIdsWithKeyswhich nullifies localized text attributes due to JSON parsing not throwing exception on parsing it to reference set. #179
- Product Sync - Fixed an issue with
v1.0.0-M3 - Nov 3, 2017¶
-
🎉 New Features (7)
- ProductSync - Introduced Product TaxCategory reference resolution and syncing. #120.
- ProductSync - Introduced Product State reference resolution and syncing. #120.
- ProductSync - Exposed
ProductReferenceReplacementUtils#buildProductQueryutil to create a product query with all needed reference expansions to fetch products from a source CTP project for the sync. #120. - ProductSync - Exposed
VariantReferenceReplacementUtils#replaceVariantsReferenceIdsWithKeyswhich provides utils to replace reference ids with keys on variants (price and attriute references) coming from a source CTP project to make it ready for reference resolution. #160. - ProductSync - Exposed
VariantReferenceResolverwhich is a helper that resolves the price and attribute references on a ProductVariantDraft. (Note: This is used now by the already existing ProductReferenceResolver) #160. - CategorySync - Exposed
CategoryReferenceReplacementUtils#buildCategoryQueryutil to create a category query with all needed reference expansions to fetch categories from a source CTP project for the sync. #120. - Commons - Exposed
replaceCustomTypeIdWithKeysandreplaceReferenceIdWithKey. #120.
-
🐞 Bug Fixes (1)
- Category Sync - Fixes an issue where retrying on concurrent modification exception wasn't re-fetching the latest Category and rebuilding build update actions. #94
-
📋 Documentation (6)
- Product Sync - Documented the reason behind having the latest batch processing time. #119
- Category Sync - Documented the reason behind having the latest batch processing time. #119
- Category Sync - Fixed the statistics summary string used in the documentation. #119
- Inventory Sync - Documented the reason behind having the latest batch processing time. #119
- Product Sync - Fixed some typos. #172
- Commons - Provided inline example of how to use logging in callbacks. #172
-
🚧 Migration guide (9)
- Product Sync - Moved
replaceProductsReferenceIdsWithKeysfromSyncUtilstoProductReferenceReplacementUtils. #120 - Product Sync - Removed
replaceProductDraftsCategoryReferenceIdsWithKeyswhich is not needed anymore. #120 - Product Sync - Removed
replaceProductDraftCategoryReferenceIdsWithKeyswhich is not needed anymore. #120 - Product Sync - Removed
replaceCategoryOrderHintCategoryIdsWithKeyswhich is not needed anymore. #120 - Product Sync - Moved
getDraftBuilderFromStagedProductfromSyncUtilstoProductReferenceReplacementUtils. #120 - Category Sync - Moved
replaceCategoriesReferenceIdsWithKeysfromSyncUtilstoCategoryReferenceReplacementUtils. #120 - Inventory Sync - Moved
replaceInventoriesReferenceIdsWithKeysfromSyncUtilstoInventoryReferenceReplacementUtils. #120 - Commons - Removed slf4j-simple dependency. #172
- Commons - Used implementation instead of compile configuration for dependencies. #172
- Product Sync - Moved
v1.0.0-M2 - Oct 12, 2017¶
Commits |
Javadoc |
Jar
- 🎉 New Features (3)
- Product Sync - Supported syncing entire product variant images, putting order into consideration. #114
- Product Sync - Exposed ProductVariantUpdateActionUtils#buildProductVariantImagesUpdateActions and ProductVariantUpdateActionUtils#buildMoveImageToPositionUpdateActions action build util. #114
- Product Sync - Supported Blacklisting/Whitelisting update action groups on sync. #122
-
🐞 Bug Fixes (4)
- Build Tools - Fixed issue were JavaDoc jar was not built. #117
- Build Tools - Fixed issue were JavaDoc was not published on github. #118
- Product Sync - Fixed a potential bug where an exisitng master variant key could be blank.#122
- Product Sync - Fixed a potential bug where a product draft could be provided with no master variant set. #122
-
🛠 Enhancements (2)️
-
📋 Documentation (5)
v1.0.0-M2-beta - Sep 28, 2017¶
- Beta Features (11)
- Product Sync - Introduced syncing products name, categories, categoryOrderHints, description, slug, metaTitle, metaDescription, metaKeywords, masterVariant and searchKeywords. #57
- Product Sync - Exposed update action build utils for products name, categories, categoryOrderHints, description, slug, metaTitle, metaDescription, metaKeywords, masterVariant and searchKeywords. #57
- Product Sync - Introduced reference resolution support for product categories, productType and prices. #95 #96
- Product Sync - Introduced syncing products publish state. #97
- Product Sync - Exposed update action build utils for products publish state. #97
- Product Sync - Introduced syncing products variant attributes. #98
- Product Sync - Exposed update action build utils for products variant attributes. #98
- Product Sync - Introduced syncing products variant prices without update action calculation. #99
- Product Sync - Introduced syncing products variant images. #100
- Product Sync - Exposed update action build utils for products variant images. #100
- Product Sync - Introduced syncing products against staged projection. #93
v1.0.0-M1 - Sep 06, 2017¶
-
🎉 New Features (16)
- Category Sync - Introduced syncing category name, description, orderHint, metaDescription, metaTitle, customFields and parent category. #2
- Category Sync - Exposed update action build utils for category name, description, orderHint, metaDescription, metaTitle, customFields and parent category. #2
- Category Sync - Introduced sync options builders. #5
- Category Sync - Introduced support of syncing categories in any order. #28
- Category Sync - Added concurrency modification exception repeater. #30
- Category Sync - Used category keys for matching. #45
- Category Sync - Introduced reference resolution support. #47
- Category Sync - Introduced Batch processing support. #73
- Category Sync - Added info about missing parent categories in statistics. #73
- Commons - Introduced sync statistics support. #6
- Commons - Sync ITs should now use client that repeats on 5xx errors. #31
- Commons - Sync only accepts drafts. #46
- Build Tools - Travis setup as CI tool. #1
- Build Tools - Setup Bintray release and publising process. #24
- Build Tools - Setup CheckStyle, PMD, FindBugs, Jacoco and CodeCov. #25
- Build Tools - Setup repo PR and issue templates. #29
-
Beta Features (5)
- Inventory Sync - Introduced syncing inventory supplyChannel, quantityOnStock, restockableInDays, expectedDelivery and customFields. #17
- Inventory Sync - Exposed update action build utils for inventory supplyChannel, quantityOnStock, restockableInDays, expectedDelivery and customFields. #17
- Inventory Sync - Introduced sync options builder support. #15
- Inventory Sync - Introduced reference resolution support. #47
- Inventory Sync - Introduced batch processing support. #73