For ROS 2, access to the most recent functionality and bug fixes is easy: just compile ROS 2 Rolling according to these instructions and your're set with the "latest and greatest".
What is the equivalent for Gazebo sim? I.e. what is the best practice procedure to build gazebo from source with the latest changes?
A practical example:
I would like to have the functionality of gz-transport#379 and gz-msgs#322. These are merged in gz-transport13 and gz-msgs10 respectively.
Gazebo Garden uses previous versions gz-transport12 and gz-msgs9 (i.e. without these PR's).
So I tried to build Gazebo Harmonic instead (per these instructions, but replaced collection-garden.yaml by collection-harmonic.yaml).
This yields a source build that does include gz-transport13 and gz-msgs10. But whereas Garden has gz-sim7, Harmonic has gz-sim 'main' which is 116 commits behind of gz-sim7.
So I end up with a source build that has gz-transport#379 and gz-msgs#322, but lacks a lot of other features.
I could start trying to mix and match branches of the different libraries, but I assume there must be a better way?