MudBlazor.Extensions 2.1.0

There is a newer prerelease version of this package available.
See the version list below for details.
dotnet add package MudBlazor.Extensions --version 2.1.0                
NuGet\Install-Package MudBlazor.Extensions -Version 2.1.0                
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="MudBlazor.Extensions" Version="2.1.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MudBlazor.Extensions --version 2.1.0                
#r "nuget: MudBlazor.Extensions, 2.1.0"                
#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.
// Install MudBlazor.Extensions as a Cake Addin
#addin nuget:?package=MudBlazor.Extensions&version=2.1.0

// Install MudBlazor.Extensions as a Cake Tool
#tool nuget:?package=MudBlazor.Extensions&version=2.1.0                

GitHub Repo stars GitHub GitHub last commit Nuget version Nuget downloads Website Publish Nuget Preview Package and deploy Test App Publish Nuget Release Package Deploy TryMudEx

MudBlazor.Extensions

The MudBlazor.Extensions is a convenient package that extends the capabilities of the MudBlazor component library. This guide will demonstrate the setup process for your project, along with detailed explanations of the components, extensions, and functionalities provided. It's important to note that this package requires a MudBlazor project and the referenced MudBlazor package. For further information and assistance, please visit the official MudBlazor documentation at MudBlazor and MudBlazor/Templates.

Demos

Azure Cloudflare

Try Online

TryMudEx

Table of Contents

Installation

The installation process is straightforward. All you need to do is add the MudBlazor.Extensions NuGet package to your Blazor project. You can do this using the following code:

<PackageReference Include="MudBlazor.Extensions" Version="*" />

Setting Up MudBlazor.Extensions

Setting up MudBlazor.Extensions involves three steps:

  1. Update the _Imports.razor with the following lines:
@using MudBlazor.Extensions
@using MudBlazor.Extensions.Components
@using MudBlazor.Extensions.Components.ObjectEdit
  1. Register MudBlazor.Extensions in your Startup.cs in the ConfigureServices method.
// use this to add MudServices and the MudBlazor.Extensions
builder.Services.AddMudServicesWithExtensions();

// or this to add only the MudBlazor.Extensions but please ensure that this is added after mud servicdes are added. That means after `AddMudServices`
builder.Services.AddMudExtensions();
  1. (Optional) Define default dialogOptions.
builder.Services.AddMudServicesWithExtensions(c =>
{
    c.WithDefaultDialogOptions(ex =>
    {
        ex.Position = DialogPosition.BottomRight;
    });
});

if your are running on Blazor Server side, you should also use the MudBlazorExtensionMiddleware you can do this in your startup or program.cs by adding the following line on your WebApplication:

    app.Use(MudExWebApp.MudExMiddleware);

(Optional) if you have problems with automatic loaded styles you can also load the styles manually by adding the following line to your index.html or _Host.cshtml

<link id="mudex-styles" href="_content/MudBlazor.Extensions/mudBlazorExtensions.min.css" rel="stylesheet">

If you have loaded styles manually you should disable the automatic loading of the styles in the AddMudExtensions or AddMudServicesWithExtensions method. You can do this by adding the following line to your Startup.cs in the ConfigureServices method.

builder.Services.AddMudServicesWithExtensions(c => c.WithoutAutomaticCssLoading());

Showcase Videos

<details> <summary>Expand videos</summary>

Showcase

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/39e06d88-a947-43cd-9151-a7cf96bcd849

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/3c77b8bf-6198-4385-b452-f25cc2852e0a

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/ce9bdf86-aaf9-4f04-b861-bd57698bb7f5

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/6b054bdc-a413-437c-8dbb-ded4e242d2a7

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/57f39cec-c3e9-43aa-8bfe-260d9aa05f63

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/c6a0e47d-2ed6-4a4e-b2b8-f4963274c9f8

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/3fc658d7-7fa2-487e-98d2-91860e00374a

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/aa266253-f1ac-450d-bd7b-510d2b99e3c0

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/cf4ff772-953e-4462-90fc-b32249083fb8

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/79bccec3-9e04-4901-a7d2-a08c9cef031c

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/8963eaaa-0f96-4c76-8e3c-c945920b2c23

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/cd5bab33-75cd-442d-a156-f43cc3a1c78c

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/8545a70c-1ce2-4683-8f1e-40a69efe462b

https://github.com/fgilde/MudBlazor.Extensions/assets/11070717/5c736020-94ba-431a-94f7-8e437530978e

</details>

Components

This section introduces you to the various components provided by the MudBlazor.Extensions.

MudExObjectEdit

The MudExObjectEdit is a robust component that allows for object editing and automatically generates the corresponding UI. This component supports automatic validation for DataAnnotation Validations or fluent registered validations for your model.

To use MudExObjectEdit, you can simply use the MudExObjectEditForm and pass your model to it as shown below:

<MudExObjectEditForm OnValidSubmit="@OnSubmit" Value="@MyModel"></MudExObjectEditForm>

You can also utilize the MudExObjectEditDialog to edit your model in a dialog. The easiest way to do this is by using the extension method EditObject on the IDialogService.

dialogService.EditObject(User, "Dialog Title", dialogOptionsEx);

More

MudExStructuredDataEditor

The MudExStructuredDataEditor is a component that allows object editing and automatically generates the corresponding UI based on structured data like json, xml or yaml. This component supports all the same as MudExObjectEditForm.

To use MudExStructuredDataEditor, you can simply bind your data string shown as bellow:

    <MudExStructuredDataEditor @bind-Data="_dataString"></MudExStructuredDataEditor>

You can also utilize the MudExStructuredDataEditor to edit your data in a dialog. The easiest way to do this is by using the extension method EditStructuredDataString on the IDialogService.

dialogService.EditStructuredDataString(_dataType, _dataString, $"Auto Generated Editor for {_dataType}", ((_,_) => Task.FromResult("")));

You can find a running Sample here

MudExFileDisplay

The MudExFileDisplay component is designed to display file contents, such as a preview before uploading or for referenced files. This component can automatically handle URLs or streams and deliver the best possible display. Additionally, you can implement IMudExFileDisplay in your own component to register a custom file display. This is excacly what MudExFileDisplayZip does, which is used by MudExFileDisplay to display zip files or what MudExFileDisplayMarkdown does to display markdown files.

Example of using MudExFileDisplay:

 <MudExFileDisplay FileName="NameOfYourFile.pdf" ContentType="application/pdf" Url="@Url"></MudExFileDisplay>

SAMPLE

MudExFileDisplayZip

This component can be automatically utilized by MudExFileDisplay, but can also be used manually if necessary. Note: If you're using the ContentStream it should not be closed or disposed.

 <MudExFileDisplayZip AllowDownload="@AllowDownload" RootFolderName="@FileName" ContentStream="@ContentStream" Url="@Url"></MudExFileDisplayZip>

SAMPLE

MudExFileDisplayDialog

A small dialog for the MudExFileDisplay Component. It can be used with static helpers as shown below:

 await MudExFileDisplayDialog.Show(_dialogService, dataUrl, request.FileName, request.ContentType, ex => ex.JsRuntime = _jsRuntime);

It can be used directly with an IBrowserFile:

 IBrowserFile file = File;
 await MudExFileDisplayDialog.Show(_dialogService, file, ex => ex.JsRuntime = _jsRuntime);

Or it can be used manually with the MudBlazor dialogService:

var parameters = new DialogParameters
{
    {nameof(Icon), BrowserFileExtensions.IconForFile(contentType)},
    {nameof(Url), url},
    {nameof(ContentType), contentType}
};
await dialogService.ShowEx<MudExFileDisplayDialog>(title, parameters, optionsEx);

SAMPLE

More

MudExUploadEdit

MudExUploadEdit is a versatile file upload component with a wide range of features such as MIME and extension whitelisting/blacklisting, folder upload, drag and drop, copy and paste, renaming, and integration with Dropbox, Google Drive, and OneDrive.

SAMPLE

More

Extensions

Resizable or Draggable Dialogs

You can make your dialogs resizable or draggable using the following code snippet:

var options = new DialogOptionsEx { Resizeable = true, DragMode = MudDialogDragMode.Simple, CloseButton = true, FullWidth = true };
var dialog = await _dialogService.ShowEx<YourMudDialog>("Your Dialog Title", parameters, options);

Adding a Maximize Button

You can add a maximize button to your dialogs with the following code:

var options = new DialogOptionsEx { MaximizeButton = true, CloseButton = true };
var dialog = await _dialogService.ShowEx<YourMudDialog>("Your Dialog Title", parameters, options);

Adding Custom Buttons

To add custom buttons to your dialog, first define the callback methods as JSInvokable in your component code:

[JSInvokable]
public void AlarmClick()
{
   // OnAlarmButton Click
}

[JSInvokable]
public void ColorLensClick()
{
   // OnColorLensButton Click
}

Next, define your custom buttons:

var buttons = new[]
{
    new MudDialogButton( DotNetObjectReference.Create(this as object), nameof(AlarmClick)) {Icon = Icons.Material.Filled.Alarm},
    new MudDialogButton( DotNetObjectReference.Create(this as object), nameof(ColorLensClick)) {Icon = Icons.Material.Filled.ColorLens},
};

Finally, add your custom buttons to the dialog:

var options = new DialogOptionsEx { MaximizeButton = true, CloseButton = true, Buttons = buttons };
var dialog = await _dialogService.ShowEx<YourMudDialog>("Your Dialog Title", parameters, options);

Your dialog can now look like this:

SAMPLE

Using Animation to Show Dialog

You can use animation to display your dialog. This is done by setting the Animation property of DialogOptionsEx.

var options = new DialogOptionsEx { 
    MaximizeButton = true, 
    CloseButton = true, 
    Buttons = buttons, 
    Position = DialogPosition.CenterRight, 
    Animation = AnimationType.SlideIn, 
    AnimationDuration = TimeSpan.FromMilliseconds(500),
    FullHeight = true
};
var dialog = await _dialogService.ShowEx<YourMudDialog>("Your Dialog Title", parameters, options);

SAMPLE

When you animate a dialog with dialogServiceEx, it's recommended to add the class mud-ex-dialog-initial to your dialog to ensure no visibility before animation.

<MudDialog Class="mud-ex-dialog-initial">

NOTE: All animations can be used on other components as well. Currently, the following animations are supported: SlideIn,FadeIn,Scale,Slide,Fade,Zoom,Roll,JackInTheBox,Hinge,Rotate,Bounce,Back,Jello,Wobble,Tada,Swing,HeadShake,Shake,RubberBand,Pulse,Flip,FlipX,FlipY.

Using Extension Method with an Action<YourDialog>

Instead of using DialogParameters, you can call the extension method with an Action<YourDialog>

await dialogService.ShowEx<SampleDialog>("Simple Dialog", dialog => { dialog.ContentMessage = "Hello"; },options);

More

Conclusion

This README file provides an overview of the MudBlazor.Extensions library, which is designed to simplify and enhance the development process in Blazor using MudBlazor. The library contains a variety of components, extensions, and features that aim to reduce the time and effort required to build intricate UIs. For additional information or help, visit the official MudBlazor website or MudBlazor GitHub repository.

We hope you find this library helpful and encourage you to provide any feedback or contribute to its development.

License

MudBlazor.Extensions is released under the MIT License. See the bundled LICENSE file for details.

Change Log

Latest Changes:

  • 2.1.0 > MudExObject now supports default focused element within the meta configuration with meta.Property(m => m.LastName).WithDefaultFocus()
  • 2.1.0 > MudExObject edit now has AutoFocus for first input field if no other focus is configured
  • 2.1.0 > Provide a Middleware again without deprecated UseMudExtensions now you should use app.Use(MudExWebApp.MudExMiddleware);
  • 2.1.0 > Fix another bug with dialog that only occurs on webassembly projects hosted in a .net8 runtime
  • 2.0.9 > Fix bug with dialog animations on server side rendered projects #112
  • 2.0.8 > Ensure dialog initial relative state if configured
  • 2.0.8 > Fix Remove Item Bug in Collection editor
  • 2.0.7 > Update MudBlazor to 7.15.0
  • 2.0.7 > For the MudExObjectEdit you can now easially register a component as editor for a specific type see here how you can register your component as editor for a type
  • 2.0.7 > Breaking: The DailogOptionsEx class has a new Property KeepRelations. this is true by default and ensures positions and sizes are in relative percentage values. With this a dialog stays in the same position and size relative to the screen size. If you want to have a dialog with fixed sizes and positions you can set this to false and return to the old behaviour.
  • 2.0.7 > The DailogOptionsEx class has a new Property KeepMaxSizeConstraints. if this is is true then the max width and max height while resizing is limited to initial MaxWidth or MaxHeight property values.
  • 2.0.7 > New Component MudExObjectEditPicker is the known MudExObjectEdit as a picker.
  • 2.0.7 > All MudEx picker components like MudExObjectEditPicker MudExColorEdit, MudExIconPicker or MudExPicker now inherits from new MudExPickerBase. All theese pickers now supports animations, and all DialogOptionsEx for PickerVariant as Dialog
  • 2.0.7 > New Component MudExPicker is a picker component that easially supports own picker content.
  • 2.0.7 > New Component MudExGroupBox is a simple group box component to group content with a title and a border.
  • 2.0.7 > MudExUploadEdit now allows recording of audio, video and captured screen directly using the new CaptureService
  • 2.0.7 > Add CaptureService to allow easy recording of screen capture, camera video and audio
  • 2.0.7 > New Component MudExCaptureButton to allow easy recording of screen capture, camera video and audio
  • 2.0.6 > MudExAudioPlayer now displays meta infos
  • 2.0.6 > The MudExImageViewer now allows area to select with a rubberband and open, download, print or directly switching the view to the selected area as an image.
  • 2.0.6 > Allow Xls and CSV files and fix header bug in MudExFileDisplayExcel
  • 2.0.6 > Allow async child loading in MudExTreeView.
  • 2.0.6 > Fixed error in sample app for MudExSelect and MudExThemeEdit
  • 2.0.6 > update used nuget packages to latest versions
  • 2.0.6 > update MudBlazor to 7.11.0
  • 2.0.6 > Add New Component MudExFileDisplayOfficeLive to support preview of any remote accessable office files in MudExFileDisplay and MudExUploadEdit .
  • 2.0.6 > Use MudExAdditionalAdornment for Theme edit buttons in MudExThemeEdit
  • 2.0.6 > Fix some style bugs
  • 2.0.6 > Breaking: Signature of IMudExFileDisplay CanHandleFile changed to an async method. This allows to handle async file checks. The method now returns a Task<bool> instead of a bool.

Full change log can be found here

Planned Features

Notice this is just a first preview version. There are some features planned like

  • Dragging with snap behaviour

If you like this package, please star it on GitHub and share it with your friends If not, you can give a star anyway and let me know what I can improve to make it better for you.

GitHub NuGet

Product Compatible and additional computed target framework versions.
.NET net7.0 is compatible.  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. 
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 MudBlazor.Extensions:

Package Downloads
MudExRichTextEditor

MudExRichTextEditor is a custom reusable control that allows us to easily consume Quill combining in a MudBlazor project.

Corsinvest.AppHero.Core.MudBlazorUI

Package Description

MudExObjectEdit.CodeGatorAdapter

This is a small package to combine CG.Blazor.Forms with the MudExObjectEdit from MudBlazor.Extensions

GitHub repositories (3)

Showing the top 3 popular GitHub repositories that depend on MudBlazor.Extensions:

Repository Stars
DragoQCC/HardHatC2
A C# Command & Control framework
CervantesSec/cervantes
Cervantes is an open-source, collaborative platform designed specifically for pentesters and red teams. It serves as a comprehensive management tool, streamlining the organization of projects, clients, vulnerabilities, and reports in a single, centralized location.
fgilde/MudBlazor.Extensions
MudBlazor.Extensions from https://www.mudex.org is a small extension for MudBlazor from https://mudblazor.com
Version Downloads Last updated
8.0.0-prev-2412171357-mudbl... 69 12/17/2024
8.0.0-prev-2412151332-mudbl... 64 12/15/2024
8.0.0-prev-2412151237-mudbl... 47 12/15/2024
8.0.0-prev-2412121028-mudbl... 74 12/12/2024
8.0.0-prev-241208136-mudbla... 55 12/8/2024
8.0.0-prev-2411232146-mudbl... 79 11/23/2024
8.0.0-prev-2411231411-mudbl... 68 11/23/2024
2.1.1-prev-241217157-main 60 12/17/2024
2.1.0 369 12/17/2024
2.1.0-prev-241217140-main 78 12/17/2024
2.1.0-prev-2412171354-main 57 12/17/2024
2.1.0-prev-2412171226-main 64 12/17/2024
2.1.0-prev-2412151328-main 65 12/15/2024
2.1.0-prev-2412151250-main 71 12/15/2024
2.0.9-prev-2412151234-main 69 12/15/2024
2.0.9-prev-2412151211-main 71 12/15/2024
2.0.8 2,481 11/24/2024
2.0.8-prev-2412151156-main 65 12/15/2024
2.0.8-prev-2411231921-main 66 11/23/2024
2.0.8-prev-2411231414-main 63 11/23/2024
2.0.8-prev-2411221214-main 68 11/22/2024
2.0.8-prev-2411221019-main 67 11/22/2024
2.0.7.1 1,656 11/18/2024
2.0.7.1-prev-2411220950-main 71 11/22/2024
2.0.7.1-prev-2411181238-main 66 11/18/2024
2.0.7 295 11/17/2024
2.0.7-prev-2411171939-main 68 11/17/2024
2.0.7-prev-2411152211-main 75 11/15/2024
2.0.7-prev-2411121224-main 97 11/12/2024
2.0.7-prev-2411111731-main 90 11/11/2024
2.0.7-prev-2411110931-main 88 11/11/2024
2.0.7-prev-241111092-main 86 11/11/2024
2.0.7-prev-2411101417-main 82 11/10/2024
2.0.7-prev-2411051728-main 82 11/5/2024
2.0.7-prev-2411032052-main 88 11/3/2024
2.0.7-prev-241031237-main 85 10/31/2024
2.0.7-prev-2410312310-main 63 10/31/2024
2.0.7-prev-2410281059-main 79 10/28/2024
2.0.7-prev-241027214-main 79 10/27/2024
2.0.7-prev-2410261937-main 78 10/26/2024
2.0.7-prev-2410252028-main 77 10/25/2024
2.0.7-prev-2410250745-main 88 10/25/2024
2.0.7-prev-2410211158-main 81 10/21/2024
2.0.7-prev-2410122330-main 103 10/12/2024
2.0.6 4,756 10/12/2024
2.0.6-prev-2410122326-main 73 10/12/2024
2.0.6-prev-2410122324-main 71 10/12/2024
2.0.6-prev-241012219-main 83 10/12/2024
2.0.6-prev-2410121210-main 83 10/12/2024
2.0.6-prev-2410121158-main 86 10/12/2024
2.0.6-prev-2410112244-main 75 10/11/2024
2.0.6-prev-2410112222-main 88 10/11/2024
2.0.6-prev-2410112142-main 83 10/11/2024
2.0.6-prev-2410112114-main 80 10/11/2024
2.0.6-prev-2410112052-main 78 10/11/2024
2.0.6-prev-2410112021-main 75 10/11/2024
2.0.6-prev-2409240850-main 111 9/24/2024
2.0.6-prev-2409231432-main 83 9/23/2024
2.0.6-prev-2409231336-main 67 9/23/2024
2.0.6-prev-2409231328-main 79 9/23/2024
2.0.6-prev-2409231228-main 87 9/23/2024
2.0.6-prev-2409101419-main 173 9/10/2024
2.0.6-prev-2409101324-main 91 9/10/2024
2.0.6-prev-2409101031-main 105 9/10/2024
2.0.5 3,080 9/10/2024
2.0.5-prev-2409101025-main 93 9/10/2024
2.0.4 507 9/2/2024
2.0.4-prev-2409021559-main 83 9/2/2024
2.0.4-prev-2409021543-main 89 9/2/2024
2.0.4-prev-2408301757-main 91 8/30/2024
2.0.4-prev-240806216-main 131 8/6/2024
2.0.3 4,268 8/6/2024
2.0.3-prev-2408060651-main 73 8/6/2024
2.0.3-prev-2407162111-main 143 7/16/2024
2.0.2 4,109 7/16/2024
2.0.2-prev-240716212-main 85 7/16/2024
2.0.1-prev-2407161734-main 104 7/16/2024
2.0.0 1,429 7/9/2024
2.0.0-prev-2407080832-main 123 7/8/2024
2.0.0-prev-2407080828-main 98 7/8/2024
2.0.0-prev-2407080824-for-m... 53 7/8/2024
2.0.0-prev-2407080757-for-m... 43 7/8/2024
2.0.0-prev-2407041714-for-m... 81 7/4/2024
2.0.0-prev-2407041643-for-m... 53 7/4/2024
2.0.0-prev-2407031525-for-m... 73 7/3/2024
2.0.0-prev-2407031417-for-m... 58 7/3/2024
2.0.0-prev-2407011629-for-m... 85 7/1/2024
2.0.0-prev-2406301522-for-m... 116 6/30/2024
1.7.89 2,075 6/28/2024
1.7.89-prev-2406281250-main 85 6/28/2024
1.7.88-prev-2406281119-main 91 6/28/2024
1.7.88-prev-2406271513-main 102 6/27/2024
1.7.88-prev-2406241329-main 84 6/24/2024
1.7.88-prev-2406201445-main 90 6/20/2024
1.7.88-prev-2406201321-main 65 6/20/2024
1.7.88-prev-2406200938-main 82 6/20/2024
1.7.88-prev-240619108-main 104 6/19/2024
1.7.88-prev-2406191018-main 100 6/19/2024
1.7.88-prev-2406171154-main 100 6/17/2024
1.7.88-prev-2406051024-main 131 6/5/2024
1.7.88-prev-2406050857-main 89 6/5/2024
1.7.88-prev-2406042343-main 111 6/4/2024
1.7.88-prev-2406042336-main 100 6/4/2024
1.7.88-prev-2406042253-main 98 6/4/2024
1.7.88-prev-2406041330-main 79 6/4/2024
1.7.88-prev-2406041236-main 96 6/4/2024
1.7.88-prev-240526158-main 120 5/26/2024
1.7.88-prev-2405261413-main 128 5/26/2024
1.7.88-prev-2405141254-main 116 5/14/2024
1.7.88-prev-2405061530-main 183 5/6/2024
1.7.88-prev-2405020855-main 93 5/2/2024
1.7.88-prev-240429142-main 104 4/29/2024
1.7.88-prev-240425199-main 102 4/25/2024
1.7.88-prev-2404231313-main 112 4/23/2024
1.7.87 18,633 4/23/2024
1.7.87-prev-240423135-main 98 4/23/2024
1.7.87-prev-2404231253-main 111 4/23/2024
1.7.87-prev-2404011353-main 205 4/1/2024
1.7.87-prev-2404011345-main 109 4/1/2024
1.7.87-prev-2404011246-main 98 4/1/2024
1.7.87-prev-2403220933-main 112 3/22/2024
1.7.86 6,229 3/22/2024
1.7.86-prev-2403220928-main 103 3/22/2024
1.7.86-prev-2403171653-main 83 3/17/2024
1.7.86-prev-2403132130-main 110 3/13/2024
1.7.86-prev-2403130931-main 108 3/13/2024
1.7.86-prev-2403081028-main 113 3/8/2024
1.7.85 5,485 3/8/2024
1.7.85-prev-2403081025-main 87 3/8/2024
1.7.85-prev-2403081022-main 101 3/8/2024
1.7.85-prev-2403041240-main 179 3/4/2024
1.7.85-prev-240222126-main 146 2/22/2024
1.7.85-prev-2402221216-main 105 2/22/2024
1.7.85-prev-2402221115-main 127 2/22/2024
1.7.85-prev-2402190751-main 133 2/19/2024
1.7.85-prev-2402190729-main 97 2/19/2024
1.7.85-prev-2402190713-main 95 2/19/2024
1.7.84 1,619 2/18/2024
1.7.84-prev-2402180010-main 95 2/18/2024
1.7.84-prev-2402172351-main 116 2/17/2024
1.7.84-prev-2402172339-main 101 2/17/2024
1.7.84-prev-2402091223-main 164 2/9/2024
1.7.84-prev-240209113-main 119 2/9/2024
1.7.83 5,870 1/22/2024
1.7.83-prev-2401221429-main 100 1/22/2024
1.7.83-prev-2401121446-main 317 1/12/2024
1.7.83-prev-2401101129-main 119 1/10/2024
1.7.83-prev-2401092213-main 118 1/9/2024
1.7.82 1,898 1/7/2024
1.7.81 219 1/5/2024
1.7.81-prev-2401051055-main 122 1/5/2024
1.7.81-prev-2401051015-main 132 1/5/2024
1.7.81-prev-2401041559-main 132 1/4/2024
1.7.81-prev-2401041556-main 108 1/4/2024
1.7.81-prev-2401041328-main 138 1/4/2024
1.7.81-prev-2401040943-main 136 1/4/2024
1.7.81-prev-231229177-main 151 12/29/2023
1.7.81-prev-2312291458-main 132 12/29/2023
1.7.81-prev-2312291325-main 112 12/29/2023
1.7.81-prev-2312291316-main 132 12/29/2023
1.7.80 1,079 12/27/2023
1.7.80-prev-2312221335-main 101 12/22/2023
1.7.80-prev-2312221224-main 120 12/22/2023
1.7.80-prev-231222116-main 108 12/22/2023
1.7.80-prev-2312221146-main 112 12/22/2023
1.7.80-prev-231221168-main 94 12/21/2023
1.7.80-prev-2312191356-main 111 12/19/2023
1.7.80-prev-2312190726-main 120 12/19/2023
1.7.79 1,851 12/19/2023
1.7.79-prev-2312190722-main 96 12/19/2023
1.7.79-prev-2312190720-main 118 12/19/2023
1.7.79-prev-2312190625-main 110 12/19/2023
1.7.79-prev-231218186-main 143 12/18/2023
1.7.79-prev-2312180725-main 123 12/18/2023
1.7.79-prev-2312171656-main 117 12/17/2023
1.7.78 275 12/17/2023
1.7.78-prev-2312171653-main 111 12/17/2023
1.7.78-prev-231208136-main 147 12/8/2023
1.7.78-prev-2312081239-main 114 12/8/2023
1.7.78-prev-231125227-main 179 11/25/2023
1.7.78-prev-231125183-main 109 11/25/2023
1.7.78-prev-2311251743-main 108 11/25/2023
1.7.78-prev-2311231527-main 125 11/23/2023
1.7.78-prev-2311231154-main 92 11/23/2023
1.7.78-prev-2311231145-main 107 11/23/2023
1.7.77 2,376 11/23/2023
1.7.77-prev-2311201432-main 107 11/20/2023
1.7.77-prev-2311201358-main 74 11/20/2023
1.7.77-prev-2311190052-main 109 11/19/2023
1.7.77-prev-2311171311-main 119 11/17/2023
1.7.77-prev-2311161753-main 103 11/16/2023
1.7.77-prev-2311161216-main 94 11/16/2023
1.7.77-prev-2311121951-main 118 11/12/2023
1.7.77-prev-2311121934-main 95 11/12/2023
1.7.77-prev-2311121925-main 96 11/12/2023
1.7.77-prev-2311091211-main 94 11/9/2023
1.7.77-prev-2311091156-main 96 11/9/2023
1.7.77-prev-2311060859-main 119 11/6/2023
1.7.77-prev-2311060848-main 100 11/6/2023
1.7.77-prev-2311050019-main 110 11/5/2023
1.7.77-prev-2311041315-main 74 11/4/2023
1.7.76 3,292 11/4/2023
1.7.76-prev-231104016-main 93 11/4/2023
1.7.76-prev-2311032342-main 90 11/3/2023
1.7.76-prev-2311031311-main 104 11/3/2023
1.7.76-prev-2311031256-main 93 11/3/2023
1.7.76-prev-2311031251-main 93 11/3/2023
1.7.76-prev-2311031027-main 103 11/3/2023
1.7.76-prev-2311022342-main 122 11/2/2023
1.7.76-prev-2311021936-main 102 11/2/2023
1.7.76-prev-231102154-main 89 11/2/2023
1.7.76-prev-2311021449-main 97 11/2/2023
1.7.76-prev-2311012343-main 111 11/1/2023
1.7.76-prev-2311012314-main 108 11/1/2023
1.7.76-prev-2311012314-ext-... 82 11/1/2023
1.7.76-prev-231031150-ext-f... 88 10/31/2023
1.7.76-prev-2310301549-ext-... 120 10/30/2023
1.7.76-prev-2310280957-main 120 10/28/2023
1.7.76-prev-2310280956-main 100 10/28/2023
1.7.76-prev-2310271059-main 127 10/27/2023
1.7.76-prev-2310241548-main 125 10/24/2023
1.7.76-prev-231022130-main 123 10/22/2023
1.7.75 811 10/22/2023
1.7.75-prev-2310212254-main 113 10/21/2023
1.7.75-prev-2310211835-main 113 10/21/2023
1.7.75-prev-231021163-main 115 10/21/2023
1.7.75-prev-2310121838-main 233 10/12/2023
1.7.75-prev-2310121149-main 458 10/12/2023
1.7.75-prev-231010155-main 109 10/10/2023
1.7.74 1,742 10/10/2023
1.7.74-prev-2310101053-main 107 10/10/2023
1.7.74-prev-2310091858-main 110 10/9/2023
1.7.74-prev-2310090849-main 108 10/9/2023
1.7.73 233 10/9/2023
1.7.73-prev-2310081110-main 105 10/8/2023
1.7.73-prev-231008111-main 94 10/8/2023
1.7.73-prev-2310081017-main 123 10/8/2023
1.7.73-prev-231008100-main 116 10/8/2023
1.7.73-prev-2310080956-main 98 10/8/2023
1.7.73-prev-2310080917-main 118 10/8/2023
1.7.73-prev-2310071939-main 107 10/7/2023
1.7.72 491 10/7/2023
1.7.72-prev-2310071923-main 103 10/7/2023
1.7.72-prev-231006178-main 107 10/6/2023
1.7.72-prev-231006167-main 106 10/6/2023
1.7.72-prev-2310061631-main 95 10/6/2023
1.7.72-prev-2310061526-main 113 10/6/2023
1.7.72-prev-2310061333-main 134 10/6/2023
1.7.72-prev-2310051926-main 100 10/5/2023
1.7.72-prev-2310051653-main 110 10/5/2023
1.7.72-prev-231005106-main 110 10/5/2023
1.7.72-prev-231004133-main 106 10/4/2023
1.7.72-prev-2310041222-main 109 10/4/2023
1.7.72-prev-2310032119-main 122 10/3/2023
1.7.72-prev-2310032118-fgil... 97 10/3/2023
1.7.72-prev-2310031840-main 116 10/3/2023
1.7.72-prev-2310021853-main 114 10/2/2023
1.7.71 2,612 10/2/2023
1.7.71-prev-2310021827-main 102 10/2/2023
1.7.71-prev-2310021435-main 99 10/2/2023
1.7.71-prev-2310011635-main 184 10/1/2023
1.7.71-prev-2310011354-main 107 10/1/2023
1.7.71-prev-2310011345-main 105 10/1/2023
1.7.70 179 10/1/2023
1.7.70-prev-2310011336-main 101 10/1/2023
1.7.70-prev-2310011335-main 96 10/1/2023
1.7.70-prev-2310011324-main 107 10/1/2023
1.7.70-prev-2310011118-try-... 105 10/1/2023
1.7.70-prev-2310011118-main 101 10/1/2023
1.7.70-prev-2309302143-try-... 123 9/30/2023
1.7.70-prev-2309302141-try-... 91 9/30/2023
1.7.70-prev-2309302139-try-... 103 9/30/2023
1.7.70-prev-2309301923-try-... 101 9/30/2023
1.7.70-prev-2309301858-try-... 100 9/30/2023
1.7.70-prev-2309301051-try-... 106 9/30/2023
1.7.70-prev-2309281230-main 107 9/28/2023
1.7.70-prev-2309281230-fgil... 100 9/28/2023
1.7.70-prev-2309251813-try-... 122 9/25/2023
1.7.70-prev-230925161-try-m... 119 9/25/2023
1.7.70-prev-2309251213-try-... 103 9/25/2023
1.7.70-prev-2309241830-main 109 9/24/2023
1.7.70-prev-2309211820-main 104 9/21/2023
1.7.69 1,082 9/21/2023
1.7.69-prev-2309201754-main 81 9/20/2023
1.7.68 151 9/20/2023
1.7.68-prev-2309201120-main 114 9/20/2023
1.7.68-prev-2309182049-stre... 113 9/18/2023
1.7.68-prev-230918145-main 117 9/18/2023
1.7.68-prev-230918144-refac... 102 9/18/2023
1.7.68-prev-2309181059-main 93 9/18/2023
1.7.68-prev-2309180958-main 104 9/18/2023
1.7.68-prev-2309180956-open... 79 9/18/2023
1.7.68-prev-2309171718-open... 100 9/17/2023
1.7.68-prev-2309151317-main 112 9/15/2023
1.7.68-prev-2309151125-main 97 9/15/2023
1.7.68-prev-2309151111-main 104 9/15/2023
1.7.68-prev-230915091-main 91 9/15/2023
1.7.68-prev-2309150859-main 94 9/15/2023
1.7.68-prev-2309150848-for-... 78 9/15/2023
1.7.68-prev-2309150839-main 90 9/15/2023
1.7.68-prev-2309141720-main 122 9/14/2023
1.7.68-prev-2309141624-main 86 9/14/2023
1.7.68-prev-2309140951-main 104 9/14/2023
1.7.68-prev-2309132130-main 126 9/13/2023
1.7.68-prev-2309132129-main 114 9/13/2023
1.7.68-prev-2309131352-main 114 9/13/2023
1.7.67 1,175 9/11/2023
1.7.67-prev-2309111714-main 114 9/11/2023
1.7.67-prev-230908125-main 100 9/8/2023
1.7.67-prev-2309011638-main 127 9/1/2023
1.7.67-prev-2309011345-main 91 9/1/2023
1.7.67-prev-2309011325-main 95 9/1/2023
1.7.67-prev-2309011132-main 109 9/1/2023
1.7.67-prev-2309010947-main 104 9/1/2023
1.7.67-prev-230831169-main 91 8/31/2023
1.7.67-prev-230830177-main 123 8/30/2023
1.7.67-prev-230829129-main 114 8/29/2023
1.7.66 685 8/29/2023
1.7.66-prev-230829124-main 113 8/29/2023
1.7.66-prev-2308290944-main 117 8/29/2023
1.7.66-prev-230825191-main 308 8/25/2023
1.7.66-prev-2308251844-main 108 8/25/2023
1.7.66-prev-2308251828-main 116 8/25/2023
1.7.66-prev-2308251247-main 107 8/25/2023
1.7.65 259 8/25/2023
1.7.65-prev-2308251231-main 111 8/25/2023
1.7.65-prev-2308251228-main 103 8/25/2023
1.7.65-prev-2308251226-main 119 8/25/2023
1.7.65-prev-2308250947-main 109 8/25/2023
1.7.65-prev-2308241938-main 115 8/24/2023
1.7.65-prev-2308241926-main 105 8/24/2023
1.7.65-prev-2308241849-feat... 106 8/24/2023
1.7.65-prev-2308150852-main 129 8/15/2023
1.7.65-prev-2308150844-TEST... 97 8/15/2023
1.7.65-d2308141450 115 8/14/2023
1.7.65-d2308141444 119 8/14/2023
1.7.65-d2308141158 116 8/14/2023
1.7.65-d2308141150 117 8/14/2023
1.7.65-d2308141146 106 8/14/2023
1.7.65-d2308140839 119 8/14/2023
1.7.65-d2308122013 134 8/12/2023
1.7.65-d230802214 140 8/2/2023
1.7.65-d230802213 129 8/2/2023
1.7.65-d2308022035 140 8/2/2023
1.7.65-d2308022032 132 8/2/2023
1.7.65-d2307302336 131 7/30/2023
1.7.65-d2307302320 111 7/30/2023
1.7.64 1,059 7/30/2023
1.7.64-d2307302317 122 7/30/2023
1.7.64-d2307302247 138 7/30/2023
1.7.64-d2307291444 141 7/29/2023
1.7.64-d2307291441 140 7/29/2023
1.7.64-d2307291440 136 7/29/2023
1.7.64-d230728177 142 7/28/2023
1.7.64-d2307281652 126 7/28/2023
1.7.64-d2307221851 153 7/22/2023
1.7.64-d2307200948 137 7/20/2023
1.7.64-d2307200916 133 7/20/2023
1.7.64-d230720090 110 7/20/2023
1.7.64-d2307191235 148 7/19/2023
1.7.64-d230718144 151 7/18/2023
1.7.64-d230718143 136 7/18/2023
1.7.64-d230718137 135 7/18/2023
1.7.64-d2307181322 131 7/18/2023
1.7.64-d2307181313 130 7/18/2023
1.7.64-d230718130 132 7/18/2023
1.7.64-d2307181252 125 7/18/2023
1.7.64-d230718121 133 7/18/2023
1.7.64-d2307181158 132 7/18/2023
1.7.64-d2307171630 151 7/17/2023
1.7.64-d2307151446 155 7/15/2023
1.7.63 768 7/14/2023
1.7.63-d2307141132 133 7/14/2023
1.7.63-d2307121411 122 7/12/2023
1.7.62 254 7/12/2023
1.7.62-d2307120842 137 7/12/2023
1.7.62-d2307112153 134 7/11/2023
1.7.62-d2307101518 131 7/10/2023
1.7.62-d2307101423 136 7/10/2023
1.7.62-d230710142 125 7/10/2023
1.7.62-d2307101318 132 7/10/2023
1.7.61 509 7/7/2023
1.7.61-d230707173 131 7/7/2023
1.7.61-d230707170 124 7/7/2023
1.7.61-d230707119 144 7/7/2023
1.7.61-d2307071021 134 7/7/2023
1.7.61-d230706145 150 7/6/2023
1.7.61-d2307061444 127 7/6/2023
1.7.61-d2307061410 117 7/6/2023
1.7.61-d2307061334 136 7/6/2023
1.7.61-d2307061322 115 7/6/2023
1.7.61-d2307061311 124 7/6/2023
1.7.61-d2307061127 116 7/6/2023
1.7.61-d2307061047 128 7/6/2023
1.7.61-d2307060938 136 7/6/2023
1.7.60 375 7/3/2023
1.7.60-d230703103 126 7/3/2023
1.7.60-d2307030954 119 7/3/2023
1.7.59 608 6/27/2023
1.7.59-d2307030945 124 7/3/2023
1.7.59-d2307030929 126 7/3/2023
1.7.58 152 6/27/2023
1.7.57 517 6/26/2023
1.7.55 191 6/24/2023
1.7.54 296 6/21/2023
1.7.49 1,023 6/13/2023
1.7.48 529 6/12/2023
1.7.47 193 6/12/2023
1.7.46 974 6/6/2023
1.7.45 264 6/2/2023
1.7.44 191 6/2/2023
1.7.43 166 6/1/2023
1.7.42 314 5/31/2023
1.7.41 3,127 5/8/2023
1.7.40 2,028 5/2/2023
1.7.39 175 5/2/2023
1.7.38 283 5/1/2023
1.7.37 210 4/28/2023
1.7.36 187 4/28/2023
1.7.35 508 4/17/2023
1.7.34 410 4/10/2023
1.7.33 4,687 3/2/2023
1.7.32 1,419 2/15/2023
1.7.31 2,678 2/2/2023
1.7.30 915 1/4/2023
1.7.29 328 1/3/2023
1.7.28 298 1/3/2023
1.7.27 528 12/25/2022
1.7.26 335 12/23/2022
1.7.24 369 12/19/2022
1.7.23 309 12/19/2022
1.7.22 323 12/19/2022
1.7.21 745 12/13/2022
1.7.20 392 12/12/2022
1.7.11 592 11/30/2022
1.7.10 607 11/19/2022
1.6.76 2,528 11/14/2022
1.6.75 361 11/14/2022
1.6.74 387 11/13/2022
1.6.73 472 11/7/2022
1.6.72 364 11/7/2022
1.6.71 508 11/4/2022
1.6.70 371 11/4/2022
1.6.69 372 11/3/2022
1.6.68 359 11/3/2022
1.6.67 457 10/24/2022
1.6.66 662 10/12/2022
1.6.65 427 10/11/2022
1.6.64 701 9/26/2022
1.6.63 479 9/23/2022
1.6.62 501 9/19/2022
1.6.6 493 9/18/2022
1.6.5 747 9/17/2022
1.6.4 468 9/17/2022
1.6.3 481 9/17/2022
1.6.2 466 9/16/2022
1.6.1 491 9/16/2022
1.6.0 471 9/15/2022
1.5.9 536 9/14/2022
1.5.8 466 9/13/2022
1.5.6 478 9/11/2022
1.5.5 458 9/11/2022
1.5.4 491 9/9/2022
1.5.2 459 9/8/2022
1.5.1 484 9/8/2022
1.5.0 504 9/8/2022
1.4.3 571 8/30/2022
1.4.2 477 8/30/2022
1.4.1 460 8/29/2022
1.4.0 448 8/29/2022
1.3.91 457 8/29/2022
1.3.9 472 8/29/2022
1.3.8 453 8/28/2022
1.3.7 438 8/28/2022
1.3.6 474 8/26/2022
1.3.5 545 8/22/2022
1.3.4 440 8/22/2022
1.3.3 462 8/22/2022
1.3.2 459 8/22/2022
1.3.1 498 8/19/2022
1.3.0 671 8/1/2022
1.2.9 472 8/1/2022
1.2.8 517 7/21/2022
1.2.7 2,575 6/19/2022
1.2.6 483 6/18/2022
1.2.5 503 6/9/2022
1.2.3 591 5/30/2022
1.2.2 706 3/31/2022
1.2.1 485 3/24/2022
1.2.0 605 12/27/2021
1.1.0 1,010 12/5/2021
1.0.0-preview.211002142256 210 10/2/2021