Skip to content

Commit 5e916d5

Browse files
committed
chore: deprecate hiroz-bridge binary and ros2dds key expression format
hiroz-bridge is superseded by the hiroz-toolkit binary which handles cross-distro and cross-DDS bridging in a single configurable binary. KeyExprFormat::Ros2Dds is deprecated in favour of zenoh-bridge-dds.
1 parent 76ff6b5 commit 5e916d5

6 files changed

Lines changed: 30 additions & 5 deletions

File tree

crates/hiroz-bridge/src/main.rs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
//! hiroz-bridge: bridges ROS 2 Humble and Jazzy Zenoh networks.
22
//!
3+
//! **Deprecated.** This binary is deprecated and will be removed in a future release.
4+
//! The successor is `hiroz-bridge` from [hiroz-toolkit](https://github.com/ZettaScaleLabs/hiroz-toolkit),
5+
//! which supports cross-distro and cross-DDS bridging in a single configurable binary.
6+
//!
37
//! Humble uses `TypeHashNotSupported` as type hash in key expressions.
48
//! Jazzy uses `RIHS01_<hex>` hashes. The bridge subscribes to both networks,
59
//! rewrites key expressions so they match, and forwards messages bidirectionally.
@@ -37,6 +41,11 @@ async fn main() -> Result<()> {
3741

3842
let args = Args::parse();
3943

44+
eprintln!(
45+
"WARNING: hiroz-bridge is deprecated and will be removed in a future release.\n\
46+
Use hiroz-bridge from hiroz-toolkit instead: https://github.com/ZettaScaleLabs/hiroz-toolkit"
47+
);
48+
4049
tracing::info!(
4150
"Starting hiroz-bridge: humble={} jazzy={} domain={}",
4251
args.humble_endpoint,

crates/hiroz-protocol/Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ categories = ["network-programming", "science::robotics"]
1414
default = ["std", "rmw-zenoh"]
1515
std = ["zenoh/default"]
1616
rmw-zenoh = []
17-
ros2dds = []
17+
ros2dds = [] # deprecated: will be removed in a future release
1818
no-type-hash = [] # ROS 2 Humble doesn't support type hashing
1919

2020
[dependencies]

crates/hiroz-protocol/src/format/mod.rs

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,16 @@ pub enum KeyExprFormat {
3434
/// zenoh-plugin-ros2dds compatible format.
3535
///
3636
/// Different key expression structure for DDS bridge compatibility.
37+
///
38+
/// **Deprecated.** This format and the `ros2dds` feature flag will be removed in a future
39+
/// release. For legacy DDS bridge needs, use
40+
/// [`zenoh-bridge-dds`](https://github.com/eclipse-zenoh/zenoh-plugin-ros2dds) with
41+
/// `--wire-format ros2dds`.
42+
#[deprecated(
43+
since = "0.1.0",
44+
note = "The ros2dds format will be removed in a future release. \
45+
Use zenoh-bridge-dds --wire-format ros2dds for DDS bridging."
46+
)]
3747
Ros2Dds,
3848
}
3949

crates/hiroz/Cargo.toml

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,9 +83,11 @@ dynamic-schema-loader = ["hiroz-codegen"]
8383

8484
# Key expression format selection
8585
# rmw-zenoh: Compatible with rmw_zenoh_cpp (domain/topic/type/hash format)
86-
# ros2dds: Compatible with zenoh-bridge-ros2dds (simple topic format)
86+
# ros2dds: Compatible with zenoh-bridge-ros2dds (simple topic format) — DEPRECATED
8787
rmw-zenoh = ["hiroz-protocol/rmw-zenoh"]
88-
ros2dds = ["hiroz-protocol/ros2dds"]
88+
ros2dds = [
89+
"hiroz-protocol/ros2dds",
90+
] # deprecated: will be removed in a future release
8991
rcl-z = []
9092
ffi = []
9193

docs/experimental/keyexpr-formats.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ hiroz supports multiple key expression formats for interoperability with differe
1212
| Format | Compatibility | Use Case |
1313
|--------|--------------|----------|
1414
| **RmwZenoh** (default) | [`rmw_zenoh_cpp`](https://github.com/ros2/rmw_zenoh) | Standard ROS 2 Zenoh middleware |
15-
| **Ros2Dds** | `zenoh-bridge-ros2dds` | DDS bridge compatibility |
15+
| **Ros2Dds** _(deprecated)_ | `zenoh-bridge-ros2dds` | DDS bridge compatibility |
1616

1717
### RmwZenoh Format (Default)
1818

@@ -38,7 +38,9 @@ Liveliness: @ros2_lv/<domain_id>/<entity_kind>/<namespace>/<name>/...
3838
- Running pure hiroz deployments
3939
- Requiring domain isolation via Zenoh
4040

41-
### Ros2Dds Format
41+
### Ros2Dds Format _(deprecated)_
42+
43+
> **Deprecated.** `KeyExprFormat::Ros2Dds` and the `ros2dds` feature flag are deprecated and will be removed in a future release. For DDS bridging use `zenoh-bridge-dds --wire-format ros2dds` from [zenoh-plugin-ros2dds](https://github.com/eclipse-zenoh/zenoh-plugin-ros2dds).
4244
4345
The Ros2Dds format targets compatibility with `zenoh-bridge-ros2dds`, which bridges standard DDS-based ROS 2 nodes to Zenoh.
4446

docs/user-guide/bridge.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
# Cross-Distro Bridge
22

3+
> **Deprecated.** The `hiroz-bridge` binary in this repository is deprecated and will be removed in a future release. The successor is `hiroz-bridge` from [hiroz-toolkit](https://github.com/ZettaScaleLabs/hiroz-toolkit), which supports cross-distro and cross-DDS bridging in a single configurable binary.
4+
35
`hiroz-bridge` is a standalone binary that transparently connects a **legacy** ROS 2 network
46
(Humble and earlier) and a **modern** ROS 2 network (Jazzy, Kilted, Lyrical, Rolling) over a shared
57
Eclipse Zenoh backbone.

0 commit comments

Comments
 (0)