ROS Resources: Documentation | Support | Discussion Forum | Service Status | Q&A answers.ros.org

BehaviorTree.CPP and Groot Version 3.0 released

Hi ROS developers,

I am please to announce a new major release (3.0) of BehaviorTree.CPP

You can find the documentation, including the Migration Guide for users of version 2.x) here:

https://behaviortree.github.io/BehaviorTree.CPP/

This new version greatly improve the ability of the user to create reusable Actions and to compose them in very large behavior Trees without modifying the C++ code.

Our graphical editor Groot has been updated accordingly (even if the new version should be considered a “beta”).

Feedback, issue report and questions are really appreciated. Do no hesitate to contact me directly or (preferably) on Github.

The API of version 3.X is considerably different from version 2.X; it was impossible to add all the improvements we neeed without reconsider some design decisions, as explained in the Migration Guide.

For this reason, the package version 2.X will keep its name behaviortree_cpp, whilst this new version will co-exist for the time being under the new package name behaviortree_cpp_v3.
In this way users can decide when migrate changing the name of the package in their list of dependencies.

Cheers

Davide

8 Likes

We really need better management of package versions, or better advertising of what we have if it can solve this problem.

1 Like

@gbiggs I am all ears

Packages that depend on the old version could specify it in their package.xml using: http://www.ros.org/reps/rep-0140.html#id14

Unfortunately, if two packages in a system require different versions, there will not be a good solution for both packages.

I don’t know if BT is extended enough to consider this possibility, keeping in mind that people will end up switching to the new version sooner or later.

I don’t have strongs opinions about this and the point made by @v-lopez is 100%% correct.

My instinct suggests that people SHOULD switch to V3, no matter what, but I was trying not to be an a**hole, breaking their compilation.

People will shift, but then you’ll be stuck with the version number in the package name forever. :slight_smile: It’s a tricky situation. I wonder if @dirk-thomas has any ideas.

1 Like