Release Notes > Release Notes for ThingWorx Platform 9.3 > Enhancements and Fixed Issues in ThingWorx Platform 9.3.2
Enhancements and Fixed Issues in ThingWorx Platform 9.3.2
The following enhancements are part of ThingWorx Platform 9.3.2.
Container Deployment
Additional enablement and guidance on running ThingWorx Docker container images on Azure Kubernetes Service. For more information, see ThingWorx Container Deployment Hub.
Mashup Builder
Security Enhancements
Added replacements for Validator and Expression functions that include new security enhancements. Existing versions of these functions are now labeled as Not Secure.
Added more secure replacements for validators that are used to validate cell content within Grid widgets. You can disable legacy validators for a grid widget using the DisableLegacyValidation property.
The replacements include additional restrictions when using run-time objects and functions. To benefit from the latest security enhancements, we strongly recommend that you replace any non-secure functions or validators in your mashups with the latest standard version. For more information about these changes, see Replacing Non-Secure Expressions in a Mashup.
User Interface
The Reminders panel now displays reminders when an expression uses non-supported objects or functions. You can click on a reminder to automatically select the related function.
In addition, non-secure expressions are highlighted in the following ways:
A message is displayed when you open a mahsup that contains non-secure expressions.
On the Functions panel, non-secure functions are grouped under a Not Secure label and awarning triangle is displayed on the panel. You can replace non-secure functions using the Replace button next to the function name.
Columns that use the legacy validation are highlighted in the Columns Configuration dialog box.
Containers and Layouts
Added properties, services, and events that enable you to configure lazy loading for layout containers in a mashup. Dynamically loading, unloading, and reloading widgets within a container improves mashup performance.
To use lazy loading for a widget extension, you must manually update the <WidgetName>.runtime.js file of a custom widget by adding the domOnly attribute to the beforeDestroy() function. For more information, see Using Lazy Loading in a Mashup.
Bar, Line, Schedule, Pareto, and Waterfall Chart widgets
Added widget properties that enable you to set a fixed number of labels on numeric and date/time axes.
Added new style properties for the X-axis labels.
Grid (Themable)
Updated the default validator used for the widget to the latest standard version.
You cannot use the legacy validator when adding the a new grid widget to a mashup.
Added support for sorting the grid columns using the Ordinal field in the infotable data source.
Image widget—The image container size does not change automatically when replacing the media entity.
Label widget—Added a property that prevents the widget from automatically removing whitespace characters in the Text property.
Text Area widget— The widget is now responsive. When the widget is added to a container, it uses all of the available space. This change may affect the layout of a mashup when a single Text Area widget is placed inside a container. For more information, see Text Area Widget.
Tabs widget—Added lazy loading support for the widget tabs. The tab content is automatically loaded, unloaded, and reloaded when you switch between tabs.
Google Maps Extension 3.1.2
Updated the Google Maps and Google Location Picker widgets to support lazily-loaded containers.
The following fixed issues are part of ThingWorx Platform 9.3.2.
Fixed Issues
Fixed potential security issues, including items proactively identified by the vulnerability scanning software or PTC Quality Assurance testing. Upgrade as soon as possible to take advantage of these important improvements.
PTC has recently implemented a new support policy with respect to Identity and Access Management (IAM) solutions. See the appropriate eSupport center section for more information.
See this technical support article for important recommendations regarding the use and update of third-party software for ThingWorx.
Tracking Number
Fixed issue related to LoginSucceeded event executing twice when using ThingworxSSOAuthenticator for login.
Fixed issue related to adding additional users to a group of users.
Fixed an issue related to the inconsistent selection of the first row using AutoSelectFirstRow option.
Fixed an issue related to row selection where the correct color set in ptcsgrid Style Properties (Selected#Row#background) should get highlighted.
Fixed an issue related to view options greyed out for IR thing assigned to a property on the Thing template.
Fixed an issue related to the database connection not released hanging in the Client - Client Read state and more queries consuming available database connections.
Fixed an issue related to multiple threads are deadlocked attempting to invoke Network GetDescription, AddConnection, and DeleteConnection APIs.
Fixed an issue related to logout function not behaving properly when used with auto-refresh option.
Fixed an issue related to save button not getting greyed out when project permissions are set altogether.
Fixed an issue related to saved Infotable inputs cleared if a user clicks to a different entity.
Mashup Builder
Tracking Number
Fixed issue related to inconsistent Chart displays where browser refresh was needed for data added.
Fixed an issue related to Mashup filter option not usable on Android.
Fixed an issue related to Mashup loaded executed twice and cause duplication of data on MacOS and iPad.
Fixed an issue related to collection widget not refreshing after scrolling up or reloading the page.
Fixed an issue related to the Line Chart curve with odd lines plotted.
Known Issues and Limitations
The following items are known issues and are scheduled to be fixed in a future release.
Tracking Number
When establishing async service call, getAccessToken() is called when SSO is enabled even when OAuth access token is not configured for the particular resource and the following error is printed in the log: Cannot getAccessToken("Thing.TFS.IH.IngestionCoordinator.Thing"), this will be fixed in TWX 9.3.3.
Collection widgets scroll to the top row when underlying data is updated. Workaround is to de-select “PlaysIntroAnimation” property of the collection widget. Will be fixed in future Thingworx release
QueryDataTableEntries does not return the proper result set when using the Tag value parameter if the Tag term is found in multiple Vocabularies. For example; If "vocab1" and "vocab2" both have the term: "Term1"; search on "vocab1:Term1" will match any entry that has Term1 as a tag, regardless of specified vocabulary.
Failure to sign Jar file causes remote access session to fail to start. It should be noted that as of ThingWorx 9.2, JNLP connections are no longer supported in ThingWorx due to the move to Java 11.
Due to changes implemented in MSSQL and H2 database index, QueryDatatableEntities and FindDataTableEntities do not return the same values as in previous releases.
When using an Advanced Grid widget that includes a field of Boolean type, the tooltip displayed when hovering over the field will always display "false" regardless of the actual field value. Tooltip should display the actual value of the Boolean field.
Was this helpful?