-
released this
2026-03-07 07:46:10 +00:00 | 0 commits to main since this releaseSummary
This major release brings full GTK support to .NET MAUI on Linux, including WebView functionality via WebKitGTK, comprehensive control handlers, and production-ready stability improvements. The version has been aligned with .NET MAUI 9.0.40 for consistency.
🎉 New Features
WebView Support
- WebView via WebKitGTK: Added complete WebView support using WebKitGTK integration
- GtkWebViewManager and GtkWebViewPlatformView: New platform-specific WebView components
GTK Platform Support
- Complete GTK Backend: Major production merge bringing full GTK support for Linux
- Window Management: Native window management capabilities
- Context Menus: Full context menu support across controls
- Gesture Support: Comprehensive gesture recognition system with GestureManager
Control Handlers
All MAUI controls now have verified Linux/GTK handlers:
- Basic Controls: Button, Label, Entry, Editor, SearchBar
- Input Controls: Checkbox, Switch, RadioButton, Slider, Stepper
- Pickers: DatePicker, TimePicker, Picker
- Visual Controls: Image, ImageButton, Border, BoxView, Frame
- Progress: ActivityIndicator, ProgressBar
- Layout: LayoutView, StackLayout, Grid, ScrollView
- Navigation: NavigationPage, Page, Shell, MenuBar
- Collections: CollectionView
Skia-based Views
- SkiaEntry, SkiaEditor, SkiaShell, SkiaWebView
- SkiaLabel, SkiaScrollView
- SkiaLayoutView, SkiaStackLayout, SkiaGrid
Sample Applications
- XamlBrowser: Reconstructed XAML browser sample
- TodoApp: Sample application with reconstructed XAML
- ShellDemo: Comprehensive showcase with DialogsPage and MoreControlsPage
🐛 Bug Fixes
- Fixed ImageButtonHandler implementation
- Fixed NavigationPageHandler, StepperHandler, TimePickerHandler
- Fixed GestureManager and CollectionViewHandler
- Fixed BorderHandler and FrameHandler ConnectHandler/DisconnectHandler methods
- Resolved incomplete functionality and nullable warnings
- Fixed async issues across handlers
- Fixed binding modes for multiple Skia controls
- Fixed color rendering issues
- Fixed cursor blink behavior in Entry/Editor controls
- Fixed labels, lists, and page rendering
- Fixed image rendering issues
- Resolved native resource leaks in GTK and WebKit interop
🔧 Improvements
Code Quality
- Diagnostic Logging: Replaced Console.WriteLine with DiagnosticLog service
- Code Organization: Split large files into partial classes by concern
- Type Safety: Added verified type files from decompiled source
- Handler Verification: All handlers verified against decompiled production code
Interoperability
- Safe Handle Wrappers: Added safe handle wrappers for native resources
- Configuration Options: New configuration options for interop layer
- Resource Management: Improved native resource cleanup
Testing & Performance
- Unit Tests: Added unit tests for controls and rendering helpers
- Performance Benchmarks: Added benchmarks for rendering pipeline
- MERGE_TRACKING.md: Comprehensive tracking of verified handlers
CI/CD
- Simplified CI workflow to Linux-only builds
- Removed PowerShell dependency from release workflow
- Tag-based trigger for release workflow
- Updated build workflows
Documentation
- Added CLAUDE.md for XAML reconstruction project
- Added OpenMaui technical article series
- Added changelog for v1.0.0 release
- Updated templates and documentation
- Removed --prerelease flag from package install commands
📦 Version Alignment
- Version Bump: Aligned version to 9.0.40 to match .NET MAUI 9.0.40
- Consistent Versioning: Follows .NET and MAUI versioning scheme for clarity
🙏 Acknowledgments
This release represents a significant milestone in bringing .NET MAUI to Linux with production-ready GTK support. Special thanks to all contributors who helped verify handlers and reconstruct XAML samples from decompiled code.
Source Code