Skip to content

Release v0.7.0 #606

Description

@bburda

Summary

Cut release 0.7.0. 0.6.0 shipped 2026-06-22. Since that tag main has 59 merged PRs and every package.xml is still at 0.6.0. This issue tracks the documentation work, the changelogs, the bugs that have to go in first, and the pre-tag checklist.

Highlights since 0.6.0

New packages

OPC UA and PLC

Faults

Assets and manifest

Gateway

Build, CI and tests

Behaviour changes to call out

Bugs to fix before the tag

Filed after this issue was written:

#528, #611, #612 and #613 are one subsystem and share aggregation.timeout_ms and the peer fan-out, so they are being fixed together rather than one at a time. #614 and #615 still need a decision on whether they block the tag.

Already fixed, close after checking:

Documentation

ros2_medkit_graph_watchdog is not wired into the docs at all. It has a README and a design document in the package, and neither reaches the Sphinx build.

  • Add src/ros2_medkit_plugins/ros2_medkit_graph_watchdog/CHANGELOG.rst. The package has none.
  • Add the include for it in docs/changelog.rst.
  • Add the docs/design/ros2_medkit_graph_watchdog symlink to the package design/ directory.
  • Add it to the toctree in docs/design/index.rst.
  • Add docs/config/graph-watchdog.rst and list it in docs/config/index.rst. The 685-line package README is the only description of the detector configuration today.

Other gaps:

  • docs/config/fault-manager.rst does not mention the audit log. The five parameters from Tamper-evident append-only fault audit log #487 (audit_log.enabled, audit_log.transitions, audit_log.retention_max_records, audit_log.fail_closed, audit_log.database_path) are only in the package README.
  • src/ros2_medkit_fault_detection/CHANGELOG.rst dates its initial release as 0.6.0 (2026-06-22). The package landed after that tag and was never in it. Move the entry to 0.7.0.
  • Check the root README against what the release actually ships, in particular graph watchdog and the config-less OPC UA path.
  • Run python scripts/generate_verification.py and check the documentation build has no warnings. The build uses -W.

Changelogs

Target section: 0.7.0 (<date>).

Four packages have a Forthcoming section, and it covers only part of what changed:

  • ros2_medkit_gateway - one entry, 141 changed files.
  • ros2_medkit_fault_manager - one entry, 29 changed files.
  • ros2_medkit_fault_reporter - two entries.
  • ros2_medkit_graph_provider - two entries.

Changed with no entry at all:

  • ros2_medkit_opcua - 36 changed files, the largest gap after the gateway.
  • ros2_medkit_graph_watchdog - 49 changed files, no CHANGELOG file yet.
  • ros2_medkit_integration_tests - 60 changed files.
  • ros2_medkit_cmake - 23 changed files.
  • ros2_medkit_serialization - 9 changed files.
  • ros2_medkit_action_status_bridge, ros2_medkit_diagnostic_bridge - 7 changed files each.
  • ros2_medkit_fault_detection - 5 changed files.
  • ros2_medkit_log_bridge - 4 changed files.

Two entries that must not be missed, both about the rosbag storage default:

  • The default bag format goes back to mcap in Declare the rosbag storage plugins, default to mcap, and serialize the plugin loader #610. This is operator-visible and breaking: bags land as .mcap instead of .db3 and the bulk-data download filename changes with it. The release notes are the only migration surface, so ros2_medkit_fault_manager needs an entry under 0.7.0. The last time this default moved (e526ce48, shipped in 0.6.0 as a crash-safety fix) the flip itself was never written down, which is how it went unnoticed for a release.
  • Correct the 0.4.0 entries. src/ros2_medkit_fault_manager/CHANGELOG.rst and src/ros2_medkit_gateway/CHANGELOG.rst both say under 0.4.0 "Default rosbag storage format changed from sqlite3 to mcap". That was reverted by e526ce48 and the code has shipped sqlite3 ever since, so the released changelog has claimed mcap for two releases while the default was sqlite3. Decide whether to correct the 0.4.0 lines in place or to note the reversal under 0.7.0.
  • ros2_medkit_msgs - 3 changed files.
  • ros2_medkit_sovd_service_interface, ros2_medkit_beacon_common, ros2_medkit_linux_introspection, ros2_medkit_param_beacon, ros2_medkit_topic_beacon - one changed file each, a version bump note is enough.

Version bump

  • scripts/release.sh bump 0.7.0. It updates 19 package.xml, core/version.hpp, docs/conf.py, docs/pyproject.toml, docs/Doxyfile, QUALITY_DECLARATION.md and the examples in docs/api/rest.rst.
  • scripts/release.sh verify 0.7.0 reports all OK.

Pre-tag

  • Decide what happens to the two packages that are not in rosdistro yet. 16 packages are released at 0.6.0-1; the tree has 19. ros2_medkit_fault_detection is only depended on by ros2_medkit_opcua, which stays out. ros2_medkit_graph_watchdog is a leaf and its test dependencies are all released. Either add both to the packages list in a rosdistro PR, or leave them out on purpose.
  • Full CI passes on Jazzy, Humble and Lyrical on release/0.7.0.
  • Tag 0.7.0 and bloom-release the supported distros (jazzy, humble, lyrical; ros2_medkit_opcua excluded).

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions