Release Notes > Release Notes for ThingWorx Platform 10.0 > What's New in ThingWorx Platform 10.0
What's New in ThingWorx Platform 10.0
Platform
File Transfer Subsystem
A new metric named thingworx_file_transfer_acrossedge_total was added to the File Transfer Subsystem to monitor activities related to file transfers across edge devices. For more information, see File Transfer Subsystem Metrics.
For more information about file transfers between ThingWorx Platform and other devices, see File Transfers.
Event Processing Subsystem
A new setting named Max Cached Data per Node for Durable Events was added the Event Queue Processing Settings to define the batch size for data retrieval of events from Kafka.
For more information, see Event Processing Subsystem.
IoT Streams and Durable Queues
ThingWorx 10.0 allows connecting to external Messaging systems and supports the following two features:
1. IoT Stream for Externally routing data (offramp)
ThingWorx 10.0 supports external routing for the following:
Property value
2. Durable queues for improving scalability and reliability of ThingWorx internal messages
ThingWorx 10.0 supports enabling durable queues for the following:
Events (only unordered events)
Persistent properties
Logged properties (Value Stream)
For IoT Stream and Durable queues, two new entities have been added:
IoT Stream—Enables streaming ThingWorx property values, set either from the edge or internally, to write to an external messaging system. This real-time data stream can be processed outside of ThingWorx for various use cases, such as analytics or data archival. IoT Streams require a Queue Provider to stream the data.
Queue Provider—Enables connectivity to external messaging systems.
For IoT Stream/offramp/Externally Routing Data, you must create a new instance of a Queue Provider.
For Durable queues, you must configure a predefined system instance of a Queue Provider.
You can use the system-provided Queue Provider instance to support both internal and external messages.
The initial implementation is based on the open-source Apache Kafka client and supports open-source Kafka brokers and Microsoft Azure Event Hubs, but you can create an extension to connect other types of Queue Providers.
Queue Provider Configurations Introduced in Platform Settings
The BasicSettings configuration has been enhanced to enable internal messaging with Durable Queues. This includes the addition of new parameters: InternalQueueProviderPackage, EnableDurableEvents, EnableDurablePersistentProperties, and EnableDurableLoggedProperties.
A new QueueProviderConfigs section has been added to configure the connection to the external eMessaging system that will be used for durable queues.
A new setting named maxCachedDataForDurableLoggedProperties has been added to the Queue Provider Configuration Settings to define the batch size for data retrieval of value streams from Kafka.
A new setting named maxCachedDataForDurablePersistentProperties has been added to the Queue Provider Configuration Settings to define the batch size for data retrieval of persistent properties from Kafka.
Event Processing Subsystem Improvement
A new setting named Max Cached Data For Durable Events has been added to the Event Queue Processing Settings. This setting defines the batch size for data retrieval of event queue from Kafka.
* 
These features are available as an optional add-on in ThingWorx 10.0 and require a valid license. To purchase a license, contact your PTC sales representative. When applying the license, ensure that it includes the feature name twx_iot_streams. For detailed licensing instructions, see Configuring Licensing for ThingWorx Platform.
Subsystem Licensing
Two new reports have been added to the Subsystem Licensing module, providing more detailed insights and analytics. Users can now export reports, allowing for easier sharing and further analysis.
For more information, see Licensing Subsystem.
File Transfer Audit
A new configuration named UseConsolidatedFileTransferAudit was added to the file transfer configurations, enabling the user to optimize the File Transfer Audits. For more information, see the Consolidated File Transfer Audit Settings section in platform-settings.json Configuration Details.
Audit Subsystem Schedulers
A new default behavior was added to the AuditArchiveScheduler, AuditPurgeScheduler, and AuditArchiveSchedulerDirectPersistence schedulers. They are now sequentially triggered every three hours, with an interval of 90 minutes between each scheduler trigger. For more information, see Setting Up Schedulers.
Partitioning the value_stream_table in PostgreSQL
The ability to partition the value_stream table in PostgreSQL is now officially released. The value_stream table, when containing a significant amount of data, can cause time-based queries and purge operations to take considerable time, increasing the overall server load. Implementing weekly or monthly partitions and corresponding drop partition operations can help streamline these issues. The following command lines are provided to maintain value_stream table partitions:
Use the partition_value_stream_by_range_setting command line to partition the value_stream table, allowing easy control over partitioning ranges, such as when to start or end the partitioning and the partitioning intervals. This includes repartitioning old data and changing the start, end, or interval time.
Use detach_partitions_from_value_stream to drop or archive old partitions.
Caching Entity
CacheThing provides a quick and efficient interface for storing and retrieving key-value data, making it ideal for caching expensive or time-consuming operations. Key features include:
Expiration and Eviction: Automatically removes entries based on their age and the cache size.
In-Memory Cache: Operates in memory for faster results and reduced resource usage.
For more information, see CacheThings.
Apache Tomcat Support
Starting with ThingWorx 10.0, the platform supports and includes Apache Tomcat 11. For the support matrix, see Release Advisor.
Audit Subsystem
A new service called QueryAllAuditHistory was added to the Audit Subsystem. This service enables you to export localized audit messages from both online and offline data stores by querying the Message field. This service is available for both Data Table and Direct Persistence implementations. For more information, see Using the QueryAllAuditHistory Service.
Reporting Subsystem
A new subsystem named Reporting Subsystem was added to manage report generation in the ThingWorx Platform.
For more information, see Reporting Subsystem.
URL Normalization Configuration Introduced in Platform Settings
Two new settings named domainsToSkipNormalization and disableNormalizedURL were added to the URL Normalization Configuration to control the behavior of URL normalization. For more information, see the URL Normalization Configuration section in platform-settings.json Configuration Details.
Extensibility
Added a new report page in Composer that enables you to view the list of JavaScript libraries and versions that are used by the platform. The page is available under Manage > Extensibility > Included JavaScript Libraries. You can use this page to check if a JS library is already provided by the ThingWorx platform to avoid conflicts when building custom extensions.
Logback XML Transformer Utility
Added a Logback XML Transformer Utility to convert logback.xml files from previous versions to the new supported structure of version 1.5. For more information on the utility and steps to run it, see CS441278.
JavaScript Debugger (Beta)
Introduced the JavaScript Debugger as a beta feature that allows you to debug Thing services. For more information, see JavaScript Debugger.
SSO
Spring Framework
Spring Framework—Upgraded to version 6.2.1, bringing enhanced performance and new features.
Spring Security—Upgraded to version 6.4.2, offering improved security measures and additional functionalities.
Mashup Builder
Video Player Widget
Added a new Video Player widget that enables you to play videos from a URL source in a mashup. For more information, see Video Player Widget (Themable).
Media Gallery Widget
Added a new Media Gallery widget that enables you to display a collection of images in a mashup. Use this widget to display multiple images in a compact layout. For more information, see Media Gallery Widget (Themable).
Tabs Widget
Added support for styling tabs using a framed style that supports showing icons, a vertical layout, and even spacing.
Added a property named OverflowButtonLabel that enables you to set the label of the overflow button.
For more information, see Tabs Widget (Themable).
Date Time Picker Widget
Added properties that enable you to validate the date and display an error message when the date is invalid or incomplete. For more information, see Date Time Picker Widget (Themable).
Grid Widget
Added support for enabling lazy loading for rows in addition to columns. For more information, see Configuring Lazy Loading for the Grid Widget.
Added an option to the column String renderer that enables you to preserve white space and new line characters when editing cells using a text area. For more information, see Grid Widget.
Added properties that enable you to control the position and style of labels that used to display the number of rows in the grid.
Column resizing is now enabled by default when adding the Grid widget to a new mashup.
For more information, see Grid Widget.
Collection Widget
Added a property named CellUnloadDelay that enables you to specify the time delay, in seconds, before unloading collection cells from the DOM when they are out of view. For more information, see Collection Widget (Themeable).
Auto Refresh Function
Added an option that enables you to disable auto refresh when an authentication error occurs. For more information, see Auto Refresh.
Mashup Builder Runtime Libraries
The jQuery UI library used by mashups at runtime is upgraded to version 1.14.1. This update may affect compatibility when upgrading custom widgets. You should review and update their custom widget implementations to make sure they work with the new version.
Mashup Migration
Added support for migrating the Property Display Widget (Legacy) widget to the latest themed Property Display widget.
Mashup Configuration Dialogs
Added new samples and updated the documentation for creating custom configuration dialogs for mashups.
Mail Extension
Google and Azure OAuth
Google and Azure have deprecated basic authentication for mail services, requiring users to transition to OAuth or use app passwords. ThingWorx Mail extension 5.0 is updated to add OAuth support for Google and Azure. For more information, see Google OAuth 2.0 Setup and Configuration for ThingWorx Mail Integration and Azure OAuth 2.0 Setup and Configuration for ThingWorx Mail Integration.
Was this helpful?