Skip to content

Latest commit

 

History

History
450 lines (391 loc) · 20.7 KB

CHANGELOG.md

File metadata and controls

450 lines (391 loc) · 20.7 KB

Change Log

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 to v0.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 that defmt::println! shows leading space when timestamps are disabled
  • #601: Move crate defmt to defmt/
  • #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 to 0.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 with us
  • #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

Added

  • #499 Illustrate structure of the defmt crates
  • #503 Add alternate hint ('#')
  • #509 impl Format for NonZero*

Changed

  • #488 Structure impl Formats into multiple files
  • #496 Bump build-dep semver to 1.0
  • #489 Structure lib
  • #500 book: fix leftover old formatting syntax; typos
  • #510 CI: Don't install MacOS dependency which is included by default

Fixed

  • #497 macros: match unused vars if logging is disabled

v0.2.2 - 2021-05-20

Added

  • #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 the Cows
  • #478 add dbg! macro

Changed

  • #477 Disable logging calls via conditional compilation when all defmt features are disabled

v0.2.1 - 2021-03-08

Added

  • #403 Add knurling logo to API docs

Fixed

  • #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

Added

  • #284 Implement support for i128 and u128 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 for chars
  • #313 Add display hints
  • #323 Merge Uxx(u64) (Ixx(i64)) and U128(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 and defmt-print crates
  • #343 Customizable timestamps
  • #347 Document the grammar of defmts 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, remove probe-run strings
  • #377 defmt-test: support returning Result from tests
  • #382 impl Format for Infallible
  • #391 impl Format for core::time::Duration

Changed

  • #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 the Format 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's inner 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 uses defmts Display2Format 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 on std rust
  • #364 Split firmware code into separate workspace
  • #368 defmt-itm: Raise compile error on armv6m
  • #369 Move bors.toml to .github/
  • #371 Link to git version of defmt book
  • #372 Update Printers section in defmt book
  • #373 Improve information in Cargo.toml
  • #379 Make link to defmt book clickable
  • #380 Merge crates elf2table and logger into decoder
  • #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 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 deps object and gimli

Fixed

  • #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 since write! now consumes the Formatter due to #305.
  • #321 ASCII hint (:a) is now respected when used together with the Format trait (=? and =[?]).
  • #342 Fix a data corruption issue when using bools in write!
  • #357 Fix issue preventing defmt from compiling on MacOS.

v0.1.3 - 2020-11-30

Fixed

  • #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

Added

  • #263 #276 add and document write! macro
  • #273 #280 add and document unwrap! macro
  • #266 add panic!-like and assert!-like macros which will log the panic message using defmt and then call core::panic! (by default)
  • #267, #281 add Debug2Format and Display2Format adapters
  • #279 started adding notes about feature availability (e.g. "defmt 0.1.2 and up")

Changed

Fixed

  • #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! and defmt::assert! macros do not cause unexpected errors anymore

v0.1.1 - 2020-11-16

Fixed

  • #259 crates.io version of defmt crates no longer require git to be built

v0.1.0 - 2020-11-11

Initial release