Xpress Insight 5 Release Notes
New in Insight 5.12.0
- Python interface
- New package xpressinsight.scenario for accessing Insight REST API from Python scripts
- Mosel interface
- mminsightscenario package enhancements
- New function ins~isscenexec for checking if scenario is queued for execution
- New functions ins~getitembypath, ins~getscenbypath, ins~getfolderbypath for looking up repository items by path
- ins~updatescendata can be passed a flag to promote a scenario from the UNLOADED state to LOADED.
- mminsightscenario package enhancements
- VDL
- Introduced a new VDL action called `vdl-action-shelf-modify` which can be used to modify or replace the scenario selection on the Shelf.
- Added a new message level, “warning” to `vdl-action-message`.
- Tableau
- Insight has added support for Tableau server 2024.2
- Licensing
- When installing Insight onto an OS that has had a previous version of Insight installed with a different type of license to the one currently being installed, it has become necessary to remove the existing data first.
Fixed in Insight 5.12.0
- Python interface
- Resolved an issue using insight.get_scenario_data or insight.populate to read a large amount of data when running on Windows.
- Resolved an issue passing multiple tag names to `AppInterface.set_scen_attach_tags`
- VDL
- Resolved an issue where a paginated `vdl-datagrid` was not switching to the newly created row when using the add row `autoinc` feature.
- Web client
- Resolved an issue where the last line of an attachment in the text editor was unusable due to a horizontal scroll bar appearing over the last line in some cases.
- Mirroring
- Resolved an issue where concurrent mirror operations could fail under certain circumstances, when continuously adding scenarios to the shelf.
- Repository downgrade protection
- Fixed an issue where the repository downgrade protection was not working as intended for the released version.
Fixed in Insight 5.11.3
- A missing index set error during model execution has been resolved.
Fixed in Insight 5.11.2
- On DMP, an issue preventing FICO Drive from loading has been resolved.
Fixed in Insight 5.11.1
- A possible unexpected error during the model execution completing stage has been resolved.
New in Insight 5.11.0
- Execution resource groups and memory-based scheduling
- New annotation to allow the definition of execution resource groups, which allow an app developer. to declare the threads and memory requirements of related execution modes.
- Insight administrators can define the memory capacity of workers and service mappings.
- Insight scheduler uses the memory capacity of a worker and service mapping, along with the memory requirements of an execution mode, to schedule jobs to the appropriate worker.
- Insight administrators can override the resources assigned to an execution resource group.
- Models can read the resources available to them at run time.
- Tableau/BI integration
- Tableau health check page shows the status of all visualization enabled apps and their workbooks.
- Lightweight execution modes
- New functions and annotations in Python and Mosel modules to populate and capture a partial set of model entities for scenario execution. This improves performance visibly when scenario data is large and an execution mode only operates on a small subset.
- Python interface
- Model can obtain the user ID of the job owner via
insight.user_id
. insight.get_resource_limits()
function returns the threads and memory available to the model.- New
AppConfig.partial_populate
flag to disable automatic population of input entities at start of execution mode. - New
insight.populate()
function to specify a subset of input entities to populate. - Added new
insight.capture()
function to specify a subset of result entities to capture at end of execution mode. - Changes to test mode:
- Default attachment size limit has been increased to 300 MB, to match production.
- Model can obtain the user ID of the job owner via
- Mosel interface
- Model can obtain the user ID of the job owner via
insightgetuserid
. insightgetresourcelimits
returns the threads and memory available to the model.insightpopulate
can now be passed an optional list of the names of input entities to populate.- New
insightcapture()
function to specify a subset of input entities to capture at the end of the model. - Changes to test mode:
- Default attachment size limit has been increased to 300 MB, to match production.
insightsetcbpopulate
now supports being passed a function pointer.insightgetschema
returns a schema derived from the local model's declarations.
- Model can obtain the user ID of the job owner via
- VDL
- Added Execution Resource Group to the Execution Status object in VDL expressions (for example,
scenario.executionStatus.executionResourceGroup.name
). - Updated VDL Chart to use the Plotly 2 Cartesian library. This introduces more chart types if you use a vdl-chart[modifier] attribute to configure the Plotly chart.
- Upgraded to Tabulator 6.2.
- Added Execution Resource Group to the Execution Status object in VDL expressions (for example,
- JS API
- Added ability to get a list of execution resource groups from the app with
App.getExecutionResourceGroups()
. - Added the ability to get the assigned execution resource group from an
ExecutionStatus
object withExecutionStatus.getExecutionResourceGroup().
- Added ability to get a list of execution resource groups from the app with
- Model resources
- Model resources are cached on a worker after it has run a job.
- Subsequent jobs on the same worker use the locally cached model resources, if they are present.
- Repository downgrade protection
- There is now a mechanism in place that protects against accidentally downgrading the repository version (for example, during installation upgrade or restoring a backup). This protection applies to both file system and database persistence.
- DMP launch page supports app promotion
- All lifecycle stages are shown on the Insight launch page, with a list of Insight apps for each lifecycle stage.
- You can select which apps are to be promoted from one lifecycle stage to the next.
Fixed in Insight 5.11.0
- Resolved a performance issue when reading a large number of entity data elements from the MySQL database.
- FICO Analytic Cloud
- Fixed an issue with Mosel models using R and
mmsheet
failing to execute with an error caused by mismatch of C++ library.
- Fixed an issue with Mosel models using R and
- Attachments
- Fixed an issue with the attachment upload dialog not showing file upload progress correctly.
Fixed in Insight 5.10.2
- FICO Analytic Cloud
- Fixed an issue with migrations from Insight 4 to Insight 5 timing out if the export from Insight 4 is very large.
- Fixed an issue with some cross-solution credentials failing to be accepted.
Fixed in Insight 5.10.1
- Resolved an issue where Insight can stop retrying Tableau operations under rare circumstances.
- Resolved a performance degradation when modifying entities through the UI or REST API for apps that have large BIM files and are using the file system store.
- VDL
- Fixed an issue with
vdl-datagrid
where it would fail to redraw the table after a remote data change when using a combination of datagrid-level and datagrid-column-level index filters.
- Fixed an issue with
New in Insight 5.10.0
- Support for Xpress 9.4.
- Java 17 now required.
- The Insight server and worker now require Java 17
- We recommend the latest version of Amazon Corretto 17.
- The minimum supported version is 17.0.8.
- Python interface
- The
xi.types.Column
class now supports anentity_name
attribute, allowing column entities to be given names that are not based on the name of the parent DataFrame. - Improved error messaging when Python cannot be started.
- Added Polars entity types
PolarsIndex
andPolarsDataFrame
. - Added support for Python 3.12.
- The old syntax for annotating entities (for example,
xi.Scalar
instead ofxi.types.Scalar
) cannot be used when running with Python 3.12.
- The old syntax for annotating entities (for example,
- The
- Lightweight model execution
- Introduced a new annotation to indicate an input entity modification outside of a scenario execution should not clear any result data.
- Annotation named
update_keep_result_data
in Python andinsight.update.keepresultdata
in Mosel.
- FICO Drive browser available via VDL custom views on platform.
- Introduced a new VDL action called
vdl-action-fico-drive-open
, which can be used to open the dialog and enable the management and selection of files and folders. - Any selected FICO Drive item has its metadata (including full path) returned as the value from the action.
- Introduced a new VDL action called
- VDL
- Upgraded VDL Table to use Datatables 1.13.11.
- Upgraded VDL Chart from Plotly 1 to Plotly 2.30.0. If you are using the VDL Chart modifier attribute to customize Chart configuration, this upgrade might have an impact on those Charts. Please check any VDL Charts that use modifiers after upgrading.
- As a result of delaying the VDL view-ready event until scenario properties are loaded, if you are building a
ScenarioObserver
from a view-ready callback or VDL action group, you must now call thestart()
method on theScenarioObserver
. Previously this would be implicitly called even within a view-ready callback.
Fixed in Insight 5.10.0
- Python interface
- Declaring an entity of type
real
now raises an error, where previously it was silently ignored. - Fixed an issue with the
get_attach_rules
function.
- Declaring an entity of type
- VDL
- Fixed an issue with JavaScript functions not being called with the correct VDL View Model (vm) argument when triggered from vdl-events.
- Fixed an issue where
scenario.props
was not populated until after theview-ready
VDL event. Scenario properties are now loaded beforeview-ready
is triggered. - Fixed an issue where
vdl-if
conditional attributes were not being evaluated before theview-ready
VDL event. - Fixed an issue with the height of newly added rows in Datagrid when all index columns are hidden.
Fixed in Insight 5.9.1
- Resolved an issue where a job fails to complete if it updates attachments that total over 310 MB in size.
- Resolved an issue where concurrent jobs accessing large amounts of inter-scenario data could cause job failure.
- Resolved a backward compatibility issue with the REST API when exporting apps on FICO Platform.
New in Insight 5.9.0
- Support for Red Hat Linux 9.
- Support for Tableau 2023.3.
- Support for Xpress 9.3.
- Python interface ehancements
- App entities can be initialized to their default values using the new initialize_entities function on the xi.AppBase class.
- Add support for calling app interface & other standard functions from multiple threads.
- The "attach_status" property now holds the status of the last attachment operation from the same thread.
- The internal work folder has been renamed from 'insight' to 'xpressinsight.'
- Python interface test mode changes:
- The execution mode work folder is now a sub-folder `work_dir` within the application folder.
- The `xpressinsight` work folder is now created as a sub-folder of the execution mode work folder.
- Decision Tree file attachments in .fsml or .fjdt format can now be edited using the Decision Tree Editor. This version of Insight incorporates version 7.5 of the Decision Tree Editor which includes copy/paste support.
- Import/export actions on FICO platform now feature a rich UI for browsing the FICO Drive (S3) folder structure and selecting a target file or location. The interface can also be used for housekeeping tasks such as renaming and deleting files and folders, and uploading or downloading additional files.
- The history of job executions is now available to download from the Admin area of the user interface, for users with the SYS_SERVER authority.
- VDL/JS API enhancements
- Multi-value vdl-field dropdowns can optionally display a Clear option which clears all selected values.
- VDL action vdl-action-table-export to export data in Excel format from one or more Datagrid, Treegrid or Pivot Table components.
- Field, Datagrid, Treegrid and Pivot Table components implement compact styling for <vdl-page class="compact">
- Datagrid, Treegrid and Pivot Table components now accept a tooltip renderer callback.
- vdl-chart removes the limit of 16 series. Charts use an updated palette.
- Datagrid column 'editable' attribute for entity-bound data now supports per cell editable state. The attribute accepts an expression which is evaluated for each cell.
- New vdl-button title attribute shows the built-in browser tooltip when a user hovers over the button.
- New vdl-pivottable attribute min-cell-width applies a minimum width to the generated data columns.
- Dropdown cell editors for vdl-datagrid and vdl-treegrid are now searchable.
- Added a new table-rendered event for vdl-datagrid, vdl-treegrid and vdl-pivottable when the table is initial rendered and when re-rendered due to configuration or data changes.
- Updated the selection-changed event from vdl-datagrid, vdl-treegrid and vdl-pivottable to pass the clicked cell to the event callback and a flag to state whether the row selection changed.
- Updated the selection-changed event from vdl-datagrid, vdl-treegrid and vdl-pivottable to pass the clicked cell to the event callback and a flag to state whether the row selection changed.
- Users without APP_ATTACHMENT_VIEW can execute a job which reads the contents of an app attachment. This change restores parity with version 4.x.
- A job that fails due to infrastructure, out of memory or some other condition, is only retried one time. If the second attempted execution is not successful, the job is marked as completed with errors. Previous versions would retry a job indefinitely.
- The Mosel command line interface is now on the default worker path so that a model can execute Mosel commands.
- On FICO Platform, the mamba solver is now used to solve the Conda environment for an app, for improved performance.
- On FICO Platform, this release includes further improvements to reduce the time to start executing a job.
Fixed in Insight 5.9.0
- Scenario entity data
- Resolved several issues that could occur when an integer-type set entity contains the largest or smallest possible integer value (in Mosel, defined as MAX_INT and -MAX_INT-1).
- Resolved an issue that could result in data corruption when extending an update-after-execution index set.
- Python interface
- Resolved issues in test mode when attachment filenames end`.properties`.
- Mosel interface
- Resolved an issue where the lastmodifieddate and lastmodifieduser attributes are empty on attachments returned by insightappattachinfo, insightscenattachinfo and related list functions.
- VDL/JS API
- Resolved an issue when using vdl-datagrid editor-type and editor-options or editor-option-set in combination.
- Resolved an issue where in some cases vdl-datagrid was not showing values when using datagrid-level vdl-index-filter(s).
- Resolved an issue with using expressions for the vdl-datagrid and vdl-table scenario attribute. In some cases, the table wouldn't be updated with the scenario data.
- Resolved an issue with vdl-datagrid select editors showing an HTML escape string when using editor-options-include-empty. They will now correctly show an empty item in the dropdown list.
- Resolved an issue with vdl-datagrid column filters where user keystrokes would sometimes not register if the datagrid was slow to render.
New in Insight 5.8.0
- Tableau can now be integrated into app views on the FICO Analytic cloud. Functionality matches that previously announced on premises in 5.4.0 and does not include cloud-based authoring at this time.
- Single Sign On support for SAML2 has been expanded to include managing authority grouping and app membership entitlements in the iDP.
- Python interface enhancements:
- Entity data of other scenarios can be fetched using the new
get_scenario_data
function. - When an execution mode raises an exception or calls
sys.exit
, Insight will now capture values from result and update-after-execution entities. - Pandas 2.1 is now supported.
- Entity data of other scenarios can be fetched using the new
- Mirror eviction related properties have been moved from the Insight server
application.properties
file to a new Mirror Configuration section of the Insight admin UI. Upon upgrade to 5.8, any customization of these properties will be migrated. - The Xpress Solver will default to the new global optimization algorithm when the app model supplies a nonlinear problem. The previous behaviour of running the SLP algorithm can be restored by setting the control
XPRS_NLPSOLVER
to 1. - Mosel interface test mode
- The developer-supplied clientid + secret will now be verified on calls to ins~login. Set the parameter
insightscenario_verifyonlogin
to 'false' to disable this.
- The developer-supplied clientid + secret will now be verified on calls to ins~login. Set the parameter
- FICO platform role to Insight authorities mappings have been updated. Insight 5.7 granted additional authorities (APP_NEW, APP_EDIT, APP_DELETE, DEVELOPER) to solution and component Configurers as well as Administrators. This has been changed in 5.8 to only add the additional authorities to component and solution admins.
- Apps can now be mapped with the Admin user interface to name spaced groups of environment variables defined in the worker property file.
- It is no longer necessary to explicitly include
debug.py
as a python app dependency in order to enable remote debugging of the scenario.
Fixed in Insight 5.8.0
- Several defects where the Rest API implementation diverged from the spec have been fixed. The spec is also now documented with alphabetical ordering.
- The REST API operation "upgradeApp" has been fixed. It previously erroneously suggested it was possible to supply the deprecated "validateModelName" property as a part of the body of the request. This was never the case, and the property is now correctly only part of the
AppUpgradeRequest
. Note that this API operation is deprecated, and it is suggested to use the operation "performUpgrade" instead. - Enums are no longer ordered alphabetically, but rather in the logical order the developer intended.
- Fixed some default values that were previously missing.
- Paging parameters incorrectly suggested special characters were allowed. This was never the case and has been removed.
- Some examples in the Swagger UI were missing required properties in the examples field.
- The REST API operation "upgradeApp" has been fixed. It previously erroneously suggested it was possible to supply the deprecated "validateModelName" property as a part of the body of the request. This was never the case, and the property is now correctly only part of the
- VDL 5
- Fixed an issue with VDL Datagrid when using Datagrid-level index filtering. It was not showing data from arrays that were not indexed by all filtered index sets.
- Fixed XSS issues with data being rendering in VDL Datagrid, TreeGrid, and PivotTable. Data displayed in headers and cells will be HTML escaped before being rendered and before being passed into custom cell or column renderers.
- VDL Datagrid columns showing numeric data will now treat missing array elements as zero values when column filtering. This is consistent with the display of such cells.
- Mosel interface
- Resolved an issue that caused multi-hour delays in calls from the
mminsightrestapi
/mminsightscenario
packages on a failure to authenticate with clientid + secret. - Resolved an issue causing the
scenariodata:
I/O driver to fail sometimes when the data size exceeded the configured spooling threshold (10Mb). - Resolved an issue where a failure during scenario execution could in some cases result in the scenario's attachments being deleted.
- Resolved an issue when using conda environments on the FICO Analytic Cloud in the design lifecycle where Insight would attempt to install
debugpy
even though Python was not in use.
- Resolved an issue that caused multi-hour delays in calls from the
New in Insight 5.7.0
Back to top- Community Edition
- Community Edition can be used for one year from date of release.
- Additional users and workers cannot be created in Community Edition.
- Fico Analytic Cloud
- Suport for Java within mosel and python apps on FICO Analytic cloud
- Using a declared dependency within the app's dynamic conda environment
- Support for R within mosel and python apps on FICO Analytic Cloud
- Using a declared dependency on r-base or r-essentials within the app's dynamic conda environment.
- Optionally, specify a dependency on r-env and add a DESCRIPTION mode resource to use packages from CRAM
- Import/Export of apps, folders, and scenarios via S3.
- Suport for Java within mosel and python apps on FICO Analytic cloud
- Updated the styling for all tables in Insight and VDL views.
- VDL 5
- Added new vdl-event "view-ready". This can be subscribed to by any component or element within a VDL view and is triggered when the VDL view has been loaded and components have been processed. It is only triggered on view ready, so any components that come into existence after the view is ready will not receive the event.
- New
vdl-chart-axis margin-autosize
andlabel-autorotate
attributes to control chart labels on the x-axis.margin-autosize
will cause the chart to take up as much room as necessary to fit the x-axis labels, and will switch on text wrapping.label-autorotate
will try and fit labels by rotating them rather than wrapping text. - Update vdl-chart to use Plotly 1.58.5.
- New VDL Action,
vdl-action-open-view
. This opens a specified view, navigating away from the current view. - New VDL Action,
vdl-action-scenario-manage
. This triggers the scenario manager to open the view. - New functionality for the
vdl-page
component, allowing it to be used as a Drawer container element in the view. When specifying<vdl-page type="drawer">
the contents of the page component will be hidden until triggered to open. When opening it will slide open from the right of the view to reveal the contents. - New VDL Action,
vdl-action-drawer
. This action opens and closesvdl-page
drawers. - Added a new attribute,
cell-render
, forvdl-datagrid
,vdl-treegrid
, andvdl-pivottable
. This can be used to apply custom display formatting to any data cells in the table. - Updated the
column-definition
attribute forvdl-datagrid
andvdl-treegrid
, when using custom data, to accept theeditable
andeditorOptions
properties. These can be used to conditionally enable editing per cell in the defined column.editorOptions
provides a list of dropdown options if needed. When a user edits a cell thevdl-event cell-edit
is triggered and can be listened for on thevdl-datagrid
orvdl-treegrid
components to capture information about the edit made. - Updated the
column-definition
attribute forvdl-datagrid
andvdl-treegrid
, when using custom data, to accept theeditorValidate
property with a callback to apply custom validation to cells when they are rendered and edited.
- Mosel interface
- The 'dmp', 's3', and 'executor' modules can be used to access other resources on the FICO Analytic Cloud.
- New functions
insightgetsoldb
andinsightgetsoldbconnstr
to return connection information for DMP solution database - A target directory can be specified when downloading attachments by tag.
- Python interface
- A separate local filename can be specified when uploading or downloading individual attachments.
- New function
get_solution_database
to return connection information for the DMP solution database. - A target directory can be specified when downloading attachments by tag.
Fixed in Insight 5.7.0
- VDL 5
- Fixed an issue with vdl-field dropdown detaching from the input when within a scrollable container and the user scrolls.
- Fixed a styling issue with disabled vdl-field multi-select.
- Fixed an issue with vdl-datagrid so that it correctly filters entity columns using the formatted values by default, this is the documented behaviour for the vdl-datagrid-column filter-by-formatted attribute.
- Fixed an issue with large scrollable vdl-datagrid tables where validation wasn't being applied to rows that scroll into view.
- App Upgrade
- Fixed an issue with app upgrade. Upgrade of an app failed to update the update_after_execution state of an entity.
New in Insight 5.6.0
Back to top- With this release Insight 5 is available on the FICO Analytic Cloud.
- Dynamic workers for execution capacity scaling on demand.
- Support for deploying Python based apps.
- Support for remote/live debugging of Python based apps from Xpress Workbench
- Limited support for Mosel based apps (helper modules dmp, s3, trusteddsn, and executor are not supported yet). mminsightscenario/mminsightrestapi package login functions accept an authorization token.
- Apps can define Conda and PyPi dependencies which will be dynamically installed and updated.
- Deployment of apps to staging and production lifecycles is now via the platform lifecycle promotion mechanism. Direct app uploads to staging and production are not allowed. A user must have a solution admin or configurer platform role to promote apps.
- Insight 5 is not an in-place upgrade from Insight 4 platform deployments. For compatibility requirements when upgrading from Insight 4, please see the migration guide. For assistance in migrating the data of an existing Insight 4 solution to Insight 5, please contact FICO support.
- VDL4.x/JS API 4.x versions are no longer supported.
- Support for Tableau 2022.3 (Tableau integration is on-premises only).
- Python app developers can specify a 'default' value for a DataFrame column.
- Simulation
- Added the ability to generate a json-schema representing the BOM of the Decision Asset entrypoint that is being simulated.
- VDL 5
- Updated VDL to version 5.2 with new, non-breaking changes.
- Added vdl-datagrid, a high performance data grid component.
- Added vdl-pivottable, a new pivot table component.
- Added vdl-treegrid, a new tree grid component.
- Added the ability to fetch multiple entities using vdl-action-get-entity-data.
- Added the ability to fetch data from multiple scenarios using vdl-action-get-entity-data.
- New attribute "preserve-selection-order" for vdl-field which enables the preservation of the order in which options are selected in a multi-select dropdown.
- Filtered and unfiltered versions of an entity can be used within separate ScenarioObservers within a view.
Fixed in Insight 5.6.0
- Mosel & Python Interfaces
- Fixed a performance issue where scenario data contains lots of NaN values.
- Python interface
- Fixed an issue when a script declares multiple app classes with a shared superclass.
- VDL
- vdl-field select input with a validation error now has the expected red border.
- Fixed an issue where a vdl-field was not showing the empty string option.
- An issue preventing arrow functions being used in VDL expressions has been fixed.
- An issue with z-order of vdl-fields on modal dialogs has been fixed.
- Mirroring
- When multiple entities with the same name appear several times in a mirror table, each entity is now disambiguated from its namesake with an underscore and number identifier. This identifier is no longer shared and incremented across all conflicting entities in the table.
- Attachments
- Tagging a new or existing attachment (via REST api or VDL) with a single use tag when another attachment already had that tag results in both attachments being untagged. The updated attachment now has the tag as expected and it is also removed from the previous attachment.
New in Insight 5.5.0
Back to top- Added support for Xpress 9.0.2.
- The execution of Python app scenarios can now be debugged live from Xpress Workbench. For more information see the Workbench documentation.
- VDL 5
- Updated VDL to version 5.1 with new non-breaking changes
- This release enhances the behavior of VDL versioning. You can now specify just the major version of VDL your views use, for example
<vdl version="5">
, or continue to specify the major and minor versions, for example<vdl version="5.1">
. In both cases the latest version of VDL 5 will be provided to the view. However, in specifying the VDL minor version the server will consider that the minimum version your view is compatible with and show an error if it cannot satisfy that requirement. - Added the VDL action
vdl -action-tableau-export
that enable an export dialog to be triggered within a target visualization. This allows export as csv, pdf, image and crosstab. - Added the VDL action
vdl-action-tableau-clear-global-filters
that enables a user to clear all global filters or specific named global filters. - Added the new VDL component
vdl-tableau-parameter
. This enables parameters to be defined against avdl-tableau
component that corresponds to Tableau parameters defined in the workbook. A VDL expression can be used for each parameter and on change the updated parameter will be sent to the visualization. If any defiledvdl-tableau-parameter
is unset (null or undefined) then an overlay message will be displayed instead of the visualization. - Enhancements to actions for data transformations
- Updated
<vdl-action-group-by>
to support grouping on multiple keys
- Updated
- mminsight 5.12.0
- The behavior of the insight_verbose parameter has changed as follows:
- The default value is now 1 instead of 0
- The debugging lines previously output at level 1 are now output at level 2
- Setting insight_verbose to 0 will suppress the output of the 'mminsight version' banner line.
- The behavior of the insight_verbose parameter has changed as follows:
- Insight Python / xpressinsight 1.5.0
- The "multiprocessing" package can now be used in Insight apps.
- A Series or DataFrame can now be indexed multiple times using the same entity.
Fixed in Insight 5.5.0
- VDL 5
- Fixed an issue with vdl-chart-axis ignoring the min and max attributes if min is set to 0 via an expression.
- Fixed an issue with the shelf and scenario pill layout when the JavaScript function scrollIntoView is called on an element within the view.
- mminsight 5.12.0
- Any trailing slash is ignored when the mminsightscenario / mminsightrestapi packages look for a matching Insight URL in the credentials manager.
- A defect that prevented a cloned scenario from being executed or reported has been fixed.
New in Insight 5.4.0
Back to topThis release brings support for Tableau to the improved Insight 5 architecture. Multiple Tableau views can now be embedded as VDL components into VDL views. The release also provides foundational functionality for embedding the reports of other BI software, and several other significant improvements.
- VDL/JS API versions 4.x are deprecated in this release and will be removed in the next minor release. We strongly recommend upgrading to VDL 5 as part of your migration to Insight 5.
- Companion file versions 3.x and earlier are deprecated in this release. We strongly recommend upgrading to CFile version 5 as part of your migration to Insight 5.
- New vdl-tableau component
<vdl-tableau>
which allows one or many Tableau views from an integrated Tableau Server to be embedded within VDL pages of an app. - Support for Tableau 2021.4 and 2022.1.
- A MySQL schema is created dynamically and populated with the scenario data for Tableau to query. Each copy of an app has its own separate MySQL schema for its "mirror" database. Use of the table prefix attribute is no longer mandatory to avoid collisions.
- The contents of the mirror database are managed with limit and eviction policies configured in
application.properties
. - The vdl-tableau component is configured with the tables it is dependent on in the mirror database.
- Scenario data is mirrored (uncompressed into the mirror database) on demand when the view requires it. Post-execution mirroring is no longer supported.
- Trusted Ticket authentication into Tableau for Insight users. (Tableau users are unmanaged by Insight and must match the Insight username.)
- Workbooks are published to an insight-owned project in the configured site (or the default site).
- Workbooks are discovered in the app archive, they are no longer declared in the companion file.
- Tableau/BI system integration is configured in the
application.properties
file. - A new health check is available from the admin user interface.
- Tableau view filters can be designated as "global". Insight persists global filter values per user, and a global filter will take the same value across all Tableau views.
- Export options for the Tableau view are no longer available through the Web Client cog menu. A future release will enable this functionality via VDL actions.
- The order of scenarios on the shelf and their type is available to the BI software query.
- A new MirrorObserver object for the JS API supports the embedding of other BI software with
insight.getView().withMirrorTables
.
- Added support for Xpress 9.0.
- Xpress Solver removes some deprecated controls and renames several others. Please consult the Xpress 9.0 Release Notes for the specific list.
- Decisioning Asset Simulation (Decision Modeler)
- The Decision Modeler DMP Function can be simulated with the provided plugin.
- Supports JSONL and JSON-DM formats for batch rule service definition.
- A new option, available from an app's tile menu on the home page, allows an empty app to be exported. The exported app does not contain any folders and scenarios.
- Import app now offers the option of preserving the ownership of folders and scenarios as captured in the export file, where previously ownership would always be assigned to the importing user.
- An Insight 4.59.1 exported repository can be imported by this release. This is the recommended process for migrating the data and configuration of an Insight 4 system to Insight 5. For more information, see the migration topic in the Insight 5 Installation Guide.
- An Insight 4.59.1 folder export can be imported by this release.
- An Insight 4.59.1 app export can be imported by this release.
- When importing a scenario, the creation timestamp of the original exported scenario is persisted for the imported scenario. The creation timestamp is not overwritten by the time of import.
- New packages
mminsightscenario
andmminsightrestapi
allow a Mosel app or external model to invoke operations from the Insight 5 REST API. - The version number of the Insight server is available to the model via
insightgetversion
. - New overloads to the
insightminimize
andinsightmaximize
subroutines to support multi-objective optimization.
- Added a new syntax for declaring entities using the
xpressinsight.types
package.- Apps using the new syntax are compatible with Python forward annotations (
from __future__ import annotations
). - Apps using the new syntax may declare entities in a superclass of the application class.
- The old syntax is deprecated but will remain supported in Python versions <=3.10
- Apps using the new syntax are compatible with Python forward annotations (
- The version number of the Insight server is available to the model via
insight.version
.
- This release implements the status query, with the REST API endpoint /api/scenarios/queries/any-modified-since, required to support the dashboarding framework GitHub - fico-xpress/insight-dashboards: A framework for Xpress Insight dashboards.
- VDL 4.x is deprecated in this release and will be removed in a near-future release.
- VDL 5
- New vdl-tableau component which allows one or many Tableau Viz to be embedded within VDL pages with
<vdl-tableau>
. - VDL vars can now be configured to persist in local browser storage with
<vdl-var name="myVar" persist=true>
. - Enhancements to actions for data transformations:
- Added
<vdl-action-filter>
for filtering data based on values or keys. - Updated
<vdl-action-aggregate>
to support min, max, average, count, and sum aggregation functions.
- Added
- Removed the following vdl-attachment-button: "action" attribute options:
- Removed
manage-project-attachment
which is replaced withmanage-app-attachment
- Removed
upload-project-attachment
which is replaced withupload-app-attachment
- Removed
create-project-attachment
which is replaced withcreate-app-attachment
- Removed
edit-project-attachment
which is replaced withedit-app-attachment
- Removed
edit-project-attachment-properties
which is replaced withedit-app-attachment-properties
- Removed
download-project-attachment
which is replaced withdownload-app-attachment
- Removed
- Removed
user.userName
from VDL expressions. This is no longer a unique identifier in Insight 5 and has been removed. For display purposes, useuser.fullName
, otherwise useuser.id
.
- New vdl-tableau component which allows one or many Tableau Viz to be embedded within VDL pages with
- JS API 4.x is deprecated in this release and will be removed in a near-future release.
- JS API 5
- Deprecations from previous JS API versions have been removed .
- Fixed
View#addUnloadHandler
. Callbacks are no longer called when moving to the Jobs or Admin areas as these do not unload the view. - Insight
- Removed
getClientType
as there is only one client type now. - Removed
insight.enums.ClientType
as there is only one client type now. - Removed
insight.enums.ObjectType.PROJECT
which is replaced withinsight.enums.ObjectType.APP
.
- Removed
- App
- Added
getVisualization
which provides visualization configuration and status information.
- Added
- View
- Removed
uploadProjectAttachment
which is replaced withuploadAppAttachment
. - Removed
createProjectAttachment
which is replaced withcreateAppAttachment
. - Removed
openProjectAttachmentsDialog
which is replaced withopenAppAttachmentsDialog
. - Removed
isModified
. - Removed
isReadOnly
. - Removed
getProject
which is replaced withgetApp
. - Removed
getProjectId
which is replaced withgetAppId.
- Removed
- User
- Removed
getUsername
which is no longer a unique identifier in Insight 5. For display purposes usegetFullName
, otherwise usegetId
.
- Removed
- Scenario
- Removed
getExecutionTime
which is replaced withScenarioSummaryData#getExecutionDuration
. - Removed
getLastExecutionDate
which is replaced withScenarioSummaryData#getExecutionFinishedDate
. - Removed
downloadProjectAttachments
which is replaced withdownloadAppAttachments
. - Removed
getTaggedProjectAttachments
which is replaced withgetTaggedAppAttachments
. - Removed
getProjectAttachment
which is replaced withgetAppAttachment
. - Removed
getProjectAttachments
which is replaced withgetAppAttachments
.
- Removed
- ScenarioProperties
- Removed
getCurrentExecutionStatus
which is replaced withScenario#getExecutionStatus
. - Removed
getProjectId
which is replaced withgetAppId
.
- Removed
- Removed
ScenarioExecutionStatus#getExecutionTime
which is replaced withScenarioExecutionStatus#getExecutionDuration
. - ModelSchema
- Removed
getProjectId
which is replaced withgetAppId
.
- Removed
- ModelEntity
- Removed
getViolationCostEntity
. - Removed
getViolationUpperBoundEntity
. - Removed
isDisableable
. - Removed
isRelaxable
. - Removed
isIndexGrouping
. - Removed
getIndexGroupings
.
- Removed
- SetSorter
- Removed
addSetSorter
which is replaced withaddSetComparator
. - Removed
removeSetSorter
which is replaced withremoveSetComparator
. - Removed
getSetSorter
which is replaced withgetSetComparator
.
- Removed
- ScenarioObserver#withAttachments
"project: true"
is no longer a valid option. Use"app: true"
.
- MirrorObserver#withMirrorTables
- Added in this version. Allows you to specify which scenarios and tables should be mirrored and to keep the mirror alive while the user remains on the view.
- Removed
ExecutionMode#getClearsInputData
which is replaced withExecutionMode#clearsInputData
.
Companion File version 5.0
- Removed
- TableauWorkbook from ViewGroup. Replaced by the VDL Tableau component.
- TableView from ViewGroup
- CustomView from ViewGroup
- Verb attribute from View
- Tableau section (includes global filter and parameter subsections). These have been moved to the VDL Tableau component.
- Modifications to database-mirror:
- table-prefix removed
- include-index-groupings removed
- sync-after-execution removed
- entity colName attribute renamed to column-name
- entity dimension attribute removed
- entity sync-for-tableau-view removed
New in Insight 5.3.1
Back to top- Security updates
- Support for Xpress 8.14.2
Fixed in Insight 5.3.1
Fixed a defect preventing a user from setting the preferred execution service for an execution mode via the admin user interface.
New in Insight 5.3
Back to topThis release brings custom interactive app support to the improved Insight 5 architecture. Some enhancements, which have been available in previous 5.x releases limited to the Compute Interface, are repeated here for the wider audience of interactive app users.
Migration
With a few notable exceptions documented in the "Previous features no longer supported in Insight 5.x" section below, Insight 5.3 replicates and extends the feature set of Insight 4. However, as a major release and a redesign of the Insight software, there are backwards compatibility considerations when migrating existing solutions to this version. Solution developers should review the release notes below and the chapter "Migrating from Xpress Insight 4 to Xpress Insight 5" in the Insight 5 Developers Guide for information on modifications needed to their solution implementation.
Importing a repository or app and retaining system configuration and user ownership information is not yet supported. Users who need to migrate over the historic scenarios for their apps from Insight 4 will require the next release. Insight 5.3 does not integrate with Tableau. Users with solutions that require Tableau visualization will require the next release.
General
- Supports a user-supplied MySQL 8 database for persistence. Support for PostgreSQL is discontinued.
- A simple installation configuration is available for development and small scale usage which uses a file system based repository (not recommended for production use cases).
- A deployment is now designated as production or non-production and the non-production lifecycle can have a custom display label e.g. QA, Staging which is shown as a watermark on the banner.
- Support for Red Hat Enterprise Linux 8.
- Single Sign On support (Service Provider initiated and IDP initiated SAML2). SSO is mandatory for production mode deployments, local account authentication is disabled.
- REST API is now authenticated using client id/secret credential which can be generated by a logged-in user for their account via the user interface (drop-down menu under account name).
- Silent/automated installation option.
- System configuration is now edited in application.properties files for server and worker respectively.
- Microsoft Edge is supported (replacing support for Internet Explorer 11).
- Support for multiple browser tabs sharing the same session (previously, additional tabs did not receive events).
- HTTP/2 support.
- When HTTPS is enabled, Insight will use HTTP/2 over TLS (recommended for the best performance).
- Without HTTPS, Insight will fall back to h2c (HTTP/2 over TCP).
- If these cause problems on your infrastructure, you can configure Insight to use HTTP/1 instead.
- Examples, offline documentation and authoring-time binaries are provided as a separate "Insight Developer Kit" download.
- Support for app and scenario attachments up to 1gb (default configured limit is 300mb).
- The run log for a scenario is now retained if results are cleared.
- Bulk deletion is considerably more efficient. Deletion operations are performed in the background with apps, scenarios, folders etc are removed from the UI immediately and do not block further user actions. Nor do such operations lock the repository for other users.
- Results data for a scenario is cleared on completion of a job, so if a job is cancelled its previous results will be retained.
- Scenario operations that don't modify the scenario data are allowed while the scenario is queued or executing i.e. rename, clone, move, delete, share. Previous versions locked the scenario for execution such that no operations could be performed on the scenario by a user.
- All endpoints of the REST API, including the interactive/scenario-centric operations, have now been revised to adhere as closely as possible to accepted REST/HTTP industry best practices. The revision includes major changes to the design of the API. Developers intending to integrate with the REST API or update an existing integration should read the "The Xpress Insight 5 REST API" chapter of the Insight 5 Developers Guide for foundation concepts and then use the live swagger documentation served from
<INSIGHT_URL>/swagger-ui/
, or the equivalent online reference docs, to understand the format of individual API requests. This applies to integrations with REST clients and also custom views and custom model code that make REST API calls to the Insight API.- The API is versioned using a major.minor versioning scheme.
The current version is 2.1.
- Callers must use content negotiation request headers which allow for the API major version to be specified in the request.
- The API base has moved from /insightservices to /api.
- The API uses standard HTTP status codes from
RFC-7231
andRFC-4918
to indicate success or failure of a request. - Timestamps are in ISO-8601 format in accordance with
RFC-3339
and are in Coordinated Universal Time (UTC). - The API now uses pagination for collection-type responses.
- The API supports the OpenTracing standard used for trace context propagation.
- The API is versioned using a major.minor versioning scheme.
- The API now includes public administration endpoints for manipulating users, authority groups and execution service configuration.
- REST clients use JWT token authentication to improve security and avoid persisting user credentials.
- A scenario can provide arbitrary data updates for progress feedback to the user while it is executing.
- The default overlay, which obscures a view while a scenario is executing, can be disabled.
- Data entities can be denoted as updatable during execution and UI components bound to these entities will receive updated values from the running scenario.
- Several new progress-related VDL components are provided e.g. spinner, progress bar.
- For more information see the "View API changed" section below, the Insight 5 Developer Guide and the new progress examples in the Developer Kit.
- VDL 4.8
- Added
<vdl-action-cancel-job>
for cancelling a job. - Added
<vdl-action-job-message>
for sending a message to a running job. - Added the
default-execution-overlay
option on thevdl
top-level tag so the execution overlay can be disabled either for all executions or just progress execution modes. - Added the
progress
option to the top-level vdl tag so a view can subscribe to receive data updates during progress execution modes. - Added a top-level
getUser()
lookup function to VDL expressions. You can use this to convert the executionUserId to a user object and get the full name, for examplegetUser(scenario.summaryData.executionUserId).fullName
. - Added
scenario.summaryData.executionUserId
to get the id of the user who requested the execution for that scenario. - Added
scenario.summaryData.executionStartedDate
to get the timestamp of the start of the most recent execution. - Added
scenario.summaryData.executionDuration
to replacescenario.summaryData.executionDuration
. - Added
scenario.summaryData.reservedForJob
to test when a scenario is in the execution pipeline (queued, executing, completing etc.) - Added
scenario.summaryData.executionMode.sendsProgress
to test for whether the execution mode the scenario is executing with, supports progress updates. - Added
scenario.summaryData.state
, which returns a newScenarioDataStatus
enum.
- Added
- JS API 4.8
- Added
getExecutionMode
toScenarioSummaryData
. This will return anExecutionMode
object with details of either the current execution, if there is one, or the last execution on the scenario, if there is one. - Added
View.sendJobMessage(scenarioId, message)
method to send messages to executing scenarios. - Added the
ViewConfiguration.receivesProgress
option so a view can subscribe to receive data updates during progress execution modes. - Added
ScenarioSummaryData.getExecutionUserId
to get the id of the user who requested the execution for that scenario. - Added
ScenarioSummaryData.getState
, which returns a newScenarioDataStatus
enum. - Added
ScenarioSummaryData.getExecutionStartedDate
to get the timestamp of the start of the most recent execution. - Added
ScenarioExecutionStatus.isReservedForJob
to test when a scenario is in the execution pipeline (queued, executing, completing etc.) - Added
ExecutionMode.sendsProgress
to test for whether the execution mode the scenario is executing with, supports progress updates.
- Added
- Usernames can now be modified for existing accounts.
- Users can be deleted.
- Username is now only used for login, a user's id is now a uuid to align with apps, scenarios, folders etc.
- Admin area is now an integrated part of the web client, no second login required.
- A folder owner now has effective ownership of all items in that folder. Hence a folder owner has read and write access to that folder and everything it contains.
- Folders shared as Full Access allow all app members to modify the contents of that folder, e.g. create, delete or move scenario but only a folder owner can edit the folder itself such as its name, owner and share status.
- Files can be imported/exported via a file system location configured on the server/network with no limit on the file size other than available file system storage.
- Import/export operations are now background tasks which do not lock the user interface.
- A new "Tasks" dialog is available from the "Show Tasks" option in the home page. This dialog lists the background operations requested by the user.
- Exporting an app is possible via the UI.
- Exporting the whole repository is no longer supported.
- When importing a scenario, previous releases used the id from the imported scenario if it didn't exist already. Insight 5 always assigns a new id on import. Developers cannot rely on persistence of scenario IDs when importing a scenario.
- The system retains a persistent history of executed jobs (previously this was ephemeral), limited to 500 records.
- A user can cancel any job they have effective write access to.
- Users can cancel all their own jobs with one operation, and those with both
PROJECT_ALL
andSCENARIO_ALL
authorities can cancel all jobs in the queue. - The system enforces a limit on the number of pending jobs in the queue. The default limit is 1000 jobs. This can be modified in the server's
application.properties
file with an ultimate limit of 10000 jobs. The jobs page will show the first 500 jobs in the queue. - Users can see (redacted) information about jobs they don't have read permission for to give a better understanding of relative position in the queue.
- Aside from the following exceptions, the running model no longer inherits the global environment of the worker:
-
LANG
-
XPRESSDIR
-
XPAUTH_PATH
-
LD_LIBRARY_PATH
XPRESS_INSIGHT_LIB
-
- To configure the environment variables available to the model, add entries to the worker
application.properties
file of the form:insight.worker.execution.environment.<VARIABLE_NAME>=<VARIABLE_VALUE>
. - Multiple configuration profiles are not supported.
- REST API version 1.
- Multiple configuration profiles for worker environment.
- PostgreSQL support for persistence.
- Red Hat Enterprise Linux 6.
- Custom authorities defined via the UI.
- Using parameters not defined in the model (the system will accept requests to set unknown parameters but they will not be passed to the model).
- LDAP integration (replaced by SSO).
- Server logs can no longer be retrieved via the UI.
- User report.
- insightcmd command line tool for import/export of apps and backup/restore of repository. Import/export of apps can now be performed via the UI. Backup and restore should be performed with standard MySQL tools.
Fixed in Insight 5.3
- App upgrades for systems with large numbers of scenarios should no longer encounter issues. App upgrade applies schema updates lazily instead of during the upgrade, resulting in near instantaneous upgrades.
- App upgrade no longer impacted by changes to parameters.
- The Compute REST API no longer accepts creation of compute jobs with an ID containing upper-case letters.
- Fixed an issue with sorting of numeric indexes for vdl-chart-series.
- Fixed an issue with using vdl-tooltip on a vdl-field select input, causing the tooltip to persist whilst the select dropdown was open.
Fixed in JS API 4.8
Fixed an issue where ScenarioObservers would receive notify callbacks after events on scenarios they were not registered with.
New in Insight 5.2.1
Back to top- Browser support policy
Microsoft has announced that Internet Explorer 11 will be officially retired by June 15, 2022. For upcoming releases, Xpress Insight will drop support for IE11. Going forward, Xpress Insight 4 and Xpress Insight 5 will support Chrome, Firefox, and Microsoft Edge.
- Various security updates.
- When retrying a failed request, there is no longer a delay before the first retry.
- The default value of the dmp_max_retries parameter has changed from 8 to 9.
New in Insight 5.2
Back to top- The Compute REST API has been revised to adhere as closely as possible to accepted REST/HTTP industry best practices. The revision includes major changes to the design of the API. Developers intending to integrate with the REST API or update an existing integration should read the Compute Interface REST API chapter of the Insight 5 Compute Interface Guide for foundation concepts and then use the live swagger documentation served from
<INSIGHT_URL>/swagger-ui/
, or the equivalent online reference docs, to understand the format of individual API requests. - The API is versioned using a major.minor versioning scheme.
- The current version is 2.0.
- Clients must use content negotiation request headers which allow for the API major version to be specified in the request.
- The API base has moved from /insightservices to /api.
- The API uses standard HTTP status codes from
RFC-7231
andRFC-4918
to indicate success or failure of a request. - Timestamps are in ISO-8601 format in accordance with
RFC-3339
and are in Coordinated Universal Time (UTC). - The API now uses pagination for collection-type responses.
- The API supports the OpenTracing standard used for trace context propagation.
New in Insight 5.1.1
Back to top- Various security updates.
- Support for Xpress 8.12.
New in Insight 5.1
- Users can cancel all their own jobs and those with both
PROJECT_ALL
andSCENARIO_ALL
authorities can cancel all jobs in the queue. - System enforces a limit on the number of jobs in the queue. The default limit is 1000 jobs. This can be modified in the server's
application.properties
file with an ultimate limit of 10000 jobs.
- When submitting a compute job using the REST API, a priority can optionally be supplied. Jobs are then executed in the queue in priority order. The priority can range from -100 to 100 with 0 being the default
- An execution service can now be marked as requiring authorization. If it requires authorization, only users belonging to authority groups which grant access to the execution service can submit jobs to run on the service.
Worker Mosel environment
-
LANG
-
XPRESSDIR
-
XPAUTH_PATH
-
LD_LIBRARY_PATH
To configure Mosel environment variables, add entries to the worker application.properties
file of the form: insight.worker.execution.environment.<VARIABLE_NAME>=<VARIABLE_VALUE>
.
Insight 5.0
Back to top
![]() |
Important: Version 5.0 is not yet a replacement for Insight 4 and uploading or migrating custom apps is not supported. Existing users of Insight 4 should upgrade to the latest minor release of 4.x.
|
- A deployment is now designated as production or non-production and the non-production lifecycle can have a custom display label e.g. QA, Staging which is shown as a watermark on the banner.
- Single Sign On support (Service Provider initiated and IDP initiated SAML2). SSO is mandatory for production mode deployments, local account authentication is disabled.
- REST API is now authenticated using client id/secret credential which can be generated by a logged-in user for their account via the user interface (drop-down menu under account name).
- Simple installation configuration is available for development and small scale usage which uses a file system based repository.
- MySQL support for more demanding deployments (database server to user-supplied). PostgreSQL is no longer support on premises.
- Silent/automated installation option.
- Implements an interface for solving LP/MPS/Mosel jobs. REST API for submitted LP/MPS optimization problems and Mosel models as jobs via web services.
- Integrated with Xpress for remote solving via Optimizer, Mosel and Workbench tools.
- Progress Events API for receiving job status updates and callback notifications.
- Drag and drop interface for submitting jobs interactively.
- Enhanced job queue view with persistent history.
- LP/MPS jobs can include a basis and/or starting mip solution.
- LP/MPS job results can include solution, final attribute values, basis, IIS, save file.
- Jobs can have dependencies on common files that can be pre-uploaded.
- Support for solver callbacks with the option of querying current attributes and solution, and deciding whether to continue the remote solve or interrupt it.
- Integration with Credentials Manager (Windows), KeyChain (MacOS) and OpenSSL (Linux) for the secure management of client credentials
- Jobs can specify a named execution service. An execution service is a logical sub-set of execution resources which can be configured via the Insight administration interface.
- A clean up service can be scheduled to delete jobs older than a set age. This avoids the service performance being affected by the accrual of a very large number of historic jobs, and is an alternative to the client taking responsibility for deleting the jobs.
© 2001-2024 Fair Isaac Corporation. All rights reserved. This documentation is the property of Fair Isaac Corporation (“FICO”). Receipt or possession of this documentation does not convey rights to disclose, reproduce, make derivative works, use, or allow others to use it except solely for internal evaluation purposes to determine whether to purchase a license to the software described in this documentation, or as otherwise set forth in a written software license agreement between you and FICO (or a FICO affiliate). Use of this documentation and the software described in it must conform strictly to the foregoing permitted uses, and no other use is permitted.