Release Notes 2024-11-01:
-
There is a new option to build MIRA without any GUI components and tools (avoiding some dependencies), see make/GlobalConfig.cmake.
-
We also added support for newer systems which use libproc2 instead of libprocps.
-
Installation directories during compile time are stripped from file paths shown in exception or log messages.
-
Serialization:
-
Legacy format binary serializers are not fully supported anymore by default (to save compilation time and size), they can be re-enabled in make/GlobalConfig.cmake if needed.
-
For Time, Date and Duration, accessors and alternative classes are added that serialize to/from human-readable XML/JSON content instead of plain millisecond count.
-
XML deserialization of maps (<key>+<item> 'lists') requires matching number of keys and items instead of ignoring extra <key> tags (which should indicate missing items and would often confuse key/item relations).
-
Fixed wrong errors or even wrong results without indicating an error when deserializing some JSON data not matching the object definition (e.g. number/string mismatches).
- DispatcherThread and Authority have a new method hasWork(), useful in combination with manual invocation of spin().
-
The framework allows ad-hoc creation of channels with the new RPC method createChannel(name, type).
-
TapePlayerUnit and TapeRecorderUnit interfaces have been cleaned up. The TapeRecorderUnit is only controlled through RPC, a new AutoTapeRecorderUnit can be used to record automatically through a config file.
-
Using TextView to write to a channel now registers a publisher, so the channel update can actually be forwarded to remote connected frameworks.
-
A bug has been fixed in the MIRACenter TapePlayer widget which would prevent playback of tapes shorter than 1 second.
-
RotateTask: fixed a serialization bug making it impossible to properly control the direction of motion