Skip to content

Latest commit

 

History

History
482 lines (296 loc) · 36.5 KB

CHANGELOG.md

File metadata and controls

482 lines (296 loc) · 36.5 KB

Changelog

0.7.28 (2024-12-13)

Bug Fixes

  • remove legacy preprocessor implementation and use newer one from parse package (#576) (c04e0ca), closes #575
  • restore alphabetical sorting for sde generate --preprocess command (#587) (039fb79), closes #586
  • show full stack trace when build or test command fails (#581) (013bbf7), closes #579

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/build bumped from ^0.3.6 to ^0.3.7
      • @sdeverywhere/compile bumped from ^0.7.20 to ^0.7.21

0.7.27 (2024-09-15)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.19 to ^0.7.20

0.7.26 (2024-08-28)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.18 to ^0.7.19

0.7.25 (2024-08-23)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/build bumped from ^0.3.5 to ^0.3.6

0.7.24 (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 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

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/build bumped from ^0.3.4 to ^0.3.5
      • @sdeverywhere/compile bumped from ^0.7.17 to ^0.7.18

0.7.23 (2024-04-22)

Bug Fixes

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

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.16 to ^0.7.17

0.7.22 (2024-04-19)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.15 to ^0.7.16

0.7.21 (2024-04-17)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.14 to ^0.7.15

0.7.20 (2024-03-12)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.13 to ^0.7.14

0.7.19 (2024-03-11)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.12 to ^0.7.13

0.7.18 (2024-02-23)

Bug Fixes

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

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/build bumped from ^0.3.3 to ^0.3.4
      • @sdeverywhere/compile bumped from ^0.7.11 to ^0.7.12

0.7.17 (2024-02-15)

Bug Fixes

  • require Node.js v18 as minimum supported version (#432) (f08d608), closes #431

0.7.16 (2024-01-17)

Bug Fixes

  • allow --genc and --list arguments to be used in the same sde generate command (#425) (9f97332), closes #424

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/build bumped from ^0.3.2 to ^0.3.3
      • @sdeverywhere/compile bumped from ^0.7.10 to ^0.7.11

0.7.15 (2023-11-15)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.9 to ^0.7.10

0.7.14 (2023-10-26)

Features

0.7.13 (2023-10-18)

Features

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.8 to ^0.7.9

0.7.12 (2023-09-29)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.7 to ^0.7.8

0.7.11 (2023-09-28)

Features

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

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/build bumped from ^0.3.1 to ^0.3.2
      • @sdeverywhere/compile bumped from ^0.7.6 to ^0.7.7

0.7.10 (2023-09-05)

Bug Fixes

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.5 to ^0.7.6

0.7.9 (2023-05-03)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/build bumped from ^0.3.0 to ^0.3.1

0.7.8 (2023-01-26)

Bug Fixes

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

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.4 to ^0.7.5

0.7.7 (2022-12-13)

Bug Fixes

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

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.3 to ^0.7.4

0.7.6 (2022-12-10)

Features

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

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/build bumped from ^0.2.0 to ^0.3.0
      • @sdeverywhere/compile bumped from ^0.7.2 to ^0.7.3

0.7.5 (2022-12-09)

Features

  • add the Vensim POWER functions as a C macro (#286) (8fc1ee8), closes #283

Bug Fixes

  • reset FixedDelay state at the beginning of each run (#289) (b5e03c4), closes #285

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.1 to ^0.7.2

0.7.4 (2022-10-25)

Features

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/compile bumped from ^0.7.0 to ^0.7.1

0.7.3 (2022-09-30)

Bug Fixes

  • initialize numSavePoints after evalAux to get correct SAVEPER value (#254) (1e0c9d0), closes #253

0.7.2 (2022-09-21)

Dependencies

  • The following workspace dependencies were updated
    • dependencies
      • @sdeverywhere/build bumped from ^0.1.1 to ^0.2.0

0.7.1 (2022-08-06)

Bug Fixes

  • correct handling of paths on Windows and those containing spaces (#223) (c783e81), closes #222

Dependencies

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

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

  • add build and plugin-{check,vite,wasm,worker} packages (#206) (dd34cbf), closes #203
  • 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