Skip to content

Lingua Franca 0.5.0

Compare
Choose a tag to compare
@francabot francabot released this 02 Sep 05:25
· 1715 commits to master since this release
v0.5.0
a1bcf3b

v0.5.0 (2023-09-01)

Highlights

This release introduces new syntax for initializers, includes a renovation of the C backend to let it generate more modular code, and brings new features like a watchdog construct, support for generics in C, support for SMT-solver-based formal verification using UCLID-5, and bare-iron support for the Raspberry Pi Pico platform.

πŸš€ New Features

✨ Enhancements

  • Keeplive natively inferred in the C++ runtime #1630 (@cmnrd)
  • File access #1715 (@edwardalee)
  • Validator rules to check if target supports federation or inheritance #1726 (@cmnrd)
  • No more space inserted after interleaved keyword by formatter #1846 (@cmnrd)
  • More natural syntax for reaction declarations #1853 (@lhstrh)
  • Fix for extra whitespace around info messages #1879 (@oowekyala)
  • TypeScript runtime bumped to v0.5.0 #1927 (@byeong-gil)
  • Support for named and bodyless reactions in C++ #1933 (@cmnrd)
  • Added layout annotation to add arbitrary layout options an elements #1951 (@soerendomroes)

πŸ”§ Fixes

🚧 Maintenance and Refactoring

  • Migration of Epoch into separate repository #1482 (@a-sr)
  • Improved CLI argument handling using picocli #1534 (@patilatharva)
  • Compile definitions no longer hardcoded in generated CMakeLists.txt #1622 (@petervdonovan)
  • Remove unchecked compilation warnings #1638 (@oowekyala)
  • Refactoring of part of the federated package #1663 (@lhstrh)
  • Removal of the use of non-API global variables in tests #1696 (@edwardalee)
  • Gradle bumped to version 8 #1691 (@lhstrh)
  • Removal of deprecated build-lfc script and buildLfc Gradle task #1714 (@cmnrd)
  • Delete unnecessary complexity from build-lf-cli #1745 (@petervdonovan)
  • C files for Python support retrieved from reactor-c repo #1757 (@lhstrh)
  • Google autoformatter applied to all files #1766 (@lhstrh)
  • Redesign of the repository layout and gradle configuration #1779 (@cmnrd)
  • Removal of odd mechanism for loading target generators dynamically #1813 (@cmnrd)
  • Default line length set to 100 for LF files #1389 (@petervdonovan)
  • KlighD bumped to 2.3.0 and now retrieved from Maven Central #1823 (@cmnrd)
  • Refactor error reporter #1527 (@oowekyala)
  • Unknown port types handled with unknown instead of Present #1857 (@lhstrh)
  • TS code generator adjusted to appease eslint #1878 (@lhstrh)
  • Minor fixes for the README in the test directory #1903 (@lsk567)
  • Declarative Port Graph in C++ Runtime #1848 (@revol-xut)
  • No more use of unordered reactions in federated programs; fix for deadlocks in some federated programs #1684 (@arengarajan99)
  • Tracing utils and Zephyr run scripts moved from util folder #1948 (@erlingrj)

πŸ“– Documentation

πŸ§ͺ Tests

⬆️ Updated Dependencies

  • Update to Zephyr v3.3.0 and SDK v0.16.1 #1825 (@erlingrj)
  • Reactor-ts bumped to v0.4.0 #1749 (@lhstrh)
  • Gradle Wrapper bumped to 8.1.1 #1890 (@lhstrh)
  • Eclipse-related dependencies bumped to latest releases #1889 (@a-sr)
  • TypeScript runtime bumped to v0.5.0 #1927 (@byeong-gil)

Submodule lf-lang/reactor-c

πŸš€ New Features

✨ Enhancements

πŸ”§ Fixes

🚧 Maintenance and Refactoring

πŸ“– Documentation

Submodule lf-lang/reactor-cpp

πŸš€ New Features

  • Enclave connections and enclave coordination #44 (@cmnrd)
  • Simple mechanism for collecting statistics during execution #47 (@cmnrd)
  • Port graph #51 (@revol-xut)

✨ Enhancements

  • Keep track of input actions in the environment #42 (@cmnrd)
  • Factored event queue into its own class and fixed race condition between multiple starting enclaves #45 (@cmnrd)

πŸ”§ Fixes

  • Fix race condition in time barriers #49 (@cmnrd)
  • Fix validate method and fix incorrect phase checks #50 (@cmnrd)

Submodule lf-lang/reactor-rs

πŸ”§ Fixes

🚧 Maintenance and Refactoring

  • Use Cargo workspaces to directly include vecmap dependency #40 (@jhaye)
  • Fixes for current Clippy version #45 (@jhaye)

⬆️ Updated Dependencies

  • Dependencies bumped to avoid vulnerability in smallvec #44 (@oowekyala)