Uno.Cupertino.WinUI
1.3.0-dev.12
Prefix Reserved
See the version list below for details.
dotnet add package Uno.Cupertino.WinUI --version 1.3.0-dev.12
NuGet\Install-Package Uno.Cupertino.WinUI -Version 1.3.0-dev.12
<PackageReference Include="Uno.Cupertino.WinUI" Version="1.3.0-dev.12" />
paket add Uno.Cupertino.WinUI --version 1.3.0-dev.12
#r "nuget: Uno.Cupertino.WinUI, 1.3.0-dev.12"
// Install Uno.Cupertino.WinUI as a Cake Addin #addin nuget:?package=Uno.Cupertino.WinUI&version=1.3.0-dev.12&prerelease // Install Uno.Cupertino.WinUI as a Cake Tool #tool nuget:?package=Uno.Cupertino.WinUI&version=1.3.0-dev.12&prerelease
This library is designed to help you use the material design system. It includes :
- Color system for both Light and Dark theme
- Styles for existing WinUI controls like Buttons, TextBox, etc.
Quickly visualize all the available controls through this zeplin link
Platform support:
- WinUI / UWP
- iOS
- MacOS
- Android
- WebAssembly
- Linux (Skia.Gtk)
Uno Material Design Guideline is a resource for designers and software developers that combines Material and Uno design guidance in single document. It is an easy way to kickstart design and implementation of cross-platform experiences with unified Material design system look and feel, using Sketch and Uno Platform.
Download the Uno Platform Design Guidelines sketch file to get started.
It includes:
- Uno-Material components
- Uno type resource names
- Uno asset naming and export guidance
Getting Started
- Install the nuget package Uno.Material.
- Unless you want our default color palette (inspired by our Uno logo), you'll want to override the following color resources in you application. We suggest creating a ColorPaletteOverride.xaml
ResourceDictionary
. For more information on the color system, consult this page for all the official documentation and tools to help you create your own palette. Here is what ColorPaletteOverride.xaml would contain if you want both light and dark theme.
<ResourceDictionary
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<Color x:Key="MaterialPrimaryColor">#5B4CF5</Color>
<Color x:Key="MaterialPrimaryVariantDarkColor">#353FE5</Color>
<Color x:Key="MaterialPrimaryVariantLightColor">#B6A8FB</Color>
<Color x:Key="MaterialSecondaryColor">#67E5AD</Color>
<Color x:Key="MaterialSecondaryVariantDarkColor">#2BB27E</Color>
<Color x:Key="MaterialSecondaryVariantLightColor">#9CFFDF</Color>
<Color x:Key="MaterialBackgroundColor">#FFFFFF</Color>
<Color x:Key="MaterialSurfaceColor">#FFFFFF</Color>
<Color x:Key="MaterialErrorColor">#F85977</Color>
<Color x:Key="MaterialOnPrimaryColor">#FFFFFF</Color>
<Color x:Key="MaterialOnSecondaryColor">#000000</Color>
<Color x:Key="MaterialOnBackgroundColor">#000000</Color>
<Color x:Key="MaterialOnSurfaceColor">#000000</Color>
<Color x:Key="MaterialOnErrorColor">#000000</Color>
<Color x:Key="MaterialOverlayColor">#51000000</Color>
</ResourceDictionary>
<ResourceDictionary x:Key="Dark">
<Color x:Key="MaterialPrimaryColor">#B6A8FB</Color>
<Color x:Key="MaterialPrimaryVariantDarkColor">#353FE5</Color>
<Color x:Key="MaterialPrimaryVariantLightColor">#D4CBFC</Color>
<Color x:Key="MaterialSecondaryColor">#67E5AD</Color>
<Color x:Key="MaterialSecondaryVariantDarkColor">#2BB27E</Color>
<Color x:Key="MaterialSecondaryVariantLightColor">#9CFFDF</Color>
<Color x:Key="MaterialBackgroundColor">#121212</Color>
<Color x:Key="MaterialSurfaceColor">#121212</Color>
<Color x:Key="MaterialErrorColor">#CF6679</Color>
<Color x:Key="MaterialOnPrimaryColor">#000000</Color>
<Color x:Key="MaterialOnSecondaryColor">#000000</Color>
<Color x:Key="MaterialOnBackgroundColor">#FFFFFF</Color>
<Color x:Key="MaterialOnSurfaceColor">#DEFFFFFF</Color>
<Color x:Key="MaterialOnErrorColor">#000000</Color>
<Color x:Key="MaterialOverlayColor">#51FFFFFF</Color>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
</ResourceDictionary>
- Initialize the material resources. The order in which the different resources are loaded is important. Add this to
App.xaml
<MaterialColors xmlns="using:Uno.Material"
OverrideSource="ms-appx:///ColorPaletteOverride.xaml" />
<MaterialResources xmlns="using:Uno.Material" />
- (Optional) The material ProgressBar is built on top for the WinUI ProgressBar so make sure you include the appropriate resources in your
App.xaml
<Application.Resources>
<ResourceDictionary>
<ResourceDictionary.MergedDictionaries>
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls"/>
<MaterialColors xmlns="using:Uno.Material"
OverrideSource="ms-appx:///ColorPaletteOverride.xaml" />
<MaterialResources xmlns="using:Uno.Material" />
</ResourceDictionary.MergedDictionaries>
</ResourceDictionary>
</Application.Resources>
- Start using the styles in your pages!
- To use styles, just find the name of the style from our documentation or sample app and use it like this
<Button Content="CONTAINED"
Style="{StaticResource MaterialContainedButtonStyle}"/>
- In order to display the appropriate font with the material styles on Webassembly,
make sure that the Roboto font is defined on
font.css
located at[YourProject].Wasm/WasmCSS
. This make sure that the font is loaded correctly Related Issue. It should look like this:
@font-face {
font-family: "Symbols";
/* winjs-symbols.woff2: https://github.com/Microsoft/fonts/tree/master/Symbols */
src: url(data:application/x-font-woff;charset=utf-8;base64,[...]);
}
@font-face {
font-family: "Roboto";
src: url(data:application/x-font-woff;charset=utf-8;base64,[...]);
}
body::after {
font-family: 'Roboto';
background: transparent;
content: "";
opacity: 0;
pointer-events: none;
position: absolute;
}
(Optional) Set material styles as the default for your whole application.
<MaterialResources xmlns="using:Uno.Material" WithImplicitStyles="True" />
Alternatively, if you wish to only have the default styles for certain controls, simply add the implicit styles to your App.xaml:
<Application.Resources> <ResourceDictionary> <ResourceDictionary.MergedDictionaries> <MaterialColors xmlns="using:Uno.Material" /> <MaterialResources xmlns="using:Uno.Material" /> <ResourceDictionary> <Style TargetType="Button" BasedOn="{StaticResource MaterialContainedButtonStyle}"/> <Style TargetType="TextBox" BasedOn="{StaticResource MaterialFilledTextBoxStyle}"/> </ResourceDictionary> </ResourceDictionary.MergedDictionaries> </ResourceDictionary> </Application.Resources>
Learn more about implicit styles from the Microsoft documentation here
(Optional) Per-control customization. Just like WinUI, we documented a set of control-specific resources you can override to further customize our controls. For example, if you would like change the
CornerRadius
of all theButtons
using our material styles, you could simply override theButtonBorderRadius
value in your resources (in App.xaml would be the simplest way to put the following code)
<CornerRadius x:Key="ButtonBorderRadius">4</CornerRadius>
(Optional) If you are using our ToggleSwitches to get proper Material styling in Android there is some extra code to be added to the Android Project Head. (Click the component name to see how to set them up)
(Optional) If you are using our DatePickers, and TimePickers to get proper Material styling in Android there is some extra code to be added to the Android Project Head. (Click the component name to see how to set them up)
Features
Quickly visualize all the available controls through this zeplin link
Styles for basic controls
Controls | StyleNames |
---|---|
Button | MaterialContainedButtonStyle <br> MaterialOutlinedButtonStyle <br> MaterialTextButtonStyle <br> MaterialButtonIconStyle <br> MaterialContainedSecondaryButtonStyle <br> MaterialOutlinedSecondaryButtonStyle<br> MaterialTextSecondaryButtonStyle <br> MaterialButtonIconStyle |
Button (FAB) <br> Floating Action Button | MaterialFabStyle <br> MaterialSmallFabStyle <br> MaterialSecondaryFabStyle <br> MaterialPrimaryInvertedFabStyle <br> MaterialSecondaryInvertedFabStyle |
CalendarDatePicker | MaterialCalendarDatePickerStyle |
CalendarView | MaterialCalendarViewStyle |
CheckBox | MaterialCheckBoxStyle <br> MaterialSecondaryCheckBoxStyle |
ComboBox | MaterialComboBoxStyle <br> MaterialComboBoxItemStyle |
CommandBar | MaterialCommandBarStyle <br> MaterialAppBarButton |
DatePicker | MaterialDatePickerStyle |
Flyout | MaterialFlyoutPresenterStyle <br> MaterialContentFlyoutPresenterStyle |
MenuFlyout | MaterialMenuFMaterialMUXNoCompactMenuNavigationViewStylelyoutPresenterStyle <br> MaterialMenuFlyoutItemStyle <br> MaterialToggleMenuFlyoutItemStyle <br> MaterialMenuFlyoutSubItemStyle <br> MaterialMenuFlyoutSeparatorStyle |
HyperlinkButton | MaterialHyperlinkButtonStyle <br> MaterialSecondaryHyperlinkButtonStyle |
muxc:InfoBar | MaterialInfoBarStyle |
ListView | MaterialListViewStyle <br> MaterialListViewDetailsStyle <br> MaterialListViewItemStyle |
NavigationView | MaterialWUXNavigationViewStyle <br> MaterialWUXNoCompactMenuNavigationViewStyle <br> MaterialWUXNavigationViewItemStyle |
muxc:NavigationView | MaterialNavigationViewStyle <br> MaterialNavigationViewItemStyle |
PasswordBox | MaterialFilledPasswordBoxStyle <br> MaterialOutlinedPasswordBoxStyle |
muxc:ProgressBar | MaterialProgressBarStyle <br> MaterialSecondaryProgressBarStyle |
muxc:ProgressRing | MaterialProgressRingStyle <br> MaterialSecondaryProgressRingStyle |
RadioButton | MaterialRadioButtonStyle <br> MaterialSecondaryRadioButtonStyle |
muxc:RatingControl | MaterialRatingControlStyle <br> MaterialSecondaryRatingControlStyle |
muxc:Slider | MaterialSliderStyle <br> MaterialSecondarySliderStyle |
TextBlock | MaterialHeadline1 <br> MaterialHeadline2 <br> MaterialHeadline3 <br> MaterialHeadline4 <br> MaterialHeadline5 <br> MaterialHeadline6 <br> MaterialSubtitle1 <br> MaterialSubtitle2 <br> MaterialBody1 <br> MaterialBody2 <br> MaterialButtonText <br> MaterialCaption <br> MaterialOverline |
TextBox | MaterialFilledTextBoxStyle <br> MaterialOutlinedTextBoxStyle |
ToggleButton | MaterialTextToggleButtonStyle <br> MaterialToggleButtonIconStyle |
ToggleSwitch | MaterialToggleSwitchStyle <br> MaterialSecondaryToggleSwitchStyle |
Controls Setup (Specialized)
ToggleSwitch
If you are using our ToggleSwitches to get the proper native colors on android their is some modification needed. The reasoning for this is to apply the native android shadowing on the off value of the ToggleSwitch, and proper focus shadow colors when ToggleSwitches are clicked
- From your Android project head go to YourProject.Droid/Resources/values/Styles.xml Inside your AppTheme add two item's "colorControlActivated" (the on color for your ToggleSwitches thumb) and "colorSwitchThumbNormal" (the off color for your ToggleSwitches thumb) you may add your colors here directly, for example #ffffff, or by files (see our example code below)
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="colorControlActivated">@color/MaterialPrimaryColor</item>
<item name="colorSwitchThumbNormal">@color/MaterialSurfaceVariantColor</item>
</style>
</resources>
- (Optional) If your application uses Light/Dark color palettes. 2.1 Inside the Styles.xml file change the AppTheme's parent to Theme.Compat.DayNight
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
<item name="colorControlActivated">@color/MaterialPrimaryColor</item>
<item name="colorSwitchThumbNormal">@color/MaterialSurfaceVariantColor</item>
</style>
</resources>
2.2 From your Android project head go to YourProject.Droid/Resources/values create a file called "colors.xml", inside include your "Light" theme colors.
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<color name="MaterialPrimaryColor">#5B4CF5</color>
<color name="MaterialSurfaceVariantColor">#FFFFFF</color>
</resources>
2.3 From your Android project head go to YourProject.Droid/Resources create a folder called "values-night", inside the folder add a file called "colors.xml", and inside the file include your "Dark" theme colors.
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<color name="MaterialPrimaryColor">#B6A8FB</color>
<color name="MaterialSurfaceVariantColor">#808080</color>
</resources>
2.3 (Optional) If you have changed the material color palette for your application (2.) then there are two more colors that must be overridden for android native ToggleSwitch disabled colors to be properly applied. Colors are named PrimaryVariantDisabledThumbColor and SurfaceVariantLightColor, they can be overridden in your colors.xaml file. PrimaryVariantDisabledThumbColor is a non-transparent version of PrimaryDisabled color ("Light") in "Light" palette, and a non-transparent version of PrimaryMedium color ("Dark") in "Dark" palette. SurfaceVariantLightColor is the Surface color however in "Light" Palette is an off white color to be visible on light backgrounds.
<ResourceDictionary.ThemeDictionaries>
<ResourceDictionary x:Key="Light">
<Color x:Key="PrimaryVariantDisabledThumbColor">#E9E5FA</Color>
<Color x:Key="SurfaceVariantLightColor">#F7F7F7</Color>
</ResourceDictionary>
<ResourceDictionary x:Key="Dark">
<Color x:Key="PrimaryVariantDisabledThumbColor">#57507C</Color>
<Color x:Key="SurfaceVariantLightColor">#121212</Color>
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
DatePickers and TimePickers
If your application uses DatePickers and/or TimePickers (these are native components). To apply your material colors to these android components, do the following (this will affect every DatePicker/TimePicker in the application).
- From your Android project head go to YourProject.Droid/Resources/values/Styles.xml Inside your AppTheme add two item's "datePickerDialogTheme" (the style for your DatePicker) and "timePickerDialogTheme" (the style for your TimePicker), and a new Style with the MaterialPrimary Color as AccentColor (see our example code below)
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
<item name="android:timePickerDialogTheme">@style/AppCompatDialogStyle</item>
</style>
<style name="AppCompatDialogStyle" parent="Theme.AppCompat.Light.Dialog">
<item name="colorAccent">@color/MaterialPrimaryColor</item>
</style>
</resources>
- (Optional) If your application uses Light/Dark color palettes. 2.1 Inside the Styles.xml file change the AppTheme's parent of both styles to Theme.Compat.DayNight
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<style name="AppTheme" parent="Theme.AppCompat.DayNight">
<item name="android:datePickerDialogTheme">@style/AppCompatDialogStyle</item>
<item name="android:timePickerDialogTheme">@style/AppCompatDialogStyle</item>
</style>
<style name="AppCompatDialogStyle" parent="Theme.AppCompat.DayNight.Dialog">
<item name="colorAccent">@color/MaterialPrimaryColor</item>
</style>
</resources>
2.2 From your Android project head go to YourProject.Droid/Resources/values create a file called "colors.xml", inside include your "Light" theme colors.
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<color name="MaterialPrimaryColor">#5B4CF5</color>
</resources>
2.3 From your Android project head go to YourProject.Droid/Resources create a folder called "values-night", inside the folder add a file called "colors.xml", and inside the file include your "Dark" theme colors.
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<color name="MaterialPrimaryColor">#B6A8FB</color>
</resources>
Migration
1.0 to 1.1
Color Palette Override
Now you have the possibility to override the Material color palette with your own color palette. See the #Getting Started section for more details.
<MaterialColors xmlns="using:Uno.Material" OverrideSource="ms-appx:///ColorPaletteOverride.xaml" />
Namespace breaking changes
BREAKING CHANGE: Everything (controls, extensions, converters, ...), previously under
Uno.Material.*
orUno.Cupertino.*
, has now been moved underUno.Material
orUno.Cupertino
.xmlns:um="using:Uno.Material" xmlns:uc="using:Uno.Cupertino"
Some controls have been moved to Uno.Toolkit.UI
List of the controls and styles that have been moved to Uno.Toolkit.UI:
Controls StyleNames Card MaterialOutlinedCardStyle <br> MaterialElevatedCardStyle <br> MaterialAvatarOutlinedCardStyle <br> MaterialAvatarElevatedCardStyle <br> MaterialSmallMediaOutlinedCardStyle <br> MaterialSmallMediaElevatedCardStyle Chip MaterialFilledInputChipStyle<br>MaterialFilledChoiceChipStyle<br>MaterialFilledFilterChipStyle<br>MaterialFilledActionChipStyle<br>MaterialOutlinedInputChipStyle<br>MaterialOutlinedChoiceChipStyle<br>MaterialOutlinedFilterChipStyle<br>MaterialOutlinedActionChipStyle ChipGroup MaterialFilledInputChipGroupStyle<br>MaterialFilledChoiceChipGroupStyle<br>MaterialFilledFilterChipGroupStyle<br>MaterialFilledActionChipGroupStyle<br>MaterialOutlinedInputChipGroupStyle<br>MaterialOutlinedChoiceChipGroupStyle<br>MaterialOutlinedFilterChipGroupStyle<br>MaterialOutlinedActionChipGroupStyle Divider MaterialDividerStyle Some controls have been removed
List of the controls and styles that have been removed from Uno.Themes:
Controls StyleNames BottomNavigationBar MaterialBottomNavigationBarStyle ExpandingBottomSheet MaterialExpandingBottomSheetStyle ModalStandardBottomSheet MaterialModalStandardBottomSheetStyle StandardBottomSheet MaterialStandardBottomSheetStyle SnackBar MaterialSnackBarStyle BottomNavigationBar was replaced by TabBar in Uno.Toolkit.UI, but it is not an exact 1:1 replacement. In the mean time, if you really need the badge and/or other customizability, two options are available:
Import locally the old sources (control + style) from Uno.Themes;
OR
Copy the MaterialBottomTabBarItemStyle from Uno.Toolkit.UI, and modify the style to suit your needs. (Note that there are two copies of the style, one for iOS and Android and one for rest of the platforms: UWP, Skia, WASM, etc...);
For StandardBottomSheet and ModalStandardBottomSheet It's replaced by using a Flyout and the MaterialFlyoutPresenterStyle that is allowing you to have a bottom sheet.
For example:
<Flyout Placement="Full" LightDismissOverlayMode="On" FlyoutPresenterStyle="{StaticResource MaterialFlyoutPresenterStyle}"> <Grid MaxHeight="370" VerticalAlignment="Bottom"> ...Your bottom sheet content... </Grid> </Flyout>
For SnackBar: so far no replacement for SnackBar has been added to Uno.Toolkit.UI, but it's planned to add one in a future version.
Changelog
Please consult the CHANGELOG for more information about version history.
License
This project is licensed under the Apache 2.0 license - see the LICENSE file for details.
Contributing
Please read CONTRIBUTING.md for details on the process for contributing to this project.
Be mindful of our Code of Conduct.
Acknowledgments
- Uno Platform
- Material Design
- Material Design In XAML as inspiration for UWP ripple effect
- ShowMeTheXaml for code snippets. Through our Fork
- WinUI
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net5.0-windows10.0.18362 is compatible. 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. |
.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. monoandroid10.0 is compatible. monoandroid11.0 is compatible. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. xamarinios10 is compatible. |
Xamarin.Mac | xamarinmac was computed. xamarinmac20 is compatible. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Uno.WinUI (>= 4.0.0-dev.5612)
- Uno.WinUI.Lottie (>= 4.0.0-dev.5612)
- Uno.XamlMerge.Task (>= 0.1.0-dev.41)
-
MonoAndroid 10.0
- Uno.WinUI (>= 4.0.0-dev.5612)
- Uno.WinUI.Lottie (>= 4.0.0-dev.5612)
- Uno.XamlMerge.Task (>= 0.1.0-dev.41)
-
MonoAndroid 11.0
- Uno.WinUI (>= 4.0.0-dev.5612)
- Uno.WinUI.Lottie (>= 4.0.0-dev.5612)
- Uno.XamlMerge.Task (>= 0.1.0-dev.41)
-
net5.0-windows10.0.18362
- Microsoft.WindowsAppSDK (>= 1.0.0)
- Uno.WinUI (>= 4.0.0-dev.5612)
- Uno.XamlMerge.Task (>= 0.1.0-dev.41)
-
Xamarin.iOS 1.0
- Uno.WinUI (>= 4.0.0-dev.5612)
- Uno.WinUI.Lottie (>= 4.0.0-dev.5612)
- Uno.XamlMerge.Task (>= 0.1.0-dev.41)
-
Xamarin.Mac 2.0
- Uno.WinUI (>= 4.0.0-dev.5612)
- Uno.WinUI.Lottie (>= 4.0.0-dev.5612)
- Uno.XamlMerge.Task (>= 0.1.0-dev.41)
NuGet packages (1)
Showing the top 1 NuGet packages that depend on Uno.Cupertino.WinUI:
Package | Downloads |
---|---|
Uno.Toolkit.WinUI.Cupertino
A set of controls for Uno Platform, UWP and WinUI |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Uno.Cupertino.WinUI:
Repository | Stars |
---|---|
2fast-team/2fast
Two-Factor Authenticator Supporting TOTP (Windows 10 & Android, iOS, Linux and macOS App)
|
|
unoplatform/Uno.Samples
A collection of code samples for the Uno Platform
|
Version | Downloads | Last updated |
---|---|---|
5.4.0-dev.19 | 264 | 11/14/2024 |
5.4.0-dev.18 | 1,035 | 10/31/2024 |
5.4.0-dev.12 | 34 | 10/31/2024 |
5.4.0-dev.10 | 54 | 10/30/2024 |
5.4.0-dev.6 | 63 | 10/28/2024 |
5.4.0-dev.2 | 286 | 10/17/2024 |
5.3.1 | 182 | 10/31/2024 |
5.3.0-dev.8 | 959 | 9/19/2024 |
5.3.0-dev.6 | 51 | 9/19/2024 |
5.3.0-dev.5 | 43 | 9/19/2024 |
5.3.0-dev.4 | 136 | 9/16/2024 |
5.3.0-dev.3 | 187 | 9/11/2024 |
5.3.0-dev.1 | 59 | 9/11/2024 |
5.2.5 | 178 | 9/25/2024 |
5.2.0-dev.23 | 68 | 9/9/2024 |
5.2.0-dev.22 | 206 | 9/4/2024 |
5.2.0-dev.21 | 44 | 9/4/2024 |
5.2.0-dev.20 | 64 | 9/3/2024 |
5.2.0-dev.17 | 293 | 8/23/2024 |
5.2.0-dev.16 | 147 | 8/21/2024 |
5.2.0-dev.15 | 242 | 8/9/2024 |
5.2.0-dev.14 | 108 | 7/31/2024 |
5.2.0-dev.13 | 373 | 7/16/2024 |
5.2.0-dev.11 | 63 | 7/15/2024 |
5.2.0-dev.9 | 488 | 6/25/2024 |
5.2.0-dev.7 | 106 | 6/20/2024 |
5.2.0-dev.5 | 57 | 6/20/2024 |
5.2.0-dev.3 | 69 | 6/19/2024 |
5.2.0-dev.2 | 68 | 6/18/2024 |
5.2.0-dev.1 | 59 | 6/17/2024 |
5.1.9 | 116 | 9/11/2024 |
5.1.7 | 352 | 7/22/2024 |
5.1.6 | 134 | 7/22/2024 |
5.1.0-dev.36 | 344 | 6/4/2024 |
5.1.0-dev.35 | 101 | 6/4/2024 |
5.1.0-dev.33 | 196 | 5/30/2024 |
5.1.0-dev.31 | 309 | 5/23/2024 |
5.1.0-dev.29 | 59 | 5/23/2024 |
5.1.0-dev.26 | 307 | 5/13/2024 |
5.1.0-dev.25 | 53 | 5/13/2024 |
5.1.0-dev.24 | 89 | 5/11/2024 |
5.1.0-dev.23 | 107 | 5/9/2024 |
5.1.0-dev.19 | 295 | 4/23/2024 |
5.1.0-dev.18 | 184 | 4/16/2024 |
5.1.0-dev.16 | 58 | 4/16/2024 |
5.1.0-dev.13 | 133 | 4/13/2024 |
5.1.0-dev.12 | 55 | 4/12/2024 |
5.1.0-dev.11 | 89 | 4/11/2024 |
5.1.0-dev.10 | 58 | 4/11/2024 |
5.1.0-dev.8 | 116 | 4/8/2024 |
5.0.13 | 951 | 4/22/2024 |
5.0.0-dev.86 | 177 | 4/3/2024 |
4.2.0-dev.31 | 63 | 4/3/2024 |
4.2.0-dev.30 | 141 | 3/28/2024 |
4.2.0-dev.26 | 126 | 3/25/2024 |
4.2.0-dev.25 | 104 | 3/22/2024 |
4.2.0-dev.24 | 52 | 3/22/2024 |
4.2.0-dev.19 | 484 | 3/2/2024 |
4.2.0-dev.18 | 919 | 2/25/2024 |
4.2.0-dev.17 | 5,789 | 2/13/2024 |
4.2.0-dev.12 | 195 | 2/7/2024 |
4.2.0-dev.11 | 156 | 2/6/2024 |
4.2.0-dev.10 | 84 | 2/5/2024 |
4.2.0-dev.9 | 526 | 2/1/2024 |
4.2.0-dev.6 | 202 | 1/31/2024 |
4.2.0-dev.5 | 98 | 1/30/2024 |
4.2.0-dev.2 | 76 | 1/29/2024 |
4.2.0-dev.1 | 54 | 1/29/2024 |
4.1.1 | 184 | 2/2/2024 |
4.1.0 | 439 | 1/30/2024 |
4.1.0-dev.52 | 141 | 1/24/2024 |
4.1.0-dev.50 | 64 | 1/24/2024 |
4.1.0-dev.49 | 239 | 1/12/2024 |
4.1.0-dev.45 | 521 | 12/20/2023 |
4.1.0-dev.43 | 79 | 12/20/2023 |
4.1.0-dev.39 | 930 | 12/13/2023 |
4.1.0-dev.35 | 229 | 12/6/2023 |
4.1.0-dev.33 | 100 | 12/5/2023 |
4.1.0-dev.32 | 106 | 12/4/2023 |
4.1.0-dev.31 | 144 | 12/1/2023 |
4.1.0-dev.30 | 126 | 11/29/2023 |
4.1.0-dev.29 | 235 | 11/21/2023 |
4.1.0-dev.28 | 116 | 11/18/2023 |
4.1.0-dev.27 | 100 | 11/17/2023 |
4.1.0-dev.26 | 77 | 11/16/2023 |
4.1.0-dev.25 | 70 | 11/16/2023 |
4.1.0-dev.24 | 1,109 | 11/13/2023 |
4.1.0-dev.19 | 236 | 11/6/2023 |
4.1.0-dev.17 | 71 | 11/6/2023 |
4.1.0-dev.15 | 73 | 11/6/2023 |
4.1.0-dev.8 | 170 | 11/3/2023 |
4.1.0-dev.7 | 68 | 11/3/2023 |
4.1.0-dev.1 | 212 | 10/30/2023 |
4.0.6 | 223 | 11/7/2023 |
4.0.4 | 580 | 11/1/2023 |
4.0.0-dev.188 | 176 | 10/27/2023 |
4.0.0-dev.187 | 76 | 10/27/2023 |
4.0.0-dev.186 | 111 | 10/26/2023 |
4.0.0-dev.184 | 79 | 10/26/2023 |
4.0.0-dev.183 | 99 | 10/26/2023 |
4.0.0-dev.182 | 144 | 10/24/2023 |
4.0.0-dev.180 | 438 | 10/13/2023 |
4.0.0-dev.178 | 175 | 10/10/2023 |
4.0.0-dev.175 | 74 | 10/10/2023 |
4.0.0-dev.174 | 190 | 10/6/2023 |
4.0.0-dev.167 | 134 | 10/4/2023 |
4.0.0-dev.166 | 71 | 10/4/2023 |
4.0.0-dev.164 | 111 | 10/3/2023 |
4.0.0-dev.162 | 104 | 10/2/2023 |
4.0.0-dev.161 | 149 | 9/30/2023 |
4.0.0-dev.160 | 116 | 9/29/2023 |
4.0.0-dev.159 | 82 | 9/29/2023 |
4.0.0-dev.157 | 76 | 9/29/2023 |
4.0.0-dev.156 | 105 | 9/29/2023 |
4.0.0-dev.152 | 73 | 9/28/2023 |
4.0.0-dev.151 | 75 | 9/28/2023 |
4.0.0-dev.150 | 74 | 9/28/2023 |
4.0.0-dev.149 | 75 | 9/28/2023 |
4.0.0-dev.148 | 75 | 9/28/2023 |
4.0.0-dev.147 | 74 | 9/28/2023 |
4.0.0-dev.146 | 125 | 9/26/2023 |
4.0.0-dev.140 | 177 | 9/22/2023 |
4.0.0-dev.139 | 117 | 9/20/2023 |
4.0.0-dev.126 | 2,103 | 8/30/2023 |
4.0.0-dev.124 | 139 | 8/30/2023 |
3.1.0-dev.96 | 4,445 | 8/31/2023 |
3.1.0-dev.94 | 106 | 8/30/2023 |
3.0.40 | 369 | 9/6/2023 |
2.8.0-dev.6 | 350 | 8/30/2023 |
2.8.0-dev.2 | 120 | 8/29/2023 |
2.7.0-dev.104 | 533 | 8/16/2023 |
2.7.0-dev.102 | 612 | 8/16/2023 |
2.7.0-dev.99 | 75 | 8/15/2023 |
2.7.0-dev.97 | 200 | 8/11/2023 |
2.7.0-dev.95 | 91 | 8/11/2023 |
2.7.0-dev.89 | 89 | 8/10/2023 |
2.7.0-dev.88 | 103 | 8/7/2023 |
2.7.0-dev.86 | 88 | 8/7/2023 |
2.7.0-dev.84 | 93 | 8/7/2023 |
2.7.0-dev.81 | 85 | 8/7/2023 |
2.7.0-dev.61 | 76 | 8/7/2023 |
2.7.0-dev.59 | 119 | 8/4/2023 |
2.7.0-dev.56 | 100 | 8/3/2023 |
2.7.0-dev.54 | 83 | 8/3/2023 |
2.7.0-dev.53 | 130 | 8/1/2023 |
2.7.0-dev.47 | 96 | 8/1/2023 |
2.7.0-dev.45 | 90 | 8/1/2023 |
2.7.0-dev.41 | 107 | 7/31/2023 |
2.7.0-dev.39 | 290 | 7/26/2023 |
2.7.0-dev.37 | 90 | 7/26/2023 |
2.7.0-dev.35 | 89 | 7/25/2023 |
2.7.0-dev.33 | 96 | 7/24/2023 |
2.7.0-dev.31 | 97 | 7/24/2023 |
2.7.0-dev.29 | 98 | 7/24/2023 |
2.7.0-dev.27 | 92 | 7/24/2023 |
2.7.0-dev.25 | 88 | 7/14/2023 |
2.7.0-dev.23 | 94 | 7/12/2023 |
2.7.0-dev.21 | 84 | 6/29/2023 |
2.7.0-dev.20 | 98 | 6/27/2023 |
2.7.0-dev.19 | 84 | 6/27/2023 |
2.7.0-dev.18 | 103 | 6/19/2023 |
2.7.0-dev.17 | 88 | 6/16/2023 |
2.7.0-dev.16 | 105 | 6/14/2023 |
2.7.0-dev.15 | 86 | 6/13/2023 |
2.7.0-dev.13 | 82 | 6/13/2023 |
2.7.0-dev.12 | 95 | 6/12/2023 |
2.7.0-dev.11 | 108 | 6/7/2023 |
2.7.0-dev.10 | 82 | 6/7/2023 |
2.7.0-dev.8 | 87 | 6/7/2023 |
2.7.0-dev.7 | 91 | 6/5/2023 |
2.7.0-dev.5 | 86 | 6/2/2023 |
2.7.0-dev.2 | 92 | 5/30/2023 |
2.7.0-dev.1 | 83 | 5/30/2023 |
2.6.1 | 464 | 6/7/2023 |
2.6.0 | 1,470 | 6/5/2023 |
2.6.0-dev.25 | 85 | 5/28/2023 |
2.6.0-dev.24 | 102 | 5/25/2023 |
2.6.0-dev.21 | 92 | 5/25/2023 |
2.6.0-dev.19 | 97 | 5/16/2023 |
2.6.0-dev.17 | 109 | 5/4/2023 |
2.6.0-dev.14 | 135 | 3/28/2023 |
2.6.0-dev.5 | 110 | 3/16/2023 |
2.6.0-dev.2 | 96 | 3/13/2023 |
2.5.3 | 2,675 | 3/16/2023 |
2.5.2 | 379 | 3/16/2023 |
2.5.0-dev.44 | 110 | 3/10/2023 |
2.5.0-dev.43 | 97 | 3/9/2023 |
2.5.0-dev.41 | 113 | 3/8/2023 |
2.5.0-dev.40 | 100 | 3/4/2023 |
2.5.0-dev.39 | 98 | 3/2/2023 |
2.5.0-dev.38 | 101 | 2/28/2023 |
2.5.0-dev.37 | 1,053 | 2/23/2023 |
2.5.0-dev.34 | 107 | 2/22/2023 |
2.5.0-dev.31 | 100 | 2/17/2023 |
2.5.0-dev.26 | 106 | 2/16/2023 |
2.5.0-dev.20 | 94 | 2/15/2023 |
2.5.0-dev.19 | 105 | 2/8/2023 |
2.5.0-dev.15 | 121 | 1/23/2023 |
2.5.0-dev.14 | 125 | 1/13/2023 |
2.5.0-dev.10 | 119 | 1/12/2023 |
2.5.0-dev.6 | 110 | 12/31/2022 |
2.5.0-dev.3 | 102 | 12/23/2022 |
2.5.0-dev.1 | 111 | 12/22/2022 |
2.4.1 | 1,958 | 12/13/2022 |
2.4.0-dev.68 | 1,679 | 11/24/2022 |
2.4.0-dev.66 | 96 | 11/23/2022 |
2.4.0-dev.64 | 152 | 11/17/2022 |
2.4.0-dev.62 | 99 | 11/7/2022 |
2.4.0-dev.60 | 111 | 11/3/2022 |
2.4.0-dev.59 | 97 | 11/3/2022 |
2.4.0-dev.57 | 102 | 11/3/2022 |
2.4.0-dev.53 | 97 | 11/2/2022 |
2.4.0-dev.46 | 106 | 11/1/2022 |
2.4.0-dev.42 | 107 | 10/27/2022 |
2.4.0-dev.40 | 109 | 10/27/2022 |
2.4.0-dev.38 | 133 | 10/20/2022 |
2.4.0-dev.33 | 98 | 10/6/2022 |
2.4.0-dev.31 | 106 | 9/30/2022 |
2.4.0-dev.29 | 100 | 9/30/2022 |
2.4.0-dev.26 | 120 | 9/29/2022 |
2.4.0-dev.24 | 100 | 9/29/2022 |
2.4.0-dev.19 | 135 | 9/22/2022 |
2.4.0-dev.17 | 112 | 9/21/2022 |
2.4.0-dev.13 | 122 | 9/15/2022 |
2.4.0-dev.11 | 161 | 9/14/2022 |
2.4.0-dev.7 | 146 | 9/14/2022 |
2.3.0 | 1,870 | 9/12/2022 |
2.3.0-dev.20 | 110 | 9/9/2022 |
2.3.0-dev.17 | 104 | 9/9/2022 |
2.3.0-dev.12 | 386 | 8/31/2022 |
2.3.0-dev.10 | 102 | 8/31/2022 |
2.3.0-dev.8 | 99 | 8/30/2022 |
2.3.0-dev.6 | 193 | 8/12/2022 |
2.3.0-dev.4 | 244 | 7/22/2022 |
2.2.0 | 239 | 6/29/2022 |
2.2.0-dev.7 | 123 | 6/28/2022 |
2.2.0-dev.5 | 128 | 6/20/2022 |
2.2.0-dev.2 | 111 | 6/17/2022 |
2.1.0 | 163 | 6/10/2022 |
2.1.0-dev.51 | 118 | 6/10/2022 |
2.1.0-dev.48 | 117 | 6/8/2022 |
2.1.0-dev.46 | 118 | 6/8/2022 |
2.1.0-dev.44 | 121 | 6/8/2022 |
2.1.0-dev.42 | 117 | 6/7/2022 |
2.1.0-dev.40 | 143 | 6/7/2022 |
2.1.0-dev.37 | 121 | 6/3/2022 |
2.1.0-dev.35 | 117 | 6/3/2022 |
2.1.0-dev.33 | 130 | 6/3/2022 |
2.1.0-dev.31 | 127 | 6/3/2022 |
2.1.0-dev.29 | 115 | 6/3/2022 |
2.1.0-dev.27 | 126 | 6/2/2022 |
2.1.0-dev.25 | 126 | 6/2/2022 |
2.1.0-dev.23 | 124 | 6/2/2022 |
2.1.0-dev.20 | 120 | 6/2/2022 |
2.1.0-dev.18 | 115 | 6/2/2022 |
2.1.0-dev.16 | 120 | 6/1/2022 |
2.1.0-dev.13 | 117 | 6/1/2022 |
2.1.0-dev.11 | 122 | 6/1/2022 |
2.1.0-dev.9 | 125 | 6/1/2022 |
2.1.0-dev.5 | 118 | 5/24/2022 |
2.1.0-dev.2 | 123 | 5/23/2022 |
2.0.0 | 180 | 5/23/2022 |
2.0.0-dev.228 | 123 | 5/23/2022 |
2.0.0-dev.226 | 123 | 5/23/2022 |
2.0.0-dev.224 | 113 | 5/23/2022 |
2.0.0-dev.222 | 122 | 5/23/2022 |
2.0.0-dev.220 | 116 | 5/23/2022 |
2.0.0-dev.218 | 128 | 5/23/2022 |
2.0.0-dev.216 | 137 | 5/21/2022 |
2.0.0-dev.214 | 114 | 5/21/2022 |
2.0.0-dev.210 | 120 | 5/20/2022 |
2.0.0-dev.208 | 123 | 5/20/2022 |
2.0.0-dev.206 | 113 | 5/19/2022 |
2.0.0-dev.204 | 112 | 5/19/2022 |
2.0.0-dev.203 | 117 | 5/19/2022 |
2.0.0-dev.201 | 132 | 5/13/2022 |
2.0.0-dev.198 | 120 | 5/13/2022 |
2.0.0-dev.195 | 201 | 5/12/2022 |
2.0.0-dev.193 | 132 | 5/11/2022 |
2.0.0-dev.191 | 127 | 5/10/2022 |
2.0.0-dev.189 | 125 | 5/10/2022 |
2.0.0-dev.187 | 123 | 5/9/2022 |
2.0.0-dev.185 | 118 | 5/9/2022 |
2.0.0-dev.183 | 125 | 5/3/2022 |
2.0.0-dev.181 | 133 | 4/28/2022 |
2.0.0-dev.179 | 124 | 4/28/2022 |
2.0.0-dev.177 | 127 | 4/27/2022 |
2.0.0-dev.175 | 124 | 4/25/2022 |
2.0.0-dev.172 | 156 | 4/22/2022 |
2.0.0-dev.170 | 128 | 4/22/2022 |
2.0.0-dev.168 | 131 | 4/21/2022 |
2.0.0-dev.166 | 127 | 4/21/2022 |
2.0.0-dev.164 | 119 | 4/21/2022 |
2.0.0-dev.162 | 117 | 4/20/2022 |
2.0.0-dev.156 | 130 | 4/16/2022 |
2.0.0-dev.154 | 160 | 4/14/2022 |
2.0.0-dev.152 | 133 | 4/14/2022 |
2.0.0-dev.150 | 125 | 4/13/2022 |
2.0.0-dev.146 | 129 | 4/13/2022 |
1.4.0-dev.34 | 129 | 4/12/2022 |
1.4.0-dev.30 | 156 | 3/31/2022 |
1.4.0-dev.21 | 135 | 3/30/2022 |
1.4.0-dev.17 | 132 | 3/25/2022 |
1.4.0-dev.12 | 124 | 3/24/2022 |
1.4.0-dev.6 | 134 | 3/8/2022 |
1.3.3 | 171 | 4/12/2022 |
1.3.2 | 145 | 4/11/2022 |
1.3.1 | 163 | 3/9/2022 |
1.3.0-dev.19 | 147 | 1/10/2022 |
1.3.0-dev.17 | 149 | 1/4/2022 |
1.3.0-dev.12 | 144 | 1/3/2022 |
1.3.0-dev.4 | 241 | 12/17/2021 |
1.2.0 | 711 | 12/15/2021 |
1.2.0-dev.15 | 214 | 12/15/2021 |
1.2.0-dev.13 | 216 | 12/15/2021 |
1.2.0-dev.8 | 213 | 12/8/2021 |
1.2.0-dev.6 | 227 | 12/8/2021 |
1.2.0-dev.4 | 203 | 12/7/2021 |
1.2.0-dev.2 | 223 | 12/7/2021 |
1.1.0 | 245 | 12/6/2021 |
1.1.0-dev.70 | 394 | 12/2/2021 |
1.1.0-dev.68 | 201 | 12/2/2021 |
1.1.0-dev.66 | 986 | 12/1/2021 |
1.1.0-dev.64 | 986 | 11/29/2021 |
1.1.0-dev.62 | 1,845 | 11/26/2021 |
1.1.0-dev.57 | 3,622 | 11/25/2021 |
1.1.0-dev.55 | 2,772 | 11/25/2021 |
1.1.0-dev.53 | 3,008 | 11/24/2021 |
1.1.0-dev.51 | 2,793 | 11/24/2021 |
1.1.0-dev.49 | 3,997 | 11/24/2021 |
1.1.0-dev.47 | 3,185 | 11/24/2021 |
1.1.0-dev.45 | 2,964 | 11/24/2021 |
1.1.0-dev.43 | 5,599 | 11/23/2021 |
1.1.0-dev.41 | 209 | 11/23/2021 |
1.1.0-dev.39 | 199 | 11/23/2021 |
1.1.0-dev.37 | 309 | 11/22/2021 |
1.1.0-dev.35 | 515 | 11/21/2021 |
1.1.0-dev.33 | 498 | 11/21/2021 |
1.1.0-dev.31 | 717 | 11/19/2021 |
1.1.0-dev.29 | 703 | 11/19/2021 |
1.1.0-dev.27 | 228 | 11/19/2021 |
1.1.0-dev.25 | 288 | 11/19/2021 |
1.1.0-dev.22 | 210 | 11/19/2021 |
1.1.0-dev.19 | 266 | 11/19/2021 |
1.1.0-dev.17 | 234 | 11/18/2021 |
1.1.0-dev.15 | 234 | 11/17/2021 |
1.1.0-dev.13 | 230 | 11/15/2021 |
1.1.0-dev.11 | 207 | 11/15/2021 |
1.1.0-dev.9 | 241 | 11/15/2021 |
1.1.0-dev.7 | 284 | 11/9/2021 |
1.1.0-dev.5 | 236 | 10/29/2021 |
1.0.3 | 267 | 11/3/2021 |
1.0.2 | 350 | 11/2/2021 |
1.0.0-dev.851 | 234 | 10/28/2021 |
1.0.0-dev.848 | 226 | 10/27/2021 |
1.0.0-dev.846 | 240 | 10/26/2021 |
1.0.0-dev.844 | 219 | 10/25/2021 |
1.0.0-dev.842 | 223 | 10/20/2021 |
1.0.0-dev.840 | 235 | 10/20/2021 |
1.0.0-dev.838 | 238 | 10/15/2021 |
1.0.0-dev.836 | 213 | 10/14/2021 |
1.0.0-dev.834 | 211 | 10/7/2021 |
1.0.0-dev.832 | 219 | 10/4/2021 |
1.0.0-dev.830 | 244 | 9/29/2021 |
1.0.0-dev.827 | 216 | 9/16/2021 |
1.0.0-dev.825 | 227 | 9/14/2021 |
1.0.0-dev.823 | 230 | 9/8/2021 |
1.0.0-dev.812 | 223 | 9/3/2021 |
1.0.0-dev.810 | 216 | 8/27/2021 |
1.0.0-dev.802 | 214 | 8/6/2021 |
1.0.0-dev.796 | 239 | 8/4/2021 |
1.0.0-dev.794 | 224 | 8/4/2021 |
1.0.0-dev.792 | 235 | 8/4/2021 |
1.0.0-dev.790 | 246 | 7/29/2021 |
1.0.0-dev.788 | 203 | 7/14/2021 |
1.0.0-dev.786 | 236 | 7/13/2021 |
1.0.0-dev.784 | 214 | 6/14/2021 |
1.0.0-dev.782 | 205 | 6/10/2021 |
1.0.0-dev.780 | 203 | 6/9/2021 |
1.0.0-dev.778 | 207 | 6/8/2021 |
1.0.0-dev.774 | 218 | 6/7/2021 |
1.0.0-dev.772 | 261 | 6/1/2021 |
1.0.0-dev.770 | 270 | 5/31/2021 |
1.0.0-dev.766 | 227 | 5/26/2021 |
1.0.0-dev.764 | 214 | 5/19/2021 |
1.0.0-dev.762 | 231 | 5/19/2021 |
1.0.0-dev.760 | 248 | 5/7/2021 |
1.0.0-dev.758 | 255 | 5/5/2021 |
1.0.0-dev.755 | 227 | 5/4/2021 |
1.0.0-dev.753 | 220 | 4/30/2021 |
1.0.0-dev.751 | 231 | 4/29/2021 |
1.0.0-dev.749 | 230 | 4/28/2021 |
changelog.md