Z.Expressions.Eval
6.2.0-beta1
See the version list below for details.
dotnet add package Z.Expressions.Eval --version 6.2.0-beta1
NuGet\Install-Package Z.Expressions.Eval -Version 6.2.0-beta1
<PackageReference Include="Z.Expressions.Eval" Version="6.2.0-beta1" />
paket add Z.Expressions.Eval --version 6.2.0-beta1
#r "nuget: Z.Expressions.Eval, 6.2.0-beta1"
// Install Z.Expressions.Eval as a Cake Addin #addin nuget:?package=Z.Expressions.Eval&version=6.2.0-beta1&prerelease // Install Z.Expressions.Eval as a Cake Tool #tool nuget:?package=Z.Expressions.Eval&version=6.2.0-beta1&prerelease
Z.Expressions.Eval: C# Eval Expression
Z.Expressions.Eval is a robust NuGet package that enables .NET developers to evaluate, compile, and execute dynamic C# expressions. By interpreting and processing strings as executable code, this package empowers developers to craft highly adaptable and customizable applications.
It has the capability to handle an extensive range of mathematical operations, string manipulations, boolean logic, and it can even interact with .NET objects and classes.
The principal advantage of Z.Expressions.Eval lies in its ability to provide enhanced flexibility by facilitating runtime execution and manipulation of C# expressions. This feature is particularly beneficial in scenarios where business rules are subject to frequent changes or need to be configurable.
Having earned the trust and endorsement of over 5000 customers worldwide, C# Eval Expression is a highly regarded library that has become an essential tool for a wide variety of projects.
Resources:
- Official Website: Visit for comprehensive information, updates, tutorials, and more. Learn how Z.Expressions.Eval can significantly enhance your application's capabilities.
- Contact Us: Have a question or need assistance? Don't hesitate to reach out. We're here to help you get the most out of C# Eval Expression.
- GitHub Issues: Encountered an issue or have a feature request? Let us know on GitHub. Your feedback helps us make C# Eval Expression even better.
Supported .NET Versions
Z.Expressions.Eval exhibits broad compatibility with a variety of .NET versions. Starting from .NET Framework 4.5 and .NET Core 2.0, it extends support to the most recent versions of .NET.
To take full advantage of the enhancements in newer .NET versions, we highly recommend upgrading to the latest package version of Z.Expressions.Eval.
Main Features
Z.Expressions.Eval provides a set of powerful features designed to simplify dynamic C# expression evaluation and execution. Here are some of the key features:
- Eval.Execute: Allows you to evaluate and execute a string as a C# expression at runtime. This feature can handle a wide variety of mathematical operations, string manipulations, boolean logic, and even work with .NET objects and classes.
- Eval.Compile: Offers the ability to compile a string as a C# expression at runtime, reducing the overhead of repeated evaluations. This feature is especially useful when working with expressions that need to be executed multiple times.
- LINQ Dynamic: Provides the power to execute LINQ expressions dynamically. This feature opens up new possibilities for creating highly flexible and configurable queries.
For a more detailed explanation and examples of each operation, please refer to the official documentation page.
Getting Started
To get a feel for Z.Expressions.Eval, here is a simple example:
using Z.Expressions;
public class Program
{
public static void Main()
{
var result = Eval.Execute<int>("X*Y", new { X = 10, Y = 20 });
Console.WriteLine(result); // Outputs: 200
}
}
In the above example, the "X*Y" string expression is evaluated dynamically at runtime with the values of X and Y provided in an anonymous object. The result is then printed to the console.
Want to explore the library further? We offer an extensive collection of online examples showcasing the various functionalities and capabilities of C# Eval Expression:
These examples are specifically designed to impart practical understanding of C# Eval Expression, demonstrating its potent features and adaptable options in a variety of scenarios.
Advanced Usage
Instance Context
Z.Expressions.Eval allows more advanced scenarios, such as operating in a specific context, using variables, and more. Here's an example illustrating the use of instance context:
// CREATE a new instance of EvalContext
var context = new EvalContext();
// USE the `Execute` method from the context created
var list1 = context.Execute<List<int>>("new List<int>() { 1, 2, 3 };");
In this example, we first create a new instance of EvalContext
. Then, we use the Execute
method from the created context to evaluate and execute a string as a C# expression, which instantiates a new List<int>
.
Register Type
The RegisterType
method allows you to register all types provided for the context. The method also registers extension methods from those types but does not register other static members. For instance, if you register the type "Z.MyNamespace.MyClass", you can subsequently create an expression such as "new MyClass()" or any extension methods from this type.
In the following example, we'll register the types MyClassHelper
and MyExtensions
to include their extension methods. We'll first demonstrate how to use our class and extension methods in an arithmetic operation. We'll then show how to utilize the IsRegisteredType
and UnregisterType
methods with MyClassHelper
to verify if the type is currently registered and to unregister it.
using System;
using System.Collections.Generic;
using Z.Expressions;
public class Program
{
public static void Main()
{
// Global Context: EvalManager.DefaultContext.RegisterType(typeof(Helper));
var context = new EvalContext();
context.RegisterType(typeof(MyClassHelper));
context.RegisterType(typeof(MyExtensions));
var r1 = context.Execute<int>("new MyClassHelper().MyClassHelperID + 2.AddMe(3)"); // return 6
Console.WriteLine("1 - Result: " + r1);
// Check if the type `MyClassHelper` is registered
var r2 = context.IsRegisteredType(typeof(MyClassHelper)); // return true
Console.WriteLine("2 - Result: " + r2);
// Unregister the type `MyClassHelper`
context.UnregisterType(typeof(MyClassHelper));
// Check the type `MyClassHelper` has been succesfully unregistered
var r3 = context.IsRegisteredType(typeof(MyClassHelper)); // return false
Console.WriteLine("3 - Result: " + r3);
}
public class MyClassHelper
{
public int MyClassHelperID { get; set; } = 1;
}
}
public static class MyExtensions
{
public static int AddMe(this int x, int y)
{
return x + y;
}
}
Use Options
The SafeMode
option allows you to set the context to only allow the usage of registered members and types within expressions. In essence, it enables a secure execution environment for user input, restricting usage to only what you explicitly permit. By default, SafeMode
is set to false
.
In this example, we demonstrate how SafeMode
method. Please ensure to thoroughly understand the SafeMode
documentation if you intend to use this option.
// Global Context: EvalManager.DefaultContext.SafeMode = true;
var context = new EvalContext();
context.SafeMode = true;
context.UnregisterAll();
try
{
var fail = context.Execute("Math.Min(1, 2)");
Console.WriteLine(fail);
}
catch(Exception ex)
{
Console.WriteLine("1 - Exception: " + ex.Message);
}
// try again by registering "System.Math" member
context.RegisterMember(typeof(System.Math));
var r2 = context.Execute("Math.Min(1, 2)");
Console.WriteLine("2 - Result: " + r2);
Release Notes
For a thorough record of enhancements, bug fixes, and upgrades in each iteration of C# Eval Expression, we recommend referring to the official Release Notes located in our GitHub repository.
The Release Notes offer essential insights about each version, detailing new features, addressing resolved issues, and mentioning any breaking changes (if applicable). We strongly advise reviewing these notes prior to upgrading to a newer version. This practice not only ensures you leverage the full potential of the newly introduced features but also helps prevent unforeseen complications.
License
C# Eval Expression utilizes a paid licensing model. To acquire a license, please visit our official Pricing Page on the Eval Expression website.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. 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 is compatible. 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. |
.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 is compatible. |
.NET Framework | net40 is compatible. net403 was computed. net45 is compatible. net451 was computed. net452 was computed. net46 was computed. 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. |
-
.NETFramework 4.0
- No dependencies.
-
.NETFramework 4.5
- No dependencies.
-
.NETStandard 2.0
- Microsoft.CSharp (>= 4.5.0)
- Microsoft.Extensions.Caching.Memory (>= 2.0.0)
- System.Configuration.ConfigurationManager (>= 4.5.0)
- System.Reflection.Emit (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.5.0)
-
.NETStandard 2.1
- Microsoft.CSharp (>= 4.5.0)
- Microsoft.Extensions.Caching.Memory (>= 2.0.0)
- System.Configuration.ConfigurationManager (>= 4.5.0)
- System.Reflection.Emit (>= 4.3.0)
- System.Reflection.TypeExtensions (>= 4.5.0)
-
net6.0
- Microsoft.Extensions.Caching.Memory (>= 2.0.0)
- System.Configuration.ConfigurationManager (>= 4.5.0)
-
net8.0
- Microsoft.Extensions.Caching.Memory (>= 8.0.0)
- System.Configuration.ConfigurationManager (>= 8.0.0)
NuGet packages (16)
Showing the top 5 NuGet packages that depend on Z.Expressions.Eval:
Package | Downloads |
---|---|
Z.EntityFramework.Plus.EFCore
Entity Framework Plus extends your DbContext with must-haves features: Include Filter, Auditing, Caching, Query Future, Batch Delete, Batch Update, and more **IMPORTANT** - For EF Core 9.x, use the latest EF Plus v9.x version - For EF Core 8.x, use the latest EF Plus v8.x version - For EF Core 7.x, use the latest EF Plus v7.x version - For EF Core 6.x, use the latest EF Plus v6.x version - For EF Core 5.x, use the latest EF Plus v5.x version - For EF Core 3.x, use the latest EF Plus v3.x version - For EF Core 2.x, use the latest EF Plus v2.x version |
|
Z.EntityFramework.Plus.EF6
Entity Framework Plus extends your DbContext with must-haves features: Include Filter, Auditing, Caching, Query Future, Batch Delete, Batch Update, and more |
|
Z.EntityFramework.Classic
Entity Framework Classic is an EF6 fork with performance enhancement, new features, and .NET Core support. This package is FREE (Community Version) Some features are Prime (Enterprise Version) Prime features can be disabled with "EntityFrameworkManager.IsCommunity = true;" |
|
Z.EntityFramework.Plus.EF5
Entity Framework Plus extends your DbContext with must-haves features: Include Filter, Auditing, Caching, Query Future, Batch Delete, Batch Update, and more EF Core Package: https://www.nuget.org/packages/Z.EntityFramework.Plus.EFCore/ EF6 Package: https://www.nuget.org/packages/Z.EntityFramework.Plus.EF6/ |
|
DianFengBaseLib.Infrastructure
配合DDD使用 |
GitHub repositories (6)
Showing the top 5 popular GitHub repositories that depend on Z.Expressions.Eval:
Repository | Stars |
---|---|
zzzprojects/EntityFramework-Plus
Entity Framework Plus extends your DbContext with must-haves features: Include Filter, Auditing, Caching, Query Future, Batch Delete, Batch Update, and more
|
|
zzzprojects/EntityFramework.DynamicFilters
Global filtering for Entity Framework.
|
|
zzzprojects/Eval-Expression.NET
C# Eval Expression | Evaluate, Compile, and Execute C# code and expression at runtime.
|
|
zzzprojects/EntityFramework-Effort
Entity Framework Effort is a powerful tool that enables a convenient way to create automated tests for Entity Framework based applications.
|
|
DigitalPlatform/dp2
Integrated Library System / 图书馆集成系统
|
Version | Downloads | Last updated |
---|---|---|
6.2.4 | 8,303 | 12/17/2024 |
6.2.3 | 49,826 | 11/26/2024 |
6.2.2 | 78,960 | 11/12/2024 |
6.2.2-beta2 | 84 | 11/14/2024 |
6.2.2-beta1 | 86 | 11/14/2024 |
6.2.1 | 117,434 | 10/22/2024 |
6.2.0 | 225,652 | 9/23/2024 |
6.2.0-beta1 | 96 | 10/2/2024 |
6.1.10 | 202,191 | 8/27/2024 |
6.1.9 | 176,362 | 8/12/2024 |
6.1.8 | 171,201 | 7/22/2024 |
6.1.7 | 387,243 | 6/18/2024 |
6.1.6 | 125,447 | 6/3/2024 |
6.1.2 | 707,918 | 3/11/2024 |
6.1.1 | 177,947 | 2/27/2024 |
6.1.0 | 415,784 | 2/13/2024 |
6.0.6 | 567,803 | 1/15/2024 |
6.0.5 | 267,958 | 12/18/2023 |
6.0.4 | 3,347 | 12/11/2023 |
6.0.3 | 125,254 | 12/5/2023 |
6.0.2 | 110,203 | 11/28/2023 |
6.0.1 | 1,169 | 11/28/2023 |
6.0.0 | 228,419 | 11/15/2023 |
5.0.12 | 3,258 | 11/7/2023 |
5.0.11 | 412,225 | 10/17/2023 |
5.0.10 | 274,274 | 9/26/2023 |
5.0.9 | 240,715 | 9/11/2023 |
5.0.8 | 235,993 | 8/15/2023 |
5.0.7 | 613,501 | 7/11/2023 |
5.0.6 | 307,198 | 6/12/2023 |
5.0.5 | 7,931 | 5/30/2023 |
5.0.4 | 464,644 | 5/16/2023 |
5.0.3 | 372,367 | 4/17/2023 |
5.0.2 | 347,378 | 3/20/2023 |
5.0.1 | 508,779 | 2/20/2023 |
5.0.0 | 822,836 | 1/17/2023 |
4.0.92 | 423,847 | 12/20/2022 |
4.0.91 | 389,424 | 12/5/2022 |
4.0.90 | 589,995 | 11/14/2022 |
4.0.89 | 965,373 | 10/10/2022 |
4.0.88 | 1,191,806 | 9/12/2022 |
4.0.87 | 814,814 | 8/16/2022 |
4.0.86 | 1,016,928 | 7/19/2022 |
4.0.85 | 781,795 | 6/14/2022 |
4.0.84 | 141,303 | 6/7/2022 |
4.0.83 | 24,314 | 5/26/2022 |
4.0.82 | 441,386 | 5/24/2022 |
4.0.81 | 210,114 | 5/17/2022 |
4.0.80 | 200,289 | 5/10/2022 |
4.0.79 | 797,458 | 4/12/2022 |
4.0.78 | 539,162 | 3/30/2022 |
4.0.77 | 749,731 | 3/15/2022 |
4.0.76 | 306,099 | 3/1/2022 |
4.0.75 | 148,188 | 2/22/2022 |
4.0.74 | 297,659 | 2/14/2022 |
4.0.73 | 130,014 | 2/8/2022 |
4.0.72 | 18,551 | 2/1/2022 |
4.0.71 | 574,889 | 1/18/2022 |
4.0.70 | 289,043 | 1/11/2022 |
4.0.69 | 1,784,896 | 12/30/2021 |
4.0.68 | 15,591 | 12/15/2021 |
4.0.67 | 267,293 | 12/14/2021 |
4.0.66 | 3,819 | 12/7/2021 |
4.0.65 | 2,958 | 11/30/2021 |
4.0.64 | 331,805 | 11/24/2021 |
4.0.63 | 344,596 | 11/17/2021 |
4.0.62 | 297,491 | 11/9/2021 |
4.0.61 | 2,952 | 11/4/2021 |
4.0.60 | 305,745 | 10/27/2021 |
4.0.59 | 146,248 | 10/20/2021 |
4.0.58 | 89,743 | 10/13/2021 |
4.0.57 | 2,661 | 10/12/2021 |
4.0.56 | 7,070 | 10/6/2021 |
4.0.55 | 6,182 | 9/29/2021 |
4.0.54 | 559,636 | 9/15/2021 |
4.0.53 | 110,265 | 9/8/2021 |
4.0.52 | 203,752 | 9/1/2021 |
4.0.51 | 89,031 | 8/25/2021 |
4.0.50 | 166,095 | 8/17/2021 |
4.0.49 | 178,840 | 8/4/2021 |
4.0.48 | 459,317 | 7/28/2021 |
4.0.47 | 197,534 | 7/20/2021 |
4.0.46 | 233,052 | 7/13/2021 |
4.0.45 | 525,038 | 6/16/2021 |
4.0.44 | 75,516 | 6/14/2021 |
4.0.43 | 486,271 | 5/12/2021 |
4.0.42 | 135,838 | 5/3/2021 |
4.0.41 | 215,908 | 4/26/2021 |
4.0.40 | 2,432 | 4/22/2021 |
4.0.39 | 127,163 | 4/19/2021 |
4.0.38 | 154,923 | 4/7/2021 |
4.0.37 | 268,708 | 3/24/2021 |
4.0.37-beta1 | 1,646 | 4/1/2021 |
4.0.36 | 143,837 | 3/16/2021 |
4.0.35 | 38,585 | 3/15/2021 |
4.0.34 | 208,557 | 3/10/2021 |
4.0.33 | 11,523 | 2/23/2021 |
4.0.32 | 582,957 | 2/16/2021 |
4.0.31 | 156,518 | 2/10/2021 |
4.0.30 | 163,207 | 2/2/2021 |
4.0.29 | 311,199 | 1/13/2021 |
4.0.28 | 579,989 | 12/14/2020 |
4.0.27 | 68,081 | 12/8/2020 |
4.0.26 | 104,970 | 12/1/2020 |
4.0.25 | 73,471 | 11/27/2020 |
4.0.24 | 207,119 | 11/11/2020 |
4.0.23 | 217,247 | 10/30/2020 |
4.0.22 | 740,175 | 10/11/2020 |
4.0.21 | 52,983 | 10/7/2020 |
4.0.20 | 3,292 | 10/5/2020 |
4.0.19 | 103,339 | 9/30/2020 |
4.0.18 | 4,346 | 9/29/2020 |
4.0.17 | 30,727 | 9/24/2020 |
4.0.16 | 318,851 | 9/14/2020 |
4.0.15 | 230,263 | 8/31/2020 |
4.0.14 | 7,193 | 8/25/2020 |
4.0.13 | 5,261 | 8/17/2020 |
4.0.12 | 230,939 | 8/11/2020 |
4.0.11 | 100,585 | 8/3/2020 |
4.0.10 | 18,712 | 7/28/2020 |
4.0.9 | 152,010 | 7/22/2020 |
4.0.8 | 3,229 | 7/19/2020 |
4.0.7 | 2,171 | 7/19/2020 |
4.0.6 | 257,536 | 7/14/2020 |
4.0.5 | 2,258 | 7/13/2020 |
4.0.4 | 90,176 | 7/12/2020 |
4.0.3 | 12,561 | 7/5/2020 |
4.0.2 | 8,748 | 6/30/2020 |
4.0.1 | 682,588 | 6/14/2020 |
4.0.0 | 79,798 | 6/1/2020 |
3.1.12 | 17,680 | 5/25/2020 |
3.1.11 | 675,056 | 5/14/2020 |
3.1.10 | 466,863 | 4/14/2020 |
3.1.9 | 49,447 | 4/3/2020 |
3.1.8 | 620,559 | 3/16/2020 |
3.1.7 | 5,934 | 3/10/2020 |
3.1.6 | 557,900 | 2/21/2020 |
3.1.5 | 307,202 | 2/18/2020 |
3.1.4 | 19,637 | 2/15/2020 |
3.1.3 | 57,517 | 2/7/2020 |
3.1.2 | 479,912 | 1/27/2020 |
3.1.1 | 4,189 | 1/23/2020 |
3.1.0 | 8,486 | 1/14/2020 |
3.0.14 | 6,315 | 1/13/2020 |
3.0.13 | 26,232 | 1/9/2020 |
3.0.12 | 6,116 | 1/3/2020 |
3.0.11 | 10,202 | 12/19/2019 |
3.0.10 | 3,859 | 12/17/2019 |
3.0.9 | 516,128 | 12/16/2019 |
3.0.8 | 5,847 | 12/11/2019 |
3.0.7 | 313,302 | 11/25/2019 |
3.0.6 | 23,673 | 11/18/2019 |
3.0.5 | 3,851 | 11/14/2019 |
3.0.4 | 7,790 | 11/12/2019 |
3.0.3 | 604,732 | 10/30/2019 |
3.0.2 | 2,240 | 10/30/2019 |
3.0.1 | 13,008 | 10/29/2019 |
3.0.0 | 2,636 | 10/29/2019 |
2.9.57 | 13,033 | 10/16/2019 |
2.9.56 | 2,662 | 10/10/2019 |
2.9.55 | 6,037 | 10/2/2019 |
2.9.54 | 16,284 | 9/22/2019 |
2.9.52 | 3,051 | 9/6/2019 |
2.9.51 | 2,286 | 9/5/2019 |
2.9.50 | 2,259 | 9/4/2019 |
2.9.49 | 2,739 | 8/29/2019 |
2.9.48 | 8,381 | 8/24/2019 |
2.9.47 | 2,318 | 8/24/2019 |
2.9.46 | 39,891 | 8/15/2019 |
2.9.45 | 160,993 | 7/28/2019 |
2.9.44 | 3,088 | 7/15/2019 |
2.9.43 | 3,536 | 7/9/2019 |
2.9.42 | 6,266 | 7/4/2019 |
2.9.41 | 2,453 | 7/3/2019 |
2.9.40 | 2,396 | 7/1/2019 |
2.9.39 | 16,306 | 6/29/2019 |
2.9.38 | 2,276 | 6/25/2019 |
2.9.37 | 2,799 | 6/12/2019 |
2.9.36 | 2,446 | 6/7/2019 |
2.9.35 | 2,279 | 6/4/2019 |
2.9.34 | 2,578 | 5/31/2019 |
2.9.33 | 4,283 | 5/31/2019 |
2.9.32 | 4,454 | 5/23/2019 |
2.9.31 | 38,091 | 5/20/2019 |
2.9.30 | 2,356 | 5/17/2019 |
2.9.29 | 2,392 | 5/9/2019 |
2.9.28 | 2,224 | 5/9/2019 |
2.9.27 | 4,377 | 5/5/2019 |
2.9.26 | 2,248 | 5/3/2019 |
2.9.25 | 7,206 | 4/30/2019 |
2.9.24 | 2,980 | 4/18/2019 |
2.9.22 | 2,426 | 4/16/2019 |
2.9.21 | 10,230 | 4/7/2019 |
2.9.20 | 32,405 | 3/30/2019 |
2.9.19 | 2,524 | 3/27/2019 |
2.9.18 | 2,347 | 3/26/2019 |
2.9.17 | 2,542 | 3/21/2019 |
2.9.16 | 2,272 | 3/20/2019 |
2.9.15 | 2,305 | 3/20/2019 |
2.9.14 | 2,431 | 3/16/2019 |
2.9.13 | 2,351 | 3/16/2019 |
2.9.12 | 93,044 | 2/27/2019 |
2.9.11 | 2,632 | 2/20/2019 |
2.9.10 | 2,353 | 2/18/2019 |
2.9.9 | 2,288 | 2/16/2019 |
2.9.8 | 2,982 | 2/13/2019 |
2.9.7 | 2,711 | 2/8/2019 |
2.9.6 | 6,144 | 1/30/2019 |
2.9.5 | 8,562 | 1/13/2019 |
2.9.4 | 6,012 | 12/30/2018 |
2.9.3 | 2,928 | 12/13/2018 |
2.9.2 | 2,499 | 12/13/2018 |
2.9.1 | 2,594 | 12/12/2018 |
2.9.0 | 2,414 | 12/12/2018 |
2.8.9 | 2,977 | 12/11/2018 |
2.8.8 | 70,020 | 11/29/2018 |
2.8.7 | 2,938 | 11/28/2018 |
2.8.6 | 2,445 | 11/27/2018 |
2.8.5 | 3,686 | 11/20/2018 |
2.8.4 | 2,554 | 11/18/2018 |
2.8.3 | 2,500 | 11/17/2018 |
2.8.2 | 2,507 | 11/17/2018 |
2.8.1 | 2,773 | 11/14/2018 |
2.8.0 | 2,441 | 11/14/2018 |
2.7.13 | 4,979 | 10/29/2018 |
2.7.12 | 9,546 | 10/28/2018 |
2.7.11 | 2,565 | 10/23/2018 |
2.7.10 | 4,389 | 10/17/2018 |
2.7.9 | 5,038 | 10/7/2018 |
2.7.8 | 5,549 | 9/29/2018 |
2.7.7 | 5,380 | 8/31/2018 |
2.7.6 | 6,058 | 8/30/2018 |
2.7.5 | 2,899 | 8/18/2018 |
2.7.4 | 5,360 | 8/16/2018 |
2.7.3 | 3,453 | 8/16/2018 |
2.7.2 | 4,771 | 7/31/2018 |
2.7.1 | 3,215 | 7/19/2018 |
2.7.0 | 3,209 | 7/5/2018 |
2.6.5 | 3,031 | 6/29/2018 |
2.6.4 | 3,711 | 5/31/2018 |
2.6.3 | 3,973 | 5/2/2018 |
2.6.2 | 3,050 | 4/30/2018 |
2.6.1 | 3,819 | 3/30/2018 |
2.6.0 | 2,970 | 3/26/2018 |
2.5.0 | 2,955 | 3/20/2018 |
2.4.21 | 2,777 | 3/20/2018 |
2.4.20 | 2,846 | 3/16/2018 |
2.4.19 | 3,353 | 2/27/2018 |
2.4.18 | 3,362 | 2/12/2018 |
2.4.17 | 2,693 | 2/6/2018 |
2.4.16 | 2,943 | 2/2/2018 |
2.4.15 | 2,861 | 1/31/2018 |
2.4.14 | 2,834 | 1/31/2018 |
2.4.13 | 2,873 | 1/23/2018 |
2.4.12 | 2,809 | 1/16/2018 |
2.4.11 | 2,947 | 1/8/2018 |
2.4.10 | 3,053 | 1/5/2018 |
2.4.9 | 3,115 | 12/29/2017 |
2.4.8 | 4,705 | 12/6/2017 |
2.4.7 | 2,898 | 11/30/2017 |
2.4.6 | 2,876 | 11/27/2017 |
2.4.5 | 3,123 | 11/16/2017 |
2.4.4 | 2,925 | 11/13/2017 |
2.4.3 | 4,201 | 11/7/2017 |
2.4.2 | 2,863 | 11/1/2017 |
2.4.1 | 3,007 | 10/30/2017 |
2.4.0 | 12,080 | 9/30/2017 |
2.3.0 | 2,985 | 9/30/2017 |
2.2.1 | 2,940 | 9/24/2017 |
2.2.0-beta1 | 2,531 | 9/20/2017 |
2.1.15 | 3,726 | 8/31/2017 |
2.1.14 | 2,841 | 8/8/2017 |
2.1.13 | 2,958 | 8/2/2017 |
2.1.12 | 2,709 | 8/1/2017 |
2.1.11 | 2,816 | 7/27/2017 |
2.1.10 | 2,886 | 7/25/2017 |
2.1.9 | 2,858 | 7/11/2017 |
2.1.8 | 8,868 | 7/10/2017 |
2.1.7 | 2,879 | 7/7/2017 |
2.1.6 | 2,744 | 7/6/2017 |
2.1.5 | 2,818 | 7/3/2017 |
2.1.4 | 3,290 | 6/29/2017 |