All Releases
February 19, 2026 February 12, 2026 January 22, 2026 February 5, 2026 January 29, 2026 January 15, 2026 January 8, 2026 January 1, 2026 December 25, 2025 December 18, 2025 December 11, 2025 December 4, 2025 November 27, 2025 November 20, 2025 November 13, 2025 November 6, 2025 October 30, 2025 October 23, 2025 October 16, 2025 October 9, 2025 October 2, 2025 September 25, 2025 September 18, 2025 September 11, 2025 September 4, 2025 August 28, 2025 August 21, 2025 August 14, 2025 August 7, 2025 July 31, 2025 July 24, 2025 July 17, 2025 July 10, 2025 July 3, 2025 June 26, 2025 June 19, 2025 June 12, 2025 June 5, 2025 May 29, 2025 May 22, 2025 May 15, 2025 May 8, 2025 May 1, 2025 April 24, 2025 April 17, 2025 April 10, 2025 April 3, 2025 March 27, 2025 March 20, 2025 March 13, 2025 March 6, 2025 February 27, 2025 February 20, 2025 February 13, 2025 February 6, 2025 January 30, 2025 January 23, 2025 January 16, 2025 January 9, 2025 January 2, 2025 December 26, 2024 December 19, 2024 December 12, 2024 November 28, 2024 November 21, 2024 November 14, 2024 November 7, 2024 October 31, 2024 October 24, 2024 October 17, 2024 October 10, 2024 October 3, 2024 September 26, 2024 September 19, 2024 September 12, 2024 September 5, 2024 August 29, 2024 August 22, 2024 August 15, 2024 August 8, 2024 August 1, 2024 July 25, 2024 July 18, 2024 July 11, 2024 June 27, 2024 June 20, 2024 June 13, 2024 June 6, 2024 May 30, 2024 May 23, 2024 May 16, 2024 May 9, 2024 May 2, 2024 April 25, 2024 April 18, 2024 April 11, 2024 April 4, 2024 March 28, 2024 March 21, 2024 March 14, 2024 March 7, 2024 February 29, 2024 February 22, 2024 February 15, 2024 February 8, 2024 February 1, 2024 January 25, 2024 January 18, 2024 January 11, 2024 January 4, 2024 December 21, 2023 December 14, 2023 December 7, 2023 November 30, 2023 November 16, 2023 November 9, 2023 November 2, 2023 October 26, 2023 October 19, 2023 October 12, 2023 October 5, 2023 September 28, 2023 September 21, 2023 September 14, 2023 September 7, 2023 August 31, 2023 August 24, 2023 August 17, 2023 August 10, 2023 August 3, 2023 July 27, 2023 July 20, 2023 July 13, 2023 July 6, 2023 June 29, 2023 June 22, 2023 June 15, 2023 June 8, 2023 June 1, 2023 May 25, 2023 May 18, 2023 May 11, 2023 May 4, 2023 April 27, 2023 April 20, 2023 April 13, 2023 April 6, 2023 March 30, 2023 March 23, 2023 March 16, 2023 March 9, 2023 March 2, 2023 February 23, 2023 February 16, 2023 February 9, 2023 February 2, 2023 January, 2023 December, 2022 November, 2022 October, 2022 September, 2022 August, 2022 July, 2022 June, 2022 May, 2022 April, 2022 March, 2022 February, 2022 January, 2022 December, 2021 November, 2021 October, 2021 September, 2021 August, 2021 July, 2021 June, 2021 May, 2021 April, 2021 March, 2021 February, 2021 January, 2021 December, 2020
View all releases

February 19, 2026 release notes

Tickets

  1. KOD-28883: order sourcing flow to go directly to ERPs
  2. KOD-29113: Add links to the footer
    • Regression Tests
    • Case 1
      • Check that the footer still looks good.
    • Tests
    • Case 1
      • Check that you can see a new option in the footer, called “Your Privacy Choices”.
  3. KOD-29386: Product Search Updates for Catalogs
  4. KOD-29555: Transaction Detail On Invoices from CSD
  5. KOD-29607: Document Automation UX V2
    • Regression Tests
    • Case 1
      • Navigate to vendor/company detail pages.
      • Load vendor/company with existing plain text script (no adapter ID) - field shows plain text.
      • Edit and save plain text - still works correctly.
      • Vendor Detail page - all other fields and buttons work normally.
      • Company Detail page - employee assignments, brands, terms still functional.
    • Tests
    • Case 1
      • Verify that the adapter autocomplete loads results on focus and filters correctly when typing.
      • Pre-conditions (Create some adapters in the database).
      • Navigate to the Vendor Detail page.
      • Click on the "Invoice Adapter" input field (focus).
      • Observe the autocomplete dropdown.
      • Type text into the field.
      • Observe filtered results.
    • Case 2
      • Navigate to the Company Detail page.
      • Click on the "Order Adapter" field and select Adapter from the dropdown.
      • Check the "Order Adapter" field.
      • Expected Results :
      • After selection, orderAdapterID setting is saved with the adapter's ruleID.
      • After reloading, the field displays "Standard Order Adapter" (loaded from orderAdapterID ).
    • Case 3
      • Navigate to the Vendor Detail page with the existing Invoice Adapter configured.
      • Clear the "Invoice Adapter" input field (delete all text).
      • Click outside the field (blur event).
      • Reload the page.
      • Check the "Invoice Adapter" field and database settings.
      • Expected Results :
      • After clearing and blur, both invoiceAdapterID and vendorAPUploadScript settings are cleared
      • After reload, the field is empty.
      • No adapter is displayed.
  6. KOD-29609: HostCode missing on Deposit on Accounts
    • Tests
    • Case 1
      • Deposit Payment with CC.
      • hostCode should be stamped on a Payment record from a Company.
      • Company host:
      • Make a Deposit payment with CC:
      • Check Accounts Receivable screen - “Host Code“ stamped on a new record.
    • Case 2
      • Deposit Payment with ACH.
      • hostCode should be stamped on a Payment record from a Company.
      • Check Accounts Receivable screen - “Host Code“ stamped on a new record.
  7. KOD-29611: Order / Invoice Documents
  8. KOD-29646: Message not Showing at Checkout
  9. KOD-29664: Implementation - Exempt
  10. KOD-29711: Online Payment Percentage - Update calculation values to remove internal customers
  11. KOD-29736: Freight Charges not showing on Kodaris Order Acknowledgement
    • Tests
    • Case 1
      • For this test, go to the Customer Portal - Orders screen - Order Details screen.
      • You can use the order mentioned in the ticket description.
      • Check that the Freight charges are being displayed on the order template.
    • Case 2
      • For this test, create a Cash Quote and add a Shipping charge in the operations portal.
      • Release the order to CSD and check that the addon is being sent correctly in the request payload and also returned and applied correctly too.
  12. KOD-29752: Invoice Number Mapping
  13. KOD-29758: Kodaris - Return Custom Fields for Company/Ticket to be able to show them in Data grid
    • Regression Tests
      • Make sure settings those settings have blank values:
      • integrationIndexedCompanyFields,
      • integrationIndexedTicketField ,
      • integrationIndexedProductFields
    • Case 1
      • Go to Companies → File → Import → Create Update → Select this file regresion_test_company_import.csv
      • Go to Scheduler → find FiveMinuteBulkJobsJob and run it (click on running person icon).
      • Go back to Companies and verify the company created.
    • Case 2
      • Company Data Grid without custom fields setting.
      • Go to Companies → Data tab.
      • Make sure there are companies and they are displayed correctly.
    • Case 3
      • Company details without custom fields setting.
      • Open details of the created company and verify that it works.
    • Case 4
      • Company Data export without custom fields setting.
      • Go to Companies → File → Export → Save.
      • Open the saved file and verify that export works.
    • Case 5
      • Company export from Search tab.
      • Go to Companies → Search tab → Wait till the created company appears there → Export csv → Save.
      • Open the saved file and verify that export works.
    • Case 6
      • Ticket import without custom fields.
      • Go to Tickets → File → Import → Create Update → Select this file regresion_test_ticket_import.csv
      • Go to Scheduler → find FiveMinuteBulkJobsJob and run it (click on running person icon).
      • Go back to Tickets and verify tickets created.
    • Case 7
      • Ticket Data Grid without custom fields setting.
      • Go to Tickets → Data tab.
      • Make sure there are tickets and they are displayed correctly.
    • Case 8
      • Ticket details without custom fields setting.
      • Open details of the created ticket and verify that it works.
    • Case 9
      • Ticket Data export without custom fields setting.
      • Go to Tickets → File → Export → Save.
      • Open the saved file and verify that export works.
    • Case 10
      • Ticket export from Search tab.
      • Go to Tickets → Search tab → Wait till the created ticket appears there → Export csv → Save.
      • Open the saved file and verify that export works.
      • Delete created ticket and company.
    • Case 11
      • Product export without settingCodesToReturn.
      • Go to Products → File → Export → Save.
      • Open the saved file and verify that export works.
    • Case 12
      • Product NDJSON export without settingCodesToReturn
      • In Swagger: POST /api/system/product/export?fileName=test.ndjson isSolrSearch=false exportAsNdjson=true
      • Body:
      • {}
      • Open the saved file and verify that export works.
    • Tests
      • Go to Settings → Search for integrationIndexedCompanyFields ->Paste this JSON into its value:
      • [{"settingCode": "companysize", "settingName": "Company Size", "isIndexed": true, "solrField": "custom_companySize"}, {"settingCode": "erp", "settingName": "ERP", "isIndexed": true, "solrField": "custom_erp"}]
      • Search for integrationIndexedTicketFields ->Paste this JSON into its value:
      • [
      • {
      • "settingCode": "ticketpriority",
      • "settingName": "Ticket Priority",
      • "isIndexed": true,
      • "solrField": "custom_ticketpriority"
      • }
      • ]
      • Refresh page.
    • Case 1
      • Company import with custom_ prefix.
      • Go to Companies → File → Import → Create Update → Select this file test_company_import.csv.
      • Go to Scheduler → find FiveMinuteBulkJobsJob and run it (click on running person icon).
      • Go back to Companies and verify the company created.
      • Open details of the created company → Go to the Custom Fields tab and verify that fields are not blank.
      • Don’t delete the created company.
    • Case 2
      • Company Data Grid with custom fields settings.
      • Go to Companies → Data tab.
      • Make sure there are companies and they are displayed correctly.
    • Case 3
      • Company import null removes setting.
      • Go to Companies → File → Import → Create Update → Select this file test_null_company_import.csv.
      • Go to Scheduler → find FiveMinuteBulkJobsJob and run it (click on running person icon).
      • Go back to Companies and open details of existing companies → Go to Custom Fields tab and verify that “Company size” field is blank and the “ERP“ field is not.
    • Case 4
      • Company Data export includes custom fields.
      • Go to Companies → Data → File → Export → Save.
      • Open saved file and verify that export works and there are columns with “custom_” prefix:
      • "custom_companysize"
      • "custom_erp"
    • Case 5
      • Ticket import with custom_ prefix.
      • Go to Tickets → File → Import → Create Update → Select this file test_ticket_import.csv.
      • Go to Scheduler → find FiveMinuteBulkJobsJob and run it (click on running person icon).
      • Go back to Tickets and verify ticket is created.
      • Open details of created ticket → Go to Custom Fields tab and verify that the field is not blank.
      • Don’t delete the created ticket.
    • Case 6
      • Ticket Data Grid with custom fields setting.
      • Go to theTickets screen → Data tab.
      • Make sure there are tickets and they are displayed correctly.
    • Case 7
      • Ticket import null removes setting.
      • Go to Tickets → File → Import → Create Update → Select this file test_null_ticket_import.csv.
      • Go to Scheduler → find FiveMinuteBulkJobsJob and run it (click on running person icon).
      • Go back to Tickets and open details of existing tickets → Go to Custom Fields tab and verify that the field is blank now.
    • Case 8
      • Ticket Data export includes custom fields.
      • Go to Tickets → File → Export → Save.
      • Open the saved file and verify that the export works and there is "custom_ticketpriority" column.
    • Case 9
      • Company export with settingCodesToReturn.
      • In Swagger: POST /api/system/company/export?fileName=test.csv isSolrSearch=false
      • Body:
      • {"fieldsToReturn": ["code", "companyName"], "settingCodesToReturn": ["erp"]}
      • Verify CSV contains a custom_erp column with correct values.
    • Case 10
      • Company export settingCodesToReturn overrides empty JSON setting.
      • Clear integrationIndexedCompanyFields setting value.
      • In Swagger: POST /api/system/company/export?fileName=test.csv isSolrSearch=false
      • Body:
      • {"fieldsToReturn": ["code", "companyName"], "settingCodesToReturn": ["erp"]}
      • Verify CSV contains a custom_erp column even though the JSON setting is empty.
      • Restore integrationIndexedCompanyFields setting after test.
    • Case 11
      • Company export falls back to JSON definition when settingCodesToReturn is empty
      • Ensure integrationIndexedCompanyFields setting has value.
      • In Swagger: POST /api/system/company/export?fileName=test.csv isSolrSearch=false
      • Body:
      • {"fieldsToReturn": ["code", "companyName"]}
      • Verify CSV still contains a custom_companysize and custom_erp columns (fallback to JSON definition).
    • Case 12
      • Ticket export with settingCodesToReturn.
      • In Swagger: POST /api/system/ticket/export?fileName=test.csv isSolrSearch=false
      • Body:
      • {"fieldsToReturn": ["code", "title"], "settingCodesToReturn": ["ticketpriority"]}
      • Verify CSV contains a custom_ticketpriority column with correct values.
    • Case 13
      • Ticket NDJSON export with settingCodesToReturn.
      • In Swagger: POST api/system/ticket/exportAsNdjson?fileName=test.ndjson
      • Body:
      • {"settingCodesToReturn": ["ticketpriority"]}
      • Verify NDJSON output contains a custom_ticketpriority field with correct value.
  14. KOD-29772: Kodaris (Automation) - Add menu item - “Logs”
    • Regression Tests
    • Case 1
      • Ensure that the other menu items are functioning correctly.
      • Ensure that navigation between pages is functioning correctly.
      • Ensure that breadcrumbs are displayed correctly on all pages.
    • Tests
    • Case 1
      • Ensure that the logs are displayed on the “/logs” page.
      • Ensure that the “Pause” button stops the log stream.
      • Ensure that the “Resume” button resumes the stream.
      • Make sure that the “Clear” button clears the editor.
      • Make sure that “Stop Tailing” disables auto-scrolling.
      • Make sure that “Start Tailing” enables auto-scrolling.
      • Make sure that auto-scrolling is disabled when scrolling up.
  15. KOD-29821: Add ability to set several Payment Flows
  16. KOD-29835: Implementation - Price Display
    • Regression Tests
    • Case 1
      • Check that the product detail page still works as expected without issues.
    • Tests
    • Case 1
      • We’ve added logic for displaying retail price on product pages.
      • It should display based on the following logic:
      • Guest User
      • Whether the displayRetailPriceOnProductPage setting is populated or not, the retail price never displays on the product detail page.
      • Logged in User:
      • If the setting is populated with a field name.
      • And if a sku for your product has that field populated (and is greater than 0).
      • Retail price will display on the PDP.
  17. KOD-29844: Allow Company Group Price Books
  18. KOD-29870: Make an update to close the previous error snackbar before showing the next one
    • Regression Tests
    • Case 1
      • Confirm that the snackbar message is displayed correctly.
    • Tests
    • Case 1
      • Confirm that when a new snackbar message appears, the previous one closes automatically.
  19. KOD-29880: Text link pop up modal - Like on people block
    • Regression Tests
    • Case 1
      • For this test, go to the operations portal and log in.
      • Go to the Pages screen and open one of the pages in editor mode.
      • Make sure nothing breaks in general and the preexisting blocks load just fine.
    • Case 2
      • Still in the editor mode of a page, try adding new blocks. Make sure editing the fields, saving and previewing works fine.
    • Tests
    • Case 1
      • Still on the editor mode like in the regression test cases, we will look for our new CMS block: CM: Section: Text Modal and add it to the page.
      • Make sure nothing breaks.
      • You should be able to replace the placeholder text, change the color of it, add a Title heading and a text paragraph.
      • Save and make sure nothing breaks.
    • Case 2
      • After saving your CMS block, click on Preview and make sure nothing breaks.
      • You should see a link of the same color and with the same text you edited previously.
      • Clicking on the link should open a modal with the Heading and Text you added in the editor mode.
      • Make sure it looks good and that clicking outside of the modal closes it.
      • Go back to the editor mode and delete the Title.
      • The modal should still look okay in the preview.
      • Also, test adding enough text so the scroll functionality also works fine.
      • Edge case: adding a lot of text in the heading would make it look bad and scroll won’t work properly, but this shouldn’t be how the user uses this and the CMS block we based this one off of also has the same behavior.
  20. KOD-29887: Implementation - Shipping Charge
  21. KOD-29889: Add MRO Guide question and user's language to the post order survey analytics
  22. KOD-29893: Customer Portal
  23. KOD-29904: Reviewing Products Missing Required Attributes
    • Regression Tests
    • Case 1
      • Test Required Attributes Assignment tab for Category works as expected. Filters work as expected.
    • Tests
    • Case 1
      • Test new endpoint: POST /api/system/category/refreshProductsWithMissingAttributesCounts
      • Which should refresh each category missing attributes count.
      • You can check the counter when listing Category in the operations portal (Data or Search screen): see newly added field productsWithMissingAttributesCount - Returned only by the endpoint for now.
    • Case 2
      • Test new endpoint: POST /api/system/category/{categoryID}/refreshProductsWithMissingAttributesCounts
      • Which should refresh specified category missing attributes count.
      • You can check the counter when listing this Category (or view category details) in the operations portal (Data or Search screen), see newly added field productsWithMissingAttributesCount.
  24. KOD-29911: Kodaris - (Automation App) Update the inline interceptors screen
    • Regression Tests
    • Case 1
      • Verify that the Interceptors page still loads and displays data.
      • Verify that the Edit button on the Interceptors page leads to the correct URL.
    • Tests
    • Case 1
      • Verify that the table displays the same columns as the Interceptor screen: Code, Name, Active, Created, Last Modified, Actions.
      • Verify that the Add Inline Interceptor button leads to /inline-interceptors/new.
      • Verify that the Edit button leads to /inline-interceptors/{ruleID}
  25. KOD-29913: Setup base search rules
  26. KOD-29916: Link System Events to the Order
    • Tests
    • Case 1
      • System events for Pay_Order should be linked to and should now be linked to an order, unlike it is shown on in the ticket description.
  27. KOD-29920: Update search to support spaces when generating PDF files/sending emails
    • Regression Tests
    • Case 1
      • Verify that template search on email/pdf popups still works fine.
      • List of places that need to be tested in comments section.
    • Tests
    • Case 1
      • Verify that template search using name of template on email/pdf popups works fine.
      • List of places that need to be tested in the comments section.
  28. KOD-29925: Trigger business events for rule engine from jobs
  29. KOD-29926: Footer email address removal
    • Regression Tests
    • Case 1
      • Make sure the footer looks correct.
    • Tests
    • Case 1
      • Make sure that the email address has been removed from the footer.
  30. KOD-29928: Import Remaining Attributes
  31. KOD-29939: Remove Latin from Search Debugger + Update Actions links
    • Regression Tests
    • Case 1
      • Make sure your employee has the searchDebug role and log into the operations portal.
      • On the commerce site, while searching or going directly to a category, make sure the search score is at the bottom of the tile, the inspect button still works to open the inspector, and all the tabs on the search inspector still work.
    • Tests
    • Case 1
      • On the debug tab, notice there is no more latin under the debug header
    • Case 2
      • Under the Actions button, the ‘Open product in operations portal’ should take you to that product in the operations portal, ‘Open search tools’ should take you to the search rules in the operations portal, and ‘Open search documentation’ should take you to the documentation on the search debugger.
  32. KOD-29940: Search discrepancy between English and French search after the update to AI search
  33. KOD-29945: Implementation - Translation Issues
  34. KOD-29955: Implementation-Parser
  35. KOD-29961: Implementation - Configure Customer Portal
  36. KOD-29960: Implementation - Branding
  37. KOD-29962: Implementation - Countries / States
  38. KOD-29967: Implementation - Countries / States
  39. KOD-29969: Implementation - Configure Customer Portal
  40. KOD-29975: Required Attribute Assignment - Filtering Bug
    • Regression Tests
    • Case 1
      • Ensure that on the screen -> “Categories / Search / Category name” -> “Required Attribute Assignment” tab -> the empty and not empty filters are functioning correctly.
    • Tests
    • Case 1
      • Ensure that on the screen -> “Categories / Search / Category name” -> “Required Attribute Assignment” tab for fg_* fields, you can open the filter and select “Not empty” and after selecting “Not empty”, clearing the filter and opening the filter menu to select ‘Empty’, make sure that when you select this option and click “Apply”, the filter works correctly.
  41. KOD-29980: Implementation - Configure Customer Portal
  42. KOD-29979: Implementation - Countries / States