# Libcanard for UAVCAN/CAN v1 is released

**URL:** <https://forum.opencyphal.org/t/libcanard-for-uavcan-can-v1-is-released/774>\
**Category:** Libcanard\
**Created:** [March 8, 2020, 4:07am UTC](https://forum.opencyphal.org/t/libcanard-for-uavcan-can-v1-is-released/774 "2020-03-08T04:07:49Z")\
**Posts on this page:** 1\
**Showing post:** 30

<div class="post-metadata">

**Author:** ![pavel.kirienko](https://forum.opencyphal.org/user_avatar/forum.opencyphal.org/pavel.kirienko/32/9_2.png) [@pavel.kirienko](https://forum.opencyphal.org/u/pavel.kirienko)\
**Post date:** [October 20, 2020, 5:59pm UTC](https://forum.opencyphal.org/t/libcanard-for-uavcan-can-v1-is-released/774/30 "2020-10-20T17:59:23Z")

</div>

Here is the **migration guide** from Libcanard v0.100 to the stable v1.0.0. It is super short:

1. Update your subject-ID idenfiers by clearing the two most significant bits. The maximum subject-ID was 32767 (15 bits), it was contracted down to **8191** (13 bits) in the Specification v1.0-beta. For example, the subject-ID of 32085 (0x7d55) would become 7509 (0x1d55). Notice that in many cases, this change does not really affect wire compatiblity between v0.100 and v1.0.0 (unless low subject-ID values are used) because the two removed bits are set to 1 when transmitting and ignored when receiving. This is now stabilized in Specification.

2. When creating new subscriptions, the parameter `extent` should contain the extent of the data type, not just the maximum size of the object. Here is the explanation from the docs:

---

_[View the full topic](https://forum.opencyphal.org/t/libcanard-for-uavcan-can-v1-is-released/774)._
