Fix issue where the model sometimes did not terminate when the log file was hidden.
Some internal database changes for MIRO Server.
The database layout that MIRO uses internally has been changed significantly. At the first start MIRO checks if there is an existing MIRO database and tries to migrate this database automatically to the new layout. A backup of the old database is kept in case something goes wrong. Some data can not be migrated automatically. The first time you start your MIRO app, you will be prompted with a migration dialog if some data needs to be migrated manually. Sliders that have been expanded in Hypercube Mode job configurations cannot be migrated!
An error is now issued if the MIRO app name (filename of the main .gms file) is longer than 60 characters.
Apps that use the (previously undocumented) dropdown columns feature in input tables must be redeployed.
The API for custom input widgets has been updated. Data is now passed in the form of reactive expressions instead of tibbles. The old API version is still the default for backward compatibility. However, you will now receive a deprecation warning if you are not using the new API version. The old API will be removed in a future MIRO release.
Custom renderers can now be edited with a live preview via the Configuration Mode. This should increase productivity when developing custom renderers. Your existing renderers will still work, but will not be recognized by this new editor. To learn how to migrate them to be compatible with the new editor, see here.
Scenarios in Base Mode can now be queried, loaded and exported via the new Batch Load module that was previously only available in Hypercube Mode.
Minor new features and improvements
Migrating database tables is now significantly more powerful thanks to the new Migration Wizard.
The button for selecting the Comparison Mode now shows the currently active mode.
Reading symbol names from the Excel layout sheet is now case-insensitive.
When writing sets/parameters with duplicate records to GDX file, an error is now issued instead of silently ignoring the duplicates.
MIRO Pivot Tables: Scalar tables are no longer treated as sets (Scalar Value column is treated as set text column). Instead, scalar values are converted to floating point values. Note that values of singleton sets that cannot be converted to a floating point value become NA.
MIRO scenarios can now be imported and exported as MIROSCEN files. In contrast to other supported data files like GDX or Excel, a MIROSCEN file contains all scenario metadata like views and attachments.
MIRO now supports importing Excel (xls/xlsx) files with an index sheet. The syntax is very similar to GDXXRW. Read here for more details.
MIRO now supports delimited text files other than CSV. Currently supported delimiters are: ,tab;|:. MIRO tries to detect the delimiter automatically and resorts to manual selection if it cannot uniquely determine the delimiter. In addition, MIRO supports the selection of a user-defined mapping of column headings from the delimited text file to symbol headings.
When comparing base scenarios in Hypercube Mode, they now get the names assigned to them in Base Mode.
When comparing scenarios generated in Hypercube Mode, they now get the names: HC (1), HC (2) etc.
Add a dropdown button to select between Tab and Pivot comparison modes when comparing scenarios in Hypercube Mode.
When exporting spreadsheets, MIRO now attaches an index sheet with the layout of the exported data.
In a custom renderer, the values of all output scalars can now be accessed via the argument outputScalarsFull.
It is now possible to pivot columns in output tables as well.
Show "More..." tab only if there are at least 2 tabs in this group.
An empty textinput widget for a scalar GAMS symbol is now always communicated as empty string.
An empty numeric input widget is now always communicated with its default value. A placeholder is displayed if no value has been set.
Custom aliases for GAMS symbols as well as symbol domains are now automatically removed when the Configuration Mode is started and the symbols for these custom aliases are no longer part of the data contract.
Results of Hypercube jobs solved on GAMS Engine are now deleted after download.
Add new example app: Cutting Stock Problem.
Fix issue where views of a scenario were not loaded in tab/split comparison mode.
Fix memory leak with views opened in tab/split comparison mode.
Fix issue where the y2 (right) axis of a time series diagram was not visible when using the group domain option.
Fix rare case where a confusing error message appeared in the log after solving the model.
MIRO Pivot: Fix issue where only "count" was selectable as aggregation function for variables and equations.
Fix incorrect switch to pivot view when comparing scenarios in Hypercube Mode and the current mode is split view. Now switches to tab view correctly.
Fix issue with solving Hypercube jobs with attachments.
Fix issue with solving Hypercube jobs with the clearValue option.
The pivot comparison mode is now better integrated into the Hypercube Mode.
Fix issue when importing/exporting slider and dropdown data from Hypercube job configurations.
Fix import of a single scalar from CSV file.
Fix issue where a numeric input widget would send wrong values in certain situations.
Configuration Mode: When adding a new input widget group, the group name was not added to the list of input tabs used to set the tab order.
Fix issue in Configuration Mode where the wrong widgets ended up in a widget group in certain situations.
Date and date range widgets without selected date return an empty string now instead of NA.
Fix checkbox return value to be 1/0 instead of TRUE/FALSE in Hypercube Mode.
Fix job status and import of Hypercube jobs when using GAMS Engine in Hypercube Mode.
Fix issue where submitting a Hypercube job caused an error when having configured slider that is not expanded in Hypercube Mode.
Fix issue where numericinput would send wrong values in certain situatios.
Fix issue where custom R packages were reinstalled every time MIRO was restarted.
Fix issue where setting custom MIRO app/log paths did not work.
Fix issue where scrollbar was not visible in MIRO library on Windows.
Fix issue on macOS that caused an error when trying to deploy apps in both modes.
GAMS MIRO 1.2
GAMS MIRO 1.2.3
Fix issue with arrays (e.g. y-data in a bar chart) in Configuration Mode sometimes not expanding.
Fix regression introduced with MIRO 1.2: In Hypercube Mode, scenarios loaded in the Tab View would not appear in the "Local" tab in the Split View.
Fix issue in Pivot Compare mode where domains were displayed as "NA" in the scalar input table in certain situations.
Improve validation of Engine URL.
GAMS MIRO 1.2.2
Fix issue with views whose names are longer than 54 characters.
Fix issue with scenario comparison when scalars table and widgets are in separate input groups.
Fix issue where dialogs for adding/renaming columns in standard input tables did not work in the integrated browser.
MIRO Pivot: Improve layout if there are many views (> 15).
Fix a race condition that could cause stale input data to be sent to custom renderer functions.
Fix issue when column in default input table was both pivoted and declared as readonly.
Fix issue with input widgets being part of input groups.
Fix a rare case where scalars were not imported when importing data from local files.
Force the Tab Comparison Mode the default comparison mode in Hypercube Mode because the scenarios selected for comparison will be loaded in this mode (this overwrites the defCompMode setting).
Fix issue where downloading attachments did not work properly in certain situations.
GAMS MIRO 1.2.1
Add option to configure a custom icon for a valuebox by adding a new choice to the dropdown menu.
Improve readability of symbol configuration in Configuration Mode.
Fix issue where import of data from GDX for a dropdown with clearValue option set to TRUE did not work.
Fix issues with remote execution on GAMS Engine and uppercase letters in main GMS file.
Fix issue in Configuration Mode (valuebox configuration) where the user gets an error when clicking on save twice.
When removing database tables, show only one dialog instead of two.
Fix issue in the MIRO Pivot renderer where filter dropdown would be irresponsive after loading view with unknown filters.
Fix issue in the MIRO Pivot renderer where table/charts would be rendered more often than necessary.
MIRO Pivot renderer: Change the settings of bar charts so that they always start at 0, and of line charts so that they have no interpolation.
Fix issue that caused MIRO to crash when loading app with default scalars table on first tab.
Fix issue that caused multiple symbols in custom renderers not to work properly.
Fix issue that caused path to custom renderer function not to be passed correctly.
Fix issue in Configuration Mode that caused MIRO to crash in some situations when resetting a table configuration for a symbol.
Fix issue in Configuration Mode that caused label of tables not to be applied in certain situations.
Numbers in default input tables with pivoted columns are now formatted correctly.
Additional packages in custom renderers are now installed in the MIRO workspace. These packages are no longer attached because this could lead to conflicts with packages required by MIRO. Read here for more details.
Handsontables (default input tables) can now be searched. Matching results are highlighted and the viewport is changed to show the first result. You can move to the next result by pressing Enter and move to the previous result by pressing Shift + Enter.
Remove unnecessary options for global input table settings in Configuration Mode.
The filters in the MIRO pivot renderer now remain expanded even after selecting a new element.
Improve accessibility of MIRO apps.
Development mode: New data is now only imported if the file has changed since the last start of MIRO.
Value boxes can now be configured individually for each scalar value.
Live preview of the graphics configuration can now be viewed in full screen.
Fix major issue that could result in wrong input data being stored after solving a model.
Improve support of non-ASCII characters in file paths on Windows.
In Configuration Mode, allow symbols with multiple header aliases of the same name to be saved.
Fix issue where stale data would be displayed when loading scenario while an input chart of the previous scenario was still open.
Fix issue where wrong files could be deleted when a scenario was removed from the sandbox.
Fix issue with downloading results after solving a job asynchronously.
Fix issue that occurred when several asynchronously solved scenarios were downloaded one after the other and then imported into the sandbox.
Fix issue that occurred when trying to display logs of two different asynchronously solved scenarios one after the other.
Fix issue where removing and then adding attachments again would cause an unexpected error.
Fix bug on Windows with local attachments.
Fix issue where multiple flows could not be displayed on one map - only the last flow was visible.
GAMS MIRO 1.1
GAMS MIRO 1.1.3
Add C:\GAMS\XX to the list of paths searched under Windows to find GAMS versions >=32 installed in the default location.
Fix issue where discarding attachments when saving a scenario would not work properly if an existing scenario had to be overwritten.
Fix issue where having GAMS not in the PATH on Windows would result in an error message in the log.
Fix issue where non-zero exit code was not redirected to the parent process when deploying a MIRO application.
Fix issue where apps deployed as single-user could not be imported to the library.
Fix issue with Studio always showing success message when deploying a MIRO app, even when there were problems.
GAMS MIRO 1.1.2
Fix bug where no groups specified in map configuration would lead to crash on next startup of Configuration Mode.
Fix set configuration: Only show those tools that can be configured with with a set
Fix bugs in Configuration mode with animation options.
Fix bug that caused a line chart configuration to not be recognized as such in some situations when using a GAMS table symbol.
Fix bug that caused empty xaxis title to be overwritten on next startup of Configuration Mode.
Fix bug that caused slider range preview to fail when configuring a dynamic limit.
Fix bug that caused configured checkbox starting value to be overwritten on next start of Configuration Mode.
Fix bug in date & date range selector configuration that caused startview and weekstart option to be overwritten on next start of Configuration Mode.
Fix bug in the configuration schema of the texinput widget that caused an error when configuring an empty starting value or placeholder.
GAMS MIRO 1.1.1
Fixed an issue where numericinput would send wrong values in certain situations
New pivot table renderer: An all new pivot table renderer can now be selected for input and/or output charts. This renderer is designed for large datasets (> 1 million elements) and will replace the old pivot table renderer. The old renderer is still going to work, but you can not configure it via the Configuration Mode any longer. In a future release, we might deprecate this old pivot table renderer, so please migrate to the new one!
This new renderer is the default renderer for input and output symbols. This will make the default configuration of MIRO even more powerful!
Configuration Mode: Graphics configuration now loaded at next start.
Two GAMS symbols can now be displayed in the same tab (side by side) when grouped.
Add option to specify files that should be attached to a scenario after a GAMS run executes successfully. This allows you to add additional data to the data displayed in the user interface and add states to your scenarios to implement processes. You can find further information
Add option to include TeX notation in README files via the enableMath switch. Wrap your TeX formulas in $ tags for inline rendering or between $$ for rendering as a formula block. Find more information about this feature here.
Tabs for output symbols can now be hidden. This can be useful, for example, if you include a GAMS symbol in MIRO only for the purpose of using its data together with another symbol in a custom renderer (see above).
Symbol metadata (symtype and headers) are now passed to the custom renderer/custom widget via the options list. The nested list can be accessed via the key options[["_metadata_"]].
The MIRO log can now be used as an alternative to the GAMS log. This means that it will update while the model is running.
Add option to define the decimal separator character and the thousand groups separator character for numeric inputs.
Add caching for deployed apps which drastically increases their startup performance.
Increase startup performance for the Configuration Mode.
R is now bundled with MIRO on MacOS.
Data is now imported when a new MIRO application is added to the library instead of at the first start of the application.
When a new MIRO application is added to the library, the database tables are now checked for consistency.
Add option to remove database tables when removing a MIRO application from the library.
Fix issue with validating GAMS on Linux.
Configuration Mode: Fixed a bug that caused adding a script with an already existing id not to be validated properly in certain situations.
Configuration Mode: Fixed a bug where an incorrect widget configuration was displayed for symbols with a JSON configuration that is not (yet) supported by Configuration Mode.
Orphaned tables were not found when model name includes underscores.
An error that should only occur if the list/log file exceeds a certain file size was incorrectly displayed when starting a new GAMS run.
Model names that included an underscore "_" caused MIRO to throw an exception when downloading scenario data in Hyperube Mode.
Did not properly set idir when running Hypercube jobs locally (currently, model has to be adjusted to work with idir).
Fix bug that caused Hypercube to crash when configuring a dropdown menu that is not expanded in Hypercube Mode.
Fix bug that caused Hypercube job to fail when a multi dropdown menu is empty.
Fix bug that caused wrong value to be written to GDX when having an empty multi-dropown menu (no elements selected)
Fix bug that caused datatables without numeric columns to throw an error (e.g. for sets)
Fix bug where attachments with execute permissions were not extracted in workdir with SQLite database backend (default on MIRO Desktop)
Fix bug that caused empty sets not to show up in GDX and therefore to throw an error on the GAMS side.
Fix problem with Safari browser where marked text in the GAMS interaction section was unreadable.
GAMS MIRO 1.0
GAMS MIRO 1.0.3
macOS: Fixed a bug that caused GAMS versions >= 31.x to be rejected.
Fixed a bug that caused csv files with filename equal to the dataset name not being imported. The dataset had to be selected manually.
GAMS MIRO 1.0.2
Fixed bug in Configuration Mode that caused custom table headers to be reverted to their defaults the next time Configuration Mode was started.
Fixed a bug in Configuration Mode that caused custom scripts arguments not to be displayed correctly at the next start.
GAMS MIRO 1.0.1
Fixed bug that caused MIRO apps with same version as currently installed to be falsely rejected by library.
New deployment environment for configured MIRO applications. You can find more information about this
here. The --mkapp=1 option (shortcut creation) is no longer supported.
MIRO now comes as an independent installer on the platforms Windows, macOS and Linux.
The installation is independent from the GAMS system. All GAMS versions 30.2 or later support GAMS MIRO.
[MIRO:table] syntax for pivoting a table column in MIRO is no longer supported.
Instead, a symbol can now simply be declared as a table. Read more here.
Added ability to pivot tables in MIRO via the Configuration Mode.
Unlike the table statement in the GAMS model itself, this option does
not affect the data contract between GAMS and MIRO resulting in variable columns.
The MIRO user interface can be seen as a sandbox. Data that is loaded into the interface is therefore
located in this sandbox as a sandbox scenario. The data of the sandbox scenario can come from the MIRO database, external databases, GDX containers, excel files, or can be entered manually.
File attachments are part of a scenario. If attachments are added to a sandbox scenario,
they are included when saving this scenario.
Sandbox scenarios can be loaded in scenario comparison via load active button.
Added filter option for graphs: One dimension of a symbol visualized as a graphic can be configured as a
filter dimension. Its elements can then be selected via a (multi-)drop-down menu. Only the data
belonging to this selection is displayed in the graphic.
Element text of singleton sets can now be appended with a double pipe ("||") and will be
aggregated/disaggregated when loaded/stored from GDX.
The value and/or the element text of a singleton Set can be used in the
eval.Set option to
evaluate the value/text at compile time and place it into a scoped compile-time variable.
This is useful any information about double-dash parameters and GAMS options configured via
Configuration Mode gets lost when exporting a scenario as a GDX file. Read more
Changed prefix for double-dash parameters and GAMS options from GMSPAR_ / GMSOPT_to _gmspar_ / _gmsopt_.
Double-dash parameters and GAMS options can now have the same name as GAMS symbols.
Maximum number of symbol tabs visible in Inpupt/Output section set to 5 (rest available via dropdown).
Bootstrap dropdown menus are now right aligned per default. They will be left-aligned when space
on left is not sufficient.
"More" dropdown menu (visible when more than 5 input or output tabs are shown in MIRO) will now show currently active tab.
First two columns (symbol name and symbol text) of scalar input table are now automatically set
Import data via spreadsheet: Added possibility to use a sheet dedicated to a single scalar with the sheet name being the name of the scalar and its value being in column A1.
When importing scenarios from data_<modelname> folder, these scenarios can now be read and executed by all users within the same user group as the user importing them. Before, only the user importing them could read and execute them.
Adding/removing rows is now no longer allowed when at least one column is readonly.
Variables and equations can now be exported via GDX.
Bar chart, Line chart, Scatter, plot, Bubble chart: Order logic of axis elements can now be adjusted.
Map: Markers can now be customized (icon, icon color, marker color).
Added option to set a fixed height and/or width for pie chart, donut chart, bar chart, histogram, scatter plot, line chart, bubble chart.
Added option to render a static picture instead of an interactive plot for pie chart, donut chart, bar chart, histogram, scatter plot, line chart, bubble chart.
Added option to set the axis scale ratio for line chart, scatter plot, bubble chart.
Added option 'area' and 'diameter' for bubble chart size measurement
Valuebox: Number of boxes in a row can now be customized.
Added option to configure number of decimal places for numericInput
Removed remote Execution setting from Configuration Mode. Moved to preferences that are accessible via the MIRO library.
GAMS MIRO 0.6
MIRO Configuration Mode: The GAMS MIRO Configuration Mode can be used to change the settings of your
MIRO app as well as to generate new widgets and charts. When configuring your widgets and charts, you
get a live preview so that you immediately see the results of your configuration. You don't need to
touch JSON code anymore.
New data import mechanism: Instead of creating an Excel file that the user then has to upload in
order to get the first data into MIRO, data relevant to MIRO is automatically extracted from your
model and stored in the MIRO database.
Tab grouping: Group multiple input tabs and output tabs together.
Automated loading of data on startup: Automatically load data when your MIRO app launches,
so tables won’t start out empty.
Automated scenario import into DB: GDX files that you place in the data_<modelname> folder
of your MIRO app will be automatically imported into the MIRO database the next time you launch your app.
Improved UTF-8 support: You can now use non-ASCII characters throughout MIRO
Chinese language support (note that the MIRO Configuration Mode is not yet translated, though).
Import and export of GDX files: Besides Excel spreadsheets you can now also import and export