Intuitive concurrent programming in any language
Highlights
This release improves the federated execution capability, makes the handling of target properties more modular and robust, and provides various bugfixes and small enhancements.
๐ New Features
--no-source-mapping
switch to disable line directives #2092 (@lhstrh)โจ Enhancements
๐ง Fixes
_lf_replace_template_token
#2082 (@erlingrj)scheduler
and workers
properties #2110 (@lsk567)3.10
#2151 (@petervdonovan)hashCode()
implementation in TimeValue
class #2157 (@lhstrh)๐ง Maintenance and Refactoring
ulog
from reactor-ts
, code generator updated to allow this change #2052 (@axmmisaka)networks
option #2070 (@Jakio815)๐ Documentation
๐งช Tests
โฌ๏ธ Updated Dependencies
๐ New Features
โจ Enhancements
๐ง Fixes
fedsd
#273 (@erlingrj)GEDF_NP
and removal of deprecated schedulers #282 (@erlingrj)๐ง Maintenance and Refactoring
GEDF_NP
and removal of deprecated schedulers #282 (@erlingrj)federated
named network
#292 (@Jakio815)โจ Enhancements
๐ง Fixes
Highlights
This release addresses several issues in the C code generator and fixes Docker support for federations.
โจ Enhancements
๐ง Fixes
๐ง Maintenance and Refactoring
๐งช Tests
lf_set_array
and persistent inputs #1987 (@edwardalee)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
--json
and --json-file
CLI args add to lfc
#1686 (@patilatharva)LF_PACKAGE_DIRECTORY
#1720 (@edwardalee)--check
flag for lff
#1822 (@cmnrd)lfd
binary for generating diagrams from the command line #1713 (@cmnrd)fedsd
utility updated to make the RTI optional and support enclaves visualization #1870 (@ChadliaJerad)โจ Enhancements
interleaved
keyword by formatter #1846 (@cmnrd)v0.5.0
#1927 (@byeong-gil)๐ง Fixes
files
target property #1725 (@lhstrh)Correspondence
tags out of generated C code #1737 (@petervdonovan)uniqueName
#1815 (@petervdonovan)extends
added to tokens allowed in reaction bodies #1926 (@lhstrh)docker-compose.yml
for federations #1983 (@lhstrh)๐ง Maintenance and Refactoring
picocli
#1534 (@patilatharva)build-lfc
script and buildLfc
Gradle task #1714 (@cmnrd)build-lf-cli
#1745 (@petervdonovan)2.3.0
and now retrieved from Maven Central #1823 (@cmnrd)unknown
instead of Present
#1857 (@lhstrh)eslint
#1878 (@lhstrh)util
folder #1948 (@erlingrj)๐ Documentation
README.md
#1587 (@petervdonovan)๐งช Tests
lfc
#1668 (@patilatharva)SimpleFederatedAuthenticated.lf
test passing #1776 (@Jakio815)lf_request_stop
with enclaves and federates #1871 (@edwardalee)epoch
in CI #1974 (@lhstrh)โฌ๏ธ Updated Dependencies
8.1.1
#1890 (@lhstrh)v0.5.0
#1927 (@byeong-gil)๐ New Features
FEDERATED_AUTHENTICATED
#196 (@Jakio815)LF_PACKAGE_DIRECTORY
#204 (@edwardalee)โจ Enhancements
๐ง Fixes
LF_TIME_BUFFER_LENGTH
#197 (@edwardalee)timespec
#195 (@arengarajan99)๐ง Maintenance and Refactoring
rti.c
made available as library #174 (@Jakio815)_lf_count_token_allocations
made extern
instead of static
#236 (@erlingrj)gethostbyname()
in connect_to_rti()
#220 (@siljesu)๐ Documentation
๐ New Features
โจ Enhancements
๐ง Fixes
๐ง Fixes
๐ง Maintenance and Refactoring
โฌ๏ธ Updated Dependencies
Highlights
This release includes substantial changes under the hood and brings a lot of new features and enhancements, ranging from performance improvements to the support of new platforms like Zephyr, Arduino, and MBED in the C target. In the C++ target, it is now also straightforward to interact with ROS2 packages using the ros2-dependencies
target property.
๐ New Features
โจ Enhancements
๐ง Fixes
๐ง Maintenance and Refactoring
๐งช Tests
โฌ๏ธ Updated Dependencies
๐ New Features
โจ Enhancements
๐ง Fixes
-DAUTH
and CI job for building the RTI #171 (@cmnrd)๐ง Maintenance and Refactoring
Removal of "No CMake" build option #97 (@petervdonovan)
Improved CMake configuration #137 (@erlingrj)
Changes to accommodate restructuring code generation of federated programs #117 (@lhstrh)
Relative paths in lf_types.h #147 (@gundralaa)
Federated support without C include reliance #164 (@arengarajan99)
๐ New Features
โจ Enhancements
๐ง Fixes
๐ New Features
โจ Enhancements
๐ง Fixes
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.
๐ New Features
โจ Enhancements
history
keyword #1247 (@a-sr)๐ง Fixes
0
is no longer interpreted as an absent deadline but one that can never be met #1217 (@billy-bao)CompileActionHandler
#1267 (@lhstrh)ASTUtils.width()
returnning -1
even when the width can be inferred from connections #1287 (@hokeun)๐ง Maintenance and Refactoring
โฌ๏ธ Updated Dependencies
โจ Enhancements
๐ง Fixes
โจ Enhancements
unistd.h
and execinfo.h
includes to void namespace pollution #14 (@erlingrj)๐ง Fixes
๐ New Features
๐งช Tests
Highlights:
This release includes bug fixes related to IDE tooling and federated execution. Various code cleanups and refactoring efforts have also been included in this release.
Implemented enhancements:
python
command if python3
is not available #1197 (@Soroosh129)Fixed bugs:
Closed issues:
Merged pull requests:
C
ui examples #1144 (@housengw)lf_
prefix more functions and reorganize files in C
target #1143 (@housengw)doGenerate
in C
generator and parts of Python and Typescript docker generators #1141 (@housengw)c-extension-no-member
warning #1140 (@housengw)package_lfc
script put files in appropriately named directory #1135 (@lhstrh)PermSize
and MaxPermSize
options as they are not supported by Java 17 #1132 (@cmnrd)Highlights:
This release brings the minimum version requirement of Java to 17, which is a long-term support version that is also broadly supported by newer platforms (e.g., Apple silicon). Other changes included in this release are: a refactoring of the user-facing API of reactor-c, various bugfixes and enhancements of Rust, TypeScript, and C target, and minor improvements of the diagram synthesis.
Implemented enhancements:
Fixed bugs:
_lf_check_deadline
#1123 (@housengw)Closed issues:
info_print
should also have lf_
prefix #1124 (@housengw)Merged pull requests:
lf_
#1127 (@housengw)SET
, schedule and tag APIs in the C target #1103 (@housengw)SET
, schedule
and tag
APIs in the C target #1097 (@housengw)Highlights:
This is the first stable release of Lingua Franca. Aside from numerous bugfixes, a number of new features have been introduced since v0.1.0-beta, including: generation of ROS2 nodes directly from LF code (C++); improved error handling; support for multiports and banks (TypeScript); modular support for runtime schedulers (C); and modal reactors (C and Python). Finally, a major refactoring has been performed in which all remaining Xtend code was ported to Java.
Implemented enhancements:
-v
/ --version
flag to lfc
#927
lfc
is run on non-LF files #919
files
target property #887
bank_index
a proper parameter #343
threads
target property across targets #290
--version
flag to lfc
and improved error messages #979 (@cmnrd)Fixed bugs:
examples
category #405
Closed issues:
JavaAstUtils
and ASTUtils
#1003
buildLfc
task (unless the clean
task is also run) #930
Merged pull requests:
-w
command line argument #1060 (@housengw)org.eclipse.xpand.feature.group
#1050 (@lhstrh)CGenerator.xtend
to Java #1049 (@housengw)org.lflang.diagrams
package #1047 (@a-sr)CGenerator.xtend
#1045 (@housengw)CGenerator.xtend
#1035 (@housengw)xtend-gen
folder from classpath #1014 (@soerendomroes)CGenerator.xtend
#1011 (@housengw)JavaAstUtils
into ASTUtils
#1004 (@housengw)GeneratorBase.xtend
to Java #974 (@housengw)PythonGenerator.xtend
to Java and started refactoring of GeneratorBase
#958 (@housengw)org.lflang.federated
to java #950 (@housengw)LFValidator.xtend
to Java #886 (@housengw)Full Changelog: https://github.com/lf-lang/lingua-franca/compare/v0.1.0-alpha...v0.1.0-beta
after
for various complex connection patterns (#541, #553, #593)3.15.0
-> 3.16.0
(#829)3.22.0
-> 3.24.0
(#829)1.6.0
-> 3.0.0
(#829)6.5
-> 7.0
(#829)4.12
-> 4.13.2
(#829)5.7.2
-> 5.8.2
(#829)1.7.2
-> 1.8.2
(#829)1.4.10
-> 1.6.10
(#866)0.10.0
-> 0.12.0
(#829)6.0.0
-> 7.1.2
(#829)2.0.8
-> 3.0.0
(#829)bank_index
(useful for banks of reactors) is now a proper parameter (#424)
that can be passed down the reactor hierarchy via parameter assignment.