NoesisGUI 3.2 Release Notes

What's New?
Version 3.2.7
Released 21 Jan 2025 - Download
- Enhancement Added support for UE 5.5 (#3832).
- Enhancement Performance improvements getting values from dependency properties.
- Enhancement Performance improvements to TextBlock layout regeneration.
- Enhancement Performance improvements to dynamic casts.
- Enhancement Improve compiler messages for delegates when lambda arguments don't match.
- Enhancement LangServer Support for SolidColorBrush in CapabilityColor.
- Enhancement LangServer Support for ContentPropertyMetaData in CapabilityColor.
- Fixed Crash setting a non compatible value in a Trigger.
- Fixed ItemContainerGenerator with unrealized containers fails to Move elements sometimes.
- Fixed Division by zero with TickFrequency=0 in Slider.
- Fixed Hit-test not working with orthographic cameras (#3733).
- Fixed D3D12 debug layer error caused by split barriers (#3499).
- Fixed Crash loading an element with a ContextMenu with IsOpen=True.
- Fixed Division by zero when ItemsControl viewport is infinity.
- Fixed OneWay binding in ToggleButton stops working after click (#2434, #3009, #3429).
- Fixed VGL incorrectly assuming batch hashes were non-colliding (#3826).
- Fixed TextBlock not invalidated when an inline image is set (#3846).
- Fixed Hot reloading does not work inside TabControl ContentTemplate (#3853).
- Fixed Collection<T> and ObservableCollection<T> missing type name for each T.
- Fixed Issues with Emscriptem-3.1.73+.
- Fixed GCC compiler fixes (#3581).
- Fixed Some warnings when compiling with Noesis in latest NDK (#3856).
- Fixed C# Wrong signatures in some RenderDevice exported functions.
- Fixed C# Missing SinglePassStereo member in Batch struct.
- Fixed Unity Vulkan crash wrapping TextureSource (#3795).
- Fixed Unreal Wrong type used in Enum reflection code.
- Fixed Unreal Incorrectly clipping when mixing Noesis with UMG.
- Fixed Unreal Reusing last texture in SetPatternMaterialParameters (#3858).
- Fixed App Window not always clearing with the background color.
- Fixed App Memory issues in Wasm samples (#3649).
- Fixed LangServer Crashing when a ResourceDictionary with MergedDictionaries set to a type which doesn't exist.
- Fixed LangServer Completion fails when XAML contains an expression with an embedded expression as it's parameter.
- Fixed LangServer Crashes when completing a resource key where a resource with no valid type exists.
Version 3.2.6
Released 22 Nov 2024 - Download
- Enhancement Support binding to the Source property of a RiveControl.
- Enhancement Rive runtime updated to Nov 13th'24.
- Enhancement Unity Unity 6 / URP - RenderGraph Support (#3771).
- Enhancement Unreal Add support to bind MediaSource files from the ViewModel.
- Fixed Clipping problems after changes in UpdateRender order.
- Fixed ComboBox can show multiple items selected at the same time (#3334).
- Fixed GetLocalValue not returning correct value for properties with a read-only callback.
- Fixed Division by zero crash in ItemsControl.
- Fixed Crash registering system font.
- Fixed Crash when rendering fonts with commands from empty glyphs (#3808).
- Fixed Crash accessing destroyed MenuItem when closing a ContextMenu (#3763).
- Fixed Crash invalidating inherited properties (#3770, #3775, #3791, #3792).
- Fixed Crash accessing null Keyboard handling LostKeyboardFocus event (#3773).
- Fixed Asserts destroying some Popup and TextBlock elements (#3783).
- Fixed Crash calling ToString if ContentControl Content was pointing to the control itself.
- Fixed OneWayToSource binding to ContextMenu IsOpen causes AdornerDecorator errors and stop working (#3798).
- Fixed C++ Data/ThemePreview sample not loading correctly on XamlPlayer (#3658).
- Fixed C++ The Display Scale is not applied correctly (#3789).
- Fixed Unity Crash destroying Keyboard (#3773).
- Fixed Unreal Crash due to stale pointer to FMaterialRenderProxy in FNoesisMaterial (#3373).
- Fixed Unreal Wrong use of ANSICHAR instead of UTF8CHAR overrides of functions.
Version 3.2.5
Released 28 Oct 2024 - Download
- Enhancement Improved performance when playing lots of animations.
- Enhancement Reduced memory allocations by 25% in complex scenarios.
- Enhancement Added support for holes in paths during HitTest.
- Enhancement Implemented default style for Window (#3661).
- Feature Implemented GUI::RegisterDefaultStyles.
- Feature VS Code extension improvements:
- Completion of Bindings (#3178).
- Completion of properties which target element names (#3178).
- Completion of TargetType, AncestorType, and DataType properties (#3178).
- Added Multi-client support.
- Color decorator support for Setter values.
- Getting into a bad connection state when switching between servers.
- GPU memory leak in D3D11 embedded LangServer (#3540).
- Fixed Missing deactivated event when closing Win32 window.
- Fixed Emoji color incorrectly transferred to subsequent glyphs.
- Fixed Memory leak setting FocusedElement in the focus scope.
- Fixed Crash in LineDecoratorBehavior when adorned TextBlock not yet arranged.
- Fixed Crash when setting dash array with negative values (#3467).
- Fixed Shape render not updated when changing Stretch property.
- Fixed ItemsControl.Items property not bound as in WPF (#3448).
- Fixed Issue registering system fonts with common prefix (#3492).
- Fixed Trimming artifacts in paths with local matrix set.
- Fixed ListBox items can be selected by receiving a MouseUp without a MouseDown.
- Fixed Support for LocExtension in Setter Values (#3635).
- Fixed Crash opening a virtualized ComboBox (#3676).
- Fixed ToolTips not working inside text inlines.
- Fixed Slider Ticks property does not support dragging and snapping (#3703).
- Fixed Crash resizing window after switching tabs (#3600).
- Fixed Crash using non-updated proxies in render thread (#3657, #3686).
- Fixed Memory leak setting DataContext=this and using a ContentPresenter as root of the template.
- Fixed MultiTrigger failing when several conditions use the same property.
- Fixed Frequent crashes when using BackgroundEffectBehavior (#3723, #3521, #3473, #3470).
- Fixed Panel with DirectionalNavigation=None incorrectly receiving focus.
- Fixed Scroll position changing after focus was lost and returned (#2717).
- Fixed View update enters infinite loop when adding to a Panel the same element twice (#3742).
- Fixed Crash measuring unconnected Grid with a SharedSizeGroup (#3741).
- Fixed Slider with not positive min value slightly fluctuates after decreasing min value (#3663).
- Fixed Visual child of adorner is not rendered (#3549).
- Fixed Extend GamepadTrigger to include option to handle events (#2577).
- Fixed Expose connected Visual in IScrollInfo to support custom ScrollInfoAdapter (#3599).
- Fixed Unreal Improvements to input and focus handling (#3457).
- Fixed Unreal Issue with wrong capitalization of bindings in non-editor builds.
- Fixed Unity Crash with corrupted font streams after playing (#3472, #3554).
- Fixed Unity Elements with IsHitTestVisible=False are blocking interaction with the 3D world (#3734, #3476).
- Fixed Unity Added "Clear Stencil" property to View (#3665).
- Fixed C# GoToStateAction creating circular references and leaks.
- Fixed C# FontWeight broken after upgrading to 3.2.4 (#3483).
- Fixed C# Could not load file or assembly 'SystemFonts' (#3605).
- Fixed C# Samples showing invalid license message at start.
- Fixed C# StencilMode enum is incomplete (#3564).
- Fixed C# Matrix not invertible issue (#3607).
Version 3.2.4
Released 20 Jun 2024 - Download
- Feature Licenses are no longer necessary for evaluations lasting up to 10 minutes per session.
- Feature Implemented support for Variable Fonts.
- Feature Support VisualBrush as an OpacityMask (#2330, #1316, #711, #650).
- Enhancement Added support for Unity 2023.1+.
- Enhancement Added support for UE 5.4 (#3244).
- Enhancement Added support for Android NDK r26d.
- Enhancement Added support for Emscripten 3.1.61 (#3278).
- Enhancement Optimized page allocations in all GPU renderers.
- Enhancement PSO optimizations in Vulkan renderer (#3296).
- Enhancement Split barriers used in D3D12 renderer.
- Enhancement Converter and ConverterParameter properties added to LocExtension (#3210).
- Enhancement LangServer Added support StaticResource and DynamicResource (#3178).
- Fixed LocExtension only supported in FrameworkElement element properties (#2847).
- Fixed Crash using ImageSourceConverter from a binding (#3136).
- Fixed Low performance when using BackgroundEffectBehavior on many elements (#3161).
- Fixed Unloaded event not invoked for inlines added through code (#2915).
- Fixed ListBox and ListView not receiving mouse events when hovering outside the items.
- Fixed Boxing init crashing when multithreading disabled.
- Fixed Crash using VisualBrush inside 3D transformed elements.
- Fixed Incorrect bounds for horizontal and vertical line paths.
- Fixed Cannot set RenderTransform to a MatrixTransform from code (#3090).
- Fixed Crash in RiveControl when changing Source dynamically.
- Fixed Added define to allow using the original Rive asset names (#3235).
- Fixed Crash in TabControl related to key handling (#3239).
- Fixed Crash using DrawGeometry with null geometry (#3249).
- Fixed Value returned by IValueConverter not converted to target type (#1376).
- Fixed Error unbinding buffer in GL renderer.
- Fixed Directional navigation not working as expected in RTL scenarios.
- Fixed Shift tab navigation moving focus to parent control instead of children.
- Fixed Binding StringFormat does not support brace escaping (#3275).
- Fixed Crash filling effect pyramid (#3245).
- Fixed ToolTip is not affected by WorldSpaceUI scale (#2721).
- Fixed Width="Auto" not working in Expander when UniformGrid is a child (#3247).
- Fixed Offscreen jittering (#3277).
- Fixed Can't set MinHeight thumb of ScrollBar (#3224).
- Fixed CharacterSpacing Text property is not inherited (#3301).
- Fixed XAML parser reporting incorrect (line,column) for errors inside markups.
- Fixed XYFocus was taking over expected directional navigation when defined in a parent control.
- Fixed AdornerLayer incorrectly applying transform 3D to itself.
- Fixed Division by zero in Grid with 0* column and span elements.
- Fixed RangeBase can assert sometimes initializing Minimum, Maximum and Value properties.
- Fixed XDisplay bug invoking Xutf8LookupString (#3327).
- Fixed Error rendering minimized windows in GL (#3295).
- Fixed KeyConverter does not support Oem keys.
- Fixed TreeView not updating IsSelectionActive property.
- Fixed Added validation to AccelerationRatio and DecelerationRatio properties of Timeline.
- Fixed Support defining enum values in dictionaries (#2452).
- Fixed Can't disable ToolTip animation (#1142).
- Fixed Width of element inside VirtualizingStackPanel not updated correctly (#2700).
- Fixed Occasional crash inside MultiDelegate Remove and Invoke (#3087).
- Fixed Crash when re-evaluating style triggers while View being destroyed (#3349).
- Fixed TextBlock is limited to a text length of 65536 glyphs (#3253 #3132).
- Fixed Incorrect behavior of inline text when using special characters (#3166).
- Fixed DeleteSampler assert in GL renderer (#3294).
- Fixed Text Display breaks in Xbox Series (#3336 #3351).
- Fixed Makefile fails on Linux due to backslashes in paths (#3241).
- Fixed Crash accessing Keyboard on disconnected TabItem (#3097).
- Fixed TextBox caret incorrectly rendered in world space UI (#3407).
- Fixed GamepadTrigger not passing event args as parameter to InvokeActions.
- Fixed Incorrect rendering using negative strokes.
- Fixed Unreal WorldUI components fail to render if separate Translucency not enabled (#3050).
- Fixed Unreal Stereo WorldUI improvements.
- Fixed Unreal Streamable texture support (#2908, #3057).
- Fixed Unreal Prevent textures from being deleted before InitShaderResourceTexture executes on the rendering thread.
- Fixed Unreal Fixed crash initializing the RenderDevice when the app cannot render.
- Fixed Unreal NoesisGrabBackgroundImage optimized and clearing surface alpha not longer needed (#3214).
- Fixed Unreal High render target memory size with many small widgets (#3302).
- Fixed Unity KeyDown and PreviewKeyDown not firing for KeyCode Tilde '~' (#3279).
- Fixed Unity Crashing due to CapabilityCompletion caching types for use with collection properties (#3095).
- Fixed Unity Log unregistering after exiting Play Mode in Editor.
- Fixed Unity Native type 'BaseObject' is not registered (#2638).
- Fixed Unity Loading files using "pack://application:,,," is broken (#3304, #3320).
- Fixed Unity Opacity issues in Nintendo Switch.
- Fixed Unity Crash on PS5 when exceeding the internal buffer used for GPU commands (#3282).
- Fixed Unity Crash on assembly reload when overriding DP metadata (#3243).
- Fixed Unity Added support for private text content to TouchScreenKeyboard (#3263).
- Fixed Unity Crashes when exception was thrown while creating managed instances (#3243).
- Fixed Unity Binding errors during first time (#3154).
- Fixed C# Cannot convert a string to Noesis.Size using TypeConverter (#3091).
- Fixed C# Added missing flags to DeviceCaps.
- Fixed C# Error in WPF LocExtension during template load (#3128).
- Fixed C# Parsing special character '°' with XamlReader fails (#3311).
Version 3.2.3
Released 9 Feb 2024 - Download
- Enhancement Implemented support for Custom Language Servers.
- Enhancement Added XAML Preview support to Unity and Unreal in Language Server.
- Enhancement Support for Assembly and Scheme providers.
- Enhancement Added internal fallback font (#2412).
- Enhancement Added support for TwoWay bindings in Rive inputs (#2654).
- Enhancement Better Line-breaking algorithm with Japanese starter (CJ) chars.
- Enhancement Added Template support to LocExtension (#2710).
- Enhancement Implemented LineDecorationBehavior extension for TextBlock (#2658).
- Enhancement Reflection improvements to Point and Rect (#2729).
- Enhancement Implemented suport for Images and Texts in RiveControl (#2562 #2563 #2709 #2708).
- Enhancement Added support for XY Focus Navigation (#2406).
- Enhancement Significant performance improvements to Delegates.
- Enhancement Improvements to float round-trip conversions.
- Enhancement Performance improvements when using reflection to register types.
- Enhancement Added support for interacting with Rive text (#2709).
- Enhancement Implemented InvokeCommandAction parameter passing (#2723).
- Enhancement Unity Added DefaultExecutionOrder to NoesisWorldUI (#2586).
- Enhancement Unity NoesisWorldUI not recreating state on GameObject.Enable/Disable (#2935).
- Enhancement Unity Improvements to Mouse tracking in VR (#2837).
- Enhancement Unreal Added support for gamma correction.
- Enhancement Unreal Added support for TargetType to RichText Style tags (#3068 #3051 #3048).
- Enhancement Unreal Added the ability to extend RichText tags using a callback (#3067 #3001).
- Enhancement Unreal Added NoesisNotifyMapPropertyChanged.
- Enhancement App Implemented support for capturing with RenderDoc using F10.
- Fixed ContextMenu calling CanExecute on menu items before connecting to the tree.
- Fixed Crash in GL renderer when ARB_uniform_buffer_object not available (#2728).
- Fixed Run background not rendered when Foreground is transparent.
- Fixed Crash when disconnecting a Visual with null children.
- Fixed Wrong viewport set when using horizontal VirtualizingStackPanel.
- Fixed InlineUIContainer child stays connected to the view when removed from container.
- Fixed Read access violation in D3D12RenderDevice::UploadUniforms (#2924).
- Fixed Incorrect tiling of ImageBrushes with Stretch=None when using DPI scale.
- Fixed Warning that variable 'cursor' in QueryCursorEventArgs is uninitialized (#2979).
- Fixed Selected item in ComboBox not updating display text when content changes (#2985).
- Fixed Crash calling GetRangeBounds in TextBox with debug pink template (#2980).
- Fixed Crash when destroying a binding set in a DataContext property.
- Fixed EnumConverters are now case-insensitive (#3006).
- Fixed Using Opacity > 1 burns colors to white (#2756).
- Fixed Allocating too much memory for system fonts (#2946).
- Fixed '-Wno-maybe-uninitialized' is no longer needed when compiling with GCC (#3007).
- Fixed Text extensions can't be used on Inline elements.
- Fixed Namespace processing in Language Server (#2773).
- Fixed AGC renderer crashing on Asian languages (#2738).
- Fixed Event raising incorrect errors when trying to remove non-existent handler (#3033).
- Fixed Crash when using complex Path tags (#2706).
- Fixed Crash when having a Popup with IsOpen=True in a template (#2849).
- Fixed TextBox using graphemes to handle caret index and selection (#2748).
- Fixed Empty InlineUIContainer not being correctly represented in FormattedText (#2856).
- Fixed Offscreen text blurriness (#2965).
- Fixed Crash when ToolTip gets destroyed while closing it (#2840).
- Fixed Crash when some event handlers are kept alive during shutdown (#2840).
- Fixed Crash when Trigger destroyed while invoking actions.
- Fixed Crash accessing offscreen textures when using multiple views.
- Fixed Unreal FreeType compilation issues in PS5 (#2735 #2573 #2585 #3016 #3042).
- Fixed Unreal Mouse enhanced input actions not triggering (#2703).
- Fixed Unreal Race condition involving GViewRect and GViewProjectionMatrix.
- Fixed Unreal Crash when importing XAML files (#2789).
- Fixed Unreal Invalid metadata default value type using Unreal materials.
- Fixed Unreal Renderer crash when resizing the level viewport (#3041).
- Fixed Unreal Crash when resizing the Viewport with the D3D11 render back (#2918).
- Fixed Unreal Unreal 5.3 Plugin fails to build on macOS (#3016).
- Fixed Unreal Unreal crashes when trying to use the Unreal 5.3 plugin on macOS (#3017).
- Fixed Unreal Documentation referencing deprecated PlayerMappableInputConfig for 5.3 (#2919).
- Fixed Unreal Crash with empty XAMLs.
- Fixed Unity Issues with MouseOver Raycast (#2837).
- Fixed Unity Wrapped textures missing transition barriers (#2800).
- Fixed Unity Crash when using ImageBrush RenderTexture with D3D12 (#2776).
- Fixed Unity Crash while quitting app (#2872).
- Fixed Unity Ambiguous symbol when compiling Interaction.cpp in Unity builds (#2999).
- Fixed Unity World UI responding to mouse events when cursor hidden and locked (#2936).
- Fixed C# Crash using the BindingCollection of a MultiBinding (#2693).
- Fixed C# Noesis.GUI NuGet missing a natives folder for osx-arm64 (#2722).
- Fixed C# InvalidOperationException when using Type properties in C# (#3040).
- Fixed C# Incorrect Matrix.HasInverse implementation (#3063).
Version 3.2.2
Released 29 Sept 2023 - Download
- Enhancement Implemented Shader Compiler in the App Framework.
- Enhancement New BrushShaders example.
- Enhancement Implemented FocusManager (#811, #1982).
- Enhancement macOS deployment target raised to 10.13.
- Enhancement iOS/tvOS deployment target raised to 11.0.
- Enhancement Implemented a SVG parser (SVG.h). Used by XamlPlayer for now.
- Enhancement Added support for .svg files to XamlPlayer.
- Enhancement New offscreen algorithm with more quality when using opacities or effects in 3D.
- Enhancement Improvements on VisualBrush atlas allocations when sharing source visual.
- Enhancement C++ Added TranslatePoint method to UIElement in C++ (#2668)
- Enhancement C++ Uri performance and conformance improvements.
- Enhancement Unity Added support for VR in URP versions previous to 14.0.
- Enhancement Unity Added support for PS5 NGGC (Next Gen Graphics Context).
- Enhancement Unreal Added support for UE 5.3 (#2678).
- Enhancement Unreal Allow sampling of SceneTextures in PostProcess materials used in XAMLs.
- Enhancement Unreal Added support for MediaTextures (#2648).
- Enhancement Unreal PixelDepthBias added to NoesisView.
- Fixed Wrong Arc command's SweepDirection in PathFigureCollection converter (#2661).
- Fixed ComboBox dropdown not updating its position when moving the control in 3D (#2570).
- Fixed Bindings don't work in ToolTip after opening it a second time (#1977).
- Fixed ComboBox drop down entries in wrong world space position (#2570).
- Fixed Incorrectly breaking glyphs belonging to the same grapheme (#2604).
- Fixed Incorrect nested OpacityMask results (#2594).
- Fixed Improve error message when binding read-only property (#2602).
- Fixed Crash when setting Stretch to Fill on Path with BackgroundEffectBehavior (#2608).
- Fixed Issues with ScrollViewer and keyboard focus (#2597).
- Fixed Directional focus can't be moved to controls inside ItemsControl items (#2599).
- Fixed Button logic handling Enter key has some problems (#2605).
- Fixed Crash when using dash patterns with total zero length.
- Fixed Miter join ignored sometimes.
- Fixed Added ResolvedSource property to BindingExpression.
- Fixed Dashed segments using StartLineCap and EndLineCap for first and last segment.
- Fixed Crash clicking an element with a wrong gesture set in XAML.
- Fixed Crash compiling VR shaders (#2600).
- Fixed Improve PropertyPath error messages for boxed values (#2627).
- Fixed Missing converter for PathFigureCollection (#2647).
- Fixed Unnecessary offset in BackgroundEffectBehavior (#2578).
- Fixed MenuItem IsChecked binding not working properly (#2656).
- Fixed Cannot bind to the properties of a TimeSpan (#2657).
- Fixed Crashes on some AMD graphics cards (#2659).
- Fixed NVN renderer issue with sync objects being moved in memory.
- Fixed Gamepad Cancel not bubbling up sometimes when a control had focus.
- Fixed Occasional crash when XAML reloads (#2672).
- Fixed Crash parsing invalid XAML (#2624).
- Fixed Crash on keyboard input (#2682).
- Fixed Improved handling of VR shaders in GL renderer (#2659 #2673).
- Fixed LocExtension not working at design time in Blend.
- Fixed BrushShader textures not processed with unset constant buffer (#2538).
- Fixed Compile errors with Visual Studio 2022 v17.7.0 (#2663).
- Fixed Crash in XAML parser setting a reflection property on non-compatible type (#2695).
- Fixed ControlStoryboardAction inside ControlTemplates only works for one instance (#2653).
- Fixed Storyboard Completed event triggered for all instances of a template (#2052, #2634).
- Fixed Stack overflow setting DataContext in the constructor of a template element (#2527).
- Fixed Crash inspecting element with a templated parent binding in a style (#2620).
- Fixed Cannot bind to the Properties of a TimeSpan (#2657).
- Fixed BeginInvoke() not working for DispatcherObject inherited class (#2522)
- Fixed Unity EventTrigger failing with NullReferenceException when event not found (#2671).
- Fixed Unity Static values 'UnsetValue' and 'DoNothing' stay disposed after assembly reload.
- Fixed Unity Exception in Extend when using signed enum values (#2616).
- Fixed Unity BackgroundEffectBehavior being invalidated per frame (#2615).
- Fixed Unity Sprite atlas size variants not supported (#2591).
- Fixed Unity Crash during assembly reload (#2625).
- Fixed Unity TextBox and PasswordBox not receiving focus in WebGL (#2609).
- Fixed Unity DllNotFoundException for standalone builds on macOS (#2666).
- Fixed Unity Crash closing macOS standalone in development builds.
- Fixed Unity Compiler error when builtin VR module not enabled.
- Fixed Unity Performance improvements of VisualTreeHelper HitTest version with callbacks (#2677).
- Fixed Unreal Crash when using WorldUI component and plugin content not present (#2592).
- Fixed Unreal Noesis::Ptr types not supported as a Key value for TMap (#2607).
- Fixed Unreal Set with NotifyChanged node not working with Text properties (#2613).
- Fixed Unreal ViewUniformBuffer being destroyed while still in use.
- Fixed Unreal Delegate UFunction causing trouble with garbage collection.
- Fixed Unreal Crash when multiple delegates are used (#2649).
- Fixed Unreal Different Colors in Unreal World UI (#2642).
- Fixed Unreal Crash when ViewportClient is null (#2640).
- Fixed Unreal Crash in NativePaint when stopping PIE (#2606).
- Fixed Unreal Crash when editing a material while using WorldUI.
- Fixed Unreal Invalid UMaterialInterface pointers in NoesisTypeClasses (#2641).
- Fixed Unreal Crash when a material was referenced in the application resources (#2651).
- Fixed Unreal Crash when refreshing a NoesisView preview.
- Fixed Unreal Memory leak in NoesisRenderDevice (#2699).
- Fixed Unreal Crash when closing the application with Alt+F4 (#2701).
Version 3.2.1
Released 9 May 2023 - Download
- Feature Visual Studio 2022 Project Templates for Unity and C# (#2584 #2524 #2221).
- Enhancement Updated to latest Sony SDKs (#2541).
- Enhancement New Linear Rendering tutorial.
- Enhancement Improved the positioning of XAML document errors.
- Enhancement Added support for sys:Byte and sys:SByte.
- Enhancement Added R, G, B, A, ScR, ScG, ScB, ScA properties to Color.
- Enhancement Support for Color, Thickness and CornerRadius in dictionaries.
- Enhancement XamlPlayer clearing errors when hot-reloading.
- Enhancement C# Updated ApplicationTutorial sample to new design.
- Enhancement Unity Implement support for Single-Pass stereo rendering on Android (#2568).
- Enhancement Unity Vulkan interception fixed for Android.
- Enhancement Unreal Support for texture Material parameters (#2547).
- Enhancement Unreal Added linear Point4D properties for vector Material parameters.
- Enhancement Unreal Added support for ETextFlowDirection in DataContexts.
- Enhancement Unreal Expose delegates to DataEventTriggers (#2575).
- Enhancement Unreal EnhancedInput plugin enabled by default.
- Enhancement Unreal C# Added Arabic language to Localization sample.
- Enhancement LangServer Added color suggestions for Color properties (#2556).
- Enhancement LangServer Implemented full support for color decorators on node attribute properties (#2566).
- Enhancement LangServer Added support for Nullable types (#2555).
- Enhancement LangServer Added bool completion entries for attribute properties (#2555).
- Enhancement LangServer Added hardcoded snippets to completion request results (#2561).
- Fixed Path hit test failing for almost straight curves.
- Fixed Horizontal or vertical lines not rendered by RiveControl (#2540).
- Fixed Incorrect offscreen node rendering when using projection matrices.
- Fixed Crash accessing already destroyed proxies (#2424, #2552).
- Fixed ApplicationCommands can be referenced only by name (#2574).
- Fixed KeyboardNavigation failing to focus "off-screen" controls inside a ScrollViewers (#2242).
- Fixed Focus can move out of a container with TabNavigation="Contained" (#2474).
- Fixed Selector only updates selection if the removed item is the first selected item (#2582).
- Fixed Crash hot-reloading structs (#2580).
- Fixed Support for gradient stops with offsets outside (0 - 1) range.
- Fixed Linking error for duplicated HarfBuzz Dependencies (#2585).
- Fixed C# Embedded fonts not found (#2545).
- Fixed C# RenderContextMTL failing to initialize on macOS (#2581).
- Fixed C# View SetManipulationDistanceThreshold not exposed (#2583).
- Fixed Unity WorldSpace UI inverted when using the fixed pipeline (#2567).
- Fixed Unreal Build fixes for UE5.2.
- Fixed Unreal Use the viewport dimensions for the materials SceneViews.
- Fixed Unreal Avoid drawing WorldUI views for editor worlds.
- Fixed Unreal Set a MinimumDesiredSize so view can be used as a cursor.
- Fixed Unreal Avoid SceneCapture scenes when capturing the BackgroundImage.
- Fixed Unreal Font Fallbacks defined in settings not working (#2550).
- Fixed Unreal Texture mipmaps ignored when rendering images (#2576).
- Fixed LangServer Completion results being returned for empty documents (#2554).
Version 3.2.0
Released 15 March 2023 - Download
- This version is no longer compatible with 3.1 licenses.
- Enhancement Updated Unity and Unreal tutorials.
- Enhancement Unreal Removed dependency to FreeType to get dependencies.
- Enhancement Unreal Improvements to World Space UI sample.
- Fixed Unity Importer Warnings (#2536).
- Fixed Unity Circular Dependency in Create Menu (#2537).
Version 3.2.0rc1
Released 13 March 2023 - Download
- Enhancement Emscripten library updated to 3.1.8.
- Enhancement Unity Missing Noesis texture label is now detected at import time.
- Enhancement Unity Support for touch events with the new Input System.
- Enhancement Unity World Space no longer disabling PPAA, SubPixel or DPI scale.
- Fixed ToolBar overflow is empty (#2534).
- Fixed ImageBrush not taking into account image dpi scale.
- Fixed Missing ImageSource converter in CroppedBitmap Source property.
- Fixed Unreal UI element remains hovered after the mouse leaves (#2517).
Version 3.2.0b7
Released 10 March 2023 - Download
- Enhancement Significant performance improvements in PPAA algorithm.
- Enhancement Unreal Input improvements with support for EnhancedInputActions.
- Enhancement Unreal Gamepad requires now to "Enable Actions" in Noesis View to work.
- Enhancement Unreal Improved detection for EnhancedInput and CommonUI plugins.
- Enhancement Unity PPAA, SubPixel and DPI scale disabled when using World Space.
- Enhancement Unity WorldSpace component moved from samples to runtime.
- Enhancement Unity WorldSpace dynamically adjusting ZIndex of elements.
- Fixed Unity Preview render errors when switching scenes on macOS.
- Fixed Unity Conditional compilation for XR under Universal pipeline.
Version 3.2.0b6
Released 6 March 2023 - Download
- Enhancement Support for new renderer API in C#
- Enhancement SIMD performance improvements to path Filler and Stroker.
- Fixed Unity Uris starting with Packages/ not working.
Version 3.2.0b5
Released 1 March 2023 - Download
- Enhancement Precise scrolling deltas implemented in AppKitDisplay
- Enhancement Added support for Visual Studio 2022.
- Fixed Prevent namespace definitions from being checked for color info in LangServer
- Fixed Crash destroying Metal render context in M1 devices.
- Fixed Avoid raising binding converter errors when source is being destroyed.
- Fixed Avoid resolving bindings defined in setters until they are applied (#2334).
- Fixed Unreal EnhancedInputActionTrigger fix.
- Fixed Unity Errors upgrading from beta versions.
- Fixed C# Null reference exceptions detaching behaviors
Version 3.2.0b4
Released 27 Feb 2023 - Download
- Fixed Unity HDRP compiler errors.
- Fixed Unity LangServer connection errors.
- Fixed Unity Editor glitches when rendering previews.
- Fixed Unity LangServer is now always connected and entering Play is not necessary.
- Fixed Unreal Rive assets not showing Reimport options.
- Enhancement Unreal Unity Updated Tic-Tac-Toe sample to the new design.
Version 3.2.0b3
Released 20 Feb 2023 - Download
- Feature Unreal Unity Implemented support for World Space UI.
- Feature Unreal Unity Implemented support for stereo rendering.
- Feature Unreal Unity Added support for Rive assets.
- Feature Unreal Unity Support for Visual Studio Code extension.
- Feature Unity Added support for Vulkan renderer.
- Feature Unity Implemented interactive XAML previews.
- Enhancement Unity Legacy Input System is no longer necessary.
- Enhancement Unreal Unity New World Space UI example.
- Enhancement Added support for RiveControl listeners (#2504).
- Fixed Unity Filtering of log messages in the render thread (#2509).
- Fixed Unreal Using a MaterialInstanceDynamic doesn't render anything (#2510).
- Fixed Unreal Added NoesisFindUObjectForComponent (#2282).
- Fixed Unreal MediaPlayer keeps playing when removed from the scene until it's garbage collected (#2508).
- Fixed Unreal NoesisSlateElement isn't being reset in TermInstance (#2481).
- Fixed Unreal NoesisBlueprintCompiler doesn't implement GetBlueprintTypesForClass (#2488).
- Fixed OnRender clip geometries not using current transform to calculate bounds.
- Fixed Behaviors detached when associated object temporarily removed from visual tree (#2498).
- Fixed NoesisViewEditor OnPreviewGUI null reference exception when no XAML selected (#2496).
- Fixed Assert setting Header in HeaderedItemsControl with DataTrigger (#2494).
Version 3.2.0b2
Released 2 Feb 2023 - Download
- Feature Inspector and VSCode extension are now available for macOS (#1894).
- Enhancement New Tic-Tac-Toe example.
- Enhancement New Localization tutorial.
- Enhancement Implemented Pipeline library for D3D12 renderer.
- Enhancement Vulkan renderer improvements:
- Added support for Android.
- DescriptorSet bindings packed to avoid holes (better performance).
- Descriptor cache was not correct and was causing glitches in a few drivers.
- Incorrect layout transitions was causing full clears to our render targets.
- Implemented Pipeline Derivatives.
- Improved performance of offscreens having a VkRenderPass per tile.
- Enhancement Uri changes:
- Added GetScheme() to return scheme part of the URI (pack, file, http...).
- IsAbsolute() only returns true for URIs with a scheme, the rest are considered relative.
- GetPath() does not return the scheme, only the path part.
- Fixed Path with Stretch=Fill not scaling correctly when available size is Infinity.
- Fixed HitTest failing for Bezier and Arc strokes (#2060, #2468).
- Fixed Crash destroying template with IsMouseOver triggers (#2475).
- Fixed Binding converter errors not showing binding information (#2490).
- Fixed LayoutUpdated was incorrectly reentering ProcessLayout (#2492).
- Fixed Crash in TSF when collapsing focused TextBox (#2492).
Version 3.2.0b1
Released 15 Dec 2022 - Download
Feature Implemented a new Text Shaping algorithm (#1788 #1412 #2091) which includes:
- Complex scripts and right-to-left languages such as Arabic.
- Unicode Bidirectional Algorithm.
- Emoji sequences.
- OpenType features like ligatures, positioning, and GPOS kerning.
- Unicode Line Breaking Algorithm.
Feature New Language Server and Visual Studio Code extension.
- Our language server implements the Language Server Protocol, and uses the NoesisGUI library to provide features for XAML documents including code completion, error reporting, and render previews. For more info see our Language Server tutorial.
Feature New RiveControl for rendering content created with Rive. The Rive Editor brings familiar design and animation tools to create interactive content for your apps and games. We also created an example on GitHub showcasing this integration.
Feature Implemented BackgroundEffect behavior, which can be used to apply an effect, such as blur, to all elements behind a panel. We designed it to allow effects to be applied to the UI and rendered scene together, in both Unreal and Unity. We have created an example on GitHub showcasing this behavior.
Feature Support for Single Pass Stereo Rendering. UI elements are rendered simultaneously to the left and right eye buffers. This is more efficient for the CPU as both eye share the work required by traversing and culling the visual tree.
- IRenderer provides a new Render() method for sending both stereo projection matrices to the GPU.
Feature Added World Space UI. UI elements are integrated and occluded in the 3D-scene. This enables new world UI use-cases, and removes the need for render textures in most situations.
- RenderFlags_DepthTesting added to IView for enabling testing against the depth buffer.
- Added VisualTreeHelper::HitTest3D method.
- Added Tracked Device input events to IView.
Feature Curves are now rendered and uploaded to the GPU with a much faster and more precise algorithm. This new technique also handles strokes with higher quality by using offset quadratics. All curves are now internally converted to quadratic Beziers (#1522). [Image from Baldur's Gate 3 - Larian Studios]
Feature Hot Reload algorithm has been reimplemented. Edited XAML files are now parsed for changes, and those changes are sent to the running app. UI state is preserved, only controls and properties affected by changes are updated.
Feature Vulkan reference device renderer implemented.
Feature Font differentiation algorithm when matching family names implemented (#1868 #1789).
Feature Improved Font Matching algorithm to allow including the face name in the font family (eg: FontFamily="Arial Regular").
Feature Typography class implemented (#2397).
<TextBlock FontFamily="Fonts/#Arial" Typography.CapitalSpacing="True"> <Run Typography.Capitals="SmallCaps">Capitals</Run> 2<Run Typography.Variants="Superscript">3</Run> </TextBlock>
Feature Added GetMemoryBase to Stream class to support memory mapped files.
Feature App LocalXamlProvider and LocalTextureProvider are now raising Reloaded events.
Feature App All our examples are now compatible with Hot Reload by passing the command line '--root data_path'. This switch overrides the default embedded provider with a local provider.
Feature App XamlPlayer improvements
- Implemented Drag & Drop of image, font and Rive filenames.
- Hot Reload implemented for any dropped content.
Feature RichText is a new attached property for TextBlock which formats BBCode into Inlines.
Feature LocExtension, a new markup extension for localization.
Enhancement Localization Sample updated to use RichText and LocExtension. Arabic language added.
Enhancement Application Tutorial Sample updated to use RichText.
Enhancement PasswordBox showing the last typed character for <n> seconds (#2356).
Enhancement IntegrationAPI Added GUI::DisableSocketInit to avoid sockets initialization in Profile builds.
Enhancement New Events and Code-Behind tutorials.
Enhancement New NS_CONNECT_FIELD macro for easier x:Name Code-behind connection.
Fixed Artifacts rendering fonts with stroke or overlapping paths (#2092).
Fixed Wrong input and output tangents for paths with stroke (#1404).
Fixed MergedDictionaries changes not being notified.
Enhancement API Breaking Changes:
If you are implementing a custom RenderDevice, please read our RenderDevice API document.
Added support for setting BlendingMode in DrawingContext.
context->PushBlendingMode(Noesis::BlendingMode_Screen); context->DrawGeometry(brush, pen, geometry); context->Pop();
Trimming properties TrimStart, TrimEnd and TrimOffset moved from Pen to Geometry.
Our XAML parser is now case sensitive (#1742) as in WPF. This means, <button /> is no longer valid XAML.
IntegrationAPI Removed function overloads with const char*, now Uri must always be used.
Reflection for enums is now compatible with 64-bit values.
FlipY parameter used in IRenderer::Render() functions was incorrectly applied when using custom projection matrices.