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::Formatfor many more types, namelyi128,u128,f64,char,std::marker::PhantomData<T>,std::convert::Infallibleandcore::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_testfeatures 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-runto makedefmt-testcompatible with rust-analyzer's "Run Test" button - #152 Allow selecting a probe by serial number
Internal Improvements 🧽
defmt
- #386, #392 Refactor decoder
- rename
mod loggertolog - make
fn parse_*,fn get_locations,fn decodemethods ofstruct Table - various simplifications and restructuring of internal code
- rename
- #387 CI: bump timeout to 20 minutes
- #389 defmt_decoder: Bump dependencies
objectandgimli
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!