400 Commits

Author SHA1 Message Date
Julien Lebosquain 0fb64d65cc Enable warnings as errors (#20504) 2026-01-21 08:16:46 +00:00
Julien Lebosquain ff0a61486d Update headless xUnit support to v3 (#20481)
* Update headless xUnit support to v3

* Update API suppressions
2026-01-17 17:16:07 +00:00
Julien Lebosquain eb80c729d9 Fix NuGet warnings (#20466) 2026-01-14 12:19:15 +00:00
Youssef Victor c9e210eb70 Update to xunit.v3 (#20331)
* Update to xunit.v3

* Little more progress

* More fixes

* Keep VSTest supported

* Adjust Nuke

* Few fixes

* Fix for xunit 2

* Fix GetData override

* Adjust

* Use MTP for xunit 2

* Fix test

* Better fix

* --no-progress

* Few more fixes

* no progress

* Fix test

* Better fix

* TRX

* Move to Directory.Build.props

* Unify on MTP v2

* Update

* Update to stable

* 1.0.1

* 1.0.2

* Fix some warnings

* Fix more warnings

* Fix more warnings
2026-01-08 20:46:44 +00:00
Julien Lebosquain 4b071000a4 Split analyzers and code fixes into separate projects (#20312)
* Split analyzers and code fixes

* Split C# and VB analyzers

* Merge all analyzer packages

* Add Analyzers.VisualBasic to .slnf
2026-01-07 13:22:46 +00:00
Julien Lebosquain 71ce62ae32 Remove legacy Diagnostics project (#20332)
* Remove legacy Diagnostics project

* Remove DataGrid submodule
2026-01-07 01:24:28 +00:00
Julien Lebosquain ce0a1c6b3e Update dependencies (#20139)
* Update dependencies

* Partially revert appium upgrades

* Fix integration tests
2025-12-17 15:23:32 +01:00
Julien Lebosquain 0f8f70437c Rewrite leak tests without dotMemory Unit (#20095)
* Remove dotMemory Unit from LeakTests

* Nuke: run leak tests normally
2025-12-03 10:06:04 +00:00
Julien Lebosquain 70ebc1e226 Remove ReactiveUI (#20101) 2025-11-19 21:05:12 +00:00
Julien Lebosquain fb0f3848f9 Update to .NET 10 (#19869)
* Update to .NET 10 and C# 14

* Remove reflection usage in AvaloniaAccessHelper

* Fix Android nullability errors

* Fix WindowMetrics.WindowInsets removed from AndroidX

* Update pipelines

* Fix ValidateApiDiff for missing frameworks

* Fix Windows integration tests

* Update Xamarin.AndroidX.Window to 1.5.0

* Fix MacCatalyst supported version

* Remove unused Xunit.Extensions.Ordering

* Try to fix macOS integration tests

* Update pipeline runner to macOS 15

* Disable LeakTests

* Fix .NET Framework unit tests

* Fix BuildTests

* Bump minimum Android API level to 24

* Update to .NET 10 RTM

* Update XamlX

* update android insets and activity code to handle deprecated behaviors in api 36

---------

Co-authored-by: Emmanuel Hansen <emmausssss@gmail.com>
2025-11-19 15:22:43 +01:00
Julien Lebosquain 467063b54b Remove Tizen (#19722)
* Remove Tizen

* Address review
2025-10-06 07:31:20 +00:00
Kirill Osenkov d060f96d52 Remove Microsoft.SourceLink.GitHub PackageReference (#19744)
SourceLink comes with the SDK now, and having the old package has an incremental build bug, see:
https://github.com/dotnet/sdk/issues/36666#issuecomment-2162173453
2025-10-01 11:46:26 +00:00
Julien Lebosquain 66724d4785 Improved API diff (#19490)
* Improved API diff

* Merge API diff files

* Ignore platform version for API diff

* Start with fresh suppression files
2025-08-20 02:40:50 +00:00
Max Katz fca45c1c16 Migrate AvaloniaNameSourceGenerator to IIncrementalGenerator (#19216)
* Add AnalyzerProject.targets targets

* PrivateAssets on Workspaces.Common

* Migrate AvaloniaNameSourceGenerator to IIncrementalGenerator

* Remove outdated lins in the generator readme

* Add GlobPattern.ToString

* Fix tests

* Formatting

* Redo pipeline, make steps more independent from each other, compilation should be reused between dependency changes

* Split XAML parsing and type resolution into separated steps

* Restore CompilationReferencesComparer usage

* Revert "Restore CompilationReferencesComparer usage"

This reverts commit c51341990b8030bb2594ee66e8819b903383bcc1.

* Split ResolvedNamesProvider pipeline step, process files in parallel

* Add comment

* Switch back to EquatableList

* Add cancellation to the incremenetal source gen

* Rethrow cancellation exception
2025-08-13 20:22:14 +00:00
Tim Miller dd8a2693ea [v12] Enable Mac Catalyst in Avalonia.iOS (#19415)
* [v12] Enable Mac Catalyst in Avalonia.iOS

* Consolidate UIKit ControlCatalog csproj files

* Fix the plist

* Split csproj files again

* Update .gitignore

* Desktop Mode

* Storage

* Add maccatalyst as workload target

* Revert .gitignore
2025-08-07 09:12:15 +00:00
Benedikt Stebner 8acea1733b Share Avalonia.Controls with Avalonia.Controls.Documents (#19191)
* Share internals with Avalonia.Constrols.Documents

* Inlines might be null

* Use IAddChild<T>

---------

Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
2025-07-07 08:51:52 +00:00
Max Katz b644cee98f [12.0] Target SkiaSharp 3.0. Drop 2.88 support (#18981)
* Retarget to SkiaSharp 3.0

* Replace SKFilterQuality with SKSamplingOptions

* Replace obsolete GRBackendRenderTarget ctor

* Replace SkiaMetalApi reflection with stable APIs

* Use SKMatrix4x4 where it makes more sense perf wise

* Add CS0618 warning as error for Skia

* Fix ToSKSamplingOptions implementation

* Remove hacky compile time condition

* Update API compat

* Remove maccatalyst hack

---------

Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
2025-07-05 07:58:30 +00:00
Tim Miller 10fb435004 Bump ImageSharp (#18924)
Co-authored-by: Steven Kirk <grokys@users.noreply.github.com>
2025-05-26 10:16:56 +00:00
東雲なの 96753fe4d1 Update SkiaSharp and HarfBuzzSharp version to support LA64 and RV64 (#18571)
* SkiaSharp.props:Update it to support LoongArch64 and RISC-V 64

https://github.com/mono/SkiaSharp/pull/3198
https://github.com/mono/SkiaSharp/pull/3192
https://github.com/mono/SkiaSharp/pull/3200
https://www.nuget.org/packages/SkiaSharp.NativeAssets.Linux/3.119.0-preview.1.2

* HarfBuzzSharp.props:Support LoongArch64 and RISC-V64

https://github.com/mono/SkiaSharp/pull/3198
https://github.com/mono/SkiaSharp/pull/3192
https://github.com/mono/SkiaSharp/pull/3200
https://www.nuget.org/packages/HarfBuzzSharp.NativeAssets.Linux/8.3.1.1-preview.1.2

* Update SkiaSharp.props

* Update HarfBuzzSharp.props

---------

Co-authored-by: Maxwell Katz <maxkatz6@outlook.com>
2025-05-18 21:01:58 -07:00
Julien Lebosquain 9e24f9bac8 Master now targets 12.0 2025-04-03 18:18:59 +02:00
Maxwell Katz acd4653411 Add diagnostic metrics/activities (#18314)
* Add System.Diagnostics.DiagnosticSource nuget package for pre-.NET 8 targets

* Move System.Memory reference to Base.props

* Add CompositorRenderPass and CompositorUpdatePass metrics

* Layout measure/arrange pass metrics

* Add UI render pass and input pass meters

* Add observable metrics

* Add RaisingRoutedEvent activity

* Add FindingResourceActivity activity

* Add AttachingStyleActivity and EvaluatingStyleActivator activities

* Add PerformingHitTest activity

* Add MeasuingLayoutable/ArrangingLayoutable activities

* Missed RaisingRoutedEvent definition

* Missed tag definitions

* Start FindingResourceActivity on static resources too

* Fix compilation

* Naming

* Add Avalonia.Diagnostics.Diagnostic.IsEnabled runtime switch

* Maybe make it more trimmable as well
2025-03-06 11:34:10 +00:00
Maxwell Katz 68009f8960 Warning AVLN2208: Item container in the data template (#18132)
* Implement AVLN2208 diagnostic - ItemContainerInsideTemplate

* Add AVLN2208 tests

* Enable AVLN2208 as an error in the repository globally

* Fix invalid ListBoxItem inside of DataTemplate in devtools
2025-02-07 17:38:23 +00:00
Julien Lebosquain 1583de3e33 Fix random test failures and add empty dispatcher verification to tests (#17628)
* Add VerifyEmptyDispatcherAfterTestAttribute

* Use VerifyEmptyDispatcherAfterTest and fix failing tests

* Remove unsupported timeout from sync xUnit tests
2024-11-30 04:25:31 -08:00
Max Katz 36f385fc3c Update SkiaSharp (#17595)
* Update stable SkiaSharp

* Update preview SkiaSharp

* Update stable HarfBuzz
2024-11-23 10:27:26 +00:00
Julien Lebosquain 0774007a4c Remove Tizen workload; use the Tizen SDK package directly instead (#17550) 2024-11-18 15:19:10 +00:00
Nikita Tsukanov 02bb3aad06 Updated PackageProjectUrl with UTM tags (#17389)
* Updated PackageProjectUrl with UTM tags

* &amp;
2024-10-31 14:54:58 +00:00
Max Katz 68a626f678 Fix .NET 9 WASM incompatibility by updating SkiaSharp.WASM package (#17362)
* Bump SkiaSharp versions

* Include .NET 9 compatible SkiaSharp binaries

* Minor warning fix

* Bump HarfBuzz too
2024-10-26 19:02:20 -07:00
Max Katz b49b255b76 Master now targets 11.3 2024-10-02 16:13:48 -07:00
Max Katz d7040e22d5 Begin with DisableRuntimeMarshalling support + fix macOS Metal AOT (#17116)
* Add attribute

* Replace `SetLastError = true` with `Marshal.GetLastSystemError()`

* Make Avalonia.Base and Avalonia.Skia compatible with DisableRuntimeMarshalling

* First step in Android DisableRuntimeMarshalling support

* Make Avalonia.Browser compatible

* Set EnableRuntimeMarshalling=true on all projects we are not yet ready to support without runtime marshalling
2024-09-25 10:48:25 +00:00
Chris Pulman 2d51602760 Update ReactiveUI and Rx base version (#16719)
Co-authored-by: Julien Lebosquain <julien@lebosquain.net>
2024-08-20 09:06:37 +00:00
workgroupengineering dcae7568b1 fix: SixLabors ImageSharp Out-of-bounds Write CVE-2024-41131 (#16620) 2024-08-07 23:57:18 +00:00
Max Katz d3f234bad5 Reset API validation baseline (#16470) 2024-07-25 18:16:14 -07:00
Heku 0a938bbb15 Fixed build error: SourceRoot paths are required to end with a slash or backslash (#16174)
If developers changed the nuget global packages folder by set NUGET_PACKAGES environment variable to a path without trailing slash, they may have a build error like this, refer to https://github.com/PrismLibrary/Prism/issues/2369
2024-07-08 19:45:02 -04:00
Max Katz e7b196cf03 More trimming fixes, enable analyzers unconditionally (#15815)
* Use UnconditionalSuppressMessage instead of #pragma in DefaultConverter

* Add missing DynamicallyAccessedMembers on WinRTInspectable

* Add missing UnconditionalSuppressMessage on Expression.OperatorName

* Use UnconditionalSuppressMessage instead of #pragma warning disable for all trimming warnings

* Don't even create ReflectionMethodAccessorPlugin if IsDynamicCodeSupported is false

* Remove old condition, as we are ready to be fully AOT compatible
2024-06-05 00:58:04 +00:00
Julien Lebosquain b30894cb5c Warning fixes: spring wave (#15747)
* Fix duplicated trimming attributes warning in Markup.Xaml.Loader

* Fix nullability warnings

* Update ImageSharp to 2.1.8

* Removed obsolete attributes on ValueStore

* Ignore CA1815 on private API RenderTargetProperties

* Fix switch expression warnings

* Fix warnings in Vulkan project

* Only include PThread for WasmEnableThreads

* Rename pollfd to PollFd to fix CS8981

* Fix incompatible packages being used in ControlCatalog.Desktop

---------

Co-authored-by: Max Katz <maxkatz6@outlook.com>
2024-05-21 03:57:47 +00:00
Nikita Tsukanov 3a1a69b145 Vulkan backend (#12737)
* Ported the old Vulkan PR

* chop-chop

* Support for external objects in vulkan backend

* Fixed structure type

* Removed debug code

* sln fix

* Don't force vulkan on windows
2024-04-29 09:47:49 +00:00
Max Katz 8c7754ff17 SkiaSharp updates, SkiaSharp 3.0 render tests enabled (#15255)
* Use 2.88.8-preview.1.1 skiasharp

* Use SKImageFilter directly, as we don't need compat anymore

* Add SkiaSharp 3 render tests

* Enable SkiaSharp 3 tests on CI

* Add IncludeLinuxSkia in Skia tests

* Update Skia version, remove SkiaCompat

* Remove Skia3 test project, reuse single Skia render test project, so they won't conflict
2024-04-19 18:01:34 -07:00
Max Katz 8a036140db Add AvsEnableDevWarningsNotAsErrors prop (#15106)
* Add AvsEnableDevWarningsNotAsErrors prop

* Begone StyleCop
2024-04-19 17:29:47 -07:00
Max Katz 6f7a003c31 Rename MobileSandbox to Avalonia.SingleProjectSandbox (#15330)
* Define SupportedOSVersion variables shared between projects

* Rename MobileSandbox to Avalonia.SingleProjectSandbox
2024-04-11 20:51:17 -04:00
Max Katz 4b1ca3811e Avalonia single project support (#9613)
* MVP SingleProject support for all supported platforms

* Convert MobileSandbox to be a single project

* WASM fixes

* Fix SDK CI version

* Use .NET 8 in build project as well

* Add EnableUnsafeBinaryFormatterSerialization

* Add macos workload, remove wasm-experimental

* And ios

* Specify TFM for single-project projects in dirs.proj

* Return deleted line

* Set PrivateAssets=all on MobileSandbox

* Add ios target only on non-linux in MobileSandbox

* Update after merges

* Update browser sub-project from the templates

* Don't build MobileSandbox on CI

* Couple of improvements

* Add android hack to run without manifest

* Add tvOS support and rearrange some properties

* Delete unusable Packages.targets file + related

* Add global Condition for AvaloniaSingleProject.targets
2024-03-28 09:46:28 +00:00
Julien Lebosquain 689a6255f7 Update ImageSharp to 2.1.7 (#14893) 2024-03-09 18:48:31 +00:00
Max Katz f54fdadc47 Bump version (#14871) 2024-03-08 17:07:19 -08:00
Max Katz 00a520c711 Do not include System.ComponentModel.Annotations on net6+ 2024-03-05 16:05:59 -08:00
Max Katz 326ef7c9fd Add .NET 8 target (Avalonia 11.1) (#14535)
* Add .NET 8 target to packable projects

* Update test projects

* Update sample projects to target .NET 8

* Update main Avalonia package to target .NET 8 as well

* Remove MSBuildEnableWorkloadResolver hack and some minor change

* Use net8.0 in nuke build as well

* Pin 8.0.0 SDK

* Adjust API validation

* Pin a valid version

* Remove net461 target from Avalonia package

* Remove unused net6.0 target from Avalonia.Designer.HostApp

* Adjust API diff

* Update ControlCatalog.Android.csproj

* Remove MSBuildEnableWorkloadResolver

* Fix Browser issues on .NET 8

* Fix .NET 8 error

* Fix merge conflicts

* Replace explicit TFMs in .csproj files with a centralized registry

* Fix merge conflict

* Fix AvsLegacyWindowsTargetFrameworks and add hacks for the tests

* Update XCode project CommandLineArgument

---------

Co-authored-by: Nikita Tsukanov <keks9n@gmail.com>
2024-03-05 13:37:26 -08:00
Tom Edwards 3194e3206e Replace external MSBuild processes with TaskHostFactory (#14700) 2024-02-22 23:55:11 +00:00
Max Katz 7cab284b89 Fix some new error/warnings from .NET 8 2024-02-07 23:35:00 -08:00
Max Katz 18d02f1aa0 Update TrimmingEnable+NullableEnable to avoid unnecessary warning 2024-02-02 21:50:27 -08:00
Montague Moran d63f0574e7 Update SkiaSharp to 2.88.7 to fix a memory exception (#14179) 2024-01-12 04:23:56 +00:00
Julien Lebosquain 3fa13d3b64 Warning cleanup 2 (#13696) 2023-11-23 10:42:27 +00:00
Julien Lebosquain 8734d9d86e Ignore strong naming warnings in tests and samples (#13700) 2023-11-23 07:12:40 +00:00