Skip to content

Release v0.4.0#298

Draft
bburda wants to merge 23 commits intomainfrom
release/0.4.0
Draft

Release v0.4.0#298
bburda wants to merge 23 commits intomainfrom
release/0.4.0

Conversation

@bburda
Copy link
Collaborator

@bburda bburda commented Mar 21, 2026

Pull Request

Summary

Release v0.4.0 - version bumps across all 13 packages, comprehensive documentation overhaul, and release tooling.

Version bumps:

  • All 13 package.xml files bumped from 0.3.0 to 0.4.0
  • version.hpp fallback updated
  • docs/conf.py version updated

Documentation overhaul:

  • Root README rewritten with narrative style, entity tree examples, accurate feature table
  • 6 new package READMEs (cmake, linux_introspection, beacon_common, param_beacon, topic_beacon, graph_provider)
  • Gateway README updated with scripts, OpenAPI, vendor extension, locking endpoints
  • 4 new Sphinx tutorials (locking, scripts, beacon discovery, OpenAPI/Swagger)
  • Plugin system tutorial updated with ScriptProvider and PluginContext v4
  • Scripts + Authentication config sections added to server.rst
  • rest.rst version fixes and locking cross-reference
  • Roadmap updated with milestone completion markers
  • changelog.rst rewritten to aggregate all 13 package changelogs via include directives
  • 7 new design docs with symlinks and toctree entries
  • Gateway changelog fixed: moved post-0.3.0 items (docs+fix: update documentation and API responses for post-0.3.0 changes #258, feat: Linux introspection plugins (procfs, systemd, container) #263) from 0.3.0 section to 0.4.0

Release tooling:

  • New scripts/release.sh for automated version bump and verification

Review fixes:

  • Fixed hardcoded "0.3.0" in test_capability_generator.cpp (use kGatewayVersion)
  • Fixed beacon README parameter names to match source code
  • Fixed OpenAPI version string (3.0 -> 3.1.0) in README and CHANGELOG
  • Added security warnings to auth config examples
  • Fixed pip -> pipx in Contributing section

Issue


Type

  • Bug fix
  • New feature or tests
  • Breaking change
  • Documentation only

Testing

  • Sphinx build passes with -W (warnings as errors)
  • Pre-commit hooks pass on all files
  • ./scripts/release.sh verify 0.4.0 confirms all 13 packages + version.hpp are consistent
  • test_capability_generator.cpp uses version-agnostic assertion

Checklist

  • Breaking changes are clearly described (and announced in docs / changelog if needed)
  • Tests were added or updated if needed
  • Docs were updated if behavior or public API changed

@bburda bburda self-assigned this Mar 21, 2026
sed -i "s|kGatewayVersion = \"[0-9]\+\.[0-9]\+\.[0-9]\+\"|kGatewayVersion = \"${target_version}\"|" "$VERSION_HPP"
echo " version.hpp fallback: ${old_fallback} -> ${target_version}"
else
echo " WARNING: version.hpp not found at ${VERSION_HPP}"
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Minor: Script bumps all package.xml + version.hpp but not docs/conf.py (which was manually bumped in this PR). Next release will forget. Consider adding:

CONF_PY="${REPO_ROOT}/docs/conf.py"
if [ -f "$CONF_PY" ]; then
    sed -i "s|^version = \".*\"|version = \"${target_version}\"|" "$CONF_PY"
    sed -i "s|^release = \".*\"|release = \"${target_version}\"|" "$CONF_PY"
fi

Same for verify - check conf.py version too.

bburda added 20 commits March 21, 2026 19:28
- Bump all 13 package.xml files from 0.3.0 to 0.4.0
- Update version.hpp fallback to 0.4.0
- Add 0.4.0 sections to all existing CHANGELOG.rst files
- Create initial CHANGELOG.rst for new packages (ros2_medkit_cmake,
  ros2_medkit_linux_introspection, ros2_medkit_beacon_common,
  ros2_medkit_param_beacon, ros2_medkit_topic_beacon,
  ros2_medkit_graph_provider)
- Fix gateway changelog: move post-0.3.0 items (#258, #263) from
  0.3.0 section to new 0.4.0 section
- Add scripts/release.sh for automated version bump and verification

Refs: #278
- Fix hardcoded "0.3.0" in test_capability_generator.cpp - use
  kGatewayVersion constant for version-agnostic assertion
- Add source /opt/ros/jazzy/setup.bash to README build-from-source
- Add curl health check and Getting Started link after Quick Start
- Fix "Log sources" -> "Log entries" in README feature table
- Remove "SOVD" from locking feature description
- Fix pip -> pipx in Contributing section
- Fix auth.mode -> auth.enabled in scripts tutorial
- Add danger directive to auth config examples about weak secrets
- Use obviously-placeholder credentials in config examples
- Fix release.sh verify to include version.hpp in consistency check

Refs: #278
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Release v0.4.0

2 participants