Skip to content

chore: Upgrade Avalonia to 12.0 and migrate codebase#1673

Draft
yuto-trd wants to merge 21 commits into
mainfrom
yuto-trd/migrate-avalonia-12
Draft

chore: Upgrade Avalonia to 12.0 and migrate codebase#1673
yuto-trd wants to merge 21 commits into
mainfrom
yuto-trd/migrate-avalonia-12

Conversation

@yuto-trd
Copy link
Copy Markdown
Member

Description

  • Upgrade Avalonia from 11.x to 12.0 and update related dependencies across the solution (Directory.Packages.props, csproj files).
  • Migrate codebase to Avalonia 12 APIs: ReflectionBinding for dynamic bindings, x:DataType for compiled bindings, PlaceholderText, FocusChangedEventArgs, Math.Clamp, Avalonia.Input.Platform namespace, logical-tree traversal, and TopLevel-based scaling.
  • Replace Avalonia.Diagnostics with AvaloniaUI.DiagnosticsSupport (WithDeveloperTools()), remove the custom BcTabItem/BcTabView/DirectoryTreeView controls, and migrate UI to FluentAvalonia (FA) components including the renamed Beutl.FluentIcons.FluentAvalonia package.
  • Drop the obsolete DirectoryViewTest project and adjust several window/editor views (styles, drag handling, IListEditorViewModel.IsEnabled, etc.) for consistency under the new framework.

Breaking changes

  • Extensions depending on the custom BcTabItem/BcTabView or DirectoryTreeView controls must migrate to the FluentAvalonia equivalents, since these controls were removed.
  • Extensions referencing the FluentIcons.FluentAvalonia package must switch to Beutl.FluentIcons.FluentAvalonia.
  • Targeting Avalonia 12 means extensions must be recompiled against the new Avalonia 12 API surface.

Fixed issues

None

@github-actions
Copy link
Copy Markdown
Contributor

Code Coverage

Package Line Rate Branch Rate Complexity Health
Beutl.ProjectSystem 17% 10% 926
Beutl.Utilities 73% 67% 358
Beutl.Language 1% 50% 1148
Beutl.Configuration 40% 20% 314
Beutl.Threading 100% 93% 122
Beutl.NodeGraph 6% 2% 2490
Beutl.Core 39% 35% 3070
Beutl.Engine 20% 18% 16812
Beutl.Extensibility 11% 14% 111
Beutl.Editor 70% 65% 1011
Summary 23% (14513 / 62203) 22% (4086 / 18627) 26362

Minimum allowed line rate is 0%

@yuto-trd yuto-trd force-pushed the yuto-trd/migrate-avalonia-12 branch from 74fe069 to 611e220 Compare April 23, 2026 15:41
yuto-trd added 21 commits April 27, 2026 17:17
@yuto-trd yuto-trd force-pushed the yuto-trd/migrate-avalonia-12 branch from 49ae40e to c71c40c Compare April 27, 2026 08:19
@github-actions
Copy link
Copy Markdown
Contributor

No TODO comments were found.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant