A (partial) list of bug fixed and issues resolved in this release can be found here.
localization2DClient (replaced by localization2D_nwc_yarp)map2DClient (replaced by map2D_nwc_yarp)navigation2DServer (replaced by navigation2D_nws_yarp)YARP_VERSION_COMPARE macro has been added to version.h to simplify how YARP versions are compared e.g. in #if guards. For instance, the condition #if YARP_VERSION_COMPARE(>=, 3, 6, 0) will yield true if the current YARP version is equal to or greater than 3.6.0.CommandBottle class. This is a class that contains both the command and the reply. The only advantage of this class compared to using two bottles is that portmonitors are able to know, in the updateReply method, what was the request for the reply received.Logstd::vector, it is now also possible to call yInfo() << collection where the collection is a std::array, std::list, std::set, std::map, C-array, std::tuple...yIDebug). See documentation.YARP_LOG_PROCESS_LABEL environment variable is now checked when output is forwarded. If found, the label is appended to the executable name in the log port name e.g. (/log/hostname/yarpdev[mylabel]/123123)ConnectionWritergetBuffer with const/non-const versionsConnectionReaderflushWriter is now an interface method.idl/WireReadergetReader() method.idl/WireWriteryarp::sig::soundfilters::resample() contained in the new header file yarp/sig/SoundFilters.h.DeviceDriverid() and setId() methodsPolyDriverid option to the open method (or passing --id to yarpdev).Nav2D::INavigation2DVelocityActionsapplyVelocityCommand() method was moved from yarp::dev::Nav2D::INavigation2DTargetActions to a new interface yarp::dev::Nav2D::INavigation2DVelocityActions.yarp::dev::Nav2D::MapGrid2D using Zlib: the methods yarp::os::Portable::write() and yarp::os::Portable::read() handle the compression before sending data to the network. The method MapGrid2D::enable_map_compression_over_network() enables/disables the data compression over the network (default true). If the Zlib library is not available, compression will be disabled.Map2DArea::getCentroid().description field which can now be filled by the user for generic purposes.description field which can now be filled by the user for generic purposes.description field which can now be filled by the user for generic purposes.getAllLocations(std::vector<yarp::dev::Nav2D::Map2DLocation>& locations)getAllAreas(std::vector<yarp::dev::Nav2D::Map2DArea>& areas)getAllPaths(std::vector<yarp::dev::Nav2D::Map2DPath>& paths)INavigation2D interface now derives from IMap2D interfacecarrier to set the carrier for the connection with the server.rpLidar3 that supports the 3rd revision of the rpLidar hardware.fakeOdometry that generates a fake odometry and makes it available from IOdometry2D interface.fakePositionSensor that simulate a position sensor and makes it available through the IPositionSensors and IOrientationSensors interfaces.localization2D_nwc_yarp: YARP NWS which connects to localization2D_nws_yarp: and can be used to replace localization2DClientmap2D_nwc_yarp YARP NWS which connects to map2D_nws_yarp and can be used to replace map2DClientmobileBaseVelocityControl_nws_yarp: YARP NWS to control the velocity of a mobile base.mobileBaseVelocityControl_nwc_yarp: YARP NWC to control the velocity of a mobile base.mobileBaseVelocityControl_nws_ros: ROS NWS to control the velocity of a mobile base.navigation2D_nws_yarp: YARP NWS that can be used to replace navigation2DServer.navigation2D_nwc_yarp: YARP NWC that connects to map2D_nws_yarp, localization2D_nws_yarp and navigation2D_nws_yarp.odometry2D_nws_yarp: YARP NWS which can be attached to a IOdometry2D interface and publish the data on a YARP port.odometry2D_nws_ros: ROS NWS which can be attached to a IOdometry2D interface and publish the data on a ROS topic.localization2D_nwc_yarp instead of localization2DClientFrameTransform_verbose_debugFrameTransform_verbose_debug is set to 1.FrameTransform_verbose_debug (default = 0)FrameTransform_verbose_debug is set to 1.FrameTransform_verbose_debug (default = 0)v3 file format, which includes the description for Map2DLocation, Map2DArea and Map2DPath is now supported.enable_maps_compression <0/1>IJointFault device is now implemented by the device.IJointFault device is now implemented by the device.IJointFault device is now implemented by the device.bottle_compression_zlib portmonitor to compress bottles (or other data types which can be converted to bottle).soundfilter_resample portmonitor to resample audio streams.sensorMeasurements_to_vector portmonitor which converts a 6D Pose from a SensorStreamingData data type to a yarp::sig::Vector data type.testdata_filename to latency-test companion. It allows to load a file which will be transmitted over the network as benchmark. Different files can be used to test latency when using a compression portmonitor (the compression factor will depend on the entropy of the file).YARP_LOG_PROCESS_LABEL is found, the label is now appended to the executable name in the log port name (e.g. /log/yaprunname/yarpdev[mylabel]/123123)--dryrun option to test the xml file without actually opening devices.reverse-shutdown-action-order attribute for the robot tag. This reverses the order of actions in shutdown and interrupt phase, making it easier to write the actions when multiple attach and detach are involved.device tag parameters are now passed to all devices defined inside that tag.YARP_PORTNUMBER<XXX> environment variable. This allows to change the port number on which the corresponding port is opened by setting the YARP_PORTNUMBER<XXX> environment variable to the desired port number of the port. For example: YARP_PORTNUMBER_read=20050 yarp read /read will open a port named /read on the 20050 port. Port numbers (if present) are applied before prefixes specified with YARP_PORT_PREFIX and renames specified with YARP_RENAME (if present). WARNING, if the same port is opened with the same name but different port number by two processes, this might lead to port stealing by the latest process executed.get and get_all).yarp.name and yarp.includefile also for enums.yarp.bottlesize annotation, when the struct is not serialized as a bottle but as a fixed size bottle-like structure (for example other yarpidl_thrift generated structs).yarp.editor annotation should be passed to the struct in order to enable it.--unlimited_size which removes all limits on the log size. To be used with caution!VectorOf<T>::emplace_back returning void. Now it returns a reference to the new element as expected.This is a list of people that contributed to this release (generated from the git history using git shortlog -ens --no-merges v3.5.0..v3.6.0):