forio Toggle navigation

v1.38 Release Notes

Release Date: 5/10/2016

New Features

  • SimLang variables can now be changed.

    • Background: Recall that in SimLang, models may contain both decisions and variables. Decisions take their value from the end user's input; an equation defines their initial value. Variables are recalculated every time step based on their equation (definition) in the model.

    • New Feature: In previous releases, only SimLang decisions could be changed by end users. As of this release, SimLang variables can also be changed by end users. Specifically, variables can be updated directly, for example using PATCH from the Run API, or using Flow.js or Epicenter.js. When you PATCH a variable with a value, it gets that value and holds it. The equation in the variable is now ignored, as are any changes to variables used in the equation. See more information.

  • SimLang variables and decisions can now be recalculated.

    • Background: Decisions take their value from the end user's input; an equation defines their initial value. Variables are generally recalculated every time step based on their equation (definition) in the model. However, if they are PATCHed to take their value from the end user's input, the equation in the variable is subsequently ignored.

    • New Feature: You can cause both variables and decisions to recalculate based on their equation in the model by calling the operation recalculate. In particular, calling recalculate on a variable "unfreezes" the variable, if it had been PATCHed: moving forward, the variable is again automatically recalculated every time step based on its equation in the model. See more information.

  • Release of Epicenter.js 1.7.1. The Epicenter.js JavaScript library has been updated to version 1.7.1. Full release notes available on GitHub. Notable bug fixes and new features include:

    • The Authorization Manager now sets the path in the cookie based on the Account ID and Project ID. This allows end users to log in to multiple Epicenter simulations simultaneously without conflict.

    • Updates for the run strategies to use group name rather than group id to create runs with specific scope. CAUTION: If you update an existing project to use Epicenter.js 1.7.1, and your project restores runs, these older runs will not have the correct scope.

    • The API configuration (that is, where the REST API calls should be sent) is now loaded from the current server, rather than hard-coded in the library. This allows Epicenter.js to more easily be used on multiple Epicenter installations (not just forio.com).

Notable Bug Fixes

  • In some cases, the SimLang CEILING and FLOOR functions were vulnerable to floating point operations, and returned non-integer values. This has been corrected. This was released as Epicenter v1.36.2 on 2/1/16.

  • In some cases, runs without an explicit scope were causing errors due to incompatibilities in how empty objects were stored in and retrieved from the database. This has been corrected. This was released as Epicenter v1.36.3 on 2/2/16.

  • In some cases, simultaneous calls to the Model Run and Model Variable APIs were resulting in runs being restored from the database to memory twice. This is now resolved; requests block until the run is fully restored. This was released as Epicenter v1.36.4 on 3/12/16.

  • If you make a new project and choose to use an example, the examples now use the new Epicenter.js version 1.7.1. Existing projects initially creating using the examples were not changed.

  • Other minor fixes for security, performance, and stability.

  • Other minor improvements to documentation.