Release Notes 2022-09-13:
-
External dependencies: Updated to eigen 3.4.0.
-
General: Added some compiler and linker flags for hardening the MIRA binaries and shared libraries
-
Handling of angle values: implicit conversion of Angle and related types to float/int has been
removed, to avoid semantical ambiguity and misguided arithmetics. Replaced many instances of
Angle type variables by float etc. where they were used for values counting in degrees (or derived units),
but not restricted to a 360 degrees interval (velocities, tolerances etc.). In all cases of type changes,
serialization compatibility is retained (existing configs etc. are read without requiring any change).
Simplified usage of rad2degGetter/deg2radSetter and added combined radAsDegAccessor for these cases
(degrees but not angle). Enabled conversion functions deg2rad/rad2deg for integral types. -
Accessing JSON values: Existing functions json::getElement()/getNumberElement() are complemented by
has[Number]Element()/get[Number]ElementIfExists(), to avoid having to rely on exceptions if structure not
exactly defined. -
Serialization: Added REFLECT_CTRLFLAG_MEMBER_AS_ROPROPERTY to simplify exposing a member as read-only
property additionally. Trying to use an empty initializer list ('{}') as deserialization default is rejected
by the compiler as ambiguous instead of unambiguously matching the initializer to the 'flags' argument (most
probably not what was intended). -
mirapackage: Fixed some package confusion when working with multiple Gitlab repositories. Fixed parsing of empty
command parameters in package file (e.g. MIRA_TAGS("")). -
miracenter:
AuthorityView: fix errors in case both a namespace and an authority exist with the same name.
RPCConsole: tab completion can be used for quoted parameters ('> Service.load(" + TAB') to auto-complete filenames.