- XMLDom: added iterator_base::setName()
- XMLDomPreprocessor: added 'as' attribute to <include> tag (to be used with 'select')
- fixed serialization of base classes in RPCServer::RPCReflector

- TextTraceView: fixed background color for window themes with non-white background color
- Visualization2DContainer can be instantiated without OrbitTool (no user camera control)

- added 'info --metadb' option to show entries of the metatype database (merged for all channels)

- added MetaTypeDatabaseView

- fixed reflection in templates: replaced direct calls to base class reflect by MIRA_REFLECT_BASE


- Updated to eigen 3.3.5
- Updated to json-spirit-4.08b (patched 4.08 to fix some gcc warnings)

- added miratape to the tools listed in documentation main page
- updated documentation of bash tools
- always using "-Wno-ignored-attributes" with precompiled headers
  (to avoid massive warning spam when combined with Eigen 3.3 and gcc >= 6)
- streamlined the documentation of MIRA requirements installation, added Ubuntu 18.04/Mint 19
- added definition of macro _FILE_NAME_, similar to standard macro __FILE__
  but valid for identifiers (invalid characters are replaced by '_')

- documentation: fixed example for class versioning in serialization
- MetaSerializer: added CompoundMeta::insertMember() to add member at arbitrary position
- BinaryJSONConverter::JSONToBinary can tolerate missing '@version' elements in JSON data
  (will insert a specified default version into the binary stream)
- fixed default values not working for a member using delegate (getter, setter, ...) in its reflection
- added some path utility functions
- STL associative containers now reflect their keys as read-only properties, so these can show up e.g. in PropertyEditor
- security component adapted to support OpenSSL 1.1.0
- compatiblity Eigen 3.3.5: made (previously implicit) conversions from scalar to Eigen::Rotation2D explicit
- limiting the linked OpenCV libs to those really needed: core, imgproc, imgcodecs
  (derived packages might need to link additional OpenCV libs themselves)
- added utility macros for generating unique and semi-unique identifiers/strings
- PathFinder::findFile(s)/findDirectory(s) works for absolute path inputs (returns the input argument if it exists)
- added Rect difference operator for 2D case (returning list of remaining rects)
- fixed JSONDeserializer getting knocked off while reading collection with pointer elements
- fixed json::write always doing formatted output, regardless of parameter 'formatted'
- method() declarations in reflection can now include documentation for method's parameters
- RPC methods store a sample JSON for each parameter (which can be used for user help in interactive RPC tools)
  (set environment variable MIRA_RPC_METHODS_REFLECT_NO_PARAMS_DOCUMENTATION to disable reflection of new method
   members, enabling undisturbed connection with a framework older than this)
- added JSONDefaultPrecision singleton, to control the precision of json::write() (without explicit precision argument)
- serialization format for std::map/multimap changed:
  - new standard format is sequence of pairs (items with First/Second members)
  - XML(De)Serializer keeps interleaved key/item sequence format for config files backward compatibility
  - JSONSerializer can optionally export maps with string keys as objects (keys = member names)
  - JSONDeserializer can optionally import maps with string keys from either pair sequences OR objects (by default, it only reads pair sequences)
- fixed transform_cast always erasing covariance when both base type and dimension of source/target differs
- fixed XML(De)Serializer's handling of sequences in compressed format

- updated Tape format and version history documentation
- automatic increase of storage duration when reading older channel data can be disabled
- minor changes to compile with gcc 7.3 (Linux Mint 19)
- compatiblity Eigen 3.3.5: made (previously implicit) conversions from scalar to Eigen::Rotation2D explicit
- added examples for framework-based test setup (verifying channel data) in examples/fw/IntPublisherSubscriber/
- exceptions during ConfigurationLoader plugin loading are caught and displayed, but do not quit the framework
- arbitrary exceptions in Framework initialization are caught and framework is cleanly finished, showing the exception
- fixed TapeRecorder potentially not storing past data until the next update on a recorded channel
- added automatic channel promotion: channel types can be registered to automatically promote from untyped to typed
  (e.g. with remote connections or tape playback), based on typename (string), without requiring a typed subscriber
- Framework 'config-string' parameter enforces enclosing <root> tag
- renamed Framework option 'save_processed_config' to 'save-processed-config' for consistency
- ServiceProperty now (de)serializes completely, including the required service interface (as member),
  ServiceProperty(const std::string&) constructor is explicit
- parameters are documented for all RPC service methods
- added explicit cast of ChannelReadInterval<T>::const_iterator to ChannelReadInterval<T>::IntervalList::const_iterator to expose iterator of ChannelRead<T>
- added Framework parameter '--default-output-precision' (requiring uint argument) to control precision of JSON floating-point output
- added Authority::waitForChannel()
- removed deprecated methods MicroUnit::onStart/onStop/OnInitialization, Unit::process()

- TapePlayerWidget: negative offsets in current/last playing time are treated as 0 for display purposes
- TapeRecorderWidget: Fixed sometimes blocking file dialogs which occured on CentOS 7.5 with Qt 5.9
- EditorPartWindows (Visualizations, PythonEditor....) can be set to be always on top in editor window stack
- Visualization3DView on mouse events determines the device pixel ratio and provides it with the call to the active tool
- fixed wheelEvents zooming in 2DView/3DView also propagating to scroll the parent editor area with QT > 5.5(?)
- VisualizationView: Fixed sometimes blocking file dialogs which occured on CentOS 7.5 with Qt 5.9
- fixed some views opening file selection dialogs on keyboard shortcuts despite not providing any functionality
- TextTrace view: added CSV export (accessible via context menu or Ctrl-P)
- TextTrace view: can optionally display items in timestamp order instead of add order (order of channel callbacks)
- compatiblity Eigen 3.3.5: made (previously implicit) conversions from scalar to Eigen::Rotation2D explicit
- fixed PolygonObject::setColor() to set the polygon outline color (same as before version 0.38.0)
- implemented option to use camera perspective in camera view
- VisualizationTool base class got additional mouse event handlers taking the device pixel ratio (support for high-DPI scaling). Tools which need to
  consider the device pixel ratio (e.g. required for relating event coordinates to content of a QGLWidget) must implement these methods.
- Interact tool and tools based on SceneQueryTool (Measure, Localize, Goal, ...) respect device pixel ratio (therefore work with high-DPI scaling)
- fixed a bug that hinders proper hiding of X and Z axis on the change of axis visibility
- ImgWidget: in AutoScale mode, displayed image is re-scaled whenever the widget size changes
- removed use of deprecated (and irrelevant) QStyleOptionViewItemV3
- fixed QSplashScreen continuously calling close() (which was disturbing all tooltips with QT >= 5.6)
- QtUtils::getSaveFileName can optionally enforce that only certain file extensions are selected
- PropertyEditor 'Open' dialog for path (folder/directory) properties now behaves as for file properties
  (see 0.38.0) and uses mira FileOpenDialog wrapper

- added cylindric panorama image visualization
- getDistortion() returns k3..k6 too (and moved to base class DistortionModel)
- add versioning for DistortionParameters::reflect, k3...k6 only reflected with version >= 2
- fix frustum visibility when leaving 'Camera View'
- added orientation of cylinder in camera coordinates to PanoramaCameraIntrinsic which formerly has been a property of the OmniToPanoramaUnit
- added camera view projection matrix update on intrinsic change
- added type registrations for new auto channel promote feature

- fixed encoding error message of PNG codec

- improved display of TransformationTree node poses in TextView
- improved FramePublisher
- added several parameters like text and axis properties to control the visualization of the transform tree
- PathVisualization can control range of points (first/last index) to be visible

- Fixed sometimes blocking file dialog which occured on CentOS 7.5 with Qt 5.9

- parameters are documented for all RPC service methods

- SubTask calls itemName() in reflect() to show subtask (class) names in property editor
- added type registrations for new auto channel promote feature
- parameters are documented for all RPC service methods

- SubTask calls itemName() in reflect() to show subtask (class) names in property editor
- added type registrations for new auto channel promote feature
- parameters are documented for all RPC service methods

- added method CollisionTest::decayShape
- Marker module: added AxesMarker
- added type registrations for new auto channel promote feature
- parameters are documented for all RPC service methods

- prevent selection of invalid colormaps in various visualizations requiring continuous colormaps
- added type registrations for new auto channel promote feature
- DriveWidget monitors Motorstop status and highlights an active Motorstop in its GUI
- parameters are documented for all RPC service methods

- TapePlayerView removes non-existant files from its list of opened tapes
- Added option to authority view to show channel namespaces relative to associated authority
- Fixed sometimes blocking file dialogs which occured on CentOS 7.5 with Qt 5.9
- RPC View and RPC Console show service method's parameter names and descriptions (if declared)
- RPC Console shows a sample call for each method including parameter notation
- AuthorityView includes RPC parameter documentation in generated unit documentations

- "rpc info" shows service method's parameter names and descriptions (if declared)
  and a sample call for each method including parameter notation

- QtFtp: now building out of source tree to avoid error with Qt 5.9 on CentOS-7.5
- Quazip: adapted patch to work with Qt 5.9 on CentOS-7.5
- updated to svn 1.9, replacing all deprecated API functions by current versions

- fixed the 'copy --retype' option having no effect at all, and made it support multiple type changes in one call
- added 'copy --rename' option to enable renaming of channels
- added 'copy --addversion' option to retroactively add a '@version' member to all occurences of a
  certain class in the serialized data (if meta-serialized and reversible binaryToJSON/JSONToBinary)
- 'writeJSON' will not exit on missing metadata, just output an error and continue
- added 'play --play_also' option that allows simultaneous playplack of multiple tapefiles (as in MIRACenter)

- missing parent directory cmake files are created
- improved/updated templates
- added Python Unit to creatable components (running it will require the MIRA Python toolbox!)


- pinhole rectification uses all distortion parameters up to k6
- changed internal coordinate systems of Omnicamera and PanoramaCamera model to match the CameraFrame

- Using git instead of svn for downloading GMapping

- made compile with gcc 7.3
- Removed absolute path from raw mapping data files (.mdata.xml)

- Interaction tool works with OccupancyGrid visualization with arbitrary frame id
- PointCloud visualization: 'Size' property for drawStyle 'Points' is properly decoupled between visualizations

- fixed some compilation issues
- restructured to improve integration with PCL
- visualization: 'Size' property for drawStyle 'Points' is properly decoupled between visualizations
- added RPC method parameter documentation

- split MiraPy.C into multiple files to reduce memory usage during compiling
- fixed environment variable name PYTHONPATH in documentation
- added wrappers for more containers: maps of primitive types, maps of vectors of primitive types
  (+ forcing sequential build for these, requires to create separate libraries)
- Python to JSON conversion supports unicode strings (assuming utf-8 encoding only, so far)
- MIRA types wrapped using MIRA_PYTHONCONNECTOR*_TYPE_FOOTER can be converted from/to JSON via .convertJSONtoObject(...) and convertObjectToJSON()
- RPC calls handle the conversion of MIRA-wrapped types to JSON for their parameters transparently in the background
- JSON to Python conversion for json::Array now creates Python native list (instead of mirapy.jsonArray)
- the get() method of RPC futures now (optionally) supports converting the return value to an object given the type
- fixed issue with ChannelReadInterval containing None's instead of ChannelRead objects when using subscribeInterval
- added PyUnit destructor to safely delete unit object without segfaulting
- added UnitWrapper::doesChannelExist(), waitForChannel(), getNamespace(), get(Global)Name/ID()
- now adding lib/libName.so as symbolic link to python/Name.so during build and install (allows use with ldconfig)
- ReflectorWrapper extends RPC parameter documentation capability to Python-implemented services

- StateMachineListener: added method onEvent
- StateMachine: added RPC method sendEventByName for easier handling
- StateMachine: added more output of python exception details
- StateMachine: added missing parsing of executable content in parallel and final states
- StateMachine: added locking python GIL when notifying python listeners
- StateMachine: added notifying listeners on event
- StateMachine: minor bugfixing
- StateMachinePy: added exposing of TransitionTarget, Transition, StateMachineListener
- StateMachineTest: added method onEvent

- added method onEvent
- added output of listener callbacks on channels
- added multi instance ping pong test

- changed multipath split characters from '\t' and ' ' to ',' and ';'
- added optional list of directories which will be searched for random playing of files

- Override Unit::process(const Timer&) instead of deprecated Unit::process()

- Override Unit::process(const Timer&) instead of deprecated Unit::process()

- adapted to split CameraParameters/CameraGeometry
- ImageRectificationUnit's default output image size is input image size
- OmniToPanoramaUnit: moved orientation of cylinder in camera coordinates to PanoramaCameraIntrinsic

- Override Unit::process(const Timer&) instead of deprecated Unit::process()

- added user defined file permissions for persistence files
- added RPC method parameters documentation

- Distance-based cost generation is available as a generic mixin 'DistanceMapper' to be used by CostMapper implementations.
- Added RPC method parameters documentation.

- added RPC method parameters documentation

- removed legacy methods
- added RPC method parameters documentation

- OccupancyGridMapperWithShape can use a specific footprint as decay area
  (e.g. only forget obstacles in front of robot)
- Override Unit::process(const Timer&) instead of deprecated Unit::process()

- added RPC method parameters documentation

- changed the annotation of the added 'MergedMap' alias to include reference to source code

- override MicroUnit::initialize() instead of deprecated onInitialization()

- SpeedObjective now checks every sample from the given trajectory for a velocity task, not just the last
- made compile with gcc 7.3
- removed EstarPlanner.package file to avoid confusion (EstarPlanner is an element of package Pilot)
- PathObjective: Added new channel 'PathChangedSignal', which signals significant changes in the path
- PathObjective: Exceptions from CostMapper::getDirtyRegions() are catched, triggering a complete planner update
- RewindRecoveryTask is exposed in RewindRecovery.h
- added RPC method parameter documentation

- Override Unit::process(const Timer&) instead of deprecated Unit::process()

- calibration tool allows choice to use 0-6 radial distortion parameters (k1-k6)
- calibration pattern size setting is saved and restored with workspace
- calibration tool can visualize the point coverage (positions of all calibration points in image)
- enabled use of circle grid calibration pattern with OpenCV3

- added rpc methods, therefore renamed methods

- Override Unit::process(const Timer&) instead of deprecated Unit::process()
- Added configuration variable ueyeCameraID to UEyeUnit.xml

- WaypointEditor:
 - added option for automatically changing the rotation of a waypoint in the direction of the next one
 - load MCF file from menu
 - consistent Waypoints sizes on insert
 - keep current waypoint selection during camera movement
 - added 2 buttons for rotating the view (counter)-clockwise
- WaypointVisitor:
 - override Unit::process(const Timer&) instead of deprecated Unit::process()
 - interrupt() updates status as 'Stopped' on WaypointVisitorEvent channel
 - fixed usage of property 'Order' in example configuration file
 - added property WrongDirectionCost
 - added 'Velocity' and 'StraightPath' properties to waypoints: optionally command a VelocityWaypointTask
   instead of a Position+OrientationTask, extended addPoint/teachPoint methods accordingly
 - added RPC method parameters documentation

- Added label to RTLS anchors
- Renamed RTLS anchors to beacons
- mira::localization::MarkerMap is an std::multimap now,
  so we can store multiple marker instances with same id
- made compile with gcc 7.3

- Override Unit::process(const Timer&) instead of deprecated Unit::process()

- added optional KeepDistanceTask
- fixed minOnTime

- Fixed crash in initialization, which occured when no CAN device was connected.

- Renamed old version to BarcodeLocalizationLegacyUnit
- Added new version of BarcodeLocalizationUnit with more features
- Override Unit::process(const Timer&) instead of deprecated Unit::process()

- Override Unit::process(const Timer&) instead of deprecated Unit::process()

- changed lib name for NogoMapper to reflect that costmappers
  are running in CostMapper unit, not Pilot anymore

- initial version

- Added simulation of battery percentage
- made compile with gcc 7.3

- Added support for LeishenLidar
- Override Unit::process(const Timer&) instead of deprecated Unit::process()
- Added support for UDP based range finders
- Added support for LeuzeRSL400

- resolved a "comparison between signed and unsigned" issue

- Updated to JSON Spirit 4.08

- restore filePath variable in XMLDomPreprocessor on backtracking
- json::write has parameter to control precision for floating point number output
  (default precision changed from 17 to 3 [and removing trailing zeros])
- ExtensibleEnum optionally can define a string id with each value
- Added compilation and linking support for examples with OpenCV version >= 3

- precision for EigenMatrix XML serialization increased to 17 digits
- Reworked StripedStorage, now offers StripedStorageXML and StripedStorageBinary (using different serialization backends).
  Limited the scope of the data template type to the store/retrieve methods, this way StripedStorage objects can easily
  be stored in containers despite storing different data types.
- findFiles can no longer return multiple entries for the same path, all returned paths are unique (as determined by operator== of boost::path).
- Made compatible with OpenCV 3.3

- TapeRecorder: Fixed handling of flag avoidDataLoss

- Added control for precision of floating point number display in Text/Text Trace visualizations
- Added control for precision of floating point number display in Text View/Text Trace View
- STLMeshLoader: Fixed exception when converting a STL file to Ogre mesh by using toolbox Assimp.
- Visualizations set the new source channel ID as their name when it is changed
- Visualization3DView: Using correct width and height to determine camera aspect ratio (shouldn't include the RCP title or toolbar heights).
- VisualizationView provides a virtual interface saveContentToFile(Path) to save the content to a file, which is registered to keyboard shortcut CTRL+P.
- Implemented saveContentToFile(Path) for Visualiation3DView and Visualization2DView.
- Added workaround for OGRE bug: Ogre::SimpleRenderable ignores a set render queue priority
- enumeration property combobox (using PropertyHints::enumeration) now working for string property again
- PropertyEditor spinbox smartscroll observes minimum/maximum from property hints
- PropertyEditor::Delegates can provide a name for their property, which is displayed in the
  PropertyEditor instead of the PropertyNode's name
- VisualizationPropertyDelegate registers as a name delegate returning the current visualization name

- TapeRecorderWidget: Store avoidDataLoss flag in recorder configuration.
- TapeRecorderWidget: Update stats once more after stopping the record to show
  the right number of recorded messages.
- enable controlling order of visualizations in Text, Text Trace, 2D, 3D views
- VisualizationView: saveContent via CTRL+P now uses PNG as default if no image file extension is given.
- enable controlling order of visualizations in Text, Text Trace, 2D, 3D views
- Implemented messy vertical flip of coordinate system in Visualization2DView and Visualization2DContainer in a cleaner way.
- enable controlling order of properties in PropertyEditor

- Pose text visualization now also respects the view's Precision property
- Added 3D visualization for vectors and lists of rectangles (Rect2i, Rect2f, Rect2d).
- FramePublisherView checks channel existence instead of just subscribing (thus creating) the input

- Added 2D visualization for vectors of double based 2D RigidTransforms.
- Adapted 2D visualizations after change to coordinate system in GUIVisualization 0.37.
- Adapted visualizations to GUIVisualization 0.37.

- Adapted visualizations to GUIVisualization 0.37

- KeepDistanceTask extended by a separate criticalDistance
- fixes TaskVisualization: avoid showing unintialized objects for empty
  task, draw correctly (continuously update) with dynamic camera frame

- PlotView grid is represented by an own visualization (user editable)
- Added properties LineStyle and LineWidth to curve visualizations
- JSON-based visualization names follow the curve title when the
  displayed member is changed

- Adapted views/visualizations to GUIViews/GUIVisualization 0.37

- Adapted visualizations to GUIVisualization 0.37.
- Adapted 2D visualizations after change to coordinate system in GUIVisualization 0.37.

- Adapted 2D visualizations after change to coordinate system in GUIVisualization 0.37.

- improved Transform Tree View: (selectively) show covariance, searchable, persistence, better layout

- TransformTreeView: better layout for covariance display

- added operator== for DistortionParameters, PinholeCameraIntrinsicNormalized and PinholeCameraIntrinsic

- Made name of the temporary directory more human readable.
- Fixed for use with OpenCV3
- Added new tool OccupancyGridToMCF to easily create a suitable MCF file for a sole occupancy grid file (.xml + .png).
- Extended interface
- Fixed output of the mapping process to the logfiles. Redirecting did not work before.

- Adapted OccupancyGrid visualization to GUIVisualization 0.37.
- Adapted 2D visualizations after change to coordinate system in GUIVisualization 0.37.

- Exposed std::vector<Point2f>, std::vector<Point3f>, Pose2Vector, Pose3Vector, PoseCov2, PoseCov3, PoseCov2Vector, PoseCov3Vector
- Exposed Eigen::Matrix3f, Eigen::Matrix<float,6,6>, Eigen::Matrix<float,7,7> needed for PoseCov2 and PoseCov3
- Fixed for use with OpenCV3
- Exposed std::vector<> for primitive types bool, int, int64, float, std::string

- adpated to changes in StripedStorage

- Adapted PersistentPose plugin to StripedStorage change in MIRABase 0.42.0

- Adapted to changes in MapBuilderBase, implementing the max range parameter.

- added loader property whether to ensure valid occupancy (set to false to keep original data unchanged)

- Adapted to changes in MapBuilderBase, implementing the max range parameter.

- Include trajectories marked as unreachable in debug channel output and ensure their correct drawing
- Adapted DynamicWindowVisualization to change in 2D view.
- PathObjective publishes the task pose as transformation frame ("TargetFrame")
- EstarPlanner+PathObjective: if the goal position is not free when the task is set,
  ensure to keep planning to it when it becomes free afterwards (before timeout)

- Added property 'ExtendPathLength' to specify the length by which the path
  will be extended when 'ExtendPathByTolerance' is activated.
- Time of a transition (mTau) is no longer a fixed value and will be estimated
  by the distance and maximum allowed velocity.

- Fixed some typos in debug messages
- fixed for use with OpenCV3
- Adapted to StripedStorage changes in MIRABase 0.42.0

- Added Marker class
- Adapted 2D visualizations after change to coordinate system in GUIVisualization 0.37.

- automatically start a new log.sqlite each day
- reduced variance in initStationPose from 0.1 to 0.01
- added variable wrongDirectionCost (default 0.5)
- added minOnTime that ensures the robot stays online at least this amount of time until it powers off automatically when there is no active operating slot

- Fixed adding of the one-way costs into the current stage of the CostMapper

- DepthImageAcquisition: Replaced property BorderPixelSkip by four properties
  to specify the size of border (left, right, top, bottom) independently
- DepthImageAcquisition: Added additional DepthCorrectionFactor

- Using ITemplateLocalization instead of ILocalization to ensure, that the
  right service is found.
- StationDialog: display positions and tolerances with more digits

- bugfix: footprint collision check was invalidated by trying
          to set an invalid named footprint (using setFootprintFilter())

- Adapted to latest changes in DockingProcess

- Simulator implements ILocalization: Simulator pose can be set using the Localize tool
- Adapted to StripedStorage changes in MIRABase 0.41.1.
- Notifying via WARNING log entry of failure to restore persistent simulator pose.
- Added persistence to odometry and mileage as well.
- Persistence files are stored in a subfolder '.scitos_simulator' by default now. Can be changed via serialization member.
- Adapted to latest changes in DockingProcess

- bash tools: added an explicit 'miraindex' command to facilitate reindexing of installed mira packages.
- added new package CameraParameters to install script
- fixed minimum cmake version requirements for some policies

- fixed covariance propagation for 3D RigidTransform composition and 2D/3D RigidTransform inversion
- added HumanReadableEnum macros for generating enums that can be translated to string values and vice versa
- slightly improved syntax check/error message for JSON multidim array element access

- <process>-tag: fix bug preventing the creation of new processed when the config string exceeds the maximum argument list size of the OS
- <process>-tag: usings defined in the scope of a <process>-tag are now visible to the parent and sibling processes
- <process>-tag: added sshport - attribute
- TapePlayer: fix potential delay of isPlaying() state after starting playback

- PolygonObject can draw filled polygon
- DynamicRenderable can update (reduce) the actual vertex count
- fix potential div by 0 in toQImage(const Img&, ...)
- PropertyEditor 'Open' dialog for file properties will start at the path of the current
property value, if non-empty (otherwise, working directory as before)
- added wrapper method to force usage of non-native file dialog static methods for load and save filename getters

- initial version: separated pure camera description parameters from CameraGeometry toolbox

- Ensure min/max parameter in ImgVisualization are not equal
- Polygon(Vector)Visualization supports drawing of filled polygons

- fixed tolerance display radius for Position-/DockingTask

- fixed template of CMakeLists.txt to not include the directories toolboxes and domains for MIRA_GEN_MANIFESTS_ONLY build



- removed camera parameter descriptions and visualization (moved to toolbox CameraParameters in MIRA base)

- PointCloud visualization ignores NaN data to prevent OGRE assertion

- visualization: added ColorMode 'Row'
- visualization skips points with NaN coords (prevents failed OGRE assertion)
- added PCLLoader unit for loading (sequence of) PCD files

- Event: Fixed uninitialized members in default constructor
- Event: Renamed member "enabled" to "canceled" and added reflection for it

- Initial version

- moved header things to separate header file

- Fix excessive uncertainty estimation

- DynamcRiskMapper only resets error state after a successful update
(not after an update skipped because update interval not expired yet)

- Added properties 'DistanceForNoOneWayCostsNearStart' and 'DistanceForNoOneWayCostsNearGoal',
which allows to disable the one-way costs near starting position and goal.
- Fixed crash when goal position is located out of the map.

- Pilot will not cancel task with "NoData" when cost map is outdated, instead stop, signal "WaitForData"
and continue when an updated costmap is available
- SpeedObjective also observes the vphi limit from VelocityTask
- PathObjective uses PositionTask's minTolerance for planner goal radius (ensure the path reaches minTolerance if goal is valid)

- Adapted to changes in Pilot-0.38.0: Since the Pilot now also observes the vphi
of the VelocityTask we can't use zero anymore.

- MotorControllerHG4: Don't initialize the Mileage channel with current total
mileage of the firmware to avoid precision problems.
- MotorControllerHG4: Added channel 'Acceleration' (for firmware >= 1.3.0)
- RPC to re initiate communication with ACS Controller (will abort charging while communicating)

- adapted to split CameraParameters/CameraGeometry

- adapted to split CameraParameters/CameraGeometry

- adapted to split CameraParameters/CameraGeometry

- adapted to split CameraParameters/CameraGeometry

- adapted to split CameraParameters/CameraGeometry

- Defining MIRA_SEVERITY_MAX_LEVEL via the build system, allowing us to differentiate between release and relwithdebinfo
when deciding which maximum severity level to allow for logging. Relwithdebinfo now also allows DEBUG and TRACE logging.
- Fixed install target for installing subtargets
- Updated SVN repository path for boost::geometry

- RigidTransform(Cov) stream output now handles const& and rvalues
- Added optional image format tag which is passed to the dot command while generating profiler reports
- enabled reflection of STL collections with non-copyable value types

- Fixed a bug inadvertently altering tape message frameIDs
- Changed channel slot reuse behaviour: now it always keeps at least one slot older than the
configured storage duration (ensure storage duration coverage, rather too much than too little)
- Added missing getters to ChannelBuffer and augmented Channel to also offer these getters as a convenience to the user.
- Fixed missing copy of minSlot parameter in ChannelBuffer::cloneParameters.
- Added 'getUptime' RPC to the Framework

- Forcing Qt-Layout in TapeFileDialog. Otherwise the layout of the file dialog
might be unpredictable and the preview widget is not working.
- Text Trace View: user can control whether changing one row's height affects other rows
- Text Trace View: added options to maintain a max history duration and to freeze (stop updating)
- QConsole now supports reverse lookup via CTRL+R (emulating bash functionality).

- made to compile with Qt5

- Clearing plot no longer makes "l"/"r" markers in legend disappear
- Added a "Freeze" option to stop updating (via context menu)

- TransformTreeView shows absolute distance between frames in tooltip

- made to compile with Qt5

- QuaZip: Replaced UPDATE_COMMAND with PATCH_COMMAND, avoiding failed patches every time MIRAPackage is rebuilt.

- added missing 'copy --drop_same_timestamp' option to usage message


- Forcing Qt-Layout in MCFDialog. Otherwise the layout of the file dialog
might be unpredictable and the preview widget is not working.

- Added 3D visualizations for predefined point cloud types PointCloud2 and PointCloud3.
- PointCloudVisualization (3D): allow changing the (pixel) point size in 'Points' drawstyle

- made CANToolsView an EditorPart in miracenter, i.e. it can be detached and maximized properly

- Modernized Curve API and implementation.

- Made MiraPy's XMLVariablesMap work with the recent changes to this data type in MIRA.
- Added wrappers for some more Pilot tasks
- Python Editor View is an Editor View now (can be properly detached + maximized),
and allows more user layout control through splitter

- Added unique IDs for all plugins, which can be specified in the configuration file.
If now ID is given, the class identifier is used.
- Added new member EnableOnStart to sensor plugin, to enable/disable the
plugins on start. If no sensor module is enabled, the first sensor will be
enabled to preserve the current behaviour.

- Made sensor plugin more robust and more modern.
- Sensor plugins wait for subscribed laser channels at bootup

- Added (missing) resolvePath to be able to use the syntax 'PackageName:path/to/map.mcf' in member MCF

- if merger has only one input, it will just alias it to 'MergedMap' instead of copying (unless 'MergedMap' already exists)

- publishing the docking target as TargetFrame
- base point now used as loaded from xml, not recalculated from docking distance

- Added support for MotorControllerHG4 firmware > 1.4.0
- Added support for EBC HG3

- Head movement is now really simulated
- added support for ACSIdentifier in charger
- added example map
- added very rudimentary support for simulating a charging station (at this point just
a certain pose+tolerance in the environment that sets the charging flag to 'true').

- SickTiM55x: Fixed crash while reading data, if the data package was not fully received

Additional information