Skip to content

Lingua Franca 0.3.0

Compare
Choose a tag to compare
@francabot francabot released this 22 Jul 17:38
· 6180 commits to master since this release
v0.3.0
3438afb

v0.3.0 (2022-07-22)

Highlights

This release adds broader support for methods (C and Python), syntax for annotations similar those in Java, an adaptive scheduler in the C runtime, and a new platform target property to furnish support for specialized execution platforms.

Full Changelog

🚀 New Features

✨ Enhancements

  • New handling of startup/shutdown/reset reactions in modes #1169 (@a-sr)
  • Diagram layout improvements #1206 (@a-sr)
  • History transitions are now indicated using the history keyword #1247 (@a-sr)
  • Compile warnings are fixed and clang-tidy is ran when compiling C++ tests in CI #1259 (@cmnrd)
  • New design for reset symbols in diagrams #1241 (@a-sr)
  • Improvements of mode diagram layout #1282 (@a-sr)
  • [cpp] Additional checks to determine whether a subdirectory should be included in compilation #1283 (@cmnrd)
  • [cpp] CLI parser errors are caught and a print help message is printed #1288 (@cmnrd)
  • [ts] Handling of physical action-triggered outputs in federated execution (previously handled by TAN - Time Advance Notice) #1275 (@hokeun)

🔧 Fixes

  • TAN messages no longer used and in-transit messages recorded in the RTI #1074 (@Soroosh129)
  • [c] A deadline of 0 is no longer interpreted as an absent deadline but one that can never be met #1217 (@billy-bao)
  • Fix for deadlock in federated execution #1189 (@Soroosh129)
  • [c] Removal of STP violation inheritance mechanism #1251 (@Soroosh129)
  • Fix for properly handling paths with spaces in lfc launch script #1257 (@cmnrd)
  • Fix that repairs the ability to execute commands with Bash in case command is not found on path #1265 (@petervdonovan)
  • Fix to not include downstream reactions in highlighted cycles #1270 (@edwardalee)
  • Correction of misplacement of self loops in diagrams #1274 (@a-sr)
  • Fix that silences spurious error messages from Pylint #1280 (@petervdonovan)
  • Patch that avoids NullPointerException in CompileActionHandler #1267 (@lhstrh)
  • Do not minimize the shadow jar #1285 (@cmnrd)
  • Fix for ASTUtils.width() returnning -1 even when the width can be inferred from connections #1287 (@hokeun)
  • Fix banks of modal reactors #1279 (@a-sr)
  • Ensure that reactions consistently trigger banks #1289 (@edwardalee)
  • Cpp: fix triggering of reactions in multiple nested reactors #1286 (@cmnrd)
  • Fix to ensure the ordering of reactions relative to modes is correct #1303 (@a-sr)

🚧 Maintenance and Refactoring

⬆️ Updated Dependencies

Submodule lf-lang/reactor-c

✨ Enhancements

  • New handling of startup/shutdown/reset reactions in modes #79 (@a-sr)
  • STP violations now result in error messages #82 (@edwardalee)
  • Removal of TAN messages and new capability to record in-transit messages in the RTI #61 (@Soroosh129)

🔧 Fixes

  • Patch to ensure that deadlines with zero delay are never met #86 (@billy-bao)

Submodule lf-lang/reactor-cpp

✨ Enhancements

  • Nix tooling expanded with cachegrind, callgrind, and memtest #13 (@revol-xut)
  • Relocation of unistd.h and execinfo.h includes to void namespace pollution #14 (@erlingrj)
  • Fixes that addresses warnings reported by clang-tidy #15 (@cmnrd)
  • Optimized port communication for scalar types #17 (@cmnrd)

🔧 Fixes

  • Fix to allow ports to have both triggers and further bindings #16 (@cmnrd)

Submodule lf-lang/reactor-rs

  • No Changes

Submodule lf-lang/reactor-ts

🚀 New Features

🧪 Tests

  • Increased coverage of unit tests in bank.ts, multiport.ts and port.ts #100 (@goekberk)