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


Release Notes
MDRIVEN: CHANGELOG - FRAMEWORK
All the latest MDriven Fixes and Updates
ChangeLog - MDriven Framework

May 2026

  • Revision 17380 (Modified on 2026-05-06): If selfVM.Save failed due to db issues (nullability or the like) we ended up with unmatched call to rollback on memory transactions. This hid the real error and made things harder than need be. Fixed
  • Revision 17377 (Modified on 2026-05-05): When ComboboxPicklist do not any longer contain the chosen value - we add the chosen value back in the list to stop UI controls to act on their own. We call this AddedBackArtificially:bool But if the picker is in a hierarch or grid - the picker list exists multiple times - and it should only we visible in the correct lists Then we ran into a problem with pruning of message list that thought that just because the value should be pruned (IsGarbage=true) in one list it will be pruned at all lists -AddedBackArtificially checks this through out the turnkey stack UPDATE: ...this should only be in effect for values that targets singlelinks - if we save for variables it gets really strange for empty string and zero and other default values for vars
  • Revision 17375 (Modified on 2026-05-05): Logging when creating SysExternalLogin
  • Revision 17374 (Modified on 2026-05-05): Issue when having SkipExternalAccountConfirmationScreen AND switching ExternalLogin provider, the fail was interpreted as a missed user when it in fact was a missed ExternalLogin - fixed by creating ExternalLogin automatically and throwing to trigger re-try
  • Revision 17370 (Modified on 2026-05-03): When ComboboxPicklist do not any longer contain the chosen value - we add the chosen value back in the list to stop UI controls to act on their own. We call this AddedBackArtificially:bool But if the picker is in a hierarch or grid - the picker list exists multiple times - and it should only we visible in the correct lists Then we ran into a problem with pruning of message list that thought that just because the value should be pruned (IsGarbage=true) in one list it will be pruned at all lists -AddedBackArtificially checks this through out the turnkey stack
  • Revision 17369 (Modified on 2026-05-02): Switching to .net10 broke the MVC autoforms for large views ; turned out the generated html was all in a long line and Roslyn has a limit on 60K - added newlines
  • Revision 17368 (Modified on 2026-05-02): Issue with MiniBlazor - to many EnsureUpToDate queued up - Fixed
  • Revision 17367 (Modified on 2026-05-01): Clean up MDrivenServer when it comes to blazor and wwwroot and old packages
  • Revision 17365 (Modified on 2026-05-01): libreoffice now sets -env:UserInstallation to the same as the ouputfolder

April 2026

  • Revision 17356 (Modified on 2026-04-30): Several changes since it was discovered that .net10 knocked out blazor - now blazor is upgraded Base classes for controllers were added as Endpoints - that is now removed by making them abstract
  • Revision 17350 (Modified on 2026-04-30): Updates for letting Libreoffice handle files even if they appear locked
  • Revision 17349 (Modified on 2026-04-30): Better error handling on LibreOfficeConv if no DocName is given
  • Revision 17348 (Modified on 2026-04-29): Change to open libreoffice docs with readonly=true, suspect AV lock on created files
  • Revision 17342 (Modified on 2026-04-27): When MDrivenServer sends email - we changed method to use MailKit - and now also introduce 2 new optional feedback columns: "emailsendresult" "emailresendadvised" and updated the documentation here: https://wiki.mdriven.net/Documentation:Emailing_from_an_app_using_MDrivenServer
  • Revision 17326 (Modified on 2026-04-17): New User via openid; must also check: email = info.Principal.FindFirstValue(ClaimTypes.Upn);
  • Revision 17325 (Modified on 2026-04-17): New User via openid; must also check: email = info.Principal.FindFirstValue(ClaimTypes.Name);
  • Revision 17323 (Modified on 2026-04-15): ResponsiveSizes in Theme measures
  • Revision 17321 (Modified on 2026-04-14): Responsiveness added to styles in model
  • Revision 17320 (Modified on 2026-04-14): Responsiveness added to styles in model
  • Revision 17317 (Modified on 2026-04-11): updates to blazor mdrivenserver
  • Revision 17315 (Modified on 2026-04-10): Updates for patching of statemachines
  • Revision 17314 (Modified on 2026-04-07): Updates for patching of methods
  • Revision 17313 (Modified on 2026-04-07): patch on Method work in progress
  • Revision 17311 (Modified on 2026-04-06): Patching - Turnkey implementation
  • Revision 17309 (Modified on 2026-04-06): New ability to patch a TypeSystem - making UmlElements more fault tolerant for patching scenarios and implementing Patching ModlrRunStuff now has PrototypeRunPatchEcoTypeSystem that takes incomplete objects-space (only the changed since last Mdr-upload) and applies changes in other typesystem + merge in of changed ViewModels,Actions,Styles WPF Wecpof prototyper now checks/asks if it should Patch the typesystem rather than just reloading all - Fixing bug in Snippets - paste button was broken since netcore transition
  • Revision 17305 (Modified on 2026-04-05): Moving some patching of actions from Turnkey to viewmodelruntime
  • Revision 17301 (Modified on 2026-04-02): Issue that "Not Visible" is set on a ViewModelColumn it still was rendered in AngularDataGrid - this was a problem when adding subcolumn _Label to actions in tables for example. Fixed

March 2026

  • Revision 17295 (Modified on 2026-03-30): Updates to MDr blazor
  • Revision 17294 (Modified on 2026-03-27): MDrivenServer now collects number of objects/ids/updates per class and shows this on blazor page for class stats
  • Revision 17292 (Modified on 2026-03-27): Updates to MDr blazor
  • Revision 17291 (Modified on 2026-03-26): OclEditor choice tree ; improvement to introduce a separate node for Operations on Native types (most c# backed), and another for operations on ANY type (ocl operators)
  • Revision 17290 (Modified on 2026-03-26): Issue in oclEditor suggestion tree - when result was one of an operation - the type used to find next op suggestions was based on the wrong type; Showed up as TimeSpan missing operators like totalseconds etc - fixed
  • Revision 17283 (Modified on 2026-03-22): MDrivenServer blazor work
  • Revision 17278 (Modified on 2026-03-17): Issue with DeepClone over AssociationClass if its not many-to-many but 1-to-many, objects stolen and Index out of bounds; handled
  • Revision 17274 (Modified on 2026-03-16): Better json dbstructure
  • Revision 17273 (Modified on 2026-03-16):
  • Revision 17270 (Modified on 2026-03-15): Improvements MiniBlazor
  • Revision 17267 (Modified on 2026-03-13): Correction of some low/uppercase that break on linux
  • Revision 17266 (Modified on 2026-03-13): New function in MDrivenServer : GenerateDBDescriptionJson (admin page) updates to include tagged values and model datatype
  • Revision 17265 (Modified on 2026-03-13): New function in MDrivenServer : GenerateDBDescriptionJson (admin page) This dumps out a json with details of the A0 database, tables,colums, primary and foreign keys. This is good if you need to work on the schema created from the model - for example I used it to ask gemini to create sql script that obfuscate all the string fields ..In the work of creating this a bug was found and corrected that showed up as foreignkey definitions in xmlmapping not being complete - a pass3 was introduced and fk-tracking moved there
  • Revision 17263 (Modified on 2026-03-12): Null ref bugg in IsEqual when comparing a tuple consisting of tuples fixed
  • Revision 17262 (Modified on 2026-03-11): Improvements MDrivenServerUI
  • Revision 17261 (Modified on 2026-03-11): Improved info corner in OclEditor, now build up parts of CodeComment, documentation, link to wiki, enum values if available, states if available, links to edit if available, body if available
  • Revision 17258 (Modified on 2026-03-11): AutoForms in MDrivenServer was suffering of harder enforcement of accessgroups along side with use of the default accessgroup - making them hard to show - this is now resolved
  • Revision 17255 (Modified on 2026-03-10): Improved info corner in OclEditor, now build up parts of CodeComment, documentation, link to wiki, enum values if available, states if available, links to edit if available, body if available
  • Revision 17253 (Modified on 2026-03-09): nginx case sensistive so we corrected a few urls
  • Revision 17252 (Modified on 2026-03-09): Issue in Turnkey when ViewModel nests several singlelinks in a hierarchy - the first changed VMClass is removed correctly when de-referenced but if that in turn had viewmodel singlelinks that object was not destroyed and thus not removed from registry and was then a zombi being reused without working; Charles reported this as a mountedview problem - and mounted views use singlelinks
  • Revision 17251 (Modified on 2026-03-09): Adding clear Return type info in OCLEditor (prior only cursor context)
  • Revision 17250 (Modified on 2026-03-09): Replacing the zip things in OpenDocument with System.IO.Compression and rewriting to solve issues that showed up with new ODT versions (1.3)
  • Revision 17243 (Modified on 2026-03-03): Turning some 10.x packages back to 8.x in hope tp get VS2026 cooperation in design time
  • Revision 17242 (Modified on 2026-03-03): Reverse merged to remove changes from revision 17241 that replaced system.text.json with newtonsoft , but newtonsoft did not serialize the OclColumns - and gemeni says its the system.text.json version 8.x that must be used in VS....
  • Revision 17241 (Modified on 2026-03-03): Removing use of system.text.json for designtime functions due to conflicts with VisualStudio - using newtonsoft instead
  • Revision 17240 (Modified on 2026-03-03):
  • Revision 17233 (Modified on 2026-03-02): Explicit key on assemblies used in runtime (since .net48 SDK styles projects (as we want to use in templates) gets confused over mismatch in nuget package and assembly)

February 2026

  • Revision 17227 (Modified on 2026-02-27): Work in progress : MDrivenServer MiniBlazor
  • Revision 17225 (Modified on 2026-02-26): Work in progress : MDrivenServer MiniBlazor
  • Revision 17221 (Modified on 2026-02-22): Work in progress : MDrivenServer MiniBlazor
  • Revision 17219 (Modified on 2026-02-22):
  • Revision 17218 (Modified on 2026-02-20): Issue with PSEval's and SQLPassthroughs detected during debug session - when invoked from handles they were correctly deferred blocking but they were then forgotten and not updated when out of block To mitigate this a OperationskipmemoryCursor was introduced in the IFetchConsolidationService It was also discovered that when called from mainthread they did not use the correct variables - giving wrong answers when depending on vars Also discovered issues with WPFDebugger-Step - it did not correctly refreshed the UI when being hosted in WinForms, also improved information on incoming variables
  • Revision 17216 (Modified on 2026-02-19): Error from callstack reveled an issue in orderby where syncroot was null - handled
  • Revision 17207 (Modified on 2026-02-12): Issues with handling TimeSpan in blazor grids fixed. MDrivenServer miniblazor work
  • Revision 17206 (Modified on 2026-02-12): Issue in MDrivenServer when exceptions to write to exceptioninfo was too long - fixed by substr
  • Revision 17201 (Modified on 2026-02-11):
  • Revision 17200 (Modified on 2026-02-11): Work in progress : MDrivenServer MiniBlazor
  • Revision 17198 (Modified on 2026-02-10): When importing TabSep and having a CreateNew-action- the "No Results Found" graphic was not hidden when new row created - fixed
  • Revision 17183 (Modified on 2026-02-05): .net48 fix
  • Revision 17181 (Modified on 2026-02-04): More context in the log when turnkey queryplanner fails
  • Revision 17179 (Modified on 2026-02-04): Better error message in turnkey if both index and redirect is missing
  • Revision 17169 (Modified on 2026-02-03): nugets
  • Revision 17165 (Modified on 2026-02-03): Update nugets: Microsoft.Extensions.Logging.Abstractions" Version="10.0.2 Microsoft.AspNetCore.Html.Abstractions" Version="2.3.0" /> Microsoft.AspNetCore.Http" Version="2.3.0" /> Microsoft.AspNetCore.Mvc" Version="2.3.0" /> Azure.ai.openai -> 2.0 Microsoft.Extensions.Primitives" Version="10.0.2" Microsoft.Extensions.Options" Version="10.0.2" />
  • Revision 17159 (Modified on 2026-02-02): When Query open fails (like prior to having the schema for example) we need to make sure to close the query so the cursor gets back to zero open queries
  • Revision 17157 (Modified on 2026-02-02): nuget bugs hunt
  • Revision 17156 (Modified on 2026-02-02): Several projects in MDriven build has been converted from old format to new SDK format - this solved a nuget package issue related to old nuget (3.5) doing name.version in a package-folder and new nuget(4+) doing name/version in centralized folder
  • Revision 17149 (Modified on 2026-02-01): net472->net48

January 2026

  • Revision 17146 (Modified on 2026-01-29): From before we had a ocl operator on string JsonGetProp that was handy to easily pull data from json, now this has been accompanied by JsonGetCollection that will get the values in a collection as a string
  • Revision 17142 (Modified on 2026-01-27): MDriven.WinForms.core and MDriven.WPF.core changes from net6-windows to .net8-windows GraphAPI support now also extracts the string quickXorHash, long fileSize for graph drive items fetched with LookUpFromDriveIdAndIdAndVersion
  • Revision 17141 (Modified on 2026-01-26): Again, new way of creating flexible timeout for REST calls while caching the HttpClient
  • Revision 17140 (Modified on 2026-01-26): Turnkey could end up with exception "Access to GetConfiguredSQLPMapper before init of AlternateConnectionString A0". MDrivenServer now waits up to 60 seconds for the init to happen before returning this error - and this the error is unlikely to happen again - making turnkey much more robust towards MDrivenServer restarts...
  • Revision 17133 (Modified on 2026-01-22): XmlValidateWithSchemas better error message when schema cant be downloaded MDrivenServer - info now returns any needed 2 factor code
  • Revision 17131 (Modified on 2026-01-21): Fix of incorrect timeout implementation
  • Revision 17129 (Modified on 2026-01-20): Datablock issue when transforming Decimal to string (Xml persistence) - now use G29 format String back to value issue on nullable types - now check nullability on type first the do parse on base type
  • Revision 17128 (Modified on 2026-01-19): Added support for call timeout to be set on rest calls
  • Revision 17126 (Modified on 2026-01-16): BugHunt graph
  • Revision 17125 (Modified on 2026-01-16): BugHunt graph
  • Revision 17124 (Modified on 2026-01-16): Added innerexception when hitting Eco.ExternalLateBound error
  • Revision 17122 (Modified on 2026-01-15): Issue in Codegen for VS2026, methods that did not return anything got codegened as return System.Void instead of void, this was only the case for the user implementation stub of user defined methods. Automation build now states the VSIX version in the log
  • Revision 17109 (Modified on 2026-01-11): VS2026 support

December 2025

  • Revision 17108 (Modified on 2025-12-30): Interface approach solution to design double load problem tested - this will not fully solve the problem (winforms designers will generate code but not able to load code -> AddRange not found issue). Next step would be to create separate VSIX versions of assemblies to make VSIX-Project confusion impossible
  • Revision 17107 (Modified on 2025-12-25): Cleaning away legacy packages.config files in order to move ahead with vs2026
  • 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 17093 (Modified on 2025-12-17): SearchGrid when it has zero results - only show when search return zero
  • Revision 17089 (Modified on 2025-12-16): A new image is displayed in Turnkey SearchGrid when it has zero results: content/icons/tkSearchNoRecords.svg - swap this file to you liking (by providing an override in assetstk)
  • Revision 17087 (Modified on 2025-12-15): Baseline css style was misspelled - Fixed InspirationAndLift functionality continued
  • Revision 17086 (Modified on 2025-12-15): Debugger , list all operators - had lost the link to wiki, its back Issue with enum when nullable or when having a illegal value it could not assign a new value; fixed Better helper text on operators using .net : "calls through to .net" instead of "calls through to clr"
  • Revision 17079 (Modified on 2025-12-09): AbstractAction - now has has OpenInNewTab option that will do what it says
  • Revision 17073 (Modified on 2025-12-04): Null ref error when sending null in expression to parser - fixed
  • Revision 17072 (Modified on 2025-12-04): Unfortunate nullref exception in wpf ocleditor if not using the GetExtraDesignerFunctionsForOclEditor (like in integrated runtime debugger) - fixed
  • Revision 17070 (Modified on 2025-12-03): When uploading files with multipart content you can give filename, and now (new) you can also give content type - as described here https://wiki.mdriven.net/Documentation:OCLOperators_RestPost
  • Revision 17068 (Modified on 2025-12-03): ->asset when loading and types is not yet available the operator broke will null exceptions - fixed
  • Revision 17065 (Modified on 2025-12-02): SyncHandledDeadlock detected - multiple threads Submit updates while multiple requestChanges - use of double locks (SyncRoot and this) could lead to interlock situation leading to deadlocks - simplified to the single SyncRoot lock