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.
- None
v0.3.1 - 2021-11-26
- #634: update ELF parsing dependencies
- #633: make RTT buffer size configurable
- #630: Add test instructions to README.md
- #626: Make errror message more meaningful in case of version-mismatch
v0.3.0 - 2021-11-09
- #618: Support #[ignore] attribute in defmt_test
- #621: Readme Diagram: Replace duplicate defmt-itm with defmt-rtt
- #617: Add display hint to output
u64
as ISO8601 time - #620: Tidy up: remove unused code and dependencies
- #619: Update all crates to rust edition 2021! 🎉
- #610:
defmt-print
: Log if malformed frame gets skipped - #547: Migration guide
v0.2.x
tov0.3.0
- #604: defmt-test:
#[cfg(test)]
the#[defmt_test::tests]
module - #616: Update user guide part of the book
- #615: Document how to deal with backward compatibility breakage
- #614: Bugfix: decoder breaks with pipe symbol
- #605: Properly handle the
off
pseudo-level in presence of nested logging directives - #611: Fix
cargo doc
-warnings - #608:
decoder
: Fix thatdefmt::println!
shows leading space when timestamps are disabled - #601: Move crate
defmt
todefmt/
- #600: Run snapshot & backcompat tests in dev mode only
- #519: Target-side
env_logger
-like env filter - #592: xtask: add backward compability test
- #598:
defmt-print
: Recover from decoding-errors - #569: Add defmt
println!
macro - #580: Structure
defmt::export
- #594: panic-probe: use UDF instruction on nested panics
- #591: Remove timestamps from snapshot test
- #585: Add xtask option to run a single snapshot test by name
- #589: Implement
Format
for arrays of any length - #587: Tweak inline attributes to remove machine code duplication
- #574: Refactor rtt [1/2]
- #584: Remove outdated doc "you may only call write! once"
- #582: Release of
panic-probe v0.2.1
- #581: Add impl for
alloc::Layout
- #579: defmt-rtt: fix check for blocking RTT
- #577: Fix typo in
cfg
of encoding-feature-compile_error!
- #578:
qemu
: Allow dead code - #572:
defmt-decoder
:impl TryFrom<Option<String>> for Encoding
- #570: Support referring to
Self
in bitflags constants - #568: Encoding docs.
- #564: Make order of bitflags values deterministic
- #561: Remove unused cortex-m-rt in panic-probe a=Dirbaio
- #562: Remove call to fill in user survey from
README
- #560: Update cortex-m-rt crate from
0.6
to0.7
- #557: Add impl for TryFromSliceError
- #556: Add impl for TryFromIntError
- #551: Display git version & date to introduction section
- #540: Separate "crate version" from "wire format version
- #549: Fix clippy warnings.
- #539: Add optional rzCOBS encoding+framing
- #518:
build.rs
: Obtain version from macro; simplify - #543:
CI
: Temporarily drop backward-compatibility check - #542:
snapshot-tests
: Test alternate hint for bitfields - #538: Fix wrong bit count in comment.
- #537:
snapshot-tests
: Delete:?
hint without impact - #531: refactor the
macros
crate - #534: Attribute test progress message to the test in question;
- #535: Don't print leading space when timestamp is absent
- #529: Refactor user-guide of
book
- #528: Support bitflags
- #533: Adds add for user survey into readme.
- #527:
book
: Add logo and support text to introduction - #526:
decoder
: Simplify tests - #359: Implement precedence of inner display hint
- #523: Minimize dependencies
- #508: [5/n] Format trait v2
- #522: Replace
µs
hint withus
- #521: [3/n] Remove u24
- #516:
xtask
: Only install additional targets for tests that require them - #512: Add overwrite option for xtask cross results.
- #514: extend raw pointer implementation to include !Format types
- #513: book/duplicates.md: discriminator -> disambiguator
- #507: [2/n] - Remove code-size-costly optimizations
- #505: [1/n] - Logger trait v2.
v0.2.3 - 2021-06-17
- #499 Illustrate structure of the defmt crates
- #503 Add alternate hint ('#')
- #509
impl Format for NonZero*
- #488 Structure
impl Format
s into multiple files - #496 Bump build-dep
semver
to1.0
- #489 Structure lib
- #500 book: fix leftover old formatting syntax; typos
- #510
CI
: Don't install MacOS dependency which is included by default
- #497
macros
: match unused vars if logging is disabled
v0.2.2 - 2021-05-20
- #446 Add usage examples for
Debug2Format
,Display2Format
- #464
impl<T> Format for {*const, *mut} T where T: Format + ?Sized
- #472
impl Format for
the core::{iter, ops, slice} structs - #473
impl Format for
all theCow
s - #478 add
dbg!
macro
- #477 Disable logging calls via conditional compilation when all defmt features are disabled
v0.2.1 - 2021-03-08
- #403 Add knurling logo to API docs
- #413 Fix docs-rs build, by disabling feature "unstable-test"
- #427 Drop outdated note about
defmt v0.2.0
from book
v0.2.0 - 2021-02-19
- #284 Implement support for
i128
andu128
types - #291 Allows using
defmt
on x86 platforms by making the test suite use an internal Cargo feature - #293 Make
defmt
attributes forward input attributes - #294 Permits
use
items inside#[defmt_test::tests]
modules - #296 Allows skipping the
defmt
version check in order to make development easier - #302
derive(Format)
now supports more than 256 variants - #304 impl
Format
forchar
s - #313 Add display hints
- #323 Merge
Uxx(u64)
(Ixx(i64)
) andU128(u128)
(u128(i128)
) data variants - #327
impl<T> Format for PhantomData<T>
- #329 Document safety of implementation detail functions
- #335 Add the
defmt-itm
crate - #338 Add
defmt-logger
anddefmt-print
crates - #343 Customizable timestamps
- #347 Document the grammar of
defmt
s current format parameter syntax - #351 Allow tools to distinguish user-controlled format strings from generated ones
- #354 Add
f64
support - #376 Make
defmt-logger
more configurable, removeprobe-run
strings - #377
defmt-test
: support returningResult
from tests - #382
impl Format for Infallible
- #391
impl Format for core::time::Duration
- #297 Improves the output formatting and includes a progress indicator
- #299 Test embedded test runner (
defmt-test
) as part of our CI setup - #300
#[derive]
now uses built-in primitive formatting for primitive references - #303 Employ the help of [bors]
- #305
Formatter
is now passed by value, i.e. consumed during formatting - #308 compile-fail test new
Formatter
move semantics - #312
str
fields in structs are now treated as a native type by the encoder instead of going through theFormat
trait - #325 Update our UI tests to work with the latest stable release
- #331 Add more compile-fail tests
- #332 Improve
Format
trait docs - #333 Hide
Formatter
'sinner
field - #334 Fix dead link in parser docs
- #337 Improve diagnostics on double
write!
- #339 Make leb64 encoding fully safe (while at the same time reducing its code footprint)
- #340 Stream
core::fmt
adapters - #345 Reduce code size by avoiding 64-bit arithmetic in LEB encoding
- #350
panic-probe
now usesdefmt
sDisplay2Format
to log panic messages. In consequence, panic messages won't get truncated anymore. - #355 Clarify the docs on
Write::write
- #352 Do not display full version with
--help
. Thanks to [Javier-varez]! - #354 Support
f64
floating point numbers. - #355 Clarify docs on
Write::write
. - #361, [#367] Make clippy happy by improving code quality
- #363 Improve test coverage on basic
defmt
usage onstd
rust - #364 Split firmware code into separate workspace
- #368
defmt-itm
: Raise compile error onarmv6m
- #369 Move
bors.toml
to.github/
- #371 Link to git version of
defmt
book - #372 Update
Printers
section indefmt
book - #373 Improve information in
Cargo.toml
- #379 Make link to
defmt
book clickable - #380 Merge crates
elf2table
andlogger
intodecoder
- #383
defmt-test
: Modify attributes in place and handle#[cfg]
- #384 pin unstable path dependencies
- #385 defmt_decoder: Skip allocation of datastructure for raw symbols of the table entries in
fn get_locations
- #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 deps
object
andgimli
- #301 Fix the nightly builds after a
linked_list_allocator
feature change - #310, #311 remove the runtime check (and matching tests) if the
write!
macro was called multiple times as this can no longer happen sincewrite!
now consumes theFormatter
due to #305. - #321 ASCII hint (
:a
) is now respected when used together with theFormat
trait (=?
and=[?]
). - #342 Fix a data corruption issue when using
bool
s inwrite!
- #357 Fix issue preventing
defmt
from compiling on MacOS.
v0.1.3 - 2020-11-30
- #290 fixed cross compilation to ARMv6-M and other targets that have no CAS (Compare-and-Swap) primitives when the "alloc" feature is enabled
v0.1.2 - 2020-11-26
- #263 #276 add and document
write!
macro - #273 #280 add and document
unwrap!
macro - #266 add
panic!
-like andassert!
-like macros which will log the panic message usingdefmt
and then callcore::panic!
(by default) - #267, #281 add
Debug2Format
andDisplay2Format
adapters - #279 started adding notes about feature availability (e.g. "defmt 0.1.2 and up")
- #257 code size optimizations
- #265 updated the 'how we deal with duplicated format strings' section of our implementation notes
- #264
probe-run
doesn't panic if log message is not UTF-8 - #269 fixes compiler error that was thrown when using
defmt::panic
within e.g. a match expression - #272 braces in format args passed to the new
defmt::panic!
anddefmt::assert!
macros do not cause unexpected errors anymore
v0.1.1 - 2020-11-16
- #259 crates.io version of
defmt
crates no longer requiregit
to be built
Initial release