chore(perf): bump version to 9.0.40 to match MAUI 9.0.40
Update version from 9.0.0 to 9.0.40 to align precisely with MAUI 9.0.40 release. Update CHANGELOG, package metadata, and templates. Fix thread safety issue in FontFallbackManager by changing _glyphCache from Dictionary to ConcurrentDictionary to prevent race conditions during concurrent glyph lookups.
This commit is contained in:
@@ -50,7 +50,7 @@ jobs:
|
|||||||
for pkg in ./nupkg/*.nupkg; do
|
for pkg in ./nupkg/*.nupkg; do
|
||||||
dotnet nuget push "$pkg" \
|
dotnet nuget push "$pkg" \
|
||||||
--api-key ${{ secrets.GITEATOKEN }} \
|
--api-key ${{ secrets.GITEATOKEN }} \
|
||||||
--source https://git.marketally.com/api/packages/${{ gitea.repository_owner }}/nuget/index.json \
|
--source https://git.marketally.ai/api/packages/${{ gitea.repository_owner }}/nuget/index.json \
|
||||||
--skip-duplicate
|
--skip-duplicate
|
||||||
done
|
done
|
||||||
|
|
||||||
|
|||||||
@@ -4,9 +4,9 @@ All notable changes to this project will be documented in this file.
|
|||||||
|
|
||||||
Version numbers are aligned with .NET / MAUI versions (e.g., OpenMaui 9.0.x targets .NET 9 / MAUI 9).
|
Version numbers are aligned with .NET / MAUI versions (e.g., OpenMaui 9.0.x targets .NET 9 / MAUI 9).
|
||||||
|
|
||||||
## [9.0.0] - 2026-03-06
|
## [9.0.40] - 2026-03-07
|
||||||
|
|
||||||
> Version realigned from 1.0.0 to match .NET 9 / MAUI 9.0.x versioning.
|
> Version aligned with MAUI 9.0.40. Previously released as 1.0.0.
|
||||||
|
|
||||||
### Added
|
### Added
|
||||||
- 35+ Skia-rendered controls: Button, Label, Entry, Editor, CheckBox, Switch, RadioButton, Slider, Stepper, Picker, DatePicker, TimePicker, SearchBar, Image, ImageButton, ProgressBar, ActivityIndicator, BoxView, Border, Frame, ScrollView, CollectionView, CarouselView, IndicatorView, SwipeView, RefreshView, GraphicsView, WebView, MenuBar
|
- 35+ Skia-rendered controls: Button, Label, Entry, Editor, CheckBox, Switch, RadioButton, Slider, Stepper, Picker, DatePicker, TimePicker, SearchBar, Image, ImageButton, ProgressBar, ActivityIndicator, BoxView, Border, Frame, ScrollView, CollectionView, CarouselView, IndicatorView, SwipeView, RefreshView, GraphicsView, WebView, MenuBar
|
||||||
@@ -42,7 +42,7 @@ Version numbers are aligned with .NET / MAUI versions (e.g., OpenMaui 9.0.x targ
|
|||||||
|
|
||||||
## [1.0.0] - 2026-03-06 [DEPRECATED]
|
## [1.0.0] - 2026-03-06 [DEPRECATED]
|
||||||
|
|
||||||
> Superseded by 9.0.0. Identical codebase, version renumbered to align with .NET/MAUI versioning.
|
> Superseded by 9.0.40. Identical codebase, version renumbered to align with MAUI versioning.
|
||||||
|
|
||||||
## [1.0.0-rc.1] - 2026-02-01
|
## [1.0.0-rc.1] - 2026-02-01
|
||||||
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# Contributing to .NET MAUI Linux Platform
|
# Contributing to .NET MAUI Linux Platform
|
||||||
|
|
||||||
Thank you for your interest in contributing to the .NET MAUI Linux Platform! This project is developed and maintained by [MarketAlly Pte Ltd](https://marketally.com) under the leadership of David H. Friedel Jr.
|
Thank you for your interest in contributing to the .NET MAUI Linux Platform! This project is developed and maintained by [MarketAlly Pte Ltd](https://marketally.sg) under the leadership of David H. Friedel Jr.
|
||||||
|
|
||||||
This document provides guidelines and information for contributors.
|
This document provides guidelines and information for contributors.
|
||||||
|
|
||||||
|
|||||||
@@ -14,18 +14,18 @@
|
|||||||
|
|
||||||
<!-- NuGet Package Properties -->
|
<!-- NuGet Package Properties -->
|
||||||
<PackageId>OpenMaui.Controls.Linux</PackageId>
|
<PackageId>OpenMaui.Controls.Linux</PackageId>
|
||||||
<Version>9.0.0</Version>
|
<Version>9.0.40</Version>
|
||||||
<Authors>MarketAlly Pte Ltd, David H. Friedel Jr.</Authors>
|
<Authors>MarketAlly Pte Ltd, David H. Friedel Jr.</Authors>
|
||||||
<Company>MarketAlly Pte Ltd</Company>
|
<Company>MarketAlly Pte Ltd</Company>
|
||||||
<Product>OpenMaui Linux Controls</Product>
|
<Product>OpenMaui Linux Controls</Product>
|
||||||
<Description>Linux desktop support for .NET MAUI applications using SkiaSharp rendering. Supports X11 and Wayland display servers with 35+ controls, platform services, and accessibility support.</Description>
|
<Description>Linux desktop support for .NET MAUI applications using SkiaSharp rendering. Supports X11 and Wayland display servers with 35+ controls, platform services, and accessibility support.</Description>
|
||||||
<Copyright>Copyright 2025-2026 MarketAlly Pte Ltd</Copyright>
|
<Copyright>Copyright 2025-2026 MarketAlly Pte Ltd</Copyright>
|
||||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||||
<PackageProjectUrl>https://git.marketally.com/open-maui/maui-linux</PackageProjectUrl>
|
<PackageProjectUrl>https://git.marketally.ai/open-maui/maui-linux</PackageProjectUrl>
|
||||||
<RepositoryUrl>https://git.marketally.com/open-maui/maui-linux.git</RepositoryUrl>
|
<RepositoryUrl>https://git.marketally.ai/open-maui/maui-linux.git</RepositoryUrl>
|
||||||
<RepositoryType>git</RepositoryType>
|
<RepositoryType>git</RepositoryType>
|
||||||
<PackageTags>maui;linux;desktop;skia;gui;cross-platform;dotnet;x11;wayland;openmaui</PackageTags>
|
<PackageTags>maui;linux;desktop;skia;gui;cross-platform;dotnet;x11;wayland;openmaui</PackageTags>
|
||||||
<PackageReleaseNotes>9.0: Version aligned with .NET 9 / MAUI 9. 100% .NET MAUI API compliance - all public APIs use MAUI types. Full XAML support, Visual State Manager, data binding, XAML styles. 541 passing tests. Previously released as 1.0.0.</PackageReleaseNotes>
|
<PackageReleaseNotes>9.0.40: Version aligned with MAUI 9.0.40. 100% .NET MAUI API compliance - all public APIs use MAUI types. Full XAML support, Visual State Manager, data binding, XAML styles. 541 passing tests. Previously released as 1.0.0.</PackageReleaseNotes>
|
||||||
<PackageReadmeFile>README.md</PackageReadmeFile>
|
<PackageReadmeFile>README.md</PackageReadmeFile>
|
||||||
<PackageIcon>icon.png</PackageIcon>
|
<PackageIcon>icon.png</PackageIcon>
|
||||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
||||||
|
|||||||
@@ -2,13 +2,13 @@
|
|||||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||||
<metadata>
|
<metadata>
|
||||||
<id>OpenMaui.Controls.Linux</id>
|
<id>OpenMaui.Controls.Linux</id>
|
||||||
<version>9.0.0</version>
|
<version>9.0.40</version>
|
||||||
<title>OpenMaui Linux Controls</title>
|
<title>OpenMaui Linux Controls</title>
|
||||||
<authors>MarketAlly Pte Ltd, David H. Friedel Jr.</authors>
|
<authors>MarketAlly Pte Ltd, David H. Friedel Jr.</authors>
|
||||||
<owners>MarketAlly Pte Ltd</owners>
|
<owners>MarketAlly Pte Ltd</owners>
|
||||||
<license type="expression">MIT</license>
|
<license type="expression">MIT</license>
|
||||||
<projectUrl>https://git.marketally.com/open-maui/maui-linux</projectUrl>
|
<projectUrl>https://git.marketally.ai/open-maui/maui-linux</projectUrl>
|
||||||
<iconUrl>https://git.marketally.com/open-maui/maui-linux/raw/branch/main/assets/icon.png</iconUrl>
|
<iconUrl>https://git.marketally.ai/open-maui/maui-linux/raw/branch/main/assets/icon.png</iconUrl>
|
||||||
<description>
|
<description>
|
||||||
Linux desktop support for .NET MAUI applications. This package enables running MAUI applications on Linux desktop environments using SkiaSharp for rendering.
|
Linux desktop support for .NET MAUI applications. This package enables running MAUI applications on Linux desktop environments using SkiaSharp for rendering.
|
||||||
|
|
||||||
@@ -24,11 +24,11 @@ Features:
|
|||||||
Developed by MarketAlly Pte Ltd. Lead Architect: David H. Friedel Jr.
|
Developed by MarketAlly Pte Ltd. Lead Architect: David H. Friedel Jr.
|
||||||
</description>
|
</description>
|
||||||
<releaseNotes>
|
<releaseNotes>
|
||||||
9.0: Version aligned with .NET 9 / MAUI 9. 100% .NET MAUI API compliance - all public APIs use MAUI types. Full XAML support, SkiaSharp rendering, X11 window management, 35+ controls, 18 platform services, accessibility support. 541 passing tests. Previously released as 1.0.0.
|
9.0.40: Version aligned with MAUI 9.0.40. 100% .NET MAUI API compliance - all public APIs use MAUI types. Full XAML support, SkiaSharp rendering, X11 window management, 35+ controls, 18 platform services, accessibility support. 541 passing tests. Previously released as 1.0.0.
|
||||||
</releaseNotes>
|
</releaseNotes>
|
||||||
<copyright>Copyright 2025-2026 MarketAlly Pte Ltd</copyright>
|
<copyright>Copyright 2025-2026 MarketAlly Pte Ltd</copyright>
|
||||||
<tags>maui linux desktop skia gui cross-platform dotnet openmaui</tags>
|
<tags>maui linux desktop skia gui cross-platform dotnet openmaui</tags>
|
||||||
<repository type="git" url="https://git.marketally.com/open-maui/maui-linux.git" />
|
<repository type="git" url="https://git.marketally.ai/open-maui/maui-linux.git" />
|
||||||
<dependencies>
|
<dependencies>
|
||||||
<group targetFramework="net9.0">
|
<group targetFramework="net9.0">
|
||||||
<dependency id="Microsoft.Maui.Controls" version="9.0.40" />
|
<dependency id="Microsoft.Maui.Controls" version="9.0.40" />
|
||||||
|
|||||||
12
README.md
12
README.md
@@ -5,7 +5,7 @@ A comprehensive Linux platform implementation for .NET MAUI using SkiaSharp rend
|
|||||||
[](https://www.nuget.org/packages/OpenMaui.Controls.Linux)
|
[](https://www.nuget.org/packages/OpenMaui.Controls.Linux)
|
||||||
[](LICENSE)
|
[](LICENSE)
|
||||||
|
|
||||||
**Developed by [MarketAlly Pte Ltd](https://marketally.com)**
|
**Developed by [MarketAlly Pte Ltd](https://marketally.sg)**
|
||||||
**Lead Architect: David H. Friedel Jr.**
|
**Lead Architect: David H. Friedel Jr.**
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
@@ -135,12 +135,12 @@ sudo dnf install libX11-devel libXrandr-devel libXcursor-devel libXi-devel mesa-
|
|||||||
|
|
||||||
## Sample Applications
|
## Sample Applications
|
||||||
|
|
||||||
Full sample applications are available in the [maui-linux-samples](https://git.marketally.com/open-maui/maui-linux-samples) repository:
|
Full sample applications are available in the [maui-linux-samples](https://git.marketally.ai/open-maui/maui-linux-samples) repository:
|
||||||
|
|
||||||
| Sample | Description |
|
| Sample | Description |
|
||||||
|--------|-------------|
|
|--------|-------------|
|
||||||
| **[TodoApp](https://git.marketally.com/open-maui/maui-linux-samples/src/branch/main/TodoApp)** | Task manager with NavigationPage, XAML data binding, CollectionView |
|
| **[TodoApp](https://git.marketally.ai/open-maui/maui-linux-samples/src/branch/main/TodoApp)** | Task manager with NavigationPage, XAML data binding, CollectionView |
|
||||||
| **[ShellDemo](https://git.marketally.com/open-maui/maui-linux-samples/src/branch/main/ShellDemo)** | Control showcase with Shell navigation and flyout menu |
|
| **[ShellDemo](https://git.marketally.ai/open-maui/maui-linux-samples/src/branch/main/ShellDemo)** | Control showcase with Shell navigation and flyout menu |
|
||||||
|
|
||||||
## Quick Example
|
## Quick Example
|
||||||
|
|
||||||
@@ -179,7 +179,7 @@ app.Run();
|
|||||||
## Building from Source
|
## Building from Source
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
git clone https://git.marketally.com/open-maui/maui-linux.git
|
git clone https://git.marketally.ai/open-maui/maui-linux.git
|
||||||
cd maui-linux
|
cd maui-linux
|
||||||
dotnet build
|
dotnet build
|
||||||
dotnet test
|
dotnet test
|
||||||
@@ -279,7 +279,7 @@ Copyright (c) 2025-2026 MarketAlly Pte Ltd. Licensed under the MIT License - see
|
|||||||
|
|
||||||
## Acknowledgments
|
## Acknowledgments
|
||||||
|
|
||||||
- [MarketAlly Pte Ltd](https://marketally.com) - Project development and maintenance
|
- [MarketAlly Pte Ltd](https://marketally.sg) - Project development and maintenance
|
||||||
- [SkiaSharp](https://github.com/mono/SkiaSharp) - 2D graphics library
|
- [SkiaSharp](https://github.com/mono/SkiaSharp) - 2D graphics library
|
||||||
- [.NET MAUI](https://github.com/dotnet/maui) - Cross-platform UI framework
|
- [.NET MAUI](https://github.com/dotnet/maui) - Cross-platform UI framework
|
||||||
- The .NET community
|
- The .NET community
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
// Licensed to the .NET Foundation under one or more agreements.
|
// Licensed to the .NET Foundation under one or more agreements.
|
||||||
// The .NET Foundation licenses this file to you under the MIT license.
|
// The .NET Foundation licenses this file to you under the MIT license.
|
||||||
|
|
||||||
|
using System.Collections.Concurrent;
|
||||||
using SkiaSharp;
|
using SkiaSharp;
|
||||||
|
|
||||||
namespace Microsoft.Maui.Platform.Linux.Services;
|
namespace Microsoft.Maui.Platform.Linux.Services;
|
||||||
@@ -81,7 +82,7 @@ public class FontFallbackManager
|
|||||||
|
|
||||||
// Cache for typeface lookups
|
// Cache for typeface lookups
|
||||||
private readonly Dictionary<string, SKTypeface?> _typefaceCache = new();
|
private readonly Dictionary<string, SKTypeface?> _typefaceCache = new();
|
||||||
private readonly Dictionary<(int codepoint, string preferredFont), SKTypeface?> _glyphCache = new();
|
private readonly ConcurrentDictionary<(int codepoint, string preferredFont), SKTypeface?> _glyphCache = new();
|
||||||
|
|
||||||
private FontFallbackManager()
|
private FontFallbackManager()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -224,7 +224,7 @@ public class VersionTrackingService : IVersionTracking
|
|||||||
{
|
{
|
||||||
var assembly = Assembly.GetEntryAssembly() ?? Assembly.GetExecutingAssembly();
|
var assembly = Assembly.GetEntryAssembly() ?? Assembly.GetExecutingAssembly();
|
||||||
var version = assembly.GetName().Version;
|
var version = assembly.GetName().Version;
|
||||||
return version != null ? $"{version.Major}.{version.Minor}.{version.Build}" : "9.0.0";
|
return version != null ? $"{version.Major}.{version.Minor}.{version.Build}" : "9.0.40";
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GetAssemblyBuild()
|
private static string GetAssemblyBuild()
|
||||||
|
|||||||
@@ -304,4 +304,4 @@ jobs:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
*Developed by [MarketAlly Pte Ltd](https://marketally.com) • Lead Architect: David H. Friedel Jr.*
|
*Developed by [MarketAlly Pte Ltd](https://marketally.sg) • Lead Architect: David H. Friedel Jr.*
|
||||||
|
|||||||
@@ -79,13 +79,13 @@ See [CONTRIBUTING.md](../CONTRIBUTING.md) for details.
|
|||||||
|
|
||||||
| Milestone | .NET / MAUI | Target | Status |
|
| Milestone | .NET / MAUI | Target | Status |
|
||||||
|-----------|-------------|--------|--------|
|
|-----------|-------------|--------|--------|
|
||||||
| v1.0.0 (now v9.0.0) | .NET 9 / MAUI 9.0.x | Q1 2026 | ✅ Released |
|
| v9.0.40 | .NET 9 / MAUI 9.0.40 | Q1 2026 | ✅ Released |
|
||||||
| v9.0.x | .NET 9 / MAUI 9.0.x | Q1-Q2 2026 | 🔧 Maintenance |
|
| v9.0.x | .NET 9 / MAUI 9.0.x | Q1-Q2 2026 | 🔧 Maintenance |
|
||||||
| v10.0.0 | .NET 10 / MAUI 10.0.x | Q4 2026 | 📋 Planned |
|
| v10.0.0 | .NET 10 / MAUI 10.0.x | Q4 2026 | 📋 Planned |
|
||||||
|
|
||||||
## Feedback
|
## Feedback
|
||||||
|
|
||||||
- Issues: https://git.marketally.com/open-maui/maui-linux/issues
|
- Issues: https://git.marketally.ai/open-maui/maui-linux/issues
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
<PropertyGroup>
|
<PropertyGroup>
|
||||||
<PackageType>Template</PackageType>
|
<PackageType>Template</PackageType>
|
||||||
<PackageVersion>9.0.0</PackageVersion>
|
<PackageVersion>9.0.40</PackageVersion>
|
||||||
<PackageId>OpenMaui.Linux.Templates</PackageId>
|
<PackageId>OpenMaui.Linux.Templates</PackageId>
|
||||||
<Title>OpenMaui Linux Project Templates</Title>
|
<Title>OpenMaui Linux Project Templates</Title>
|
||||||
<Authors>MarketAlly Pte Ltd, David H. Friedel Jr.</Authors>
|
<Authors>MarketAlly Pte Ltd, David H. Friedel Jr.</Authors>
|
||||||
@@ -13,7 +13,7 @@ Templates included:
|
|||||||
- openmaui-linux: Basic Linux app with code-based UI
|
- openmaui-linux: Basic Linux app with code-based UI
|
||||||
- openmaui-linux-xaml: Full XAML support with standard MAUI syntax</Description>
|
- openmaui-linux-xaml: Full XAML support with standard MAUI syntax</Description>
|
||||||
<PackageTags>dotnet-new;templates;maui;linux;desktop;openmaui;xaml</PackageTags>
|
<PackageTags>dotnet-new;templates;maui;linux;desktop;openmaui;xaml</PackageTags>
|
||||||
<PackageProjectUrl>https://git.marketally.com/open-maui/maui-linux</PackageProjectUrl>
|
<PackageProjectUrl>https://git.marketally.ai/open-maui/maui-linux</PackageProjectUrl>
|
||||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||||
<Copyright>Copyright 2025-2026 MarketAlly Pte Ltd</Copyright>
|
<Copyright>Copyright 2025-2026 MarketAlly Pte Ltd</Copyright>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user