I-Synergy.Framework.UI 2025.11029.10201.38-preview

Prefix Reserved
This is a prerelease version of I-Synergy.Framework.UI.
There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package I-Synergy.Framework.UI --version 2025.11029.10201.38-preview
                    
NuGet\Install-Package I-Synergy.Framework.UI -Version 2025.11029.10201.38-preview
                    
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="I-Synergy.Framework.UI" Version="2025.11029.10201.38-preview" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="I-Synergy.Framework.UI" Version="2025.11029.10201.38-preview" />
                    
Directory.Packages.props
<PackageReference Include="I-Synergy.Framework.UI" />
                    
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 I-Synergy.Framework.UI --version 2025.11029.10201.38-preview
                    
#r "nuget: I-Synergy.Framework.UI, 2025.11029.10201.38-preview"
                    
#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 I-Synergy.Framework.UI@2025.11029.10201.38-preview
                    
#: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=I-Synergy.Framework.UI&version=2025.11029.10201.38-preview&prerelease
                    
Install as a Cake Addin
#tool nuget:?package=I-Synergy.Framework.UI&version=2025.11029.10201.38-preview&prerelease
                    
Install as a Cake Tool

I-Synergy Framework UI

Core UI abstractions and shared components for building cross-platform .NET 10.0 user interfaces. This package provides the foundational layer for all I-Synergy UI implementations including WPF, WinUI, UWP, MAUI, and Blazor.

NuGet License .NET

Features

  • Platform-agnostic abstractions for UI services and providers
  • Theme management with dynamic accent color support
  • Authentication provider for UI security integration
  • Token storage service for secure credential management
  • ViewModels for common UI scenarios (Language, Theme selection)
  • Localization support with built-in resource management
  • Extension methods for common UI operations
  • Splash screen support with configurable options
  • Integration with MVVM framework for ViewModels and services

Installation

Install the package via NuGet:

dotnet add package I-Synergy.Framework.UI

For platform-specific implementations, install the appropriate package:

  • WPF: I-Synergy.Framework.UI.WPF
  • WinUI: I-Synergy.Framework.UI.WinUI
  • UWP: I-Synergy.Framework.UI.UWP
  • MAUI: I-Synergy.Framework.UI.Maui
  • Blazor: I-Synergy.Framework.UI.Blazor

Quick Start

1. Authentication Provider

The authentication provider enables role-based UI element visibility and command execution control:

using ISynergy.Framework.UI.Abstractions.Providers;
using System.Windows.Input;

public class CustomAuthenticationProvider : IAuthenticationProvider
{
    private readonly IAuthenticationService _authService;

    public CustomAuthenticationProvider(IAuthenticationService authService)
    {
        _authService = authService;
    }

    public bool CanCommandBeExecuted(ICommand command, object commandParameter)
    {
        // Implement custom command authorization logic
        var requiredRole = GetRequiredRoleFromCommand(command);
        return _authService.CurrentUser.HasRole(requiredRole);
    }

    public bool HasAccessToUIElement(object element, object tag, string authorizationTag)
    {
        // Implement custom UI element visibility logic
        if (string.IsNullOrEmpty(authorizationTag))
            return true;

        return _authService.CurrentUser.HasPermission(authorizationTag);
    }
}

// Register in DI
services.AddScoped<IAuthenticationProvider, CustomAuthenticationProvider>();

2. Theme Management

Use the ThemeViewModel to provide theme and color selection:

using ISynergy.Framework.Core.Abstractions.Services;
using ISynergy.Framework.Core.Models;
using ISynergy.Framework.UI.ViewModels;
using Microsoft.Extensions.Logging;

public class ThemeWindow : Window
{
    public ThemeWindow()
    {
        InitializeComponent();
    }
}

// In your application
public class SettingsViewModel : ViewModel
{
    private readonly IDialogService _dialogService;

    public AsyncRelayCommand ChangeThemeCommand { get; }

    public SettingsViewModel(
        ICommonServices commonServices,
        ILogger<SettingsViewModel> logger)
        : base(commonServices, logger)
    {
        ChangeThemeCommand = new AsyncRelayCommand(ChangeThemeAsync);
    }

    private async Task ChangeThemeAsync()
    {
        // Show theme selection dialog
        await CommonServices.DialogService
            .ShowDialogAsync<ThemeWindow, ThemeViewModel, ThemeStyle>();
    }
}

3. Language Selection

Provide multi-language support using the LanguageViewModel:

using ISynergy.Framework.Core.Enumerations;
using ISynergy.Framework.UI.ViewModels;

public class LanguageWindow : Window
{
    public LanguageWindow()
    {
        InitializeComponent();
    }
}

// In your application
public class SettingsViewModel : ViewModel
{
    public AsyncRelayCommand ChangeLanguageCommand { get; }

    public SettingsViewModel(
        ICommonServices commonServices,
        ILogger<SettingsViewModel> logger)
        : base(commonServices, logger)
    {
        ChangeLanguageCommand = new AsyncRelayCommand(ChangeLanguageAsync);
    }

    private async Task ChangeLanguageAsync()
    {
        // Show language selection dialog
        await CommonServices.DialogService
            .ShowDialogAsync<LanguageWindow, LanguageViewModel, Languages>();
    }
}

4. Token Storage Service

Securely store and retrieve authentication tokens:

using ISynergy.Framework.UI.Abstractions.Services;

public class AuthenticationService
{
    private readonly ITokenStorageService _tokenStorage;

    public AuthenticationService(ITokenStorageService tokenStorage)
    {
        _tokenStorage = tokenStorage;
    }

    public async Task<bool> LoginAsync(string username, string password)
    {
        // Perform authentication
        var token = await _authApi.LoginAsync(username, password);

        if (token is not null)
        {
            // Store tokens securely
            await _tokenStorage.StoreTokenAsync("access_token", token.AccessToken);
            await _tokenStorage.StoreTokenAsync("refresh_token", token.RefreshToken);
            return true;
        }

        return false;
    }

    public async Task<string> GetAccessTokenAsync()
    {
        return await _tokenStorage.GetTokenAsync("access_token");
    }

    public async Task LogoutAsync()
    {
        await _tokenStorage.ClearAllTokensAsync();
    }
}

Core Components

Abstractions

ISynergy.Framework.UI.Abstractions/
├── Providers/
│   └── IAuthenticationProvider     # Command and UI element authorization
├── Services/
│   └── ITokenStorageService        # Secure token storage
├── Views/
│   ├── IDashboard                  # Dashboard view interface
│   ├── ISelectionView              # Selection view interface
│   └── IShellView                  # Shell/main view interface
└── Windows/
    └── IThemeWindow                # Theme selection window interface

ViewModels

ISynergy.Framework.UI.ViewModels/
├── ThemeViewModel                  # Theme and accent color selection
└── LanguageViewModel               # Language/locale selection

Options

ISynergy.Framework.UI.Options/
├── BingMapsOptions                 # Bing Maps API configuration
└── SplashScreenOptions             # Splash screen configuration

Usage Examples

Splash Screen Configuration

Configure splash screen behavior for your application:

using ISynergy.Framework.UI.Options;
using ISynergy.Framework.UI.Enumerations;

public void ConfigureServices(IServiceCollection services)
{
    services.Configure<SplashScreenOptions>(options =>
    {
        options.Type = SplashScreenTypes.Extended;
        options.DisplayDuration = TimeSpan.FromSeconds(3);
        options.MinimumDisplayTime = TimeSpan.FromSeconds(1);
    });
}

Assembly Registration

Register views, viewmodels, and windows from assemblies:

using ISynergy.Framework.UI.Extensions;

public void ConfigureServices(IServiceCollection services)
{
    var mainAssembly = Assembly.GetExecutingAssembly();

    // Register all views, viewmodels, and windows from assembly
    services.RegisterAssemblies(
        mainAssembly,
        assemblyName => assemblyName.Name.StartsWith("MyApp"));
}

Extension Methods

The UI framework provides several useful extension methods:

using ISynergy.Framework.UI.Extensions;

// Credential extensions
var credential = new Credential { Username = "user", Password = "pass" };
string base64 = credential.ToBase64();
var decoded = base64.FromBase64ToCredential();

// DateTime extensions
var now = DateTimeOffset.Now;
string formatted = now.ToLocalString(languageService);
string dateOnly = now.ToLocalDateString(languageService);

// Decimal extensions
decimal value = 1234.56m;
string currency = value.ToCurrency(languageService);
string number = value.ToNumeric(languageService);

// Language extensions
var german = Languages.German;
CultureInfo culture = german.GetCulture();
string displayName = german.GetDescription();

// Telemetry extensions
var exception = new InvalidOperationException("Something failed");
exception.Track(); // Tracks exception in telemetry

Configuration

Dependency Injection Setup

Platform-specific setup varies, but the core pattern is:

using ISynergy.Framework.Core.Abstractions.Services;
using ISynergy.Framework.Core.Services;
using ISynergy.Framework.UI.Abstractions.Providers;
using ISynergy.Framework.UI.Providers;
using ISynergy.Framework.UI.ViewModels;

public void ConfigureServices(IServiceCollection services)
{
    // Core services
    services.AddSingleton<ILanguageService, LanguageService>();
    services.AddSingleton<IInfoService, InfoService>();
    services.AddSingleton<IMessengerService, MessengerService>();

    // UI services
    services.AddSingleton<ITokenStorageService, TokenStorageService>();
    services.AddScoped<IAuthenticationProvider, AuthenticationProvider>();

    // ViewModels
    services.AddTransient<ThemeViewModel>();
    services.AddTransient<LanguageViewModel>();

    // Platform-specific services (implemented in UI.WPF, UI.MAUI, etc.)
    // services.AddSingleton<IDialogService, DialogService>();
    // services.AddSingleton<INavigationService, NavigationService>();
    // services.AddSingleton<IThemeService, ThemeService>();
}

Best Practices

Use IAuthenticationProvider to centralize authorization logic for both commands and UI elements.

Always use ITokenStorageService for storing sensitive authentication tokens instead of plain storage mechanisms.

The UI framework integrates seamlessly with I-Synergy.Framework.Mvvm for ViewModels and commands.

Authentication Provider Usage

  • Implement IAuthenticationProvider for centralized authorization
  • Use it in command CanExecute delegates
  • Bind UI element visibility to authorization checks
  • Keep authorization logic testable and maintainable

Theme Management

  • Store theme preferences in ISettingsService
  • Use ThemeViewModel for user-facing theme selection
  • Apply themes through platform-specific IThemeService
  • Support both light and dark themes
  • Allow custom accent colors

Token Storage

  • Never store tokens in plain text
  • Use ITokenStorageService for all credentials
  • Clear tokens on logout
  • Implement token refresh logic
  • Handle token expiration gracefully

Platform Integration

This base package is designed to be extended by platform-specific implementations:

Desktop Platforms

  • WPF: Full desktop Windows support (.NET 10.0)
  • WinUI: Modern Windows apps with WinUI 3
  • UWP: Universal Windows Platform apps

Mobile & Cross-Platform

  • MAUI: Cross-platform for Windows, Android, iOS, macOS
  • Blazor: Web-based UI with WebAssembly or Server

Each platform implementation provides:

  • Platform-specific services (Dialog, Navigation, Theme, File)
  • Custom controls and styles
  • Platform integration features
  • Build configurations and assets

Dependencies

  • I-Synergy.Framework.Mvvm - MVVM framework integration
  • I-Synergy.Framework.OpenTelemetry - Telemetry and observability
  • Microsoft.Extensions.Http - HTTP client factory
  • Microsoft.Extensions.Logging - Logging infrastructure
  • NodaTime - Date and time handling
  • OpenTelemetry.Instrumentation.Http - HTTP telemetry
  • OpenTelemetry.Instrumentation.Runtime - Runtime telemetry

Documentation

For more information about the I-Synergy Framework:

Core Frameworks

  • I-Synergy.Framework.Core - Core abstractions and services
  • I-Synergy.Framework.Mvvm - MVVM framework

Platform-Specific UI

  • I-Synergy.Framework.UI.Maui - .NET MAUI implementation
  • I-Synergy.Framework.UI.WPF - WPF implementation
  • I-Synergy.Framework.UI.WinUI - WinUI 3 implementation
  • I-Synergy.Framework.UI.UWP - UWP implementation
  • I-Synergy.Framework.UI.Blazor - Blazor implementation

Other Frameworks

  • I-Synergy.Framework.CQRS - CQRS pattern implementation
  • I-Synergy.Framework.AspNetCore - ASP.NET Core integration

Support

For issues, questions, or contributions, please visit the GitHub repository.

Product Compatible and additional computed target framework versions.
.NET net10.0 is compatible.  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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (6)

Showing the top 5 NuGet packages that depend on I-Synergy.Framework.UI:

Package Downloads
I-Synergy.Framework.UI.WPF

I-Synergy UI Framework for WPF

I-Synergy.Framework.UI.WinUI

I-Synergy UI Framework for WinUI

I-Synergy.Framework.UI.Maui

I-Synergy UI Framework for .Net Maui

I-Synergy.Framework.UI.Uno

I-Synergy UI Framework for Uno Platform

I-Synergy.Framework.UI.UWP

I-Synergy UI Framework for UWP

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2025.11102.12003.8-preview 0 11/2/2025
2025.11102.11228.52-preview 0 11/2/2025
2025.11102.10309.42-preview 27 11/2/2025
2025.11029.11433.38-preview 111 10/29/2025
2025.11029.10201.38-preview 117 10/29/2025
2025.11027.11947.55-preview 124 10/27/2025
2025.11022.12207.12-preview 108 10/22/2025
2025.11019.12053.37-preview 111 10/19/2025
2025.11016.11750.24-preview 112 10/16/2025
2025.11015.10219.44-preview 118 10/15/2025
2025.11014.10245.12-preview 118 10/14/2025
2025.11012.10130.11-preview 54 10/12/2025
2025.11010.10052.52-preview 116 10/9/2025
2025.11001.12118.13-preview 130 10/1/2025
2025.10925.10144.25-preview 141 9/25/2025
2025.10921.11353.29-preview 162 9/21/2025
2025.10913.11841.29-preview 104 9/13/2025
2025.10912.12351.59-preview 55 9/12/2025
2025.10912.10210.52-preview 125 9/12/2025
2025.10911.10131.43-preview 123 9/10/2025
2025.10910.12340.34-preview 129 9/10/2025
2025.10910.11327.15-preview 127 9/10/2025
2025.10910.11206.45-preview 121 9/10/2025
2025.10910.10230.58-preview 128 9/10/2025
2025.10908.12343.47-preview 169 9/8/2025
2025.10904.12337.35-preview 176 9/4/2025
2025.10904.12245.51-preview 183 9/4/2025
2025.10904.11425.5-preview 173 9/4/2025
2025.10904.10323.39-preview 179 9/4/2025
2025.10826.11425.3-preview 251 8/26/2025
2025.10825.12350.9-preview 184 8/25/2025
2025.10810.10248-preview 119 8/10/2025
2025.10809.10146.35-preview 157 8/9/2025
2025.10806.12031.49-preview 243 8/6/2025
2025.10806.11955.54-preview 240 8/6/2025
2025.10806.11433.24-preview 244 8/6/2025
2025.10709.10105.39-preview 167 7/8/2025
2025.10707.12320.3-preview 181 7/7/2025
2025.10706.11957.9-preview 162 7/6/2025
2025.10702.11752.47-preview 158 7/2/2025
2025.10702.11256.17-preview 168 7/2/2025
2025.10702.11119.10-preview 162 7/2/2025
2025.10702.10000.31-preview 163 7/1/2025
2025.10701.11524.1-preview 167 7/1/2025
2025.10701.11310.13-preview 166 7/1/2025
2025.10630.12022.58-preview 162 6/30/2025
2025.10612.12134.8-preview 341 6/12/2025
2025.10611.12313.53-preview 326 6/11/2025
2025.10603.10159.54-preview 202 6/3/2025
2025.10602.11908.9-preview 183 6/2/2025
2025.10601.10124.29-preview 142 5/31/2025
2025.10531.12235.29-preview 141 5/31/2025
2025.10530.10121.50-preview 194 5/29/2025
2025.10527.12202.4-preview 190 5/27/2025
2025.10526.12034.25-preview 191 5/26/2025
2025.10521.11828.30-preview 191 5/21/2025
2025.10520.11715.6-preview 198 5/20/2025
2025.10520.11515.16-preview 187 5/20/2025
2025.10518.12303.43-preview 192 5/18/2025
2025.10518.11257.36-preview 177 5/18/2025
2025.10517.12347.27-preview 153 5/17/2025
2025.10517.12003.6-preview 144 5/17/2025
2025.10516.11720.13-preview 215 5/16/2025
2025.10514.12334.2-preview 271 5/14/2025
2025.10514.10015.27-preview 276 5/13/2025
2025.10511.11032.32-preview 221 5/11/2025
2025.10413.11530 268 4/13/2025
2025.10413.11434.33-preview 248 4/13/2025
2025.10413.10205.50-preview 187 4/13/2025
2025.10412.11526.4-preview 153 4/12/2025
2025.10412.10141 160 4/12/2025
2025.10411.11811.23-preview 163 4/11/2025
2025.10411.11645.1-preview 155 4/11/2025
2025.10410.11458.35-preview 217 4/10/2025
2025.10405.10143.28-preview 155 4/5/2025
2025.10403.12208.1-preview 212 4/3/2025
2025.10403.11954.16-preview 226 4/3/2025
2025.10401.11908.24-preview 197 4/1/2025
2025.10401.11559.45-preview 206 4/1/2025
2025.10331.12215.59-preview 202 3/31/2025
2025.10331.12130.34-preview 190 3/31/2025
2025.10331.10056.40-preview 207 3/30/2025
2025.10328.10150.21-preview 186 3/28/2025
2025.10323.11359-preview 320 3/23/2025
2025.10320.11800 221 3/20/2025
2025.10320.11616.45-preview 194 3/20/2025
2025.10320.10000 214 3/19/2025
2025.10319.12311.26-preview 185 3/19/2025
2025.10319.12238.6-preview 197 3/19/2025
2025.10319.12057.59-preview 206 3/19/2025
2025.10318.10055 212 3/18/2025
2025.10317.11728.13-preview 204 3/17/2025
2025.10317.11201.3-preview 191 3/17/2025
2025.10315.11523.14-preview 119 3/15/2025
2025.10305.12342 323 3/5/2025
2025.10305.12321.9-preview 249 3/5/2025
2025.10301.12313 238 3/1/2025
2025.10301.12129.38-preview 143 3/1/2025
2025.10221.10043.29-preview 160 2/21/2025
2025.1051.1246 165 2/20/2025
2025.1051.44.54-preview 150 2/20/2025
2025.1044.1 201 2/13/2025
2025.1044.0.2-preview 157 2/13/2025
2025.1043.0.2-preview 176 2/12/2025
2025.1041.0.1-preview 153 2/10/2025
2025.1038.1 199 2/7/2025
2025.1038.0.1-preview 156 2/7/2025
2025.1035.1 207 2/4/2025
2025.1035.0.1-preview 154 2/4/2025
2025.1034.1 173 2/3/2025
2025.1034.0.1-preview 152 2/3/2025
2025.1033.0.5-preview 155 2/2/2025
2025.1033.0.3-preview 146 2/2/2025
2025.1033.0.2-preview 156 2/2/2025
2025.1033.0.1-preview 151 2/2/2025
2025.1025.1 169 1/25/2025
2025.1025.0.1-preview 144 1/25/2025
2025.1021.1 182 1/21/2025
2025.1021.0.1-preview 144 1/21/2025
2025.1020.1 160 1/20/2025
2025.1020.0.3-preview 144 1/20/2025
2025.1020.0.1-preview 145 1/20/2025
2025.1018.0.7-preview 133 1/18/2025
2025.1018.0.5-preview 119 1/18/2025
2025.1018.0.4-preview 123 1/18/2025
2025.1017.0.2-preview 140 1/17/2025
2025.1017.0.1-preview 144 1/17/2025
2025.1016.0.1-preview 152 1/16/2025
2025.1010.1 166 1/10/2025
2025.1010.0.1-preview 156 1/9/2025
2025.1009.0.3-preview 137 1/9/2025
2025.1007.1 178 1/7/2025
2025.1007.0.5-preview 131 1/7/2025
2025.1007.0.3-preview 158 1/7/2025
2025.1006.1 186 1/7/2025
2025.1005.1 202 1/5/2025
2025.1005.0.2-preview 133 1/5/2025
2025.1004.1 202 1/4/2025
2024.1366.1 146 12/31/2024
2024.1366.0.2-preview 167 12/31/2024
2024.1366.0.1-preview 161 12/31/2024
2024.1365.0.2-preview 149 12/30/2024
2024.1365.0.1-preview 123 12/30/2024
2024.1361.0.2-preview 149 12/26/2024
2024.1353.0.1-preview 165 12/18/2024
2024.1352.0.3-preview 146 12/17/2024
2024.1352.0.2-preview 123 12/17/2024
2024.1352.0.1-preview 111 12/17/2024
2024.1351.1 161 12/16/2024
2024.1351.0.3-preview 133 12/16/2024
2024.1350.1 160 12/15/2024
2024.1343.1 158 12/8/2024
2024.1339.1 180 12/4/2024
2024.1336.1 176 12/1/2024
2024.1332.1 181 11/27/2024
2024.1330.1 169 11/25/2024
2024.1328.1 173 11/23/2024
2024.1325.1 185 11/20/2024
2024.1323.1 168 11/18/2024
2024.1316.1 116 11/11/2024
2024.1307.1 123 11/2/2024
2024.1300.1 138 10/26/2024
2024.1294.1 155 10/20/2024
2024.1290.1 164 10/16/2024
2024.1283.1 263 10/8/2024
2024.1282.1 186 10/8/2024
2024.1278.1 277 10/4/2024
2024.1277.1 193 10/3/2024
2024.1275.2 215 10/1/2024
2024.1275.1 184 10/1/2024
2024.1274.1 149 9/30/2024
2024.1263.1 187 9/19/2024
2024.1261.1 250 9/17/2024
2024.1258.1 188 9/13/2024
2024.1257.1 197 9/13/2024
2024.1256.1 195 9/12/2024
2024.1254.1 191 9/10/2024
2024.1250.1 213 9/6/2024
2024.1249.1 212 9/5/2024
2024.1246.1 217 9/2/2024
2024.1245.1 205 9/1/2024
2024.1237.1 206 8/24/2024
2024.1235.0.1-preview 209 8/23/2024
2024.1230.1 200 8/18/2024
2024.1229.1 211 8/16/2024
2024.1228.1 217 8/15/2024
2024.1222.1 252 8/8/2024
2024.1221.1 189 8/7/2024
2024.1221.0.2-preview 191 8/8/2024
2024.1221.0.1-preview 160 8/8/2024
2024.1220.1 159 8/7/2024
2024.1219.0.2-preview 139 8/6/2024
2024.1219.0.1-preview 143 8/6/2024
2024.1217.0.2-preview 155 8/4/2024
2024.1217.0.1-preview 167 8/4/2024
2024.1216.0.2-preview 148 8/3/2024
2024.1216.0.1-preview 146 8/3/2024
2024.1208.0.1-preview 150 7/26/2024
2024.1207.0.7-preview 158 7/25/2024
2024.1207.0.5-preview 139 7/25/2024
2024.1166.1 211 6/14/2024
2024.1165.1 173 6/13/2024
2024.1164.1 181 6/12/2024
2024.1162.1 180 6/10/2024
2024.1158.1 211 6/6/2024
2024.1156.1 185 6/4/2024
2024.1152.1 234 5/31/2024
2024.1151.1 202 5/29/2024
2024.1150.2 189 5/29/2024
2024.1150.1 178 5/29/2024
2024.1149.1 168 5/28/2024
2024.1147.1 178 5/26/2024
2024.1146.2 178 5/25/2024
2024.1146.1 189 5/25/2024
2024.1145.1 185 5/24/2024
2024.1135.2 168 5/14/2024
2024.1135.1 165 5/14/2024
2024.1134.1 178 5/13/2024
2024.1130.1 237 5/9/2024
2024.1123.1 202 5/2/2024
2024.1121.1 197 4/30/2024
2024.1114.1 212 4/22/2024
2024.1113.0.5-preview 178 4/22/2024
2024.1113.0.3-preview 185 4/22/2024
2024.1113.0.2-preview 153 4/22/2024
2024.1113.0.1-preview 169 4/22/2024
2024.1108.0.1-preview 177 4/17/2024
2024.1107.0.1-preview 172 4/16/2024
2024.1094.2 248 4/3/2024
2024.1094.1 198 4/3/2024
2024.1092.1 225 4/1/2024
2024.1088.1 247 3/28/2024
2024.1085.1 265 3/25/2024
2024.1080.2 281 3/20/2024
2024.1080.1 263 3/20/2024
2024.1078.1 300 3/18/2024
2024.1077.1 301 3/17/2024
2024.1073.1 313 3/13/2024
2024.1070.1 350 3/10/2024
2024.1069.1 367 3/9/2024
2024.1068.1 317 3/8/2024
2024.1066.2 356 3/6/2024
2024.1066.1 314 3/6/2024
2024.1065.1 319 3/5/2024
2024.1065.0.1-preview 292 3/5/2024
2024.1063.2 346 3/3/2024
2024.1063.1 378 3/3/2024
2024.1062.1 367 3/2/2024
2024.1061.2 380 3/1/2024
2024.1061.1 301 3/1/2024
2024.1060.2 314 2/29/2024
2024.1060.1 347 2/29/2024
2024.1060.0.5-preview 304 2/29/2024
2024.1060.0.3-preview 307 2/29/2024
2024.1059.0.1-preview 378 2/28/2024
2024.1058.1 335 2/27/2024
2024.1056.1 400 2/25/2024
2024.1055.1 400 2/24/2024
2024.1052.1 431 2/21/2024
2024.1050.2 458 2/20/2024
2024.1050.1 424 2/19/2024
2024.1049.1 390 2/18/2024
2024.1048.1 427 2/17/2024
2024.1047.1 407 2/16/2024
2024.1035.1 532 2/4/2024
2024.1034.2 470 2/3/2024
2024.1029.1 567 1/29/2024
2024.1023.1 604 1/23/2024
2024.1022.1 515 1/22/2024
2024.1020.1 537 1/20/2024
2024.1019.1 531 1/19/2024
2024.1017.1 566 1/17/2024
2024.1012.1 580 1/12/2024
2024.1010.1 600 1/10/2024
2024.1008.1 613 1/8/2024
2024.1007.1 682 1/7/2024
2024.1005.1 652 1/5/2024
2024.1004.1 604 1/4/2024
2023.1365.1 676 12/31/2023
2023.1362.1 624 12/28/2023
2023.1361.1 630 12/27/2023
2023.1359.1 672 12/25/2023
2023.1358.1 680 12/24/2023
2023.1357.1 860 12/23/2023
2023.1342.1 785 12/8/2023
2023.1336.1 747 12/2/2023
2023.1332.1 714 11/28/2023
2023.1330.1 687 11/26/2023
2023.1325.1 765 11/21/2023
2023.1323.1 704 11/19/2023
2023.1320.1 643 11/17/2023
2023.1318.1 703 11/15/2023
2023.1317.1 132 11/13/2023
2023.1307.1 204 11/3/2023
2023.1305.1 164 11/1/2023
2023.1304.1 137 10/31/2023
2023.1294.1 140 10/21/2023
2023.1290.1 151 10/16/2023
2023.1289.1 156 10/16/2023
2023.1284.1 179 10/11/2023
2023.1276.1 168 10/3/2023
2023.1275.1 141 10/2/2023
2023.1272.1 152 9/29/2023
2023.1269.1 146 9/26/2023
2023.1242.1 903 8/30/2023
2023.1231.1 973 8/19/2023
2023.1229.1 957 8/17/2023
2023.1228.1 919 8/16/2023
2023.1227.1 909 8/15/2023
2023.1224.2 942 8/12/2023
2023.1224.1 989 8/12/2023
2023.1213.2 1,070 8/1/2023
2023.1213.1 1,034 8/1/2023
2023.1209.1 1,029 7/27/2023
2023.1201.1 1,017 7/20/2023
2023.1197.1 1,077 7/16/2023
2023.1178.1 983 6/27/2023
2023.1175.1 1,020 6/24/2023
2023.1174.1 1,017 6/22/2023
2023.1169.1 1,052 6/18/2023
2023.1165.1 983 6/14/2023
2023.1161.1 1,055 6/11/2023
2023.1159.1 993 6/7/2023
2023.1157.1 1,079 6/6/2023
2023.1146.1 998 5/27/2023
2023.1139.1 1,026 5/19/2023
2023.1137.1 1,046 5/17/2023
2023.1136.1 1,111 5/16/2023
2023.1118.1 1,127 4/28/2023
2023.1111.1 1,074 4/21/2023
2023.1110.1 1,127 4/20/2023
2023.1105.1 1,060 4/15/2023
2023.1103.1 964 4/13/2023
2023.1102.1 1,106 4/12/2023
2023.1101.1 1,099 4/11/2023
2023.1090.1 1,140 3/31/2023
2023.1089.1 1,082 3/30/2023
2023.1088.1 1,038 3/29/2023
2023.1082.1 1,031 3/23/2023
2023.1078.1 1,147 3/19/2023
2023.1075.1 1,013 3/16/2023
2023.1070.1 1,116 3/11/2023
2023.1069.1 1,071 3/10/2023
2023.1064.1 1,128 3/5/2023
2023.1060.1 1,154 3/1/2023
2023.1057.1 1,115 2/26/2023
2023.1046.1 1,122 2/15/2023
2023.1043.2 1,155 2/12/2023
2023.1043.1 1,063 2/12/2023
2023.1042.1 1,206 2/11/2023
2023.1041.1 1,094 2/10/2023
2023.1039.1 1,187 2/8/2023
2023.1036.1 1,070 2/5/2023
2023.1035.1 1,128 2/4/2023
2023.1033.1 1,214 2/2/2023
2023.1030.1 1,117 1/30/2023
2023.1028.1 1,095 1/28/2023
2023.1026.1 1,124 1/26/2023
2023.1025.1 1,135 1/25/2023
2023.1024.1 1,229 1/24/2023
2023.1023.1 1,167 1/23/2023
2022.1319.1 1,223 11/15/2022
2022.1309.1 1,180 11/5/2022
2022.1307.1 1,169 11/3/2022
2022.1295.1 1,243 10/22/2022
2022.1290.1 1,304 10/17/2022
2022.1289.2 1,238 10/16/2022
2022.1289.1 1,364 10/16/2022
2022.1283.1 1,272 10/10/2022
2022.1282.1 1,281 10/9/2022
2022.1278.1 1,284 10/5/2022
2022.1272.2 1,307 9/29/2022
2022.1272.1 1,294 9/29/2022
2022.1271.1 1,322 9/28/2022
2022.1266.1 1,420 9/23/2022
2022.1259.1 1,346 9/16/2022
2022.1257.1 1,369 9/14/2022
2022.1250.1 1,317 9/7/2022
2022.1250.0.2-preview 942 9/7/2022
2022.1249.0.2-preview 972 9/6/2022
2022.1249.0.1-preview 946 9/6/2022
2022.1197.1 1,241 7/16/2022
2022.1196.1 1,233 7/15/2022
2022.1194.1 1,335 7/13/2022
2022.1182.1 1,335 7/1/2022
2022.1178.1 1,300 6/27/2022
2022.1166.1 1,267 6/15/2022
2022.1157.1 1,312 6/6/2022
2022.1150.1 1,316 5/30/2022
2022.1149.1 1,281 5/29/2022
2022.1144.1 1,262 5/24/2022
0.6.2 1,343 5/23/2022
0.6.1 1,282 5/23/2022
0.6.0 1,266 5/14/2022
0.5.3 1,361 5/8/2022
0.5.2 1,401 5/1/2022
0.5.1 1,455 5/1/2022
0.5.0 1,483 4/23/2022
0.4.1 1,455 4/15/2022
0.4.0 1,488 4/9/2022
0.3.3 1,450 4/8/2022
0.3.2 1,479 4/1/2022
0.3.1 1,482 3/29/2022
0.3.0 1,449 3/28/2022
0.2.3 1,583 3/28/2022
0.2.2 1,442 3/25/2022
0.2.1 1,502 3/21/2022
0.2.0 1,500 3/18/2022