diff --git a/CHANGELOG.md b/CHANGELOG.md index 68aa2e3c2e..dd469c4bcd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,213 @@ # Changelog +## [v0.4.0](https://github.com/lf-lang/lingua-franca/tree/v0.4.0) (2023-03-01) + +**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** + +- Multiport iterator for more efficient access to sparse inputs [\#1298](https://github.com/lf-lang/lingua-franca/pull/1298) ([edwardalee](https://github.com/edwardalee)) +- Inference of logical execution times of reactions [\#1292](https://github.com/lf-lang/lingua-franca/pull/1292) ([lhstrh](https://github.com/lhstrh)) +- Custom icons for reactors in diagrams [\#1300](https://github.com/lf-lang/lingua-franca/pull/1300) ([a-sr](https://github.com/a-sr)) +- Support for Arduino platforms [\#1272](https://github.com/lf-lang/lingua-franca/pull/1272) ([arengarajan99](https://github.com/arengarajan99)) +- Automatic LF code formatter [\#1227](https://github.com/lf-lang/lingua-franca/pull/1227) ([petervdonovan](https://github.com/petervdonovan)) +- Option of using OpenSSL for authentication between RTI and federates [\#1432](https://github.com/lf-lang/lingua-franca/pull/1432) ([Jakio815](https://github.com/Jakio815)) +- Safe handling of physical actions in single-threaded C runtime [\#1348](https://github.com/lf-lang/lingua-franca/pull/1348) ([lhstrh](https://github.com/lhstrh)) +- Initial support for childref multiports [\#1228](https://github.com/lf-lang/lingua-franca/pull/1228) ([jhaye](https://github.com/jhaye)) +- Epoch built for M1 Mac [\#1530](https://github.com/lf-lang/lingua-franca/pull/1530) ([hokeun](https://github.com/hokeun)) +- Proper handling of asynchronous interactions in Rust [\#1459](https://github.com/lf-lang/lingua-franca/pull/1459) ([oowekyala](https://github.com/oowekyala)) +- Support for basic scheduling enclaves in the C++ target [\#1513](https://github.com/lf-lang/lingua-franca/pull/1513) ([cmnrd](https://github.com/cmnrd)) +- Zephyr support for the C target [\#1536](https://github.com/lf-lang/lingua-franca/pull/1536) ([erlingrj](https://github.com/erlingrj)) +- Support for Arduino CLI [\#1532](https://github.com/lf-lang/lingua-franca/pull/1532) ([arengarajan99](https://github.com/arengarajan99)) +- Arduino MBED RTOS Support [\#1581](https://github.com/lf-lang/lingua-franca/pull/1581) ([arengarajan99](https://github.com/arengarajan99)) + +**✨ Enhancements** + +- Added advance-message-interval option and more federated tests for TypeScript [\#1293](https://github.com/lf-lang/lingua-franca/pull/1293) ([hokeun](https://github.com/hokeun)) +- Improved layout for error message node [\#1324](https://github.com/lf-lang/lingua-franca/pull/1324) ([a-sr](https://github.com/a-sr)) +- C++ target performance optimizations [\#1330](https://github.com/lf-lang/lingua-franca/pull/1330) ([cmnrd](https://github.com/cmnrd)) +- Improved error messaging for mode validation [\#1349](https://github.com/lf-lang/lingua-franca/pull/1349) ([a-sr](https://github.com/a-sr)) +- New target property for specifying additional ROS dependencies [\#1355](https://github.com/lf-lang/lingua-franca/pull/1355) ([cmnrd](https://github.com/cmnrd)) +- Support for passthrough connections in the C++ target [\#1361](https://github.com/lf-lang/lingua-franca/pull/1361) ([cmnrd](https://github.com/cmnrd)) +- Support scheduling physical actions synchronously [\#1367](https://github.com/lf-lang/lingua-franca/pull/1367) ([oowekyala](https://github.com/oowekyala)) +- Automatic code formatting using Spotless [\#1374](https://github.com/lf-lang/lingua-franca/pull/1374) ([petervdonovan](https://github.com/petervdonovan)) +- Optimized access to sparse multiports in the C++ target [\#1312](https://github.com/lf-lang/lingua-franca/pull/1312) ([revol-xut](https://github.com/revol-xut)) +- Augmented support for Arduino [\#1384](https://github.com/lf-lang/lingua-franca/pull/1384) ([arengarajan99](https://github.com/arengarajan99)) +- New lff autoformatter for Lingua Franca files [\#1422](https://github.com/lf-lang/lingua-franca/pull/1422) ([cmnrd](https://github.com/cmnrd)) +- Protection from code modifying the multiport container in C++ [\#1420](https://github.com/lf-lang/lingua-franca/pull/1420) ([revol-xut](https://github.com/revol-xut)) +- Empty bracket pairs properly tokenized [\#1439](https://github.com/lf-lang/lingua-franca/pull/1439) ([oowekyala](https://github.com/oowekyala)) +- Switched to Gradle for language and diagram server build [\#1469](https://github.com/lf-lang/lingua-franca/pull/1469) ([a-sr](https://github.com/a-sr)) +- Better multiport support for Rust [\#1406](https://github.com/lf-lang/lingua-franca/pull/1406) ([oowekyala](https://github.com/oowekyala)) +- Reduction of disk usage in the Rust target [\#1476](https://github.com/lf-lang/lingua-franca/pull/1476) ([oowekyala](https://github.com/oowekyala)) +- Native implementation of timeout in C++ [\#1507](https://github.com/lf-lang/lingua-franca/pull/1507) ([cmnrd](https://github.com/cmnrd)) +- Less verbose CMake output via suppressed install messages [\#1517](https://github.com/lf-lang/lingua-franca/pull/1517) ([cmnrd](https://github.com/cmnrd)) +- Preservation of time units when formatting LF code [\#1518](https://github.com/lf-lang/lingua-franca/pull/1518) ([cmnrd](https://github.com/cmnrd)) +- Check for update Rust runtime [\#1546](https://github.com/lf-lang/lingua-franca/pull/1546) ([oowekyala](https://github.com/oowekyala)) +- Bugfixes and improvements in token-based memory management in C [\#1548](https://github.com/lf-lang/lingua-franca/pull/1548) ([edwardalee](https://github.com/edwardalee)) +- Use of delayed and physical connections as provided by the C++ runtime [\#1583](https://github.com/lf-lang/lingua-franca/pull/1583) ([cmnrd](https://github.com/cmnrd)) + +**🔧 Fixes** + +- Removal of error reporting markers from parameter types [\#1310](https://github.com/lf-lang/lingua-franca/pull/1310) ([Wonseo-C](https://github.com/Wonseo-C)) +- Quick fix to adjust upstreamFedDelays as never tag [\#1334](https://github.com/lf-lang/lingua-franca/pull/1334) ([byeong-gil](https://github.com/byeong-gil)) +- Fixed tracing in the C++ target [\#1350](https://github.com/lf-lang/lingua-franca/pull/1350) ([cmnrd](https://github.com/cmnrd)) +- Reactor runtime module excluded from the Rust test modules [\#1351](https://github.com/lf-lang/lingua-franca/pull/1351) ([oowekyala](https://github.com/oowekyala)) +- Problem with child dependencies in Rust fixed [\#1352](https://github.com/lf-lang/lingua-franca/pull/1352) ([oowekyala](https://github.com/oowekyala)) +- Adjustment of code generator to address #1368 [\#1370](https://github.com/lf-lang/lingua-franca/pull/1370) ([lsk567](https://github.com/lsk567)) +- Removal of PyDev and Kotlin plugin dependencies from Epoch [\#1371](https://github.com/lf-lang/lingua-franca/pull/1371) ([lhstrh](https://github.com/lhstrh)) +- Repair of Windows diagnostic reporting [\#1391](https://github.com/lf-lang/lingua-franca/pull/1391) ([petervdonovan](https://github.com/petervdonovan)) +- Fix of flaky timedwait on Windows [\#1402](https://github.com/lf-lang/lingua-franca/pull/1402) ([lhstrh](https://github.com/lhstrh)) +- Use of paths not URIs in line-directives [\#1412](https://github.com/lf-lang/lingua-franca/pull/1412) ([erlingrj](https://github.com/erlingrj)) +- NPE in Epoch fixed [\#1425](https://github.com/lf-lang/lingua-franca/pull/1425) ([petervdonovan](https://github.com/petervdonovan)) +- JavaDoc and NPE on toString fixed [\#1445](https://github.com/lf-lang/lingua-franca/pull/1445) ([edwardalee](https://github.com/edwardalee)) +- Avoid reading the same input stream twice [\#1490](https://github.com/lf-lang/lingua-franca/pull/1490) ([cmnrd](https://github.com/cmnrd)) +- Tracing tools Makefile fixed [\#1485](https://github.com/lf-lang/lingua-franca/pull/1485) ([lsk567](https://github.com/lsk567)) +- MalleableStrings made human readable [\#1500](https://github.com/lf-lang/lingua-franca/pull/1500) ([petervdonovan](https://github.com/petervdonovan)) +- Fix for broken deadline propagation mechanism [\#1451](https://github.com/lf-lang/lingua-franca/pull/1451) ([erlingrj](https://github.com/erlingrj)) +- Fix of CMake policy CMP0068 warning [\#1523](https://github.com/lf-lang/lingua-franca/pull/1523) ([cmnrd](https://github.com/cmnrd)) +- rs/AsyncCallback: Join thread before creating new one [\#1542](https://github.com/lf-lang/lingua-franca/pull/1542) ([oowekyala](https://github.com/oowekyala)) +- Bugfix for port access to contained generic reactors in C++ [\#1547](https://github.com/lf-lang/lingua-franca/pull/1547) ([cmnrd](https://github.com/cmnrd)) +- Fixed validation of icon paths [\#1572](https://github.com/lf-lang/lingua-franca/pull/1572) ([cmnrd](https://github.com/cmnrd)) +- Useful error message upon encountering missing runtime sources [\#1573](https://github.com/lf-lang/lingua-franca/pull/1573) ([cmnrd](https://github.com/cmnrd)) +- [ts] Bugfix that re-enables the use of custom configuration files [\#1575](https://github.com/lf-lang/lingua-franca/pull/1575) ([lhstrh](https://github.com/lhstrh)) +- Fix to let relative include helper ignore non-C files [\#1578](https://github.com/lf-lang/lingua-franca/pull/1578) ([lhstrh](https://github.com/lhstrh)) +- Fix failing building of tracing tools [\#1589](https://github.com/lf-lang/lingua-franca/pull/1589) ([erlingrj](https://github.com/erlingrj)) +- Fixes in relative include helper for arduino-cli [\#1586](https://github.com/lf-lang/lingua-franca/pull/1586) ([arengarajan99](https://github.com/arengarajan99)) +- CLI args propagated to federates [\#1604](https://github.com/lf-lang/lingua-franca/pull/1604) ([lhstrh](https://github.com/lhstrh)) +- [ts] Missing types pulled from npm [\#1609](https://github.com/lf-lang/lingua-franca/pull/1609) ([lhstrh](https://github.com/lhstrh)) + +**🚧 Maintenance and Refactoring** + +- Use HTTPS for Rust reactor runtime submodule [\#1308](https://github.com/lf-lang/lingua-franca/pull/1308) ([jhaye](https://github.com/jhaye)) +- Switch from Rust nightly to Rust stable [\#1218](https://github.com/lf-lang/lingua-franca/pull/1218) ([jhaye](https://github.com/jhaye)) +- Tests in TypeScript for requesting stop in federated execution [\#1302](https://github.com/lf-lang/lingua-franca/pull/1302) ([hokeun](https://github.com/hokeun)) +- More portable way to suppress unused variable warnings [\#1317](https://github.com/lf-lang/lingua-franca/pull/1317) ([edwardalee](https://github.com/edwardalee)) +- Reduced verbosity in reported output [\#1323](https://github.com/lf-lang/lingua-franca/pull/1323) ([petervdonovan](https://github.com/petervdonovan)) +- Reference reactor-ts as module [\#1322](https://github.com/lf-lang/lingua-franca/pull/1322) ([lhstrh](https://github.com/lhstrh)) +- Removal of unnecessary build dependency to address security exceptions [\#1365](https://github.com/lf-lang/lingua-franca/pull/1365) ([cmnrd](https://github.com/cmnrd)) +- Simplification of grammar that encodes mutations with the same productions as reactions [\#1318](https://github.com/lf-lang/lingua-franca/pull/1318) ([Wonseo-C](https://github.com/Wonseo-C)) +- Removal of "No CMake" build option [\#1299](https://github.com/lf-lang/lingua-franca/pull/1299) ([petervdonovan](https://github.com/petervdonovan)) +- Usage of a published version of reactor-ts [\#1426](https://github.com/lf-lang/lingua-franca/pull/1426) ([petervdonovan](https://github.com/petervdonovan)) +- Differentiation between multi-threaded and single-threaded preprocessor directives in C [\#1411](https://github.com/lf-lang/lingua-franca/pull/1411) ([erlingrj](https://github.com/erlingrj)) +- TypeScript generator cleanups [\#1457](https://github.com/lf-lang/lingua-franca/pull/1457) ([oowekyala](https://github.com/oowekyala)) +- Clean up AttributeUtils [\#1470](https://github.com/lf-lang/lingua-franca/pull/1470) ([cmnrd](https://github.com/cmnrd)) +- Infrastructure for AST transformations and factored out delay transformation [\#1508](https://github.com/lf-lang/lingua-franca/pull/1508) ([cmnrd](https://github.com/cmnrd)) +- Cleanup initializer grammar [\#1441](https://github.com/lf-lang/lingua-franca/pull/1441) ([oowekyala](https://github.com/oowekyala)) +- Serialization of compile definitions [\#1529](https://github.com/lf-lang/lingua-franca/pull/1529) ([erlingrj](https://github.com/erlingrj)) +- Fix and reformat javadoc @author tag [\#1486](https://github.com/lf-lang/lingua-franca/pull/1486) ([axmmisaka](https://github.com/axmmisaka)) +- Restructuring of mechanism for compiling federated programs [\#1221](https://github.com/lf-lang/lingua-franca/pull/1221) ([lhstrh](https://github.com/lhstrh)) +- Removal of .c file includes in federated programs [\#1601](https://github.com/lf-lang/lingua-franca/pull/1601) ([arengarajan99](https://github.com/arengarajan99)) + +**🧪 Tests** + +- Only record tests in test/*/src [\#1358](https://github.com/lf-lang/lingua-franca/pull/1358) ([oowekyala](https://github.com/oowekyala)) +- Test for Rust main parameters [\#1366](https://github.com/lf-lang/lingua-franca/pull/1366) ([oowekyala](https://github.com/oowekyala)) +- Add CLI unit tests [\#1467](https://github.com/lf-lang/lingua-franca/pull/1467) ([oowekyala](https://github.com/oowekyala)) +- Correct reporting of assertion errors and exceptions during code generation [\#1498](https://github.com/lf-lang/lingua-franca/pull/1498) ([cmnrd](https://github.com/cmnrd)) +- Removal of uses of deprecated reactor-c API in tests [\#1566](https://github.com/lf-lang/lingua-franca/pull/1566) ([erlingrj](https://github.com/erlingrj)) + +**⬆️ Updated Dependencies** + +- Bump Rust runtime [\#1357](https://github.com/lf-lang/lingua-franca/pull/1357) ([jhaye](https://github.com/jhaye)) +- Xtext to 2.18.0, LSP4J to 0.15.0, and Guice to 5.1.0 [\#1364](https://github.com/lf-lang/lingua-franca/pull/1364) ([lhstrh](https://github.com/lhstrh)) +- Gradle bumped to version 7.5.1 [\#1408](https://github.com/lf-lang/lingua-franca/pull/1408) ([lhstrh](https://github.com/lhstrh)) +- Upgrade to Gradle v7.6.1 [\#1608](https://github.com/lf-lang/lingua-franca/pull/1608) ([lhstrh](https://github.com/lhstrh)) + + +### Submodule [lf-lang/reactor-c](http://github.com/lf-lang/reactor-c) + +**🚀 New Features** + +- Adaptive scheduler [\#85](https://github.com/lf-lang/reactor-c/pull/85) ([petervdonovan](https://github.com/petervdonovan)) +- Support for Arduino platforms [\#89](https://github.com/lf-lang/reactor-c/pull/89) ([arengarajan99](https://github.com/arengarajan99)) +- Basic authentication using HMAC for federates joining a federation [\#105](https://github.com/lf-lang/reactor-c/pull/105) ([hokeun](https://github.com/hokeun)) +- Platform support for Embedded targets [\#106](https://github.com/lf-lang/reactor-c/pull/106) ([lhstrh](https://github.com/lhstrh)) +- Changes to facilitate arduino-cli support [\#138](https://github.com/lf-lang/reactor-c/pull/138) ([arengarajan99](https://github.com/arengarajan99)) +- Zephyr support [\#134](https://github.com/lf-lang/reactor-c/pull/134) ([erlingrj](https://github.com/erlingrj)) +- Critical section functions as part of the public API [\#142](https://github.com/lf-lang/reactor-c/pull/142) ([edwardalee](https://github.com/edwardalee)) +- Preliminary multi-board support for Arduino [\#141](https://github.com/lf-lang/reactor-c/pull/141) ([arengarajan99](https://github.com/arengarajan99)) +- Add hi-res timing support for imxrt1170evk [\#149](https://github.com/lf-lang/reactor-c/pull/149) ([erlingrj](https://github.com/erlingrj)) +- Threading support for Arduino MBED/coupling of mutexes and condition variables [\#153](https://github.com/lf-lang/reactor-c/pull/153) ([arengarajan99](https://github.com/arengarajan99)) + +**✨ Enhancements** + +- C support for multiport iterator for sparse inputs [\#95](https://github.com/lf-lang/reactor-c/pull/95) ([edwardalee](https://github.com/edwardalee)) +- Fewer warnings [\#101](https://github.com/lf-lang/reactor-c/pull/101) ([edwardalee](https://github.com/edwardalee)) +- Initial style guide [\#103](https://github.com/lf-lang/reactor-c/pull/103) ([petervdonovan](https://github.com/petervdonovan)) +- Memory management improvements and bugfixes [\#144](https://github.com/lf-lang/reactor-c/pull/144) ([edwardalee](https://github.com/edwardalee)) +- Improved CMake configuration [\#156](https://github.com/lf-lang/reactor-c/pull/156) ([arengarajan99](https://github.com/arengarajan99)) +- Small fixes to get Zephyr target compiling with threaded runtime [\#155](https://github.com/lf-lang/reactor-c/pull/155) ([erlingrj](https://github.com/erlingrj)) + +**🔧 Fixes** + +- Fixed memory leaks in RTI [\#113](https://github.com/lf-lang/reactor-c/pull/113) ([erlingrj](https://github.com/erlingrj)) +- Fix of flaky timedwait on Windows [\#115](https://github.com/lf-lang/reactor-c/pull/115) ([cmnrd](https://github.com/cmnrd)) +- Token payload freed with after delay [\#124](https://github.com/lf-lang/reactor-c/pull/124) ([edwardalee](https://github.com/edwardalee)) +- Consistent way of handling entry and exit of critical section [\#136](https://github.com/lf-lang/reactor-c/pull/136) ([erlingrj](https://github.com/erlingrj)) +- Scheduling preprocessing fix [\#154](https://github.com/lf-lang/reactor-c/pull/154) ([erlingrj](https://github.com/erlingrj)) +- Fix problem with threaded Zephyr and overflow handling in QEMU emulation [\#159](https://github.com/lf-lang/reactor-c/pull/159) ([erlingrj](https://github.com/erlingrj)) +- Intended tag printed instead of last-seen tag in debug message [\#160](https://github.com/lf-lang/reactor-c/pull/160) ([byeong-gil](https://github.com/byeong-gil)) +- Zephyr timing fix [\#166](https://github.com/lf-lang/reactor-c/pull/166) ([erlingrj](https://github.com/erlingrj)) +- Fixed compilation of RTI without `-DAUTH` and CI job for building the RTI [\#171](https://github.com/lf-lang/reactor-c/pull/171) ([cmnrd](https://github.com/cmnrd)) + +**🚧 Maintenance and Refactoring** + +- Removal of "No CMake" build option [\#97](https://github.com/lf-lang/reactor-c/pull/97) ([petervdonovan](https://github.com/petervdonovan)) +- Improved CMake configuration [\#137](https://github.com/lf-lang/reactor-c/pull/137) ([erlingrj](https://github.com/erlingrj)) +- Changes to accommodate restructuring code generation of federated programs [\#117](https://github.com/lf-lang/reactor-c/pull/117) ([lhstrh](https://github.com/lhstrh)) +- Relative paths in lf_types.h [\#147](https://github.com/lf-lang/reactor-c/pull/147) ([gundralaa](https://github.com/gundralaa)) + +- Federated support without C include reliance [\#164](https://github.com/lf-lang/reactor-c/pull/164) ([arengarajan99](https://github.com/arengarajan99)) + +### Submodule [lf-lang/reactor-cpp](http://github.com/lf-lang/reactor-cpp) + +**🚀 New Features** + +- Support passthrough connections [\#29](https://github.com/lf-lang/reactor-cpp/pull/29) ([cmnrd](https://github.com/cmnrd)) +- Enable multiple environments and schedulers to run at the same time [\#37](https://github.com/lf-lang/reactor-cpp/pull/37) ([cmnrd](https://github.com/cmnrd)) +- Native runtime implementation of delayed and physical connections [\#38](https://github.com/lf-lang/reactor-cpp/pull/38) ([revol-xut](https://github.com/revol-xut)) + +**✨ Enhancements** + +- Optimization of value pointers for trivially copyable types [\#22](https://github.com/lf-lang/reactor-cpp/pull/22) ([cmnrd](https://github.com/cmnrd)) +- Avoid locking when scheduling actions [\#23](https://github.com/lf-lang/reactor-cpp/pull/23) ([cmnrd](https://github.com/cmnrd)) +- Optimized Multiports [\#24](https://github.com/lf-lang/reactor-cpp/pull/24) ([revol-xut](https://github.com/revol-xut)) +- Protect multiports from accidental modification by restricting Multiport and introducing new class ModifyableMultiport [\#33](https://github.com/lf-lang/reactor-cpp/pull/33) ([revol-xut](https://github.com/revol-xut)) +- Native timeout implementation, sync_shutdown made threadsafe, and is_present added for timers [\#36](https://github.com/lf-lang/reactor-cpp/pull/36) ([cmnrd](https://github.com/cmnrd)) +- Optimization: use std::string_view in validation functions [\#41](https://github.com/lf-lang/reactor-cpp/pull/41) ([cmnrd](https://github.com/cmnrd)) +- Native runtime implementation of delayed and physical connections [\#38](https://github.com/lf-lang/reactor-cpp/pull/38) ([revol-xut](https://github.com/revol-xut)) + +**🔧 Fixes** + +- Fixed compilation with tracing support [\#25](https://github.com/lf-lang/reactor-cpp/pull/25) ([cmnrd](https://github.com/cmnrd)) +- Fix race condtions related to the scheduling of physical actions [\#31](https://github.com/lf-lang/reactor-cpp/pull/31) ([cmnrd](https://github.com/cmnrd)) +- Fix compilation on 32-Bit machines [\#40](https://github.com/lf-lang/reactor-cpp/pull/40) ([cmnrd](https://github.com/cmnrd)) + + +### Submodule [lf-lang/reactor-rs](http://github.com/lf-lang/reactor-rs) + +**🚀 New Features** + +- Support for synchronous scheduling of physical actions [\#30](https://github.com/lf-lang/reactor-rs/pull/30) ([oowekyala](https://github.com/oowekyala)) + +**✨ Enhancements** + +- Replace level assignment algo [\#31](https://github.com/lf-lang/reactor-rs/pull/31) ([oowekyala](https://github.com/oowekyala)) +- Switched from Rust Nightly to Rust Stable [\#32](https://github.com/lf-lang/reactor-rs/pull/32) ([jhaye](https://github.com/jhaye)) +- Use of stable toolchain for lints in CI [\#35](https://github.com/lf-lang/reactor-rs/pull/35) ([oowekyala](https://github.com/oowekyala)) +- Simplified access to ports and port banks [\#29](https://github.com/lf-lang/reactor-rs/pull/29) ([oowekyala](https://github.com/oowekyala)) +- Use of external verified VecMap crate [\#39](https://github.com/lf-lang/reactor-rs/pull/39) ([jhaye](https://github.com/jhaye)) +- Removal of scoped threads for physical actions [\#34](https://github.com/lf-lang/reactor-rs/pull/34) ([oowekyala](https://github.com/oowekyala)) + +**🔧 Fixes** + +- Clippy fixes [\#27](https://github.com/lf-lang/reactor-rs/pull/27) ([jhaye](https://github.com/jhaye)) +- Fix problem with merging of reaction plans [\#28](https://github.com/lf-lang/reactor-rs/pull/28) ([oowekyala](https://github.com/oowekyala)) + + + ## [v0.3.0](https://github.com/lf-lang/lingua-franca/tree/v0.3.0) (2022-07-22) **Highlights** diff --git a/LICENSE b/LICENSE index 716d46b5fb..025e767c57 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ This software is licensed under the BSD 2-Clause License. -Copyright (c) 2019-2022, the Lingua Franca contributors. +Copyright (c) 2019-2023, the Lingua Franca contributors. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/gradle.properties b/gradle.properties index 4006c4b3ed..f99771b88b 100644 --- a/gradle.properties +++ b/gradle.properties @@ -1,6 +1,6 @@ [header] group=org.lflang -version=0.3.1-SNAPSHOT +version=0.4.0 [versions] commonsCliVersion=1.4 diff --git a/org.lflang.diagram/META-INF/MANIFEST.MF b/org.lflang.diagram/META-INF/MANIFEST.MF index b11524c688..45049b5cea 100644 --- a/org.lflang.diagram/META-INF/MANIFEST.MF +++ b/org.lflang.diagram/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Lingua Franca Block Diagram Editor Bundle-SymbolicName: org.lflang.diagram;singleton:=true -Bundle-Version: 0.3.1.qualifier +Bundle-Version: 0.4.0 Automatic-Module-Name: org.lflang.diagram Bundle-RequiredExecutionEnvironment: JavaSE-17 Bundle-ActivationPolicy: lazy diff --git a/org.lflang.diagram/pom.xml b/org.lflang.diagram/pom.xml index cb93a743e9..29483c40f6 100644 --- a/org.lflang.diagram/pom.xml +++ b/org.lflang.diagram/pom.xml @@ -8,7 +8,7 @@ ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.diagram diff --git a/org.lflang.ide/META-INF/MANIFEST.MF b/org.lflang.ide/META-INF/MANIFEST.MF index d31a90e3d8..873c1d1c5c 100644 --- a/org.lflang.ide/META-INF/MANIFEST.MF +++ b/org.lflang.ide/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: org.lflang.ide Bundle-ManifestVersion: 2 Bundle-Name: Lingua Franca IDE Bundle-Vendor: University of California, Berkeley -Bundle-Version: 0.3.1.qualifier +Bundle-Version: 0.4.0 Bundle-SymbolicName: org.lflang.ide; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: org.lflang, diff --git a/org.lflang.ide/pom.xml b/org.lflang.ide/pom.xml index 9ba35c93e1..0bb8d328a0 100644 --- a/org.lflang.ide/pom.xml +++ b/org.lflang.ide/pom.xml @@ -7,7 +7,7 @@ ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.ide diff --git a/org.lflang.product/META-INF/MANIFEST.MF b/org.lflang.product/META-INF/MANIFEST.MF index 80749becbd..fd9ebbcc85 100644 --- a/org.lflang.product/META-INF/MANIFEST.MF +++ b/org.lflang.product/META-INF/MANIFEST.MF @@ -2,7 +2,7 @@ Manifest-Version: 1.0 Bundle-ManifestVersion: 2 Bundle-Name: Lingua Franca Product Bundle-SymbolicName: org.lflang.product;singleton:=true -Bundle-Version: 0.3.1.qualifier +Bundle-Version: 0.4.0 Bundle-RequiredExecutionEnvironment: JavaSE-17 Automatic-Module-Name: org.lflang.product Bundle-Vendor: University of California, Berkeley diff --git a/org.lflang.product/plugin.xml b/org.lflang.product/plugin.xml index bae5ff15cd..43e3e216fc 100644 --- a/org.lflang.product/plugin.xml +++ b/org.lflang.product/plugin.xml @@ -34,7 +34,7 @@ + value="Version: 0.4.0. Epoch is an IDE for Lingua Franca, a polyglot coordination language for building concurrent and distributed software that delivers predictable and reproducible reactive behavior. Visit our GitHub: https://repo.lf-lang.org/. This software is licensed under the BSD 2-Clause License. Copyright © 2019-2023, the Lingua Franca contributors. All rights reserved."> ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.product diff --git a/org.lflang.product/splash.bmp b/org.lflang.product/splash.bmp index 7f77dadb29..6f1d5efc90 100644 Binary files a/org.lflang.product/splash.bmp and b/org.lflang.product/splash.bmp differ diff --git a/org.lflang.rca/lflang.product b/org.lflang.rca/lflang.product index 520fb3ce38..ff73577f24 100644 --- a/org.lflang.rca/lflang.product +++ b/org.lflang.rca/lflang.product @@ -1,7 +1,7 @@ - + @@ -13,7 +13,7 @@ Epoch is an IDE for Lingua Franca, a coordination language for building concurre Visit our GitHub: https://repo.lf-lang.org/. This software is licensed under the BSD 2-Clause License. -Copyright © 2019-2022, the Lingua Franca contributors. All rights reserved. +Copyright © 2019-2023, the Lingua Franca contributors. All rights reserved. @@ -64,7 +64,7 @@ Copyright © 2019-2022, the Lingua Franca contributors. All rights reserved. Epoch IDE is licensed under the BSD 2-Clause License: -Copyright © 2019-2022, the Lingua Franca constributors. All rights reserved. +Copyright © 2019-2023, the Lingua Franca constributors. All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: diff --git a/org.lflang.rca/pom.xml b/org.lflang.rca/pom.xml index 28c22582bc..830571183d 100644 --- a/org.lflang.rca/pom.xml +++ b/org.lflang.rca/pom.xml @@ -8,10 +8,10 @@ ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.rca eclipse-repository Lingua Franca Epoch IDE diff --git a/org.lflang.sdk/feature.xml b/org.lflang.sdk/feature.xml index 018e708605..ac329f49db 100644 --- a/org.lflang.sdk/feature.xml +++ b/org.lflang.sdk/feature.xml @@ -2,7 +2,7 @@ + version="0.4.0"> diff --git a/org.lflang.sdk/pom.xml b/org.lflang.sdk/pom.xml index d4766b03f3..eb69635d00 100644 --- a/org.lflang.sdk/pom.xml +++ b/org.lflang.sdk/pom.xml @@ -7,7 +7,7 @@ ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.sdk diff --git a/org.lflang.targetplatform/pom.xml b/org.lflang.targetplatform/pom.xml index d736f7f607..e2f03e1b6f 100644 --- a/org.lflang.targetplatform/pom.xml +++ b/org.lflang.targetplatform/pom.xml @@ -4,7 +4,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> 4.0.0 - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.targetplatform eclipse-target-definition Lingua Franca Target Platform @@ -12,7 +12,7 @@ org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 ../pom.xml diff --git a/org.lflang.tests/META-INF/MANIFEST.MF b/org.lflang.tests/META-INF/MANIFEST.MF index 1e0539c0f5..f8ea9540a5 100644 --- a/org.lflang.tests/META-INF/MANIFEST.MF +++ b/org.lflang.tests/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: org.lflang.tests Bundle-ManifestVersion: 2 Bundle-Name: Lingua Franca Tests Bundle-Vendor: University of California, Berkeley -Bundle-Version: 0.3.1.qualifier +Bundle-Version: 0.4.0 Bundle-SymbolicName: org.lflang.tests; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: org.lflang, diff --git a/org.lflang.tests/pom.xml b/org.lflang.tests/pom.xml index 66854d4996..c104c792c7 100644 --- a/org.lflang.tests/pom.xml +++ b/org.lflang.tests/pom.xml @@ -6,7 +6,7 @@ ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.tests diff --git a/org.lflang.ui.tests/META-INF/MANIFEST.MF b/org.lflang.ui.tests/META-INF/MANIFEST.MF index d65c33ed96..a770190e08 100644 --- a/org.lflang.ui.tests/META-INF/MANIFEST.MF +++ b/org.lflang.ui.tests/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: org.lflang.ui.tests Bundle-ManifestVersion: 2 Bundle-Name: Lingua Franca UI Tests Bundle-Vendor: University of California, Berkeley -Bundle-Version: 0.3.1.qualifier +Bundle-Version: 0.4.0 Bundle-SymbolicName: org.lflang.ui.tests; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: org.lflang.ui, diff --git a/org.lflang.ui.tests/pom.xml b/org.lflang.ui.tests/pom.xml index b2ee9d321c..968e3d58de 100644 --- a/org.lflang.ui.tests/pom.xml +++ b/org.lflang.ui.tests/pom.xml @@ -6,7 +6,7 @@ ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.ui.tests diff --git a/org.lflang.ui/META-INF/MANIFEST.MF b/org.lflang.ui/META-INF/MANIFEST.MF index 08371cdbf4..4ebe57881b 100644 --- a/org.lflang.ui/META-INF/MANIFEST.MF +++ b/org.lflang.ui/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: org.lflang.ui Bundle-ManifestVersion: 2 Bundle-Name: Lingua Franca UI Bundle-Vendor: University of California, Berkeley -Bundle-Version: 0.3.1.qualifier +Bundle-Version: 0.4.0 Bundle-SymbolicName: org.lflang.ui; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: org.lflang, diff --git a/org.lflang.ui/pom.xml b/org.lflang.ui/pom.xml index f9fb56e16b..6e2033a339 100644 --- a/org.lflang.ui/pom.xml +++ b/org.lflang.ui/pom.xml @@ -7,7 +7,7 @@ ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.ui diff --git a/org.lflang.updatesite/pom.xml b/org.lflang.updatesite/pom.xml index cc0103f430..21d3df4ad4 100644 --- a/org.lflang.updatesite/pom.xml +++ b/org.lflang.updatesite/pom.xml @@ -7,7 +7,7 @@ ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 org.lflang.updatesite diff --git a/org.lflang/META-INF/MANIFEST.MF b/org.lflang/META-INF/MANIFEST.MF index 2cfc41eb09..8c2a67294a 100644 --- a/org.lflang/META-INF/MANIFEST.MF +++ b/org.lflang/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Automatic-Module-Name: org.lflang Bundle-ManifestVersion: 2 Bundle-Name: Lingua Franca Language Implementation Bundle-Vendor: University of California, Berkeley -Bundle-Version: 0.3.1.qualifier +Bundle-Version: 0.4.0 Bundle-SymbolicName: org.lflang; singleton:=true Bundle-ActivationPolicy: lazy Require-Bundle: org.eclipse.xtext, diff --git a/org.lflang/pom.xml b/org.lflang/pom.xml index 3600735847..23e4a4d120 100644 --- a/org.lflang/pom.xml +++ b/org.lflang/pom.xml @@ -7,7 +7,7 @@ ../pom.xml org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 org.lflang diff --git a/org.lflang/src/org/lflang/StringsBundle.properties b/org.lflang/src/org/lflang/StringsBundle.properties index 38fe64d92f..f21d29d468 100644 --- a/org.lflang/src/org/lflang/StringsBundle.properties +++ b/org.lflang/src/org/lflang/StringsBundle.properties @@ -1 +1 @@ -VERSION = 0.3.1-SNAPSHOT +VERSION = 0.4.0 diff --git a/pom.xml b/pom.xml index 0f487a69ef..985f8f2d64 100644 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ org.lflang lf - 0.3.1-SNAPSHOT + 0.4.0 pom Lingua Franca