diff --git a/CHANGELOG.md b/CHANGELOG.md index 4e6d4f5..492f568 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,10 @@ GitHub Release. Entries before this file existed were reconstructed from those release tags. +## [1.39.0] — 2026-10-16 + +Renaming a function element of a service interface now also renames the function in System Composer's list of the interface's functions, in a JSON dictionary and in a binary dictionary alike. The dictionary records the function twice, as the function element the table shows and in that list, and only the first was renamed. Before, renaming `f`, with Prototype `y = f(u)`, to `compute` changed the function element to `compute` and `y = compute(u)`, but System Composer's list still said `f` and `y = f(u)`, so the saved file disagreed with itself about the function's name. MATLAB opened such a file without a warning, but the first read of the interface's functions after `systemcomposer.openDictionary` still named `f`, and reading their arguments gave the error `Invalid or deleted object`; only a second read named `compute`. Now both are renamed together, also when the interface was renamed first and when a function renamed in this version is renamed again, and after the rename the first read names `compute`. Undo restores both, in one step. As before, a rename whose Prototype cannot follow is refused, with a message saying why, and changes nothing. A dictionary saved this way by an earlier version keeps the old name in System Composer's list, and renaming the function again does not change it; to repair one, rename the function back to its old name and then to the new one. This version ships `data-explorer-core` 1.39.0. + ## [1.38.0] — 2026-10-16 Enumeration values show their value and their size. In a JSON dictionary, `on` and `off` looked the same, both `<1x1 matlab.lang.OnOffSwitchState>`, and a vector of them showed as 1x1; they now show `on`, `off` and `<1x3 matlab.lang.OnOffSwitchState>`, with a row for each element. A JSON dictionary stores only an enumeration's number, so a value whose enumeration the same dictionary defines shows its name, such as `Color.Red`, and any other shows its number, such as `Color(1)`; before, a single value and a vector alike showed `<1x1 Color>`. In a `.mat` file, enumeration values show their names and sizes, such as `Color.Red` or `<1x2 Color>` with a row for each element, where every one showed `<1x1 …>`, and a Simulink.Parameter whose Value is an enumeration shows that value, such as `Color.Green`, instead of a struct with fields such as `EnumerationInstanceTag` and `ValueNames`. In a binary dictionary, an `OnOffSwitchState` value shows `on` or `off` and its size, where it showed `<1x1 matlab.lang.OnOffSwitchState>`. Copying an `OnOffSwitchState` value from a `.mat` file or a binary dictionary into a binary dictionary now carries its value, where it carried `0`; it is written in a form no MATLAB-written dictionary uses, and not yet checked in MATLAB. In every file type, `fi`, `categorical` and `table` values show their real size, such as `<1x3 embedded.fi>`, `<1x2 categorical>` and `<2x2 table>`, where all three showed 1x1. diff --git a/package-lock.json b/package-lock.json index b4a9ce5..48ab800 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "simulink-data-explorer", - "version": "1.38.0", + "version": "1.39.0", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "simulink-data-explorer", - "version": "1.38.0", + "version": "1.39.0", "license": "BSD-3-Clause", "dependencies": { "@lit/context": "^1.1.6", diff --git a/package.json b/package.json index ce4c393..dfe4596 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "simulink-data-explorer", "displayName": "Simulink Data Explorer", "description": "Explore Simulink models, data dictionaries, MAT-files, and projects as interactive tables and relationship trees.", - "version": "1.38.0", + "version": "1.39.0", "publisher": "mathworks", "icon": "media/icon.png", "private": true,