Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update how/when we bump major.minor.patch versions #1313

Open
matlabbe opened this issue Jul 21, 2024 · 0 comments
Open

Update how/when we bump major.minor.patch versions #1313

matlabbe opened this issue Jul 21, 2024 · 0 comments

Comments

@matlabbe
Copy link
Member

matlabbe commented Jul 21, 2024

Historically:

  • Version major 0 meant active development and research (during my PhD): partially documented code, no official API released, lack of unit/integration tests
  • Version minor was bumped only when database schema changed or big API breaking change happened
  • Version patch was bumped for every fixes but also new features (small or large) not related to a database schema change
  • For ros package, we tried to keep in sync rtabmap_ros version with upstream rtabmap version so that it is easier for a user to checkout the compatible corresponding versions from source. That means if a change in rtabmap_ros is required, but not in upstream rtabmap, we abused the debinc version of ros buildfarm to release a new package with same major.minor.patch version but with patched ros related code (e.g., a change in package.xml dependencies). This can cause issues like rtabmap: 0.21.5-2 in 'jazzy/distribution.yaml' [bloom] ros/rosdistro#41892 (comment)

Roadmap to follow better standard for versioning this package:

  • Major version should be incremented when we break API
    • Version 1: document every public functions, produce doxygen web page API, add unit tests
  • Minor version should be incremented for any new feature (new camera support, new parameter, new database schema), and they should be backward compatible
  • Patch version should be incremented for bug fixes or small documentation changes (ideally that don't require ros changes)
  • For rtabmap_ros (based on that comment): we should allow patch version to diverge from the upstream patch version, making only version.minor version requirement to have compatible ros package and upstream library. That will smooth the release process on ros buildfarm.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant