Skip to content

Latest commit

 

History

History
309 lines (195 loc) · 34.4 KB

CHANGELOG.md

File metadata and controls

309 lines (195 loc) · 34.4 KB

Changelog

0.7.20 (2024-09-15)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/parse bumped from ^0.1.0 to ^0.1.1

0.7.19 (2024-08-28)

Bug Fixes

  • cache sorted variables to improve compile performance (#531) (0c359c8), closes #528
  • include 'initial' variables in JSON model listing (#529) (2e1a004), closes #527

0.7.18 (2024-08-17)

Features

  • add bundleListing, customLookups, and customOutputs settings to control code generation (#504) (fcea642), closes #503
  • add compiler and runtime support for generating pure JS models (#486) (42d4dc6), closes #437
  • add support for GAME function and for providing gaming inputs at runtime (#505) (338e91e), closes #483
  • allow for creating a LookupDef without manually initializing a ModelListing (#502) (5690055), closes #501
  • allow for overriding data variables and lookups at runtime (#490) (6c888e8), closes #472

Bug Fixes

  • change encoding of variable and lookup indices to allow for arbitrary number of subscripts (#507) (697e943), closes #506
  • remove old implementation of read and code gen phases (#473) (8de0d16), closes #448
  • update build and plugin packages to support JS code generation (#487) (18b0873), closes #479

0.7.17 (2024-04-22)

Bug Fixes

  • use original Vensim names in generated headers for spec output vars (#462) (966066a), closes #461

0.7.16 (2024-04-19)

Bug Fixes

  • upgrade to more recent version of xlsx package (#465) (8d06b81), closes #463

0.7.15 (2024-04-17)

Bug Fixes

  • correct generation of level variables when SMOOTH3[I] input param has subscripts but delay param does not (#457) (fd3bfab), closes #313

0.7.14 (2024-03-12)

Bug Fixes

  • make new implementation of read and code gen phases the default (#446) (e0e6d40), closes #445

0.7.13 (2024-03-11)

Bug Fixes

  • prevent subscripted input variables from being pruned (#439) (876dad7), closes #438
  • rewrite recordRefsOfVariable to avoid blowing the stack (#443) (a2bbce9), closes #442

0.7.12 (2024-02-23)

Bug Fixes

  • improve error handling/reporting and prevent premature exit in dev mode (#434) (98ab523), closes #260

0.7.11 (2024-01-17)

Bug Fixes

  • add new expandVarNames function that works with both old and new parsers (#423) (2964887), closes #422
  • add new implementation of read and code gen phases based on parse package (#413) (5538a4f), closes #412
  • allow --genc and --list arguments to be used in the same sde generate command (#425) (9f97332), closes #424

0.7.10 (2023-11-15)

Bug Fixes

  • allow lowercase cell reference in GET DIRECT function calls (#396) (76f890c), closes #395
  • handle case where subscript/index appears in expression position (#398) (7ff1380), closes #397
  • handle XLSX files in GET DIRECT {CONSTANTS,DATA,LOOKUPS} (#400) (16b1ddf), closes #399

0.7.9 (2023-10-18)

Bug Fixes

  • allow numeric ranges in subscript range definitions (#375) (da13dc4), closes #318
  • correct handling of lookups defined by GET DIRECT LOOKUPS when used as function call arguments (#379) (a032779), closes #378

0.7.8 (2023-09-29)

Bug Fixes

  • prevent error in JSON listing creation when Time variable is not explicitly referenced in the model (#368) (4bf0a39), closes #365

0.7.7 (2023-09-28)

Features

  • add support for capturing data for any variable at runtime (#355) (5d12836), closes #105

0.7.6 (2023-09-05)

Bug Fixes

0.7.5 (2023-01-26)

Bug Fixes

  • read blank lines and blank cells in CSV files (#309) (1a9fa37), closes #308

0.7.4 (2022-12-13)

Bug Fixes

  • initialize control parameters prior to access (#304) (365bbb2), closes #301

0.7.3 (2022-12-10)

Features

  • expose accessor functions for control parameters (#296) (a44d097), closes #295

Bug Fixes

  • upgrade csv-parse to 5.3.3 and update option names (#300) (71d0c8b), closes #299

0.7.2 (2022-12-09)

Bug Fixes

  • check for valid numbers when reading a CSV file (#288) (7fa249e)

0.7.1 (2022-10-25)

Features

0.7.0 (2022-06-28)

⚠ BREAKING CHANGES

  • The sdeverywhere package is deprecated and effectively replaced by @sdeverywhere/cli. Additionally, the sde generate --genhtml command and supporting code has been removed and will be replaced with a different solution in the near future.

Features

  • refactor into monorepo with compile and cli packages (#192) (8946f18), closes #191

0.6.0 (2022-06-04)

Features

  • add runModelWithBuffers entry point that takes pre-allocated input/output buffers (#50) (083109a), closes #49
  • add basic support for GET DATA BETWEEN TIMES function (#42) (8a294aa), closes #33
  • add sde command for flattening parent+submodels (#59) (50e11ec), closes #58
  • add support for external data variables that use subscript or dimension (#41) (035ab5c), closes #32
  • add support for external data variables with > 2 dimensions (#47) (6683e63), closes #45
  • allow for specifying I/O variables using Vensim names in spec file (#61) (a6bc98d), closes #60
  • implement ALLOCATE AVAILABLE function (#106) (ebd0311)
  • implement DELAY FIXED function (#108) (bd3b3e8), closes #29
  • implement GET DIRECT CONSTANTS for CSV (#86) (beedd4f)
  • implement GET DIRECT DATA for CSV (#82) (b40e738), closes #81
  • implement GET DIRECT LOOKUPS including a test model (#99) (47f6fe5), closes #98
  • implement GET DIRECT SUBSCRIPT for CSV (#79) (51691e7)
  • implement NPV function (#95) (9fa17eb), closes #94
  • implement QUANTUM function (#89) (42225f9), closes #87
  • implement the <-> subscript alias operator (#80) (a43917f), closes #78
  • increase the number of dimension and array loop index vars (#138) (4c66470), closes #137
  • remove inline comments in the preprocessor (#74) (d23b1c3)
  • sort equations alphabetically when preprocessing mdl file (#56) (bb968f7), closes #55

Bug Fixes

  • abort code generation on finding a lookup of size zero (#162) (44c1202), closes #161
  • add async and await to some chained cli functions (#37) (afdbb77), closes #35
  • allow > 2 dimensions when generating Vensim array names (#155) (6575ea9), closes #154
  • allow extra index subscripts in 2D const lists (#110) (f5494af), closes #109
  • allow GET DIRECT CONSTANTS to use 2 subscripts in the same family (#144) (e53d876), closes #143
  • correct declarations when subscripted variable is initialized from data and constants (#116) (7c51641), closes #115
  • correct GET DIRECT DATA with mapped dim by directly comparing indices (#146) (fa2097b), closes #145
  • correct initialization of 2D arrays to allow dimensions with matching subscript names (#101) (2ed7e42), closes #84
  • emit any expression for the offset arg of VECTOR ELM MAP (#129) (bd0a724), closes #128
  • exclude data vars from initLevels (#127) (93a49cf), closes #126
  • expand references to vars with any number of separated dimensions (#112) (0d0d40e), closes #111
  • expand variables allowing for any number of indices in EXCEPT clause (#118) (d92343e), closes #117
  • fix LOOKUP FORWARD to correctly handle fractional inputs (#38) (c1f9580), closes #36
  • generate correct references for the ALLOCATE AVAILABLE priority profile (#136) (b1d8ae2), closes #135
  • get direct data offset from the separated dimension (#114) (ebbaa01), closes #113
  • handle subdimensions correctly for GET DIRECT CONSTANTS and fix EXCEPT handling (#125) (2fdfb34), closes #124 #134
  • handle subscripts correctly when nested in expr within array function call (#48) (b2458ab), closes #46
  • make sde log wait for DAT file to be fully written and improve error handling (#123) (34f25f8), closes #122
  • make browserify an optional dependency (#53) (e9bbbc6), closes #52
  • make flatten command work when equations don't include continuation backslash (#173) (ac7c027)
  • prevent memory leaks in fixed delay initialization (#160) (e158b2f), closes #159
  • record variants of a subscripted variable in removeUnusedVariables (#65) (f6d7035), closes #64
  • refine the ALLOCATE AVAILABLE search algorithm (#141) (bca43a0), closes #139
  • remove fcmp library and rewrite expressions without using its macros (#131) (df76872), closes #107
  • remove unnecessary memcpy loop in lookup data initialization (#166) (b94d9c4), closes #165
  • set model directory in the sde causes command (#142) (44d326e), closes #140
  • take DELAY FIXED value from input when delay time = 0 (#148) (328d050), closes #147
  • terminate generated equations with ~~| (#120) (44d1c2a), closes #119
  • use a global replace to join multiple line Vensim equations in comments (#175) (678f2bb)
  • use case-insensitive sort and remove trailing whitespace in preprocessor (#57) (d58390a), closes #55
  • use chunkedFunction to break up initLookups into smaller functions (#133) (bad4580), closes #132
  • use correct subdimension index for delay aux vars (#92) (7158b0f), closes #91
  • use subdim indices for GET DIRECT DATA (#164) (d7b46c6), closes #163
  • wrap conditional branch expression in parentheses when optimizing IF THEN ELSE (#153) (bd42d54), closes #152

Performance Improvements

  • cache last input and last accessed index for faster lookups (#43) (0933a89), closes #34
  • cache parsed CSV file data and replace Array with Set to improve code gen performance (#168) (58a45ba), closes #167
  • improve code gen performance by avoiding linear searches (#63) (d4bf555), closes #62
  • optimize IF THEN ELSE for cases where condition expression resolves to a constant (#103) (f9ef675), closes #102
  • remove variables that are not referenced by input or output variables (#44) (6c80c59), closes #1

0.5.3 (2020-07-29)

  • improved performance of LOOKUP
  • optimized dimension name references to avoid array accesses
  • changed lookup initialization to use static arrays for improved Wasm performance
  • replaced wrapper functions with C macros to reduce function call overhead
  • split large functions reduce stack frame size (improves Wasm memory use and performance)

0.5.2 (2020-06-03)

  • includes fixes that more fully automate conversion of complicated MDL model files
  • moved tools to Python 3
  • use the updated ANTLR-Version package
  • improved support for two-dimensional arrays
  • added handling of 2D constant arrays with subscripts in any order
  • added support for dimension name references
  • added support for ELMCOUNT
  • added support for PULSE TRAIN
  • updated documentation
  • updated npm package dependencies

0.5.1 (2019-09-27)

  • support multiple chartDatfiles delimited by semicolons in app.csv
  • override generated app styles in an optional custom.css file in the config folder
  • add optional varname prefix to readDat

0.5.0 (2019-07-24)

  • web app generation uses simpler CSV configuration instead of YAML
  • three-dimensional arrays
  • :EXCEPT: subscripts
  • two-dimensional const arrays
  • GET DIRECT DATA for Excel at code generation time
  • read output variables from DAT files to WITH LOOKUP variables
  • generate variable documention in text and YAML formats
  • allow all special characters in variable names
  • improved coverage of subrange and mapping edge cases

0.4.1 (2018-03-11)

  • enable a blank cell in the HTML input panel with an empty value in sliders
  • add sde causes command to print model variable dependencies
  • fixed HTML generation on Linux
  • corrected instructions for building from the repo

0.4.0 (2018-02-05)

  • updated web app generation to use an improved template
  • added new app.yaml web app specification file
  • generate complete web app with the sde generate --genhtml command
  • removed the Vensim grammar to an independent package
  • removed the lotka sample model
  • added the SIR sample model
  • optimized performance by making high-precision floating point comparisons optional
  • added support for generating code to run the model interactively
  • removed unnecessary glib2 dependency
  • added a warning message when an input or output variable does not exist in the model
  • fill in all ref ids for a generated variable that is expanded over a non-apply-to-all array
  • implement Vensim data variables in DAT files with lookups