🚀 Welcome to MDriven Learn –  MDriven is now on Discord!  Don’t miss the latest Release Notes.
Changelog-Designer


Release Notes
MDRIVEN: CHANGELOG - DESIGNER
All the latest MDriven Fixes and Updates
ChangeLog - MDriven Designer

December 2025

  • Revision 17107 (Modified on 2025-12-25): Cleaning away legacy packages.config files in order to move ahead with vs2026
  • Revision 17103 (Modified on 2025-12-22): Null checks and better delete handling in InspirationAndLiftUC
  • Revision 17101 (Modified on 2025-12-21): Inspiration UI extended with OwnHtml ability
  • Revision 17100 (Modified on 2025-12-19): Inpirationn and List; SVG as download
  • Revision 17099 (Modified on 2025-12-18): Inspiration and lift continued
  • Revision 17098 (Modified on 2025-12-17): Issues in new OCL editor when mixing actions and ocl in tabs tree did not follow - fixed Issues with the ViewMOdel variable dialog - it was sluggish and cumbersome to choose type or collection - now you type the type name Inspiration and lift UI - continued The offer to create missing variable straight in the OCLEditor had disappeared - now its back Turnkey blazor image and svg - now follows how angular pads them in a div and set same classes The theme color --base-fg-color was none existent - added it to Turnkey and wiki
  • Revision 17091 (Modified on 2025-12-17): Consolidation how SVG is displayed with angular/blazor InspirationAndLiftUC continued
  • Revision 17090 (Modified on 2025-12-16): null check
  • Revision 17088 (Modified on 2025-12-16): Issue with find file when loading platform assemblies if the directory did not exist. Fixed. Issues with LiveEdit ViewEdit - Fixed Issues with LiveEdit screen going white after edit for too long - fixed Turnkey - LiveEdit could lose context after change due to double reload of variables Turnkey - LiveEdit could lose context after change due to variable being enum typed
  • Revision 17087 (Modified on 2025-12-15): Baseline css style was misspelled - Fixed InspirationAndLift functionality continued
  • Revision 17084 (Modified on 2025-12-12): Work with Inspiration-Tab in LiveEdit
  • Revision 17082 (Modified on 2025-12-10): CodeGen did not do its job if package was ok - now it continues with checksums on class files in package - this will reduce checksum issues that needed full codegen
  • Revision 17079 (Modified on 2025-12-09): AbstractAction - now has has OpenInNewTab option that will do what it says
  • Revision 17078 (Modified on 2025-12-09): Mistake in newOclEditor when it comes to context class for column readonly,visible and style (took nesting class, is ViewModel class) - fixed
  • Revision 17063 (Modified on 2025-12-01): Expressions menu - now hides derived on those that are not derived (yet)
  • Revision 17061 (Modified on 2025-12-01): ContextMenu Expressions is not depending on the crossref index any more - better access

November 2025

  • Revision 17055 (Modified on 2025-11-24): A change in how we treat ModelCodeAssemblies - we now preserve the runtime specific assemblies and their directories in AssetUpload We then in Turnkey runtime hook the AssemblyLoadContext.Default.Resolving and if the runtime is missing an assembly we check depending on the current environment: Schematic code: if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) { string file = FindFile("win",simpleName); if (RuntimeInformation.ProcessArchitecture == Architecture.X64) string file2 = FindFile("win-x64", simpleName); if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) string file2 = FindFile("win-arm64", simpleName); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) { string file = FindFile("linux", simpleName); if (RuntimeInformation.ProcessArchitecture == Architecture.X64) string file2 = FindFile("linux-x64", simpleName); if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) string file2 = FindFile("linux-arm64", simpleName); if (RuntimeInformation.OSDescription.IndexOf("musl", StringComparison.OrdinalIgnoreCase) >= 0) string file2 = FindFile("linux-musl-x64", simpleName); } else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) { string file = FindFile("osx", simpleName); if (RuntimeInformation.ProcessArchitecture == Architecture.X64) { string file2 = FindFile("osx-x64", simpleName); } if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) { string file2 = FindFile("osx-arm64", simpleName); } } Let us know if we miss something... This change was brought on by a wish to read ActiveDirectory using System.DirectoryServices.Protocols - and this has unique platform specific implementations
  • Revision 17051 (Modified on 2025-11-20): UsedBy/ChangedBy/Expressions grouped together in menu since they all focus on cross reference and Expression access UsedBy/ChangedBy/Expressions made available from ocl editor tree, and ocl edit text
  • Revision 17050 (Modified on 2025-11-19): Recent changes to OCL-Editor invocation opened up for this much anticipated change: Used-By, Changed-By points out other expressions that use/change the context model element - what is new is that there now is an edit button directly in the reference so that you may not only jump to the using model element (click the menu as before) - but you can go straight to the using expression : press Edit... And as the Used-By, Changed-By is available in the model AND in the ocl editor this gives you much straighter Expression access - this combined with the MultiTab OclEditor is a change that is really GREAT! IMHO
  • Revision 17046 (Modified on 2025-11-17): Issue with ViewModel SS PSExpression result type not valid in Editor- fixed
  • Revision 17042 (Modified on 2025-11-17): OCLEditor tabs improved
  • Revision 17040 (Modified on 2025-11-17): Updates to get Automation - ability to give full file names to log and zip
  • Revision 17039 (Modified on 2025-11-14): Major change to how the OCL-Editor operates - the aim has been to move away from a scattered logic that instructs the editor on context, returntype, variables etc - to a centralised way that enables expression refresh and thus expression history in the ocleditor - to enable swift shifting between expressions you work on
  • Revision 17038 (Modified on 2025-11-14): Major change to how the OCL-Editor operates - the aim has been to move away from a scattered logic that instructs the editor on context, returntype, variables etc - to a centralised way that enables expression refresh and thus expression history in the ocleditor - to enable swift shifting between expressions you work on
  • Revision 17037 (Modified on 2025-11-14): Major change to how the OCL-Editor operates - the aim has been to move away from a scattered logic that instructs the editor on context, returntype, variables etc - to a centralised way that enables expression refresh and thus expression history in the ocleditor - to enable swift shifting between expressions you work on
  • Revision 17031 (Modified on 2025-11-12):
  • Revision 17030 (Modified on 2025-11-11): Updates to get Automation to work when UI is never shown - issues with Dispatcher.Yield
  • Revision 17028 (Modified on 2025-11-09): OclEditor now support to open in multiple views by holding ctrl while showing
  • Revision 17027 (Modified on 2025-11-09): Issues with Scroll in OclEditorKind History ViewModel list - mark the current
  • Revision 17024 (Modified on 2025-11-08): Changes to OCLEditor - replaced the underlying edit control (Richtextbox) due to being fed up with all the issues
  • Revision 17023 (Modified on 2025-11-06): VS Automation Adapting ContinousIntegration as described https://wiki.mdriven.net/Documentation:ContinuousIntegration
  • Revision 17022 (Modified on 2025-11-06): VS Automation Adapting ContinousIntegration as described https://wiki.mdriven.net/Documentation:ContinuousIntegration
  • Revision 17021 (Modified on 2025-11-06): VS Automation Adapting ContinousIntegration as described https://wiki.mdriven.net/Documentation:ContinuousIntegration
  • Revision 17020 (Modified on 2025-11-06): Adapting ContinousIntegration as described https://wiki.mdriven.net/Documentation:ContinuousIntegration
  • Revision 17016 (Modified on 2025-11-04): Better logging during automation
  • Revision 17015 (Modified on 2025-11-04): Better logging during automation
  • Revision 17014 (Modified on 2025-11-04): Issues with Automation fixed
  • Revision 17009 (Modified on 2025-11-02): Null checks and progress reporting during project file pass where we set file depedency and resource

October 2025

  • Revision 17006 (Modified on 2025-10-31): EcoMdl File load and save in VisualStudio spent a lot of time on subscribing to individual files in order to detect external changes - this was now re-engineered to directory level subcription and file name filtering -> wrom.... shaved seconds of saving!
  • Revision 17000 (Modified on 2025-10-29): Changes to how accessgroups are sorted in action file - now sorted in ID - this is to make the file stable in git scenario diffing. This change will dirty the Actions file once but after that initial sort it will be more stable
  • Revision 16999 (Modified on 2025-10-29): Changes to Save model flow in VisualSudio - since save model is partly backed by background threads it was vulnerable to hard closes - fixed
  • Revision 16998 (Modified on 2025-10-29): Better error message when system cannot starts due to tupletype issues
  • Revision 16990 (Modified on 2025-10-24): https://wiki.mdriven.net/Documentation:ContinuousIntegration - amended to allow for 2 step process - first produce the zip package - than later upload MODELAUTOMATION_PACKAGEONLY=true environment variable
  • Revision 16989 (Modified on 2025-10-23): Updates to actions tree - right click on yellow background Opt-out/in-all , also click headers on menu groups to Opt-out/in-all
  • Revision 16985 (Modified on 2025-10-23): AssemblyResolve wrongfully tried to construct new file name assuming the template name was Eco.Handles when in fact we changed to MDriven.Handles.netStandard
  • Revision 16965 (Modified on 2025-10-14): Unfortunate null check had knocked out the crossref UsedBy index - fixed
  • Revision 16962 (Modified on 2025-10-13): Better feedback when component is applied
  • Revision 16958 (Modified on 2025-10-13): Issues with system.memory fixed
  • Revision 16957 (Modified on 2025-10-13): Issues with system.buffers in VS
  • Revision 16956 (Modified on 2025-10-13): null checks
  • Revision 16947 (Modified on 2025-10-12):
  • Revision 16946 (Modified on 2025-10-12): <PackageReference Include="System.ClientModel" Version="1.6.0" /> <PackageReference Include="System.Text.Json" Version="8.0.6" /> <PackageReference Include="Azure.Identity" Version="1.14.2" /> <PackageReference Include="Microsoft.Extensions.Logging.Abstractions"> <Version>8.0.3</Version> <PackageReference Include="Azure.Core" Version="1.47.2" />
  • Revision 16945 (Modified on 2025-10-12): Issues with MDrivenServer for .net48 resolved Changing projects from old nuget to PackageReference netStandard : net48 , removing .net472 Nuget: <PackageReference Include="System.Buffers" Version="4.6.1" /> <PackageReference Include="System.Runtime.CompilerServices.Unsafe" Version="6.1.2" /> <PackageReference Include="System.Memory" Version="4.6.3" /> <PackageReference Include="Azure.Identity" Version="1.17.0" /> <PackageReference Include="System.Buffers"><Version>4.6.1</Version> <PackageReference Include="System.Memory"><Version>4.6.3</Version> <PackageReference Include="Azure.Core"><Version>1.49.0</Version> <PackageReference Include="Azure.Identity"><Version>1.17.0</Version> <PackageReference Include="Azure.ResourceManager.AppService"><Version>1.4.1</Version> <PackageReference Include="Azure.ResourceManager.Resources"><Version>1.11.1</Version> <PackageReference Include="Azure.Storage.Blobs"><Version>12.25.1</Version> <PackageReference Include="System.Diagnostics.DiagnosticSource" Version="7.0.2" />
  • Revision 16927 (Modified on 2025-10-04): Changes to mif verbalization
  • Revision 16925 (Modified on 2025-10-02): AnalyzeExpression failed when exposed to SomeEnum.allinstances -> fixed

September 2025

  • Revision 16922 (Modified on 2025-09-29): MDrivenServer Ability to let special TWOFACTOR code bypass TWOFACTOR model upload to enable automation and scripted deploy MDrivenFramework extended to allow CodeGen,Build,Upload model from script as described here: https://wiki.mdriven.net/Documentation:ContinuousIntegration
  • Revision 16910 (Modified on 2025-09-22): .net8 on plugins
  • Revision 16906 (Modified on 2025-09-22): Nuget updates for everything .net8+ Microsoft.Extensions.Logging.Abstractions" Version="8.0.3" updated from 8.0.2 <PackageReference Include="Microsoft.AspNetCore.SignalR.Client" Version="8.0.20" /> updated from 8.0.11 <PackageReference Include="Microsoft.AspNetCore.SignalR.Client.Core" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.SignalR.Common" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.Components" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.Components.QuickGrid" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.Facebook" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.Google" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.MicrosoftAccount" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.Authentication.OpenIdConnect" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="8.0.20" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.Server" Version="8.0.20" />
  • Revision 16904 (Modified on 2025-09-22): x
  • Revision 16903 (Modified on 2025-09-22): Improvements to LiveEdit - to mitigate blinking
  • Revision 16902 (Modified on 2025-09-22): Improvements to LiveEdit - to mitigate blinking
  • Revision 16900 (Modified on 2025-09-21): Improvements to LiveEdit - to mitigate blinking
  • Revision 16899 (Modified on 2025-09-21): Improvements to LiveEdit - to mitigate blinking
  • Revision 16898 (Modified on 2025-09-21): Improvements to LiveEdit - to mitigate blinking
  • Revision 16896 (Modified on 2025-09-20): Rename, Usage functions missed preconditions for methods and triggers - fixed
  • Revision 16892 (Modified on 2025-09-19): Issue with Copy/Paste attributes in stable diagrams - new value does not show - Fixed issue Issues with deadlock in wpf due to async-force when using PSEval-operations from ocl. Rewritten.
  • Revision 16889 (Modified on 2025-09-17): Improvements to LiveEdit - now edit in blazor should be smoother than in angular
  • Revision 16888 (Modified on 2025-09-15): PC structure display in WPF viewModelEditor improvements with DD
  • Revision 16887 (Modified on 2025-09-15): PC structure display in WPF viewModelEditor improvements with DD
  • Revision 16886 (Modified on 2025-09-14): PC structure visualization helper in WPFViewModel Editor
  • Revision 16881 (Modified on 2025-09-12): PlacingContainer conversion helper improvements
  • Revision 16878 (Modified on 2025-09-11): Added new Grid to PlacingContainer transition tool in MDrivenDesigner Changes to WPF viewModelRendering to enable the new Grid to PlacingContainer transition tool in MDrivenDesigner
  • Revision 16861 (Modified on 2025-09-08): Ocl issues when result was constant - but not owned (like this 'let x=true in (1.23)') - then we got the result with EnsureSpanFetch and threw it away - then we gave null from the main render - fixed
  • Revision 16860 (Modified on 2025-09-08): Web LiveEdit now tries to retain variables between design changes in order to be smoother
  • Revision 16859 (Modified on 2025-09-07): LiveEdit now has a BlazorEdit option - this uses a different rendering model - and is able to change the page without a full page refresh - the aim is to provide a smoother liveedit...
  • Revision 16850 (Modified on 2025-09-02): null check
  • Revision 16849 (Modified on 2025-09-02): Better feedback on refresh of nuget download

August 2025

  • Revision 16836 (Modified on 2025-08-22): Turnkey: Tuples in tables - that has child tables; did not work due to VMClassId not handled on tuples - several changes including changing ToString of tuple to return HashCode Several issues with handling tuples as vCurrent_ vars in Turnkey fixed Also discovered issue with Nestings using derived type from owning column - the order of creation could be wrong if the expression was depending on a vCurrent of a nesting that laid after it in creation. Fixed.
  • Revision 16832 (Modified on 2025-08-21): MDrivenDesigner if started from network - now saves a bit of info to enable restart from cache
  • Revision 16827 (Modified on 2025-08-18): DefaultEcoSPace ensure its singletons on activate - but this is also baseclass for TempEcospace used by XmlLoading etc - and THAT should not ensure singletons, since they leave unwanted residues. To mitigate ShouldEnsureSingletonsOnActivate was introduced and overriden in TempEcoSpace to return false
  • Revision 16824 (Modified on 2025-08-14): MDrivenDesigner now also handles adding components from ext_componentsrazor Switching the BLAZOR TV on ViewModel to bring up Blazor serverside instead of webassembly Changes to how ext_componentsrazor load scripts - we do NOT load anything ahead of time - we wait for component to do its own thing - this avoid bloating and general script-hell
  • Revision 16808 (Modified on 2025-08-02): StylesInModelView updated to only expand targets of selected, or activated

July 2025

  • Revision 16793 (Modified on 2025-07-29): Added interface for blazor component IMDPCHolderForExternalComponents Issues with contenttype in CheckIfItIsABlazorComponentJSScriptThatWeShouldReRoute Blazor Gantt - row move and improvements Blazor - The compholder is reused by SS Blazor and must null out values or they spill over from last...?!
  • Revision 16791 (Modified on 2025-07-24): Issue in Modlr Error detection - a misguided optimization did that changes to InnerLinkName and LinkRoleName was not detected as important changes that warrant a re-evaluation of expression - thus the error tracking stopped to detect if this was the only change
  • Revision 16782 (Modified on 2025-07-16): Null ref in VS from ModelEditor better safeguard
  • Revision 16771 (Modified on 2025-07-08): Vibe for UI updates on single viewmodel re-written
  • Revision 16770 (Modified on 2025-07-08): Vibe for UI updates on single viewmodel re-written
  • Revision 16769 (Modified on 2025-07-08): Vibe for UI updates on single viewmodel re-written
  • Revision 16768 (Modified on 2025-07-04): X
  • Revision 16767 (Modified on 2025-07-04): VibeUIThings work in progress
  • Revision 16766 (Modified on 2025-07-03): Recurse is now available in ViewModelEditor to set on column in nesting

June 2025

  • Revision 16763 (Modified on 2025-06-30): VibeUIContent improved, VibeUIDesign moved and will be reworked
  • Revision 16759 (Modified on 2025-06-27): Adding a new FrameworkAction option ClosePopup - that will close a popup that is open , WPF
  • Revision 16758 (Modified on 2025-06-27): Adding a new FrameworkAction option ClosePopup - that will close a popup that is open
  • Revision 16756 (Modified on 2025-06-26): Newly introduced bug that WPF preview in ViewModelEditor did not update when changing view via combo - fixed
  • Revision 16752 (Modified on 2025-06-26): Issue with Nesting refering itself - fixed
  • Revision 16751 (Modified on 2025-06-26): Rename operation is now checking type-match when updating each expression - before the single expression was just search and replace and that could give errornous replacements for things having the same name within the same expression
  • Revision 16750 (Modified on 2025-06-25): Vibe View content - work in progress
  • Revision 16749 (Modified on 2025-06-25): A recently created bug from implementation of IncludeHere made ListViews de-reference/cursor/show-only-current not work. This is fixed. A recently created bug from implementation of Default-optout for actions had knocked out live-edit in turnkey due to a missed subscription. Fixed.
  • Revision 16743 (Modified on 2025-06-24): Issues with recent changes regarding Actions (default optout) and also Tracking of type needed for IncludeHere-option that made the ViewModel editor loop/blink/sluggish due to WPF redraw-loop