By versioning the `dora-message` crate individually, we can use the
semver rules to encode which versions are compatible. This way, we can
allow different versions of dora to work together (e.g. CLI version can
be different than node API version), as long as the message formats are
compatible. Breaking message format changes are signaled by a
semver-incompatible release of `dora-message`. For example, 0.4.0 is not
compatible with 0.3.5.
One alternative approach could be to use the main version to signal
compatibility, i.e. the common version that we use for all dora crates.
This has the disadvantage that we might need to bump the minor version
of the main dora crate every time we want to change the message format
in a breaking way. As we still expect semi-regular breaking changes to
the message format in the near future, we want to avoid this churn. Once
we consider the message format more stable, we plan to revisit this
approach.
Fixes https://github.com/dora-rs/dora/issues/504
TODO
- [x] Update release script: We should not try to publish the
`dora-message` crate if there is no new version.
- [x] Relax version checks to only compare major/minor version
(according to semver compatibility rules).
The file libraries/extensions/download/Cargo.toml has a reqwest dependency with a version number of 0.11.12. This package enables the rustld-tls feature. rustls depends on ring, and ring already supports RISCV64 in the latest version 0.17.
Upgrade reqwest to the latest version 0.12.4 to support RISCV64.
Reviewed-by: LyonRust
This PR simplify how ROS2 messages are parsed using dora.
It will parse all messages included in the `AMENT_PREFIX_PATH` folder
that has a path in the following format: `<package>/msg/<message>.msg`.
Similarly for services it will be parsed as: `<package>/srv/<service>.srv`.
It does not requires `.idl` anymore nor does it needs to be in the `ament_index`.
This commit add an initial dora-rerun extension for visualization of run
using rerun.
This is still experimental and will be improved in the future.
I also added an example that we can try out by:
```bash
cd examples/rerun-viewer
dora start dataflow.yml --attach
```
You might need to install rerun viewer with
```bash
cargo install --force rerun-cli@0.15.1
```