Skip to content

6.0.465

Latest
Compare
Choose a tag to compare
@jeromelaban jeromelaban released this 08 May 20:33
· 423 commits to legacy/4x since this release
6b95f7e

Nearly seven years after unveiling Uno Platform for the first time, we’re announcing our BIGGEST RELEASE EVER and are stepping into the whole new chapter of Uno Platform evolution.

See the Uno Platform 6.0 announcement in our blog post!

Among the changes in this release:

  • Unified Skia Rendering for all targets, including iOS, Android and WebAssembly
  • MediaPlayer element, as part of the open source offering, for all platforms
  • WebView Support, as part of the open source offering, for all platforms
  • Native Embedding and Airspace support for all platforms
  • Win32 Skia Desktop backend for leaner publish payload and improved rendering performance
  • Skia Desktop and Skia iOS improvements in Xaml and Resources trimming
  • Skia ImageSource caching
  • Uno.WinRT is now available to reference individually for non-UI projects and packages
  • Significantly improved Skia touch support with GestureRecognizer and improved scrolling inertia
  • Many rendering and reliability improvements in Skia TextBox
  • Aligned HTML interop API for support on both DOM and Skia renderers
  • Skia rendering performance improvements with partial tree rendering
  • Skia background Image loading
  • IDE Extensions now provide uno.sdk upgrade notification
  • Debugger enabled Hot Reload for VS Code
  • New item templates for Rider
  • Many Skia Composition API improvements (CompositionGeometricClip, CompositionGeometry, all easing functions, CanvasGeometry, CanvasPathBuilder)

On the breaking changes side:

  • GTK Skia backend has been removed
  • UWP API set has been removed
  • SkiaSharp 3 is now required

You can browse below the complete change log for this release.


Features

  • Add AndroidX.Core.SplashScreen to Uno.Sdk (830296b)
  • Add ConditionalTestClassAttribute (c6a7c39)
  • Add ConditionalTestClassAttribute (2a60aa3)
  • Add error details in dev-server status event (621ebf4)
  • Add full screen mode support on WebAssembly (f3a2b23)
  • add keyboard events support for wasm-skia (d332e43)
  • add playback rate and position (ee2c4b4)
  • add support for airpsace on WASM-Skia (cf9aecd)
  • Add support for wasm+skia runtime (69b0385)
  • Add tvOS to Sync Generator (d5901c4)
  • Add Uno.Foundation and Uno.WinRT (918bda2)
  • Add UnoSdkVersion MSBuild property (a0dd96d)
  • Added ability to generate code that doesn't blow up raw string litterals by counting the number of quotes in the code. (bdba743)
  • Added the ability to embed XAML as sources for HR/HD operations (99ebadd)
  • Added the ability to embed XAML sources as code when using HR (4af785b)
  • Adjust Uno Composition for tvOS (c597ef5)
  • Adjust Uno WinRT for tvOS (55019b2)
  • Align MainActivity with Uno Templates (44546ed)
  • Allow overriding default scaling in runtime tests (7485fb7)
  • android-skia MPE (12a0ca0)
  • android-skia: native embedding hosting support for Android with the skia backend (f227526)
  • android: Add full support for keyboard input connection (6537260)
  • android: add permission handling functionality on Skia.Android (48219ad)
  • Apply target framework override to unit test projects (8ca14d3)
  • BitmapImage: image caching (1fae3af)
  • Bump AppCompat for EdgeToEdge (ffd33b5)
  • Bump WinAppSDK version (a0d5032)
  • composition: add Composition Path Clipping sample (f26c404)
  • composition: add easing functions UI tests (63f8909)
  • composition: add more CompositionSpriteShape tests (fd9b4cb)
  • composition: add Path Shape UI test for CompositionSpriteShape (6ec0751)
  • composition: add support for all geometry types for CompositionGeometricClip + optimize geometry creation and rendering (4c87eca)
  • composition: animations support for CompositionGeometry + sample (054b01c)
  • composition: High DPI support for ISkiaSurface (f2668b1)
  • composition: implement all Composition easing functions (3e91a44)
  • composition: Implement more CanvasGeometry methods + more tests (61b3c4e)
  • composition: implement property animator for AnimationController (dca9bee)
  • composition: Implemented CanvasPathBuilder + few fixes for CompositionPathGeometry (d0d61a3)
  • composition: initial implementation of AnimationController (54970a9)
  • composition: initial support for Composition easing functions (e46a8b3)
  • composition: Initial work on Composition Paths (e285c3e)
  • composition: more work on AnimationController (cc7433c)
  • composition: More work on CanvasGeometry, CanvasPathBuilder, and UI sample tests (f667ce3)
  • composition: multi-window High DPI support for ISkiaSurface (8fafa6d)
  • composition: Partially implement CompositionPathGeometry (b11d583)
  • composition: Partially implemented CanvasGeometry + UI samples (4516581)
  • ConditionalTestAttribute support for new Skia targets (08bf892)
  • Detect if we're running on VS and delegate the SAVE to it when it's the case. (04ba6c9)
  • Do not use CoreWindow on Skia targets (f00d481)
  • gestures: Improve gesture recognition by using an history of pointer points (e879150)
  • hardware acceleration for android-skia (7aa9339)
  • hr: Add ability to remove root of a DataTemplate with HR without cnomua (504593d)
  • HW acceleration on Skia.iOS (d1a302c)
  • Implement pattern/template grammar for DateTimeFormatter (c8c6a43)
  • Initial a11y support Wasm Skia (60fce3d)
  • Initiate TextBox with keyboard and autofill integration (a162c97)
  • Input pane extension for iOS (2c880f3)
  • input-pane: implement platform-specific input pane management (c15983f)
  • InputPane: Set OccludedRect on Android (4d90e47)
  • InputPane: Set OccludedRect on iOS (dab4034)
  • IsEdgeToEdgeEnabled feature flag (4a282ed)
  • linux: implement an ISystemThemeHelper based on the Settings portal (12867f4)
  • macOS: add playlist to MediaPlayerElement (97409b2)
  • macOS: WebView support for macOS/Skia (401783f)
  • Make the HR client code (HD) able to decide if the source should be forced to be saved to disk or not. Default to true for now, will change eventually. (26e971c)
  • Make the remote HR (from HD) updating the document in memory when running on VS (777a545)
  • MediaPlayerElement for Skia.macOS (1508255)
  • MediaTransportControls: disable full screen on Skia targets (d423dbf)
  • MPE on WASM-Skia (b82b445)
  • Native DatePicker for Android Skia (8229078)
  • Native embedding clipping (7a3c449)
  • Native TimePicker for Android Skia (623bece)
  • Order Samples app favorites at the top of category (587155a)
  • partial visual rendering for skia (95ec6d1)
  • password manager integration for PasswordBox on wasm-skia (da1aef6)
  • Prevent HRI to move out of area by inertia (185959a)
  • Recognize .WinAppSDK.cs in Uno.SDK (755a648)
  • Remove fixed orientation ScrollBar (61ea5ca)
  • ScrollContentPresenter occluded padding handling on Skia targets (6c085e1)
  • scrolling: Customize scrolling inertia per OS (9292c94)
  • scrolling: Fine-tune touch scrolling inertia deceleration (561f6a0)
  • scrollviewer: Add support for DirectManipulation for touch scrolling on skia (cfafb1c)
  • scrollviewer: Implement Railing and Chaining properties on skia (7e2739f)
  • Separate Samples app native vs. Skia (38780f9)
  • Show repository path in Samples app (5bd1a52)
  • Show target platform in Samples app (733c22c)
  • skia/wasm: preload fonts before the splash screen goes away (0104d23)
  • Skia/Win32 (44e0f0e)
  • skia: support ImageBrushes with svg URIs (b83d7f0)
  • Support for IsScrollInertiaEnabled on managed ScrollViewer (88d6d2f)
  • Support for MediaPlayerElement on Skia.AppleUIKit (fe58098)
  • Support for WebView in Skia.AppleUIKit (2aacf5c)
  • Support input scopes on Skia.iOS (cc16e47)
  • sv: Enable animation for SV.CHangeView on skia + use it in inertial scroll to improve performance (e5cb931)
  • Throw error when Window factory was not registered (ca8c5b0)
  • UnoSdk: include LibVLC binaries on Windows (90b521d)
  • Update Microsoft.CodeAnalysis (007e0c9)
  • Update ScrollBar resources to winui3/release/1.6.5 on Skia (f9f6912)
  • Update ScrollBar to winui3/release/1.6.5 (9a9ad7e)
  • Update to WinAppSDK 1.7 (89e47ba)
  • Update Uno.Fonts.Fluent (e8a2e30)
  • Update Uno.Wasm.Bootstrap (92e48f1)
  • Update WinAppSdkBuildTools (6449690)
  • Use AutoSuggestBox search (fcf9fb5)
  • VisualTree VisibleBoundsChanged (15715aa)
  • wasm: Use asset pre-compression for font files (02af744)
  • win32: WebView (25a7738)
  • Window/Application lifecycle handling on iOS (9ce5df8)
  • x11: MediaPlayerElement (772a689)
  • x11: WebView (ed9760b)
  • XAML conditionals for skia everywhere (f8382d2)

Performance Improvements

  • anim: Don't refresh triggers and transitions during parsing (0166171)
  • anim: Register only once to the JS animationframe callback (78e30a6)
  • Avoid object allocation when switching beteen MUX and WUX + use bitwise flags in pointer properties (95a3c86)
  • CreateLocalSession improvements (1e62d92)
  • Enable ResourceDictionary "not found" caching (795cc0a)
  • improve UpdatePathsAndCornerClip invalidation (12e157d)
  • macOS: remove some reflection for Skia/Metal (4ce0e1f)
  • move some work in BitmapImage.TryOpenSourceAsync off the UI thread (8616367)
  • Move to CompositionTarget for DispatcherAnimator (b6b909c)
  • Reduce SKTextBlob allocations in RenderText (f8c771d)
  • shadows: avoid SaveLayer calls in shadows (74785b0)
  • Shadows: dramatically speed up the rendering of shadows on Skia (bb190a5)
  • SKMetalView improvements (516a006)
  • Switch to draw notifications (c9092d8)
  • use GetMessage instead of busy waiting with PeekMessage (57f3b37)
  • Use screen refresh rate for SKMetalView (0105aa1)
  • Use spare objects instead of ObjectPool (f6ca0f4)
  • Various PaintingSession improvements (28be2a6)
  • wasm: Split methods containing try/catch/finally blocks (f6108bb)
  • win32: reduce cpu utilization (187b74e)

Bug Fixes

  • ItemsRepeater measure issues (1b042ab)
  • UniformGridLayout nested layout issues (a6a1a75)
  • add non-rectangular clipping for macOS/skia (292dac9)
  • Adjust _isSuspended flag (7b79039)
  • Adjust Android PointerPoint.Timestamp to microseconds (47b4ed1)
  • Adjust compilation constants (5c8fba9)
  • Adjust error messages for WinUI mode (b7a2566)
  • Adjust explicit dependency to android appcompat (7fe9860)
  • Adjust extensions dependency to dom runtime (b9b9348)
  • Adjust failing test (de2aa19)
  • Adjust feature casing (21c91e4)
  • Adjust Foldable library to support Skia (748d9b7)
  • Adjust for debugger conditions for updated rid (8627ed6)
  • Adjust for skiasharp 3 lottie reference (8614c07)
  • Adjust Harfbuzz dependencies (4d6c36b)
  • Adjust image loader reference (4699f33)
  • Adjust inertia unit tests to use microseconds (598e7a9)
  • Adjust iOS PointerPoint.Timestamp to microseconds (92d524b)
  • Adjust js/skia interop location (07b55c2)
  • Adjust native embedding support (a359d96)
  • Adjust newline handling on iOS (f880bdd)
  • Adjust RuntimeAssetsSelectorTask to only replace dlls referencing Uno.UI (4668301)
  • Adjust scaling requirement for test (b24ef64)
  • Adjust sdk manifest for mediaplayer (2c96240)
  • Adjust selection on invisible text box view (146bb2f)
  • Adjust Skia desktop PointerPoint.Timestamp to microseconds (2d9d354)
  • Adjust skia netcoremobile build (993c18a)
  • Adjust Skia.Android for insets handling (f8e0f2a)
  • Adjust skia/native feature name (fc93204)
  • Adjust snapshot tests (c62fb3d)
  • Adjust the default font family for symbol font (b36a57c)
  • Adjust Timestamp to be in microseconds on macOS (b76e708)
  • Adjust Timestamp usages to refer to microseconds (d381d61)
  • Adjust ts generation ordering (afe8a02)
  • Adjust visibility of some Android types (c6899d4)
  • Adjust visibility of Win32 extension (99bab23)
  • Adjust wasdk inclusion (b1f9e4e)
  • Adjust WASM PointerPoint.Timestamp to microseconds (d743eb6)
  • Adjust WASM workaround (e99a945)
  • Adjust wasm-dom build (b57be14)
  • Adjust wasm+skia support (976138d)
  • Adjust When_Uri_Nullified concurrency (ef48ac5)
  • Adjust Window VisibleBounds calculation (05eeefe)
  • Adjust XAML generation for tvOS (6b10e5e)
  • align DepObjCol indexer behavior with winui (3268696)
  • Allow building SamplesApp.Windows for .NET 9 (fe0f926)
  • always set ContentDescription in OnPopulateNodeForVirtualView (bdff29e)
  • Android Launcher QueryUriSupport (19e9f77)
  • android calling (e9a2569)
  • Android Skia pickers (9cf8514)
  • Android startup NRE (00c10f8)
  • android/skia: fix crashes when using skiasharp 3 and HWA (28544b5)
  • android/skia: MPE clipping (45d7298)
  • android/skia: SamplesApp crashes on searching (bd579da)
  • android/skia: send KeyUp/Down events for Enter even with soft keyboards (01f6785)
  • android: Don't log font lookup failures (cf4e1a7)
  • android: Don't recurse on unhandled key events (b1cf942)
  • androidskia: Adjust RuntimeAssetsSelectorTask (564462c)
  • AppBarButton samples not loading in tests (e18f1dc)
  • Apply correct status bar color when theme changes on Android (c6ea5e6)
  • Attempt to fix NRE (ec5dd49)
  • AutoSuggestBox never opens (f1091aa)
  • autosuggestbox: adjust popup layout after suggestions list changes (db7d52b)
  • autosuggestbox: events getting unsubscribed when unloading and loading (4fd540f)
  • Avoid AOT issues with SamplesApp on iOS (491a83c)
  • Avoid async in Main on Mac Catalyst (bef7f46)
  • avoid beeps for valid keystrokes on macOS (a2a3255)
  • avoid crash (but it will leak) when detaching native mediaplayer (726f8bf)
  • Avoid crashing on window close (c4d3e22)
  • avoid crashing on Windows when the MediaElement uno feature is present (a6dbbdc)
  • Avoid focusing AutoSuggestBox when switching tabs in Samples app (67e421b)
  • Avoid handler leak on layout instance (4750791)
  • Avoid NRE in RootViewController (4be89fe)
  • Avoid WRITE_EXPECTED by default (d4b17a1)
  • block FE::EffectiveViewportChanged early procs with invalid values (8e23b23)
  • Bug in Single-project targets (cf2da0f)
  • CaptionVisibility typo (f387989)
  • Clean up unnecessary public members in Apple UIKit runtime (897d98c)
  • clipboard: make Clipboard functions work on skia-wasm (8708885)
  • codegen: ContentPresenter.Content binding compilation error (f2adbf0)
  • codegen: xbind still trigger when the host is unloaded (5e52ec6)
  • composition: Fix a crash that can happen when setting CompositionPathGeometry.Path to null (1fdaf26)
  • composition: fix CompositionSpriteShape tests (ee302b7)
  • composition: fix keyframe animation locking on animating sub-properties of visuals (1a4ab9d)
  • composition: Fix RedirectVisual (c448865)
  • composition: remove unnecessary canvas save (e6c3da6)
  • ContentPresenter: Content binding resolution (5507c95)
  • Correct sentinel date check for native Date pickers (e8ef6d9)
  • correct SetAccessibilityView misspelled name (b9454eb)
  • Correctly cast font size in font preloading (a2b50da)
  • Correctly mark inaccessible nodes (00c1cec)
  • Correctly set RequiresScaling (e51f615)
  • devSrv: Do not fail connection if a client processor fails (5b709ed)
  • devSrv: Remove usage of the deprecated RemoteControl.config file (cause mis config if a stale file reminas on the disk) (523063d)
  • devSrv: Remove usage of the deprecated RemoteControl.config file (cause mis config if a stale file reminas on the disk) (b7af0f0)
  • Disable context menu on Wasm skia canvas (884d53c)
  • Disable CoreWindow in single-window targets (6ee5540)
  • Disable flaky test (0266f91)
  • Disable RedirectVisual tests on non-Skia targets (e649521)
  • Do not crash on CoreWindowContentRoot on Skia (141369a)
  • Do not crash when automation peer is not available (28c9311)
  • Don't fail on NRE for SKCodec (3bc9b80)
  • Don't fail on touch interactions when there's no window (622f99b)
  • Don't import Wasm+DOM mediaplayer when using skia rendering (7f71980)
  • Don't invoke ApplyTemplate for collapsed elements (2fa51b2)
  • Don't invoke weak event target if the target is a collected peer reference (b117bff)
  • Don't publish runtime symbols for optimized builds (c5c6951)
  • DragView: fix glyphs on skia/android (965dedb)
  • DrawingFinished handler timing (ea99798)
  • droid: add workaround for NavView leaving blank on IsBackButtonVisible update (e6ddaec)
  • droid: Textbox backspace delete on some samsung devices (128c0c0)
  • Droid: TextBox backspace on skia (4ec6e58)
  • droid: TextBox default foreground not applied (72d4157)
  • droid: TextBox deletion with text selected (f12c1a0)
  • droid: TextBox deletion with virtual keyboards DEL keys (9889e8c)
  • Enable scrolling inertia on ScrollViewer (dfa518f)
  • Enable tab focus navigation on WASM Skia (27a0751)
  • Ensure Drag and Drop is initialized on mobile targets (bda9600)
  • Ensure managed selection changes don't trigger SelectionChanged (9e7c8a8)
  • Ensure password is pre-filled on subsequent focus (a55afaa)
  • Ensure ScrollViewer waits for native scroller to be loaded (ff99035)
  • Ensure that automatic library conversion is enabled, validate for invalid dependencies (ea24587)
  • Ensure the assembly loader is registered early (d47dbae)
  • fail build on invalid rid references (717db44)
  • Few fixes for Wasm Skia (7bab9a7)
  • Fix Android Skia OnLaunched (a7d3267)
  • Fix BrowserRenderer to handle scaling properly (b72b569)
  • Fix changing cursor on Wasm Skia (73704c4)
  • Fix ColorPicker does not prevent scrolling (a91276e)
  • Fix DataCOntext lost on second HR on Android (24cbecd)
  • Fix invalid binding source (breaks runtime tests) (b4c5947)
  • Fix invalid code gen of top resource dictionnaries (258f84d)
  • Fix invalid code gen when using markup extension in a style (b9b9296)
  • Fix invalid config when using Uno.SDK (f980d05)
  • Fix invalid sk3 svg decoding (8c0d66a)
  • Fix Launcher on Wasm Skia (ccf2263)
  • Fix ms-appx fonts on Skia Wasm (803a375)
  • Fix pointer remains in pressed state when touch scrolling (9fef599)
  • Fix possible null ref (1daaa51)
  • Fix regression in code gen (ad93732)
  • Fix scaled path for Wasm Skia (7dc11d9)
  • Fix timestamp issues in injected pointers (15c04bd)
  • Fix typo (8310ddb)
  • Fix typo preventing enumeration of native elements on android (245b355)
  • Fix Wasm Skia TextBox (19bfbfe)
  • Fix wheel scrolling (329eb3c)
  • Fix WIndows build (67d9cd4)
  • flip video surface so we can draw the overlay correctly (62c6f5d)
  • font loading should take all typeface details into account when caching (36e0226)
  • Handle frame changes on Skia.UIKit (adb585f)
  • hr: Add dummy class at the end of the generated file (96a9879)
  • hr: Config env for HR on iOS and WASM (f44238b)
  • hr: Don't import Microsoft.IO.RecyclableMemoryStream using nuget (ea98975)
  • hr: Don't load assemblies using a stream to ensure that Assembly.Location is set properly (e90b69a)
  • hr: Ensure to keep ordering of generated properties (eee9de5)
  • hr: Enumerate through native elements (2fd74a0)
  • hr: Fix assembly loading (7060cf0)
  • hr: Fix ENC1002 when dealing with event handlers (dd0ae93)
  • hr: Fix Frame stack cache update on HR (b9402ba)
  • hr: Fix HR not working on android with Rider (cbff34e)
  • hr: Fix invalid code gen when using x:bBind on resource (38e023e)
  • hr: Fix invalid x:Bind event's target resolution (fa0f614)
  • hr: Fix missing / non predictable handlers (4a0ffae)
  • hr: Fix support of HR on Android in vs code (0b47326)
  • hr: Ignore bin and obj folders (4737d75)
  • hr: Load the HR workspace in the appropriate ALC (13ce10c)
  • hr: Properly detect android for HR workaround (72a2e12)
  • hr: Remove unrelated assemblies from other TFMs for Hot Reload (e30ba8e)
  • hr: Update HR conditions (873f0ce)
  • hr: Update HR conditions (0692217)
  • hr: Update roslyn (7ba3e2f)
  • Improve reliability of new sequence (3688f52)
  • Improve text input and SIP handling (f2f6cd2)
  • Include GooglePlay in Samples app Skia (cbf858b)
  • Include GooglePlay package on Android only (483a9a2)
  • Include Uno.UI.Composition in Skia slnf (9931b72)
  • Increase frame rate for skia backend (461978b)
  • InMemoryRandomAccessStream: cloning sets the wrong position (da1ba0c)
  • iOS acrylic support (b011bc2)
  • iOS: email compose (d618095)
  • ios: Ensure UnoSkiaApi's cctor runs (e6dcdbf)
  • ios: Ensure UnoSkiaApi's cctor runs II (68e24da)
  • iOS: MediaPlayer resizing when video ends (e9c8728)
  • iOS: styles resolution (b4f6a1b)
  • iOS: styles resolution update following comments (9b3616d)
  • ItemsRepeater: text selection on iOS (7f9ce65)
  • launcher: make Launcher work on skia-wasm (b8e65ba)
  • lazy element descendants not receiving correct templated-parent (bbb19b0)
  • linux: check for libXi before assuming XI2 support (f500cbf)
  • listview: setting SelectedItem during list refresh leaves blank in items on wasm/skia (176188e)
  • listview: unloading and reloading a ListView should keep the scroll position (504ed04)
  • Local build of Samples app Windows for .NET 9 (f51b3af)
  • macOS: Desktop MPE when player ends (d3b5b32)
  • macOS: dispose presenter when manually going back from full screen (8d3a10b)
  • macOS: don't miss/warn very early notifications from MediaPlayer (873bb8b)
  • macOS: remove native media player from view when detaching (77cbce0)
  • macOS: Unload MPE correctly (9ac2ba5)
  • Make HtmlWebViewElement internal (437e6db)
  • Make NativeWebView internal (8350ad4)
  • Make Skia Android runtime tests clear in test results (8e2cb49)
  • Make SplitButton click and tap behave the same (99bbded)
  • Make sure to abort inertia if SV.ChangeView is used (12ed14d)
  • Make sure to generate OriginalSourceLocation weak attached property information for empty elements (usually DataTemplates) when Hot Reload (and Hot Design) is used. (00236eb)
  • Make sure to not use inertia in SV if snappoints enabled (56666fd)
  • Make sure to re-subscribe when x:load goes back to false (cf72c95)
  • Mark event listener as not passive (afd571e)
  • Move non-UI .ts code to Uno.WinRT (73b1d53)
  • Move Win32 methods to support assembly (72429f2)
  • mpe: load the video when open and set the first frame (9960f51)
  • MPE: receive pointer events on WASM (8dd81c8)
  • msal: Adjust MSAL support for iOS/Android (974f379)
  • native element pointer-event routing (5b22edd)
  • nativeframepresenter: animate pages depending on NavigationMode (f99ea1e)
  • nativeframepresenter: fix !AndroidUnloadInactivePages optimizations (2747f17)
  • nativeframepresenter: work with WinUI implementation and fix instances where exit animations were not run (9d1ddff)
  • new url for Windows SDK (ad7ac91)
  • Pack add-ins discovery tragets with the dev-server to be able to run them no matter the SDK sued by the project (36a0d9b)
  • passwordbox: use a different bullet symbol for skia-wasm textboxes (813f09d)
  • PasswordRevealMode (322577e)
  • perf: Remove double Idle re-scheduling of composition animations (58a1fa2)
  • pointer input coordinated in landscape mode when the device has a notch (b04afce)
  • pointers: Adjust the enter/exit event support when poiinter is captured (fb79bd8)
  • pointers: Attempt to fix scrolling glictehs on Android (334aeaf)
  • pointers: Configure slider to request to not allow OS steal when capturing pointer (same as the Thumb) (a00b26d)
  • pointers: Do not allow scrolling if capture was configured to refuse "OSSteal" (which corresponds to native scroll) (38dcb82)
  • pointers: Fix direct-manipulation being dropped before inertia completion, causing conflicts with subsequent manipultions (4bc96f3)
  • pointers: Fix inertia scrolling might not being stopped (00a5e6f)
  • pointers: Fix invalid pointer id on skia-android preventing multi-touch support (6324e36)
  • pointers: Fix invalid timestamp causing incredible inertia on macOS (955fd44)
  • pointers: Fix pen exit event on skia-android (0db0667)
  • pointers: Fix pointer entered/exited events being rasied when pointer is captured (a7758a3)
  • pointers: Fix pointer exit not raised on release (913613c)
  • pointers: Fix possible missing pointer exited event with touch using wasm on iOS/iPad (a357c0a)
  • pointers: On skia targets, make sure to always work with an up-to-date event original source (f11e15a)
  • pointers: Prevent double exit (with invalid pointer id) for touch pointers on GTK (0db2490)
  • pointers: SCP Do not try to release the pointer if inertial (causes debug.Assert failure + invalid call) (44e5384)
  • popup: fall back to PlacementArrangeOverride when popup would otherwise be placed outside the window (ae1717f)
  • Premature vertical arrangement of InfoBar Content (fc67e0f)
  • Preserve default window title in runtime tests (a560984)
  • Propagate android TextBox changes synchronously to input connection (ca83207)
  • Re-enable activation assert (9c42bea)
  • RedirectVisual should repaint on every frame (a93dd21)
  • reg: Fix DateTimeFormatter for "day" only (3368e27)
  • reg: Fix failing test (051bb84)
  • reg: Fix failing tests (baf8edc)
  • Register StoreContextExtension for GooglePlay (9ca91dc)
  • Remove GTK references (cbc9f13)
  • Remove Uno.UI.Reference from Skia slnf (5869fec)
  • remove unused reference to SkiaSharp.HarfBuzz (95b5189)
  • Remove unused using on Android (6d65245)
  • Remove unused x64 dependency (6126296)
  • Rename host (471b200)
  • Rename PlatformHost to AppleUIKitHost (3077604)
  • Render null BorderBrush with non-empty BorderThickness correctly (16184f0)
  • resources: Don't reevaluate all resources on all measure (27b8530)
  • resources: Make the FrameworkElement.Resources property lazy initialized (3f998c0)
  • respond to orientation changes accurately on android-skia (ed06326)
  • Restore inertia (53e2f6c)
  • Restore reference to Uno.UI.Runtime.WebAssembly (dfc41ed)
  • Restore wasm only image loadig (4e6362a)
  • Retrieve image path on UI thread (51f6bd7)
  • scaling for wasm/skia native element hosting (99dcfaf)
  • scrolling: Fix tap not working when nested in ScrollViewer (7f032c2)
  • scrolling: Increase frame rate of dependet animations (27cb1cb)
  • ScrollToXYZOffset should not use animation (0d3cd4c)
  • scrollviewer: Make sure the ScrollViewer is always touch scrollable, no matter if the content is hit-testable of not (bbec92f)
  • Set soft keyboard theme on iOS (d23f618)
  • Set the XamlRoot for caret (ffb5430)
  • Set XamlRoot for MenuFlyoutSubItem on open (0c2f24d)
  • Show selection carets on touch read only (b4c4758)
  • skia flyout placement (f047c77)
  • Skia.iOS debugging (82a1890)
  • skia/wasm: prevent flickering on window resizing (49f204f)
  • skia: Don't react to shift/control key presses in TextBox (fe511cb)
  • skia: Fix composition animation not starting until next frame (2c2f0bc)
  • skia: Fix skia-ios pointers IDs are invalid (7184d9f)
  • skia: Fix skia-ios scrolling inertia stated with invalid velocities (a442a78)
  • skia: MediaPlayerElement rendering (c27c30c)
  • skia: take scale into account in RenderRootVisualAndReturnNegativePath (7d43433)
  • Sln is malformed (586b099)
  • software rendering timing (43fd5fe)
  • split API to load media from files and URLs (0f98398)
  • styles: adjust main.css to fix 'SIGN IN' visibility on 13-inch screens (a507e87)
  • SV: Fix inertia starting on SV with snappoint nested into inertial friendly SV (9c34cea)
  • svg: Import skiasharp3 compatible Svg.Skia (b0a8a02)
  • SwipeControl: improve render transforms when swiping (1ec3482)
  • Switched the storage of embedded XAML from strings to "utf8 buffers" to circumvent IL limitations of strings in assemblies (a8e42f9)
  • Symbol glyph mapping to recommended Unicode points (a77a145)
  • Template test for WinAppSDK (7f41a26)
  • test: Ignore CS1701 (linked to move to net9) (220cee1)
  • TextBlock: clear old text when setting text through inlines (21d4017)
  • textblock: invalidate when the foreground changes (7f7cd56)
  • textblock: use FallBackBolor when the Foreground Brush is a GradientBrush (63e8b02)
  • TextBox operations should not be applied when the field is read only (6ed729f)
  • textbox: accurately clear pending selections even when they're equal to the current selection (5b2cd09)
  • textbox: correctly set selection when clicking past the end in a TextBox that ends with spaces (098099f)
  • textbox: extend selection when on tapping when shift is held (77218c8)
  • textbox: fix double newline edge case on skia/android (6c07b84)
  • textbox: fix TextProperty change propagation in xBind (82b5def)
  • TextBox: fix touch knob positioning when TextBox is scrolled (70953d5)
  • textbox: right clicking inside TextBox selection should not clear the selection (6adf560)
  • textbox: selection when touch tapping towards the end of a chunk (f23ed54)
  • TextBox: stop caret timer when unfocused (2f810f3)
  • TextBox: work around native text rendering bugs in SkiaSharp 3 (ac2cb3c)
  • text: revert text rendering changes on non-WASM (0916a9e)
  • Timestamp on Skia.Android should be in microseconds (a4d2725)
  • Timestamps on Skia.WASM should be in microseconds (4febd35)
  • Track the parent command bar for appbar buttons (821c237)
  • Trim directory separator (d652099)
  • trim: Adjust linker generator input and output paths for UseArtifactsOutput (41515ea)
  • uno lottie animation exception (66608b1)
  • uno lottie animation execption on TS (3300a1b)
  • UnoSDK: implicit package override (3db0be5)
  • Update SV touch inertia conditions to support non single snappoints (60fe767)
  • Updating DebugParseContext after HR (7939d56)
  • Use default share options when none are provided (028a583)
  • Use native wasm properties for GL integration (999390f)
  • Use newer project capability for WSL in VS 17.13 (e6dfb67), closes /developercommunity.visualstudio.com/t/WSL-launch-profile-cannot-be-found-when/10776961#T-N10813979
  • Use Uno.WinUI.Svg on WASM Skia (585dbee)
  • VisualTree: Correctly load XamlIslandRoot (e79a84d)
  • Visual: update GetTotalOffset for Android compatibility (0bceb65)
  • vs: Add support for Color intellisense in ResourceDictionary (0c40f46)
  • vs: Adjust for initialization delay and skipped synchronization (ccc2a8d)
  • vs: Dispose profile observer (a36d312)
  • vs: don't reload the profile observer on initial solution open (e442b0a)
  • vsix: Relax global.json parsing (6cf5044)
  • vs: Use single TFM build feature from VS (e9b7e8d)
  • wasm-skia: TextBox selection should not move back to the beginning on paste (aed0908)
  • wasm: crashing on clipboard reads when access is denied (ef4bc34)
  • wasm: Enable idbfs by default (8a09ed9)
  • wasm: endless errors when clearing then setting TextBlock.Inlines (1222c20)
  • wasm: Ensure proper dependents execution after 9.0.102 (189da08)
  • wasm: fix selection with soft keyboards on Android (7aa3ee9)
  • webview2: [wasm] Fix ExecuteScriptAsync (cfd9ce3)
  • webview: Don't allow for the webview iframe to be selected (54dfa9f)
  • Wheel listener should not be passive (0e98876)
  • win32: fix initial sizing of second window (c0fba17)
  • Workaround DateTimeFormatter bug for TimePicker (c1f9012)
  • Workaround for #19246 (6cd0f84)
  • x11: make keyboard inputs work even when the pointer is outside the window (29893be)
  • xamlreader: add proper support for markup-extension parsing (b95c38b)

Reverts

  • Revert "chore: ignore WebView samples in snapshot tests" (6369c12)
  • Revert "chore: ignore more webview samples in snapshot tests" (39b74c1)
  • Revert "perf: Misc perf improvement to ResourceDictionary" (42c840c)

BREAKING CHANGES

  • Dropping legacy GTK target
  • Fluent V1 resources are no longer supported, v2 resources become the default.
  • ColorPickerSliderAutomationPeer had wrong inheritance hierarchy, and was in wrong namespace. This is now fixed.