Releases: roubachof/Sharpnado.Shadows
v2.0.2 - Windows Content Margin Fix
Release Notes v2.0.2
🐛 Windows Content Margin Fix
Type: Bugfix
This release fixes a critical layout issue on Windows (WinUI) where MAUI margin properties were not being applied to content views within the Shadows handler.
🐛 Issue
In the Windows platform implementation, content views (such as Border or Frame with Margin set) were added directly to the native Grid without their MAUI layout properties being transferred to the platform view. This caused all content to render without spacing, ignoring margin values.
<!-- This margin was being ignored on Windows -->
<sho:Shadows CornerRadius="10">
<Border Margin="10" Background="White">
<Label Text="Content" />
</Border>
</sho:Shadows>✅ Fix
The Windows ShadowsHandler now explicitly transfers the MAUI content's Margin property to the native WinUI FrameworkElement:
// Manually apply MAUI margin to the platform view
var contentMargin = shadowsView.Content.Margin;
_contentPlatformView.Margin = new Thickness(
contentMargin.Left,
contentMargin.Top,
contentMargin.Right,
contentMargin.Bottom);This ensures proper spacing and layout behavior consistent with other platforms.
📝 Technical Details
- Modified:
Maui.Shadows/Platforms/Windows/ShadowsHandler.cs - Added explicit margin transfer from MAUI view to WinUI platform view
- No changes to other platforms (Android, iOS, MacCatalyst remain unchanged)
📦 Installation
dotnet add package Sharpnado.Maui.Shadows --version 2.0.2🔄 Migration from 2.0.1
Simply update the package version. No code changes required. Windows layouts with content margins will now render correctly.
📚 Documentation
- Main README: https://github.com/roubachof/Sharpnado.Shadows
- Repository: https://github.com/roubachof/Sharpnado.Shadows
🙏 Credits
Thanks to the community for reporting this Windows layout issue.
v2.0.1 - Windows Platform Inclusion
Release Notes v2.0.1
📦 Windows Platform Inclusion
Type: Packaging Fix
This is a re-release of v2.0.0 to include Windows platform binaries.
🐛 Issue
Version 2.0.0 was packaged on macOS, which resulted in the Windows target framework (net9.0-windows10.0.19041.0) being excluded from the NuGet package.
✅ Fix
Version 2.0.1 includes all platform binaries:
- ✅
net9.0- .NET 9 base - ✅
net9.0-android- Android - ✅
net9.0-ios- iOS - ✅
net9.0-maccatalyst- MacCatalyst - ✅
net9.0-windows10.0.19041.0- Windows (now included)
📝 Code Changes
No code changes - This release is functionally identical to v2.0.0.
All features from v2.0.0 remain unchanged:
- Full .NET 9 MAUI support with modern handlers architecture
- Android BlurType property (Gpu/StackBlur)
- Android improved GPU-based blur rendering
- iOS/MacCatalyst complete rewrite using ViewHandler
- Windows full WinUI 3 support with Composition API
- MacCatalyst full platform support
- Complete handler refactoring for all platforms
- Fixed memory leaks in Windows handler
- Enhanced logging and debugging capabilities
📦 Installation
dotnet add package Sharpnado.Maui.Shadows --version 2.0.1🔄 Migration from 2.0.0
Simply update the package version. No code changes required.
Windows developers who were unable to use v2.0.0 can now use v2.0.1.
📚 Documentation
For full v2.0.0 feature documentation, see:
- Main README: https://github.com/roubachof/Sharpnado.Shadows
- Blog post: Docs/blog-post-shadows-2.0.md
Repository: https://github.com/roubachof/Sharpnado.Shadows
Version 2.0.0 - Major release for .NET 9 MAUI
NEW FEATURES:
* Full .NET 9 MAUI support with modern handlers architecture
* Android: New BlurType property (Gpu/StackBlur) for blur algorithm selection
* Android: Improved GPU-based blur rendering with advanced options
* Android: Enhanced memory management and bitmap caching
* iOS/MacCatalyst: Complete rewrite using modern ViewHandler architecture
* Windows: Full WinUI 3 support with Composition API
* MacCatalyst: Full platform support with native blur effects
IMPROVEMENTS:
* Complete handler refactoring for all platforms (Android, iOS, Windows, MacCatalyst)
* Fixed memory leaks in Windows handler (SizeChanged event subscription)
* Improved null safety with nullable reference types throughout
* Enhanced logging and debugging capabilities
* Better error handling and bounds checking
* Consistent use of WeakEvents to prevent memory leaks
* Modern C# patterns and practices
BREAKING CHANGES:
* Minimum target framework: .NET 9
* Legacy Xamarin.Forms support moved to separate package
* Initialization API updated for MAUI handlers
* Assembly name changed to Sharpnado.Maui.Shadows
PLATFORMS:
* Android API 21+
* iOS 12.2+
* Windows 10.0.17763.0+
* MacCatalyst 15.0+
Fix raise property change bug on shade properties
BitmapCache for Android Bitmaps
[Android] Performance
Add a bitmap cache on android so that for a given Color, BlurRadius and Size, only one instance of an Android Bitmap will be created and shared between all views.
Fix
Fix UWP builds
- UWP version is now built with any cpu and works with x86 and x64 platforms
Tizen support
Support for Tizen backend by Kangho Hur
- Add support for older Android
- Fixes BindingContext inheritance for shades
- Support for older windows sdk by Pavlo Lukianets
- Add x64 dll for UWP instead of x86
Fix android invalidation when updating Shade collection
Fix android invalidation when updating Shade collection
Fix memory leak on Android
Now calling _shadowView?.Dispose(); on renderer disposition.
First release of Sharpnado.Shadows
v1.0.0 fix readme tables