# Change Log
All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).
## [Unreleased]
## [v0.3.7] - 2020-12-02
- Replaces the yanked v0.3.6 by reverting #48, so the semihosting macros
continue to return a Result.
## [v0.3.6] - 2020-12-01
v0.3.6 was yanked because it incorrectly included #48, which was a breaking
change.
### Added
- Update cortex-m dependency to support version 0.7.
- Add `no-semihosting` feature to disable all semihosting calls.
## [v0.3.5] - 2019-08-29
### Added
- Adds a feature to work around JLink quirks
- Adds a dbg! macro using heprintln
- Added thumbv8m.main support on stable
### Fixed
- Now Rust 2018 edition
## [v0.3.4] - 2019-08-13
### Fixed
- Support for thumbv8 mainline hf target
## [v0.3.3] - 2019-04-22
### Added
- Adds support for thumbv8 and cortex-m v0.6.0
## [v0.3.2] - 2018-11-04
### Added
- Added a family of `hprint` macros for printing to the host standard output /
error via globally shared `HStdout` / `HStderr` handles .
## [v0.3.1] - 2018-08-27
### Changed
- This crate no longer depends on `arm-none-eabi-gcc`.
## [v0.3.0] - 2018-05-10
### Changed
- [breaking-change] `inline-asm` is no longer a default feature (i.e. a feature that's enabled by
default). The consequence is that this crate now compiles on 1.27 (beta) by default, and opting
into `inline-asm` requires nightly.
## [v0.2.1] - 2018-04-25
### Added
- An opt-out "inline-asm" Cargo feature. When this feature is disabled semihosting is implemented
using an external assembly file instead of using the unstable inline assembly (`asm!`) feature
meaning that this crate can be compiled on stable.
## [v0.2.0] - 2017-07-07
### Added
- `exit` and `report_exception` syscalls
- `HStdout` and `HStderr` structs that represent handles to the host stdout and
stderr stream respectively.
### Changed
- [breaking-change] The `io` module has been renamed to `hio` to reflect that
this is I/O *on the host*.
### Removed
- [breaking-change] the family of `write` functions in the `io` module. Instead
use `HStdout` / `HStderr` and its `write_all` method and `fmt::Write`
implementation.
- [breaking-change] the `hprint!` family of macros. Instead use `HStdout` and
the standard `write!` macro.
## [v0.1.3] - 2017-02-27
### Added
- A family of `ewrite` functions and `ehprint!` macros to write to the host's
stderr.
### Fixed
- `write_all` logic when a single write doesn't write all the buffer bytes
## [v0.1.2] - 2017-02-15
### Fixed
- the `hprintln!` macro when called without arguments.
## [v0.1.1] - 2017-01-22
### Added
- Expose a family of `write` functions to write to the host's stdout without
going through the `hprint!` macros.
## v0.1.0 - 2017-01-22
- Initial release
[Unreleased]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.3.7...HEAD
[v0.3.7]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.3.6...v0.3.7
[v0.3.6]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.3.5...v0.3.6
[v0.3.5]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.3.4...v0.3.5
[v0.3.4]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.3.3...v0.3.4
[v0.3.3]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.3.2...v0.3.3
[v0.3.2]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.3.1...v0.3.2
[v0.3.1]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.3.0...v0.3.1
[v0.3.0]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.2.1...v0.3.0
[v0.2.1]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.2.0...v0.2.1
[v0.2.0]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.1.3...v0.2.0
[v0.1.3]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.1.2...v0.1.3
[v0.1.2]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.1.1...v0.1.2
[v0.1.1]: https://github.com/rust-embedded/cortex-m-semihosting/compare/v0.1.0...v0.1.1