Releases: forsyde/IDeSyDe
0.8.3 - Initial FPGA support
This minor release now supports FPGA elements coming for ForSyDe IO models. It also solves this by using a new MiniZinc explorer implemented in Rust. The user must have minizinc
available in their path to use this new explorer, whenever it is applicable.
0.8.2 - Exploration improvements
This patch fixes certain subtle modelling problems unerneath the contraint models and brings back certain features of the CP solver that were disabled before. This patch is largely compatible with previous ones and can be used drop-in.
0.8.1 - Important bug fixes
This patch fixes bugs introduced in the minor update to 0.8 which made IDeSyDe unable to solve more than half the cases it could before.
0.8.0 - Refactor of external modules to dynamic libs and JNI
This minor release changes how external modules, especially non-embedded modules, are handled. Now, the orchestration does not rely on REST and microservices anymore, but achieve similar functionality through well-crafted FFI (e.g. JNI) calls. This is quite better for two reasons:
- It is much easier to control the local processes from the rust orchestrator and their errors are more easily propagated back to the developer.
- It is easier to handle the synchronization barriers between multi-language modules, since the orchestration has full control of the child processes instead of trying to communicate their next steps.
Though not done in this release, it might also be possible to achieve very fast in-memory conversion for certain decision models without going through opaque models.
A current negative consequence is that the device tree cases that worked before don't anymore. This could be due to the many changes performed during this FFI transition and will be addressed in future minor releases and patches.
0.7.5 - Time-out Fixes
This minor release fixes an oversight which would make IDeSyDe run over the total time-out whenever specified. Other small maintenance fixes might be included.
0.7.4 - Session-based fixes
This minor release fixes a couple strange errors introduced with the websocket implementation of sessions. Websockets have been dropped in favor of sessions based on hashing and caching, which makes it arguably more transparent. There could still be a couple of lingering bugs if decision models have are not distinguished adequately so that their hashes clash. A consequence of this is that the identification procedure can be properly parallelized once more.
0.7.3 - Fixes for procedural robustness.
This minor release fixes specific exploration solutions that were found to contain a couple of bugs when coupled with the latest version of ForSyDe IO. It also provides a workaround for some out-of-nowhere synchronisation problems between modules through rule-of-thumb time-outs. These time-outs should not even need to exist, but life is life. In the next releases we hope that this workaround can be lift by fixing the root cause of the synchronisation issues.
0.7.2 - SDF DSE fixes
This minor release fixes a big oversight in the meta-heuristic SDF DSE which resulted in blatlantly wrong throughputs numbers. Other small maintenance fixes might be included.
0.7.1 - DeviceTree and SDF3 restored
This minor release brings back the support for DeviceTree specifications within the Scala legacy module. It also fixes a hidden orchestrator error that disable proper consumption of SDF3 files, despite their suport under-the-hood by the ForSyDe IO module.
0.7.0 - Session based infrastructure
This major release brings many changes to remember listing here. The most important one is that the default communication infrastructure between modules has been changed to websockets to better accommodate bigger models being exchanged around. The orchestrator also got some nice upgrades and sendso only the models to modules that have not been sent yet. Before, it was sending all the modules everytime, costing not only traffic but also time. For the moment, the DeviceTree support has been stopped, but it remains a to-do support feature in the near future. It seems like the choco solver might also have some small problems with cyclic SDF applications, but the meta heuristic solves them fine.