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.

Additional information