In the effort to reduce boost dependency in urdfdom and urdfdom-headers [2] regressions wrt locale handling were introduced. Parsing of floating point values in URDF (a XML language) was now locale dependent, ie on European systems were the decimal separator is "," instead of "." parsing would now fail due to std::stod expecting "1,23" instead of "1.23" (no, we do not localize xml files, see also [3] for a more technical summary). The regressed versions were released as 1.0. Shortly after the release (some of) the regressions were detected [3] and fixes merged [3][4]. Unfortunately those fixed merges were not released until a long time later, too late for Ubuntu 18.04 by far and potentially even for 20.04. More regressions were noticed and fixed later on (disclaimer: by me) [5].
urdfdom is used mostly if not exclusively in the ROS community (including gazebo) which is a somewhat slow adopter of newer Ubuntu (and ros) releases but more and more people are now seeing these regressions in various places. To save more peoples time I propose to do a patch version update and pull urdfdom_headers version 1.0.3 as well as urdfdom version 1.0.3 (once released into debian). I argue against applying a patch because the diff between 1.0.0 and 1.0.3 is almost identical to a set of patches fixing the regressions. Updating to the upstream patch release will therefore improve tracing of the ubuntu downstream version to the upstream versioning.
Both urdfdom_headers and urdfdom now have an extensive set of unit test which in the case of urdfdom are also run in a European (ie Dutch) locale [6]. Together with the small and homogeneous user base, application mostly in research and the fact that most of the library is (for unknown reasons) almost header-only make me estimate that scope, potential and impact of regressions introduced by this upgrade would be extremely low.
In the effort to reduce boost dependency in urdfdom and urdfdom-headers [2] regressions wrt locale handling were introduced. Parsing of floating point values in URDF (a XML language) was now locale dependent, ie on European systems were the decimal separator is "," instead of "." parsing would now fail due to std::stod expecting "1,23" instead of "1.23" (no, we do not localize xml files, see also [3] for a more technical summary). The regressed versions were released as 1.0. Shortly after the release (some of) the regressions were detected [3] and fixes merged [3][4]. Unfortunately those fixed merges were not released until a long time later, too late for Ubuntu 18.04 by far and potentially even for 20.04. More regressions were noticed and fixed later on (disclaimer: by me) [5].
urdfdom is used mostly if not exclusively in the ROS community (including gazebo) which is a somewhat slow adopter of newer Ubuntu (and ros) releases but more and more people are now seeing these regressions in various places. To save more peoples time I propose to do a patch version update and pull urdfdom_headers version 1.0.3 as well as urdfdom version 1.0.3 (once released into debian). I argue against applying a patch because the diff between 1.0.0 and 1.0.3 is almost identical to a set of patches fixing the regressions. Updating to the upstream patch release will therefore improve tracing of the ubuntu downstream version to the upstream versioning.
Both urdfdom_headers and urdfdom now have an extensive set of unit test which in the case of urdfdom are also run in a European (ie Dutch) locale [6]. Together with the small and homogeneous user base, application mostly in research and the fact that most of the library is (for unknown reasons) almost header-only make me estimate that scope, potential and impact of regressions introduced by this upgrade would be extremely low.
1: https:/ /github. com/ros/ urdfdom/ commit/ 3dc7ee812827cc6 9ffa457ef01fe7b 9623096aed /github. com/ros/ urdfdom_ headers/ commit/ 9d2b421f3fcbc2a 32af40b99ebd9c2 cb2d088fb9 /github. com/ros/ urdfdom_ headers/ pull/42 /github. com/ros/ urdfdom/ pull/105 /github. com/ros/ urdfdom_ headers/ pull/47 /github. com/ros/ urdfdom/ pull/115
2: https:/
3: https:/
4: https:/
5: https:/
6: https:/
See also the following upstream bug reports: /github. com/ros/ urdfdom_ headers/ issues/ 45 /github. com/ros/ urdfdom/ issues/ 119
https:/
https:/
and a few downstream bug reports to the ubuntu package: /github. com/ros- planning/ moveit/ issues/ 1333 /github. com/ros/ urdf/issues/ 21 /github. com/ros- visualization/ rviz/issues/ 1249 /github. com/ros- visualization/ rviz/issues/ 1151 /github. com/ros- planning/ moveit/ issues/ 1050 /github. com/ros- visualization/ rviz/issues/ 1298
https:/
https:/
https:/
https:/
https:/
https:/