fzi-forschungszentrum-informatik / ros2_ros_bt_py

This is a Behavior Tree library meant to be an alternative to SMACH, FlexBE and the like. It includes a ReactJS-based web GUI and all the building blocks you need to build moderately advanced mission control Behavior Trees without writing a single line of code!
BSD 3-Clause "New" or "Revised" License
24 stars 6 forks source link

Add versioning #22

Closed Oberacda closed 5 months ago

Oberacda commented 9 months ago

To make backward compatibility more obvious, we established a versioning system similar to semantic versioning (MAJOR.MINOR.PATCH). Due to the obvious conflict that will arise between ROS 1 and 2, we are making a small shift to ROSVERSION.MAJOR.MINOR with a minor cap at 10 (x.x.10 would instead be x.x+1.0). Version 1.0.0 will be the current main before capabilities are introduced. Dev syncs will normally increase the MINOR, but larger features like capabilities will directly increase the MAJOR. Version 2.0.0 will be the first stable ROS 2 release (this is TBD) and will follow the same pattern afterwards.

nspielbau commented 8 months ago

I think we should change this to the "normal" semantic versioning now that we actually have separate repositories for the different ROS versions

Oberacda commented 8 months ago

OK, would you suggest restarting at release version 0/1 instead of using the ROSVERSION as the release version? If so, we should add a commit as part of the milestone to set this up. This should also be reflected in the version of the documentation on GitHub Pages.

nspielbau commented 8 months ago

Exactly, I would suggest we restart and are currently on 0.1.0, capabilities could mark 1.0.0, but we can discuss that. This has the benefit that we can use the standards set by semantic versioning: MAJOR version when you make incompatible API changes MINOR version when you add functionality in a backward compatible manner PATCH version when you make backward compatible bug fixes One problem with this approach is that we don't have comparability between the ROS 1 and ROS 2 versions, but I think that should be fine as they will diverge in functionality anyways

nspielbau commented 8 months ago
nspielbau commented 5 months ago

@Oberacda I think we can close this