MIRO Server: Fix issue that caused MIRO to hang in
certain situations when adding new MIRO applications.
Migration Wizard: Fix issue that caused database migration to fail in
Fix out-of-bounds error when reading from Excel sheets.
Fix issue with empty default input tables.
GAMS MIRO 2.1.2
Fix issue importing data from Excel with multiple
rdim AND cdim.
Fix unnecessary warning when importing data from empty
Fix issue where existing attachments were removed when
the maximum number of attachments was exceeded.
Custom scripts are now automatically included when the
MIRO app is deployed and no longer need to be manually
added to the model assembly file.
Linux: Fix issue opening MIRO in default browser.
Linux: Fix issue displaying charts in MIRO Pivot.
Fix issue where the MIRO Pivot table was not updated
after editing in large input tables was enabled.
GAMS MIRO 2.1.1
Empty rows in default input tables are now ignored.
Fix issue where reading data with 0 records from Excel
would not work in certain situations.
Fix issue with default input tables that caused old data
to be communicated in certain situations.
Fix issue with migrating old database schemas to MIRO
2.0 when database contains Hypercube scalars.
Fix issue where incorrect filter elements were displayed
in MIRO Pivot
in certain situations.
MIRO Server: Fix issue where collapsed navigation bar
would not open on mobile devices.
The Hypercube Mode is
deprecated and will be removed in a future version of
GAMS MIRO. You can now
submit Hypercube jobs
from the Base Mode if you are using GAMS MIRO with a
backend (GAMS MIRO Server or
GAMS MIRO Desktop - boosted by GAMS Engine).
Hypercube jobs can now be
submitted and imported from the Base Mode if MIRO is
Minor new features and improvements
MIRO Pivot Tables: When adding new views for bar charts, stacked bar
charts, line charts and radar charts, you now have the
option to assign custom colors to the different series.
When downloading scenarios via the
Batch Load module, you can now select the file format from a drop-down
menu rather than via a new dialog.
When adding a MIRO app to the library that requires
additional R packages from CRAN, the user is now
prompted before these packages are installed.
When logging into
and using a registered model, MIRO now also checks if
the model exists in the namespace to provide a more
informative error message.
MIRO Server: Users who do not have permissions in the
Engine namespace associated with MIRO Server are now
authenticated when they can see some models. Users who
do not have permissions in the namespace can see a model
if they can see a group that is associated with a model
in the namespace. Assigning models to groups is
supported in Engine version 21.09.14 and later.
Aliases for widgets are removed from Configuration Mode.
The symbol aliases defined in the
General settings section are used instead.
Scenarios loaded from the
Batch Load module
into the comparison modes can now be named based on one
or more columns of the Batch Load table.
Importing Excel files is now significantly faster when
there are many symbols on a worksheet.
Fix several issues with MIRO apps without external input
Fix issues with configuring
MIRO Pivot Tables
in Configuration Mode: configuration was reset if a
different aggregation function was specified and
aggregation functions were not complete in certain
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
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
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
The button for selecting the Comparison Mode now shows
the currently active mode.
Reading symbol names from the Excel layout sheet is now
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
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
When exporting spreadsheets, MIRO now attaches an
with the layout of the exported data.
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
Show "More..." tab only if there are at least 2 tabs in
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
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
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
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
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
Fix issue where custom R packages were reinstalled every
time MIRO was restarted.
Fix issue where setting custom MIRO app/log paths did
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
Improve validation of Engine URL.
GAMS MIRO 1.2.2
Fix issue with views whose names are longer than 54
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
MIRO Pivot: Improve layout if there are many views (>
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
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
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
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
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
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
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
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
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
GAMS MIRO 1.1.2
Fix bug where no groups specified in map configuration
would lead to crash on next startup of Configuration
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
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
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
Two GAMS symbols can now be displayed in the same tab
(side by side) when
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
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
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
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
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
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
Orphaned tables were not found when model name includes
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
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
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
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
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
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.
Added ability to
in MIRO via the Configuration Mode. Unlike the
in the GAMS model itself, this option does not affect
the data contract between GAMS and MIRO resulting in
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
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
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
"More" dropdown menu (visible when more than 5 input or
output tabs are shown in MIRO) will now show currently
First two columns (symbol name and symbol text) of
scalar input table are now automatically set to
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,
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
Added option to set the axis scale ratio for line
chart, scatter plot, bubble chart.
Added option 'area' and 'diameter' for bubble chart
Valuebox: Number of boxes in a row can now be
Added option to configure number of decimal places for
Removed remote Execution setting from Configuration
Mode. Moved to
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
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
Automated loading of data on startup: Automatically load
data when your MIRO app launches, so tables won’t start
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 GDX