v.221 Release Notes
Last updated on 06 May, 2025Account Information
Legacy UI for Ops Notes Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the global Ops Notes settings, making these Ops Notes settings unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about Ops Notes, see Ops Notes in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages, including the ability to add Ops Notes in the legacy UI from the Resources page.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Legacy UI for Account Information Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the Websites page, making Website Monitoring unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about Account Information, see the following in the product documentation:
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Legacy UI for Audit Logs Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for Audit Logs, making Audit Logs unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about Audit Logs, see Audit Logs in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Alerts
Improved Email Notification
LogicMonitor has enhanced the email notification templates used across multiple user interactions by introducing a refreshed design that includes the LogicMonitor logo, a standardized footer, and a clearer, more user-friendly email body. These updates apply to emails sent for key actions.
Note: These enhancements do not apply to alert delivery emails, which remain unchanged.
Legacy UI for Alert Message Templates Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the Alert Message Templates, making the templates unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about the Alert Message Templates, see Managing Alert Messages Template in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Legacy UI for Alert Settings Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the Alerts settings, making the settings unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about Alert Settings, see Alert Delivery Overview in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Resolved an issue that caused false alerts due to delayed data. Previously, delayed data could result in multiple skipped polls. If an earlier poll triggered an alert condition and a later poll (after the skipped ones) did not, the system might incorrectly generate a new alert. This happened because alert evaluation was based on the time elapsed between valid polls rather than the number of consecutive condition-violating polls.
This update improves the alert evaluation logic to ensure that skipped polls (caused by delayed data) are excluded from violation tracking. As a result, alerts are now only triggered when the required number of consecutive violating polls is met.
Cloud Monitoring
Enhanced Support for AWS Certificate Manager
LogicMonitor now supports certificate monitoring for AWS Certificate Manager.
When you add a certificate, LogicMonitor automatically detects it and start monitoring its health without additional configuration.
For more information, see Cloud Services and Resource Units in the product documentation.
Collector Settings
Legacy UI for Collector Settings Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the Collector settings, making the settings unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about the Collector Settings, see About the LogicMonitor Collector in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Dashboards
Dashboard Switch Renamed from “New UI Preview” to “New UI”
As part of LogicMonitor’s ongoing user interface improvements, the Dashboard switch previously named New UI Preview is renamed to New UI. This change reflects the transition of the updated interface from preview status to a supported, production-ready experience. There are no functional changes to the switch or user interface, and no action is needed. The updated switch displays automatically.
Fixed an issue that caused a Dashboard Report to display in the legacy UI when leveraging the Share Dashboard Report feature from Dashboards in the new UI.
Integrations
Legacy UI for LM Integrations Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the out-of-the-box (OOTB) LM Integrations, making the integrations unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about LM Integrations, see LogicMonitor Integrations Overview in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Modules
Enhanced Script NetScans Now Groovy 4 Compatible
The following Enhanced Script NetScans for various platforms are now Groovy 4 compatible. For more information, see the product documentation:
Improved vmware.vsphere.sdk Snippet
The updated vmware.vsphere.sdk snippet now explicitly closes vCenter API sessions after execution, ensuring proper resource cleanup. This enhancement helps prevent potential memory leaks and improves the stability of long-running discovery processes.
Improved vmware.vsphere.sdk Snippet
The updated vmware.vsphere.sdk snippet enhances discovery by detecting and processing the VirtualApp container type. This update enables the snippet to identify and expose additional VMware resources within VirtualApp groupings, improving coverage of complex virtualized environments.
Improved vmware.vsphere Snippet
The updated vmware.vsphere snippet improves discovery by identifying and evaluating the VirtualApp container type. This enhancement enables the snippet to surface additional VMware resources that were previously unexposed, increasing visibility into virtual infrastructure components.
Apache Groovy 4 Support for all LogicMonitor-Provided LogicModules
In a future release, LogicMonitor Collectors will no longer support Apache Groovy 2. All official LogicMonitor-provided modules will be compatible with Apache Groovy 4. To support this migration, LogicMonitor will be releasing updates to official LogicModules to be compatible with Groovy 4.
As a result of this migration, you must do the following:
- Validate any customized or community-provided modules to ensure compatibility
For more information about validating your customized modules, see Custom Module Groovy Migration Validation in the product documentation. - Install a module update for LogicMonitor-provided modules that have compatibility changes released.
For more information, see LogicMonitor Provided Modules Groovy 4 Migration in the product documentation. - Update Enhanced Script NetScans to Groovy 4 compatible scripts.
For more information, see Enhanced Script NetScans Now Groovy 4 Compatible in the Modules section of the Release Notes.
For more information on the timeline of this migration, see Apache Groovy 2 End-of-Life Milestone Public Announcement.
The LogicMonitor EA Collector 34.500 or later is compatible with Groovy 2 and Groovy 4. For more information about the EA Collector release, see the EA Collector 34.500 Release Notes.
Note: The LogicMonitor EA Collector 37.100, which is now available, will use Groovy 4 instead of Groovy 2. In accordance with Collector versioning, a stable EA version is designated as an optional general release (GD).
When running a module using Apache Groovy 4, and using the groovy.json.JsonSlurper(), the following exception was fixed with the LogicMonitor Collector version 36.200 or later:
exception:groovy.lang.RunTimeException: Unable to load FastStringService
Note: To mitigate this issue when running a module using Apache Groovy 4, ensure you upgrade to the LogicMonitor Collector version 36.200 or later
When running a module using Apache Groovy 4 with legacy classes in your script, the following exception can be thrown:
java.lang.RuntimeException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed
To mitigate this issue, migrate to JPMS-compliant package names. Making this change does not break backward compatibility with Groovy 2.
For example, the following script uses legacy classes:
import groovy.util.XmlSlurper
import groovy.util.XmlParser
def xmlSlurper = new XmlSlurper()
def xmlParser = new XmlParser()
You can replace the legacy classes with JPMS-compliant package names in Groovy 4 to resolve the exception, similar to the following:
import groovy.xml.XmlSlurper
import groovy.xml.XmlParser
def xmlSlurper = new XmlSlurper()
def xmlParser = new XmlParser()
Important: LogicMonitor is releasing updates to LogicModules to mitigate this issue for official LogicMonitor-provided modules.
When running a module using Apache Groovy 4, and the module includes an invalid type parameter for a data structure, the module throws the following exception:
java.lang.RuntimeException: org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
Important: LogicMonitor is releasing updates to LogicModules to mitigate this issue for official LogicMonitor-provided modules.
When running a module using Apache Groovy 4, the following exception can be thrown when using the GroovyScriptHelper to incorporate LogicMonitor snippets in your script:
exception:groovy.lang.MissingPropertyException: No such property
To mitigate this issue, adjust the way the class is imported, similar to the following:
import com.santaba.agent.groovy.utils.GroovyScriptHelper
import com.logicmonitor.mod.Snippets
def modLoader = GroovyScriptHelper.getInstance(GroovySystem.version).getScript("Snippets", Snippets.getLoader()).withBinding(getBinding())
Important:LogicMonitor is releasing updates to official LogicModules to mitigate this issue for LogicMonitor-provided modules.
When running a module using Apache Groovy 4, and using java.util.Date.format(), the following exception was resolved with the LogicMonitor Collector version 35.400 or later.
exception:groovy.lang.MissingMethodException: No signature of method: java.util.Date.format() is applicable for argument types: (String) values: [yyyy-MM-dd'T'HH:mm:ss z]
Note:To mitigate this issue when running a module using Apache Groovy 4, ensure you upgrade to the LogicMonitor Collector version 35.400 or later.
In Apache Groovy 4, the behavior of the push() method for the List class is reversed. In Apache Groovy 2.4, the push() method would add an item to the list, in Apache Groovy 4 push() will work on the first item of a List.
// v4 Behavior
def numbers = [1, 2, 3, 4]
numbers.push(5)
println numbers
// OUTPUT: [5, 1, 2, 3, 4]
// v2.4 Behavior
def numbers = [1, 2, 3, 4]
numbers.push(5)
println numbers
// OUTPUT: [1, 2, 3, 4, 5]
To mitigate this issue, migrate to using add() in place of push():
def numbers = [1, 2, 3, 4]
numbers.add("5")
println numbers
// OUTPUT: [1, 2, 3, 4, 5]
When running a module using Apache Groovy 4, the behavior of the pop() method is reversed. In Apache Groovy 2.4 the pop() behavior would remove the last item in a list, in Groovy 4 pop() will remove the first item in a list.
// v4 Behavior
def numbers = [1, 2, 3, 4]
println numbers.pop()
// OUTPUT: 1
// v2.4 Behavior
def numbers = [1, 2, 3, 4]
println numbers.pop()
// OUTPUT: 4
To mitigate this issue, migrate to using remove() in place of pop():
def numbers = [1, 2, 3, 4]
println numbers.remove(numbers.size() - 1)
// OUTPUT: 4
Important:LogicMonitor is releasing updates to LogicModules to mitigate this issue for official LogicMonitor-provided modules.
NetScan
Legacy UI for NetScans Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the NetScan settings, making these settings unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about NetScans, see NetScans Overview in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Product Documentation
Removal of Product Documentation Associated with the Legacy UI
Product documentation that applies to the legacy UI for the following has now been removed:
- Portal Information, Portal Settings, and Financial Settings in Account Information
- Alert Message Templates
- Alert Settings
- Audit Logs
- Collector Settings
- Global Ops Notes settings
- NetScan settings
- Out-of-the-box (OOTB) LM Integrations
- Reports page
- User Access settings
- User Message Templates
- Websites page
To access the product documentation that applies to the new UI, navigate to the Product Documentation landing page, and use the bookmarks panel to browse through the documentation as needed.
Note: As LogicMonitor continues to phase out the legacy UI, product documentation associated with the legacy UI functionality will also be removed. If you have bookmarked the documentation associated with the legacy UI, you will be automatically redirected to the new content.
Reports
Legacy UI for Reports Page Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the Reports page, making Reports unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about Reports, see Choosing a Report Type in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Resources
Resources Switch Renamed from “New UI Preview” to “New UI”
As part of LogicMonitor’s ongoing user interface improvements, the Resources switch previously named New UI Preview is renamed to New UI. This change reflects the transition of the updated interface from preview status to a supported, production-ready experience. There are no functional changes to the switch or user interface, and no action is needed. The updated switch displays automatically.
Security Settings
Enhanced Security for Email-Based 2FA with CAPTCHA Enforcement
To strengthen security and ensure consistency across verification methods, the email-based Two-Factor Authentication (2FA) flow now includes CAPTCHA enforcement. If you enter an incorrect one-time passcode (OTP) more than five times, a CAPTCHA challenge will appear. This applies to standard and remote login flows. For more information, see Two-Factor authentication access in the product documentation.
Added Passkey Support for Two-Factor Authentication (2FA)
LogicMonitor now supports for Passkey-based Two-Factor Authentication (2FA), enabling a more secure and streamlined login experience. You can now register a passkey such as a device-based biometric or platform authenticator, directly from your profile under Security > Passkey. Once registered, you can use the passkey as a 2FA method to login to LogicMonitor portal, offering a phishing-resistant alternative to traditional authentication codes.
For more information, see LoigicMonitor Passkey in product documentation.
Service Insights
Services Switch Renamed from “New UI Preview” to “New UI”
As part of LogicMonitor’s ongoing user interface improvements, the Services switch previously named New UI Preview is renamed to New UI. This change reflects the transition of the updated interface from preview status to a supported, production-ready experience. There are no functional changes to the switch or user interface, and no action is needed. The updated switch displays automatically.
Traces
Enhanced OpenTelemetry Collector Settings Page
LogicMonitor now enables you to perform the following management activities for your OpenTelemetry Collectors:
- Add SDT
- Collector down notifications (Escalation Chain Setup and Alert Acknowledgement)
- View related info and SDT in the bottom panel
To access this feature, navigate to Settings > OpenTelemetry Collectors.
For more information, see OpenTelemetry Collector Management.
User Access
Legacy UI for User Message Templates Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the User Message Templates, making the templates unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about the User Message Templates, see New User Message Templates in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Legacy UI for User Access Settings Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the User Access settings, making these settings unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about User Access, see the following in the product documentation:
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
Website Monitoring
Legacy UI for Websites Page Removal
As LogicMonitor continues to phase out the legacy UI, the New UI Preview switch has now been removed for the Websites page, making Website Monitoring unavailable using the legacy UI, and available in the new UI only. The new UI provides an enhanced user experience, improved performance, and security features.
For more information about this removal, see We’ve Upgraded! Websites, Reports, & Settings Now in the New LM UI in LM Community.
For the most up-to-date information about Websites, see Websites Page Overview in the product documentation.
Note: This removal does not impact the availability of earlier versions of the Dashboards or Resources pages.
If you have any questions or require assistance during this process, contact the Support team or your Customer Success Manager.
LogicModule Releases
New LogicModules
LogicModule Name | Details |
1 PropertySource: – addCategory_ExtremeNetworks | Applies the system.category ExtremeNetworks to devices that respond to the required MIB (EXTREME-SYSTEM-MIB) for monitoring. |
1 DataSource: – Microsoft_Azure_AKSClusterNodes | Added support for monitoring Azure Kubernetes Service Nodes. |
1 DataSource: – Microsoft_Azure_AKSClusterNamespaces | Added support for monitoring Azure Kubernetes Service (AKS) namespaces. |
Updated LogicModules
LogicModule Name | Details |
1 DataSource: – Cisco_CPU_SNMP | A conditional in the ActiveDiscovery script was updated to evaluate additional sources of SNMP CPU data, enabling the discovery of valid instances that were previously excluded by overly restrictive logic. |
1 DataSource: – Cato_SDWAN_API | Enhanced Debug Output for Cato_SDWAN_API Module. The collect script now prints all known Cato Socket devices with their unique identifiers using MAC addresses when available, or serial numbers. This helps customers and support teams to easily correlate devices with LogicMonitor resources. |
1 DataSource: – Aruba_EdgeConnect_SDWAN_Performance | Corrected the SwapUsed alert expression to ensure error alerts are properly triggered when thresholds are exceeded. |
1 DataSource: – LogicMonitor_Collector_NetflowMetrics | Tech notes now clarify that collector restarts may cause temporary spikes to the totalFlows datapoint. You can apply custom thresholds to avoid this. |
1 DataSource: – Microsoft_Azure_LogicApps | Added AvailabilityStateErrorAlerts complex datapoint that clears alerts when no data is sent from Azure. Removed alerting on AvailabilityStateError datapoint. |
1 DataSource: – Cisco_Meraki_Coterm_Licensing | Added support for the meraki.service.url giving customers the ability to set custom URL for different API versions, default is https://api.meraki.com/api/v1. |
1 DataSource: – Microsoft_Azure_VirtualDesktopSessionHosts | Improved the Status datapoint description to clarify Azure behavior. |
1 DataSource: – Nginx- | Resolved invalid metric type for Status datapoint. |
1 DataSource: – PaloAlto_FW_SystemResources | Tech notes now include details of a known issue with device version 10.2.13 not responding to the required CLI command for this module. To resolve this issue, update to version 10.1.14 or later. |
1 PropertySources: – Device_BasicInfo | Updated to better handle null MAC addresses and DNS failures. |
1 DataSource: – Microsoft_Office365_SharepointSiteDetails | Added AvailabilityStateErrorAlerts complex datapoint that will clear alerts when no data is sent from Azure. Removed alerting on AvailabilityStateError datapoint. Added new datapoint and graph, which captures the data offset in hours and made additional improvements for the Sharepoint Storage Usage graph. |
1 DataSource: – Cisco_Meraki_AccessPointSSIDs | Updated the label for transmission graphs usage. |
1 DataSource: – VMware_vSphere_Clusters | Updated the Memory Usage Percent graph legend label from CPU to memory for improved clarity. |
1 DataSource: – Microsoft_SQLServer_GlobalPerformance | Changed datapoint Deadlocks from derive to guage. Deadlock is already in deadlocks/sec units. |
1 DataSource: – Cisco_Nexus_Line_Card_Status | Fixed an issue with the complex datapoint AlertCode that caused it to alert on instances that reported no data. |
5 DataSources: – Microsoft_SQLServer_AlwaysOnAvailabilityGroups – Microsoft_SQLServer_AlwaysOnAvailabilityReplicas – Microsoft_SQLServer_AlwaysOnDatabaseReplicaCluster – Microsoft_SQLServer_AlwaysOnDatabaseReplicas – Microsoft_SQLServer_AlwaysOnDatabaseStatus | Introduced case-sensitive handling for SQL WHERE clauses, ensuring compatibility with SQL servers configured for case sensitivity. |
1 PropertySource: – addCategory_Cisco_Meraki_Device | Added support for MT11 temperature sensor model detection. |
24 DataSources: – Apache_Solr_DocumentCache_API – Apache_Solr_FieldValueCache_API – Apache_Solr_FileSystem_API – Apache_Solr_FilterCache_API – Apache_Solr_HTTPShardHandler_API – Apache_Solr_IndexSearcher_API – Apache_Solr_Jetty_GlobalStats_API – Apache_Solr_Jetty_QueuedThreadPool_API – Apache_Solr_Jetty_Requests_API – Apache_Solr_Jetty_Responses_API – Apache_Solr_MasterReplication_API – Apache_Solr_QueryResultCache_API – Apache_Solr_QueryScopes_API – Apache_Solr_SlaveReplication_API – Apache_Solr_StandardRequestHandler_API – Apache_Solr_TransactionLogs_API – Apache_Solr_UpdateHandler_API – Axcient_Backup_Jobs – EMC_ECS_Disks – EMC_ECS_Node – EMC_ECS_Nodes – EMC_ECS_Processes – EMC_ECS_ReplicationGroups – EMC_ECS_StoragePools | Modules are now compatible with both Groovy 2 and Groovy 4. Updates include support for the new LazyMap package in Groovy 4. A groovy4 tag has been added to make it easier to filter and update compatible modules in the UI. |
15 DataSources: – Apache_Solr_QueryResultCache – Axcient_Backup_Jobs – Cisco_Entity_Sensors – Cisco_Firepower_CPU – Cisco_Firepower_FMCFabricPathPhysicalInterfaces – Cisco_Firepower_FMCPhysicalInterfaces – Cisco_IPSec_PolicyBasedTunnels – Citrix_XenApp_UserExperience – EMC_ScaleIO_Volumes – IPMI Full Sensors – Nimble_Array_Info – Tomcat_Sessions – VMware_NSXT_ClusterNodesNetworkStatus – VMware_NSXT_IPPools – VMware_NSXT_TransportZones 8 PropertySources: – ConfigCheck_4_Interactive – ConfigCheck_5_Telnet – Device_BasicInfo – EMC_VMAX_Info – HashiCorp_Nomad_Info – VMware_vCenter_Autotune – addCategory_MSSQL – addCategory_Nomad 5 ConfigSources: – SSH_Interactive_Dynamic – SSH_Interactive_Standard – SonicWall_SonicOS – Telnet_Interactive_Dynamic – Telnet_Interactive_Standard | Added the groovy4 tag to simplify filtering in the UI when updating modules for Groovy 4 compatibility. |
2 PropertySources: – addCategory_OracleDatabase – Oracle_Database_Names | Updated to use lm.remote snippet for linux devices. |