FiftyOne.DeviceDetection.Shared 4.5.0-alpha.164

This is a prerelease version of FiftyOne.DeviceDetection.Shared.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package FiftyOne.DeviceDetection.Shared --version 4.5.0-alpha.164
                    
NuGet\Install-Package FiftyOne.DeviceDetection.Shared -Version 4.5.0-alpha.164
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="FiftyOne.DeviceDetection.Shared" Version="4.5.0-alpha.164" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="FiftyOne.DeviceDetection.Shared" Version="4.5.0-alpha.164" />
                    
Directory.Packages.props
<PackageReference Include="FiftyOne.DeviceDetection.Shared" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add FiftyOne.DeviceDetection.Shared --version 4.5.0-alpha.164
                    
#r "nuget: FiftyOne.DeviceDetection.Shared, 4.5.0-alpha.164"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package FiftyOne.DeviceDetection.Shared@4.5.0-alpha.164
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=FiftyOne.DeviceDetection.Shared&version=4.5.0-alpha.164&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=FiftyOne.DeviceDetection.Shared&version=4.5.0-alpha.164&prerelease
                    
Install as a Cake Tool

51Degrees Device Detection Engines

51Degrees Pipeline API

Developer Documentation

Introduction

This repository contains the device detection engines for the .NET implementation of the Pipeline API.

The specification is also available on GitHub and is recommended reading if you wish to understand the concepts and design of this API.

Dependencies

Visual Studio 2022 or later is recommended. Although Visual Studio Code can be used for working with most of the projects.

The core device detection projects are written in C and C++. The Pipeline engines are written in C# and target .NET Standard 2.0.3. Example and test projects mostly target .NET 6.0 though in some cases, projects are available targeting other frameworks.

For runtime dependencies, see our dependencies page. The ci/options.json file lists the tested and packaged .NET versions and operating systems automatic tests are performed with. The solution will likely operate with other versions.

Data

The API can either use our cloud service to get its data or it can use a local (on-premise) copy of the data.

Cloud

You will require a resource key to use the Cloud API. You can create resource keys using our configurator, see our documentation on how to use this.

On-Premise

In order to perform device detection on-premise, you will need to use a 51Degrees data file. This repository includes a free, 'lite' file in the 'device-detection-data' sub-module that has a significantly reduced set of properties. To obtain a file with a more complete set of device properties see the 51Degrees website. If you want to use the lite file, you will need to install GitLFS.

On Linux:

sudo apt-get install git-lfs
git lfs install

Then, navigate to 'device-detection-cxx/device-detection-data' and execute:

git lfs pull

Solutions and projects

  • FiftyOne.DeviceDetection - Device detection engines and related projects.
    • FiftyOne.DeviceDetection - Contains device detection engine builders.
    • FiftyOne.DeviceDetection.Cloud - A .NET engine which retrieves device detection results by consuming the 51Degrees cloud service. This can be swapped out with either the hash or pattern engines seamlessly.
    • FiftyOne.DeviceDetection.Hash.Engine.OnPremise - .NET implementation of the device detection hash engine. CMake is used to build the native binaries.
    • FiftyOne.DeviceDetection.Shared - Shared classes used by the device detection engines.

Installation

Nuget

The easiest way to install is to use NuGet to add the reference to the package:

Install-Package FiftyOne.DeviceDetection

Build from Source

Device detection on-premise uses a native binary (i.e. compiled from C code to target a specific platform/architecture). The NuGet package contains several binaries for common platforms. However, in some cases, you'll need to build the native binaries yourself for your target platform. This section explains how to do this.

Pre-requisites
  • Install C build tools:
    • Windows:
      • You will need either Visual Studio 2022 or the C++ Build Tools installed.
        • Minimum platform toolset version is v143
        • Minimum Windows SDK version is 10.0.18362.0
    • Linux/MacOS:
      • sudo apt-get install g++ make libatomic1
  • If you have not already done so, pull the git submodules that contain the native code:
    • git submodule update --init --recursive

Visual studio should now be able to build the native binaries as part of its normal build process.

Packaging

You can package a project into NuGet *.nupkg file by running a command like:

dotnet pack [Project] -o "[PackagesFolder]" /p:PackageVersion=0.0.0 -c [Configuration] /p:Platform=[Architecture]
⚠️ Notes on packaging FiftyOne.DeviceDetection.Hash.Engine.OnPremise

📝 Using AnyCPU might prevent the unmanaged (C++) code from being built into .Native.dll library. Use x86/x64/arm64 specifically.

📝 If creating cross-platform package from multiple native dlls, put all 6x FiftyOne.DeviceDetection.Hash.Engine.OnPremise.Native.dll into respective folders:

../
    macos/
        arm64/
        x64/
    linux/
        x64/
        x86/
    windows/
        x64/
        x86/

and add to the packaging command:

/p:BuiltOnCI=true

related CI scripts:

  • BuiltOnCI var:
    • [https://github.com/51Degrees/common-ci/blob/main/dotnet/build-project-core.ps1]
    • [https://github.com/51Degrees/common-ci/blob/main/dotnet/build-package-nuget.ps1]
    • [https://github.com/51Degrees/common-ci/blob/main/dotnet/build-project-framework.ps1]
    • [https://github.com/51Degrees/device-detection-dotnet/blob/main/ci/run-performance-tests-console.ps1]
  • Copying native binaries:
    • [https://github.com/51Degrees/device-detection-dotnet/blob/main/ci/build-package.ps1]
Strong naming

We currently do not strong name assemblies due to downsides for developers. The main of which is that .NET Framework on Windows enables strict loading of assemblies once an assembly is strong named. A strong-named assembly reference must exactly match the version of the loaded assembly, forcing developers to configure binding redirects when using the assembly.

If it is absolutely critical for your use case to integrate a strong-named assembly - please create a feature request issue.

Examples

Examples can be found in device-detection-dotnet-examples repository.

Tests

Tests can be found in the Tests/ folder. These can all be run from within Visual Studio or by using the dotnet test command line tool.

Some tests require additional resources to run. These will either fail or return an 'inconclusive' result if these resources are not provided.

  • Some tests require an 'Enterprise' data file. This can be obtained by purchasing a license.
    • Once available, the full path to this data file must be specified in the DEVICEDETECTIONDATAFILE environment variable.
  • Tests using the cloud service require resource keys with specific properties to be provided using environment variables:
    • The SUPER_RESOURCE_KEY environment variable should be populated with a key that includes all properties. A license is required in order to access some properties.

Project documentation

For complete documentation on the Pipeline API and associated engines, see the 51Degrees documentation site.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 was computed.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (3)

Showing the top 3 NuGet packages that depend on FiftyOne.DeviceDetection.Shared:

Package Downloads
FiftyOne.DeviceDetection.Hash.Engine.OnPremise

51Degrees Device Detection parses HTTP headers to return detailed hardware, operating system, browser, and crawler information for the devices used to access your website or service. This package is an implementation of the device detection hash engine. CMake is used to build the native binaries.

FiftyOne.DeviceDetection.Cloud

51Degrees Device Detection parses HTTP headers to return detailed hardware, operating system, browser, and crawler information for the devices used to access your website or service. This package retrieves device detection results by consuming the 51Degrees cloud service.

FiftyOne.DeviceDetection.Pattern.Engine.OnPremise

The 51Degrees Pipeline API provides a fast, modern architecture for consuming real-time digital data services. Device detection will tell detailed properties about the hardware and software of devices that are being used to access your website or service. The 'Pattern' algorithm is designed for flexibility and accuracy over other considerations.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.5.0-alpha.183 45 10/4/2025
4.5.0-alpha.181 107 10/3/2025
4.5.0-alpha.180 135 10/1/2025
4.5.0-alpha.179 217 9/25/2025
4.5.0-alpha.178 400 9/16/2025
4.5.0-alpha.176 424 9/3/2025
4.5.0-alpha.175 246 8/30/2025
4.5.0-alpha.174 209 8/29/2025
4.5.0-alpha.171 269 8/26/2025
4.5.0-alpha.170 169 8/21/2025
4.5.0-alpha.169 133 8/20/2025
4.5.0-alpha.168 142 8/12/2025
4.5.0-alpha.167 199 8/7/2025
4.5.0-alpha.165 202 8/6/2025
4.5.0-alpha.164 184 8/5/2025
4.5.0-alpha.163 97 7/30/2025
4.5.0-alpha.162 500 7/22/2025
4.5.0-alpha.161 48 7/19/2025
4.5.0-alpha.160 123 7/16/2025
4.5.0-alpha.159 420 7/10/2025
4.5.0-alpha.158 126 7/9/2025
4.5.0-alpha.157 123 7/8/2025
4.5.0-alpha.156 146 6/25/2025
4.5.0-alpha.155 289 6/18/2025
4.5.0-alpha.154 172 6/14/2025
4.5.0-alpha.153 150 6/4/2025
4.5.0-alpha.152 142 5/28/2025
4.5.0-alpha.151 146 5/22/2025
4.5.0-alpha.150 146 5/20/2025
4.5.0-alpha.149 243 5/13/2025
4.5.0-alpha.148 72 5/10/2025
4.5.0-alpha.147 138 5/9/2025
4.5.0-alpha.146 153 5/8/2025
4.5.0-alpha.144 154 5/7/2025
4.5.0-alpha.142 153 5/5/2025
4.5.0-alpha.131 201 4/15/2025
4.5.0-alpha.128 162 4/3/2025
4.5.0-alpha.127 165 4/3/2025
4.5.0-alpha.126 157 4/2/2025
4.5.0-alpha.125 3,482 4/1/2025
4.5.0-alpha.124 145 3/28/2025
4.5.0-alpha.123 129 3/27/2025
4.5.0-alpha.122 459 3/26/2025
4.5.0-alpha.121 136 3/21/2025
4.5.0-alpha.120 144 3/18/2025
4.5.0-alpha.119 165 3/11/2025
4.5.0-alpha.118 182 3/7/2025
4.5.0-alpha.117 217 3/6/2025
4.5.0-alpha.116 199 3/4/2025
4.5.0-alpha.115 92 2/27/2025
4.5.0-alpha.114 97 2/27/2025
4.5.0-alpha.112 94 2/25/2025
4.5.0-alpha.111 97 2/21/2025
4.5.0-alpha.110 125 2/18/2025
4.5.0-alpha.109 104 2/14/2025
4.5.0-alpha.108 111 2/12/2025
4.5.0-alpha.107 102 2/11/2025
4.5.0-alpha.106 104 2/9/2025
4.5.0-alpha.105 97 2/8/2025
4.5.0-alpha.104 92 2/7/2025
4.5.0-alpha.103 86 2/6/2025
4.5.0-alpha.102 102 2/6/2025
4.5.0-alpha.101 107 2/4/2025
4.5.0-alpha.99 2,658 1/30/2025
4.5.0-alpha.98 122 1/29/2025
4.5.0-alpha.97 177 1/26/2025
4.5.0-alpha.96 120 1/25/2025
4.5.0-alpha.94 115 1/24/2025
4.5.0-alpha.92 84 1/23/2025
4.5.0-alpha.91 90 1/22/2025
4.5.0-alpha.84 211 1/15/2025
4.5.0-alpha.83 81 1/14/2025
4.5.0-alpha.81 3,014 1/14/2025
4.5.0-alpha.79 101 1/12/2025
4.5.0-alpha.77 166 1/9/2025
4.5.0-alpha.75 82 1/8/2025
4.5.0-alpha.73 243 1/3/2025
4.5.0-alpha.71 99 12/31/2024
4.5.0-alpha.67 679 12/24/2024
4.5.0-alpha.65 98 12/23/2024
4.5.0-alpha.61 107 12/21/2024
4.5.0-alpha.59 96 12/20/2024
4.5.0-alpha.57 134 12/18/2024
4.5.0-alpha.53 96 12/16/2024
4.5.0-alpha.51 96 12/16/2024
4.5.0-alpha.50 85 12/16/2024
4.5.0-alpha.43 92 12/2/2024
4.5.0-alpha.32 103 11/14/2024
4.5.0-alpha.30 88 11/13/2024
4.5.0-alpha.28 93 11/12/2024
4.5.0-alpha.26 93 11/9/2024
4.5.0-alpha.24 97 11/7/2024
4.5.0-alpha.22 81 11/6/2024
4.5.0-alpha.18 97 11/5/2024
4.5.0-alpha.14 113 10/15/2024
4.5.0-alpha.12 90 10/14/2024
4.5.0-alpha.11 84 10/13/2024
4.5.0-alpha.9 97 10/10/2024
4.4.263 74 10/4/2025
4.4.262 153 10/3/2025
4.4.261 210 10/2/2025
4.4.260 460 9/25/2025
4.4.259 539 9/20/2025
4.4.258 565 9/16/2025
4.4.255 726 9/3/2025
4.4.254 368 9/2/2025
4.4.253 396 9/1/2025
4.4.252 452 8/29/2025
4.4.251 449 8/26/2025
4.4.250 624 8/20/2025
4.4.249 624 8/12/2025
4.4.248 5,419 4/15/2025
4.4.247 1,027 4/4/2025
4.4.246 500 4/3/2025
4.4.245 505 4/2/2025
4.4.244 486 4/1/2025
4.4.243 1,157 3/18/2025
4.4.242 462 3/15/2025
4.4.241 573 3/12/2025
4.4.240 510 3/11/2025
4.4.239 653 3/8/2025
4.4.238 560 3/7/2025
4.4.237 755 3/4/2025
4.4.236 510 3/2/2025
4.4.235 454 3/1/2025
4.4.234 494 2/27/2025
4.4.233 408 2/27/2025
4.4.232 491 2/26/2025
4.4.231 407 2/26/2025
4.4.230 776 2/18/2025
4.4.229 656 2/12/2025
4.4.228 593 2/8/2025
4.4.227 444 2/7/2025
4.4.226 499 2/6/2025
4.4.225 376 2/6/2025
4.4.224 406 2/5/2025
4.4.223 444 2/5/2025
4.4.222 406 2/5/2025
4.4.221 530 2/4/2025
4.4.220 533 2/2/2025
4.4.219 604 1/29/2025
4.4.218 618 1/26/2025
4.4.217 571 1/22/2025
4.4.216 508 1/20/2025
4.4.215 485 1/18/2025
4.4.214 507 1/16/2025
4.4.213 1,739 1/15/2025
4.4.212 874 1/9/2025
4.4.211 484 1/7/2025
4.4.210 638 1/3/2025
4.4.209 531 1/2/2025
4.4.208 502 1/1/2025
4.4.207 756 12/25/2024
4.4.206 532 12/23/2024
4.4.205 530 12/21/2024
4.4.204 477 12/20/2024
4.4.203 513 12/18/2024
4.4.202 494 12/17/2024
4.4.201 1,058 12/16/2024
4.4.200 725 12/11/2024
4.4.199 452 12/10/2024
4.4.198 840 12/3/2024
4.4.197 499 12/2/2024
4.4.196 477 12/1/2024
4.4.195 552 11/27/2024
4.4.194 984 11/14/2024
4.4.193 468 11/13/2024
4.4.192 467 11/12/2024
4.4.191 987 11/9/2024
4.4.190 520 11/6/2024
4.4.189 621 11/5/2024
4.4.188 460 11/3/2024
4.4.187 478 11/2/2024
4.4.186 710 10/23/2024
4.4.185 460 10/22/2024
4.4.184 1,914 10/18/2024
4.4.183 512 10/17/2024
4.4.182 2,282 10/10/2024
4.4.181 498 10/8/2024
4.4.180 530 10/4/2024
4.4.179 1,540 10/2/2024
4.4.178 530 10/1/2024
4.4.177 1,535 9/30/2024
4.4.176 509 9/28/2024
4.4.175 1,533 9/13/2024
4.4.174 573 9/10/2024
4.4.173 519 9/8/2024
4.4.172 507 9/7/2024
4.4.171 516 9/5/2024
4.4.170 504 9/4/2024
4.4.169 518 9/3/2024
4.4.168 571 8/30/2024
4.4.167 504 8/29/2024
4.4.166 859 8/20/2024
4.4.165 639 8/15/2024
4.4.164 524 8/14/2024
4.4.163 618 8/13/2024
4.4.162 976 8/7/2024
4.4.161 858 8/6/2024
4.4.160 440 8/5/2024
4.4.159 437 8/3/2024
4.4.158 421 7/30/2024
4.4.157 454 7/26/2024
4.4.156 371 7/26/2024
4.4.155 518 7/24/2024
4.4.154 2,200 7/19/2024
4.4.153 485 7/18/2024
4.4.152 495 7/17/2024
4.4.151 491 7/16/2024
4.4.150 491 7/15/2024
4.4.149 640 7/11/2024
4.4.148 501 7/10/2024
4.4.147 539 7/9/2024
4.4.146 522 7/7/2024
4.4.145 552 7/4/2024
4.4.144 757 6/27/2024
4.4.143 526 6/25/2024
4.4.142 1,567 6/19/2024
4.4.141 566 6/19/2024
4.4.140 582 6/15/2024
4.4.139 561 6/11/2024
4.4.138 1,654 6/1/2024
4.4.137 506 5/31/2024
4.4.136 568 5/29/2024
4.4.135 498 5/29/2024
4.4.134 6,012 5/25/2024
4.4.133 630 5/22/2024
4.4.132 625 5/18/2024
4.4.131 771 5/17/2024
4.4.130 495 5/16/2024
4.4.129 428 5/16/2024
4.4.128 458 5/15/2024
4.4.127 424 5/15/2024
4.4.126 505 5/14/2024
4.4.125 1,132 5/13/2024
4.4.124 508 5/12/2024
4.4.123 438 5/12/2024
4.4.122 690 5/8/2024
4.4.121 692 5/3/2024
4.4.120 442 5/2/2024
4.4.119 529 4/30/2024
4.4.118 673 4/28/2024
4.4.117 882 4/25/2024
4.4.116 672 4/23/2024
4.4.115 597 4/21/2024
4.4.114 568 4/20/2024
4.4.113 6,415 4/10/2024
4.4.112 540 4/4/2024
4.4.111 1,106 3/27/2024
4.4.110 2,592 3/21/2024
4.4.109 562 3/21/2024
4.4.108 724 3/19/2024
4.4.107 613 3/18/2024
4.4.106 609 3/17/2024
4.4.105 607 3/16/2024
4.4.104 1,537 2/22/2024
4.4.103 742 2/21/2024
4.4.102 833 2/16/2024
4.4.101 832 2/15/2024
4.4.100 799 2/14/2024
4.4.99 766 2/14/2024
4.4.98 1,096 2/2/2024
4.4.97 1,108 2/1/2024
4.4.96 2,766 1/28/2024
4.4.95 818 1/27/2024
4.4.94 808 1/26/2024
4.4.93 1,275 1/18/2024
4.4.92 833 1/16/2024
4.4.91 867 1/14/2024
4.4.90 826 1/13/2024
4.4.89 825 1/12/2024
4.4.88 855 1/11/2024
4.4.87 857 1/10/2024
4.4.86 930 1/7/2024
4.4.85 1,443 12/21/2023
4.4.84 856 12/19/2023
4.4.83 1,041 12/8/2023
4.4.82 895 12/3/2023
4.4.81 833 12/1/2023
4.4.80 826 11/30/2023
4.4.79 835 11/29/2023
4.4.78 850 11/26/2023
4.4.77 860 11/25/2023
4.4.76 829 11/24/2023
4.4.75 829 11/23/2023
4.4.74 857 11/21/2023
4.4.73 1,066 11/4/2023
4.4.72 784 11/3/2023
4.4.71 805 11/2/2023
4.4.70 792 11/1/2023
4.4.69 882 10/29/2023
4.4.68 817 10/28/2023
4.4.67 810 10/27/2023
4.4.66 828 10/26/2023
4.4.65 856 10/25/2023
4.4.64 2,405 10/12/2023
4.4.63 2,349 10/6/2023
4.4.62 1,621 9/24/2023
4.4.61 876 9/21/2023
4.4.60 792 9/21/2023
4.4.59 1,030 9/17/2023
4.4.58 807 9/16/2023
4.4.57 840 9/15/2023
4.4.56 890 9/14/2023
4.4.55 821 9/13/2023
4.4.54 950 9/11/2023
4.4.53 826 9/10/2023
4.4.52 841 9/9/2023
4.4.51 929 9/6/2023
4.4.50 873 9/3/2023
4.4.49 875 9/1/2023
4.4.48 983 8/31/2023
4.4.47 1,628 8/18/2023
4.4.46 1,068 8/11/2023
4.4.45 953 8/10/2023
4.4.44 904 8/8/2023
4.4.43 8,452 7/22/2023
4.4.42 899 7/20/2023
4.4.41 900 7/17/2023
4.4.40 904 7/15/2023
4.4.39 946 7/13/2023
4.4.38 1,000 7/9/2023
4.4.37 944 7/6/2023
4.4.36 937 7/4/2023
4.4.35 1,272 6/28/2023
4.4.34 952 6/27/2023
4.4.33 1,937 6/24/2023
4.4.32 1,468 6/22/2023
4.4.31 1,828 6/21/2023
4.4.30 980 6/20/2023
4.4.29 1,044 6/15/2023
4.4.28 944 6/14/2023
4.4.27 1,040 6/12/2023
4.4.26 1,001 6/10/2023
4.4.25 1,118 6/8/2023
4.4.24 5,438 6/5/2023
4.4.23 27,128 3/24/2023
4.4.22 2,120 3/20/2023
4.4.21 1,420 3/15/2023
4.4.20 1,247 3/10/2023
4.4.19 1,450 3/6/2023
4.4.17 4,803 2/15/2023
4.4.16 7,052 2/1/2023
4.4.15 1,745 1/18/2023
4.4.14 2,936 12/8/2022
4.4.13 2,367 12/7/2022
4.4.12 3,821 11/2/2022
4.4.11 2,010 8/30/2022
4.4.10 3,337 8/10/2022
4.4.9 2,175 7/27/2022
4.4.8 331,510 6/29/2022
4.4.7 1,883 6/22/2022
4.4.6 1,851 6/15/2022
4.4.5 2,063 5/25/2022
4.4.3 2,245 5/4/2022
4.4.2 2,176 4/27/2022
4.4.1 2,105 4/20/2022
4.4.0 2,323 4/7/2022
4.3.17 3,825 3/31/2022
4.3.16 2,600 3/2/2022
4.3.15 4,409 2/2/2022
4.3.14 2,219 1/25/2022
4.3.13 16,466 12/22/2021
4.3.12 1,601 12/15/2021
4.3.11 1,549 12/1/2021
4.3.10 1,677 11/17/2021
4.3.9 2,014 11/3/2021
4.3.8 1,775 10/6/2021
4.3.6 974 9/15/2021
4.3.5 206 9/1/2021
4.3.4 733 8/17/2021
4.3.3 265 8/3/2021
4.3.0 657 6/16/2021
4.2.4 2,654 5/11/2021
4.2.1 1,744 2/3/2021
4.2.0 1,813 1/6/2021
4.1.10 2,737 8/10/2020
4.1.8 369 7/13/2020
4.1.7 600 6/30/2020
4.1.6 2,044 5/29/2020
4.1.0-beta.26 336 2/18/2020
4.1.0-beta.25 266 2/13/2020
4.1.0-beta.19 286 1/7/2020
4.1.0-beta.18 325 1/7/2020