As we have noticed with the recent rolling sync, there were lots of packages that not have yet adapted to API breaking changes of ros2_control. Shoutout to @Yadunund for opening lots of issues in the broken packages.
I just want to mention again that according to our release and versioning scheme we don’t break API without any deprecation, but we allow to remove deprecated code (or behavior change) already in the next release on rolling distro (we try to leave it for a couple of releases).
We’d like to point to our migration guides, which should list necessary changes.
For your convenience, I highlight the major issues which I saw with the last rolling sync (or are already merged for the upcoming sync) and list some exemplary PRs with the necessary changes:
RealtimePublisher: is updated with a newtry_publishAPI. (PR for ros2_controllers)Handle: handles got a new API, andget_value()for interfaces is removed (PR for ros2_controllers or robotiq_grippers)- The signature for the
on_initandinitmethod in all
hardware_interface::*Interfaceclasses has changed. (PRs for ros2_control_demos or robotiq_grippers)