As folks may recall from the earlier post. We are setting up a rolling ROS 2 distribution.
We want to do this primarily to reduce the amount of labor required from package maintainers when bootstrapping a new ROS 2 release.
ROS 2 Foxy is already in development and is being prepared in the same manner as the distributions before it: Repositories must be bloomed explicitly for Foxy once the dependencies for each package in the repository are available.
Once Foxy is released, we will “roll” the new rolling release using Foxy as the source.
This means that any maintainer who wants their package to be included in future ROS 2 distributions can target Foxy and as long as their package continues to build as we update the rolling distribution it will be included in future distributions.
G-turtle will be bootstrapped using a snapshot of the rolling release as the source rather than releasing one repository at a time until all packages are available.
Once G-turtle is out the rolling distribution will continue and will be used again for H-turtle and beyond.
Here’s a rough release timeline showing the rolling distribution with the planned distribution releases.
Note that according to the planned release schedule non-LTS releases will be supported for 1.5 years. Believe the plan not this diagram.
I can anticipate some confusion from maintainers about which distribution to make future releases into since Foxy and the rolling distribution will start in the same state.
In general you should be able to treat the rolling distribution just like any other in-development distribution.
Changes that are compatible with Foxy would ideally be released into both Foxy and the rolling distribution.
If a breaking change is made in a subsequent release, that change should be released only into the rolling distribution in order to preserve compatibility within the Foxy distribution.