oneCORE roadmap

September 2024

75 items: 42 nieuwe functies, 18 bugfixes en 15 onderhoudsupdates.

De items zelf staan in het Engels.

Nieuwe functies 42

Endpoints for quotationOpgeleverd

We created a new endpoint for quotations as follows:

  • /api/v2/quotaions (get) - This endpoint retrieves a list of all available quotations.
  • /api/v2/quotations (post) - This endpoint creates a new quotation.
  • /api/v2/quotations (delete) - This endpoint deletes quotation(s) by setting status to deleted and filterring it out from query.
  • /api/v2/quotations /{id} (get) - This endpoint retrieves details of a specific quotation by specifying a quotation ID.
  • /api/v2/quotations /{id} (put) - This endpoint updates every fields of quotation by specifying quotation ID.
  • /api/v2/quotations/{id} (patch) - This endpoint updates only particular fields of quotation.
  • /api/v2/quotations/{id}/products (post) -This endpoint adds new products to specific quotation.
  • /api/v2/quotations/{id}/products (delete) - This endpoint deletes product(s) in quotation.
  • /api/v2/quotations/{id}/products/{quotationProductId} (put) - This endpoint updates every field of product quotation by specifying quotation ID and quotation product ID.
  • /api/v2/quotations/{id}/products/{quotationProductId} (patch) - This endpoint updates only particular fields of product quotation by specifying quotation ID and quotation product ID.

To check the api endpoint, please visit this url your shop/api-swagger

Endpoints for company behavior settingOpgeleverd

We add a new endpoint for company setting as follows:

  • /api/v2/company/behavior (get) - This endpoint retrieves details of company behaviors.
  • /api/v2/company/behavior (patch) - This endpoint updates only particular fields of company behaviors.
  • /api/v2/company/behavior (put) - This endpoint updates every field of company behaviors.

To check all API endpoints, please visit this url your shop url/api-swagger

endpoints for PagePageComponentsOpgeleverd

We created the new endpoints for PagePageComponents as follows:

  • /api/v2/pagepagecomponents (POST) - This endpoint adds page page component by name, page id, page component id.
  • /api/v2/pagepagecomponents (DELETE) - This endpoint deletes page page component(s).
  • /api/v2/pagepagecomponents/{id} (PUT) - This endpoint updates every fields of page page component by specifying page page component ID.
  • /api/v2/pagepagecomponents/{id} (PATCH) - This endpoint updates only particular fields of page page component.

To check all API endpoints, please visit this URL your page url/api-swagger

Improve 3D screenshot serviceOpgeleverd

We enhance the 3D screenshot service to able to capture multiple 3D product models in a configurator. Also, the screenshot taken must also reflect the position/location of each 3D model.

Implement a markdown to edition descriptionOpgeleverd

We implemented the rich text editor at edition description field. However, please make sure that the front-end of your website has been implemented with the available styles – bold, italic, underlined, strikethrough, link.

Endpoints for PageComponentsOpgeleverd

We created the new endpoints for PageComponetns as follows:

  • api/v2/pagecomponents (get) ? This endpoint retrieves a list of page component by specifying a page component name or a page component layout.
  • api/v2/pagecomponents/{id} (put) ? This endpoint updates every field of page component by specifying a page component ID.
  • api/v2/pagecomponents (post) ? This endpoint adds page component to the page by specifying a page ID, a page component name and a page component layout.
  • api/v2/pagecomponents/{id} (patch) ? This endpoint updates only particular fields of page component by specifying a page component ID.
  • api/v2/pagecomponents?ids=1,2,3,... (delete) ? This endpoint deletes page component(s) by specifying page component ID(s).

To check the api endpoints, please visit this url your shop/api-swagger

Admin - New campaign function - Campaign sidebar adjustment and migrationOpgeleverd

We adjusted the campaign setting to make it easier for users to set up campaigns. Here are the details of an adjustment.

1. To differentiate the type setting, we will adjust the field labels as follows:

a. Type (i.e. discount, overalldiscount and standard) will be changed to Campaign type

b. Type (i.e. financial and percentage) will be changed to Discount type

2. Combine Apply discount, based on and Apply discount to into 1 setting that is Calculation based on.

a. Apply discount based on order will be updated to Calculation based on total order price

b. Apply discount based on product + Apply discount to all assign products will be updated to Calculation based on Every amount of all assigned products

c. Apply discount based on product + Apply discount to the most expensive product (qty. = 1) will be updated to Calculation based on 1 amount of the most expensive products

d. Apply discount based on product + Apply discount to the most expensive product (every qty.) will be updated to Calculation based on Every amount of the most expensive product 

Endpoint to tag product image with taxonomy tagOpgeleverd

We created new endpoints for users to tag product images with taxonomy tags as follows:

  • /api/v2/TaxonomyTagProductImages (post) - This endpoint adds taxonomy tag to product image by specifying the tag ID and product image ID.
  • /api/v2/TaxonomyTagProductImages (delete) - This endpoint removes taxonomy tag from product image by specifying the tag ID and product image ID.
  • /api/v2/products/{id}/productimages (get) - This endpoint retrieves a list of product images by specifying the product ID.

To check the api endpoint, please visit this url your shop/api-swagger

Increase maximum characters for CompanyNameOpgeleverd

We updated the Maximum characters of CampanyName field to 100 characters.

endpoints for HeadLinesOpgeleverd

We created a new endpoint for headlines as follow:

  • /api/v2/headlines (get) - This endpoint retrieves a list of headlines.
  • /api/v2/headlines (post) - This endpoint creates a new headline.
  • /api/v2/headlines (delete) - This endpoint deletes headline(s) by specifying headline ID(s).
  • /api/v2/headlines/{id} (get) - This endpoint retrieves details of a specific headline by specifiying a headline ID.
  • /api/v2/headlines/{id} (put) - This endpoint updates every fields of headline by specifying a headline ID.
  • /api/v2/headlines/{id} (patch) - This endpoint updates only particular fields of headline by specifying a headline ID.
  • /api/v2/headlines/{id}/headlinetranslations (post) - This endpoint add new headline translation into specific headline.
  • /api/v2/headlines/{id}/headlinetranslations (delete) - This endpoint deletes headline translation(s) by specifying headline ID and headline translation ID(s).
  • /api/v2/headlines/{id}/headlinetranslations (put) - This endpoint updates every fields of headline translation by specifying a headline ID and headline translation ID.
  • /api/v2/headlines/{id}/headlinetranslations (patch) - This endpoint updates only particular fields of headline translation by specifying a headline and headline translation ID.

To check all API endpoints, please visit this Url your shop Url/api-swagger.

Endpoint for catalog productOpgeleverd

We created new endpoints for catalog product as follows:

  • /api/v2/catalogproducts (get) - This endpoint retrieves a list and details of catalog products. You can either retrieve all available catalog products or specify a catalog product ID to get the details of that specific catalog.
  • /api/v2/catalogproducts (delete) - This endpoint deletes catalog product(s).
  • /api/v2/catalogproducts/{id} (put) - This endpoint updates every field of catalog product by specifying catalog product ID.
  • /api/v2/catalogproducts (post) - This endpoint creates a new catalog product.
  • /api/v2/catalogproducts/{id} (patch) - This endpoint updates only particular fields of catalog product.

To check the api endpoint, please visit this url your shop/api-swagger

Feature to impersonate as a shop userOpgeleverd

We implemented a new feature for an admin user to impersonate as a shop user. To use this feature, you need to contact the account manager or project manager to add this feature to your shop.

Separate In3 from iDealOpgeleverd

We updated the endpoint to request for Mollie's payment methods, so now the In3 payment method is working.

Product Details - Add Original Price field to Product EditionOpgeleverd

We created a new field named 'Original price' on Edition level while remane the 'Price' field to 'Selling price' field.

Note: Only users with a permission 'ProductEditionOriginalPrice' can see this field.

Add product ID(s) in order exportOpgeleverd

We add a 'Product Ids' field to order export.

Update order detail and orderflow for SalesUsersOpgeleverd

We updated the order detail page to display the users who created and modified an order. After the update, users will see the user who created and modified an order under the order number. Also, we did the same update to an product detail page. Also, we updated the orderflow v2 to display only the address connected to an order.

Notification template (v2) - Shop Users: trigger on shop user updated and shop user createdOpgeleverd

We created the new triggeres for notification template (v2), Shopuser type. The new triggeres include a trigger on shop user updated and a trigger on shop user created.

Create ShopUser endpoints for API v2Opgeleverd

We updated the shopuser endpoint by adding Telephonenumber and Comment. Besides, we created new API types for the endpoint as follows:

  • /api/v2/shopusers/{id} (put) - This endpoint updates every fields of shop user data by specifiying shop user id.
  • /api/v2/shopusers/{id} (patch) - This endpoint updates only particular fields of shop user data by specifiying shop user id.
  • /api/v2/shopusers (post) - This endpoint creates a new shopuser.
  • /api/v2/shopusers (delete) - This endpoint deletes shopuser(s). Note: the shop users deleted via an API will be changed to guest users.

To check the api endpoint, please visit this url your shop/api-swagger

Create SalesUsers endpoints for API v2Opgeleverd

We created new endpoints for Sales as follows:

  • /api/v2/sales (get) - this endpoint retrieves a list of all sales user.
  • /api/v2/sales/{id} (get) - this endpoint retrieves details of a specific sales user by specifying a sales user ID.
  • /api/v2/sales (post) - this endpoint creates a new sales user.
  • /api/v2/sales/{id} (put) - this endpoint updates every field of sales user.
  • /api/v2/sales/{id} (patch) - this endpoint updates only particular fields of sales user.
  • /api/v2/sales/{id} (delete) - this endpoint deletes sales user(s).

To check the api endpoint, please visit this url your shop/api-swagger

Create Sales shopusers endpoints for API v2Opgeleverd

We created a new endpoint for sales shop users as follows:

  • /api/v2/sales/{id}/shopusers (get) - this endpoint retrieves a list of all shop users of specific sales user.
  • /api/v2/sales/{id}/shopusers (post) - this endpoint assigns shop user(s) to specific sales user.
  • /api/v2/sales/{id}/shopusers (delete) - this endpoint delete shop user(s) from specific sales user.

To check the api endpoint, please visit this url your shop/api-swagger

Log the order item change in orderOpgeleverd

We updated the order log to display the progress of an order and specify the users who did an action.

Add Tags 'expand all' function and enhancementOpgeleverd

We added the Expand All/Collapse All button in taxonomy tags feature. Besides, we enhanced the behaviore of taxonomy tags feature to display the search result in open tree structure and keep the current view after editing the tags.

Multilingual URL function on Page, Product and CategoryOpgeleverd

We implemented a new function 'Multilingual URL' to allow users to set up the URLs of pages, products and categories uniquely per language. This function will be visible only for shops activating LanguageUrls feature.

How to set up Multilingual URL

Generating meta data tags as a standard functionOpgeleverd

We implemented the Title tag, meta tags and canonical tags as the standard for all pages of every shop which helps improve the SEO. Read more about Standard Key Tags for SEO and Social Media in oneCORE

Update Quotations endpointsOpgeleverd

We updated the get detail quotation endpoint for both API v1 and v2 by adding the details of users who created and modified a quotation and adjusting the price format.

Implement SalesUsers structureOpgeleverd

We implemented the SalesUsers structure to enhance the sales portal flow. This new system is designed for shops where salesperson directly manage orders, rather than shop users or customers.

Create Shopusertypes endpoints for API v2Opgeleverd

We created new endpoints for shop user type as follows:

  • /api/v2/shopusers/{id}/shopusertypes (put) - This endpoint updates every field in shop user type and every type of specific user.

Note: If not all fields' values and types are included in the request, the values and types will be removed.

  • /api/v2/shopusers/{id}/shopusertypes (patch) - This endpoint updates only particular fields in shop user type of specific user.
  • /api/v2/shopusers/{id}/shopusertypes (post) - This endpoint adds shop user type and its values to a shop user.

Note: Whether or not to send the data with this endpoint is optional.

  • /api/v2/shopusers/{id}/shopusertypes (delete) - This endpoint removes shop user type(s) from specific shop user.

To check the api endpoint, please visit this url your shop/api-swagger

Import and export image preset functionOpgeleverd

We improved the functionality of image preset feature as follows:

  • add 'All' option in extension for users to create a preset for all file types at once.
  • add import function that allows users to upload an excel file to add multiple presets at once.
  • add export function that allows users to export all presets or the selected presets in excel file.

Read more about how to set up your image preset

Update response data of order endpoint API v1Opgeleverd

We updated the response of get order endpoint of API v1 to contain the data of billing address and shop user address which include the VAT number status.

To check the api endpoint, please visit this url your shop/api-swagger

API V2 - Update personal offers endpointsOpgeleverd

We updated get personal offers endpoint of API v2 to include the ViewOrder that indicates the sequence. Also, we created 2 new endpoints to update personal offers as follows:

  • /api/v2/products/{id}/personaloffers (patch) - This endpoint updates the vieworder of personal offers.
  • /api/v2/products/{id}/personaloffers (put) - This endpoint replaces the personal offers with the requested vieworder.

To check the api endpoint, please visit this url your shop/api-swagger

Create endpoints for Personal offersOpgeleverd

We created endpoints for personnal offer as follows:

  • /api/v2/products/{id}/personaloffers (post) - This endpoint adds product(s) as personal offer to specific product.
  • /api/v2/products/{id}/personaloffers (get) - This endpoint retrieves the personal offer product(s) of specific product.
  • /api/v2/products/{id}/personaloffers (delete) - This endpoint deleted the personal offer product(s) from specific product.

To check the api endpoint, please visit this url your shop/api-swagger

Update API v2 endpoint - taxonomytagscatalogproductsOpgeleverd

We created endpoints for taxonomytagscatalogproducts as follows:

  • /api/v2/taxonomytagscatalogproducts (post) - This endpoint adds taxonomy tag(s) to catalog product(s).
  • /api/v2/taxonomytagscatalogproducts (delete) - This endpoint removes taxonomy tag(s) from catelog product(s).

To check the api endpoint, please visit this url your shop/api-swagger

Add DynamicCustomerData and OrderId in quotation endpointOpgeleverd

We updated the quotation endpoint for API v1 and API v2 as follows:

  • add DynamicCustomerData to get quotation endpoint of API v1.
  • add DynamicCustomerData and OrderId to get, post, put, patch quotation endpoint of API v2.

To check the api endpoint, please visit this url your shop/api-swagger

Copy account functions V.1 to temporary version of V.2Opgeleverd

We are initiating the beta version of account functionality version 2.

New 3D screenshot with orderflow and order detailsOpgeleverd

We updated the product display in an orderflow and order detail page of products implemented with 3D screenshot service to display a 3D screenshot from the screenshot service as the first image and implemented the standard fallback condition as explained below:

  • on orderflow, display 3D screenshot from the service, followed by client screenshot in case the service is not ready.
  • on order detail, display 3D screenshot from the service on product thumbnail. Display both screenshot from service and from client side in the product image pop-up.
Create Address endpoints for API v2Opgeleverd

We created new endpoints for address as follows:

  • /api/v2/shopuser/{id}/addresses (get) - This endpoint retrieve details of specific shop user address.
  • /api/v2/shopuser/{id}/addresses (post) - This endpoint adds address to a shop user.
  • /api/v2/shopuser/{id}/addresses (put) - This endpoint updates every field of address.
  • /api/v2/shopuser/{id}/addresses (patch) - This endpoint updates only particular fields of address.

Note: for Put and Patch, when the edited address is in an order, it will be set to soft delete (cannot select this address anymore) and the system will create a new address with the edited data.

  • /api/v2/shopuser/{id}/addresses (delete) - This endpoint deletes the address.

Note: for Delete, when the deleted address is in an order, it will be set to soft delete (cannot select this address anymore).

To check the api endpoint, please visit this url your shop/api-swagger

Add sorting function to personal offerOpgeleverd

We added the sorting function to 'Personal offer' field in product setting.

Add redeem date to /shopusers/{shopUserId}/vouchers endpointOpgeleverd

We added RedeemDate field to get voucher endpoint in API v1 (/api/v1/shopusers/{shopUserId}/vouchers)

To check the api endpoint, please visit this url your shop/api-swagger

Create Sales shopusergroups endpoints for API v2Opgeleverd

We created a new endpoint for sales shop user groups as follows:

  • /api/v2/salesusers/{id}/shopusergroups (get) - This endpoint retrieves a list of shop user types under this salesperson.
  • /api/v2/salesusers/{id}/shopusergroups (post) - This endpoint assigns shop user(s) to a salesperson by specifying shop user type Id(s).
  • /api/v2/salesusers/{id}/shopusergroup (delete) - This endpoint removes shop user type(s) from a salesperson by specifying shop user type Id(s).

To check the api endpoint, please visit this url your shop/api-swagger

Sales Invoice Dashboard interface updateOpgeleverd

We updated the sales invoice feature to display more data as follows:

1. Current actual stock ? display the number of stocks (external + local) at this moment.

2. Current stock price ? display the price of stock per unit at this moment.

  • Turn to 0 when no current actual stock.

3. Selling amount ? field to input an amount users want to buy.

4. Total remaining price (approx.) ? display the approximately total price that system not finish the purchase.

5. Total purchase price ? display the total price that system not finish the purchase.

6. Average purchase price ? display the average purchase price per unit.

7. Remaing amount ? displat the number of stock unfinished to purchase.

8. Purchased amount ? display the number of stock finished purchasing.

9. Total ? display the total price of that sales invoice.

Besides, we resolved an issue that users cannot purchase external stock via sales invoice.

Page components - Add Created and Last Modified data and UX enhancementOpgeleverd

We added the time stamp to the component and page component edit sidebar to display the creation and modification history. Additionally, we enhanced the behavior of component editor panel that displays all created component to not collapse automatically.

Enhancement of campaign feature and product combination discountOpgeleverd

In this update, we shipped several useful enhancements related to a campaign feature that will provide you more variety in your campaign setup.

We implemented 2 new campaign set-ups as follows:

(1) 1 amount of all assigned products: the idea is similar to every amount of all assigned products. If customers buy the products selected in a campaign, they will receive the discount calculated from only 1 amount of them. For example, to be eligible for the discount, the order must include 'fireplace' product. If you purchase 2 fireplaces, you will receive discount calculated from the price of 1 fireplace.

(2) Product combination: this campaign type allows you to set up products which must be purchased together to be eligible for discount. Read more about how to set it up in How to set up your 'product combination

We added the function to assign products for 'Total order price' calculation rule. If there is a product selected, the order must contain at least one of the selected product to be eligible for the discount and the discount will be calculated from total order price.

We updated all the calculation rules to be effective though no product is assigned to a campaign. This update affects both Discount and Overalldiscount campaign type. Here are all calculation rules with and without products selected.

(1) Total order price:

  • Selected products ? calculate discount from total amount of selected products in cart.
  • No selected products ? calculate discount from total amount in cart.

(2) Every amount of all assigned products

  • Selected products ? calculate discount from every amount of selected products in the shopping cart.
  • No selected products ? calculate discount from every amount of all products in the shopping cart.

(3) 1 amount of the most expensive product

  • Selected products ? calculate discount from 1 amount of the most expensive selected products in the shopping cart.
  • No selected products ? calculate discount from 1 amount the most expensive products in the shopping cart.

(4) Every amount of the most expensive product

  • Selected products ? calculate discount from every amount of the most expensive selected products in the shopping cart.
  • No selected products ? calculate discount from every amount the most expensive products in the shopping cart.

(5) 1 amount of all assigned products

  • Selected products ? calculate discount from 1 amount of all selected products in cart.
  • No selected products ? calculate discount from 1 amount of all products in cart.

(6) Product combination

  • Required to have a combination to be effective.

Therefore, please assign the products to a campaign everytime you create a campaign especially for Overall discount. Otherwise, the discount will apply to all products.

We added the active and inactive function for campaign. The vouchers of an inactive campaign will not be valid even though it is within the effective days. The button activate or deactivate the campaign is on an edit sidebar.

Note: the campaign will not be deactivated automatically after it passes the end date, but the voucher of expired campaign will remain invalid.

Learn more about our campaign feature

Bugfixes 18

Outstanding amount bug on product pick up pageOpgeleverd

We fixed the issue that outstanding amount on product pick-up page on orderflow was calculated incorrectly by combining amount from cancelled transaction.

New stock doesn't show in edition sidebarOpgeleverd

We fixed an issue found on ticket shop that a new stock did not display for selection in Digital stock field on edition sidebar.

Feedback - Campaign adjustmentOpgeleverd

We fixed the issue that ‘Add product’, ‘Add voucher’ and ‘Export voucher’ buttons were missing from campaign feature. Also, the products added to the campaign were not correct.

Categories - Unable to search on child levelOpgeleverd

We fixed an issue that search function on category dashboard could not find child categories.

Admin - Product is not loading with product details permissionOpgeleverd

We adjusted the permission list related to the eligibility to load product details to not include 'Image' role with 'Create' permission.

Pricebook feedbackOpgeleverd

We resolved the issue on pricebook feature and added the new functionality as follows:

1. Fix the issue that, when turning on/off lowest purchase price, the page refreshed and went back to top.

2. Fix the issue that sorting was too sensitive that it caused the glitch when users highlighted the number.

3. Fix the issue that, when users updated the margin of multiple stocks, only some stocks were updated.

4. Fix the issue that, when Catalog product field was searching, the field would be disabled and users needed to click at the field again to continue typing.

5. Add functionality to magnifying glass at a search bar to reload the result when being clicked.

Order flow - datalayer 'purchase' event adjustOpgeleverd

We adjusted the value of 'purchase' event to calculate from product price after discount, and it doesn't include shipment fee.

Copy events between 2 companies is not workingOpgeleverd

We fixed the issue that copying products from one company to another company had an error.

Suspicious text appear at Add User sidebarOpgeleverd

We removed the unneeded text from

Add user sidebar.

Mollie oAuth Flow is brokenOpgeleverd

We fixed the issue that Mollie oAuth flow was broken.

Orderflow - Transaction cost seems incorrectOpgeleverd

We resolved the issue that the transaction cost was calculated incorrectly based on downpayment amount instead of full order amount.

Category - General bug fixOpgeleverd

We fixed 3 issues found in category feature as follow:

1. Number of export category in export data sidebar is inconsistent with the actual category and actual data in export file.

2. Child category is not found in search result.

3. Category feature does not load when there is no category.

View edit mode for product layouts not workingOpgeleverd

We resolved an issue that an edit mode of product layout containing page content gave an error.

Changing discount calculation type not workingOpgeleverd

We updated the campaign setting to disable the following fields after the campaign is created and there is a voucher assigned.

1. Calculation based on

2. Unlimited usage

3. Voucher bound to

Note: users will be able to change the setting option again after they delete all available vouchers.

Copy product across companies bugOpgeleverd

We resolved an issue regarding copy product across company not working.

Campaign can't save bound to user account and can't remove countryOpgeleverd

We resolved the issue that campaign cannot save 'Bound to user account.'

Edit Master Edition - Cannot save without empty or filled MetadataOpgeleverd

We resolved an issue that a master edition sidebar could not be saved when Metadata field was filled.

No date and time showing up in order detailsOpgeleverd

We resolved an issue that order creation and modification history is not visible when users have OrderLabel permission.

Onderhoud 15

Put the /account & orderflow page on No IndexOpgeleverd

We indexed account and orderflow page in the robots.txt to disallow the search engines to find these pages.

Migrate edition translation name to edition name - fixingOpgeleverd

We fixed the issue that the migration from edition translation name to edition name stopped unintentionally.

.net 8.0.8 updateOpgeleverd

We upgarded the project framework to .NET 8.0.8.

Request for specific image file typeOpgeleverd

We developed the support system to generate the required image file type in response to the front-end request.

Expand [ProductTranslations].[Title]Opgeleverd

We expand the length of product title to the maximum of 125 characters.

Remove AutoMapper From AdminUserManagementControllerOpgeleverd

We removed the unused extension for a better performance.

Remove AutoMapper From AccountManagerImageControllerOpgeleverd

We removed the unused extension for a better performance.

Remove AutoMapper From AccountSettingControllerOpgeleverd

We removed the unused extension for a better performance.

Remove Restricted page typeOpgeleverd

We removed the 'Restricted page type' selection from the component editor. After the release, users will not be able to manually select the restricted page type of component layout, but the system will automatically generate the layouts of the none restricted page type and the page type correlated with current page.

update hreflang in headerOpgeleverd

We adjusted the logic to generate the page URL in rel="alternate" to have a function corresponding with multilingual URL feature that allows users to set up the unique URL per language.

Cleanup BookingAppControllerOpgeleverd

We updated the endpoint name which retreives the booking data as a result of the endpoint standardization approach.

Remove edition name from translation editionOpgeleverd

Regarding an action plan to update edition name field to be a single language field, we haved updated the input field of edition name to allow only one language and migrated the name to title in case the title was not filled. Now, we removed the edition name column from edition translation to completely remove the multilingual edition name.

Optimize product queryOpgeleverd

We optimized the product query to reduce the product loading time.

Multilingual URL - Enhance to work with duplicated urlOpgeleverd

We enhanced a multilingual URL feature to work with duplicated category URL. If the NestedCategoryUrl feature is on and users set up the unique multilingual URL, the system will check further whether the duplicated URL is under the different parent category or not.

  • If the matching url is in the different parent, allow to set that URL.
  • If the matching url is in the same parent, do not allow to set that URL.

Read more about this feature How to set up Multilingual URL

Remove original price check when entering orderflowOpgeleverd

We removed the logic to disallow customer to proceed to orderflow when product has original price higher than configurable price.