Changelog-Framework


__HIDECREDIT__

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

June 2025

  • Revision 16737 (Modified on 2025-06-18): x
  • Revision 16736 (Modified on 2025-06-18): Real life case where MDrivenServerSync-block was tagged with wrong ModelChecksum due to checksum from actual save block creation was not caught and kept - instead the checksum was retrieved again prior to insert of synkblock and at this point the evolve had added a new version. Freak occurrence blocked from happening again.
  • Revision 16735 (Modified on 2025-06-17): When building ListViews - and having de-reference to single nesting (as will happen when mounting viewmodel) there is now support for IncludeHere tagged value that will NOT de-reference and put cursored controls out of listview as standard - instead IcnludeHere tag will bring in rendering into the current listview row; this makes it possible to have a list of mounted viewmodels (all the same definition though)
  • Revision 16732 (Modified on 2025-06-16): When using ListViews the supported behavior has not allowed subnestings from row (worked only of subnesting was other listview) - for single links these where interpreted as "dereference/render-after" - but for MountedViewModel this made it impossible to have Mounts inside the ListViewRow , to better handle this the "IncludeHere" tag value can be set on the Mount-point-column or also on a SingleLink-reference; work in progress
  • Revision 16731 (Modified on 2025-06-16): Mistake in SearchLogic from last checkin made TotalCount get value of pagecount if special search (missing words+semicolon) was tested but not applied - fixed
  • Revision 16730 (Modified on 2025-06-13): Better return of checksum, null checks after real life scenarios TraceLogTurnkey now catches first trace with TRACESTART and prune app with PRUNEAPP trace entries to better see dynamics of usage
  • Revision 16727 (Modified on 2025-06-12): Issue with ocleditor context finding when writing expressions - specially the case self.DeepClone(SomeType.ViewModels.SomeView) was not any good at any of the levels of the inner expression SomeType.ViewModels.SomeView
  • Revision 16721 (Modified on 2025-06-10): Now Seekers in turnkey will init their vSeekerResultCount to -1 , and this will be used to avoid showing "No results" prior to first search The special search for missing words (replacing space with wildcard) has been limited to strings under 200 in length to avoid undue db stress The special search for multi-search had issues with AutoForms/Template created seeker forms due to use of vSeekParamWildcard that included wildcard in value to allow for sqlite to not having a parser meltdown... Long story, but fixed. Seekers-paging-buttons in web did not show count if the count was 1, it does now
  • Revision 16717 (Modified on 2025-06-09): When parsing xml datablock we now fallback to check for Ansi-datetime on datetimes (before only binary) OCLDebugger has new button to Vibe demo data from a given diagram
  • Revision 16716 (Modified on 2025-06-09): Runtime updated to allow for default-opt-out of actions making it easier to maintain large model where some viewModels should be stable and not get new class actions as they are added - but rather wait for explicit opt-in. This is a per viewmodel choice named default-opt-out
  • Revision 16704 (Modified on 2025-06-01): Improved sorting on menus i web when mixing menus without group and those with group Continued work with Vibe-information

May 2025

  • Revision 16699 (Modified on 2025-05-28): StylesInModel issue with button not gettings its icon covered by the componentlabel target - fixed
  • Revision 16693 (Modified on 2025-05-27): selfVM.ExecuteAction used internal function that could fail if Nestings for searchexpressions were present - fixed. Vibe UI - LLM updated prompt and fed xml to reduce misunderstandings
  • Revision 16681 (Modified on 2025-05-25): Detection of issue with missing PlacingContainer in single Nestings when Span has them - this issue break rendering a new error in error check has been added - and also a rescue operation to fix with one click
  • Revision 16680 (Modified on 2025-05-23): In C# Math.Round(-1.0/10000) gives negative zero that survives to ToString giving "-0.00". This is legit but annoying and deemed of low value so in MDriven (-1.0/10000).Round(2) will from now on return a positive zero
  • Revision 16678 (Modified on 2025-05-21): Issue in ViewModelEditor with Mounted views - fixed
  • Revision 16676 (Modified on 2025-05-21): Long limitation that Bag{1,2,3} did not really return a bag but instead a Set - combined with limitation that union filtered away duplicates gave this expression Bag{1,2,3}->union(Bag{1,2,3}) to return 1,2,3 instead of the expected 1,2,3,1,2,3 - fixed
  • Revision 16670 (Modified on 2025-05-20): ActionRenderPosition has a new value:ButtonOnly, this is used when a leftside/toolbar action is opted out - but still used in one or more buttons This change fixes several old problems; specially the one that AreYouSureQuestions where not properly handled of action was outopted but used in button, and that optout level had importance for ViewModelContextAction
  • Revision 16669 (Modified on 2025-05-19): DynamicEnumString did not correctly implement Equals leading to combobox presentation halting
  • Revision 16668 (Modified on 2025-05-19): IgnoreContent of PlacingContainer implemented in WPF flexpanel
  • Revision 16667 (Modified on 2025-05-16): ElementHandle did not correctly create columns when switching types if new type was IEnumerationType - effected debugger output that showed last result type if the result type was IEnumerationType
  • Revision 16666 (Modified on 2025-05-16): Ocl_includes did not handle enum compare - fixed
  • Revision 16663 (Modified on 2025-05-14): --text-on-primary text on buttons was set to white - but several issues made it not reach the theme-default, the theme-default issues has been resolved and then text on button became white - this is now changed to black Width of tk-input-field--datepicker was reduced - for no apparent reason - now its treated as any other input StylesInModel was unable to reach and set the text of buttons - now fixed Turnkey runtime prepared for new PlacingContainer property that controls flexbasis called IgnoreContent
  • Revision 16659 (Modified on 2025-05-13): BREAKING CHANGE: Assignment := goes from RHS-type to LHS-type (Left hand side decides type today and onwards). This WILL MOST LIKELY break a few expression. You fix them by typecasting. Read how and why here: https://learn.mdriven.net/index.php?title=Documentation:OCLOperators_:%3D
  • Revision 16658 (Modified on 2025-05-13): OclResultTypeDeduceMethod.TypeOfFirstParam was really 2 and OclResultTypeDeduceMethod.TypeOfSecondParam was really 3 - fixed this and also added OclResultTypeDeduceMethod.TypeOfThirdParam This gave problem when implict upgrading ints to double in a assign somedouble:=0 when it was enclosed in ->collect because the list was int and not of double
  • Revision 16655 (Modified on 2025-05-13): ExecuteFrameworkRuntimeActionRT.ReadOnlyModeToogle is corrected to ExecuteFrameworkRuntimeActionRT.ReadOnlyModeToggle
  • Revision 16641 (Modified on 2025-05-10): OclVariableConverter a TypeConverter needed for design and winforms design code gen has been moved from eco.handles.design to eco.handles - this is to de-confuse the winforms .net8 designhost (designtoolserver) and also de-confuse extension loaded types from project loaded types. This means that to get consistent behaviour (non missbehaving winforms editors) you need MDriven design time and MDriven nuget mdriven.handles no older than THIS version
  • Revision 16640 (Modified on 2025-05-09): OclVariable as placeble component did not work with new required winforms net48<>net5 streaming - now works for net48
  • Revision 16639 (Modified on 2025-05-09): OclVariable as placeble component did not work with new required winforms net48<>net5 streaming - work in progress
  • Revision 16637 (Modified on 2025-05-09): ReadOnlyMode when turned on globally also affected MVCAutoForms - and that made debug editing harder - we now let these forms ignore ReadOnlyMode
  • Revision 16636 (Modified on 2025-05-08): ReadOnlyMode when turned on globally also affected MVCAutoForms - and that made debug editing harder - we now let these forms ignore ReadOnlyMode SERIOUS BUG: A month old bug regarding IdentityChangers (new objects has guid id, and saved get permanent id) - when on root webclients did not correctly update url to show new id, and whats client side viewmodels did not get all the needed IdChange messages to correctly upgrade id on objects held deeper in hierarchy than root. Fixed
  • Revision 16633 (Modified on 2025-05-07): Update to vSysReadOnlyMode is NOT entered if the object IsNew
  • Revision 16630 (Modified on 2025-05-07): Issue that Seek multiple times on same string sometimes could remove the selection made by AutoSelectFirstRow - fixed
  • Revision 16626 (Modified on 2025-05-06): Changes on all operations for GraphAPI access to deduce if it is "InvalidAuthenticationToken" and if so - refresh the token and execute the operation again
  • Revision 16625 (Modified on 2025-05-06): AutoFirstSelectRow was glitchy if something was selected prior to new search

April 2025

  • Revision 16615 (Modified on 2025-04-28):
  • Revision 16613 (Modified on 2025-04-28): Issue in angularclient that ctrl keys did not fully do their after action due to roundtrip fillup Add variable-dialog now offers a As-collection checkbox instead of having all the types all the time
  • Revision 16612 (Modified on 2025-04-28): Added the enable expression that gives false in the log, when the serverside action is not allowed to run.
  • Revision 16608 (Modified on 2025-04-26): Nuget package update: Azure.Core, Version=1.45 System.ClientModel, Version=1.2.1 System.Runtime.CompilerServices.Unsafe, Version=6.0.1.0 System.Threading.Tasks.Extensions, Version=4.2.1.0 System.Runtime, Version=4.3.1 System.Security.Cryptography.ProtectedData, Version=6.0.0
  • Revision 16607 (Modified on 2025-04-26): Major updates to advanced styling with LLM support and fast-track-CSS to help you shine
  • Revision 16606 (Modified on 2025-04-26): ExtentService - added 2 new methods: /// If the class is Singleton this fetch, possibly create the instance IObject Singleton(IClass c); /// If the class is Singleton this fetch, possibly create the instance T Singleton<T>() where T : class, IEcoObject;
  • Revision 16599 (Modified on 2025-04-24): The Turnkey/Development?view= service was untested and failed in certain cases. Fixed
  • Revision 16598 (Modified on 2025-04-24): Theme upload did not happen unless there was a style - fixed
  • Revision 16591 (Modified on 2025-04-23): ThemeStyling continued work
  • Revision 16590 (Modified on 2025-04-23): Issue in debugger when cloning ViewModel vars and one is a Tuple - Fixed issue Changes for Keyboard shortcuts for Save(ctrl+s) SaveAndLock(ctrl+enter) EditMode(ctrl+e) CancelAndLock(ESC) undo(ctrl+z) redo(ctrl+y). This is in angularjs and Blazor-client
  • Revision 16584 (Modified on 2025-04-22): Recent fix for actions accidently broke evaluation if the action enable expression was empty - fixed
  • Revision 16583 (Modified on 2025-04-21): New Tab in LiveEdit - advanced-styling, work in progress
  • Revision 16579 (Modified on 2025-04-17): Improved on hints when using things only valid in action in ocl in ocleditor errors
  • Revision 16578 (Modified on 2025-04-17): In OCL we now fill the EnumOrd to the ordinal number of the enumerated value (0,1,2) MyEnum.allinstances.EnumOrd And we allow comparison between Enum.value and integer (falls back EnumOrd )
  • Revision 16576 (Modified on 2025-04-16): Updates to enable MDriven VS2022 on ARM64 - this required .netFramework48 and late VS2022 (Version 17.13.6) Everything that WAS compiled with .netFramework472 has been raised to .netFramework48 (this does not concern things compiled with netStandard or netcore+ (net6,7,8)) THIS IS IMPORTANT: Update your VS2022, Update your MDriven Nugets, If you get build breaks check that YOUR THINGS TARGET at least .netFramework48 Saying again with other words: WE NOW LEAVE .netFramework472 and older behind forever - use .netFramework48 as the minimum.
  • Revision 16575 (Modified on 2025-04-16): SysViewStateCookie included the vSysReadOnlyMode variable - this was unintentional and it is not included in new SysViewStateCookies
  • Revision 16574 (Modified on 2025-04-16): CacheInvalidation revisited and an assumption was proved wrong and rectified - old manifests were to big due to this oversight
  • Revision 16573 (Modified on 2025-04-16): The selfVM.CanExecute ran into problem when evaluating a placed buttons enableexpression if the placed button was on subnesting and not pointing to an abstractaction (then it wrongfully used context of sublevel - but in these cases context is vmroot). Fixed
  • Revision 16571 (Modified on 2025-04-15): CommandTimeout option added to SQLImport and SQLExport functions in MDrivenServer
  • Revision 16570 (Modified on 2025-04-15):
  • Revision 16568 (Modified on 2025-04-11): OCLEditor has a new "Second pair of eyes" option that helps to spot issues with expression (LLM powered)
  • Revision 16567 (Modified on 2025-04-11): When listing native type values in combo box and trying to assign one by pick Turnkey ran into problems as soon as it was not an enumeration or a string, now behaves better for datetime,bool,int,double,decimal
  • Revision 16566 (Modified on 2025-04-11): selfVM.LogEntry fixes
  • Revision 16565 (Modified on 2025-04-11): Added Move column out of conflict position as one one the new Rescue operations
  • Revision 16564 (Modified on 2025-04-11): selfVM.LogEntry('say something') will output a row in MDrivenServer-log and Turnkey-log and debugger OCL-trace
  • Revision 16563 (Modified on 2025-04-11): DisplayMode did not correctly signal change when changed - fixed
  • Revision 16556 (Modified on 2025-04-09): The OCLEditor has had rescue links that offer to fix the issue there and then. Now these rescue links are available in the ViewModel editors error list
  • Revision 16551 (Modified on 2025-04-08): AbstractAction now keeps a ref to its creating XElement to use with LLM info i ViewModelPlan
  • Revision 16550 (Modified on 2025-04-08): Issue with the REST sending using the newly added BYTEARRAYCONTENT fixed
  • Revision 16534 (Modified on 2025-04-02): Adding special name BYTEARRAYCONTENT to upload with restPut,post,patch a single blob (no multipart content) - works the same as STRINGCONTENT RestHead ocl operator has been added to only ask external service to return the headers. vResponseHeaders variable - when found and Rest call is made we populate variable with a return separated list of header-name:header-value
  • Revision 16533 (Modified on 2025-04-02): Removing some tracelog, adding some nullchecks
  • Revision 16531 (Modified on 2025-04-01): Discovered issue in in memory ocl for OclKinfOf (used internally to implement linq "is" ) Class2.allInstances->select(GenSym_0|GenSym_0.Class1.OclIsKindOf(Class1A)) self.Class1.OclIsKindOf(Class1A) gave true if singlelink "class1" was null - corrected in new builds
  • Revision 16529 (Modified on 2025-04-01): MDrivenServer SysAsyncTicket now use utcNow instead of server now, and the new file format on model

March 2025

  • Revision 16526 (Modified on 2025-03-31): New property on selfVM called DisplayMode - that has one of the values enum DisplayModeEnum { UINormal, UIModal, UIPopup,Technical, RestPost, RestGet, RestPatch, RestPut,RestDelete }; Since ViewModels may have multiple usages it is good to be able to know the current use
  • Revision 16523 (Modified on 2025-03-27): RendersAction columns should take their ReadOnly state from the action-column they render, and this was not correctly implemented causing these columns to be enabled even when ReadOnlyMode was true. Actions in turnkey check again if they are enabled on the server just before execution to stop any injecting and outofsync execution Blazor checkboxes that render action should not also toggle their value - the action needs to be responsible for all data change Null check in client side VMClass Null check in debugger
  • Revision 16512 (Modified on 2025-03-25): DeleteReasonSolveMethod may act on data and it was not enclosed in the delete transaction - it is now DynamicEnumString did not implement IComparable and if used in a orderby expression it then failed Minimum slider of ViewModel in WPF designer has been increased to 6400 pixels Modlr check if clipboard sometimes fails with com-exception and we did not catch all - fixed
  • Revision 16500 (Modified on 2025-03-23): Improvements on Tajson logging
  • Revision 16499 (Modified on 2025-03-21): work with azure automation
  • Revision 16495 (Modified on 2025-03-20): Added _Lookup action for enable fast lookup in addition to combobox method in import of data, for example in TaJson
  • Revision 16489 (Modified on 2025-03-20): Saw a deadlock between XMLPersistence and Init of singletons - rewrote to TryLock to Fix Issues with angularSort from new fixes to remember sorted indexes - turned out that angularJS flipped if there where many such grid in a UI - rewrote to own sorting logic
  • Revision 16485 (Modified on 2025-03-20): Issues with new _SortedMem solution in angular tables - fix2 Turnkey multiview comma on id could creep into MVC and wreck things - fixed.
  • Revision 16483 (Modified on 2025-03-20): Issues with new _SortedMem solution in angular tables - fix
  • Revision 16475 (Modified on 2025-03-19): Turnkey Angular issue: selectWithShift in Tables that had been header-sorted did not work due to indices used where from unsorted data. Fixed
  • Revision 16471 (Modified on 2025-03-18): Tuning of the OnDeleteReasonSolve implementation, also updated the error message on failed delete to inform about OnDeleteReasonSolve
  • Revision 16470 (Modified on 2025-03-18): Account management improved for TunrkeyCore
  • Revision 16466 (Modified on 2025-03-18): Issue in HistoryServer - one class came back as null in persistencemappers - do not understand rootcause , possibly something with close by evolve (maybe a save with wrong model somehow came through - but do not understand how) ...Null checks added to avoid complete stop
  • Revision 16464 (Modified on 2025-03-17): Work on CreateNode discovered error in RemoteTurnkeyGetStringValue
  • Revision 16462 (Modified on 2025-03-17): x
  • Revision 16461 (Modified on 2025-03-17): BREAKING CHANGE: extra parameter added to https://wiki.mdriven.net/index.php?title=Documentation:OCLOperators_OnDelete OnDeleteReasonSolve(reason:string; checked:Collection(SysSuperClass)) method DirtyListServiceImpl could create deadlocks and has been rewritten to TryRetryLock, this lead to dirtylist maybe null and some updates to handle this Fixing WPF wecpof ReadOnly-symbol-updating
  • Revision 16457 (Modified on 2025-03-14): Missed nullcheck in EnsurevCurrentIsWithinAndIfNotOrNullDoFirst could leave modal window empty - fixed LiveEdit timeout could give exception dialog - fixed
  • Revision 16451 (Modified on 2025-03-12): BREAKING CHANGE: in AfterModalOk in actions we no longer provide vModalResult_selfVM variable. It was an old mistake that that in WPF the handover of vDirties to instigating view did not happen correctly - so vModalResult_selfVM.save was sometimes used. The mistake/bug is removed and hand-over of dirties is now the same in Turnkey and WPF - but vModalResult_selfVM.save would then be moot - and to signal this change the vModalResult_selfVM variable was removed altogether from AfterModalOk. There were also issues in turnkey when handover sometimes caused nullref exceptions and breaking signaling
  • Revision 16447 (Modified on 2025-03-07): Better handling of Tuple type re-occurence Null checks in VMClass SysGraphAPI error codes clarified in exception property (404-NotFound,403-NoAccess,401-NotLoggedIn)
  • Revision 16438 (Modified on 2025-03-04): issue with IExternalIdService.ObjectForGuidIfClassHasGuidProperty when Guid-property was nullable - fixed
  • Revision 16436 (Modified on 2025-03-03): ViewModelWPF datatables now populates contextmenu if alt or control is held to better honour keyboard shortcuts without extra work FindInModel key shortcut to bookmark now works Sometimes AccessGroup and other modal dialogs came up blank due to too late init of WPFDequeuer WebView2 could kill the app - now caught and stopped "Bookmark this" moved to Misc group
  • Revision 16429 (Modified on 2025-03-01): Refactoring to reduce complexity of TurnkeyInterfaces project Added MDrivenServerCore and MDrivenServer WebApi for portalPush

February 2025

  • Revision 16428 (Modified on 2025-02-28): Some strangeness when going from tuple to collections were fixed StylesInModel dialog suffered from the above strangeness - fixed
  • Revision 16427 (Modified on 2025-02-28): Image and File upload did not work if in ListView in angular - due to missing ID - fixed
  • Revision 16426 (Modified on 2025-02-28): Toolbar-abstractactions refered to in Buttons , skipped their AreYourSure due to an oversight that Toolbar collects actions from all levels in its own group. Fixed in Angular and Blazor CodeGen checkbox could easily be pressed by mistake because it was too long; Fixed
  • Revision 16423 (Modified on 2025-02-28): Ability to bookmark from Tree, Diagram and errorlist, and search ; this greatly simplifies batch work as a developer - a fantastic feature inspired by Notepad++ Old issue found a and corrected : Major oversight that IndirectMultiAssociationEndCachePolicy was not handled by deserialize Issue with DoNotPersist-TV in modelLayer when having singlelinks with AssociationClass (new feature Bookmark)
  • Revision 16419 (Modified on 2025-02-26): Checksum change - name of association (the combined ends or unique name) was not in checksum - and codegen did not discover - fixed - requires updates of mdrivenserver to get checksums correct
  • Revision 16418 (Modified on 2025-02-26): OclEditor context finding - changes made and ideas for improvement located, this change tries to repair missing end paranthesis to give context match more often
  • Revision 16412 (Modified on 2025-02-21): Both angular and blazor had issue with double-click-in-table-in-modal-should-try-ModalOk - both fixed
  • Revision 16401 (Modified on 2025-02-20): Bug that ActAsForActions expressions did not include VM variables in runtime - causing runtime error when variables were used - fixed New GlobalUnRootedAlwaysNew was not honored if leftside action - only GlobalAction - this is fixed
  • Revision 16400 (Modified on 2025-02-19): Renaming SysMDrivenMiscSettingSingleton.GlobalSeekersAlwaysNew to GlobalUnRootedAlwaysNew to better reflect the new MultiView behaviour
  • Revision 16398 (Modified on 2025-02-19): RegExpSplit ocl operator added : https://wiki.mdriven.net/Documentation:OCLOperators_regExpSplit DebuggerView showing whole part of current xml-persisted model became too long - now only shows file name
MDriven Chat

How would you like to chat today?

Setting up your conversation…

This may take a few moments