• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

OpenCyphal / libcanard
100%

Build:
DEFAULT BRANCH: master
Repo Added 24 Mar 2026 02:11PM UTC
Files 1
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH master
branch: SELECT
CHANGE BRANCH
x
  • No branch selected
  • experimental
  • experimental-subscription
  • master

07 Apr 2026 01:45PM UTC coverage: 100.0%. First build
24084737481

push

github

web-flow
v5.0 alpha (#258)

v5 is a major rework based on the experience gained from extensive
production use of the previous revisions. The API has been redesigned
from scratch and as such there is no migration guide available; please
refer to the examples and read the new `canard.h` to see how to use the
library -- the new API is much more ergonomic than the old one.

Main changes:

- Support for new protocols alongside Cyphal v1.0:
- Cyphal/CAN v1.1, which adds support for 16-bit subject-IDs (like in
UAVCAN v0) via a new CAN ID layout format.
- UAVCAN v0 aka DroneCAN, a legacy predecessor to Cyphal v1.0 that is
still widely used.

- Anonymous messages can no longer be transmitted, but they can still be
received.

- A new passive node-ID autoconfiguration based on a simple occupancy
observer.
  This method is decentralized and is compatible with old nodes.
  A node-ID can still be assigned manually if needed.

- Automatic CAN acceptance filter configuration based on the current
subscription set.
The configuration is refreshed whenever the subscription set is modified
or the local node-ID is changed.

- New TX pipeline using per-transfer queue granularity with efficient
CAN frame deduplication across redundant
interfaces, which resulted in a major reduction of heap memory footprint
(typ. x2+ reduction).

- New RX pipeline supporting priority level preemption without transfer
loss and reduced memory consumption.
The old revision was susceptible to transfer loss when the remote
initiated a higher-priority multi-frame
transfer while a lower-priority multi-frame transfer was in flight. The
v5 revision maintains concurrent
  reassemblers per priority level, enabling arbitrary priority nesting.

Closes #184 
Closes #223 
Closes #247

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

215 of 215 branches covered (100.0%)

Branch coverage included in aggregate %.

854 of 854 new or added lines in 1 file covered. (100.0%)

871 of 871 relevant lines covered (100.0%)

14797.42 hits per line

Relevant lines Covered
Build:
Build:
871 RELEVANT LINES 871 COVERED LINES
14797.42 HITS PER LINE
Source Files on master
  • Tree
  • List 1
  • Changed 0
  • Source Changed 0
  • Coverage Changed 0
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
24084737481 master v5.0 alpha (#258) v5 is a major rework based on the experience gained from extensive production use of the previous revisions. The API has been redesigned from scratch and as such there is no migration guide available; please refer to the example... push 07 Apr 2026 01:48PM UTC web-flow github
100.0
24076783200 experimental Improve the subscription API: return incumbent if exists Pull #258 07 Apr 2026 10:31AM UTC pavel-kirienko github pending completion  
23899682825 experimental-subscription Improve the subscription API: return incumbent if exists push 02 Apr 2026 12:45PM UTC pavel-kirienko github
100.0
23880643122 experimental-subscription improved subscription API push 02 Apr 2026 02:27AM UTC pavel-kirienko github
100.0
23805008679 experimental Minor comment fix Pull #258 31 Mar 2026 03:19PM UTC pavel-kirienko github
100.0
23804704058 experimental Internalize v0 CRC extent reservation in rx_slot_new The v0 CRC_BYTES overhead is now added in rx_slot_new instead of in the canard_v0_subscribe* functions, so sub->extent uniformly represents user payload size for both v0 and v1. Update stale co... Pull #258 31 Mar 2026 03:15PM UTC pavel-kirienko github
100.0
23803660834 experimental Allow changing cy_subscription_t::extent at any time Pull #258 31 Mar 2026 02:53PM UTC pavel-kirienko github
100.0
23537711539 experimental Fix clang-tidy warnings in rx_filter tests Suppress non-const global variable warnings on test capture state, split multiple variable declarations onto separate lines. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> Pull #258 25 Mar 2026 11:05AM UTC pavel-kirienko github
100.0
23537443618 experimental Always accept heartbeat and nodestatus for occupancy tracking Pull #258 25 Mar 2026 10:58AM UTC pavel-kirienko github
100.0
23500377788 experimental Deflake coverage lifecycle test Pull #258 24 Mar 2026 04:28PM UTC pavel-kirienko github
100.0
See All Builds (16)
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc