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
|
||||
dotnet nuget push "$pkg" \
|
||||
--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
|
||||
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).
|
||||
|
||||
## [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
|
||||
- 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]
|
||||
|
||||
> 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,6 +1,6 @@
|
||||
# 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.
|
||||
|
||||
|
||||
@@ -14,18 +14,18 @@
|
||||
|
||||
<!-- NuGet Package Properties -->
|
||||
<PackageId>OpenMaui.Controls.Linux</PackageId>
|
||||
<Version>9.0.0</Version>
|
||||
<Version>9.0.40</Version>
|
||||
<Authors>MarketAlly Pte Ltd, David H. Friedel Jr.</Authors>
|
||||
<Company>MarketAlly Pte Ltd</Company>
|
||||
<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>
|
||||
<Copyright>Copyright 2025-2026 MarketAlly Pte Ltd</Copyright>
|
||||
<PackageLicenseExpression>MIT</PackageLicenseExpression>
|
||||
<PackageProjectUrl>https://git.marketally.com/open-maui/maui-linux</PackageProjectUrl>
|
||||
<RepositoryUrl>https://git.marketally.com/open-maui/maui-linux.git</RepositoryUrl>
|
||||
<PackageProjectUrl>https://git.marketally.ai/open-maui/maui-linux</PackageProjectUrl>
|
||||
<RepositoryUrl>https://git.marketally.ai/open-maui/maui-linux.git</RepositoryUrl>
|
||||
<RepositoryType>git</RepositoryType>
|
||||
<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>
|
||||
<PackageIcon>icon.png</PackageIcon>
|
||||
<GeneratePackageOnBuild>false</GeneratePackageOnBuild>
|
||||
|
||||
@@ -2,13 +2,13 @@
|
||||
<package xmlns="http://schemas.microsoft.com/packaging/2013/05/nuspec.xsd">
|
||||
<metadata>
|
||||
<id>OpenMaui.Controls.Linux</id>
|
||||
<version>9.0.0</version>
|
||||
<version>9.0.40</version>
|
||||
<title>OpenMaui Linux Controls</title>
|
||||
<authors>MarketAlly Pte Ltd, David H. Friedel Jr.</authors>
|
||||
<owners>MarketAlly Pte Ltd</owners>
|
||||
<license type="expression">MIT</license>
|
||||
<projectUrl>https://git.marketally.com/open-maui/maui-linux</projectUrl>
|
||||
<iconUrl>https://git.marketally.com/open-maui/maui-linux/raw/branch/main/assets/icon.png</iconUrl>
|
||||
<projectUrl>https://git.marketally.ai/open-maui/maui-linux</projectUrl>
|
||||
<iconUrl>https://git.marketally.ai/open-maui/maui-linux/raw/branch/main/assets/icon.png</iconUrl>
|
||||
<description>
|
||||
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.
|
||||
</description>
|
||||
<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>
|
||||
<copyright>Copyright 2025-2026 MarketAlly Pte Ltd</copyright>
|
||||
<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>
|
||||
<group targetFramework="net9.0">
|
||||
<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)
|
||||
[](LICENSE)
|
||||
|
||||
**Developed by [MarketAlly Pte Ltd](https://marketally.com)**
|
||||
**Developed by [MarketAlly Pte Ltd](https://marketally.sg)**
|
||||
**Lead Architect: David H. Friedel Jr.**
|
||||
|
||||
## Overview
|
||||
@@ -135,12 +135,12 @@ sudo dnf install libX11-devel libXrandr-devel libXcursor-devel libXi-devel mesa-
|
||||
|
||||
## 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 |
|
||||
|--------|-------------|
|
||||
| **[TodoApp](https://git.marketally.com/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 |
|
||||
| **[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.ai/open-maui/maui-linux-samples/src/branch/main/ShellDemo)** | Control showcase with Shell navigation and flyout menu |
|
||||
|
||||
## Quick Example
|
||||
|
||||
@@ -179,7 +179,7 @@ app.Run();
|
||||
## Building from Source
|
||||
|
||||
```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
|
||||
dotnet build
|
||||
dotnet test
|
||||
@@ -279,7 +279,7 @@ Copyright (c) 2025-2026 MarketAlly Pte Ltd. Licensed under the MIT License - see
|
||||
|
||||
## 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
|
||||
- [.NET MAUI](https://github.com/dotnet/maui) - Cross-platform UI framework
|
||||
- The .NET community
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
// Licensed to the .NET Foundation under one or more agreements.
|
||||
// The .NET Foundation licenses this file to you under the MIT license.
|
||||
|
||||
using System.Collections.Concurrent;
|
||||
using SkiaSharp;
|
||||
|
||||
namespace Microsoft.Maui.Platform.Linux.Services;
|
||||
@@ -81,7 +82,7 @@ public class FontFallbackManager
|
||||
|
||||
// Cache for typeface lookups
|
||||
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()
|
||||
{
|
||||
|
||||
@@ -224,7 +224,7 @@ public class VersionTrackingService : IVersionTracking
|
||||
{
|
||||
var assembly = Assembly.GetEntryAssembly() ?? Assembly.GetExecutingAssembly();
|
||||
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()
|
||||
|
||||
@@ -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 |
|
||||
|-----------|-------------|--------|--------|
|
||||
| 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 |
|
||||
| v10.0.0 | .NET 10 / MAUI 10.0.x | Q4 2026 | 📋 Planned |
|
||||
|
||||
## 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>
|
||||
<PackageType>Template</PackageType>
|
||||
<PackageVersion>9.0.0</PackageVersion>
|
||||
<PackageVersion>9.0.40</PackageVersion>
|
||||
<PackageId>OpenMaui.Linux.Templates</PackageId>
|
||||
<Title>OpenMaui Linux Project Templates</Title>
|
||||
<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-xaml: Full XAML support with standard MAUI syntax</Description>
|
||||
<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>
|
||||
<Copyright>Copyright 2025-2026 MarketAlly Pte Ltd</Copyright>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user