Upgrade Guide
How to bump Autoware and Zenoh. Versions are pinned in many places, so follow the checklists below.
Where versions are pinned
Autoware – the image tag and AUTOWARE_VERSION:
container/Dockerfile_autoware– base image tag.container/Dockerfile_carla_bridge– base image tag.container/run-autoware-docker-src.sh– image tag andAUTOWARE_VERSION.container/run-autoware-docker.sh,container/run-bridge-docker.sh– image tag.docs/index.rst– theVersionblock.
Warning
The Autoware tag format changes between releases – ...cuda-1.7.1-jazzy-amd64 became ...cuda-jazzy-1.8.0 at 1.8.0. Confirm the real tag on the container registry.
Zenoh – align every version string so they all match, then update each place below:
container/Dockerfile_autoware–eclipse-zenoh==<version>, installed with pip--break-system-packagesinto the ROS 2 system Python rather than uv.external/zenoh_autoware_v2x/pyproject.toml–eclipse-zenoh==<version>, uv-managed and must match the Dockerfile version.external/zenoh_carla_bridge/Cargo.toml–zenoh = "<version>".external/zenoh-plugin-ros2dds– the upstream eclipse-zenoh plugin, not evshary’s; check out the matching release tag and do not edit it.docs/index.rst– theVersionblock.FMS – evshary/zenoh_autoware_fms is an external repo, not a submodule. In its
pyproject.toml:match
eclipse-zenoh==<version>;update the
zenoh-ros-typegit dep.
The zenoh_* submodules are evshary’s. PR the source to evshary, wait for it to merge, then bump the submodule pointer.
Not version-coupled – not tied to the Autoware/Zenoh bump:
zenoh-ros-type– serialised ROS message types, in two evshary repos. Only if a type is missing, PR it, then update the dependency:Python zenoh-ros-type-python is a git dep in
zenoh_autoware_v2x/pyproject.toml; bump it and runuv lock.Rust zenoh-ros-type is a crates.io dep in
zenoh_carla_bridge/Cargo.toml; ask evshary for a release, then bump the version.
CARLA version – follows CARLA and is independent of this bump:
Python
carla==<version>inzenoh_autoware_v2x/pyproject.tomlandzenoh_carla_bridge/carla_agent/pyproject.toml.Rust
carla = "<version>"inzenoh_carla_bridge/Cargo.tomluses the carla-rust bindings. Its version is not the simulator version, so check that a release supports the target CARLA.Docs version strings in
docs/index.rst,docs/prerequisites.rst, anddocs/scenarios/fms.rst.
external/zenoh_autoware_v2x/pyproject.toml– confirmpython >= 3.12,numpy < 2, andpygamestill fit the base image.src/autoware_manual_control– leave it unless a message or topic rename affects it.
Common issues
Model URLs/versions –
script/setup/download_models.sh,build_models.sh. Compare against Autoware’s artifact list at the target tag and update any changed model.Topic renames break key expressions –
config/zenoh-bridge-ros2dds-conf.json5and the router ingress/egress inconfig/RMW_ZENOH_ROUTER_V*.json5.Base-image workarounds in
env.sh– check whether the new image already does it;ip link set lo multicast onwas dropped at 1.8.0, for instance.New apt packages –
container/Dockerfile_autoware. A new base image may lack packages such asxacro,topic-tools, orrviz2; the symptom is a node or package missing at launch.
Procedure
Confirm the target tag format and the compatible Zenoh version from the rmw_zenoh and zenoh-plugin-ros2dds release notes.
Bump all three Zenoh submodules and align every version string.
Update every file under Where versions are pinned.
Rebuild, run, then walk the checklist.
Templates: search the git log for Bump – Zenoh-only, Autoware-only, and combined bumps are all there.
Post-upgrade checklist
Perception – models downloaded, detections appear.
Topics flow both ends – key expressions match the renamed topics.
No stale workarounds in
env.sh.