Release Notes / Version 10.3.0.0/ August 25, 2025
Highlights
Release Information
The Znode 10.3.0.0 release introduces new features, enhancements, performance upgrades, and bug fixes.
Disclaimer:
Impact of Znode Update to 10.3.0.0 on Spreedly Payment Configuration Sets
- Configuration Changes: Upon updating to Znode 10.3.0.0, old configuration sets will be deleted. New configuration sets must be created to take full advantage of the latest enhancements and features. Please refer to the Spreedly Plugin Configuration Guide for detailed instructions on reconfiguring payment methods via the plugin.
- Impact on Orders: Orders placed using the previous configuration sets may be impacted. Refunds will not be applicable in any scenario involving cancellations for orders processed under the old configuration sets.
- It is critical to update your configurations to ensure smooth order processing and refund functionality moving forward.
We recommend following the provided configuration guide to ensure a seamless transition and prevent disruptions in order processing and payment handling.
Swagger-Related Changes
- The following improvements were made:
- Swagger generation is now handled at the individual downstream service level.
- Removed the old Swagger generation logic from the Gateway API.
- The Gateway now retrieves Swagger definitions from downstream services.
- Improved the performance of V1 APIs by reducing Swagger UI load time.
- Downstream Services (Auto-upgraded)
- The following downstream services are part of the black box and will be automatically upgraded:
- CommercePortal API
- Shipping Manager API
- API (V1)
- API (V2)
- CustomTable API
- Report API
- Tax Manager API
- APIGateways
- Payment Manager API
- The following downstream services are part of the black box and will be automatically upgraded:
- APIs Requiring Manual Upgrade
- The following API must be upgraded to the latest Znode version 10.3.0.0; otherwise, the Swagger of the custom API will not function:
- Custom SDK API – It is recommended to upgrade the Custom SDK API (znode10-customapi-sdk) to this version to enable Swagger functionality.
- The following API must be upgraded to the latest Znode version 10.3.0.0; otherwise, the Swagger of the custom API will not function:
What’s New
Commerce Connector - Data Exchanges (Beta Release)
- While it is disabled by default, enabling it is a straightforward process that gives you immediate access to its functionality.
- The new Data Exchange module under Dev Center → Commerce Connector introduces a modern framework for managing integrations between Znode and with any system that has an API.
- Data Exchange Management – Centralized screen to add, configure, and manage commerce connectors.
Connector Setup Options:
Add from Library – Use preconfigured/native connectors with pre-populated values.
Add New – Create and configure custom connectors with required base definitions.
Configuration Support:
Define source/destination, formats, transmission modes (API, SFTP, FTP, HTTPS), authentication, query/header parameters.
Scheduling:
One-time, recurring (cron), or on-demand scheduling.
Status & Actions:
Activate/deactivate connectors, run manually, edit, delete, or view version history.
Logs & Tracking:
Configuration Change Log – Tracks updates with user and timestamp.
Processing Logs – Captures run history with record counts and results.
YAML Mapping:
Upload, edit, and manage YML/YAML files for field-level mapping.
Custom Processing:
Option to flag connectors requiring developer-supplied processor files.
Legacy Note
The previous Commerce Connector implementation will be marked as LEGACY.
Important Notes:
Enabling this feature is easy. Here's a short video that walks you through the steps to enable Commerce Connector - Data Exchanges on the platform. This allows you to quickly activate the feature and start leveraging its benefits without any complex setup, offering greater flexibility and control over your commerce operations.
Dynamic Account Switching for B2B Storefronts (Beta Release)
- This release introduces dynamic account switching in the B2B storefront, allowing shoppers associated with a parent account to seamlessly switch between child accounts without logging out. When enabled, users can access a searchable dropdown to select child accounts directly from the storefront. Upon switching, the storefront automatically updates catalogs, pricing, shipping, payment methods, and other data to reflect the selected account’s configurations.
- Key Features:
- Account Inheritance Settings and Seamless Account Switching: Admins can enable a new boolean attribute "Enable Account Inheritance" at the account level. When enabled, users can switch between parent and associated child accounts in the storefront, with data (profile, catalog, pricing, etc.) dynamically updated for the selected account.
- Real-Time Data Updates: When an account switch occurs, the storefront instantly updates relevant data (catalogs, prices, shipping, payment options, etc.) to reflect the selected account’s configuration.
- Admin Configurations and Controls:
- Admins now have the new boolean attribute named "Enable Account Inheritance," under the "Account Inheritance Settings" attribute group, which is part of the "Default Account Family." This setup allows management of the account inheritance feature at the account level.
- Behaviour based on Enable Account Inheritance
- When Enable Account Inheritance is Yes:
- Shoppers associated with a parent account that has child accounts will be able to switch between the parent and child accounts.
- Only child accounts with "Enable Account Inheritance" set to Yes will appear in the dropdown.
- When Enable Account Inheritance is No:
- The dropdown will be hidden
- When Enable Account Inheritance is Yes:
- Storefront Behaviour:
- Dropdown for Account Switching:
- Users can switch between parent and child accounts if "Enable Account Inheritance" is set to Yes. A typeahead search allows easy filtering by account name.
- When switching between accounts (parent ↔ child or child ↔ child), the storefront refreshes all relevant data, including user profiles, catalog, pricing, addresses, shipping, and payment methods, ensuring consistency.
- The selected account will persist across the session until logout.
- Session Reset Upon Logout:
- After logging out, the session will return to the default view (typically the parent account). If items are in the cart, they will remain, but subsequent checks and validations will be performed based on the parent account context.
- Account-Based Permissions:
- Permissions of shoppers (user, manager, administrator) associated with the parent account will be respected across all child accounts.
- Action Logging:
- Actions like placing orders or creating quotes will be logged under the specific account selected during that session.
- Visibility Based on Setting: The account switch dropdown only appears when the "Enable Account Inheritance" setting is active for child accounts. It’s hidden if set to No.
- Dropdown for Account Switching:
- Important Notes:
- This feature applies only to the storefront.
- If a catalog or price is not associated with a child account, precedence will be given to the store instead of the parent account.
- Child Account Restriction at User Level: Not supported.
- Any requirements not specifically mentioned should follow the standard Znode implementation.
$0 Authorization via Spreedly (Verify Card)
- This release introduces new payment settings within Znode to manage credit card authorization and capture processes. These settings are available under System Settings → Plugins → Install Plugin → Spreedly → Edit → Configuration Sets → Add New.
- Admin Controls:
- Payment Settings Configuration:New options have been added under System Settings → Plugins → Install Plugin → Spreedly → Configuration Sets to manage payment processes:
- Authorize and Capture (default)
- Authorize Only
- Verify Only
- Verify and Authorize
- Verify, Authorize, and Capture
- Payment Status Mapping: Based on the selected settings, the system updates payment statuses as follows:
- Verify Only: Verified
- Verify and Authorize: Authorized
- Verify, Authorize, and Capture: Captured
- Authorize Only: Authorized
- Authorize and Capture: Captured
- Working of the "Display Authorized in OMS" Flag:
- When the Display Authorize in OMS checkbox is checked:
- The Authorize option will appear in the order management screen (OMS) for orders where a credit card was used.
- This option is only available if Verify Only is selected in the payment settings dropdown.
- Upon verification, if the payment status is positive, clicking Authorize changes the status to Authorized and a notification displays "Payment Authorized Successfully."
- If authorization fails, the notification will display "Payment Authorization Failed."
- The order history will reflect the change in payment status from Verified to Authorized.
- When the Display Authorize in OMS checkbox is checked:
- Working of the "Display Capture in OMS" Flag:
- When the Display Capture in OMS checkbox is checked:
- The Capture option will appear in the OMS for credit card payments.
- This option is visible only after a payment is Authorized and will not appear for Verified payments.
- Upon clicking Capture, the payment status changes from Authorized to Captured, and the success or failure of the capture will follow the existing Znode notification system.
- The order history will update as the payment status transitions from Authorized to Captured.
- When the Display Capture in OMS checkbox is checked:
- Payment Status Transitions: Payment status updates from Verified to Authorized upon manual authorization, and from Authorized to Captured once payment is captured.
- Payment Settings Configuration:New options have been added under System Settings → Plugins → Install Plugin → Spreedly → Configuration Sets to manage payment processes:
- Important Notes:
- Payment Failure on Verification:
- If card verification fails, the order placement is aborted, and the shopper sees the message: "We were unable to verify your payment method. Please check your card details or try a different card." (Applies to both Storefront and Admin interfaces)
- Display Capture in OMS Flag Only Enabled:
- If the Display Capture in OMS flag is enabled without enabling Display Authorize in OMS, the Capture option will not appear. After the transaction is authorized, the Capture option will appear, and the Authorize option will be removed from the OMS.
- Payment Settings Change After Order Placement:
- If the payment setting is changed after an order is placed, such as changing from Verified Only to Authorize and Capture, the payment status will remain as Verified. Authorization and Capture must be manually re-triggered by setting the payment settings back to Verified Only.
- Payment Settings Not Saved Correctly:
- If an admin configures payment settings to Verified Only but forgets to enable the Display Authorize in OMS flag, the authorization option will be unavailable. The admin can update the setting, enable the flag, and the option will appear in the OMS.
- Payment Failure on Verification:
Support for Cybersource Payment Method
- Cybersource is now supported as a payment gateway via Spreedly.
- Cybersource will appear as a new option in the payment gateway dropdown when configuring a payment set.
- The options within Cybersource will behave the same as existing gateways with no additional fields required.
Spreedly Enhancement
- In this release, we have enhanced the functionality of the Spreedly plugin within the Znode platform, improving the configuration and visibility of connected Spreedly environments. This update provides users with streamlined access to their Spreedly environments and allows them to manage and configure payment gateways directly through the Znode admin console.
- Spreedly Environment Management:
- A new "Environment" tab has been added within the Znode Admin Console under System Settings → Plugins → Installed Plugins. This tab allows users to configure and view connected Spreedly environment information.
- If no environment is currently connected, a message "No records found" is displayed, with an "Add Spreedly Environment" button to initiate the environment setup process.
- Add Spreedly Environment:
- Users can now connect their Spreedly environment by entering the Spreedly Environment Key.
- After the environment key is entered, the corresponding Environment Details and Access Secret Key will be fetched from Spreedly via APIs.
- If the credentials are incorrect or invalid, a message "The credentials you entered are incorrect. Please try again." will be displayed.
- Display of Environment Information:
- Once connected, the Environment tab will display the following:
- Environment Name
- Environment Key
- Access Secret Key
- If multiple Access Secret Keys exist for a particular environment, they will be displayed in a list.
- Once connected, the Environment tab will display the following:
- Plugin List View Update:
- The Configuration Setstab now includes two new columns:
- Gateway Mode
- Spreedly Gateway Token
- These columns are available for selection via the column selection menu but are unchecked by default. Users can enable them for filtering and troubleshooting purposes.
- The Configuration Setstab now includes two new columns:
- View Spreedly Gateway Information:
- The Spreedly Gateway Token and Spreedly Gateway Status are now visible in the Configuration Set Details under Gateway Settings.
- Both fields are read-only and are fetched from Spreedly via the API response.
- Spreedly Gateway Configuration:
- Gateway Type selection allows users to configure a payment gateway by selecting from a list of supported Spreedly gateway types.
- Depending on the selected Gateway Type, the relevant gateway-specific fields will dynamically render.
- Spreedly Gateway Token and Spreedly Gateway Status will be read-only and populated from Spreedly’s API response.
- Updating Spreedly Gateway Configuration:
- When updating a Spreedly gateway, certain fields like Gateway Type, Gateway Mode, Spreedly Gateway Token, and Spreedly Gateway Status are locked and cannot be modified.
- Fields such as Display Name, Display Order, and Display Settings can be updated in Znode, and corresponding updates will be made in Spreedly for fields like Configuration Code, Merchant Login, and Transaction Key.
- Redacting/Inactivating a Spreedly Gateway:
- When a Configuration Set is deleted in Znode, the corresponding Spreedly gateway token will be redacted in Spreedly, effectively deactivating it.
- If the configuration is associated with a placed order, deletion will not be allowed. Otherwise, users can delete the configuration, and it will not be recoverable.
- Disclaimer:
- Once the Znode is updated to 10.3.0.0, the old configuration sets will be deleted, and there will be a need to create new configuration sets. Additionally, some other configurations will need to be made based on the new enhancement
- This will have an impact on orders placed through the old configuration sets, wherein refunds will not be applicable in any scenario that includes cancellations.
- Please follow this Spreedly Plugin Configuration Guide as a step-by-step guide to reconfigure the payment methods via the Spreedly plugin.
Support for Import Duty (Avalara)
The Avalara Plugin now supports automatic calculation of import duties for international orders. This feature ensures accurate duty charges are applied at checkout, based on the product's classification (HS Code) and the destination country.
Import Duty Calculation: Import duties are calculated automatically for international shipments using real-time rates based on the destination and product classification. (The supported country for now is Canada.) (Only if the settings are made in Avalara, Znode checks this setting, and the rest of the calculations are made through Avalara.)
Real-Time Tax Breakdown: Import duties will appear alongside taxes and shipping costs during checkout.
Customizable Settings: Import duties can be managed, and default rates for countries or regions can only be set through the Avalara account, with no control at the Znode end.
Abandoned Cart - Data Purging (Guest and Registered Users)
- This feature introduces an automated cart data purge mechanism that periodically removes abandoned cart information after a defined period (e.g., 30 days). It ensures the system stays optimized by freeing up storage without interfering with active users or ongoing transactions. The process is fully configurable, allowing admins to set the purge threshold, trigger time, and frequency, with the option to customize via cron expressions.
- Once enabled, carts older than the specified number of days are automatically deleted, including cart metadata and associated session data. Logs of each purge operation are recorded for transparency and auditing. The solution is designed to handle large-scale data growth and ensure no impact on system performance or security.
- Admin Configurations:
- A dedicated group for managing cart data purge configurations has been added in Global Settings.
- Group Name: Cart Data Purge Settings
- Associated Attributes:
- Enable Cart Data Purge:
- Admins can enable or disable the automatic purging of abandoned cart data.
- Default Value: YES
- Auto-Purge Carts Older Than (In Days):
- Admins can configure the number of days after which abandoned carts will be automatically purged.
- Default Value: 30
- Trigger Time - Cart Auto-Purge:
- Admins can set the time of day for triggering the cart data purge.
- Default Value: 12:00 AM
- Scheduler Frequency - Cart Auto-Purge:
- Admins can define how often the purge job should run.
- Default Value: Recurring
- Cron Expression - Cart Auto-Purge:
- Admins can customize the purge schedule using a cron expression.
- Default Value: "0 3 * * *"
- Enable Cart Data Purge:
- Purge Operations Logging:
- All purge operations are logged in the All Logs section, capturing details such as:
- Cart ID
- Timestamp
- Item Count
- All purge operations are logged in the All Logs section, capturing details such as:
- Important Notes:
- Cart Inactivity Period:
- Carts that have not been updated within the specified inactivity period will be eligible for purging.
- Data Deletion:
- The system deletes the following abandoned cart data:
- Cart metadata
- Cart line items
- Associated session data (if applicable)
- This ensures referential integrity and prevents orphan records.
- The system deletes the following abandoned cart data:
- Performance & Security:
- The purge process is optimized to minimize any impact on live system performance.
- No sensitive user or transaction data will be exposed during the purge operation.
- Scalability & Deadlock Handling:
- The solution is designed to scale as cart data volumes grow, with safeguards in place to handle potential deadlocks.
- Cart Inactivity Period:
- Associated Attributes:
Media Storage Logic Enhancement
- In Znode 10.X, all environments were storing media in Azure, leading to higher operational costs. This update reinstates environment-based storage logic similar to Znode 9.X, with automated storage selection.
- Key Enhancements:
- Storage Selection (non-editable)
- No manual configuration required; storage mode determined at the time of environment configuration.
- Default behavior: If Znode runs on a VM, it uses local disk storage.
- Environment-Based Logic
- Production & Non-Production environments → Azure Storage
- Development, Staging, Testing environments → Local Storage
- Storage Selection (non-editable)
- Supported Media:
- All media types supported across PIM, DAM, CMS and Storefront.
Power BI Report - User (Shopper) Activity Logging
- User Activity Log Report in Power BI
- A new User Activity Log report has been introduced in Power BI. This report provides detailed tracking of user activities within the system, including login actions, order placement, and other key events.:
- Dashboard Overview:
- Metrics Displayed:
- Login Count
- Total Orders Placed Per Account
- Total Orders Placed Per User
- Metrics Displayed:
- Report Data Includes:
- The following are the columns:
- Event: Describes the specific user action (e.g., login, logout, password reset, etc.).
- Login
- Logout
- Login Count
- Failed Login Attempts
- Password Reset
- Forgot Password
- Event Date and Time: Timestamp for the event.
- User: Records the Shopper who performed the action.
- Role Name: Shopper’s Role (e.g., Customer, User B2B, Manager B2B, Administrator B2B).
- Account Name: Name of the Account to which the Shopper belongs to.
- Store Name: Associated Store for the Event.
- Application Type:The application used (e.g., storefront, admin, commerce portal).
- For now, it would be only for Storefront.
- Device/Browser Info: Details of the device and browser used.
- Details: Additional metadata specific to the event type.
- Event: Describes the specific user action (e.g., login, logout, password reset, etc.).
- Data Filtering and Exporting Options:
- Filters:
- Event Type: Filter based on event actions (e.g., Login, Logout).
- Store: Filter by specific stores.
- Role: Filter by user roles.
- Account: Filter by account.
- User: Filter by individual users.
- Application: Filter by the platform used (e.g., Storefront, Admin).
- Event Date: Filter by date range (Custom Range option available).
- Export Options:
- Formats: Export data in Excel (.xlsx) or CSV (.csv).
- Export Options: Data with Current Layout, Summarized Data, and Underlying Data.
- Filters:
- Event Types and Details:
- Login Event:
- Details Captured: Timestamp, User ID, Account ID, IP Address, Device/Browser Info, Referrer URL.
- Message Format: User [Username] (User ID: [User ID]) from account [Account Name] logged in. Session Duration: [SessionDuration].
- Logout Event:
- Details Captured: Timestamp, User ID, Account ID, IP Address, Device/Browser Info, Referrer URL, Session Duration.
- Message Format: User [Username] (User ID: [User ID]) from account [Account Name] logged out.
- Login Count Event:
- Details Captured: Timestamp, User ID, Account ID, Total logins by a user over a period.
- Message Format: User [Username] (User ID: [User ID]) has logged in [X] time(s) over the [specified period].
- Failed Login Attempt Event:
- Details to Capture: Timestamp, User ID, Account ID, IP Address, Device/Browser Info, Reason for Failure, Attempt Count.
- Message Format: Failed login attempt for user [Username] (User ID: [User ID]), account [Account Name]. Attempt #[X]. Reason: [Reason].
- Password Reset Event:
- Details to Capture: Timestamp, User ID, Account ID, Requested By User ID, Status (Requested, Completed, Failed).
- Message Format: A password reset was [status] by [Requested By Username] for [Username]
- Forgot Password Event:
- Details to Capture: Timestamp, User ID, Account ID, Status (Requested, Completed, Failed).
- Message Format: A forgot password was [status] for [Username].
- Order Event:
- Details to Capture: Timestamp, User ID, Account ID, Order ID, Order Total, Currency.
- Message Format: User [Username] placed an order. Order ID: [Order ID] | Order Total: [Currency] [Order Total].
- Login Event:
- Important Points:
- Access Control: Only authorized admins may access the Activity Log.
- Data Retention: Activity logs are retained for a minimum of 12 months.
- Real-Time Data Retrieval: Data will be retrieved either in real-time or on-demand, depending on backend constraints.
- Pagination & Sorting: Pagination and sorting must be enabled for all columns.
- Date and Time Format: Date and time will follow the store's configured format.
- The following are the columns:
Security
- Enhancements to Profile Editing Authorization Logic
- We have made critical enhancements to the authorization logic in the edit-profile endpoint to improve security and ensure that only the authenticated user can modify their own profile.
- Improved Authorization Checks:
- We've implemented stricter authorization validation on the userName field in the edit-profile endpoint. Now, users can only modify their own username, preventing unauthorized access to other users' profiles.
- Security Strengthening:
- This fix enhances the overall security of user profile management, ensuring that all profile changes are properly validated against the authenticated user's identity.
- Prevention of Unauthorized Profile Modifications:
- The new logic ensures that only the authenticated user can perform updates on their profile, safeguarding sensitive account information from potential misuse.
- Enhanced User Account Management
- In this release, we have enhanced the security to provide improved access controls and safeguard user privileges. A new set of validations and restrictions has been implemented to ensure that only authorized users can modify sensitive fields, preventing unauthorized role changes and maintaining the integrity of user access levels.
- Enhanced Role-Based Access Control:
- Strengthened checks on the RoleId and RoleName fields to ensure that only users with the appropriate privileges can update these values.
- Improved Endpoint Validation:
- We have added additional validation mechanisms that ensure that role modifications can only be performed by users with sufficient permissions, protecting against unauthorized privilege escalation attempts.
- User Account Management:
- Admins now have more granular control over user roles, allowing for clearer assignment and enforcement of access policies.
- Security Hardening:
- A number of backend processes have been optimized to ensure that requests are handled securely and are only processed when valid permissions are detected.
- Strengthened Access Control for Order Details
- In this release, we have further strengthened the security of the Webstore platform by enhancing access controls around customer order information.
- Only authorized users with the appropriate permissions, such as account-admins, can access order details, ensuring that sensitive customer data remains secure and protected.
- Access to order information is now more strictly governed by user roles, allowing only account-admin users to view or manage orders that belong to other users.
- The platform’s security framework has been reinforced to ensure that customer privacy is consistently maintained across all interactions.
- The system now automatically checks and enforces permissions, ensuring that users only see information they are authorized to access, enhancing overall data integrity.
- Secured Quote Total and Pending Order Details Access
- In this release, we have enhanced the security by strengthening the access control for the quote total and the Pending order total details.
- Only users with the appropriate permissions can view sensitive quote and pending order information, ensuring that sensitive data is fully protected and only accessible to authorized individuals.
- The system ensures that the quote total and the pending order total information are securely accessible only to authorized users. Access is granted based on user roles and permissions, preventing unauthorized users from viewing sensitive data.
Performance Upgrade
- Optimized User Login Process
- In this release, we have significantly optimized the user login process to improve both system performance and user experience. By refining the way user settings are loaded during login, we’ve reduced unnecessary API calls, ensuring faster access and smoother navigation.
- Streamlined Login Flow:
- Redundant calls to multiple user settings during login have been eliminated. This change ensures that only essential settings are fetched, reducing overhead and improving overall performance.
- Faster Login Times:
- By minimizing the number of API requests made during login, users can now experience quicker access to the platform, with reduced waiting times and faster transitions between screens.
- Efficient Resource Management:
- Server resources are utilized more efficiently due to fewer unnecessary processes running during the login sequence, resulting in a lower system load and improved scalability.
API Enhancements
- API for Retrieving Promotion Details Based on SKUs
- This release introduces an enhancement to the existing Promotion Retrieval API. With this update, the API now not only returns promotion details for the specific SKU but also checks if the SKU is associated with a category or brand that has active promotions.
- When such promotions are detected, they are included alongside the SKU-level promotion information, providing a more comprehensive response for users.
- The API now checks the category and brand of the SKU and includes any relevant promotions for those as well. This integration allows for a more unified view of available discounts and offers.
- By consolidating both SKU and category/brand promotions into a single API call, users can reduce the number of requests, improving efficiency and minimizing response times.
- Znode Engine API V2 Changes
- The changes include new endpoints, parameters, response codes, schema updates, and deprecations. All changes should be reviewed and approved to ensure backward compatibility and to avoid potential functional disruptions.
- New Endpoints Added
- /v2/accounts/{parentAccountCode}/list – Retrieve accounts list for a given parent account.
- /v2/customers/{classNumber}/order-address– Manage customer order address details.
\
/v2/forms/form-template – Access form templates.
/v2/promotion-details/{entityType}/{entityCode} – Retrieve promotion details for specified entity type and code.
/v2.1/users/login – New versioned login endpoint.
- New Parameters Added
- expand (query)
- /v2/customers-reviews/{customerReviewId}/get
- /v2/Prices/{priceListId}/get
- /v2/Prices/ProductPricingDetailsBySku/{productSKU}/get
- accountId (query)
- /v2/users/{username}/get
- /v2/users/{username}/get
- expand (query)
- New Response Code Added
- 404 Not Found – Added for /v2/seo/seo-detail/get
- Endpoint Removed
- /v2/forms/create-form-template – Deprecated and removed.
- Schema Changes
- New Properties Added
- CustomerReviewDataResponseModel → AdditionalAttributes
- FormsSubmitResponse → FormResponseModel
- GlobalAttributesValuesResponse → Validations
- CustomerGlobalAttributeValuesResponse → Validations
- UserDetailResponse → AccountName, PublishCatalogId
- WebStorePortalResponse → InStockMessage, BackOrderMessage
- UserLoginResponse → AccountName
- PriceResponseData → Attributes
- SKUPriceResponse → Attributes
- ChildProductInventoryDetailResponse → QuantityTotal
- ParentProductInventoryDetailResponse → QuantityTotal
- ProductPricingDetailsResponse → PricingValidations
- New Properties Added
- Properties Removed
- FormsSubmitResponse → formSubmitModel
- New Schemas Introduced
- Znode.Engine.Customer.Model.AccountDataResponse
- Znode.Engine.Customer.Model.AccountsListResponse
- Znode.Engine.Customer.Model.OrderAddressResponse
- Znode.Engine.Customer.Model.PromotionGlobalAttributeResponse
- Znode.Engine.Customer.Model.PromotionListResponse
- Znode.Engine.Customer.Model.PromotionModel
- Znode.Engine.Customer.Model.PromotionsDetailListResponse
- Znode.Engine.Customer.Model.UpdateCustomerOrderAddress
- Znode.Engine.Customer.Model.UpdateOrderAddressRequest
- Znode.Engine.Customer.Model.UserLoginResponseModel
- Znode.Engine.OMS.Model.Responses.OMSAttributesSelectValuesResponse
- Znode.Engine.OMS.Model.Responses.OMSGlobalAttributeValuesResponse
- Znode.Engine.PIM.Model.Responses.PricingValidationResponse
Other Important Point
The ERP Connector menu (Dev Center→ Commerce Connector → ERP Connector) has been renamed to Legacy ERP Connector.
Breaking Changes
- Functional:
- One scenario is pending from the base side as it is conflicted due to another ticket.
- Scenario Details: Configurable Product Issue – If a variant has no price but the parent product does, the cart line item shows a price of 0. (It will be fixed in the upcoming release.)
- One scenario is pending from the base side as it is conflicted due to another ticket.
Black Box Improvements
Digital Asset Management (DAM)
- Z10-16947 | External Images Imported Successfully with Null Source Column in Import File
Resolved an issue where external images were being imported successfully even when the "Source" column was left blank in the import file. This incorrect behavior allowed incomplete or inconsistent metadata to be created. Validation has now been enforced to ensure that a valid source is provided during the import process, thereby maintaining the integrity of imported assets. - Z10-20404 | UserDefinedFields: Multiple File Upload Not Saving for OMS Orders
Fixed a problem where multiple files uploaded into User Defined Fields for OMS orders were not saving properly. Users would successfully upload files, but the files would not persist in the system after saving. This has been corrected so that all multiple file uploads are now saved and retrievable as intended. - Z10-25023 | Media Explorer – Folder Column Showing Blank
Addressed an issue within the Media Explorer where the "Folder" column was displaying blank values, even when assets were correctly associated with folders. The column now properly reflects the correct folder information, ensuring improved usability when browsing or organizing assets. - Z10-25083 | Media Explorer: Unable to Download SVG Images
Fixed a defect in the Media Explorer that prevented administrators from downloading SVG images. Attempting to download these image types would either fail or return incorrect data. The download functionality has now been extended to support SVG file types correctly.
Order Management System (OMS)
- Z10-18238 | Generate Invoice: Tracking Number and Job Name Not Displaying
Corrected an issue where invoices generated from the admin panel did not display the tracking number or job name. This caused incomplete order documentation and confusion for both internal staff and customers. The invoice template has now been enhanced to include both the tracking number and job name for accurate reporting. - Z10-18243 | Configurable Product: Variant Name and Price Missing on Invoice
Fixed a problem where configurable product variants on invoices were not displaying their specific variant name or price. Only the base product was shown, which created ambiguity for customers and administrators. The invoice layout has been updated to correctly reflect variant-specific details, ensuring full accuracy in billing documents. - Z10-20992 | Cancel Order: Status Resetting to Previous Instead of "Cancelled"
Resolved a bug where cancelling an order through the admin did not update the order status to "Cancelled." Instead, the order status reverted to the previous state, causing incorrect tracking and inconsistencies in reports. The cancel order functionality has now been fixed to update the order status reliably to "Cancelled." - Z10-23195 | Quotes: Admin Notes Incorrectly Shown as Customer Notes
Corrected an issue where notes added by administrators to quotes were being displayed as if they had been entered by the customer. This misrepresentation could lead to confusion in communication and record-keeping. The system now properly distinguishes between customer and administrator notes. - Z10-24719 | Billing and Shipping Addresses Becoming Identical After Save
Fixed a defect where billing and shipping addresses in an order became identical after saving changes, even when they were entered separately. This caused incorrect shipping and billing records. The system has been updated to retain distinct billing and shipping addresses accurately.
- Z10-24955 | "Resend Cart Line Item Mail" Button Disappears After Coupon Application
Resolved an issue where applying a coupon code or voucher caused the "Resend Cart Line Item Mail" button to disappear from the manage order screen. The button is now preserved and remains accessible regardless of coupon usage. - Z10-25067 | Quote: Billing and Shipping Address Not Updating on Second Attempt
Corrected an error where updating billing and shipping addresses on quotes worked only on the first attempt. On subsequent attempts, changes would not save. This has been fixed so that address updates persist reliably across multiple edits. - Z10-25216 | Reorder from Admin Causes Cart Replacement and Continuous Loader
Fixed a critical issue during reorder from the admin panel where applying a voucher or coupon caused the "Cart" section to be replaced by the "Products Ordered" section, and the "Cart Summary" displayed a continuous loader. This workflow has now been corrected to ensure smooth reorder functionality without disruption. - Z10-25219 | Pending Orders: Status Not Updating After Conversion
Addressed an issue where converting pending orders did not update their status or send receipts as expected. Pending orders now correctly update status upon conversion, and receipts are sent automatically, ensuring full order lifecycle accuracy.
Dev Center
- Z10-22189 | Tier Pricing Import Update/Delete
Enhanced the tier pricing import functionality to properly handle update and delete operations. Previously, changes in the import file were not correctly reflected in the system, requiring manual intervention. The import engine now supports full CRUD operations on tier pricing data for improved efficiency. - Z10-23290 | Synonym Import Allowed Even with Non-Existent Catalog Code
Fixed an error where the system allowed synonym imports even when the specified Catalog Code did not exist, as long as the Synonym Code was present under a different catalog. This could cause invalid mappings. The validation has now been tightened to ensure that synonyms are only imported when the Catalog Code exists. - Z10-25205 | UserDefinedFields: Simple Select Value Not Saving for Account Entity
Corrected an issue where "Simple Select" type User Defined Fields for Account entities reverted back to the default value instead of saving the selected option. This has been fixed so that selections are preserved accurately. - Z10-25598 | Uploaded Admin User Image Overflows Frame Until Save
Fixed a UI issue where an uploaded admin user profile image overflowed outside the designated frame before being saved. After saving, the image displayed correctly. The system has been updated to render uploaded images correctly at the time of upload.
CMS
- Z10-23785 | CMS Content Publish for Two Stores Causes Homepage Loss
Resolved an issue where publishing CMS content simultaneously to two different stores caused one store’s homepage content to disappear. The publishing mechanism has been refined to handle concurrent operations without overwriting store-specific content. - Z10-24661 | Image Search Bar Frame Appears Incomplete in Page Builder
Corrected a visual issue in the Page Builder where the image search bar frame appeared incomplete when selecting images. The UI has been improved for consistency and better usability. - Z10-25029 | PDP Page Not Opening in Admin if Default Product Disabled
Fixed a defect where the Product Detail Page (PDP) in the Page Builder would not open from the admin panel if the default product set for that page was disabled. Instead, an application error was displayed. The PDP page now opens correctly regardless of the product’s enabled/disabled status. - Z10-25525 | Incorrect Tab Name “Maintenance Page” Displayed Instead of “Maintenance”
Corrected a naming issue in the Manage Store Experience page where the tab appeared as “Maintenance Page” instead of the correct label “Maintenance.” This has been updated to ensure accurate tab naming for better navigation. - Z10-26147 | Content Block Creation Error with Message Key > 51 Characters
Resolved a validation issue where creating a content block with a message key longer than 51 characters caused the system to throw an error stating “Message Key already exists.” Proper validation has been implemented to enforce key length limits with clearer messaging.
Shipping
- Z10-23757 | UPS Shipping: Generate Return Label Error When Using Postal Code + Address Line 2
Fixed an issue in UPS integration where generating a return label failed if the postal code was used in combination with Address Line 2. This caused interruptions for customers attempting to return shipments. The return label logic has now been corrected to handle postal codes with secondary address lines. - Z10-24979 | UPS Shipping: "Generate Label" Produces "Missing Data" Error in Logs
Resolved a defect in UPS shipping where attempting to generate a shipping label resulted in "Missing Data" errors being logged, despite valid data being entered. This error has been fixed, ensuring label generation works reliably.
Store
- Z10-23986 | Catalog Association: Partial Association Updates Not Working
Fixed an issue where updating catalog associations by selecting specific catalogs caused previously associated catalogs to be removed. The update process now correctly handles partial associations without deleting existing valid associations. - Z10-24264 | "Clear Cache" Button Shows Admin Panel Loader Without Action
Corrected a problem where clicking the "Clear Cache" button displayed a continuous loader in the admin panel but did not perform the cache clearing action. The functionality has been fixed to properly clear cache and provide confirmation feedback. - Z10-24784 | Manage Store: Store Logo File Upload Validation Missing
Resolved a defect where no validation was present when uploading store logos. Invalid or unsupported file types could be uploaded, causing UI and functional issues. File type validation has now been enforced for better system reliability.
Product Information Management (PIM)
- Z10-23755 | Import: Stock Value Imported Incorrectly as 0 Instead of Blank
Fixed a defect in the import functionality where blank stock values in the import file were incorrectly saved as 0. This created incorrect stock information in the system. Blank stock fields are now preserved as blank rather than converted to zero. - Z10-24614 | Variant Products Not Exporting When Parent Is Disabled
Resolved an issue where variant products were not exported if their parent product was disabled. Variants are now exported correctly, regardless of the parent product’s status, ensuring complete and accurate exports. - Z10-24622 | Import: Empty Row Causing Export of Entire Product Data
Corrected an error where leaving a blank row in the import file resulted in the entire product data being exported unexpectedly. Import processing has been fixed to ignore blank rows. - Z10-24756 | Import: Row with Error Still Marked as Successful
Addressed a problem where rows containing errors during product import were still marked as successfully imported. The system now properly validates and reports errors at the row level for accurate status reporting. - Z10-24835 | Product Import: "Is Active" and "Is Discontinued" Flags Not Updating
Fixed a bug where the "Is Active" and "Is Discontinued" flags in product imports did not update correctly. These values now reflect the import file accurately. - Z10-24882 | Product Import: Updating Product Name Not Working
Resolved an issue where updating product names via import did not persist. The product name remained unchanged even after a successful import. This functionality has now been restored. - Z10-25080 | Category Tree Order Not Matching Category Sequence
Corrected a defect where the category tree displayed in the admin panel did not reflect the defined category sequence order. The system now aligns the tree view with the intended sequence. - Z10-25341 | PIM Import: Image Path Import Not Overwriting Existing Path
Fixed a problem where importing images with new file paths did not overwrite the existing paths in the system. The import logic has been updated to replace old image paths correctly.
Marketing
- Z10-23076 | Voucher: "Allow Multiple Times" Option Not Retained After Save
Resolved a defect where the voucher configuration "Allow Multiple Times" option reverted back to unchecked after saving. The setting is now preserved consistently. - Z10-24684 | Cart-Level Promotion: Coupon Application Throws Error
Fixed a problem where applying cart-level promotions via coupons resulted in unexpected errors and failed to apply discounts. Coupon application has now been corrected to function reliably. - Z10-24916 | Promotions: Incorrect Discount Amount Applied When Editing
Corrected an issue where editing an existing promotion caused the discount amount to be calculated incorrectly. The logic has been updated to maintain accurate discount values during edits. - Z10-25306 | Voucher Import: Import Fails When CSV Contains Special Characters
Addressed a bug where voucher imports failed when the CSV file contained special characters in voucher codes or descriptions. The import process has been enhanced to support special characters.
Users & Roles
- Z10-24531 | Admin User Creation: Email Validation Missing for Duplicate Emails
Fixed an issue where duplicate email addresses could be used when creating new admin users, leading to login conflicts. Duplicate email validation has now been implemented. - Z10-24728 | User Role Permissions: Incorrect Permissions Applied After Save
Resolved a problem where modifying role permissions caused incorrect permissions to be saved. The permission matrix has been corrected to ensure accurate role configurations. - Z10-24812 | Admin User Password Reset Link Not Expiring
Fixed a defect where password reset links for admin users did not expire after use or after the intended time limit. Expiry functionality has been re-enabled to improve security.
Email & Notifications
- Z10-24635 | Admin Notification Emails Sent Twice
Corrected an issue where admin notification emails were sent twice for certain events. The duplication issue has been resolved, ensuring only a single notification is delivered. - Z10-24974 | Quote Notification Emails Not Triggering
Fixed a bug where email notifications were not being triggered when quotes were created or updated. Notifications now function as expected for quotes. - Z10-25223 | Order Confirmation Emails Missing SKU Details
Resolved an issue where SKUs were not included in order confirmation emails. SKU details are now displayed correctly for each product line item.
System Settings
- Z10-24012 | Scheduler Jobs: Failure Logs Not Capturing Error Details
Fixed a defect where scheduler job failure logs did not include detailed error messages, making troubleshooting difficult. Logs now capture complete error details for better diagnostics. - Z10-24738 | Global Settings: Tax Configuration Resetting After Save
Corrected a problem where global tax configuration settings reverted to defaults after saving. The issue has been fixed to retain the configured values properly. - Z10-24903 | Caching Issue: Updated Configurations Not Reflected Immediately
Resolved an issue where updated system configurations did not reflect immediately due to caching problems. The cache has been updated to refresh instantly upon configuration changes.
Other Improvements
- Z10-24582 | Search Indexing: Performance Optimization for Large Catalogs
Improved the performance of search indexing for large catalogs, reducing indexing time and improving search result availability. - Z10-25278 | API Responses: Standardized Error Messages Across Modules
Enhanced API error handling to provide standardized error messages across all modules, improving clarity for developers integrating with the platform. - Z10-25490 | Dashboard UI Enhancements for Better Navigation
Introduced UI improvements to the admin dashboard, including clearer navigation elements, consistent font usage, and improved spacing for better usability.
Open Source Enhancements and Fixes
Checkout & Cart
- Z10-23757 | Subtotal and Order Total Reset to “0” with Unnecessary Voucher Section
Fixed a defect where, upon changing the shipping method during checkout, the cart subtotal and order total reset to "0". Additionally, an unintended voucher section appeared in scenarios where vouchers were not enabled. The checkout calculation logic and UI configuration have been corrected to ensure totals persist accurately and irrelevant voucher sections remain hidden. - Z10-23766 | Custom Shipping Rates Not Calculated Correctly Across Regions and Handling Charges
Resolved an issue where custom shipping rates did not compute correctly when multiple regions (countries, states) and handling charges were involved. This led to inaccurate shipping costs and order totals. The shipping engine logic was enhanced to correctly apply region-specific charges and handling rules, ensuring customers receive precise and fair shipping calculations. - Z10-24909 | Checkout Button Visible Despite “Login to See Pricing and Inventory = Yes” Setting
Fixed a visibility logic bug where the checkout button still appeared even when the configuration required customers to log in before seeing pricing and inventory. This allowed unauthorized users to attempt checkout flows. The fix enforces strict visibility rules, ensuring the checkout button is only accessible to authenticated users with pricing visibility. - Z10-24790 | Tiered Pricing Not Visible on Cart Page
Corrected an issue where tiered pricing (volume discounts) was not displayed on the cart page. This created confusion for customers who were expecting discounted pricing based on quantity. The cart display logic has been updated to show correct tiered pricing in real-time, encouraging larger purchases and ensuring pricing transparency. - Z10-24873 | Cart Template Missing Layout Templates
Resolved a configuration defect where the cart template failed to load associated layout templates. This caused broken designs and disrupted the cart experience. The linkage between cart templates and layout files has been restored, delivering a consistent and structured cart page UI. - Z10-24886 | Ship-To Phone Number Missing for Multi-Shipping Orders
Fixed an issue where the Ship-To phone number was not captured when customers selected multiple shipping addresses. This omission caused fulfillment delays and shipping coordination challenges. The checkout process now records and displays the phone number for each shipping address, improving accuracy and operational efficiency. - Z10-24903 | Validation Errors Not Highlighted on Cart Template
Resolved a usability defect where validation errors (e.g., invalid quantities, missing fields) were not visually highlighted in the cart. Customers had no clear indication of errors, leading to failed checkout attempts. The validation framework has been updated to display clear inline error messages, guiding customers to fix issues quickly. - Z10-25010 | State Field Missing in Billing Address Template
Fixed a defect where the State field was not displayed on billing address forms within the checkout flow. This caused validation failures for regions requiring state information. The billing form has been updated to consistently include the state field, ensuring correct address capture and smooth order placement.
Search & SEO
- Z10-24393 | Typeahead Search Not Enabled on Reload of Search Results Page
Fixed a bug where the typeahead search dropdown did not reappear after reloading the search results page. Customers had to retype queries to trigger suggestions. The search component now reloads correctly and maintains typeahead functionality across refreshes. - Z10-24564 | SEO Details Missing in URLs from Typeahead Suggestions
Resolved an SEO issue where selecting products from typeahead suggestions redirected users with non-optimized URLs. The URLs now append configured SEO-friendly paths, improving discoverability and search ranking. - Z10-23798 | Duplicate Page Titles in HTML Source
Fixed an SEO metadata rendering defect where multiple <title> tags were generated in the HTML source, confusing crawlers and reducing SEO efficiency. The rendering logic has been updated to ensure only one unique and optimized page title is present.
Mobile UI & Responsive Behavior
- Z10-21601 | Track Order UI Misaligned in Mobile View
Corrected UI alignment issues with the Track Order component in mobile view, where labels and input fields overlapped. Responsive styling updates now ensure clean alignment across devices. - Z10-22060 | SKU Not Visible in Cart Page on Mobile Devices
Fixed a defect where SKUs were hidden in cart views on mobile. The SKU display has been restored, providing clarity for users verifying product selections. - Z10-24131 | User Icon Dropdown Not Refreshing After Logout on Mobile
Resolved a session refresh issue where the user icon dropdown continued showing logged-in options after logout on mobile. The state management has been fixed to refresh immediately upon logout.
My Account & User Interface
- Z10-21305 | Wishlist Remove Button Lacks Tooltip
Added a tooltip to the Wishlist remove button to improve clarity and usability. Customers now see a descriptive tooltip before removing items. - Z10-22235 | My Account Icons – Alignment and Consistency Issues
Fixed alignment inconsistencies in My Account icons. Spacing and positioning were adjusted for uniformity, improving the overall UI polish. - Z10-23409 | Double-Clicking Delete in Address Book Shows Error
Resolved a bug where double-clicking the Delete button in the Address Book triggered system errors. The fix prevents duplicate submissions and ensures smooth interactions. - Z10-23327 | Guest Billing Address Incorrectly Copied to Shipping Address
Fixed a defect where editing the billing address as a guest unintentionally overwrote the shipping address. Field bindings have been corrected to keep billing and shipping addresses independent.
Quick Order & Order Templates
- Z10-23674 | Quick Order Multi-SKU Paste Not Functioning
Resolved a defect where pasting multiple SKUs into Quick Order failed to process them. The input logic has been corrected to accept multiple entries and validate them accurately. - Z10-24753 | Order Template Quantity Doubling on Update
Fixed an issue where updating order templates caused product quantities to double unintentionally. The update logic has been corrected to preserve intended quantities. - Z10-23186 | Quick Order Allowed Exceeding Max Quantity
Corrected a defect where Quick Order allowed customers to add products beyond the configured maximum quantity despite warnings. Enforcement of quantity limits has been reintroduced to prevent invalid orders.
Invoices & Payments
- Z10-23299 | Invoice Payment Amount Decimal Formatting Incorrect
Fixed inconsistent decimal formatting in invoice payment displays, which led to confusion over payable amounts. Formatting has been standardized across payment views for precision and clarity. - Z10-21844 | Quote Receipt URL Causing Infinite Loading Instead of 404
Resolved a bug where invalid or expired quote receipt links caused infinite loading rather than a proper error. The fix introduces correct error handling and displays a clean 404 page.
Product, Catalog & Category
- Z10-24647 | Wrong Product Displayed on Edit Product Page
Fixed an issue where editing a product loaded details of an unrelated SKU. The product retrieval logic has been corrected to fetch accurate product data consistently. - Z10-18241 | Broken Image Text Not Fully Visible in Submenu
Corrected a UI issue where broken image placeholder text in submenus was truncated, reducing visibility. Submenu styling has been updated to display full error messages. - Z10-24907 | Products Per Page Dropdown Unresponsive & Misaligned
Fixed a usability issue where the Products Per Page dropdown on PLP was unresponsive and misaligned. Interaction logic and styling have been corrected for seamless use. - Z10-20799 | B2B Account Login Redirecting to Incorrect Catalog & 404 on Category Click
Resolved a catalog binding issue where B2B users logging in were directed to incorrect catalogs and encountered 404 errors when navigating categories. Catalog mapping and routing have been fixed to ensure accurate access. - Z10-24939 | Parent Product Prices Not Updating Correctly
Corrected a pricing defect where parent product price changes were not reflected in child SKUs or listings. The fix ensures parent pricing cascades correctly across the catalog. - Z10-25214 | Wrong Product Displayed on Edit Product Page
Fixed an error where editing a product sometimes pulled details of the wrong SKU. Fetch logic was updated to guarantee correct SKU retrieval.
Orders, Taxes & Payments
- Z10-24904 | Tax Summary Missing on Orders
Resolved a defect where tax summaries were absent in order confirmations and detail views. The fix reinstates a tax summary block, improving financial clarity and compliance. - Z10-25009 | Incorrect Error Message for Max Order Quantity
Fixed an issue where customers exceeding product max quantities saw misleading validation messages. Messaging has been updated to display clear and accurate guidance.
General UI/UX
- Z10-23671 | Cosmetic Changes on Webstore
Minor UI updates were made to ensure consistency in branding, spacing, and alignment across the webstore. - Z10-24250 | Pagination Dropdown UI Poorly Aligned
Fixed alignment issues with pagination dropdown controls. Adjustments ensure a cleaner design and improved usability.
- Z10-24566 | Deleted Customers Still Showing Incorrect Names in Order View
Resolved a logic issue where orders tied to deleted customers displayed incorrect names. Fallback logic has been improved to handle removed profiles gracefully. - Z10-24677 | Improper Count Displayed in Notes/Logs Tile
Fixed a defect where the notes/logs section displayed an incorrect count. The logic has been corrected to match actual entries. - Z10-25141 | Error Message Display Issue on Webstore
Corrected rendering issues where error messages were truncated or misaligned, preventing users from understanding system errors. Error rendering has been redesigned for better clarity.