Skip to content

Releases: nalu-development/nalu

10.7.5

16 Apr 00:08

Choose a tag to compare

Fixed VirtualScroll memory leak on iOS.

👨🏼‍💻 Contributors

@albyrock87

10.7.4

15 Apr 20:39

Choose a tag to compare

  • Fix TabBarView not inheriting global styles or AppThemeBinding
  • Additional VirtualScroll iOS memory leak protection
    Note: I'm still experiencing leaks but only while using StaticResource which leads me to thing that there may be some issue within MAUI itself, I'll continue investigating.

👨🏼‍💻 Contributors

@albyrock87

10.7.3

03 Apr 18:15

Choose a tag to compare

🧰 Maintenance

  • Fix NSUrlBackgroundSessionHttpMessageHandler CancellationToken not being effective

👨🏼‍💻 Contributors

@albyrock87

10.7.2

03 Apr 16:37

Choose a tag to compare

🧰 Maintenance

  • Fix NaluTabBar preventing proper cross-section navigation with stack replacement

👨🏼‍💻 Contributors

@albyrock87

10.7.1

28 Feb 13:02
c59ec95

Choose a tag to compare

🧰 Maintenance

  • Adding workarounds trying to prevent a non-reproducible random crash on iPads
    NSInternalInconsistencyException Reason: Preferred size is ZERO for auxiliary item <NSCollectionLayoutBoundarySupplementaryItem 0x145c75740; name=(null); size={.containerWidthFactor(1), .estimated(64)};
    	 edgeSpacing=<leading=<NSCollectionLayoutSpacing - 0x130114040: fixed:0>; top=<NSCollectionLayoutSpacing - 0x130114040: fixed:0>; trailing=<NSCollectionLayoutSpacing - 0x130114040: fixed:0>; bottom=<NSCollectionLayoutSpacing - 0x130114040: fixed:0>; outsets=@{0,0,0,0}>;
    	 identfier=4DD3F5DD-45FA-42C4-A9AC-F1518C63778C;
    	 contentInsets={0,0,0,0}> in container <_UICollectionLayoutContainer: 0x145c38880 contentSize={0, 915}; contentInsets={0, 0, 0, 0}}>
    
  • Prevent potential mid-animation crash from happening: System.ArgumentOutOfRangeException in object VirtualScrollNotifyCollectionChangedAdapter<ReadOnlyObservableCollection<IBundleItemBaseViewModel>>.GetItem(int, int)

👨🏼‍💻 Contributors

@albyrock87, @dependabot[bot] and dependabot[bot]

10.7.0

16 Feb 18:15

Choose a tag to compare

🧰 Bug fixes

  • Prevent a potential crash on iOS VirtualScroll when the user tries to drag a non-draggable VirtualScroll
  • Fixes VirtualScrollScrolledEventArgs never reaching 1.0 scroll percentage (#126)

✨ Improvements

  • VirtualScroll: Enhanced VirtualScrollScrolledEventArgs with new properties for better scroll handling:
    • Added ViewportWidth and ViewportHeight to get the viewport dimensions
    • Added RemainingScrollX and RemainingScrollY to easily detect proximity to scroll boundaries - useful for infinite scroll scenarios (#126)
    • [BREAKING CHANGE] ScrollPercentageX and ScrollPercentageY now return 1.0 (instead of 0.0) when content is not scrollable, which better represents "fully scrolled" state (#126)

👨🏼‍💻 Contributors

@albyrock87

10.6.2

04 Feb 19:21

Choose a tag to compare

🧰 Maintenance

  • Fix VirtualScroll on iOS causing crashes under some specific layout / data source changes conditions
  • Fix NaluTabBar-enabled Shell pages not resizing correctly upon orientation change or iPad free-window resizing
  • Fix VirtualScroll carousel layout on iOS not snapping automatically during window resize

👨🏼‍💻 Contributors

@albyrock87

10.6.1

28 Jan 21:13

Choose a tag to compare

🚀 New Features

🧰 Maintenance

👨🏼‍💻 Contributors

@albyrock87

10.6.0

16 Jan 19:04
dbf3611

Choose a tag to compare

Release Notes

🎠 Carousel Layout Support

VirtualScroll now supports carousel layout!

Use HorizontalCarouselVirtualScrollLayout or VerticalCarouselVirtualScrollLayout to create full-screen, page-snapping carousels.

Features:

  • Items automatically fill the available viewport space
  • Smooth page snapping behavior
  • Two-way CurrentRange binding to track the current visible item
  • CurrentRange can be bound to int for simple use cases

Example:

<vs:VirtualScroll ItemsLayout="{vs:HorizontalCarouselVirtualScrollLayout}"
                  vs:CarouselVirtualScrollLayout.CurrentRange="{Binding CurrentIndex}">
    <!-- ItemTemplate -->
</vs:VirtualScroll>

📜 Enhanced Scroll Events

New scroll lifecycle events for better control over scroll behavior:

  • OnScrollStarted / ScrollStartedCommand - Fired when user begins scrolling
  • OnScrollEnded / ScrollEndedCommand - Fired when scrolling completes (after deceleration)

These events are particularly useful for carousel layouts to update the current page indicator.

🔧 Improvements

  • VirtualScrollRange now supports implicit conversion to/from int for simpler carousel index binding
  • Improved layout update handling for better carousel synchronization
  • Fixed an issue on Android where removing all the items from a flat list and adding a new one was causing an empty item to appear right after leading to further unwanted behaviors

📚 Documentation

Updated documentation with comprehensive carousel layout examples and scroll event usage. See the VirtualScroll documentation for details.

10.5.2

14 Jan 11:10

Choose a tag to compare

🧰 Bug fixes

  • Fixes a regression caused by AOT compatibility where IEnteringAware<TIntent> and IAppearingAware<TIntent> where not being invoked when passing a T which inherits from TIntent 34b03e3

👨🏼‍💻 Contributors

@albyrock87