NoesisGUI
 

📝 NoesisGUI 4.0 Release Notes

Changelog_v40_0.png

What's New?

Version 4.0 is a major architectural milestone focused on the official debut of Noesis Studio and its supporting extensions. As we transition our ecosystem away from Microsoft Blend, we have deliberately minimized breaking changes in the Core API to ensure a smooth upgrade path for existing projects.

Version 4.0.0

📅 Released 20 Aug 2026 - Download

  • Feature The Inspector has received a major overhaul:

    • Modernized UI: A refreshed visual design that closely aligns with Noesis Studio.
    • High-Performance Protocol: The communication protocol has been rewritten to significantly reduce bandwidth usage and streamline device discovery on the network. Note that this new protocol is not compatible with previous versions of Noesis.
    • Reflection Properties: In addition to DependencyProperties, reflection properties are now shown and can be edited. This includes support for viewing and editing DataContext, VisualStates, and Interactions.
    • Event Tracing: Support for tracing events has been added. You can select specific events to inspect and observe how they traverse the visual tree while being handled.
    • Data Breakpoints: Support for data breakpoints allows you to watch a specific property and get detailed information about what changed its value.
    • XAML Source Navigation: You can now navigate directly from any node in the visual tree to its corresponding XAML source file (line and column). This currently integrates with VS Code.
    Changelog_v40_3.png
  • Enhancement Upgrades to the Application Framework:
    • Apple Platform Enhancements:
      • The Metal renderer now features full support for Video rendering.
      • Custom Shaders are now fully supported within the Metal renderer pipeline.
      • AppKitDisplay now supports custom cursors.
    • Added native support for Microsoft GameInput on Windows.
    • The internal shader library has been expanded and unified across both Unity and Unreal Engine integrations.
    • LangServer is now a private package, not part of the app-framework.
  • Enhancement IntegrationAPI improvements:
    • Added dedicated callbacks for setting and getting the system clipboard.
    • Added new callbacks invoked when a View captures or releases the mouse.
  • Enhancement Added AttachDevice and DetachDevice to the View's renderer. This allows you to hot-swap the underlying RenderDevice at runtime without destroying the View.
  • Enhancement View Model bindings are now stored using a highly optimized data structure. This significantly reduces memory overhead and accelerates resolution times, particularly for DataContexts tracking a large number of properties.
  • Enhancement ScrollViewer now defaults to smooth scrolling. Three new properties have been exposed to control this behavior: IsSmoothScrollingEnabled, IsScrollBarSmooth and IsMakeVisibleSmooth.
  • Enhancement Added the Spacing property to StackPanel to define a uniform distance between stacked items, applied in the direction of the panel's orientation.
  • Enhancement Added MouseWheelTrigger and SeekStoryboardAction to the Interactivity package.
  • Enhancement The C++17 standard has been adopted across the entire Noesis codebase.
  • Enhancement Base interactivity classes (TriggerBase, Interaction, Behaviour, etc.) have been moved directly into the core library. Client code can now extend these classes natively without needing to include the full app-interactivity package.
  • Enhancement Popup and Tooltip now support advanced placement rules.
  • Enhancement Added IsScaleReference to ToolTipService to explicitly define whether an element dictates the scale reference.
  • Enhancement API Breaking Changes:
    • The DynamicTextureSource API has been redesigned to guarantee render-thread safety. A Renderer instance must now be passed at construction time, exposing virtual Init, Render, and Shutdown methods that are strictly invoked on the render thread. All native media players have been upgraded to this new architecture.
    • Deprecated Caps.centerpixeloffset in RenderDevice.
    • Microsoft Visual Studio 2015 is no longer supported.
    • DrawText within DrawingContext now explicitly requires a location coordinate as its second parameter.
    • Render overloads in IRenderer have been deprecated in favor of RenderStereo functions.
 
© 2017 Noesis Technologies