ScientiaMobile WURFL .NET API Change Log

1.13.0.0 - Feb 28th, 2024

  • Added support for
    • New robots, spiders and crawlers
    • Emerging custom user-agents for Android, iOS and other platforms
  • Expanded support for
    • SmartTVs, STBs and other OTT devices
    • User-Agent Client Hints
    • App detection via is_app and advertised_app_name
    • Digital assistant and connected speaker devices
    • Game Consoles
  • Fixed behavior for
    • Spark Email Client (iOS/macOS) now defaults to a desktop detection

1.12.11.1 - Jan 30th, 2024

  • Added support for .NET8.0

1.12.11.0 - Oct 23rd, 2023

  • Added support for
    • new SmartTVs, STBs and other OTT devices
    • new robots, spiders and crawlers
  • Expanded support for
    • custom user-agents for Android, iOS and other platforms
    • User-Agent Client Hints
    • app detection via is_app and advertised_app_name
    • iOS and iPadOS versions and devices
    • Tizen based devices
  • Fixed behavior for
    • Firefox on Android will now use "6.0" as the default/fallback OS version in cases where an Android version is absent

1.12.10.1 - Aug 31st, 2023

  • Fixed potential NullReferenceException in GetDeviceForRequest
  • Fixed advertised_app_name virtual capability evaluation for certain Pandora apps

1.12.10.0 - June 27th, 2023

  • Added support for
    • new robots, spiders and crawlers
    • new SmartTVs, STBs and other OTT devices
  • Expanded support for
    • custom user-agents for Android, iOS and other platforms
    • app detection via is_app and advertised_app_name
    • Chromium based browsers and web clients
  • Fixed behavior for
    • User-Agents and HTTP Requests with invalid or missing Android versions will now return "6.0" as the default/fallback Android version. The previously returned version was "4.0".
  • Note: We periodically update the definition of what we consider to be a smartphone. These changes affect the is_smartphone and form_factor capabilities. This version of the WURFL API makes the following change:
    • Minimum OS version requirements increased to iOS 12, Android 8.0

1.12.9.0 - March 14th, 2023

  • Added support for
    • new robots, spiders and crawlers
    • custom user-agents for Android, iOS and other platforms
  • Expanded support for
    • SmartTVs, STBs and other OTT devices
    • User-Agent Client Hints
    • App detection via is_app and advertised_app_name
    • iOS and iPadOS versions and devices
    • Android devices

1.12.8.0 - Nov 30th, 2022

  • Added support for .NET7.0
  • Versions 4.5.2, 4.6.1 and .NET5.0 are end of life and unsupported - please upgrade to a newer supported version
  • Added support for
    • new robots, spiders and crawlers
    • custom user-agents for Android, iOS and other platforms
  • Expanded support for
    • Android devices
    • SmartTVs, STBs and other OTT devices
    • Chromium based browsers and web clients
    • App detection via is_app and advertised_app_name
    • iOS and iPadOS versions and devices
    • User-Agent Client Hints

1.12.7.0 - Sept 21th, 2022

  • Added support for
    • new robots, spiders and crawlers
    • new email clients
  • Expanded support for
    • SmartTVs, STBs and other OTT devices
    • Digital assistant and connected speaker devices
    • Fire OS devices
    • App detection via is_app and advertised_app_name
    • Mobile and desktop applications
    • iOS and iPadOS versions and devices

1.12.6.0 - May 31, 2022

  • .NET Framework 4.7.2 and 4.6.2 are now supported
  • .NET Framework 4.5.2 support will be removed in a future release
  • Added IWURFLManager method BuildUserAgentFromClientHints
  • Added support for
    • custom user-agents for Android, iOS and other platforms
    • new SmartTVs, STBs and other OTT devices
    • device level detection for certain Roku UAs
  • Expanded support for
    • User-Agent Client Hints
    • ChromeOS devices
    • is_smartphone and form_factor capabilities
    • App detection via is_app and advertised_app_name
    • Chromium based browsers and web clients
    • iOS and iPadOS versions and devices Note: We periodically update the definition of what we consider a Smartphone. These changes affect the is_smartphone and form_factor capabilities. This version of the WURFL API makes the following changes:
    • Horizontal Resolution requirements increased to 540 pixels
    • Minimum OS version requirements increased to iOS 9, Android 6.0
    • Removed RIM OS and Windows Phone OS from being considered as Smartphone OS'es
    • Added HarmonyOS

1.12.5.0 - March 1, 2022

  • Added support for
    • new robots, spiders and crawlers
    • custom user-agents for Android, iOS and other platforms
  • Added methods: bool WURFLManager.IsUaFrozen(string useragent) HeaderQuality WURFLManager.HeaderQuality(WURFLRequest wurflRequest) HeaderQuality WURFLManager.HeaderQuality(HttpRequest request)
  • Expanded support for
    • User-Agent Client Hints
    • SmartTVs, STBs and other OTT devices
    • App detection via is_app and advertised_app_name Note: Support for User-Agent Client Hints is now turned on by default.

1.12.4.0 - November 24, 2021

  • Added support for
    • new robots, spiders and crawlers
  • Expanded support for
    • SmartTVs, STBs and other OTT devices
    • Custom user-agents for Android, iOS and other platforms
    • App detection via is_app and advertised_app_name
    • Certain Windows 11 User-Agents
    • iOS and iPadOS versions and devices
    • KaiOS based devices
    • Tizen based devices
    • Fixed behavior for ExtraHeadersExperimental
    • Removed references to Ionic.Zip (not used anymore)

1.12.3.0 - September 29, 2021

  • Added support for
    • new robots, spiders and crawlers
  • Expanded support for
    • App detection via is_app and advertised_app_name
    • SmartTVs, STBs and other OTT devices
    • Certain User-Agents from the Roku OS platform
    • iOS and iPadOS versions and devices
  • Fixed behavior for
    • Google Read Aloud Assistant: this service is a text to speech assistant and will no longer be categorized as a robot

1.12.2.0 - July 19, 2021

  • Added support for
    • Chromium based browsers and web clients
  • Expanded support for
    • Android devices
    • App detection via is_app and advertised_app_name
    • Certain non-standard app based user-agents
    • SmartTVs, STBs and other OTT devices
    • Custom user-agents for Android, iOS and other platforms

1.12.1.0 - May 24, 2021

  • Added support for
    • new robots, spiders and crawlers
  • Expanded support for
    • SmartTVs, STBs and other OTT devices

1.12.0.0 - February 26, 2021

  • Added support for
    • new robots, spiders and crawlers
    • Chromium based browsers and web clients
  • Expanded support for
    • SmartTVs, STBs and other OTT devices
    • KaiOS based devices
    • App detection via is_app and advertised_app_name
    • game consoles
    • Firefox based browsers
  • Fixed behavior for
    • User-Agents with invalid Android versions will now consistently return the default/fallback Android version (4.0)

1.11.10.0 - November 23, 2020

  • Added support for
    • Chromium based browsers and web clients
  • Expanded support for
    • SmartTVs, STBs and other OTT devices
    • App detection via is_app and advertised_app_name
    • iOS and macOS webviews and apps
    • iOS and iPadOS versions and devices
    • Android TV devices
  • Compatibility extended to
    • .Net 5.0

1.11.9.0 - September 14, 2020

  • Added support for
    • new robots, spiders and crawlers
  • Expanded support for
    • SmartTVs, STBs and other OTT devices
    • iOS and macOS webviews and apps
    • App detection via is_app and advertised_app_name

1.11.8.0 - July 1, 2020

  • Compatibility extended to
    • .Net Framework 4.8
    • .Net Core 2.1
    • .Net Core 3.1
  • Added support for
    • new robots, spiders and crawlers
  • Expanded support for
    • SmartTVs, STBs and other OTT devices
    • Android devices
    • iOS versions and devices
    • App detection via is_app and advertised_app_name

1.11.7.1 - May 4, 2020

  • Added support for iOS 13.5 hardware mappings

1.11.7.0 - April 30, 2020

  • Added support for
    • new digital assistant and connected speaker devices
  • Expanded support for
    • UC Browser User-Agents
    • iOS versions and devices
    • App detection via is_app and advertised_app_name
    • SmartTVs, STBs and other OTT devices
    • Chromium based browsers and web clients

1.11.6.0 - February 17, 2020

  • Expanded support for
    • App detection via is_app and advertised_app_name
    • Web browsers
    • new iOS versions and devices
    • SmartTVs, STBs and other OTT devices
  • Fixed behavior for
    • Android User-Agents

1.11.5.0 - December 4, 2019

  • Added support for
    • new robots, spiders and crawlers
  • Expanded support for
    • new iOS versions and devices
    • App detection via is_app and advertised_app_name
    • Chromium based browsers and web clients
    • SmartTVs, STBs and other OTT devices
    • Fire OS TV devices
  • Fixed behavior for
    • UC Browser User-Agents
    • Samsung Browser: Both Dex and Samsung browsers will now return "Samsung Browser" for the advertised_browser_name virtual capability. This is because both browsers will send a similar HTTP request in desktop mode/requesting a desktop User-Agent.
    • Vivaldi: Vivaldi web browser will now return "Vivaldi" and not "Vivaldi browser" for the advertised_app_name virtual capability. This is to be consistent with the browser's branding.

1.11.4.0 - September 16, 2019

  • Expanded support for
    • App detection via is_app and advertised_app_name
    • Chromium based browsers and web clients
    • SmartTVs, STBs and other OTT devices
    • KaiOS based devices
    • certain Xiaomi devices

1.11.3.0 - June 17, 2019

  • Expanded support for
    • SmartTVs, STBs and other OTT devices
    • App detection via is_app and advertised_app_name
    • Chromium based browsers
    • Digital Assistant devices
    • new iOS versions and devices
  • Fixed behavior for
    • UC Browser User-Agents
    • bot, spider and crawler detection

1.11.2.0 - April 17, 2019

  • Added support for

    • new robots, spiders and crawlers
  • Expanded support for

    • SmartTVs, STBs and other OTT devices
    • App detection via is_app and advertised_app_name
    • Google Assistant based devices
    • Chromium based browsers
  • Fixed behavior for

    • bot, spider and crawler detection

1.11.1.0 - February 11, 2019

  • Added support for

    • new robots, spiders and crawlers
    • new Chromium and Gecko based browsers
  • Expanded support for

    • App generated UAs on Android and iOS platforms
    • App detection via is_app and advertised_app_name
    • STBs and other OTT devices
    • SmartTVs, STBs and other OTT devices
    • Chromium based browsers
    • Google Assistant based devices
  • Fixed behavior for

    • is_app and is_app_webview behavior under certain conditions where additional HTTP headers are available
    • Android model name extraction for certain User-Agents
    • certain Kindle user agents

1.11.0.0 - December 5, 2018

  • Added support for
    • new Chromium based browsers
    • new virtual capability - pixel_density
  • Expanded support for
    • app detection via is_app, is_app_webview and advertised_app_name
    • Xbox game consoles
    • web automation frameworks and libraries
    • Internet Explorer and Edge browsers
    • Yahoo Mail
    • robots, crawlers and spiders
    • new Apple devices
    • Gmail
  • Fix bug on GetVirtualCapabilities() method (controlcap_generalized_browser_type not available due to restrictions in the loaded WURFL data)

1.10.0.0 - September 24, 2018

Mod: Potentially breaking change: Please note that this version standardizes tvOS return values for advertised_device_os and advertised_browser capabilities and aligns them to Apple's branding practices. "TV OS" will henceforth be called "tvOS" and "TV OS App" will be renamed to "tvOS App" Add: Support for new Chromium and Gecko based browsers Enh: Expanded support for app detection via is_app and advertised_app_name Enh: Expanded support for KaiOS based devices Enh: Expanded support for PlayStation devices Enh: Expanded support for Apple TV devices

1.9.5.0 - July 23, 2018

Enh: Aligned some return values for the advertised_device_os virtual capability to align with device_os static capability - "Bada" is now "Bada OS" - "Nokia Series 40" is now "S40 OS" - "Symbian" is now "Symbian OS" Add: Support for Certain Android P user-agents Add: Support for Certain TV OS User-Agent formats Add: Support for Digital Assistants Add: Support for New Opera browser versions Add: Support for New Tizen versions Add: Support for Upcoming Android and iOS versions Add: Support for New tvOS versions Enh: Improved support for is_app capability for SmartTV devices Enh: Expanded app detection support via is_app and advertised_app_name Enh: Optimized model name extraction for certain Android apps that send irregular User-Agent structures

1.9.4.0 - May 21, 2018

Add: Support for upcoming iOS versions Add: Support for MIUI Browser Add: Support for Quark Browser Add: Support for Avast Secure Enh: Improved support for Apple iPad (6th gen) Enh: Improved support for Sony and Vizio Smart TVs Enh: Improved support for Roku devices Enh: Improved support for App name detection (advertised_app_name) Enh: Improved support for Microsoft Office Enh: Improved support for Yandex browser Enh: Improved support for Baidu Browser Enh: Improved support for Apple Core Media User-Agents Enh: Improved support for Facebook Messenger Mod: Deprecation of some methods that will be removed in a future release

1.9.3.1 - April 23, 2018

Fix: Detection performance regression (Roku) Fix: Bug on calculation of some Virtual Capabilities when WURFL cache is enabled Enh: Added new virtual capability - generalized_browser_type Enh: Added new virtual capability - generalized_os_brand Enh: Deprecation of WURFLManager.GetAllMandatoryCapabilities(). Since 1.8.0.0 wurfl engine takes care of loading/checking that vcap needed static capabilities are present.

1.9.3.0 - March 19, 2018

Potentially breaking change: The definition of what we consider smartphones is changing with this release. Please read this article for more details on what is changing and why. https://www.scientiamobile.com/keeping-smartphones-smart Add: Support for KaiOS Add: Support for Tizen 4.0 Add: Support for some Android media players Enh: Improved detection of Robots and Crawlers Enh: Improved detection of Mobile and desktop applications Enh: Improved detection of Smart-TVs Enh: Improved detection of SmartPhones Enh: Improved detection of Game consoles

Version 1.9.2.0 - December 18, 2017

Add: Support for Upcoming iOS versions Add: Support for Upcoming Tizen versions Add: Support for Extracting model numbers for desktop devices under certain conditions Ehn: Improved detection of Opera Mobi and Tablet on Android Ehn: Improved detection of Requests from UCBrowser's U2 engine

Version 1.9.1.1 - November 15, 2017

Enh: Improved engine load phase

Version 1.9.1.0 - November 2, 2017

Breaking: The default version of Android is now 4.0. Undetecteable/corrupted Android User-Agents will now return a more appropriate OS version.
Ehn: Improved detection of Ehn: Improved detection of Fire OS Ehn: Improved detection of iPhone hardware Ehn: Improved detection of Apps Ehn: Improved detection of Huawei devices Ehn: Improved detection of Firefox on Android User-Agents
Ehn: Improved detection of Android and iOS UCbrowser User-Agents
Ehn: Improved detection of Edge browser
Add: Support for Upcoming iOS versions Add: Support for Upcoming Android versions Add: Support for Edge browser on iOS and Android Add: Support for Steam in-game requests Add: Support for Firefox Focus Add: Support for Yandex Desktop Add: Additional validation for advertised_device_os

Version 1.9.0.1 - October 13, 2017

Ehn: .NETCore 2.0 port.

Version 1.9.0.0 - June 29, 2017

Ehn: Decommissioning of WURFLManager's MatchMode options Add: Support for Epiphany detection Add: Support for iOS 11 Add: Support for Samsung Dex Add: Support for Samsung Browser Add: Support for Tizen 3.0 Add: Stripping of non-printable characters from the User-Agent Ehn: Improved detection of Android Ehn: Improved detection of Bots Ehn: Improved detection of Apps Ehn: Improved detection of Amazon Silk Browser Ehn: Improved detection of CFNetwork User-Agents

Version 1.8.4.0 - April 6, 2017

Add: detection of Nintendo Switch Add: detection of Email client Ehn: improved detection of devices with encoded user agents Fix: Android 4.4/5.x mistakenly classified as apps

Version 1.8.3.3 - March 13, 2017

Add: GetDeviceForRequest method that uses System.Web.HttpRequest. Refactored WURFLRequest factories and UserAgentResolvers accordingly Ehn: New constructor in WURFLUPdater that takes a WURFLManager, also added new updater methods PerformUpdate() and PerformPeriodicUpdate() and deprecated old ones.

Version 1.8.3.2 - February 16, 2017

Ehn: various WURFLUpdater improvements

Version 1.8.3.1 - February 2, 2017

Fix: updated changelog

Version 1.8.3.0 - February 1, 2017

Add: support for upcoming iOS and Android versions Add: support for new Microsoft Edge browsers Ehn: detection of some Nintendo devices running Access/Netfront browsers Ehn: detection of macOS User-Agents Ehn: improved checks on updater module

Version 1.8.2.0 - November 22, 2016

Enh: Added new virtual capability - advertised_app_name Enh: Improved detection of MSIE browsers with alphanumeric versions Enh: Improved detection of UAs originating from Google Search app on iOS Add: iOS 10.2 hardware IDs Add: Updated support for Microsoft Edge and Opera browsers Fix: in robot, Kindle and Windows Phone detection

Version 1.8.1.2 - November 7, 2016

Ehn: Wurfl Updater - Triggered first update immediately after updater launch. Fix: Wurfl Updater - cleaned cache on reload

Version 1.8.1.1 - October 10, 2016

Add: WURFLUpdater module

Version 1.8.1.0 - September 26, 2016

From this release we are be compiling with dotNET v4.5.2 compatibility. We will be removing dotNET 2.0/3.0 support in the next releases so we suggest to upgrade your dotNET framework as soon as possible. Enh: Review of patch file load process Enh: DeviceNotDefinedException is thrown when GetDeviceById() method is called with unexistent deviceid Enh: WurflUncosistencyException is thrown when a patch redefine an existent device with wrong user_agent/fall_back attributes Add: Android 7.1 devices Add: Iphone 7 and 7 plus device Add: support for Amazon mobile app

Version 1.8.0.4 - August 19, 2016

Fix: Null pointer exception calling GetVirtualCapabilities() method for some devices

Version 1.8.0.3 - August 17, 2016

Enh: Performance improvements

Version 1.8.0.2 - August 9, 2016

Fix: Consistency exception loading wurfl-latest.zip

Version 1.8.0.1 - August 1, 2016

Fix: Runtime FatalExecutionEngineError exception

Version 1.8.0.0 - July 26, 2016

Add: Support for url-encoded UAs Add: Chinese Android detection Add: Android 7 detection Enh: Better iPod Touch detection Enh: Better Facebook and Mobile App detection Enh: Mandatory Capabilities are automatically loaded during engine load Enh: Major performance improvements Enh: New enumerators for caps/mandatory/vcaps

Version 1.7.1.1 - June 15, 2016

Fix: Duplicated key exception when using WURFLCache in multithreaded environments

Version 1.7.1.0 - April 14, 2016

Add: Palemoon Browser detection Add: Bravia, SmartTV detection Add: iOS 10 and new iOS devices detection Add: Desktop App detection Fix: IIS detection issues Fix: controlcap mechanism

Version 1.7.0.0 - February 8, 2016

Add: WURFL.XML deviceIds consistency check Add: New virtual capability: device_name Enh: Improved detection of Apple devices Enh: Improved detection Edge browser

Version 1.6.4.1 - December 21, 2015

Fix: Added mandatory capabilities for advertised capabilities

Version 1.6.4.0 - December 4, 2015

Enh: Improved detection of Nokia devices Enh: Improved detection of Android User-Agents (UAs) without model names Enh: Improved detection of Certain feature phones running Opera Mini Enh: Improved detection of SmartTVs Enh: Improved detection of UAs from Android apps Enh: Improved detection of Blackberry Playbook Enh: Improved detection of Bot UAs Enh: Improved detection of Firefox on iOS Enh: Improved internal UA matching methods Enh: Improved LRU cache logic

Version 1.6.3.0 - October 19, 2015

Enh: Improved detection of Apple devices Enh: Improved detection of Bots Enh: Improved detection of Androids Enh: Improved detection of Edge browser Enh: Improved virtual capability computation for Safari on iOS Enh: Improved virtual capability computation for Samsung Browser Enh: Improved virtual capability computation for BlackBerry 10 Enh: Improved virtual capability computation for Mac OS X Enh: Improved is_app_webview virtual capability computation for Android 5.X Enh: Improved CFNetwork UAs detection Add: Improved LRU and DoubleLRU cache

Version 1.6.2.0 - August 20, 2015

Enh: Improved detection in VC tool for MSIE 12/Edge Enh: Improved detection of Windows Phone Enh: Improved detection of Bots

Version 1.6.1.0 - July 16, 2015

Enh: Improved detection in VC tool for Baidu browser Enh: Improved detection in VC tool for iOS Enh: Improved iOS device detection Enh: Improved Opera browser detection Enh: Improved FirefoxOS detection

Version 1.6.0.1 - April 29, 2015

Enh: Load Time and Detection performances improvement Add: Possibility to set cache size Enh: Code Refactoring

Version 1.6.0.0 - April 3, 2015

Add: Android 5.1 support Add: MSIE 12/Edge 12.0 support Add: Tizen 2.3 support Add: Trove Bot detection Add: Windows Phone 10 support Add: New is_phone and is_app_webview virtual capabilities Enh: Improved WURFL detection performances Enh: Improved detection of Android, CFNetwork, Chromium, Firefox OS, MSIE 12/Edge, Opera, SmartBrowser, SmartTV, UCWebBrowser, Wii

Version 1.5.3.0 - December 12, 2014

Add: 360 Browser (for Desktop and Android) detection in VC tool Add: Opera on Android detection in VC tool Add: Opera on iOS detection in VC tool Add: iOS 8.1 and 8.2 WURFL hardware IDs Add: Windows 10 detection Enh: LD Algorithm Enhancement

Version 1.5.2.1 - September 23, 2014

Enh: improved form_factor virtual capability