This is the 17th changelog for Knurling-rs, our push to sustainably build better tooling for developing and debugging Rust software for embedded systems. Knurling-rs includes a suite of tools that make it easier to develop, log, debug, and test your embedded Rust libraries and applications!
This changelog got delayed to monday, because of the release work for defmt
(read more below!).
Knurling-rs is supported by our sponsors on GitHub. If you're interested in seeing more projects like this, consider becoming a sponsor today!
Highlights 🎉
Last friday was a big day release day for the Knurling project, with defmt
, defmt-parser
, defmt-macros
, defmt-decoder
, defmt-print
, defmt-itm
, defmt-rtt
, defmt-test
, panic-probe
and probe-run
all maturing to v0.2.0
!
There are many great improvements, especially noteworthy:
- We've added the
trait defmt::Format
for many more types, namelyi128
,u128
,f64
,char
,std::marker::PhantomData<T>
,std::convert::Infallible
andcore::time::Duration
. - "Display hints" help you by specifying the format in which to display the data you're printing. Find all the details in #270!
defmt_test
features many improvements, for example support for returningResult<T, E>
, compatibility for rust-analyzer's "Run Test"-button and a new#[should_error]
attribute.- Overall we did a lot of refactoring and improved much internal code.
Head over to the code editor of your choice and give it a try! 💪
Improvements 🦀
defmt
- #391
impl Format for core::time::Duration
probe-run
- #151 Adapt
probe-run
to makedefmt-test
compatible with rust-analyzer's "Run Test" button - #152 Allow selecting a probe by serial number
Internal Improvements 🧽
defmt
- #386, #392 Refactor decoder
- rename
mod logger
tolog
- make
fn parse_*
,fn get_locations
,fn decode
methods ofstruct Table
- various simplifications and restructuring of internal code
- rename
- #387 CI: bump timeout to 20 minutes
- #389 defmt_decoder: Bump dependencies
object
andgimli
probe-run
Version Update Notification 🆙
Several v0.2.0
releases. See highlights for details!
Sponsor this work
Knurling-rs is mainly funded through GitHub sponsors. Sponsors get early access to the tools we are building and help us to support and grow the knurling tools and courses. Thank you to all of the people already sponsoring our work through the Knurling project!