Changelog-Framework
(Updating changelog)
(Updating changelog)
(178 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<message>Write the content here to display this box</message>
__NOTOC__
__NOTOC__
<html>
<html>
Line 79: Line 80:
</html>
</html>
<div class="changelogs">
<div class="changelogs">
=== March 2024 ===
=== May 2025 ===
* '''Revision 15504''' (Modified on 2024-03-22): Work in progress AutoBlazor
* '''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 15500''' (Modified on 2024-03-21): Important Placingcontainer min-height/min-width change: ViewModelColumn column Span and Row span now is shown even when column is in Placingcontainer If the PC Min-size is NOT set we will use the corresponding column/row-span * viewmodel.ColumWidth/RowHeight and use this as the min-size in the direction (width when PC is row, height when PC is column) Reasons: #1 column span did have effect in Turnkey already (grids max height was controlled by this), #2 span > 1 on textfields also turned textfields into multiline - it was hard to control this AFTER you turned the View to PC #3 The min-size is very pixel focused and using the column/row-span * viewmodel.ColumWidth/RowHeight will quantify the used min-size values in a better way Remaining issues: In WPF even textfields, combos, datepickers etc adhere to min-size, but in web the min-size is controlling the controls outer div - but css does not resize the native control the way one would expect
* '''Revision 16666''' (Modified on 2025-05-16): Ocl_includes did not handle enum compare - fixed
* '''Revision 15499''' (Modified on 2024-03-20): _Label subcolumn was not implemented for buttons in grids - 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 15492''' (Modified on 2024-03-17): Webassembly work in progress
* '''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 15490''' (Modified on 2024-03-14): Issue with ReadOnlyMode - ReverseDerived where reported as non persistent and thus made writable - this is now fixed and also the TV WillEffectPersistedDataOverrideValue is checked for Reversederived
* '''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 15489''' (Modified on 2024-03-13): New settings in MDrivenServerOverride ExternalAssetsTK helps with EXT_component dev Check that we dont init ReadOnlyMode while in sync
* '''Revision 16655''' (Modified on 2025-05-13): ExecuteFrameworkRuntimeActionRT.ReadOnlyModeToogle is corrected to ExecuteFrameworkRuntimeActionRT.ReadOnlyModeToggle
* '''Revision 15486''' (Modified on 2024-03-11): Adding IProperty TryGetName(string name) to IPropertyCollection to make checking if property exists easier. Extending turnkey SysOpenAI support : adding Temperature so that it can be controlled via model
* '''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 15485''' (Modified on 2024-03-08): Better focusing of correct thing when clicking error in Model-errors, specially when you have conversion errors that makes further eval impossible
* '''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 15481''' (Modified on 2024-03-08): HideOnDisable introduced on AbstractAction - this will be set automatically on trigger actions when added from statediagram - but is now also available on all actions When abstract action has error and shows in ViewModel error list - it now opens action editor when double clicked When error check has an error on a State it now opens the correct state diagram on click
* '''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 15479''' (Modified on 2024-03-08): Improved error message if there is an exception in class method
* '''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 15478''' (Modified on 2024-03-07): Changed so that virtual path in .net core return empty string, making URLs relative and using basepath in web page
* '''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 15475''' (Modified on 2024-03-06): Improving table rows selection.
* '''Revision 16633''' (Modified on 2025-05-07): Update to vSysReadOnlyMode is NOT entered if the object IsNew
* '''Revision 15472''' (Modified on 2024-03-05): REVERTED non-working feature: Complex issue with vSelected in Turnkey - when you have not checked the SelectedBox - you still want the vCurrent to be part of the vSelected - but then you want it removed from vSelected if the only reason for being in vSelected was that it was vCurrent
* '''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 15471''' (Modified on 2024-03-05): Model upload rewritten to become async to avoid UI lock for large models
* '''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 15467''' (Modified on 2024-03-04): null check, adding Nesting.RendersAsList:bool method
* '''Revision 16625''' (Modified on 2025-05-06): AutoFirstSelectRow was glitchy if something was selected prior to new search
* '''Revision 15464''' (Modified on 2024-03-03): Fixed bug: External login provider name change caused user creation failure. Two different ways to look up external login records in database, made login middleware fail.
* '''Revision 15463''' (Modified on 2024-03-01): Complex issue with vSelected in Turnkey - when you have not checked the SelectedBox - you still want the vCurrent to be part of the vSelected - but then you want it removed from vSelected if the only reason for being in vSelected was that it was vCurrent
* '''Revision 15461''' (Modified on 2024-03-01): To increase the rename-ease and copy-easy of view models we now suggest you use the new vCurrent_Root variable instead of vCurrent_<ViewModelName> This will make a copied/renamed ViewModel stay correct without any changes


=== February 2024 ===
=== April 2025 ===
* '''Revision 15456''' (Modified on 2024-02-29): Better error message on failed report
* '''Revision 16615''' (Modified on 2025-04-28):  
* '''Revision 15448''' (Modified on 2024-02-27): OclEditor did not correctly provide help on selfVM members due to confusion with ordinary simple types
* '''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 15446''' (Modified on 2024-02-27): Inconsistency in linkobjects: when one inner link was null we used to throw and fail on assert - but we should treat it as any normal inconsistency that can be discovered and cleaned by MDrivenServer
* '''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 15444''' (Modified on 2024-02-26): Fixed problem with deep direct links lacking full redirection URL. Added URL encoding to redirect URL.
* '''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 15442''' (Modified on 2024-02-26): selfVM variable lost in debugger after reload model; Fixed issue MDrivenServer/Admin/Data validation now creates correct EAL scripts for fixing key issues with ocl debugger - so that history db integrity is maintained
* '''Revision 16607''' (Modified on 2025-04-26): Major updates to advanced styling with LLM support and fast-track-CSS to help you shine
* '''Revision 15441''' (Modified on 2024-02-26): Auto-Inconsistency-Cleaning, Extending Cache mechanism: Dealing with data inconsistencies that arise when 2 systems act simultaneously - one system linking A-B together (embedded link in B) and other system not yet knowing of B deletes A, first system saves without knowing about deletion of A 1. This is discovered when third system reads the B that now links to an nu-existing A, we ghost create an empty A but add it to the Ghost-list. 2. When this third system does a db-update for any reason we also check the Ghostlist and if it holds Ghost objects these are unlinked 3. The effect is that inconsistencies found are auto cleaned when other save operations occur - This strategy is not perfect (since inconsistencies may happen) but good since inconsistencies will eventually get cleaned. There is no active cleaning - but an active cleaning service will be added to MDrivenServer. - The alternative ; to trust referential integrity abilities of DB-brand is complex due to issues with ordering of updates and differences between brands, and will make evolve scripts more complex When load discovered foreign keys that does not have an object it is marked as ExistenceState Deleted, and added to this list On next save (if it happens) we can unlink this from everywhere void RememberGhostFKCreatedUntilNextSave(Locator locator); Used internally in Update - to unlink ghosts so that we get self cleaning of ghost keys List<Locator> GetAllGhostFKCreatedAndClearList();
* '''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 15440''' (Modified on 2024-02-26): Better auto switch to errortab and resulttab in debugger
* '''Revision 16599''' (Modified on 2025-04-24): The Turnkey/Development?view= service was untested and failed in certain cases. Fixed
* '''Revision 15439''' (Modified on 2024-02-23): Clickable links for operators in the debugger list of available operators
* '''Revision 16598''' (Modified on 2025-04-24): Theme upload did not happen unless there was a style - fixed
* '''Revision 15438''' (Modified on 2024-02-21): Improved OCL feedback on things that will never work like 'hello'>=1 (string cannot be compared with number) and '1'.strToInt>DateTime.Now (number cannot be compared with datetime) Better error message when collect has zero arguments
* '''Revision 16591''' (Modified on 2025-04-23): ThemeStyling continued work
* '''Revision 15437''' (Modified on 2024-02-21): LeftMenuActions , for Grids in Web , only show if there is a selected object in the grid
* '''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 15436''' (Modified on 2024-02-21): In WPF when a Popup is shown , and that popup executes an AreYouSure question prior to action - the click in the areyousure could initiate popupclose so that vCurrent vars where destroyed prior to action execution - fixed
* '''Revision 16584''' (Modified on 2025-04-22): Recent fix for actions accidently broke evaluation if the action enable expression was empty - fixed
* '''Revision 15435''' (Modified on 2024-02-20): Fix typo in styles for InPlacePopup. Add additional CSS class to popup based on the position.
* '''Revision 16583''' (Modified on 2025-04-21): New Tab in LiveEdit - advanced-styling, work in progress
* '''Revision 15430''' (Modified on 2024-02-18): Several weaknesses when reverse deriving and working with MDrivenServer - that we did not log mapping issues correctly. Fixed/Improved. Several issues with MVC UI and handling of composite keys fixed Improved information from WepAPI PersistenceMapper failed calls in .netcore
* '''Revision 16579''' (Modified on 2025-04-17): Improved on hints when using things only valid in action in ocl in ocleditor errors
* '''Revision 15429''' (Modified on 2024-02-17): Bad cleaning in GlobalActionAndAccessGroupRuntimeService knocked out MainMenu evaluation of accessgroups after reuse of ecospace - made GlobalMenu sometimes loose actions, sometimes showing too many actions - Fixed!
* '''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 15427''' (Modified on 2024-02-16): AccessGroups did not init fast enough on wpf
* '''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 15426''' (Modified on 2024-02-16): null check on action
* '''Revision 16575''' (Modified on 2025-04-16): SysViewStateCookie included the vSysReadOnlyMode variable - this was unintentional and it is not included in new SysViewStateCookies
* '''Revision 15425''' (Modified on 2024-02-16): Old bugg hid important info in exceptions from ocl - Fixed issue When decimal division by 0 we get DivideByZeroException - but ocl should not break - it should continue - for example if divide by 0 on a double we get double.positiveinfinity. We are now changing to give decimal.MaxValue (very big number) on division by zero
* '''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 15424''' (Modified on 2024-02-15): More matching types when reversing postgresql Better matching of SQLServerTypes
* '''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 15423''' (Modified on 2024-02-15): Before the evolve detected switch of attribute PMapper as reason for drop of column - I am now removing that - its common to change a pmapper on a attribute - specially in reversed scenarios StringAsChar and StringAsVarChar now converts non string types to strings to help with reversing of odd things in dbs Int32 and Int16 pmappers are extended to tolerate Int16 vs Int32 to help with crappy reversed databases
* '''Revision 16571''' (Modified on 2025-04-15): CommandTimeout option added to SQLImport and SQLExport functions in MDrivenServer
* '''Revision 15421''' (Modified on 2024-02-15): Unfortunate change some days ago made TechnicalViewmodels rely on DisplayQueue for update - this lead to ServerSide jobs not seeing the data Probably more issues with clone etc... Fixed
* '''Revision 16570''' (Modified on 2025-04-15):  
* '''Revision 15418''' (Modified on 2024-02-14): TableColumnsExcludeNames was null and failed table renderings
* '''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 15417''' (Modified on 2024-02-14): Null check for TaggedValues
* '''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 15416''' (Modified on 2024-02-14): RenderSettings.TableColumnsExcludeNames crashes MDrivenServer - fixed
* '''Revision 16566''' (Modified on 2025-04-11): selfVM.LogEntry fixes
* '''Revision 15414''' (Modified on 2024-02-14): Add check for RuntimeName for new TableColumnsExcludeNames setting
* '''Revision 16565''' (Modified on 2025-04-11): Added Move column out of conflict position as one one the new Rescue operations
* '''Revision 15413''' (Modified on 2024-02-14): Add check for RuntimeName for new TableColumnsExcludeNames setting
* '''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 15412''' (Modified on 2024-02-13): Add TableColumnsExcludeNames setting, refactoring of table rendering
* '''Revision 16563''' (Modified on 2025-04-11): DisplayMode did not correctly signal change when changed - fixed
* '''Revision 15409''' (Modified on 2024-02-13): Postegresql updates
* '''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 15408''' (Modified on 2024-02-13): Removing tooltip for context action button in advanced tables.
* '''Revision 16551''' (Modified on 2025-04-08): AbstractAction now keeps a ref to its creating XElement to use with LLM info i ViewModelPlan
* '''Revision 15407''' (Modified on 2024-02-13): Issues with ReadOnlyMode and AutoForm
* '''Revision 16550''' (Modified on 2025-04-08): Issue with the REST sending using the newly added BYTEARRAYCONTENT fixed
* '''Revision 15406''' (Modified on 2024-02-13): Fixing issue with context menu button in advanced tables.
* '''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 15404''' (Modified on 2024-02-13): Adding support of width changes for multiselect column in advanced tables. Adding flexible sizing for checkboxes.
* '''Revision 16533''' (Modified on 2025-04-02): Removing some tracelog, adding some nullchecks
* '''Revision 15402''' (Modified on 2024-02-11): Added missing help texts on operators
* '''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 15401''' (Modified on 2024-02-11): Adding a tab to OCLDebugger that lists all operators seen by OCL. Action and OCLPS languages
* '''Revision 16529''' (Modified on 2025-04-01): MDrivenServer SysAsyncTicket now use utcNow instead of server now, and the new file format on model
* '''Revision 15400''' (Modified on 2024-02-09): Bug in RuntimeDefaultOnViews and null checks
* '''Revision 15398''' (Modified on 2024-02-09): Readonly issue with members fixed, readonly is off if selfVM.IsDirty
* '''Revision 15396''' (Modified on 2024-02-09): IMDrivenMiscSettings service added, covered by optional model class SysMDrivenMiscSettingsSingleton as described here https://wiki.mdriven.net/index.php?title=SysMDrivenMiscSettingsSingleton ViewModelHelper.CreateFromViewModelWithExtendedUIFunctions added - this differs from existing CreateFromViewModel overloads in the way that it checks for RuntimeDefaultOnViews AccessGroup, and the GlobalReadOnlyMode https://wiki.mdriven.net/Per_viewmodel_ReadOnly_mode
* '''Revision 15394''' (Modified on 2024-02-08): Fixed bug that Windows authentication was unable to find existing users if the username contained backslash and an escape character code, for example \n
* '''Revision 15393''' (Modified on 2024-02-08): Adding the frameworkaction ReadOnlyModeToogle Adding style for WPF ReadOnlyMode button ReadOnlyModeToogleButton Adding button for ReadOnlyMode in WPF tab Adding button for ReadOnlyMode in Turnkey
* '''Revision 15392''' (Modified on 2024-02-08): The ReadOnlyMode - if used - will be entered Automatically on new View/root combination, and re-entered on Save or Cancel Long standing issue with LabelOnTop when LabelSpan took effectiveXPos to negative (EffectiveXPos=XPos-PresentationSpan) is now handled the same way in WPF and Web, both changed slightly
* '''Revision 15391''' (Modified on 2024-02-07): New functionality: ReadOnly mode per view as described here: https://wiki.mdriven.net/index.php?title=Per_viewmodel_ReadOnly_mode
* '''Revision 15390''' (Modified on 2024-02-07): NavigateUrl issue
* '''Revision 15389''' (Modified on 2024-02-06): Work with AccessGroup RuntimeDefaultOnViews
* '''Revision 15387''' (Modified on 2024-02-06): Changes to how ClassActions behave regarding the ViewEnable accessgroup expression New tagged value added WillEffectPersistedDataOverrideValue that allow for override of the automatic deduction connected with ViewEnableExpression Issue with use of stacked AccessGroups where they all counted as true if no explicit expression was set - and this gave wrong result since one true is enough: Fixed
* '''Revision 15386''' (Modified on 2024-02-05): Fixes for reverse derive of dbs that make use of namespace names (other than dbo) - like AdventureWorks
* '''Revision 15384''' (Modified on 2024-02-04): Fixes for reverse derive of dbs that make use of namespace names (other than dbo) - like AdventureWorks
* '''Revision 15383''' (Modified on 2024-02-02): Mistake in avigateUrl(theurl,newtab) fixed
* '''Revision 15381''' (Modified on 2024-02-01): Bug in ViewModel subcolumns could cause modlr to hang due to never finished When checking Unused vars we cannot check the OnShowExpression from the calling ViewModel context since it depends on vars in the shown ViewModelContext
* '''Revision 15380''' (Modified on 2024-02-01): Build issues made me change to await ThreadHelper.JoinableTaskFactory.SwitchToMainThreadAsync(); for VS stuff


=== January 2024 ===
=== March 2025 ===
* '''Revision 15379''' (Modified on 2024-01-31): Better ocl editor hints on methods that still does not match params selfVM.NavigateUrl overload that takes OpenNewTab boolean parameter
* '''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 15376''' (Modified on 2024-01-29): This was changed to only be in effect in PS-Eval: ->size was allowed on none collections that then was coerced to collection - but in oclPS this turned out really bad - so I will test to deny list coercion on none collections
* '''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 15375''' (Modified on 2024-01-29): ->size was allowed on none collections that then was coerced to collection - but in oclPS this turned out really bad - so I will test to deny list coercion on none collections
* '''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 15374''' (Modified on 2024-01-29):  
* '''Revision 16500''' (Modified on 2025-03-23): Improvements on Tajson logging
* '''Revision 15370''' (Modified on 2024-01-29): Improving Restart logg from MDrivenServer and also catch uncaught excpetions to log DataValidation in A0 - link object tests added Special handling of SQLPassthrough errors to avoid server destabilization
* '''Revision 16499''' (Modified on 2025-03-21): work with azure automation
* '''Revision 15365''' (Modified on 2024-01-24): Updated the Debugger to avoid fetching linked objects and evaluate their asstring when the Exclude-Derived is checked. Turned on Virtualization of Debugger resultgrid (was turned off to get styling for dirty state to work - but we gave up on that)
* '''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 15363''' (Modified on 2024-01-23): Build issues fixed
* '''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 15362''' (Modified on 2024-01-23): Illegal uses for .net6 removed
* '''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 15359''' (Modified on 2024-01-21): Fix issue with double-click on buttons inside tables.
* '''Revision 16483''' (Modified on 2025-03-20): Issues with new _SortedMem solution in angular tables - fix
* '''Revision 15353''' (Modified on 2024-01-19): Several small annoying misses and unhelpful-acts while writing expressions in OCL editor addressed
* '''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 15352''' (Modified on 2024-01-19): Safeguarding against negative sizes in WPF flexpanel
* '''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 15351''' (Modified on 2024-01-18): Found two comparisons of unboxed objects and changed them to object.Equals
* '''Revision 16470''' (Modified on 2025-03-18): Account management improved for TunrkeyCore
* '''Revision 15350''' (Modified on 2024-01-18): Cleaned comparison
* '''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 15349''' (Modified on 2024-01-18): OperationHelpString moved from OclEditor to OclSemantix to provide better exceptions in OclEditor
* '''Revision 16464''' (Modified on 2025-03-17): Work on CreateNode discovered error in RemoteTurnkeyGetStringValue
* '''Revision 15346''' (Modified on 2024-01-18): TextWrapping bug in FlexPanel when using row and no wrap - Fixed! Check that Label pos is never negative
* '''Revision 16462''' (Modified on 2025-03-17): x
* '''Revision 15345''' (Modified on 2024-01-18): Updates of versions to remove vulnerabilities
* '''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 15344''' (Modified on 2024-01-17): RichTextBox Document should have pageWidth equal to Control - Fixed issue ViewModelEditor better show what other Views Use this by Class.ViewModels.Name reference and by ViewModel Mount in top row with hyperlinks
* '''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 15343''' (Modified on 2024-01-16): SVG images in grids in WPF now supported Some nullref errors stemming from increased cleaning in CleanForFree fixed in Modlr
* '''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 15342''' (Modified on 2024-01-16): Unboxed compare in derive signaling made WPF .net6 Handles go ping pong
* '''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 15341''' (Modified on 2024-01-15): SortOrder for Serverside's in debugger
* '''Revision 16438''' (Modified on 2025-03-04): issue with IExternalIdService.ObjectForGuidIfClassHasGuidProperty when Guid-property was nullable - fixed
* '''Revision 15340''' (Modified on 2024-01-15): Issue with ViewEnableExpression
* '''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 15339''' (Modified on 2024-01-14): Null check in CleanForFree IntervalForServerSidePruning is set to half TurnKeySetting_RemoveTurnkeyAppAfterMinutes Wrapper destruction time set to :TurnKeyEcoSpaceCreator.RemoveWrapperAfterMinutes
* '''Revision 16429''' (Modified on 2025-03-01): Refactoring to reduce complexity of TurnkeyInterfaces project Added MDrivenServerCore and MDrivenServer WebApi for portalPush
* '''Revision 15337''' (Modified on 2024-01-14): RealTime service to let go of cache event in Deactivate
 
* '''Revision 15336''' (Modified on 2024-01-14): A lot of CleanForFree actions in order to mullify better
=== February 2025 ===
* '''Revision 15334''' (Modified on 2024-01-14): AccessGroups update to WillThisExpressionEffectPersistentData now also handles buttons on screen connected to AbstractAction
* '''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 15333''' (Modified on 2024-01-14): Changed a few explicit subscriptions to be in Async due to the fact that we may miss subscription if list is locked at the time we try. Changing Turnkey flag PruneEcospaces to default true
* '''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 15332''' (Modified on 2024-01-13): Version prefix on nuget
* '''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 15331''' (Modified on 2024-01-13): MDriven.ASPNETIdentity.core as nuget
* '''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 15328''' (Modified on 2024-01-13): MajorUpdate: An ability to deduce if an expression will EffectPersistentData or not has been introduced (Eco.ViewModel.Runtime.ViewModel.WillThisExpressionEffectPersistentData) This ability is used by Actions and ViewModelColumns along with the AccessGroup ViewEnableExpression to effectively create smart ReadOnly implementations of your views that does not lock EVERYTHING (including search buttons and search filters) - but only locks real data changes. Calling Create on a class marked as Singleton may now return the existing instance rather than creating a new one causing exceptions due to more than 1 instances TaggedValues.ValueForTagBoolean has been introduced to handle the common case of checking a taggedvalue of expected boolean value
* '''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 15327''' (Modified on 2024-01-12): Issue with SQLPassthrough errors being interpreted as general server errors and forcing mdrivenserver restart when really a logmessage would have been better
* '''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 15326''' (Modified on 2024-01-12): Mounted viewmodels should completely influence the Viewmodel MetaChecksum - this is important since mounted viewmodels are often used in cachemodules
* '''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 15325''' (Modified on 2024-01-12): Making the new AsInt64 also catch Int32 to lessen transition issues
* '''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 15323''' (Modified on 2024-01-11): IField.AsInt64 added to IDatabase MDrivenCacheInval changed keys from int to int64 on MDrivenCache_RecentlyUpdated,MDrivenCache_RecentlyUpdatedWorkPart,MDrivenCache_ManifestRow On existing installations: This requires manual drop and recreate of identity fields as described in comment for 2024 here: https://wiki.mdriven.net/Documentation:CacheInvalidation
* '''Revision 16400''' (Modified on 2025-02-19): Renaming SysMDrivenMiscSettingSingleton.GlobalSeekersAlwaysNew to GlobalUnRootedAlwaysNew to better reflect the new MultiView behaviour
* '''Revision 15322''' (Modified on 2024-01-10): AccessGroup subscription race condition - now publisher send twice, once on invalidate and once the value is actually updated
* '''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
* '''Revision 16395''' (Modified on 2025-02-18): Action sorting was done on ModelName and not Expanded Presentation (that often is modelname)
* '''Revision 16393''' (Modified on 2025-02-14): Sending along the name reporttemplate as infoonfail and reportname if the opendocumentreportshow fails - more context for error understanding
* '''Revision 16382''' (Modified on 2025-02-12): Better logging in JsonToObjects RightJust of page size picker in Seekers, angular and blazor Designer issue with combo for MountedViewModel not always updating; fixed
* '''Revision 16381''' (Modified on 2025-02-11): Strange javascript hook removed to set 'tk-data-table__content--min-height' on PC Tables, this is now set statically in code: MaybeSetMinHeightClass - read reasons there ... issues with heights on tables CSSGrid vs PlacingContainers
* '''Revision 16380''' (Modified on 2025-02-11): Clipbook should be clipboard - changed where ever displayed In Web grids the multiselect column is now decorated with multiselectcol class in both angular and Blazor - and this is used to avoid the multiselectcol in cellselect clips to clipboard Cellselect in AngularJS on rows with contextmenu - the mouse select could select the extra cell for the contextmenu and that was annoying and ugly - fixed
* '''Revision 16378''' (Modified on 2025-02-11): New settings on SysMDrivenMiscSettings; GlobalSeekerGridShowImportOnlyONTV: Boolean , if set the TV GlobalSeekerGridShowImport must be true on seekers in order to show "Import from clipbook" GlobalSeekerGridExportFileMaxRows:Integer , controls how many rows that maximum will be in the export file
* '''Revision 16376''' (Modified on 2025-02-10): SysGraphAPI.UpdateContentDriveIdAndId addded to allow of update of document content
* '''Revision 16375''' (Modified on 2025-02-08): SeekerGrid has been given a "more" menu that has 2 options "Import from clipbook" and "Export as file" "Import from clipbook" acts as the old ExcelPlugin-function; it uses first column to search, tries to write other columns, can use action CreateNew for adding rows "Export as file" ignores page size and try to get all objects (up to 50K) and downloads them as a tab separated txt file
* '''Revision 16369''' (Modified on 2025-02-06): Issue in compare checksum; NetFramework compiled MDrivenServer returns an escaped string, but .netCore compiled MDrivenServer does not - homogenised to handle both Yet an issue with checksum for state machines differences between NetFramework compiled vs .netCore compiled, this time the named transitions came in different order, now we sort them. This may be a breaking change - needing a model push
* '''Revision 16368''' (Modified on 2025-02-06): Turnkey; ExportTabSepController added to support new functions on seeker tables , to download result as tab separated file
* '''Revision 16363''' (Modified on 2025-02-05): ...
* '''Revision 16362''' (Modified on 2025-02-05): ...
* '''Revision 16361''' (Modified on 2025-02-05): Changes to paging buttons of paged tables - number of hits moved and better info of which page you are at
* '''Revision 16350''' (Modified on 2025-02-04): GrrenDot missed in wpf core project
* '''Revision 16349''' (Modified on 2025-02-03): CollectCheckSumData of StateMachine regions did not sort the states within the region leaving a possibility to have the server and client get different order - fixed
* '''Revision 16346''' (Modified on 2025-02-03): GreenDot for object reference consolidated to own control, allows drag to and drag from Better feedback in Debugger about current PersistenceMapper Issue with too wide subcolumns gave scrollbar solved
 
=== January 2025 ===
* '''Revision 16343''' (Modified on 2025-01-31): Fixing broken wiki links
* '''Revision 16340''' (Modified on 2025-01-31): Fixing broken wiki links
* '''Revision 16337''' (Modified on 2025-01-30): selfVM.Navigate(someclass.nullvalue,'SomeViewModel') would fail due to Navigate creating a temporary class action and we had a blanket rule to set enable false on class actions with nullroot. The sepcial case of selfVM.Navigate is now excepted to allow nav to unrooted screens
* '''Revision 16332''' (Modified on 2025-01-29): ...

Revision as of 05:00, 17 May 2025


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

May 2025

  • 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
  • Revision 16395 (Modified on 2025-02-18): Action sorting was done on ModelName and not Expanded Presentation (that often is modelname)
  • Revision 16393 (Modified on 2025-02-14): Sending along the name reporttemplate as infoonfail and reportname if the opendocumentreportshow fails - more context for error understanding
  • Revision 16382 (Modified on 2025-02-12): Better logging in JsonToObjects RightJust of page size picker in Seekers, angular and blazor Designer issue with combo for MountedViewModel not always updating; fixed
  • Revision 16381 (Modified on 2025-02-11): Strange javascript hook removed to set 'tk-data-table__content--min-height' on PC Tables, this is now set statically in code: MaybeSetMinHeightClass - read reasons there ... issues with heights on tables CSSGrid vs PlacingContainers
  • Revision 16380 (Modified on 2025-02-11): Clipbook should be clipboard - changed where ever displayed In Web grids the multiselect column is now decorated with multiselectcol class in both angular and Blazor - and this is used to avoid the multiselectcol in cellselect clips to clipboard Cellselect in AngularJS on rows with contextmenu - the mouse select could select the extra cell for the contextmenu and that was annoying and ugly - fixed
  • Revision 16378 (Modified on 2025-02-11): New settings on SysMDrivenMiscSettings; GlobalSeekerGridShowImportOnlyONTV: Boolean , if set the TV GlobalSeekerGridShowImport must be true on seekers in order to show "Import from clipbook" GlobalSeekerGridExportFileMaxRows:Integer , controls how many rows that maximum will be in the export file
  • Revision 16376 (Modified on 2025-02-10): SysGraphAPI.UpdateContentDriveIdAndId addded to allow of update of document content
  • Revision 16375 (Modified on 2025-02-08): SeekerGrid has been given a "more" menu that has 2 options "Import from clipbook" and "Export as file" "Import from clipbook" acts as the old ExcelPlugin-function; it uses first column to search, tries to write other columns, can use action CreateNew for adding rows "Export as file" ignores page size and try to get all objects (up to 50K) and downloads them as a tab separated txt file
  • Revision 16369 (Modified on 2025-02-06): Issue in compare checksum; NetFramework compiled MDrivenServer returns an escaped string, but .netCore compiled MDrivenServer does not - homogenised to handle both Yet an issue with checksum for state machines differences between NetFramework compiled vs .netCore compiled, this time the named transitions came in different order, now we sort them. This may be a breaking change - needing a model push
  • Revision 16368 (Modified on 2025-02-06): Turnkey; ExportTabSepController added to support new functions on seeker tables , to download result as tab separated file
  • Revision 16363 (Modified on 2025-02-05): ...
  • Revision 16362 (Modified on 2025-02-05): ...
  • Revision 16361 (Modified on 2025-02-05): Changes to paging buttons of paged tables - number of hits moved and better info of which page you are at
  • Revision 16350 (Modified on 2025-02-04): GrrenDot missed in wpf core project
  • Revision 16349 (Modified on 2025-02-03): CollectCheckSumData of StateMachine regions did not sort the states within the region leaving a possibility to have the server and client get different order - fixed
  • Revision 16346 (Modified on 2025-02-03): GreenDot for object reference consolidated to own control, allows drag to and drag from Better feedback in Debugger about current PersistenceMapper Issue with too wide subcolumns gave scrollbar solved

January 2025

  • Revision 16343 (Modified on 2025-01-31): Fixing broken wiki links
  • Revision 16340 (Modified on 2025-01-31): Fixing broken wiki links
  • Revision 16337 (Modified on 2025-01-30): selfVM.Navigate(someclass.nullvalue,'SomeViewModel') would fail due to Navigate creating a temporary class action and we had a blanket rule to set enable false on class actions with nullroot. The sepcial case of selfVM.Navigate is now excepted to allow nav to unrooted screens
  • Revision 16332 (Modified on 2025-01-29): ...
MDriven Chat

How would you like to chat today?

Setting up your conversation…

This may take a few moments