Skip to content

Releases: roubachof/Sharpnado.Shadows

v2.0.2 - Windows Content Margin Fix

29 Oct 02:18

Choose a tag to compare

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

🙏 Credits

Thanks to the community for reporting this Windows layout issue.

v2.0.1 - Windows Platform Inclusion

25 Oct 00:16

Choose a tag to compare

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:

Repository: https://github.com/roubachof/Sharpnado.Shadows

Version 2.0.0 - Major release for .NET 9 MAUI

10 Oct 20:37
5acd61d

Choose a tag to compare

  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

20 Jul 14:23

Choose a tag to compare

Fixes

  • #39 Shadow binding stopped working in 1.2.0 version (worked in 1.1.0)
  • Crash: ShadowView.CreateBitmap: java.lang.nullpointerException #36

BitmapCache for Android Bitmaps

07 Oct 10:17

Choose a tag to compare

[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

  • #21 Cannot access a disposed object. Object name: 'Android.Renderscripts.RenderScript'.
  • #22 Improve Shadows performance on Android enhancement

Fix UWP builds

30 Jul 16:29

Choose a tag to compare

  • UWP version is now built with any cpu and works with x86 and x64 platforms

Tizen support

23 Jul 08:48

Choose a tag to compare

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

23 Jun 16:34

Choose a tag to compare

Fix android invalidation when updating Shade collection

Fix memory leak on Android

18 Jun 10:24

Choose a tag to compare

Now calling _shadowView?.Dispose(); on renderer disposition.

First release of Sharpnado.Shadows

09 Jun 12:11

Choose a tag to compare

v1.0.0

fix readme tables