All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
canadensis-v0.3.2 - 2024-11-07
- Updated
fallible_collections
to v0.5.1 #32
- Avoid allocated space for more than one subscription #32
canadensis_bxcan-v0.3.1 - 2024-11-07
- Updated
fallible_collections
to v0.5.1 #32
canadensis_can-v0.3.1 - 2024-11-07
- Updated
fallible_collections
to v0.5.1 #32
canadensis_core-v0.3.1 - 2024-11-07
- Updated
fallible_collections
to v0.5.1 #32
canadensis_serial-v0.3.1 - 2024-11-07
- Updated
fallible_collections
to v0.5.1 #32
canadensis_udp-v0.4.1 - 2024-11-07
- Updated
fallible_collections
to v0.5.1 #32
canadensis-v0.3.1 - 2023-10-05
canadensis
: Added default-features = false to half dependency to fix no_std compatibility
canadensis_macro-v0.3.1 - 2023-10-05
canadensis_macro
: Added default-features = false to half dependency to fix no_std compatibility
canadensis_data_types-v0.3.1 - 2023-09-05
canadensis_data_types
: Added default-features = false to half dependency to fix no_std compatibility
canadensis_codegen_rust-v0.4.2 - 2023-09-05
canadensis_codegen_rust
: Added default-features = false to half dependency in generated code to fix no_std compatibility
canadensis_encoding-v0.3.1 - 2023-09-05
canadensis_encoding
: Added default-features = false to half dependency to fix no_std compatibility
canadensis_dsdl_frontend-v0.4.1 - 2023-09-05
canadensis_dsdl_frontend
: Fixed duplicate error text
canadensis_bxcan-v0.3.0 - 2023-03-30
canadensis_bxcan
: Added support for loopback frames, with timestamps based on the transmit time calculated by software
canadensis_bxcan
: Clippy fixescanadensis_bxcan
: Breaking change: Removed deprecated functionsbxcan_frame_to_uavcan
anduavcan_frame_to_bxcan
, made the replacement functions privatecanadensis_bxcan
: Breaking change: Updatedbxcan
dependency to 0.7canadensis_bxcan
: Breaking change: Moved clock down into drivers to make frame timestamps more accurate
canadensis_linux-v0.3.0 - 2023-03-30
canadensis_linux
: Breaking change: Moved clock down into drivers to make frame timestamps more accurate
canadensis_pnp_client-v0.3.0 - 2023-03-30
canadensis_pnp_client
: Updatedcrc-any
dependency to 2.4canadensis_pnp_client
: Breaking change: Moved clock down into drivers to make frame timestamps more accurate
canadensis-v0.3.0 - 2023-03-30
canadensis
: Added loopback publishing/requesting functions and loopback handler function
canadensis
: Breaking change: Replaceduavcan.node.port.List.0.1
and associated data types with version 1.0. The DSDL and the structures of the types have not changed, only the version number.canadensis
: Clippy fixescanadensis
: Breaking change: Updatedhalf
dependency to 2.2canadensis
: Updated private dependenciescanadensis
: Breaking change: Moved clock down into drivers to make frame timestamps more accurate
canadensis_derive_register_block-v0.2.2 - 2023-03-30
canadensis_derive_register_block
: Updatedsyn
dependency to 2.0
canadensis_data_types-v0.3.0 - 2023-03-30
canadensis_data_types
: Added documentation from DSDL comments
canadensis_data_types
: Changed the order of constants to match the order in the DSDL filescanadensis_data_types
: Regenerated code to match revision 935973babe11755d8070e67452b3508b4b6833e2 of https://github.com/OpenCyphal/public_regulated_data_types/canadensis_data_types
: Breaking change: Updatedhalf
dependency to 2.2,memoffset
to 0.8
canadensis_serial-v0.4.0 - 2023-03-30
canadensis_serial
: Breaking change: Changed header formatcanadensis_serial
: Updatedsimplelog
dependency to 0.12canadensis_serial
: Breaking change: Moved clock down into drivers to make frame timestamps more accurate
canadensis_udp-v0.4.0 - 2023-03-30
canadensis_udp
: Major rework for new version of Cyphal/UDPcanadensis_udp
: Breaking change: Changed header formatcanadensis_udp
: Clippy fixescanadensis_udp
: Updatedsimplelog
dependency to 0.12canadensis_udp
: Breaking change: Moved clock down into drivers to make frame timestamps more accurate
canadensis_header-v0.1.0 - 2023-03-30
canadensis_header
: This is a new crate that specifies the frame header format that Cyphal/UDP and Cyphal/Serial use
canadensis_can-v0.3.0 - 2023-03-30
canadensis_can
: Breaking change: Added support for loopback frames and transfers
canadensis_can
: Breaking change: Moved clock down into drivers to make frame timestamps more accurate
canadensis_macro-v0.3.0 - 2023-03-30
canadensis_macro
: Code generation can fail with an errorcanadensis_macro
: Updatedsyn
dependency to 2.0canadensis_macro
: Breaking change: Updated dependencies of generated code:half
to 2.2,memoffset
to 0.8
canadensis_codegen_rust-v0.4.1 - 2023-03-30
- Fixed incorrect versions of dependencies printed by
canadensis_codegen_rust print-dependencies
canadensis_codegen_rust-v0.4.0 - 2023-03-30
canadensis_codegen_rust
: Added the ability to produce documentation comments in generated code based on DSDL commentscanadensis_codegen_rust
: Added the ability to generate enums from DSDL types marked with#[canadensis(enum)]
canadensis_codegen_rust
: Clippy fixescanadensis_codegen_rust
: Updatedclap
dependency to 4.1canadensis_codegen_rust
: Breaking change: Updated dependencies of generated code:half
to 2.2,memoffset
to 0.8canadensis_codegen_rust
: Breaking change: Code generation can fail with an error
canadensis_dsdl_frontend-v0.4.0 - 2023-03-30
canadensis_dsdl_frontend
: Breaking change: Added comment handling, made some struct fields privatecanadensis_dsdl_frontend
: Constants are now stored in the order they are declared in the DSDL file, instead of alphabetical order by namecanadensis_dsdl_frontend
: Clippy fixescanadensis_dsdl_frontend
: Breaking change: Updatedhalf
dependency to 2.2
canadensis_dsdl_parser-v0.3.0 - 2023-03-30
canadensis_dsdl_parser
: Breaking change: Added comment parsing
canadensis_dsdl_parser
: Breaking change: MadeError
an opaque type instead of an alias to the Pest error type
canadensis_encoding-v0.3.0 - 2023-03-30
canadensis_encoding
: Clippy fixescanadensis_encoding
: Breaking change: Updatedhalf
dependency to 2.2
canadensis_core-v0.3.0 - 2023-03-29
canadensis_core
: Addedremove
function toSessionTracker
(Breaking change)canadensis_core
: Addedloopback
field to transfer types (Breaking change)
canadensis_core
: Breaking change: Moved clock down into drivers to make frame timestamps more accurate
canadensis_write_crc-0.1.4 - 2023-03-29
canadensis_write_crc
: Updatedobject
dependency to 0.30
canadensis_core-v0.2.3 - 2022-10-18
canadensis_core
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_encoding-v0.2.2 - 2022-10-18
canadensis_encoding
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_data_types-v0.2.3 - 2022-10-18
- Updated instructions in readme to use the
--rustfmt
option instead of a separate formatting step
canadensis-v0.2.4 - 2022-10-18
canadensis
:register_client
example now compiles correctly after an update toheapless
added a new restriction on the size of some containers
canadensis
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_filter_config-v0.2.2 - 2022-10-18
canadensis_filter_config
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_can-v0.2.2 - 2022-10-18
canadensis_can
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_linux-v0.2.2 - 2022-10-18
canadensis_linux
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_serial-v0.2.2 - 2022-10-18
canadensis_serial
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_udp-v0.2.2 - 2022-10-18
canadensis_udp
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_bit_length_set-v0.3.1 - 2022-10-18
canadensis_bit_length_set
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_pnp_client-v0.2.2 - 2022-10-18
canadensis_pnp_client
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_bxcan-v0.2.2 - 2022-10-18
canadensis_bxcan
: Renamed more occurrences of UAVCAN to Cyphal- Renamed frame conversion functions (the original names are still available as deprecated aliases)
canadensis_dsdl_parser-v0.2.3 - 2022-10-18
canadensis_dsdl_parser
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)canadensis_dsdl_parser
: Removed copy of the public regulated data types. The test code uses the submodule undercanadensis_dsdl_frontend
instead.
canadensis_dsdl_frontend-v0.3.3 - 2022-10-18
canadensis_dsdl_frontend
: Added tests for reasonable handling of cyclic dependencies between DSDL types
canadensis_dsdl_frontend
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_dsdl_frontend
:Package::add_files
now returns an error if passed a path that is not a directory (this is consistent with the existing documentation)
canadensis_codegen_rust-v0.3.2 - 2022-10-18
canadensis_codegen_rust
: Added--rustfmt
option to format the generated code
canadensis_codegen_rust
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_macro-v0.2.3 - 2022-10-18
canadensis_macro
: Renamed more occurrences of UAVCAN to Cyphal (no public API changes)
canadensis_write_crc-v0.1.3 - 2022-10-18
- Minor code cleanup (this did not warrant a release)
canadensis_data_types-v0.2.2 - 2022-07-14
- Generated types are marked as deprecated if the corresponding DSDL types are deprecated
- Fixed a bug in generated code that caused variable- length bit arrays to be serialized incorrectly (missing the length field)
- Improved documentation of generated fields
canadensis_codegen_rust-v0.3.1 - 2022-07-14
- The compile process now reports warnings when it detects names using non-standard case conventions
- Generated types are marked as deprecated if the corresponding DSDL types are deprecated
- Fixed a bug that caused generated code to not serialize the length field of a variable-length array of bits
- Updated private
heck
dependency to 0.4.0 - Application now prints help text instead of panicking when run with no subcommand
- Improved documentation of generated fields
canadensis_dsdl_frontend-v0.3.2 - 2022-07-14
- Support the new
.dsdl
extension for cyphal data types #12 - Report warnings for type and field names that do not follow the DSDL case conventions
- Fixed a bug that caused service responses to not be marked as deprecated
- Added a check that prohibits using a deprecated type in a non-deprecated type (the specification requires this check)
- The public regulated data types in
canadensis_dsdl_frontend
are now a submodule. This should not impact any downstream code, butgit clone --recursive
is now required to make all the tests pass. #13 - Improved performance by adding a special case for BitLengthSet % integer
canadensis_dsdl_frontend-v0.3.1 - 2022-06-10
- canadensis_dsdl_frontend: Removed long name DSDL tests from filesystem #10
canadensis-v0.2.3 - 2022-04-12
- Implemented
RegisterType
for bool values #7
- Renamed most instances of UAVCAN in the documentation to Cyphal, following the renaming
This section applies to several crate versions:
- canadensis_core-v0.2.2
- canadensis_encoding-v0.2.1
- canadensis_data_types-v0.2.1
- canadensis_derive_register_block-v0.2.1
- canadensis_filter_config-v0.2.1
- canadensis_can-v0.2.1
- canadensis_linux-v0.2.1
- canadensis_serial-v0.2.1
- canadensis_udp-v0.2.1
- canadensis_pnp_client-v0.2.1
- canadensis_bxcan-v0.2.1
- canadensis_dsdl_parser-v0.2.2
- canadensis_crc-v0.1.1
- canadensis_macro-v0.2.2
- canadensis_write_crc-v0.1.2
- Renamed most instances of UAVCAN in the documentation to Cyphal, following the renaming
canadensis_codegen_rust-v0.3.0 - 2022-04-12
- Updated canadensis_bit_length_set dependency to 0.3.0 (this probably does not actually change the public interface)
- Renamed most instances of UAVCAN in the documentation to Cyphal, following the renaming
canadensis_dsdl_frontend-v0.3.0 - 2022-04-12
- Breaking change: Added BitLengthSet variant of Value, so bit length sets can be represented symbolically during DSDL processing (this may improve performance)
- Breaking change: Updated canadensis_bit_length_set dependency to 0.3.0
- Renamed most instances of UAVCAN in the documentation to Cyphal, following the renaming
canadensis_bit_length_set-v0.3.0 - 2022-04-12
- Added implementations of Ord and some other traits
- Breaking change: Renamed BitLengthSet functions
min
andmax
tomin_value
andmax_value
to avoid conflicts with Ord functions - Renamed most instances of UAVCAN in the documentation to Cyphal, following the renaming
canadensis-v0.2.2 - 2022-01-02
- Added documentation of some values that must be powers of two
- Fixed examples to work with heapless 0.7.9
canadensis_write_crc-v0.1.1 - 2022-01-02
- Fixed incorrect CRC calculation in canadensis_write_crc
0.2.1 - 2021-11-06
This release applies only to the crates canadensis_core
, canadensis
, canadensis_dsdl_parser
, canadensis_dsdl_frontend
, canadensis_codegen_rust
, canadensis_macro
, and canadensis_bit_length_set
- Added missing repository to the Cargo.toml files of
canadensis_dsdl_parser
,canadensis_dsdl_frontend
,canadensis_codegen_rust
,canadensis_macro
, andcanadensis_bit_length_set
- Added
Display
implementation forSubjectId
- Added some
Debug
implementations
- Various index maps using
TrivialHasher
produced incorrect results. These bugs were fixed by replacing it with the defaultFnvHasher
.
0.2.0 - 2021-10-31
This section is not complete because version 0.2.0 had too many changes.
- Experimental UAVCAN/UDP transport
- Experimental UAVCAN/Serial transport
- Transport abstraction (a node can now use any type of transport)
- DSDL parser, frontend, and Rust code generator
- Procedural macro that generates Rust code from inline or external DSDL
- The
canadensis
library no longer re-exports anything fromcanadensis_can
. Applications need to depend on additional libraries for the transports they use. - Node types moved from
canadensis_node
tocanadensis
- Node ID and transfer ID types removed from
canadensis_core
because they were CAN-specific (each transport now has its own versions of these types) - Many other changes
0.1.0 - 2021-07-11
Initial release