# Limio Release Notes - Release 97

### Highlights

| <p>- <strong>Better Limio Developer Experience:</strong> new Typescript support for custom components in Limio DevEx, display custom component version in app<br>- <strong>Omnichannel business cases:</strong> improvements to our out-of-the-box Limio Salesforce plugin<br>- <strong>Zuora integration:</strong> include lmo\_offer in custom Zuora fields, show tax in all Limio components</p> |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |

*Please remember to perform a hard refresh in your browser after upgrading your environment.*

### New Features and Improvements

**Support Typescript in our LDX**

We now support our customers using Typescript to build custom components in the the new Limio Developer Experience. Our new DX helps developers:

* To be able to develop **locally** and see results **quickly**
* To be able to support their own **release** and **versioning** process
* To be able to use a **CI process** to release changes in a controlled environment
* To **own** their code

Read more about our Limio Developer Tools here:

**Display custom component version in Page Builder v2**

We have made troubleshooting your pages and custom components even easier. You are now able to see the package.json file version on any custom components in Page Builder v2. This information will be useful to any developer wanting to troubleshoot a custom component in Page Builder v2.*Screenshot: See the custom component version by clicking on the purple "edit" icon, and then looking in the top right corner under the custom component name.*

**Improvements to the Limio Salesforce plugin (v3)**

We've improved the functionality of the Limio Salesforce plugin (v3) to cover a wider variety of business cases more thoroughly.

Duplicate Check - We've improved the duplicate check functionality in our Limio Salesforce plugin (v3). Users now have the option to decide whether or not to link a subscription to an existing account when a duplicate is found, or simply return an error.

Limio identity and external identity - For the platform events for new, update, cancel\_intent, and customer\_details, we now include the Limio identity and external identity of the customer in the payload.

Support for update\_subscription - We now support the update\_subscription order type when generating platform events.

New platform event support - We now create a platform event for cancel\_intent, update\_customer\_details, or update\_subscription order types.

Whole order object option - There is a new option in the config of the plugin to send the whole order object as a string. The option is called sendWholeOrder.

New source fields - There are 2 new fields in the plugin: orderSource and initiatedSource. orderSource will be shop or salesforce, depending on whether the order was completed online in a Limio shop or with customer service representative in Limio for Salesforce. initiatedSource will be shop or salesforce, depending on whether the order was initiated online in a Limio shop or with a customer service representative in Limio for Salesforce. These values will not necessarily be the same, especially when using the or .

Include crm\_id - The CRM ID is now always being passed in the Limio Salesforce plugin (v3) for new and gift orders, even if the customer is unauthenticated.

Please email if you're interested in learning more about our Salesforce plugin.

**Extend out-of-the-box Zuora custom fields to lmo\_offer**

Limio order processing has out-of-the-box logic to detect if a certain custom field is defined in Zuora. If it is, it will add the field to the order or request in the corresponding object.

We have extended this functionality to include the field "lmo\_offer". If lmo\_offer\_\_c is defined in Zuora and lmo\_offer is populated on the subscription, this field will be populated with the URL path of the Limio offer, on the Offer Object.

Read more about out-of-the-box Zuora fields here:

Read more about custom fields in Zuora here:

**Show price inclusive of tax, if applicable, in all components that show price**

We recently introduced the option to display price inclusive of tax in the Switch Subscription component (see ). We have now extended this functionality to the other Limio components that show price. The full list of components that now support this change is below:

**Add page name to Layout for easier debugging**

When we are debugging in environments belonging to customers who have many pages, it can sometimes be challenging to locate the specific page that requires debugging. We have now added the page name to Layout to address this issue.

*Screenshot: The page is called "Default", which users can now see using the Inspect functionality on a web browser.*

**Limio Commerce Cleanup**

We've been working on removing unused functionality to improve the user experience of Limio Commerce users. For example, we've removed unused attribute types such as StripePriceField, ZuoraPriceField, Tag, and StyleInput. We've also removed the unused Associations tab on Offers and the commenting functionality. We're also working to improve our internally-used SDK.

**Optimising the indexer**

We've optimised our indexer process so that it indexes necessary data and not the entire catalog. This helps make our indexer more stable.

*Note: This is also in some versions of Release 96, please reach out to if you have questions.*

Bug Fixes

**New column in Offers view doesn’t persist if you move to another tab - you have to refresh**

We made a change so that when something on the server changes, the Offers view now updates automatically, fixing the problem where a new column would disappear when you switched to another tab and you had to refresh the page manually.

**Alphabetical ordering in the Offer label dropdown (\*\*\*\*)**

We fixed an issue with the Offer label dropdown returning inconsistent sorting.

**Gift code can be redeemed twice (\*\*\*\*)**

We disabled the submission button after it's clicked once for non-delivery checkouts to address concerns about duplicate subscriptions redeemed from the same gift code. This ensures that multiple order objects are not created when the button is clicked multiple times, resolving the issue of having multiple valid Zuora subscriptions during processing.

**Errors in the Abandoned Basket API (\*\*\*\*)**

We fixed the problem with Offers causing errors in the abandoned baskets API when no products exist. Now, even if there are no products, the issue won't occur.

**Can’t add a new label in Offer when In-Line editing (\*\*\*\*)**

We fixed an issue where adding a new Label to an Offer was only possible within the Offer itself, as the In-Line editor would not save.

**Required field label in Form component does not work for Field subcomponent**

We've resolved the issue where the Required field label didn't appear on Field subcomponents in the modular checkout.

**Don't allow attributes with duplicate values**

We've fixed a problem where users could add duplicate attributes in templates.

**Fixed resizing on Orders Table component**

Previously, viewing the Orders Table component on a device below 894 px would misalign the table rows. This has been resolved so that the table resizes correctly.

**Use invalid message prop in Payment Details subcomponent**

Display the text in the "Invalid message if option not selected" prop in the Payment Details subcomponent when showing an error instead of always displaying the default text.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.limio.com/release-notes/limio-commerce-release-notes/legacy-releases/limio-release-notes-release-97.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
