Hello, You are right, we broke API compatibility between Gazebo 1.2 and Gazebo 1.3 without a proper tick-tock. Version 1.2 of Gazebo marked when Gazebo first started to adopt the tick-tock model, and we obviously missed a function. We have since improved our efforts, and there is a person looking into maintaining API and ABI compatibility within Gazebo. Thank you for your report and concern. We'll do our best to prevent future occurrences. -nate On Thu, Jan 31, 2013 at 8:44 AM, Jack O'Quin wrote: > I remember hearing that Groovy released with gazebo 1.2, but would be > "upgrading" to 1.3 later on. I presumed that those two versions must be > compatible, so I didn't think much about it. > > Now, it appears I was wrong, those versions are *not* compatible, after > all. Some of the code we are using for a class at the University of Texas > broke recently: > > math::Pose pose = this->parent->GetState().GetPose(); > > > Becomes: > > math::Pose pose = this->parent->GetWorldPose(); > > > That seems trivial on an individual basis, but it is causing trouble for > our students who are trying to complete a class assignment today. Some > installed ROS Groovy on their personal laptops. Others use departmental > machines on which Groovy was installed at the beginning of the semester. > > Those using their own machines broke when recent > ros-groovy-simulator-gazebo updates were applied. Computer Science > department policy is not to apply non-security package updates in the > middle of the semester, so those machines continue working correctly. > > This kind of change breaks the most basic concept of a ROS distribution: > > Much like Linux distributions, they make it much easier for developers to > target a consistent set of libraries to develop and test on. Also, we are > providing patches for distributions so that developers are not forced to > switch to bleeding edge, unstable code just to incorporate important bug > fixes.[1] > > [1] http://www.ros.org/wiki/Distributions#What_is_a_Distribution.3F > > Package maintainers are supposed to provide *binary* (ABI) as well as > *source* (API) compatibility after a distribution is released. Those things > may only change *before* the next release becomes final. After that, only > bug fixes should be made. > > Furthermore, API changes between releases should provide at least one > tick-tock release cycle, in which both the new and the (deprecated) old > versions are provided. > > Gazebo is an excellent simulator, heavily used by many projects. > Therefore, it needs to be especially sensitive to these stability issues. > -- > joq > _______________________________________________ > ros-users mailing list > ros-users@code.ros.org > https://code.ros.org/mailman/listinfo/ros-users > >