Blog coding article

Knurling-rs changelog #17

Johann
Article

Knurling-rs changelog #17

2 min read
Open Source Project
Knurling icon
Knurling
A tool set to develop embedded applications faster.
Details

    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, namely i128, u128, f64, char, std::marker::PhantomData<T>, std::convert::Infallible and core::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 returning Result<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 make defmt-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 to log
      • make fn parse_*, fn get_locations, fn decode methods of struct Table
      • various simplifications and restructuring of internal code
    • #387 CI: bump timeout to 20 minutes
    • #389 defmt_decoder: Bump dependencies object and gimli

    probe-run

    • #147 Update to use simplified defmt_decoder api
    • #149 Update dependencies

    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!

    You might be also interested in these.